diff --git a/comfy/app/frontend_management.py b/comfy/app/frontend_management.py index 7491f8c36..0f6f0ba77 100644 --- a/comfy/app/frontend_management.py +++ b/comfy/app/frontend_management.py @@ -154,6 +154,15 @@ class FrontendManager: return cls.DEFAULT_FRONTEND_PATH repo_owner, repo_name, version = cls.parse_version_string(version_string) + + if version.startswith("v"): + expected_path = str(Path(cls.CUSTOM_FRONTENDS_ROOT) / f"{repo_owner}_{repo_name}" / version.lstrip("v")) + if os.path.exists(expected_path): + logging.info(f"Using existing copy of specific frontend version tag: {repo_owner}/{repo_name}@{version}") + return expected_path + + logging.info(f"Initializing frontend: {repo_owner}/{repo_name}@{version}, requesting version details from GitHub...") + provider = provider or FrontEndProvider(repo_owner, repo_name) release = provider.get_release(version) diff --git a/comfy/cmd/folder_paths.pyi b/comfy/cmd/folder_paths.pyi index b1957a098..995f869e7 100644 --- a/comfy/cmd/folder_paths.pyi +++ b/comfy/cmd/folder_paths.pyi @@ -2,8 +2,8 @@ import os from pathlib import Path from typing import Optional, List, Literal, Tuple, Union, Dict -from comfy.cli_args_types import Configuration -from comfy.component_model.folder_path_types import FolderNames, SaveImagePathTuple +from ..cli_args_types import Configuration +from ..component_model.folder_path_types import FolderNames, SaveImagePathTuple # Variables base_path: str diff --git a/comfy/cmd/server.py b/comfy/cmd/server.py index 022b80baf..06f3f990b 100644 --- a/comfy/cmd/server.py +++ b/comfy/cmd/server.py @@ -60,7 +60,7 @@ class HeuristicPath(NamedTuple): async def send_socket_catch_exception(function, message): try: await function(message) - except (aiohttp.ClientError, aiohttp.ClientPayloadError, ConnectionResetError) as err: + except (aiohttp.ClientError, aiohttp.ClientPayloadError, ConnectionResetError, BrokenPipeError, ConnectionError) as err: logging.warning("send error: {}".format(err)) diff --git a/comfy/controlnet.py b/comfy/controlnet.py index a9f1f9f63..2f0d45eb8 100644 --- a/comfy/controlnet.py +++ b/comfy/controlnet.py @@ -61,7 +61,7 @@ class StrengthType(Enum): class ControlBase: - def __init__(self, device=None): + def __init__(self): self.cond_hint_original = None self.cond_hint = None self.strength = 1.0 @@ -73,10 +73,6 @@ class ControlBase: self.compression_ratio = 8 self.upscale_algorithm = 'nearest-exact' self.extra_args = {} - - if device is None: - device = model_management.get_torch_device() - self.device = device self.previous_controlnet = None self.extra_conds = [] self.strength_type = StrengthType.CONSTANT @@ -186,8 +182,8 @@ class ControlBase: class ControlNet(ControlBase): - def __init__(self, control_model=None, global_average_pooling=False, compression_ratio=8, latent_format=None, device=None, load_device=None, manual_cast_dtype=None, extra_conds=["y"], strength_type=StrengthType.CONSTANT, concat_mask=False, ckpt_name: str = None): - super().__init__(device) + def __init__(self, control_model=None, global_average_pooling=False, compression_ratio=8, latent_format=None, load_device=None, manual_cast_dtype=None, extra_conds=["y"], strength_type=StrengthType.CONSTANT, concat_mask=False, ckpt_name: str = None): + super().__init__() self.control_model = control_model self.load_device = load_device if control_model is not None: @@ -244,7 +240,7 @@ class ControlNet(ControlBase): to_concat.append(utils.repeat_to_batch_size(c, self.cond_hint.shape[0])) self.cond_hint = torch.cat([self.cond_hint] + to_concat, dim=1) - self.cond_hint = self.cond_hint.to(device=self.device, dtype=dtype) + self.cond_hint = self.cond_hint.to(device=x_noisy.device, dtype=dtype) if x_noisy.shape[0] != self.cond_hint.shape[0]: self.cond_hint = broadcast_image_to(self.cond_hint, x_noisy.shape[0], batched_number) @@ -343,8 +339,8 @@ class ControlLoraOps: class ControlLora(ControlNet): - def __init__(self, control_weights, global_average_pooling=False, device=None, model_options={}): # TODO? model_options - ControlBase.__init__(self, device) + def __init__(self, control_weights, global_average_pooling=False, model_options={}): # TODO? model_options + ControlBase.__init__(self) self.control_weights = control_weights self.global_average_pooling = global_average_pooling self.extra_conds += ["y"] @@ -744,12 +740,15 @@ def load_controlnet(ckpt_path, model=None, model_options=None): class T2IAdapter(ControlBase): def __init__(self, t2i_model, channels_in, compression_ratio, upscale_algorithm, device=None): - super().__init__(device) + super().__init__() self.t2i_model = t2i_model self.channels_in = channels_in self.control_input = None self.compression_ratio = compression_ratio self.upscale_algorithm = upscale_algorithm + if device is None: + device = model_management.get_torch_device() + self.device = device def scale_image_to(self, width, height): unshuffle_amount = self.t2i_model.unshuffle_amount diff --git a/comfy/float.py b/comfy/float.py index 0c8f1d6cf..521316fd2 100644 --- a/comfy/float.py +++ b/comfy/float.py @@ -41,6 +41,8 @@ def manual_stochastic_round_to_float8(x, dtype, generator=None): (2.0 ** (-EXPONENT_BIAS + 1)) * abs_x ) + inf = torch.finfo(dtype) + torch.clamp(sign, min=inf.min, max=inf.max, out=sign) return sign diff --git a/comfy/k_diffusion/sampling.py b/comfy/k_diffusion/sampling.py index 1e20aa73f..9687df7bb 100644 --- a/comfy/k_diffusion/sampling.py +++ b/comfy/k_diffusion/sampling.py @@ -165,6 +165,8 @@ def sample_euler(model, x, sigmas, extra_args=None, callback=None, disable=None, @torch.no_grad() def sample_euler_ancestral(model, x, sigmas, extra_args=None, callback=None, disable=None, eta=1., s_noise=1., noise_sampler=None): + if isinstance(model.inner_model.inner_model.model_sampling, model_sampling.CONST): + return sample_euler_ancestral_RF(model, x, sigmas, extra_args, callback, disable, eta, s_noise, noise_sampler) """Ancestral sampling with Euler method steps.""" extra_args = {} if extra_args is None else extra_args noise_sampler = default_noise_sampler(x) if noise_sampler is None else noise_sampler @@ -182,6 +184,29 @@ def sample_euler_ancestral(model, x, sigmas, extra_args=None, callback=None, dis x = x + noise_sampler(sigmas[i], sigmas[i + 1]) * s_noise * sigma_up return x +@torch.no_grad() +def sample_euler_ancestral_RF(model, x, sigmas, extra_args=None, callback=None, disable=None, eta=1.0, s_noise=1., noise_sampler=None): + """Ancestral sampling with Euler method steps.""" + extra_args = {} if extra_args is None else extra_args + noise_sampler = default_noise_sampler(x) if noise_sampler is None else noise_sampler + s_in = x.new_ones([x.shape[0]]) + for i in trange(len(sigmas) - 1, disable=disable): + denoised = model(x, sigmas[i] * s_in, **extra_args) + # sigma_down, sigma_up = get_ancestral_step(sigmas[i], sigmas[i + 1], eta=eta) + downstep_ratio = 1 + (sigmas[i+1]/sigmas[i] - 1) * eta + sigma_down = sigmas[i+1] * downstep_ratio + alpha_ip1 = 1 - sigmas[i+1] + alpha_down = 1 - sigma_down + renoise_coeff = (sigmas[i+1]**2 - sigma_down**2*alpha_ip1**2/alpha_down**2)**0.5 + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) + + # Euler method + sigma_down_i_ratio = sigma_down / sigmas[i] + x = sigma_down_i_ratio * x + (1 - sigma_down_i_ratio) * denoised + if sigmas[i + 1] > 0 and eta > 0: + x = (alpha_ip1/alpha_down) * x + noise_sampler(sigmas[i], sigmas[i + 1]) * s_noise * renoise_coeff + return x @torch.no_grad() def sample_heun(model, x, sigmas, extra_args=None, callback=None, disable=None, s_churn=0., s_tmin=0., s_tmax=float('inf'), s_noise=1.): @@ -1119,7 +1144,6 @@ def sample_euler_cfg_pp(model, x, sigmas, extra_args=None, callback=None, disabl d = to_d(x, sigma_hat, temp[0]) if callback is not None: callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigma_hat, 'denoised': denoised}) - dt = sigmas[i + 1] - sigma_hat # Euler method x = denoised + d * sigmas[i + 1] return x @@ -1148,7 +1172,6 @@ def sample_euler_ancestral_cfg_pp(model, x, sigmas, extra_args=None, callback=No callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) d = to_d(x, sigmas[i], temp[0]) # Euler method - dt = sigma_down - sigmas[i] x = denoised + d * sigma_down if sigmas[i + 1] > 0: x = x + noise_sampler(sigmas[i], sigmas[i + 1]) * s_noise * sigma_up @@ -1182,7 +1205,6 @@ def sample_dpmpp_2s_ancestral_cfg_pp(model, x, sigmas, extra_args=None, callback if sigma_down == 0: # Euler method d = to_d(x, sigmas[i], temp[0]) - dt = sigma_down - sigmas[i] x = denoised + d * sigma_down else: # DPM-Solver++(2S) @@ -1230,4 +1252,4 @@ def sample_dpmpp_2m_cfg_pp(model, x, sigmas, extra_args=None, callback=None, dis denoised_mix = -torch.exp(-h) * uncond_denoised - torch.expm1(-h) * (1 / (2 * r)) * (denoised - old_uncond_denoised) x = denoised + denoised_mix + torch.exp(-h) * x old_uncond_denoised = uncond_denoised - return x \ No newline at end of file + return x diff --git a/comfy/latent_formats.py b/comfy/latent_formats.py index 191c70916..a48f60c74 100644 --- a/comfy/latent_formats.py +++ b/comfy/latent_formats.py @@ -175,3 +175,30 @@ class Flux(SD3): def process_out(self, latent): return (latent / self.scale_factor) + self.shift_factor + +class Mochi(LatentFormat): + latent_channels = 12 + + def __init__(self): + self.scale_factor = 1.0 + self.latents_mean = torch.tensor([-0.06730895953510081, -0.038011381506090416, -0.07477820912866141, + -0.05565264470995561, 0.012767231469026969, -0.04703542746246419, + 0.043896967884726704, -0.09346305707025976, -0.09918314763016893, + -0.008729793427399178, -0.011931556316503654, -0.0321993391887285]).view(1, self.latent_channels, 1, 1, 1) + self.latents_std = torch.tensor([0.9263795028493863, 0.9248894543193766, 0.9393059390890617, + 0.959253732819592, 0.8244560132752793, 0.917259975397747, + 0.9294154431013696, 1.3720942357788521, 0.881393668867029, + 0.9168315692124348, 0.9185249279345552, 0.9274757570805041]).view(1, self.latent_channels, 1, 1, 1) + + self.latent_rgb_factors = None #TODO + self.taesd_decoder_name = None #TODO + + def process_in(self, latent): + latents_mean = self.latents_mean.to(latent.device, latent.dtype) + latents_std = self.latents_std.to(latent.device, latent.dtype) + return (latent - latents_mean) * self.scale_factor / latents_std + + def process_out(self, latent): + latents_mean = self.latents_mean.to(latent.device, latent.dtype) + latents_std = self.latents_std.to(latent.device, latent.dtype) + return latent * latents_std / self.scale_factor + latents_mean diff --git a/comfy/ldm/common_dit.py b/comfy/ldm/common_dit.py index 449e51f9d..3cd69fa73 100644 --- a/comfy/ldm/common_dit.py +++ b/comfy/ldm/common_dit.py @@ -15,9 +15,15 @@ try: except: rms_norm_torch = None -def rms_norm(x, weight, eps=1e-6): +def rms_norm(x, weight=None, eps=1e-6): if rms_norm_torch is not None and not (torch.jit.is_tracing() or torch.jit.is_scripting()): - return rms_norm_torch(x, weight.shape, weight=ops.cast_to(weight, dtype=x.dtype, device=x.device), eps=eps) + if weight is None: + return rms_norm_torch(x, (x.shape[-1],), eps=eps) + else: + return rms_norm_torch(x, weight.shape, weight=ops.cast_to(weight, dtype=x.dtype, device=x.device), eps=eps) else: - rrms = torch.rsqrt(torch.mean(x**2, dim=-1, keepdim=True) + eps) - return (x * rrms) * ops.cast_to(weight, dtype=x.dtype, device=x.device) + r = x * torch.rsqrt(torch.mean(x**2, dim=-1, keepdim=True) + eps) + if weight is None: + return r + else: + return r * ops.cast_to(weight, dtype=x.dtype, device=x.device) diff --git a/comfy/ldm/genmo/joint_model/asymm_models_joint.py b/comfy/ldm/genmo/joint_model/asymm_models_joint.py new file mode 100644 index 000000000..c36a00068 --- /dev/null +++ b/comfy/ldm/genmo/joint_model/asymm_models_joint.py @@ -0,0 +1,541 @@ +#original code from https://github.com/genmoai/models under apache 2.0 license +#adapted to ComfyUI + +from typing import Dict, List, Optional, Tuple + +import torch +import torch.nn as nn +import torch.nn.functional as F +from einops import rearrange +# from flash_attn import flash_attn_varlen_qkvpacked_func +from comfy.ldm.modules.attention import optimized_attention + +from .layers import ( + FeedForward, + PatchEmbed, + RMSNorm, + TimestepEmbedder, +) + +from .rope_mixed import ( + compute_mixed_rotation, + create_position_matrix, +) +from .temporal_rope import apply_rotary_emb_qk_real +from .utils import ( + AttentionPool, + modulate, +) + +import comfy.ldm.common_dit +import comfy.ops + + +def modulated_rmsnorm(x, scale, eps=1e-6): + # Normalize and modulate + x_normed = comfy.ldm.common_dit.rms_norm(x, eps=eps) + x_modulated = x_normed * (1 + scale.unsqueeze(1)) + + return x_modulated + + +def residual_tanh_gated_rmsnorm(x, x_res, gate, eps=1e-6): + # Apply tanh to gate + tanh_gate = torch.tanh(gate).unsqueeze(1) + + # Normalize and apply gated scaling + x_normed = comfy.ldm.common_dit.rms_norm(x_res, eps=eps) * tanh_gate + + # Apply residual connection + output = x + x_normed + + return output + +class AsymmetricAttention(nn.Module): + def __init__( + self, + dim_x: int, + dim_y: int, + num_heads: int = 8, + qkv_bias: bool = True, + qk_norm: bool = False, + attn_drop: float = 0.0, + update_y: bool = True, + out_bias: bool = True, + attend_to_padding: bool = False, + softmax_scale: Optional[float] = None, + device: Optional[torch.device] = None, + dtype=None, + operations=None, + ): + super().__init__() + self.dim_x = dim_x + self.dim_y = dim_y + self.num_heads = num_heads + self.head_dim = dim_x // num_heads + self.attn_drop = attn_drop + self.update_y = update_y + self.attend_to_padding = attend_to_padding + self.softmax_scale = softmax_scale + if dim_x % num_heads != 0: + raise ValueError( + f"dim_x={dim_x} should be divisible by num_heads={num_heads}" + ) + + # Input layers. + self.qkv_bias = qkv_bias + self.qkv_x = operations.Linear(dim_x, 3 * dim_x, bias=qkv_bias, device=device, dtype=dtype) + # Project text features to match visual features (dim_y -> dim_x) + self.qkv_y = operations.Linear(dim_y, 3 * dim_x, bias=qkv_bias, device=device, dtype=dtype) + + # Query and key normalization for stability. + assert qk_norm + self.q_norm_x = RMSNorm(self.head_dim, device=device, dtype=dtype) + self.k_norm_x = RMSNorm(self.head_dim, device=device, dtype=dtype) + self.q_norm_y = RMSNorm(self.head_dim, device=device, dtype=dtype) + self.k_norm_y = RMSNorm(self.head_dim, device=device, dtype=dtype) + + # Output layers. y features go back down from dim_x -> dim_y. + self.proj_x = operations.Linear(dim_x, dim_x, bias=out_bias, device=device, dtype=dtype) + self.proj_y = ( + operations.Linear(dim_x, dim_y, bias=out_bias, device=device, dtype=dtype) + if update_y + else nn.Identity() + ) + + def forward( + self, + x: torch.Tensor, # (B, N, dim_x) + y: torch.Tensor, # (B, L, dim_y) + scale_x: torch.Tensor, # (B, dim_x), modulation for pre-RMSNorm. + scale_y: torch.Tensor, # (B, dim_y), modulation for pre-RMSNorm. + crop_y, + **rope_rotation, + ) -> Tuple[torch.Tensor, torch.Tensor]: + rope_cos = rope_rotation.get("rope_cos") + rope_sin = rope_rotation.get("rope_sin") + # Pre-norm for visual features + x = modulated_rmsnorm(x, scale_x) # (B, M, dim_x) where M = N / cp_group_size + + # Process visual features + # qkv_x = self.qkv_x(x) # (B, M, 3 * dim_x) + # assert qkv_x.dtype == torch.bfloat16 + # qkv_x = all_to_all_collect_tokens( + # qkv_x, self.num_heads + # ) # (3, B, N, local_h, head_dim) + + # Process text features + y = modulated_rmsnorm(y, scale_y) # (B, L, dim_y) + q_y, k_y, v_y = self.qkv_y(y).view(y.shape[0], y.shape[1], 3, self.num_heads, -1).unbind(2) # (B, N, local_h, head_dim) + + q_y = self.q_norm_y(q_y) + k_y = self.k_norm_y(k_y) + + # Split qkv_x into q, k, v + q_x, k_x, v_x = self.qkv_x(x).view(x.shape[0], x.shape[1], 3, self.num_heads, -1).unbind(2) # (B, N, local_h, head_dim) + q_x = self.q_norm_x(q_x) + q_x = apply_rotary_emb_qk_real(q_x, rope_cos, rope_sin) + k_x = self.k_norm_x(k_x) + k_x = apply_rotary_emb_qk_real(k_x, rope_cos, rope_sin) + + q = torch.cat([q_x, q_y[:, :crop_y]], dim=1).transpose(1, 2) + k = torch.cat([k_x, k_y[:, :crop_y]], dim=1).transpose(1, 2) + v = torch.cat([v_x, v_y[:, :crop_y]], dim=1).transpose(1, 2) + + xy = optimized_attention(q, + k, + v, self.num_heads, skip_reshape=True) + + x, y = torch.tensor_split(xy, (q_x.shape[1],), dim=1) + x = self.proj_x(x) + o = torch.zeros(y.shape[0], q_y.shape[1], y.shape[-1], device=y.device, dtype=y.dtype) + o[:, :y.shape[1]] = y + + y = self.proj_y(o) + # print("ox", x) + # print("oy", y) + return x, y + + +class AsymmetricJointBlock(nn.Module): + def __init__( + self, + hidden_size_x: int, + hidden_size_y: int, + num_heads: int, + *, + mlp_ratio_x: float = 8.0, # Ratio of hidden size to d_model for MLP for visual tokens. + mlp_ratio_y: float = 4.0, # Ratio of hidden size to d_model for MLP for text tokens. + update_y: bool = True, # Whether to update text tokens in this block. + device: Optional[torch.device] = None, + dtype=None, + operations=None, + **block_kwargs, + ): + super().__init__() + self.update_y = update_y + self.hidden_size_x = hidden_size_x + self.hidden_size_y = hidden_size_y + self.mod_x = operations.Linear(hidden_size_x, 4 * hidden_size_x, device=device, dtype=dtype) + if self.update_y: + self.mod_y = operations.Linear(hidden_size_x, 4 * hidden_size_y, device=device, dtype=dtype) + else: + self.mod_y = operations.Linear(hidden_size_x, hidden_size_y, device=device, dtype=dtype) + + # Self-attention: + self.attn = AsymmetricAttention( + hidden_size_x, + hidden_size_y, + num_heads=num_heads, + update_y=update_y, + device=device, + dtype=dtype, + operations=operations, + **block_kwargs, + ) + + # MLP. + mlp_hidden_dim_x = int(hidden_size_x * mlp_ratio_x) + assert mlp_hidden_dim_x == int(1536 * 8) + self.mlp_x = FeedForward( + in_features=hidden_size_x, + hidden_size=mlp_hidden_dim_x, + multiple_of=256, + ffn_dim_multiplier=None, + device=device, + dtype=dtype, + operations=operations, + ) + + # MLP for text not needed in last block. + if self.update_y: + mlp_hidden_dim_y = int(hidden_size_y * mlp_ratio_y) + self.mlp_y = FeedForward( + in_features=hidden_size_y, + hidden_size=mlp_hidden_dim_y, + multiple_of=256, + ffn_dim_multiplier=None, + device=device, + dtype=dtype, + operations=operations, + ) + + def forward( + self, + x: torch.Tensor, + c: torch.Tensor, + y: torch.Tensor, + **attn_kwargs, + ): + """Forward pass of a block. + + Args: + x: (B, N, dim) tensor of visual tokens + c: (B, dim) tensor of conditioned features + y: (B, L, dim) tensor of text tokens + num_frames: Number of frames in the video. N = num_frames * num_spatial_tokens + + Returns: + x: (B, N, dim) tensor of visual tokens after block + y: (B, L, dim) tensor of text tokens after block + """ + N = x.size(1) + + c = F.silu(c) + mod_x = self.mod_x(c) + scale_msa_x, gate_msa_x, scale_mlp_x, gate_mlp_x = mod_x.chunk(4, dim=1) + + mod_y = self.mod_y(c) + if self.update_y: + scale_msa_y, gate_msa_y, scale_mlp_y, gate_mlp_y = mod_y.chunk(4, dim=1) + else: + scale_msa_y = mod_y + + # Self-attention block. + x_attn, y_attn = self.attn( + x, + y, + scale_x=scale_msa_x, + scale_y=scale_msa_y, + **attn_kwargs, + ) + + assert x_attn.size(1) == N + x = residual_tanh_gated_rmsnorm(x, x_attn, gate_msa_x) + if self.update_y: + y = residual_tanh_gated_rmsnorm(y, y_attn, gate_msa_y) + + # MLP block. + x = self.ff_block_x(x, scale_mlp_x, gate_mlp_x) + if self.update_y: + y = self.ff_block_y(y, scale_mlp_y, gate_mlp_y) + + return x, y + + def ff_block_x(self, x, scale_x, gate_x): + x_mod = modulated_rmsnorm(x, scale_x) + x_res = self.mlp_x(x_mod) + x = residual_tanh_gated_rmsnorm(x, x_res, gate_x) # Sandwich norm + return x + + def ff_block_y(self, y, scale_y, gate_y): + y_mod = modulated_rmsnorm(y, scale_y) + y_res = self.mlp_y(y_mod) + y = residual_tanh_gated_rmsnorm(y, y_res, gate_y) # Sandwich norm + return y + + +class FinalLayer(nn.Module): + """ + The final layer of DiT. + """ + + def __init__( + self, + hidden_size, + patch_size, + out_channels, + device: Optional[torch.device] = None, + dtype=None, + operations=None, + ): + super().__init__() + self.norm_final = operations.LayerNorm( + hidden_size, elementwise_affine=False, eps=1e-6, device=device, dtype=dtype + ) + self.mod = operations.Linear(hidden_size, 2 * hidden_size, device=device, dtype=dtype) + self.linear = operations.Linear( + hidden_size, patch_size * patch_size * out_channels, device=device, dtype=dtype + ) + + def forward(self, x, c): + c = F.silu(c) + shift, scale = self.mod(c).chunk(2, dim=1) + x = modulate(self.norm_final(x), shift, scale) + x = self.linear(x) + return x + + +class AsymmDiTJoint(nn.Module): + """ + Diffusion model with a Transformer backbone. + + Ingests text embeddings instead of a label. + """ + + def __init__( + self, + *, + patch_size=2, + in_channels=4, + hidden_size_x=1152, + hidden_size_y=1152, + depth=48, + num_heads=16, + mlp_ratio_x=8.0, + mlp_ratio_y=4.0, + use_t5: bool = False, + t5_feat_dim: int = 4096, + t5_token_length: int = 256, + learn_sigma=True, + patch_embed_bias: bool = True, + timestep_mlp_bias: bool = True, + attend_to_padding: bool = False, + timestep_scale: Optional[float] = None, + use_extended_posenc: bool = False, + posenc_preserve_area: bool = False, + rope_theta: float = 10000.0, + image_model=None, + device: Optional[torch.device] = None, + dtype=None, + operations=None, + **block_kwargs, + ): + super().__init__() + + self.dtype = dtype + self.learn_sigma = learn_sigma + self.in_channels = in_channels + self.out_channels = in_channels * 2 if learn_sigma else in_channels + self.patch_size = patch_size + self.num_heads = num_heads + self.hidden_size_x = hidden_size_x + self.hidden_size_y = hidden_size_y + self.head_dim = ( + hidden_size_x // num_heads + ) # Head dimension and count is determined by visual. + self.attend_to_padding = attend_to_padding + self.use_extended_posenc = use_extended_posenc + self.posenc_preserve_area = posenc_preserve_area + self.use_t5 = use_t5 + self.t5_token_length = t5_token_length + self.t5_feat_dim = t5_feat_dim + self.rope_theta = ( + rope_theta # Scaling factor for frequency computation for temporal RoPE. + ) + + self.x_embedder = PatchEmbed( + patch_size=patch_size, + in_chans=in_channels, + embed_dim=hidden_size_x, + bias=patch_embed_bias, + dtype=dtype, + device=device, + operations=operations + ) + # Conditionings + # Timestep + self.t_embedder = TimestepEmbedder( + hidden_size_x, bias=timestep_mlp_bias, timestep_scale=timestep_scale, dtype=dtype, device=device, operations=operations + ) + + if self.use_t5: + # Caption Pooling (T5) + self.t5_y_embedder = AttentionPool( + t5_feat_dim, num_heads=8, output_dim=hidden_size_x, dtype=dtype, device=device, operations=operations + ) + + # Dense Embedding Projection (T5) + self.t5_yproj = operations.Linear( + t5_feat_dim, hidden_size_y, bias=True, dtype=dtype, device=device + ) + + # Initialize pos_frequencies as an empty parameter. + self.pos_frequencies = nn.Parameter( + torch.empty(3, self.num_heads, self.head_dim // 2, dtype=dtype, device=device) + ) + + assert not self.attend_to_padding + + # for depth 48: + # b = 0: AsymmetricJointBlock, update_y=True + # b = 1: AsymmetricJointBlock, update_y=True + # ... + # b = 46: AsymmetricJointBlock, update_y=True + # b = 47: AsymmetricJointBlock, update_y=False. No need to update text features. + blocks = [] + for b in range(depth): + # Joint multi-modal block + update_y = b < depth - 1 + block = AsymmetricJointBlock( + hidden_size_x, + hidden_size_y, + num_heads, + mlp_ratio_x=mlp_ratio_x, + mlp_ratio_y=mlp_ratio_y, + update_y=update_y, + attend_to_padding=attend_to_padding, + device=device, + dtype=dtype, + operations=operations, + **block_kwargs, + ) + + blocks.append(block) + self.blocks = nn.ModuleList(blocks) + + self.final_layer = FinalLayer( + hidden_size_x, patch_size, self.out_channels, dtype=dtype, device=device, operations=operations + ) + + def embed_x(self, x: torch.Tensor) -> torch.Tensor: + """ + Args: + x: (B, C=12, T, H, W) tensor of visual tokens + + Returns: + x: (B, C=3072, N) tensor of visual tokens with positional embedding. + """ + return self.x_embedder(x) # Convert BcTHW to BCN + + def prepare( + self, + x: torch.Tensor, + sigma: torch.Tensor, + t5_feat: torch.Tensor, + t5_mask: torch.Tensor, + ): + """Prepare input and conditioning embeddings.""" + # Visual patch embeddings with positional encoding. + T, H, W = x.shape[-3:] + pH, pW = H // self.patch_size, W // self.patch_size + x = self.embed_x(x) # (B, N, D), where N = T * H * W / patch_size ** 2 + assert x.ndim == 3 + B = x.size(0) + + + pH, pW = H // self.patch_size, W // self.patch_size + N = T * pH * pW + assert x.size(1) == N + pos = create_position_matrix( + T, pH=pH, pW=pW, device=x.device, dtype=torch.float32 + ) # (N, 3) + rope_cos, rope_sin = compute_mixed_rotation( + freqs=comfy.ops.cast_to(self.pos_frequencies, dtype=x.dtype, device=x.device), pos=pos + ) # Each are (N, num_heads, dim // 2) + + c_t = self.t_embedder(1 - sigma, out_dtype=x.dtype) # (B, D) + + t5_y_pool = self.t5_y_embedder(t5_feat, t5_mask) # (B, D) + + c = c_t + t5_y_pool + + y_feat = self.t5_yproj(t5_feat) # (B, L, t5_feat_dim) --> (B, L, D) + + return x, c, y_feat, rope_cos, rope_sin + + def forward( + self, + x: torch.Tensor, + timestep: torch.Tensor, + context: List[torch.Tensor], + attention_mask: List[torch.Tensor], + num_tokens=256, + packed_indices: Dict[str, torch.Tensor] = None, + rope_cos: torch.Tensor = None, + rope_sin: torch.Tensor = None, + control=None, **kwargs + ): + y_feat = context + y_mask = attention_mask + sigma = timestep + """Forward pass of DiT. + + Args: + x: (B, C, T, H, W) tensor of spatial inputs (images or latent representations of images) + sigma: (B,) tensor of noise standard deviations + y_feat: List((B, L, y_feat_dim) tensor of caption token features. For SDXL text encoders: L=77, y_feat_dim=2048) + y_mask: List((B, L) boolean tensor indicating which tokens are not padding) + packed_indices: Dict with keys for Flash Attention. Result of compute_packed_indices. + """ + B, _, T, H, W = x.shape + + x, c, y_feat, rope_cos, rope_sin = self.prepare( + x, sigma, y_feat, y_mask + ) + del y_mask + + for i, block in enumerate(self.blocks): + x, y_feat = block( + x, + c, + y_feat, + rope_cos=rope_cos, + rope_sin=rope_sin, + crop_y=num_tokens, + ) # (B, M, D), (B, L, D) + del y_feat # Final layers don't use dense text features. + + x = self.final_layer(x, c) # (B, M, patch_size ** 2 * out_channels) + x = rearrange( + x, + "B (T hp wp) (p1 p2 c) -> B c T (hp p1) (wp p2)", + T=T, + hp=H // self.patch_size, + wp=W // self.patch_size, + p1=self.patch_size, + p2=self.patch_size, + c=self.out_channels, + ) + + return -x diff --git a/comfy/ldm/genmo/joint_model/layers.py b/comfy/ldm/genmo/joint_model/layers.py new file mode 100644 index 000000000..51d979559 --- /dev/null +++ b/comfy/ldm/genmo/joint_model/layers.py @@ -0,0 +1,164 @@ +#original code from https://github.com/genmoai/models under apache 2.0 license +#adapted to ComfyUI + +import collections.abc +import math +from itertools import repeat +from typing import Callable, Optional + +import torch +import torch.nn as nn +import torch.nn.functional as F +from einops import rearrange +import comfy.ldm.common_dit + + +# From PyTorch internals +def _ntuple(n): + def parse(x): + if isinstance(x, collections.abc.Iterable) and not isinstance(x, str): + return tuple(x) + return tuple(repeat(x, n)) + + return parse + + +to_2tuple = _ntuple(2) + + +class TimestepEmbedder(nn.Module): + def __init__( + self, + hidden_size: int, + frequency_embedding_size: int = 256, + *, + bias: bool = True, + timestep_scale: Optional[float] = None, + dtype=None, + device=None, + operations=None, + ): + super().__init__() + self.mlp = nn.Sequential( + operations.Linear(frequency_embedding_size, hidden_size, bias=bias, dtype=dtype, device=device), + nn.SiLU(), + operations.Linear(hidden_size, hidden_size, bias=bias, dtype=dtype, device=device), + ) + self.frequency_embedding_size = frequency_embedding_size + self.timestep_scale = timestep_scale + + @staticmethod + def timestep_embedding(t, dim, max_period=10000): + half = dim // 2 + freqs = torch.arange(start=0, end=half, dtype=torch.float32, device=t.device) + freqs.mul_(-math.log(max_period) / half).exp_() + args = t[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1 + ) + return embedding + + def forward(self, t, out_dtype): + if self.timestep_scale is not None: + t = t * self.timestep_scale + t_freq = self.timestep_embedding(t, self.frequency_embedding_size).to(dtype=out_dtype) + t_emb = self.mlp(t_freq) + return t_emb + + +class FeedForward(nn.Module): + def __init__( + self, + in_features: int, + hidden_size: int, + multiple_of: int, + ffn_dim_multiplier: Optional[float], + device: Optional[torch.device] = None, + dtype=None, + operations=None, + ): + super().__init__() + # keep parameter count and computation constant compared to standard FFN + hidden_size = int(2 * hidden_size / 3) + # custom dim factor multiplier + if ffn_dim_multiplier is not None: + hidden_size = int(ffn_dim_multiplier * hidden_size) + hidden_size = multiple_of * ((hidden_size + multiple_of - 1) // multiple_of) + + self.hidden_dim = hidden_size + self.w1 = operations.Linear(in_features, 2 * hidden_size, bias=False, device=device, dtype=dtype) + self.w2 = operations.Linear(hidden_size, in_features, bias=False, device=device, dtype=dtype) + + def forward(self, x): + x, gate = self.w1(x).chunk(2, dim=-1) + x = self.w2(F.silu(x) * gate) + return x + + +class PatchEmbed(nn.Module): + def __init__( + self, + patch_size: int = 16, + in_chans: int = 3, + embed_dim: int = 768, + norm_layer: Optional[Callable] = None, + flatten: bool = True, + bias: bool = True, + dynamic_img_pad: bool = False, + dtype=None, + device=None, + operations=None, + ): + super().__init__() + self.patch_size = to_2tuple(patch_size) + self.flatten = flatten + self.dynamic_img_pad = dynamic_img_pad + + self.proj = operations.Conv2d( + in_chans, + embed_dim, + kernel_size=patch_size, + stride=patch_size, + bias=bias, + device=device, + dtype=dtype, + ) + assert norm_layer is None + self.norm = ( + norm_layer(embed_dim, device=device) if norm_layer else nn.Identity() + ) + + def forward(self, x): + B, _C, T, H, W = x.shape + if not self.dynamic_img_pad: + assert H % self.patch_size[0] == 0, f"Input height ({H}) should be divisible by patch size ({self.patch_size[0]})." + assert W % self.patch_size[1] == 0, f"Input width ({W}) should be divisible by patch size ({self.patch_size[1]})." + else: + pad_h = (self.patch_size[0] - H % self.patch_size[0]) % self.patch_size[0] + pad_w = (self.patch_size[1] - W % self.patch_size[1]) % self.patch_size[1] + x = F.pad(x, (0, pad_w, 0, pad_h)) + + x = rearrange(x, "B C T H W -> (B T) C H W", B=B, T=T) + x = comfy.ldm.common_dit.pad_to_patch_size(x, self.patch_size, padding_mode='circular') + x = self.proj(x) + + # Flatten temporal and spatial dimensions. + if not self.flatten: + raise NotImplementedError("Must flatten output.") + x = rearrange(x, "(B T) C H W -> B (T H W) C", B=B, T=T) + + x = self.norm(x) + return x + + +class RMSNorm(torch.nn.Module): + def __init__(self, hidden_size, eps=1e-5, device=None, dtype=None): + super().__init__() + self.eps = eps + self.weight = torch.nn.Parameter(torch.empty(hidden_size, device=device, dtype=dtype)) + self.register_parameter("bias", None) + + def forward(self, x): + return comfy.ldm.common_dit.rms_norm(x, self.weight, self.eps) diff --git a/comfy/ldm/genmo/joint_model/rope_mixed.py b/comfy/ldm/genmo/joint_model/rope_mixed.py new file mode 100644 index 000000000..dee3fa21f --- /dev/null +++ b/comfy/ldm/genmo/joint_model/rope_mixed.py @@ -0,0 +1,88 @@ +#original code from https://github.com/genmoai/models under apache 2.0 license + +# import functools +import math + +import torch + + +def centers(start: float, stop, num, dtype=None, device=None): + """linspace through bin centers. + + Args: + start (float): Start of the range. + stop (float): End of the range. + num (int): Number of points. + dtype (torch.dtype): Data type of the points. + device (torch.device): Device of the points. + + Returns: + centers (Tensor): Centers of the bins. Shape: (num,). + """ + edges = torch.linspace(start, stop, num + 1, dtype=dtype, device=device) + return (edges[:-1] + edges[1:]) / 2 + + +# @functools.lru_cache(maxsize=1) +def create_position_matrix( + T: int, + pH: int, + pW: int, + device: torch.device, + dtype: torch.dtype, + *, + target_area: float = 36864, +): + """ + Args: + T: int - Temporal dimension + pH: int - Height dimension after patchify + pW: int - Width dimension after patchify + + Returns: + pos: [T * pH * pW, 3] - position matrix + """ + # Create 1D tensors for each dimension + t = torch.arange(T, dtype=dtype) + + # Positionally interpolate to area 36864. + # (3072x3072 frame with 16x16 patches = 192x192 latents). + # This automatically scales rope positions when the resolution changes. + # We use a large target area so the model is more sensitive + # to changes in the learned pos_frequencies matrix. + scale = math.sqrt(target_area / (pW * pH)) + w = centers(-pW * scale / 2, pW * scale / 2, pW) + h = centers(-pH * scale / 2, pH * scale / 2, pH) + + # Use meshgrid to create 3D grids + grid_t, grid_h, grid_w = torch.meshgrid(t, h, w, indexing="ij") + + # Stack and reshape the grids. + pos = torch.stack([grid_t, grid_h, grid_w], dim=-1) # [T, pH, pW, 3] + pos = pos.view(-1, 3) # [T * pH * pW, 3] + pos = pos.to(dtype=dtype, device=device) + + return pos + + +def compute_mixed_rotation( + freqs: torch.Tensor, + pos: torch.Tensor, +): + """ + Project each 3-dim position into per-head, per-head-dim 1D frequencies. + + Args: + freqs: [3, num_heads, num_freqs] - learned rotation frequency (for t, row, col) for each head position + pos: [N, 3] - position of each token + num_heads: int + + Returns: + freqs_cos: [N, num_heads, num_freqs] - cosine components + freqs_sin: [N, num_heads, num_freqs] - sine components + """ + assert freqs.ndim == 3 + freqs_sum = torch.einsum("Nd,dhf->Nhf", pos.to(freqs), freqs) + freqs_cos = torch.cos(freqs_sum) + freqs_sin = torch.sin(freqs_sum) + return freqs_cos, freqs_sin diff --git a/comfy/ldm/genmo/joint_model/temporal_rope.py b/comfy/ldm/genmo/joint_model/temporal_rope.py new file mode 100644 index 000000000..88f5d6d26 --- /dev/null +++ b/comfy/ldm/genmo/joint_model/temporal_rope.py @@ -0,0 +1,34 @@ +#original code from https://github.com/genmoai/models under apache 2.0 license + +# Based on Llama3 Implementation. +import torch + + +def apply_rotary_emb_qk_real( + xqk: torch.Tensor, + freqs_cos: torch.Tensor, + freqs_sin: torch.Tensor, +) -> torch.Tensor: + """ + Apply rotary embeddings to input tensors using the given frequency tensor without complex numbers. + + Args: + xqk (torch.Tensor): Query and/or Key tensors to apply rotary embeddings. Shape: (B, S, *, num_heads, D) + Can be either just query or just key, or both stacked along some batch or * dim. + freqs_cos (torch.Tensor): Precomputed cosine frequency tensor. + freqs_sin (torch.Tensor): Precomputed sine frequency tensor. + + Returns: + torch.Tensor: The input tensor with rotary embeddings applied. + """ + # Split the last dimension into even and odd parts + xqk_even = xqk[..., 0::2] + xqk_odd = xqk[..., 1::2] + + # Apply rotation + cos_part = (xqk_even * freqs_cos - xqk_odd * freqs_sin).type_as(xqk) + sin_part = (xqk_even * freqs_sin + xqk_odd * freqs_cos).type_as(xqk) + + # Interleave the results back into the original shape + out = torch.stack([cos_part, sin_part], dim=-1).flatten(-2) + return out diff --git a/comfy/ldm/genmo/joint_model/utils.py b/comfy/ldm/genmo/joint_model/utils.py new file mode 100644 index 000000000..411902423 --- /dev/null +++ b/comfy/ldm/genmo/joint_model/utils.py @@ -0,0 +1,102 @@ +#original code from https://github.com/genmoai/models under apache 2.0 license +#adapted to ComfyUI + +from typing import Optional, Tuple + +import torch +import torch.nn as nn +import torch.nn.functional as F + + +def modulate(x, shift, scale): + return x * (1 + scale.unsqueeze(1)) + shift.unsqueeze(1) + + +def pool_tokens(x: torch.Tensor, mask: torch.Tensor, *, keepdim=False) -> torch.Tensor: + """ + Pool tokens in x using mask. + + NOTE: We assume x does not require gradients. + + Args: + x: (B, L, D) tensor of tokens. + mask: (B, L) boolean tensor indicating which tokens are not padding. + + Returns: + pooled: (B, D) tensor of pooled tokens. + """ + assert x.size(1) == mask.size(1) # Expected mask to have same length as tokens. + assert x.size(0) == mask.size(0) # Expected mask to have same batch size as tokens. + mask = mask[:, :, None].to(dtype=x.dtype) + mask = mask / mask.sum(dim=1, keepdim=True).clamp(min=1) + pooled = (x * mask).sum(dim=1, keepdim=keepdim) + return pooled + + +class AttentionPool(nn.Module): + def __init__( + self, + embed_dim: int, + num_heads: int, + output_dim: int = None, + device: Optional[torch.device] = None, + dtype=None, + operations=None, + ): + """ + Args: + spatial_dim (int): Number of tokens in sequence length. + embed_dim (int): Dimensionality of input tokens. + num_heads (int): Number of attention heads. + output_dim (int): Dimensionality of output tokens. Defaults to embed_dim. + """ + super().__init__() + self.num_heads = num_heads + self.to_kv = operations.Linear(embed_dim, 2 * embed_dim, device=device, dtype=dtype) + self.to_q = operations.Linear(embed_dim, embed_dim, device=device, dtype=dtype) + self.to_out = operations.Linear(embed_dim, output_dim or embed_dim, device=device, dtype=dtype) + + def forward(self, x, mask): + """ + Args: + x (torch.Tensor): (B, L, D) tensor of input tokens. + mask (torch.Tensor): (B, L) boolean tensor indicating which tokens are not padding. + + NOTE: We assume x does not require gradients. + + Returns: + x (torch.Tensor): (B, D) tensor of pooled tokens. + """ + D = x.size(2) + + # Construct attention mask, shape: (B, 1, num_queries=1, num_keys=1+L). + attn_mask = mask[:, None, None, :].bool() # (B, 1, 1, L). + attn_mask = F.pad(attn_mask, (1, 0), value=True) # (B, 1, 1, 1+L). + + # Average non-padding token features. These will be used as the query. + x_pool = pool_tokens(x, mask, keepdim=True) # (B, 1, D) + + # Concat pooled features to input sequence. + x = torch.cat([x_pool, x], dim=1) # (B, L+1, D) + + # Compute queries, keys, values. Only the mean token is used to create a query. + kv = self.to_kv(x) # (B, L+1, 2 * D) + q = self.to_q(x[:, 0]) # (B, D) + + # Extract heads. + head_dim = D // self.num_heads + kv = kv.unflatten(2, (2, self.num_heads, head_dim)) # (B, 1+L, 2, H, head_dim) + kv = kv.transpose(1, 3) # (B, H, 2, 1+L, head_dim) + k, v = kv.unbind(2) # (B, H, 1+L, head_dim) + q = q.unflatten(1, (self.num_heads, head_dim)) # (B, H, head_dim) + q = q.unsqueeze(2) # (B, H, 1, head_dim) + + # Compute attention. + x = F.scaled_dot_product_attention( + q, k, v, attn_mask=attn_mask, dropout_p=0.0 + ) # (B, H, 1, head_dim) + + # Concatenate heads and run output. + x = x.squeeze(2).flatten(1, 2) # (B, D = H * head_dim) + x = self.to_out(x) + return x diff --git a/comfy/ldm/genmo/vae/model.py b/comfy/ldm/genmo/vae/model.py new file mode 100644 index 000000000..e44c08a40 --- /dev/null +++ b/comfy/ldm/genmo/vae/model.py @@ -0,0 +1,480 @@ +#original code from https://github.com/genmoai/models under apache 2.0 license +#adapted to ComfyUI + +from typing import Callable, List, Optional, Tuple, Union + +import torch +import torch.nn as nn +import torch.nn.functional as F +from einops import rearrange + +import comfy.ops +ops = comfy.ops.disable_weight_init + +# import mochi_preview.dit.joint_model.context_parallel as cp +# from mochi_preview.vae.cp_conv import cp_pass_frames, gather_all_frames + + +def cast_tuple(t, length=1): + return t if isinstance(t, tuple) else ((t,) * length) + + +class GroupNormSpatial(ops.GroupNorm): + """ + GroupNorm applied per-frame. + """ + + def forward(self, x: torch.Tensor, *, chunk_size: int = 8): + B, C, T, H, W = x.shape + x = rearrange(x, "B C T H W -> (B T) C H W") + # Run group norm in chunks. + output = torch.empty_like(x) + for b in range(0, B * T, chunk_size): + output[b : b + chunk_size] = super().forward(x[b : b + chunk_size]) + return rearrange(output, "(B T) C H W -> B C T H W", B=B, T=T) + +class PConv3d(ops.Conv3d): + def __init__( + self, + in_channels, + out_channels, + kernel_size: Union[int, Tuple[int, int, int]], + stride: Union[int, Tuple[int, int, int]], + causal: bool = True, + context_parallel: bool = True, + **kwargs, + ): + self.causal = causal + self.context_parallel = context_parallel + kernel_size = cast_tuple(kernel_size, 3) + stride = cast_tuple(stride, 3) + height_pad = (kernel_size[1] - 1) // 2 + width_pad = (kernel_size[2] - 1) // 2 + + super().__init__( + in_channels=in_channels, + out_channels=out_channels, + kernel_size=kernel_size, + stride=stride, + dilation=(1, 1, 1), + padding=(0, height_pad, width_pad), + **kwargs, + ) + + def forward(self, x: torch.Tensor): + # Compute padding amounts. + context_size = self.kernel_size[0] - 1 + if self.causal: + pad_front = context_size + pad_back = 0 + else: + pad_front = context_size // 2 + pad_back = context_size - pad_front + + # Apply padding. + assert self.padding_mode == "replicate" # DEBUG + mode = "constant" if self.padding_mode == "zeros" else self.padding_mode + x = F.pad(x, (0, 0, 0, 0, pad_front, pad_back), mode=mode) + return super().forward(x) + + +class Conv1x1(ops.Linear): + """*1x1 Conv implemented with a linear layer.""" + + def __init__(self, in_features: int, out_features: int, *args, **kwargs): + super().__init__(in_features, out_features, *args, **kwargs) + + def forward(self, x: torch.Tensor): + """Forward pass. + + Args: + x: Input tensor. Shape: [B, C, *] or [B, *, C]. + + Returns: + x: Output tensor. Shape: [B, C', *] or [B, *, C']. + """ + x = x.movedim(1, -1) + x = super().forward(x) + x = x.movedim(-1, 1) + return x + + +class DepthToSpaceTime(nn.Module): + def __init__( + self, + temporal_expansion: int, + spatial_expansion: int, + ): + super().__init__() + self.temporal_expansion = temporal_expansion + self.spatial_expansion = spatial_expansion + + # When printed, this module should show the temporal and spatial expansion factors. + def extra_repr(self): + return f"texp={self.temporal_expansion}, sexp={self.spatial_expansion}" + + def forward(self, x: torch.Tensor): + """Forward pass. + + Args: + x: Input tensor. Shape: [B, C, T, H, W]. + + Returns: + x: Rearranged tensor. Shape: [B, C/(st*s*s), T*st, H*s, W*s]. + """ + x = rearrange( + x, + "B (C st sh sw) T H W -> B C (T st) (H sh) (W sw)", + st=self.temporal_expansion, + sh=self.spatial_expansion, + sw=self.spatial_expansion, + ) + + # cp_rank, _ = cp.get_cp_rank_size() + if self.temporal_expansion > 1: # and cp_rank == 0: + # Drop the first self.temporal_expansion - 1 frames. + # This is because we always want the 3x3x3 conv filter to only apply + # to the first frame, and the first frame doesn't need to be repeated. + assert all(x.shape) + x = x[:, :, self.temporal_expansion - 1 :] + assert all(x.shape) + + return x + + +def norm_fn( + in_channels: int, + affine: bool = True, +): + return GroupNormSpatial(affine=affine, num_groups=32, num_channels=in_channels) + + +class ResBlock(nn.Module): + """Residual block that preserves the spatial dimensions.""" + + def __init__( + self, + channels: int, + *, + affine: bool = True, + attn_block: Optional[nn.Module] = None, + padding_mode: str = "replicate", + causal: bool = True, + ): + super().__init__() + self.channels = channels + + assert causal + self.stack = nn.Sequential( + norm_fn(channels, affine=affine), + nn.SiLU(inplace=True), + PConv3d( + in_channels=channels, + out_channels=channels, + kernel_size=(3, 3, 3), + stride=(1, 1, 1), + padding_mode=padding_mode, + bias=True, + # causal=causal, + ), + norm_fn(channels, affine=affine), + nn.SiLU(inplace=True), + PConv3d( + in_channels=channels, + out_channels=channels, + kernel_size=(3, 3, 3), + stride=(1, 1, 1), + padding_mode=padding_mode, + bias=True, + # causal=causal, + ), + ) + + self.attn_block = attn_block if attn_block else nn.Identity() + + def forward(self, x: torch.Tensor): + """Forward pass. + + Args: + x: Input tensor. Shape: [B, C, T, H, W]. + """ + residual = x + x = self.stack(x) + x = x + residual + del residual + + return self.attn_block(x) + + +class CausalUpsampleBlock(nn.Module): + def __init__( + self, + in_channels: int, + out_channels: int, + num_res_blocks: int, + *, + temporal_expansion: int = 2, + spatial_expansion: int = 2, + **block_kwargs, + ): + super().__init__() + + blocks = [] + for _ in range(num_res_blocks): + blocks.append(block_fn(in_channels, **block_kwargs)) + self.blocks = nn.Sequential(*blocks) + + self.temporal_expansion = temporal_expansion + self.spatial_expansion = spatial_expansion + + # Change channels in the final convolution layer. + self.proj = Conv1x1( + in_channels, + out_channels * temporal_expansion * (spatial_expansion**2), + ) + + self.d2st = DepthToSpaceTime( + temporal_expansion=temporal_expansion, spatial_expansion=spatial_expansion + ) + + def forward(self, x): + x = self.blocks(x) + x = self.proj(x) + x = self.d2st(x) + return x + + +def block_fn(channels, *, has_attention: bool = False, **block_kwargs): + assert has_attention is False #NOTE: if this is ever true add back the attention code. + + attn_block = None #AttentionBlock(channels) if has_attention else None + + return ResBlock( + channels, affine=True, attn_block=attn_block, **block_kwargs + ) + + +class DownsampleBlock(nn.Module): + def __init__( + self, + in_channels: int, + out_channels: int, + num_res_blocks, + *, + temporal_reduction=2, + spatial_reduction=2, + **block_kwargs, + ): + """ + Downsample block for the VAE encoder. + + Args: + in_channels: Number of input channels. + out_channels: Number of output channels. + num_res_blocks: Number of residual blocks. + temporal_reduction: Temporal reduction factor. + spatial_reduction: Spatial reduction factor. + """ + super().__init__() + layers = [] + + # Change the channel count in the strided convolution. + # This lets the ResBlock have uniform channel count, + # as in ConvNeXt. + assert in_channels != out_channels + layers.append( + PConv3d( + in_channels=in_channels, + out_channels=out_channels, + kernel_size=(temporal_reduction, spatial_reduction, spatial_reduction), + stride=(temporal_reduction, spatial_reduction, spatial_reduction), + padding_mode="replicate", + bias=True, + ) + ) + + for _ in range(num_res_blocks): + layers.append(block_fn(out_channels, **block_kwargs)) + + self.layers = nn.Sequential(*layers) + + def forward(self, x): + return self.layers(x) + + +def add_fourier_features(inputs: torch.Tensor, start=6, stop=8, step=1): + num_freqs = (stop - start) // step + assert inputs.ndim == 5 + C = inputs.size(1) + + # Create Base 2 Fourier features. + freqs = torch.arange(start, stop, step, dtype=inputs.dtype, device=inputs.device) + assert num_freqs == len(freqs) + w = torch.pow(2.0, freqs) * (2 * torch.pi) # [num_freqs] + C = inputs.shape[1] + w = w.repeat(C)[None, :, None, None, None] # [1, C * num_freqs, 1, 1, 1] + + # Interleaved repeat of input channels to match w. + h = inputs.repeat_interleave(num_freqs, dim=1) # [B, C * num_freqs, T, H, W] + # Scale channels by frequency. + h = w * h + + return torch.cat( + [ + inputs, + torch.sin(h), + torch.cos(h), + ], + dim=1, + ) + + +class FourierFeatures(nn.Module): + def __init__(self, start: int = 6, stop: int = 8, step: int = 1): + super().__init__() + self.start = start + self.stop = stop + self.step = step + + def forward(self, inputs): + """Add Fourier features to inputs. + + Args: + inputs: Input tensor. Shape: [B, C, T, H, W] + + Returns: + h: Output tensor. Shape: [B, (1 + 2 * num_freqs) * C, T, H, W] + """ + return add_fourier_features(inputs, self.start, self.stop, self.step) + + +class Decoder(nn.Module): + def __init__( + self, + *, + out_channels: int = 3, + latent_dim: int, + base_channels: int, + channel_multipliers: List[int], + num_res_blocks: List[int], + temporal_expansions: Optional[List[int]] = None, + spatial_expansions: Optional[List[int]] = None, + has_attention: List[bool], + output_norm: bool = True, + nonlinearity: str = "silu", + output_nonlinearity: str = "silu", + causal: bool = True, + **block_kwargs, + ): + super().__init__() + self.input_channels = latent_dim + self.base_channels = base_channels + self.channel_multipliers = channel_multipliers + self.num_res_blocks = num_res_blocks + self.output_nonlinearity = output_nonlinearity + assert nonlinearity == "silu" + assert causal + + ch = [mult * base_channels for mult in channel_multipliers] + self.num_up_blocks = len(ch) - 1 + assert len(num_res_blocks) == self.num_up_blocks + 2 + + blocks = [] + + first_block = [ + nn.Conv3d(latent_dim, ch[-1], kernel_size=(1, 1, 1)) + ] # Input layer. + # First set of blocks preserve channel count. + for _ in range(num_res_blocks[-1]): + first_block.append( + block_fn( + ch[-1], + has_attention=has_attention[-1], + causal=causal, + **block_kwargs, + ) + ) + blocks.append(nn.Sequential(*first_block)) + + assert len(temporal_expansions) == len(spatial_expansions) == self.num_up_blocks + assert len(num_res_blocks) == len(has_attention) == self.num_up_blocks + 2 + + upsample_block_fn = CausalUpsampleBlock + + for i in range(self.num_up_blocks): + block = upsample_block_fn( + ch[-i - 1], + ch[-i - 2], + num_res_blocks=num_res_blocks[-i - 2], + has_attention=has_attention[-i - 2], + temporal_expansion=temporal_expansions[-i - 1], + spatial_expansion=spatial_expansions[-i - 1], + causal=causal, + **block_kwargs, + ) + blocks.append(block) + + assert not output_norm + + # Last block. Preserve channel count. + last_block = [] + for _ in range(num_res_blocks[0]): + last_block.append( + block_fn( + ch[0], has_attention=has_attention[0], causal=causal, **block_kwargs + ) + ) + blocks.append(nn.Sequential(*last_block)) + + self.blocks = nn.ModuleList(blocks) + self.output_proj = Conv1x1(ch[0], out_channels) + + def forward(self, x): + """Forward pass. + + Args: + x: Latent tensor. Shape: [B, input_channels, t, h, w]. Scaled [-1, 1]. + + Returns: + x: Reconstructed video tensor. Shape: [B, C, T, H, W]. Scaled to [-1, 1]. + T + 1 = (t - 1) * 4. + H = h * 16, W = w * 16. + """ + for block in self.blocks: + x = block(x) + + if self.output_nonlinearity == "silu": + x = F.silu(x, inplace=not self.training) + else: + assert ( + not self.output_nonlinearity + ) # StyleGAN3 omits the to-RGB nonlinearity. + + return self.output_proj(x).contiguous() + + +class VideoVAE(nn.Module): + def __init__(self): + super().__init__() + self.encoder = None #TODO once the model releases + self.decoder = Decoder( + out_channels=3, + base_channels=128, + channel_multipliers=[1, 2, 4, 6], + temporal_expansions=[1, 2, 3], + spatial_expansions=[2, 2, 2], + num_res_blocks=[3, 3, 4, 6, 3], + latent_dim=12, + has_attention=[False, False, False, False, False], + padding_mode="replicate", + output_norm=False, + nonlinearity="silu", + output_nonlinearity="silu", + causal=True, + ) + + def encode(self, x): + return self.encoder(x) + + def decode(self, x): + return self.decoder(x) diff --git a/comfy/ldm/modules/diffusionmodules/mmdit.py b/comfy/ldm/modules/diffusionmodules/mmdit.py index d43ba22fa..13ba2e6bd 100644 --- a/comfy/ldm/modules/diffusionmodules/mmdit.py +++ b/comfy/ldm/modules/diffusionmodules/mmdit.py @@ -1,12 +1,12 @@ import logging import math from functools import partial -from typing import Dict, Optional +from typing import Dict, Optional, List import numpy as np import torch import torch.nn as nn -from .. import attention +from ..attention import optimized_attention from einops import rearrange, repeat from .util import timestep_embedding from .... import ops @@ -98,7 +98,7 @@ class PatchEmbed(nn.Module): self.norm = norm_layer(embed_dim) if norm_layer else nn.Identity() def forward(self, x): - B, C, H, W = x.shape + # B, C, H, W = x.shape # if self.img_size is not None: # if self.strict_img_size: # _assert(H == self.img_size[0], f"Input height ({H}) doesn't match model ({self.img_size[0]}).") @@ -267,8 +267,6 @@ def split_qkv(qkv, head_dim): qkv = qkv.reshape(qkv.shape[0], qkv.shape[1], 3, -1, head_dim).movedim(2, 0) return qkv[0], qkv[1], qkv[2] -def optimized_attention(qkv, num_heads): - return attention.optimized_attention(qkv[0], qkv[1], qkv[2], num_heads) class SelfAttention(nn.Module): ATTENTION_MODES = ("xformers", "torch", "torch-hb", "math", "debug") @@ -327,9 +325,9 @@ class SelfAttention(nn.Module): return x def forward(self, x: torch.Tensor) -> torch.Tensor: - qkv = self.pre_attention(x) + q, k, v = self.pre_attention(x) x = optimized_attention( - qkv, num_heads=self.num_heads + q, k, v, heads=self.num_heads ) x = self.post_attention(x) return x @@ -418,6 +416,7 @@ class DismantledBlock(nn.Module): scale_mod_only: bool = False, swiglu: bool = False, qk_norm: Optional[str] = None, + x_block_self_attn: bool = False, dtype=None, device=None, operations=None, @@ -441,6 +440,24 @@ class DismantledBlock(nn.Module): device=device, operations=operations ) + if x_block_self_attn: + assert not pre_only + assert not scale_mod_only + self.x_block_self_attn = True + self.attn2 = SelfAttention( + dim=hidden_size, + num_heads=num_heads, + qkv_bias=qkv_bias, + attn_mode=attn_mode, + pre_only=False, + qk_norm=qk_norm, + rmsnorm=rmsnorm, + dtype=dtype, + device=device, + operations=operations + ) + else: + self.x_block_self_attn = False if not pre_only: if not rmsnorm: self.norm2 = operations.LayerNorm( @@ -467,7 +484,11 @@ class DismantledBlock(nn.Module): multiple_of=256, ) self.scale_mod_only = scale_mod_only - if not scale_mod_only: + if x_block_self_attn: + assert not pre_only + assert not scale_mod_only + n_mods = 9 + elif not scale_mod_only: n_mods = 6 if not pre_only else 2 else: n_mods = 4 if not pre_only else 1 @@ -528,14 +549,64 @@ class DismantledBlock(nn.Module): ) return x + def pre_attention_x(self, x: torch.Tensor, c: torch.Tensor) -> torch.Tensor: + assert self.x_block_self_attn + ( + shift_msa, + scale_msa, + gate_msa, + shift_mlp, + scale_mlp, + gate_mlp, + shift_msa2, + scale_msa2, + gate_msa2, + ) = self.adaLN_modulation(c).chunk(9, dim=1) + x_norm = self.norm1(x) + qkv = self.attn.pre_attention(modulate(x_norm, shift_msa, scale_msa)) + qkv2 = self.attn2.pre_attention(modulate(x_norm, shift_msa2, scale_msa2)) + return qkv, qkv2, ( + x, + gate_msa, + shift_mlp, + scale_mlp, + gate_mlp, + gate_msa2, + ) + + def post_attention_x(self, attn, attn2, x, gate_msa, shift_mlp, scale_mlp, gate_mlp, gate_msa2): + assert not self.pre_only + attn1 = self.attn.post_attention(attn) + attn2 = self.attn2.post_attention(attn2) + out1 = gate_msa.unsqueeze(1) * attn1 + out2 = gate_msa2.unsqueeze(1) * attn2 + x = x + out1 + x = x + out2 + x = x + gate_mlp.unsqueeze(1) * self.mlp( + modulate(self.norm2(x), shift_mlp, scale_mlp) + ) + return x + def forward(self, x: torch.Tensor, c: torch.Tensor) -> torch.Tensor: assert not self.pre_only - qkv, intermediates = self.pre_attention(x, c) - attn = optimized_attention( - qkv, - num_heads=self.attn.num_heads, - ) - return self.post_attention(attn, *intermediates) + if self.x_block_self_attn: + qkv, qkv2, intermediates = self.pre_attention_x(x, c) + attn, _ = optimized_attention( + qkv[0], qkv[1], qkv[2], + num_heads=self.attn.num_heads, + ) + attn2, _ = optimized_attention( + qkv2[0], qkv2[1], qkv2[2], + num_heads=self.attn2.num_heads, + ) + return self.post_attention_x(attn, attn2, *intermediates) + else: + qkv, intermediates = self.pre_attention(x, c) + attn = optimized_attention( + qkv[0], qkv[1], qkv[2], + heads=self.attn.num_heads, + ) + return self.post_attention(attn, *intermediates) def block_mixing(*args, use_checkpoint=True, **kwargs): @@ -550,7 +621,10 @@ def block_mixing(*args, use_checkpoint=True, **kwargs): def _block_mixing(context, x, context_block, x_block, c): context_qkv, context_intermediates = context_block.pre_attention(context, c) - x_qkv, x_intermediates = x_block.pre_attention(x, c) + if x_block.x_block_self_attn: + x_qkv, x_qkv2, x_intermediates = x_block.pre_attention_x(x, c) + else: + x_qkv, x_intermediates = x_block.pre_attention(x, c) o = [] for t in range(3): @@ -558,8 +632,8 @@ def _block_mixing(context, x, context_block, x_block, c): qkv = tuple(o) attn = optimized_attention( - qkv, - num_heads=x_block.attn.num_heads, + qkv[0], qkv[1], qkv[2], + heads=x_block.attn.num_heads, ) context_attn, x_attn = ( attn[:, : context_qkv[0].shape[1]], @@ -571,7 +645,14 @@ def _block_mixing(context, x, context_block, x_block, c): else: context = None - x = x_block.post_attention(x_attn, *x_intermediates) + if x_block.x_block_self_attn: + attn2 = optimized_attention( + x_qkv2[0], x_qkv2[1], x_qkv2[2], + heads=x_block.attn2.num_heads, + ) + x = x_block.post_attention_x(x_attn, attn2, *x_intermediates) + else: + x = x_block.post_attention(x_attn, *x_intermediates) return context, x @@ -586,8 +667,13 @@ class JointBlock(nn.Module): super().__init__() pre_only = kwargs.pop("pre_only") qk_norm = kwargs.pop("qk_norm", None) + x_block_self_attn = kwargs.pop("x_block_self_attn", False) self.context_block = DismantledBlock(*args, pre_only=pre_only, qk_norm=qk_norm, **kwargs) - self.x_block = DismantledBlock(*args, pre_only=False, qk_norm=qk_norm, **kwargs) + self.x_block = DismantledBlock(*args, + pre_only=False, + qk_norm=qk_norm, + x_block_self_attn=x_block_self_attn, + **kwargs) def forward(self, *args, **kwargs): return block_mixing( @@ -643,7 +729,7 @@ class SelfAttentionContext(nn.Module): def forward(self, x): qkv = self.qkv(x) q, k, v = split_qkv(qkv, self.dim_head) - x = optimized_attention((q.reshape(q.shape[0], q.shape[1], -1), k, v), self.heads) + x = optimized_attention(q.reshape(q.shape[0], q.shape[1], -1), k, v, heads=self.heads) return self.proj(x) class ContextProcessorBlock(nn.Module): @@ -702,14 +788,19 @@ class MMDiT(nn.Module): qk_norm: Optional[str] = None, qkv_bias: bool = True, context_processor_layers = None, + x_block_self_attn: bool = False, + x_block_self_attn_layers=None, context_size = 4096, num_blocks = None, final_layer = True, + skip_blocks = False, dtype = None, #TODO device = None, operations = None, ): super().__init__() + if x_block_self_attn_layers is None: + x_block_self_attn_layers = [] self.dtype = dtype self.learn_sigma = learn_sigma self.in_channels = in_channels @@ -719,6 +810,7 @@ class MMDiT(nn.Module): self.pos_embed_scaling_factor = pos_embed_scaling_factor self.pos_embed_offset = pos_embed_offset self.pos_embed_max_size = pos_embed_max_size + self.x_block_self_attn_layers = x_block_self_attn_layers # hidden_size = default(hidden_size, 64 * depth) # num_heads = default(num_heads, hidden_size // 64) @@ -776,26 +868,28 @@ class MMDiT(nn.Module): self.pos_embed = None self.use_checkpoint = use_checkpoint - self.joint_blocks = nn.ModuleList( - [ - JointBlock( - self.hidden_size, - num_heads, - mlp_ratio=mlp_ratio, - qkv_bias=qkv_bias, - attn_mode=attn_mode, - pre_only=(i == num_blocks - 1) and final_layer, - rmsnorm=rmsnorm, - scale_mod_only=scale_mod_only, - swiglu=swiglu, - qk_norm=qk_norm, - dtype=dtype, - device=device, - operations=operations - ) - for i in range(num_blocks) - ] - ) + if not skip_blocks: + self.joint_blocks = nn.ModuleList( + [ + JointBlock( + self.hidden_size, + num_heads, + mlp_ratio=mlp_ratio, + qkv_bias=qkv_bias, + attn_mode=attn_mode, + pre_only=(i == num_blocks - 1) and final_layer, + rmsnorm=rmsnorm, + scale_mod_only=scale_mod_only, + swiglu=swiglu, + qk_norm=qk_norm, + x_block_self_attn=(i in self.x_block_self_attn_layers) or x_block_self_attn, + dtype=dtype, + device=device, + operations=operations, + ) + for i in range(num_blocks) + ] + ) if final_layer: self.final_layer = FinalLayer(self.hidden_size, patch_size, self.out_channels, dtype=dtype, device=device, operations=operations) @@ -858,9 +952,11 @@ class MMDiT(nn.Module): c_mod: torch.Tensor, context: Optional[torch.Tensor] = None, control = None, + transformer_options=None, ) -> torch.Tensor: - if self.compile_core: - return self.forward_core_with_concat_compiled(x, c_mod, context) + if transformer_options is None: + transformer_options = {} + patches_replace = transformer_options.get("patches_replace", {}) if self.register_length > 0: context = torch.cat( ( @@ -872,14 +968,25 @@ class MMDiT(nn.Module): # context is B, L', D # x is B, L, D + blocks_replace = patches_replace.get("dit", {}) blocks = len(self.joint_blocks) for i in range(blocks): - context, x = self.joint_blocks[i]( - context, - x, - c=c_mod, - use_checkpoint=self.use_checkpoint, - ) + if ("double_block", i) in blocks_replace: + def block_wrap(args): + out = {} + out["txt"], out["img"] = self.joint_blocks[i](args["txt"], args["img"], c=args["vec"]) + return out + + out = blocks_replace[("double_block", i)]({"img": x, "txt": context, "vec": c_mod}, {"original_block": block_wrap}) + context = out["txt"] + x = out["img"] + else: + context, x = self.joint_blocks[i]( + context, + x, + c=c_mod, + use_checkpoint=self.use_checkpoint, + ) if control is not None: control_o = control.get("output") if i < len(control_o): @@ -897,6 +1004,7 @@ class MMDiT(nn.Module): y: Optional[torch.Tensor] = None, context: Optional[torch.Tensor] = None, control = None, + transformer_options=None, ) -> torch.Tensor: """ Forward pass of DiT. @@ -905,6 +1013,8 @@ class MMDiT(nn.Module): y: (N,) tensor of class labels """ + if transformer_options is None: + transformer_options = {} if self.context_processor is not None: context = self.context_processor(context) @@ -918,7 +1028,7 @@ class MMDiT(nn.Module): if context is not None: context = self.context_embedder(context) - x = self.forward_core_with_concat(x, c, context, control) + x = self.forward_core_with_concat(x, c, context, control, transformer_options) x = self.unpatchify(x, hw=hw) # (N, out_channels, H, W) return x[:,:,:hw[-2],:hw[-1]] @@ -932,7 +1042,10 @@ class OpenAISignatureMMDITWrapper(MMDiT): context: Optional[torch.Tensor] = None, y: Optional[torch.Tensor] = None, control = None, + transformer_options=None, **kwargs, ) -> torch.Tensor: - return super().forward(x, timesteps, context=context, y=y, control=control) + if transformer_options is None: + transformer_options = {} + return super().forward(x, timesteps, context=context, y=y, control=control, transformer_options=transformer_options) diff --git a/comfy/lora.py b/comfy/lora.py index f1c21d4ea..e9bfa68f3 100644 --- a/comfy/lora.py +++ b/comfy/lora.py @@ -315,6 +315,10 @@ def model_lora_keys_unet(model, key_map={}): key_lora = "lora_transformer_{}".format(k[:-len(".weight")].replace(".", "_")) # OneTrainer lora key_map[key_lora] = to + key_lora = "lycoris_{}".format(k[:-len(".weight")].replace(".", "_")) #simpletuner lycoris format + key_map[key_lora] = to + + if isinstance(model, model_base.AuraFlow): # Diffusers lora AuraFlow diffusers_keys = utils.auraflow_to_diffusers(model.model_config.unet_config, output_prefix="diffusion_model.") for k in diffusers_keys: @@ -415,7 +419,7 @@ def calculate_weight(patches, weight, key, intermediate_dtype=torch.float32): weight *= strength_model if isinstance(v, list): - v = (calculate_weight(v[1:], model_management.cast_to_device(v[0], weight.device, intermediate_dtype, copy=True), key, intermediate_dtype=intermediate_dtype),) + v = (calculate_weight(v[1:], v[0][1](model_management.cast_to_device(v[0][0], weight.device, intermediate_dtype, copy=True), inplace=True), key, intermediate_dtype=intermediate_dtype), ) patch_type = "" if len(v) == 1: diff --git a/comfy/model_base.py b/comfy/model_base.py index 63af292c2..a1e5eebe7 100644 --- a/comfy/model_base.py +++ b/comfy/model_base.py @@ -34,6 +34,7 @@ from .ldm.aura.mmdit import MMDiT as AuraMMDiT from .ldm.cascade.stage_b import StageB from .ldm.cascade.stage_c import StageC from .ldm.flux import model as flux_model +from .ldm.genmo.joint_model.asymm_models_joint import AsymmDiTJoint from .ldm.hydit.models import HunYuanDiT from .ldm.modules.diffusionmodules.mmdit import OpenAISignatureMMDITWrapper from .ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep @@ -108,7 +109,8 @@ class BaseModel(torch.nn.Module): if not unet_config.get("disable_unet_model_creation", False): if model_config.custom_operations is None: - operations = ops.pick_operations(unet_config.get("dtype", None), self.manual_cast_dtype, fp8_optimizations=model_config.optimizations.get("fp8", False)) + fp8 = model_config.optimizations.get("fp8", model_config.scaled_fp8 is not None) + operations = ops.pick_operations(unet_config.get("dtype", None), self.manual_cast_dtype, fp8_optimizations=fp8, scaled_fp8=model_config.scaled_fp8) else: operations = model_config.custom_operations self.diffusion_model = unet_model(**unet_config, device=device, operations=operations) @@ -258,6 +260,10 @@ class BaseModel(torch.nn.Module): extra_sds.append(self.model_config.process_clip_vision_state_dict_for_saving(clip_vision_state_dict)) unet_state_dict = self.diffusion_model.state_dict() + + if self.model_config.scaled_fp8 is not None: + unet_state_dict["scaled_fp8"] = torch.tensor([], dtype=self.model_config.scaled_fp8) + unet_state_dict = self.model_config.process_unet_state_dict_for_saving(unet_state_dict) if self.model_type == ModelType.V_PREDICTION: @@ -746,3 +752,18 @@ class Flux(BaseModel): out['c_crossattn'] = conds.CONDRegular(cross_attn) out['guidance'] = conds.CONDRegular(torch.FloatTensor([kwargs.get("guidance", 3.5)])) return out + +class GenmoMochi(BaseModel): + def __init__(self, model_config, model_type=ModelType.FLOW, device=None): + super().__init__(model_config, model_type, device=device, unet_model=AsymmDiTJoint) + + def extra_conds(self, **kwargs): + out = super().extra_conds(**kwargs) + attention_mask = kwargs.get("attention_mask", None) + if attention_mask is not None: + out['attention_mask'] = conds.CONDRegular(attention_mask) + out['num_tokens'] = 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'] = conds.CONDRegular(cross_attn) + return out diff --git a/comfy/model_detection.py b/comfy/model_detection.py index 38d48fc82..1dd97b005 100644 --- a/comfy/model_detection.py +++ b/comfy/model_detection.py @@ -69,6 +69,11 @@ def detect_unet_config(state_dict, key_prefix): context_processor = '{}context_processor.layers.0.attn.qkv.weight'.format(key_prefix) if context_processor in state_dict_keys: unet_config["context_processor_layers"] = count_blocks(state_dict_keys, '{}context_processor.layers.'.format(key_prefix) + '{}.') + unet_config["x_block_self_attn_layers"] = [] + for key in state_dict_keys: + if key.startswith('{}joint_blocks.'.format(key_prefix)) and key.endswith('.x_block.attn2.qkv.weight'): + layer = key[len('{}joint_blocks.'.format(key_prefix)):-len('.x_block.attn2.qkv.weight')] + unet_config["x_block_self_attn_layers"].append(int(layer)) return unet_config if '{}clf.1.weight'.format(key_prefix) in state_dict_keys: #stable cascade @@ -144,6 +149,34 @@ def detect_unet_config(state_dict, key_prefix): dit_config["guidance_embed"] = "{}guidance_in.in_layer.weight".format(key_prefix) in state_dict_keys return dit_config + if '{}t5_yproj.weight'.format(key_prefix) in state_dict_keys: #Genmo mochi preview + dit_config = {} + dit_config["image_model"] = "mochi_preview" + dit_config["depth"] = 48 + dit_config["patch_size"] = 2 + dit_config["num_heads"] = 24 + dit_config["hidden_size_x"] = 3072 + dit_config["hidden_size_y"] = 1536 + dit_config["mlp_ratio_x"] = 4.0 + dit_config["mlp_ratio_y"] = 4.0 + dit_config["learn_sigma"] = False + dit_config["in_channels"] = 12 + dit_config["qk_norm"] = True + dit_config["qkv_bias"] = False + dit_config["out_bias"] = True + dit_config["attn_drop"] = 0.0 + dit_config["patch_embed_bias"] = True + dit_config["posenc_preserve_area"] = True + dit_config["timestep_mlp_bias"] = True + dit_config["attend_to_padding"] = False + dit_config["timestep_scale"] = 1000.0 + dit_config["use_t5"] = True + dit_config["t5_feat_dim"] = 4096 + dit_config["t5_token_length"] = 256 + dit_config["rope_theta"] = 10000.0 + return dit_config + + if '{}input_blocks.0.0.weight'.format(key_prefix) not in state_dict_keys: return None @@ -285,9 +318,15 @@ def model_config_from_unet(state_dict, unet_key_prefix, use_base_if_no_match=Fal return None model_config = model_config_from_unet_config(unet_config, state_dict) if model_config is None and use_base_if_no_match: - return supported_models_base.BASE(unet_config) - else: - return model_config + model_config = supported_models_base.BASE(unet_config) + + scaled_fp8_weight = state_dict.get("{}scaled_fp8".format(unet_key_prefix), None) + if scaled_fp8_weight is not None: + model_config.scaled_fp8 = scaled_fp8_weight.dtype + if model_config.scaled_fp8 == torch.float32: + model_config.scaled_fp8 = torch.float8_e4m3fn + + return model_config def unet_prefix_from_state_dict(state_dict): candidates = ["model.diffusion_model.", #ldm/sgm models diff --git a/comfy/model_management.py b/comfy/model_management.py index a0454e9ee..b20756637 100644 --- a/comfy/model_management.py +++ b/comfy/model_management.py @@ -747,6 +747,9 @@ def unet_dtype(device=None, model_params=0, supported_dtypes=(torch.float16, tor pass if fp8_dtype is not None: + if supports_fp8_compute(device): #if fp8 compute is supported the casting is most likely not expensive + return fp8_dtype + free_model_memory = maximum_vram_for_weights(device) if model_params * 2 > free_model_memory: return fp8_dtype @@ -955,29 +958,21 @@ def force_channels_last(): # TODO return False +def cast_to(weight, dtype=None, device=None, non_blocking=False, copy=False): + if device is None or weight.device == device: + if not copy: + if dtype is None or weight.dtype == dtype: + return weight + return weight.to(dtype=dtype, copy=copy) + + r = torch.empty_like(weight, dtype=dtype, device=device) + r.copy_(weight, non_blocking=non_blocking) + return r def cast_to_device(tensor, device, dtype, copy=False): - with model_management_lock: - device_supports_cast = False - if tensor.dtype == torch.float32 or tensor.dtype == torch.float16: - device_supports_cast = True - elif tensor.dtype == torch.bfloat16: - if hasattr(device, 'type') and device.type.startswith("cuda"): - device_supports_cast = True - elif is_intel_xpu(): - device_supports_cast = True + non_blocking = device_supports_non_blocking(device) + return cast_to(tensor, dtype=dtype, device=device, non_blocking=non_blocking, copy=copy) - non_blocking = device_should_use_non_blocking(device) - - if device_supports_cast: - if copy: - if tensor.device == device: - return tensor.to(dtype, copy=copy, non_blocking=non_blocking) - return tensor.to(device, copy=copy, non_blocking=non_blocking).to(dtype, non_blocking=non_blocking) - else: - return tensor.to(device, non_blocking=non_blocking).to(dtype, non_blocking=non_blocking) - else: - return tensor.to(device, dtype, copy=copy, non_blocking=non_blocking) FLASH_ATTENTION_ENABLED = False diff --git a/comfy/model_patcher.py b/comfy/model_patcher.py index 1673eca4c..a27a5f2a8 100644 --- a/comfy/model_patcher.py +++ b/comfy/model_patcher.py @@ -104,6 +104,31 @@ class LowVramPatch: return lora.calculate_weight(self.patches[self.key], weight, self.key, intermediate_dtype=intermediate_dtype) +def get_key_weight(model, key): + set_func = None + convert_func = None + op_keys = key.rsplit('.', 1) + if len(op_keys) < 2: + weight = utils.get_attr(model, key) + else: + op = utils.get_attr(model, op_keys[0]) + try: + set_func = getattr(op, "set_{}".format(op_keys[1])) + except AttributeError: + pass + + try: + convert_func = getattr(op, "convert_{}".format(op_keys[1])) + except AttributeError: + pass + + weight = getattr(op, op_keys[1]) + if convert_func is not None: + weight = utils.get_attr(model, key) + + return weight, set_func, convert_func + + class ModelPatcher(ModelManageable): def __init__(self, model: torch.nn.Module, load_device: torch.device, offload_device: torch.device, size=0, weight_inplace_update=False, ckpt_name: Optional[str] = None): self.size = size @@ -321,14 +346,16 @@ class ModelPatcher(ModelManageable): if not k.startswith(filter_prefix): continue bk: torch.nn.Module | None = self.backup.get(k, None) + weight, set_func, convert_func = get_key_weight(self.model, k) if bk is not None: weight = bk.weight - else: - weight = model_sd[k] + if convert_func is None: + convert_func = lambda a, **kwargs: a + if k in self.patches: - p[k] = [weight] + self.patches[k] + p[k] = [(weight, convert_func)] + self.patches[k] else: - p[k] = (weight,) + p[k] = [(weight, convert_func)] return p def model_state_dict(self, filter_prefix=None): @@ -344,8 +371,7 @@ class ModelPatcher(ModelManageable): if key not in self.patches: return - weight = utils.get_attr(self.model, key) - + weight, set_func, convert_func = get_key_weight(self.model, key) inplace_update = self.weight_inplace_update or inplace_update if key not in self.backup: @@ -355,12 +381,18 @@ class ModelPatcher(ModelManageable): temp_weight = model_management.cast_to_device(weight, device_to, torch.float32, copy=True) else: temp_weight = weight.to(torch.float32, copy=True) + if convert_func is not None: + temp_weight = convert_func(temp_weight, inplace=True) + out_weight = lora.calculate_weight(self.patches[key], temp_weight, key) - out_weight = stochastic_rounding(out_weight, weight.dtype, seed=string_to_seed(key)) - if inplace_update: - utils.copy_to_param(self.model, key, out_weight) + if set_func is None: + out_weight = stochastic_rounding(out_weight, weight.dtype, seed=string_to_seed(key)) + if inplace_update: + utils.copy_to_param(self.model, key, out_weight) + else: + utils.set_attr_param(self.model, key, out_weight) else: - utils.set_attr_param(self.model, key, out_weight) + set_func(out_weight, inplace_update=inplace_update, seed=string_to_seed(key)) def load(self, device_to=None, lowvram_model_memory=0, force_patch_weights=False, full_load=False): mem_counter = 0 diff --git a/comfy/nodes/base_nodes.py b/comfy/nodes/base_nodes.py index 8ba4a6faa..0e6468d54 100644 --- a/comfy/nodes/base_nodes.py +++ b/comfy/nodes/base_nodes.py @@ -280,7 +280,10 @@ class VAEDecode: DESCRIPTION = "Decodes latent images back into pixel space images." def decode(self, vae, samples): - return (vae.decode(samples["samples"]), ) + images = vae.decode(samples["samples"]) + if len(images.shape) == 5: #Combine batches + images = images.reshape(-1, images.shape[-3], images.shape[-2], images.shape[-1]) + return (images, ) class VAEDecodeTiled: @classmethod @@ -915,7 +918,7 @@ class CLIPLoader: @classmethod def INPUT_TYPES(s): return {"required": { "clip_name": (get_filename_list_with_downloadable("clip", KNOWN_CLIP_MODELS),), - "type": (["stable_diffusion", "stable_cascade", "sd3", "stable_audio"], ), + "type": (["stable_diffusion", "stable_cascade", "sd3", "stable_audio", "mochi"], ), }} RETURN_TYPES = ("CLIP",) FUNCTION = "load_clip" @@ -930,6 +933,8 @@ class CLIPLoader: clip_type = sd.CLIPType.SD3 elif type == "stable_audio": clip_type = sd.CLIPType.STABLE_AUDIO + elif type == "mochi": + clip_type = comfy.sd.CLIPType.MOCHI else: logging.warning(f"Unknown clip type argument passed: {type} for model {clip_name}") @@ -1211,10 +1216,10 @@ class LatentUpscale: if width == 0: height = max(64, height) - width = max(64, round(samples["samples"].shape[3] * height / samples["samples"].shape[2])) + width = max(64, round(samples["samples"].shape[-1] * height / samples["samples"].shape[-2])) elif height == 0: width = max(64, width) - height = max(64, round(samples["samples"].shape[2] * width / samples["samples"].shape[3])) + height = max(64, round(samples["samples"].shape[-2] * width / samples["samples"].shape[-1])) else: width = max(64, width) height = max(64, height) @@ -1236,8 +1241,8 @@ class LatentUpscaleBy: def upscale(self, samples, upscale_method, scale_by): s = samples.copy() - width = round(samples["samples"].shape[3] * scale_by) - height = round(samples["samples"].shape[2] * scale_by) + width = round(samples["samples"].shape[-1] * scale_by) + height = round(samples["samples"].shape[-2] * scale_by) s["samples"] = utils.common_upscale(samples["samples"], width, height, upscale_method, "disabled") return (s,) diff --git a/comfy/ops.py b/comfy/ops.py index 7ac20ec69..0855771b7 100644 --- a/comfy/ops.py +++ b/comfy/ops.py @@ -22,22 +22,13 @@ import torch from . import model_management from .cli_args import args from .execution_context import current_execution_context +from .float import stochastic_rounding - -def cast_to(weight, dtype=None, device=None, non_blocking=False, copy=False): - if device is None or weight.device == device: - if not copy: - if dtype is None or weight.dtype == dtype: - return weight - return weight.to(dtype=dtype, copy=copy) - - r = torch.empty_like(weight, dtype=dtype, device=device) - r.copy_(weight, non_blocking=non_blocking) - return r +cast_to = model_management.cast_to # TODO: remove once no more references def cast_to_input(weight, input, non_blocking=False, copy=True): - return cast_to(weight, input.dtype, input.device, non_blocking=non_blocking, copy=copy) + return model_management.cast_to(weight, input.dtype, input.device, non_blocking=non_blocking, copy=copy) def cast_bias_weight(s, input=None, dtype=None, device=None, bias_dtype=None): @@ -53,12 +44,12 @@ def cast_bias_weight(s, input=None, dtype=None, device=None, bias_dtype=None): non_blocking = model_management.device_supports_non_blocking(device) if s.bias is not None: has_function = s.bias_function is not None - bias = cast_to(s.bias, bias_dtype, device, non_blocking=non_blocking, copy=has_function) + bias = model_management.cast_to(s.bias, bias_dtype, device, non_blocking=non_blocking, copy=has_function) if has_function: bias = s.bias_function(bias) has_function = s.weight_function is not None - weight = cast_to(s.weight, dtype, device, non_blocking=non_blocking, copy=has_function) + weight = model_management.cast_to(s.weight, dtype, device, non_blocking=non_blocking, copy=has_function) if has_function: weight = s.weight_function(weight) return weight, bias @@ -308,19 +299,28 @@ def fp8_linear(self, input): if dtype not in [torch.float8_e4m3fn]: return None + tensor_2d = False + if len(input.shape) == 2: + tensor_2d = True + input = input.unsqueeze(1) + if len(input.shape) == 3: - inn = input.reshape(-1, input.shape[2]).to(dtype) w, bias = cast_bias_weight(self, input, dtype=dtype, bias_dtype=input.dtype) w = w.t() scale_weight = self.scale_weight scale_input = self.scale_input if scale_weight is None: - scale_weight = torch.ones((1), device=input.device, dtype=torch.float32) - if scale_input is None: - scale_input = scale_weight + scale_weight = torch.ones((), device=input.device, dtype=torch.float32) + else: + scale_weight = scale_weight.to(input.device) + if scale_input is None: - scale_input = torch.ones((1), device=input.device, dtype=torch.float32) + scale_input = torch.ones((), device=input.device, dtype=torch.float32) + inn = input.reshape(-1, input.shape[2]).to(dtype) + else: + scale_input = scale_input.to(input.device) + inn = (input * (1.0 / scale_input).to(input.dtype)).reshape(-1, input.shape[2]).to(dtype) if bias is not None: o = torch._scaled_mm(inn, w, out_dtype=input.dtype, bias=bias, scale_a=scale_input, scale_b=scale_weight) @@ -330,7 +330,11 @@ def fp8_linear(self, input): if isinstance(o, tuple): o = o[0] + if tensor_2d: + return o.reshape(input.shape[0], -1) + return o.reshape((-1, input.shape[1], self.weight.shape[0])) + return None @@ -350,17 +354,68 @@ class fp8_ops(manual_cast): return torch.nn.functional.linear(input, weight, bias) -def pick_operations(weight_dtype, compute_dtype, load_device=None, disable_fast_fp8=False, fp8_optimizations=False, inference_mode: Optional[bool] = None): +def scaled_fp8_ops(fp8_matrix_mult=False, scale_input=False, override_dtype=None): + class scaled_fp8_op(manual_cast): + class Linear(manual_cast.Linear): + def __init__(self, *args, **kwargs): + if override_dtype is not None: + kwargs['dtype'] = override_dtype + super().__init__(*args, **kwargs) + + def reset_parameters(self): + if not hasattr(self, 'scale_weight'): + self.scale_weight = torch.nn.parameter.Parameter(data=torch.ones((), device=self.weight.device, dtype=torch.float32), requires_grad=False) + + if not scale_input: + self.scale_input = None + + if not hasattr(self, 'scale_input'): + self.scale_input = torch.nn.parameter.Parameter(data=torch.ones((), device=self.weight.device, dtype=torch.float32), requires_grad=False) + return None + + def forward_comfy_cast_weights(self, input): + if fp8_matrix_mult: + out = fp8_linear(self, input) + if out is not None: + return out + + weight, bias = cast_bias_weight(self, input) + + if weight.numel() < input.numel(): # TODO: optimize + return torch.nn.functional.linear(input, weight * self.scale_weight.to(device=weight.device, dtype=weight.dtype), bias) + else: + return torch.nn.functional.linear(input * self.scale_weight.to(device=weight.device, dtype=weight.dtype), weight, bias) + + def convert_weight(self, weight, inplace=False, **kwargs): + if inplace: + weight *= self.scale_weight.to(device=weight.device, dtype=weight.dtype) + return weight + else: + return weight * self.scale_weight.to(device=weight.device, dtype=weight.dtype) + + def set_weight(self, weight, inplace_update=False, seed=None, **kwargs): + weight = stochastic_rounding(weight / self.scale_weight.to(device=weight.device, dtype=weight.dtype), self.weight.dtype, seed=seed) + if inplace_update: + self.weight.data.copy_(weight) + else: + self.weight = torch.nn.Parameter(weight, requires_grad=False) + + return scaled_fp8_op + + +def pick_operations(weight_dtype, compute_dtype, load_device=None, disable_fast_fp8=False, fp8_optimizations=False, scaled_fp8=None, inference_mode: Optional[bool] = None): if inference_mode is None: # todo: check a context here, since this isn't being used by any callers yet inference_mode = current_execution_context().inference_mode - if model_management.supports_fp8_compute(load_device): - if (fp8_optimizations or args.fast) and not disable_fast_fp8: - return fp8_ops + fp8_compute = model_management.supports_fp8_compute(load_device) + if scaled_fp8 is not None: + return scaled_fp8_ops(fp8_matrix_mult=fp8_compute, scale_input=True, override_dtype=scaled_fp8) + + if fp8_compute and (fp8_optimizations or args.fast) and not disable_fast_fp8: + return fp8_ops + if compute_dtype is None or weight_dtype == compute_dtype: # disable_weight_init seems to interact poorly with some other optimization code return disable_weight_init if inference_mode else skip_init - if args.fast and not disable_fast_fp8: - if model_management.supports_fp8_compute(load_device): - return fp8_ops + return manual_cast diff --git a/comfy/sampler_names.py b/comfy/sampler_names.py index 23f0f6628..f605a65bb 100644 --- a/comfy/sampler_names.py +++ b/comfy/sampler_names.py @@ -1,5 +1,5 @@ KSAMPLER_NAMES = ["euler", "euler_ancestral", "heun", "heunpp2", "dpm_2", "dpm_2_ancestral", "lms", "dpm_fast", "dpm_adaptive", "dpmpp_2s_ancestral", "dpmpp_sde", "dpmpp_sde_gpu", "dpmpp_2m", "dpmpp_2m_sde", "dpmpp_2m_sde_gpu", "dpmpp_3m_sde", "dpmpp_3m_sde_gpu", "ddpm", "lcm"] -SCHEDULER_NAMES = ["normal", "karras", "exponential", "sgm_uniform", "simple", "ddim_uniform", "beta"] +SCHEDULER_NAMES = ["normal", "karras", "exponential", "sgm_uniform", "simple", "ddim_uniform", "beta", "linear_quadratic"] SAMPLER_NAMES = KSAMPLER_NAMES + ["ddim", "uni_pc", "uni_pc_bh2"] diff --git a/comfy/samplers.py b/comfy/samplers.py index b958da64c..924dc090a 100644 --- a/comfy/samplers.py +++ b/comfy/samplers.py @@ -370,11 +370,35 @@ def beta_scheduler(model_sampling, steps, alpha=0.6, beta=0.6): ts = numpy.rint(scipy.stats.beta.ppf(ts, alpha, beta) * total_timesteps) sigs = [] + last_t = -1 for t in ts: - sigs += [float(model_sampling.sigmas[int(t)])] + if t != last_t: + sigs += [float(model_sampling.sigmas[int(t)])] + last_t = t sigs += [0.0] return torch.FloatTensor(sigs) +# from: https://github.com/genmoai/models/blob/main/src/mochi_preview/infer.py#L41 +def linear_quadratic_schedule(model_sampling, steps, threshold_noise=0.025, linear_steps=None): + if steps == 1: + sigma_schedule = [1.0, 0.0] + else: + if linear_steps is None: + linear_steps = steps // 2 + linear_sigma_schedule = [i * threshold_noise / linear_steps for i in range(linear_steps)] + threshold_noise_step_diff = linear_steps - threshold_noise * steps + quadratic_steps = steps - linear_steps + quadratic_coef = threshold_noise_step_diff / (linear_steps * quadratic_steps ** 2) + linear_coef = threshold_noise / linear_steps - 2 * threshold_noise_step_diff / (quadratic_steps ** 2) + const = quadratic_coef * (linear_steps ** 2) + quadratic_sigma_schedule = [ + quadratic_coef * (i ** 2) + linear_coef * i + const + for i in range(linear_steps, steps) + ] + sigma_schedule = linear_sigma_schedule + quadratic_sigma_schedule + [1.0] + sigma_schedule = [1.0 - x for x in sigma_schedule] + return torch.FloatTensor(sigma_schedule) * model_sampling.sigma_max.cpu() + def get_mask_aabb(masks): if masks.numel() == 0: return torch.zeros((0, 4), device=masks.device, dtype=torch.int) @@ -759,6 +783,8 @@ def calculate_sigmas(model_sampling, scheduler_name, steps): sigmas = normal_scheduler(model_sampling, steps, sgm=True) elif scheduler_name == "beta": sigmas = beta_scheduler(model_sampling, steps) + elif scheduler_name == "linear_quadratic": + sigmas = linear_quadratic_schedule(model_sampling, steps) if sigmas is None: logging.error("error invalid scheduler {}".format(scheduler_name)) diff --git a/comfy/sd.py b/comfy/sd.py index d270596a5..e40218c24 100644 --- a/comfy/sd.py +++ b/comfy/sd.py @@ -23,6 +23,7 @@ from . import utils from .ldm.audio.autoencoder import AudioOobleckVAE from .ldm.cascade.stage_a import StageA from .ldm.cascade.stage_c_coder import StageC_coder +from .ldm.genmo.vae.model import VideoVAE from .ldm.models.autoencoder import AutoencoderKL, AutoencodingEngine from .model_management import load_models_gpu from .t2i_adapter import adapter @@ -34,6 +35,7 @@ from .text_encoders import long_clipl from .text_encoders import sa_t5 from .text_encoders import sd2_clip from .text_encoders import sd3_clip +from .text_encoders import genmo def load_lora_for_models(model, clip, _lora, strength_model, strength_clip): @@ -253,6 +255,13 @@ class VAE: self.process_output = lambda audio: audio self.process_input = lambda audio: audio self.working_dtypes = [torch.float16, torch.bfloat16, torch.float32] + elif "blocks.2.blocks.3.stack.5.weight" in sd or "decoder.blocks.2.blocks.3.stack.5.weight" in sd: #genmo mochi vae + if "blocks.2.blocks.3.stack.5.weight" in sd: + sd = utils.state_dict_prefix_replace(sd, {"": "decoder."}) + self.first_stage_model = VideoVAE() + self.latent_channels = 12 + self.memory_used_decode = lambda shape, dtype: (1000 * shape[2] * shape[3] * shape[4] * (6 * 8 * 8)) * model_management.dtype_size(dtype) + self.upscale_ratio = (lambda a: max(0, a * 6 - 5), 8, 8) else: logging.warning("WARNING: No VAE weights detected, VAE not initalized.") self.first_stage_model = None @@ -308,6 +317,10 @@ class VAE: decode_fn = lambda a: self.first_stage_model.decode(a.to(self.vae_dtype).to(self.device)).float() return utils.tiled_scale_multidim(samples, decode_fn, tile=(tile_x,), overlap=overlap, upscale_amount=self.upscale_ratio, out_channels=self.output_channels, output_device=self.output_device) + def decode_tiled_3d(self, samples, tile_t=999, tile_x=32, tile_y=32, overlap=(1, 8, 8)): + decode_fn = lambda a: self.first_stage_model.decode(a.to(self.vae_dtype).to(self.device)).float() + return self.process_output(utils.tiled_scale_multidim(samples, decode_fn, tile=(tile_t, tile_x, tile_y), overlap=overlap, upscale_amount=self.upscale_ratio, out_channels=self.output_channels, output_device=self.output_device)) + def encode_tiled_(self, pixel_samples, tile_x=512, tile_y=512, overlap=64): steps = pixel_samples.shape[0] * utils.get_tiled_scale_steps(pixel_samples.shape[3], pixel_samples.shape[2], tile_x, tile_y, overlap) steps += pixel_samples.shape[0] * utils.get_tiled_scale_steps(pixel_samples.shape[3], pixel_samples.shape[2], tile_x // 2, tile_y * 2, overlap) @@ -326,6 +339,7 @@ class VAE: return utils.tiled_scale_multidim(samples, encode_fn, tile=(tile_x,), overlap=overlap, upscale_amount=(1 / self.downscale_ratio), out_channels=self.latent_channels, output_device=self.output_device) def decode(self, samples_in): + pixel_samples = None try: memory_used = self.memory_used_decode(samples_in.shape, self.vae_dtype) model_management.load_models_gpu([self.patcher], memory_required=memory_used) @@ -333,16 +347,21 @@ class VAE: batch_number = int(free_memory / memory_used) batch_number = max(1, batch_number) - pixel_samples = torch.empty((samples_in.shape[0], self.output_channels) + tuple(map(lambda a: a * self.upscale_ratio, samples_in.shape[2:])), device=self.output_device) for x in range(0, samples_in.shape[0], batch_number): samples = samples_in[x:x + batch_number].to(self.vae_dtype).to(self.device) - pixel_samples[x:x + batch_number] = self.process_output(self.first_stage_model.decode(samples).to(self.output_device).float()) + out = self.process_output(self.first_stage_model.decode(samples).to(self.output_device).float()) + if pixel_samples is None: + pixel_samples = torch.empty((samples_in.shape[0],) + tuple(out.shape[1:]), device=self.output_device) + pixel_samples[x:x+batch_number] = out except model_management.OOM_EXCEPTION as e: logging.warning("Warning: Ran out of memory when regular VAE decoding, retrying with tiled VAE decoding.") - if len(samples_in.shape) == 3: + dims = samples_in.ndim - 2 + if dims == 1: pixel_samples = self.decode_tiled_1d(samples_in) - else: + elif dims == 2: pixel_samples = self.decode_tiled_(samples_in) + elif dims == 3: + pixel_samples = self.decode_tiled_3d(samples_in) pixel_samples = pixel_samples.to(self.output_device).movedim(1, -1) return pixel_samples @@ -412,6 +431,7 @@ class CLIPType(Enum): STABLE_AUDIO = 4 HUNYUAN_DIT = 5 FLUX = 6 + MOCHI = 7 @dataclasses.dataclass @@ -458,16 +478,14 @@ def detect_te_model(sd): return None -def t5xxl_weight_dtype(clip_data): +def t5xxl_detect(clip_data): weight_name = "encoder.block.23.layer.1.DenseReluDense.wi_1.weight" - dtype_t5 = None for sd in clip_data: - weight = sd.get(weight_name, None) - if weight is not None: - dtype_t5 = weight.dtype - break - return dtype_t5 + if weight_name in sd: + return sd3_clip.t5_xxl_detect(sd) + + return {} def load_text_encoder_state_dicts(state_dicts=[], embedding_directory=None, clip_type=CLIPType.STABLE_DIFFUSION, model_options={}, textmodel_json_config=None): @@ -501,8 +519,12 @@ def load_text_encoder_state_dicts(state_dicts=[], embedding_directory=None, clip clip_target.clip = sd2_clip.SD2ClipModel clip_target.tokenizer = sd2_clip.SD2Tokenizer elif te_model == TEModel.T5_XXL: - clip_target.clip = sd3_clip.sd3_clip(clip_l=False, clip_g=False, t5=True, dtype_t5=t5xxl_weight_dtype(clip_data)) - clip_target.tokenizer = sd3_clip.SD3Tokenizer + if clip_type == CLIPType.SD3: + clip_target.clip = sd3_clip.sd3_clip(clip_l=False, clip_g=False, t5=True, **t5xxl_detect(clip_data)) + clip_target.tokenizer = sd3_clip.SD3Tokenizer + else: #CLIPType.MOCHI + clip_target.clip = genmo.mochi_te(**t5xxl_detect(clip_data)) + clip_target.tokenizer = genmo.MochiT5Tokenizer elif te_model == TEModel.T5_XL: clip_target.clip = aura_t5.AuraT5Model clip_target.tokenizer = aura_t5.AuraT5Tokenizer @@ -519,19 +541,19 @@ def load_text_encoder_state_dicts(state_dicts=[], embedding_directory=None, clip elif len(clip_data) == 2: if clip_type == CLIPType.SD3: te_models = [detect_te_model(clip_data[0]), detect_te_model(clip_data[1])] - clip_target.clip = sd3_clip.sd3_clip(clip_l=TEModel.CLIP_L in te_models, clip_g=TEModel.CLIP_G in te_models, t5=TEModel.T5_XXL in te_models, dtype_t5=t5xxl_weight_dtype(clip_data)) + clip_target.clip = sd3_clip.sd3_clip(clip_l=TEModel.CLIP_L in te_models, clip_g=TEModel.CLIP_G in te_models, t5=TEModel.T5_XXL in te_models, **t5xxl_detect(clip_data)) clip_target.tokenizer = sd3_clip.SD3Tokenizer elif clip_type == CLIPType.HUNYUAN_DIT: clip_target.clip = hydit.HyditModel clip_target.tokenizer = hydit.HyditTokenizer elif clip_type == CLIPType.FLUX: - clip_target.clip = flux.flux_clip(dtype_t5=t5xxl_weight_dtype(clip_data)) + clip_target.clip = flux.flux_clip(**t5xxl_detect(clip_data)) clip_target.tokenizer = flux.FluxTokenizer else: clip_target.clip = sdxl_clip.SDXLClipModel clip_target.tokenizer = sdxl_clip.SDXLTokenizer elif len(clip_data) == 3: - clip_target.clip = sd3_clip.sd3_clip(dtype_t5=t5xxl_weight_dtype(clip_data)) + clip_target.clip = sd3_clip.sd3_clip(**t5xxl_detect(clip_data)) clip_target.tokenizer = sd3_clip.SD3Tokenizer parameters = 0 @@ -621,7 +643,7 @@ def load_state_dict_guess_config(sd, output_vae=True, output_clip=True, output_c return None unet_weight_dtype = list(model_config.supported_inference_dtypes) - if weight_dtype is not None: + if weight_dtype is not None and model_config.scaled_fp8 is None: unet_weight_dtype.append(weight_dtype) model_config.custom_operations = model_options.get("custom_operations", None) @@ -691,6 +713,7 @@ def load_diffusion_model_state_dict(sd, model_options: dict = None, ckpt_path: O sd = temp_sd parameters = utils.calculate_parameters(sd) + weight_dtype = utils.weight_dtype(sd) load_device = model_management.get_torch_device() model_config = model_detection.model_config_from_unet(sd, "") @@ -717,8 +740,12 @@ def load_diffusion_model_state_dict(sd, model_options: dict = None, ckpt_path: O logging.warning("{} {}".format(diffusers_keys[k], k)) offload_device = model_management.unet_offload_device() + unet_weight_dtype = list(model_config.supported_inference_dtypes) + if weight_dtype is not None and model_config.scaled_fp8 is None: + unet_weight_dtype.append(weight_dtype) + if dtype is None: - unet_dtype = model_management.unet_dtype(model_params=parameters, supported_dtypes=model_config.supported_inference_dtypes) + unet_dtype = model_management.unet_dtype(model_params=parameters, supported_dtypes=unet_weight_dtype) else: unet_dtype = dtype diff --git a/comfy/sd1_clip.py b/comfy/sd1_clip.py index bff97170a..3985e6bf4 100644 --- a/comfy/sd1_clip.py +++ b/comfy/sd1_clip.py @@ -112,11 +112,20 @@ class SDClipModel(torch.nn.Module, ClipTokenWeightEncoder): config = get_path_as_dict(textmodel_json_config, "sd1_clip_config.json", package=__package__) operations = model_options.get("custom_operations", None) + scaled_fp8 = None + if operations is None: - operations = ops.manual_cast + scaled_fp8 = model_options.get("scaled_fp8", None) + if scaled_fp8 is not None: + operations = ops.scaled_fp8_ops(fp8_matrix_mult=False, override_dtype=scaled_fp8) + else: + operations = ops.manual_cast self.operations = operations self.transformer = model_class(config, dtype, device, self.operations) + if scaled_fp8 is not None: + self.transformer.scaled_fp8 = torch.nn.Parameter(torch.tensor([], dtype=scaled_fp8)) + self.num_layers = self.transformer.num_layers self.max_length = max_length diff --git a/comfy/supported_models.py b/comfy/supported_models.py index 651a2233c..c68f85b2a 100644 --- a/comfy/supported_models.py +++ b/comfy/supported_models.py @@ -10,6 +10,7 @@ from .text_encoders import sa_t5 from .text_encoders import aura_t5 from .text_encoders import hydit from .text_encoders import flux +from .text_encoders import genmo from . import supported_models_base from . import latent_formats @@ -529,12 +530,11 @@ class SD3(supported_models_base.BASE): clip_l = True if "{}clip_g.transformer.text_model.final_layer_norm.weight".format(pref) in state_dict: clip_g = True - t5_key = "{}t5xxl.transformer.encoder.final_layer_norm.weight".format(pref) - if t5_key in state_dict: + t5_detect = sd3_clip.t5_xxl_detect(state_dict, "{}t5xxl.transformer.".format(pref)) + if "dtype_t5" in t5_detect: t5 = True - dtype_t5 = state_dict[t5_key].dtype - return supported_models_base.ClipTarget(sd3_clip.SD3Tokenizer, sd3_clip.sd3_clip(clip_l=clip_l, clip_g=clip_g, t5=t5, dtype_t5=dtype_t5)) + return supported_models_base.ClipTarget(sd3_clip.SD3Tokenizer, sd3_clip.sd3_clip(clip_l=clip_l, clip_g=clip_g, t5=t5, **t5_detect)) class StableAudio(supported_models_base.BASE): unet_config = { @@ -653,13 +653,8 @@ class Flux(supported_models_base.BASE): def clip_target(self, state_dict={}): pref = self.text_encoder_key_prefix[0] - t5_key = "{}t5xxl.transformer.encoder.final_layer_norm.weight".format(pref) - dtype_t5 = None - if t5_key in state_dict: - dtype_t5 = state_dict[t5_key].dtype - else: - dtype_t5 = None - return supported_models_base.ClipTarget(flux.FluxTokenizer, flux.flux_clip(dtype_t5=dtype_t5)) + t5_detect = sd3_clip.t5_xxl_detect(state_dict, "{}t5xxl.transformer.".format(pref)) + return supported_models_base.ClipTarget(flux.FluxTokenizer, flux.flux_clip(**t5_detect)) class FluxSchnell(Flux): unet_config = { @@ -676,7 +671,36 @@ class FluxSchnell(Flux): out = model_base.Flux(self, model_type=model_base.ModelType.FLOW, device=device) return out +class GenmoMochi(supported_models_base.BASE): + unet_config = { + "image_model": "mochi_preview", + } -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, HunyuanDiT, HunyuanDiT1, Flux, FluxSchnell] + sampling_settings = { + "multiplier": 1.0, + "shift": 6.0, + } + + unet_extra_config = {} + latent_format = latent_formats.Mochi + + memory_usage_factor = 2.0 #TODO + + 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.GenmoMochi(self, device=device) + return out + + def clip_target(self, state_dict={}): + pref = self.text_encoder_key_prefix[0] + t5_detect = sd3_clip.t5_xxl_detect(state_dict, "{}t5xxl.transformer.".format(pref)) + return supported_models_base.ClipTarget(genmo.MochiT5Tokenizer, genmo.mochi_te(**t5_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, HunyuanDiT, HunyuanDiT1, Flux, FluxSchnell, GenmoMochi] models += [SVD_img2vid] diff --git a/comfy/supported_models_base.py b/comfy/supported_models_base.py index e2b70e694..54573abb1 100644 --- a/comfy/supported_models_base.py +++ b/comfy/supported_models_base.py @@ -49,6 +49,7 @@ class BASE: manual_cast_dtype = None custom_operations = None + scaled_fp8 = None optimizations = {"fp8": False} @classmethod diff --git a/comfy/text_encoders/flux.py b/comfy/text_encoders/flux.py index 7e69df7e3..e2f47a4a5 100644 --- a/comfy/text_encoders/flux.py +++ b/comfy/text_encoders/flux.py @@ -3,19 +3,11 @@ import copy import torch from transformers import T5TokenizerFast -from .t5 import T5 +from .sd3_clip import T5XXLModel from .. import sd1_clip, model_management from ..component_model import files -class T5XXLModel(sd1_clip.SDClipModel): - def __init__(self, device="cpu", layer="last", layer_idx=None, dtype=None, model_options=None, textmodel_json_config=None): - if model_options is None: - model_options = dict() - textmodel_json_config = files.get_path_as_dict(textmodel_json_config, "t5_config_xxl.json", package=__package__) - super().__init__(device=device, layer=layer, layer_idx=layer_idx, textmodel_json_config=textmodel_json_config, dtype=dtype, special_tokens={"end": 1, "pad": 0}, model_class=T5) - - class T5XXLTokenizer(sd1_clip.SDTokenizer): def __init__(self, embedding_directory=None, tokenizer_data=None): if tokenizer_data is None: @@ -83,11 +75,14 @@ class FluxClipModel(torch.nn.Module): return self.t5xxl.load_sd(sd) -def flux_clip(dtype_t5=None): +def flux_clip(dtype_t5=None, t5xxl_scaled_fp8=None): class FluxClipModel_(FluxClipModel): def __init__(self, device="cpu", dtype=None, model_options=None): if model_options is None: model_options = {} + if t5xxl_scaled_fp8 is not None and "t5xxl_scaled_fp8" not in model_options: + model_options = model_options.copy() + model_options["t5xxl_scaled_fp8"] = t5xxl_scaled_fp8 super().__init__(dtype_t5=dtype_t5, device=device, dtype=dtype, model_options=model_options) return FluxClipModel_ diff --git a/comfy/text_encoders/genmo.py b/comfy/text_encoders/genmo.py new file mode 100644 index 000000000..5e96cea68 --- /dev/null +++ b/comfy/text_encoders/genmo.py @@ -0,0 +1,38 @@ +from comfy import sd1_clip +import comfy.text_encoders.sd3_clip +import os +from transformers import T5TokenizerFast + + +class T5XXLModel(comfy.text_encoders.sd3_clip.T5XXLModel): + def __init__(self, **kwargs): + kwargs["attention_mask"] = True + super().__init__(**kwargs) + + +class MochiT5XXL(sd1_clip.SD1ClipModel): + def __init__(self, device="cpu", dtype=None, model_options={}): + super().__init__(device=device, dtype=dtype, clip_name="t5xxl", clip_model=T5XXLModel, model_options=model_options) + + +class T5XXLTokenizer(sd1_clip.SDTokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + tokenizer_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "t5_tokenizer") + super().__init__(tokenizer_path, embedding_directory=embedding_directory, pad_with_end=False, embedding_size=4096, embedding_key='t5xxl', tokenizer_class=T5TokenizerFast, has_start_token=False, pad_to_max_length=False, max_length=99999999, min_length=256) + + +class MochiT5Tokenizer(sd1_clip.SD1Tokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + super().__init__(embedding_directory=embedding_directory, tokenizer_data=tokenizer_data, clip_name="t5xxl", tokenizer=T5XXLTokenizer) + + +def mochi_te(dtype_t5=None, t5xxl_scaled_fp8=None): + class MochiTEModel_(MochiT5XXL): + def __init__(self, device="cpu", dtype=None, model_options={}): + if t5xxl_scaled_fp8 is not None and "t5xxl_scaled_fp8" not in model_options: + model_options = model_options.copy() + model_options["t5xxl_scaled_fp8"] = t5xxl_scaled_fp8 + if dtype is None: + dtype = dtype_t5 + super().__init__(device=device, dtype=dtype, model_options=model_options) + return MochiTEModel_ diff --git a/comfy/text_encoders/sd3_clip.py b/comfy/text_encoders/sd3_clip.py index 88bec6590..a2d048212 100644 --- a/comfy/text_encoders/sd3_clip.py +++ b/comfy/text_encoders/sd3_clip.py @@ -15,9 +15,26 @@ class T5XXLModel(sd1_clip.SDClipModel): if model_options is None: model_options = {} textmodel_json_config = files.get_path_as_dict(textmodel_json_config, "t5_config_xxl.json", package=__package__) + t5xxl_scaled_fp8 = model_options.get("t5xxl_scaled_fp8", None) + if t5xxl_scaled_fp8 is not None: + model_options = model_options.copy() + model_options["scaled_fp8"] = t5xxl_scaled_fp8 + super().__init__(device=device, layer=layer, layer_idx=layer_idx, textmodel_json_config=textmodel_json_config, dtype=dtype, special_tokens={"end": 1, "pad": 0}, model_class=T5, model_options=model_options) +def t5_xxl_detect(state_dict, prefix=""): + out = {} + t5_key = "{}encoder.final_layer_norm.weight".format(prefix) + if t5_key in state_dict: + out["dtype_t5"] = state_dict[t5_key].dtype + + scaled_fp8_key = "{}scaled_fp8".format(prefix) + if scaled_fp8_key in state_dict: + out["t5xxl_scaled_fp8"] = state_dict[scaled_fp8_key].dtype + + return out + class T5XXLTokenizer(sd1_clip.SDTokenizer): def __init__(self, embedding_directory=None, tokenizer_data=None): if tokenizer_data is None: @@ -154,10 +171,13 @@ class SD3ClipModel(torch.nn.Module): return self.t5xxl.load_sd(sd) -def sd3_clip(clip_l=True, clip_g=True, t5=True, dtype_t5=None, t5_attention_mask=False): +def sd3_clip(clip_l=True, clip_g=True, t5=True, dtype_t5=None, t5xxl_scaled_fp8=None, t5_attention_mask=False): class SD3ClipModel_(SD3ClipModel): def __init__(self, device="cpu", dtype=None, model_options=None): if model_options is None: model_options = {} + if t5xxl_scaled_fp8 is not None and "t5xxl_scaled_fp8" not in model_options: + model_options = model_options.copy() + model_options["t5xxl_scaled_fp8"] = t5xxl_scaled_fp8 super().__init__(clip_l=clip_l, clip_g=clip_g, t5=t5, dtype_t5=dtype_t5, t5_attention_mask=t5_attention_mask, device=device, dtype=dtype, model_options=model_options) return SD3ClipModel_ diff --git a/comfy/utils.py b/comfy/utils.py index f41e01ce0..4111e36d1 100644 --- a/comfy/utils.py +++ b/comfy/utils.py @@ -128,7 +128,7 @@ def weight_dtype(sd, prefix=""): for k in sd.keys(): if k.startswith(prefix): w = sd[k] - dtypes[w.dtype] = dtypes.get(w.dtype, 0) + 1 + dtypes[w.dtype] = dtypes.get(w.dtype, 0) + w.numel() if len(dtypes) == 0: return None @@ -769,9 +769,14 @@ def lanczos(samples, width, height): def common_upscale(samples, width, height, upscale_method, crop): + orig_shape = tuple(samples.shape) + if len(orig_shape) > 4: + samples = samples.reshape(samples.shape[0], samples.shape[1], -1, samples.shape[-2], samples.shape[-1]) + samples = samples.movedim(2, 1) + samples = samples.reshape(-1, orig_shape[1], orig_shape[-2], orig_shape[-1]) if crop == "center": - old_width = samples.shape[3] - old_height = samples.shape[2] + old_width = samples.shape[-1] + old_height = samples.shape[-2] old_aspect = old_width / old_height new_aspect = width / height x = 0 @@ -780,16 +785,22 @@ def common_upscale(samples, width, height, upscale_method, crop): x = round((old_width - old_width * (new_aspect / old_aspect)) / 2) elif old_aspect < new_aspect: y = round((old_height - old_height * (old_aspect / new_aspect)) / 2) - s = samples[:, :, y:old_height - y, x:old_width - x] + s = samples.narrow(-2, y, old_height - y * 2).narrow(-1, x, old_width - x * 2) else: s = samples if upscale_method == "bislerp": - return bislerp(s, width, height) + out = bislerp(s, width, height) elif upscale_method == "lanczos": - return lanczos(s, width, height) + out = lanczos(s, width, height) else: - return torch.nn.functional.interpolate(s, size=(height, width), mode=upscale_method) + out = torch.nn.functional.interpolate(s, size=(height, width), mode=upscale_method) + + if len(orig_shape) == 4: + return out + + out = out.reshape((orig_shape[0], -1, orig_shape[1]) + (height, width)) + return out.movedim(2, 1).reshape(orig_shape[:-2] + (height, width)) def get_tiled_scale_steps(width, height, tile_x, tile_y, overlap): @@ -801,7 +812,27 @@ def get_tiled_scale_steps(width, height, tile_x, tile_y, overlap): @torch.inference_mode() def tiled_scale_multidim(samples, function, tile=(64, 64), overlap=8, upscale_amount=4, out_channels=3, output_device="cpu", pbar=None): dims = len(tile) - output = torch.empty([samples.shape[0], out_channels] + list(map(lambda a: round(a * upscale_amount), samples.shape[2:])), device=output_device) + + if not (isinstance(upscale_amount, (tuple, list))): + upscale_amount = [upscale_amount] * dims + + if not (isinstance(overlap, (tuple, list))): + overlap = [overlap] * dims + + def get_upscale(dim, val): + up = upscale_amount[dim] + if callable(up): + return up(val) + else: + return up * val + + def mult_list_upscale(a): + out = [] + for i in range(len(a)): + out.append(round(get_upscale(i, a[i]))) + return out + + output = torch.empty([samples.shape[0], out_channels] + mult_list_upscale(samples.shape[2:]), device=output_device) for b in range(samples.shape[0]): s = samples[b:b + 1] @@ -812,27 +843,27 @@ def tiled_scale_multidim(samples, function, tile=(64, 64), overlap=8, upscale_am if pbar is not None: pbar.update(1) continue - out = torch.zeros([s.shape[0], out_channels] + list(map(lambda a: round(a * upscale_amount), s.shape[2:])), device=output_device) - out_div = torch.zeros([s.shape[0], out_channels] + list(map(lambda a: round(a * upscale_amount), s.shape[2:])), device=output_device) + out = torch.zeros([s.shape[0], out_channels] + mult_list_upscale(s.shape[2:]), device=output_device) + out_div = torch.zeros([s.shape[0], out_channels] + mult_list_upscale(s.shape[2:]), device=output_device) - positions = [range(0, s.shape[d + 2], tile[d] - overlap) if s.shape[d + 2] > tile[d] else [0] for d in range(dims)] + positions = [range(0, s.shape[d + 2], tile[d] - overlap[d]) if s.shape[d + 2] > tile[d] else [0] for d in range(dims)] for it in itertools.product(*positions): s_in = s upscaled = [] for d in range(dims): - pos = max(0, min(s.shape[d + 2] - overlap, it[d])) + pos = max(0, min(s.shape[d + 2] - (overlap[d] + 1), it[d])) l = min(tile[d], s.shape[d + 2] - pos) s_in = s_in.narrow(d + 2, pos, l) - upscaled.append(round(pos * upscale_amount)) + upscaled.append(round(get_upscale(d, pos))) ps = function(s_in).to(output_device) mask = torch.ones_like(ps) - feather = round(overlap * upscale_amount) - for t in range(feather): - for d in range(2, dims + 2): + for d in range(2, dims + 2): + feather = round(get_upscale(d - 2, overlap[d - 2])) + for t in range(feather): a = (t + 1) / feather mask.narrow(d, t, 1).mul_(a) mask.narrow(d, mask.shape[d] - 1 - t, 1).mul_(a) diff --git a/comfy/web/assets/ExtensionPanel-DSQ2O8Z9.js b/comfy/web/assets/ExtensionPanel-BNXC3_Y5.js similarity index 92% rename from comfy/web/assets/ExtensionPanel-DSQ2O8Z9.js rename to comfy/web/assets/ExtensionPanel-BNXC3_Y5.js index 3c211c6e7..8e4bd5468 100644 --- a/comfy/web/assets/ExtensionPanel-DSQ2O8Z9.js +++ b/comfy/web/assets/ExtensionPanel-BNXC3_Y5.js @@ -1,8 +1,8 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { d as defineComponent, bJ as useExtensionStore, u as useSettingStore, r as ref, o as onMounted, q as computed, g as openBlock, h as createElementBlock, i as createVNode, y as withCtx, z as unref, bK as script$1, A as createBaseVNode, x as createBlock, M as Fragment, N as renderList, ak as toDisplayString, an as createTextVNode, j as createCommentVNode, D as script$4 } from "./index-CFrRuGBA.js"; -import { s as script, a as script$2, b as script$3 } from "./index-CN90wNx3.js"; -import "./index-CaUteDIK.js"; +import { d as defineComponent, bQ as useExtensionStore, u as useSettingStore, r as ref, o as onMounted, q as computed, g as openBlock, h as createElementBlock, i as createVNode, y as withCtx, z as unref, bR as script$1, A as createBaseVNode, x as createBlock, N as Fragment, O as renderList, a4 as toDisplayString, au as createTextVNode, j as createCommentVNode, D as script$4 } from "./index-BNX_XOqh.js"; +import { s as script, a as script$2, b as script$3 } from "./index-B_uZlOM8.js"; +import "./index-nMMCMbCV.js"; const _hoisted_1 = { class: "extension-panel" }; const _hoisted_2 = { class: "mt-4" }; const _sfc_main = /* @__PURE__ */ defineComponent({ @@ -100,4 +100,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=ExtensionPanel-DSQ2O8Z9.js.map +//# sourceMappingURL=ExtensionPanel-BNXC3_Y5.js.map diff --git a/comfy/web/assets/ExtensionPanel-DSQ2O8Z9.js.map b/comfy/web/assets/ExtensionPanel-BNXC3_Y5.js.map similarity index 98% rename from comfy/web/assets/ExtensionPanel-DSQ2O8Z9.js.map rename to comfy/web/assets/ExtensionPanel-BNXC3_Y5.js.map index d3c236204..f9865872e 100644 --- a/comfy/web/assets/ExtensionPanel-DSQ2O8Z9.js.map +++ b/comfy/web/assets/ExtensionPanel-BNXC3_Y5.js.map @@ -1 +1 @@ -{"version":3,"file":"ExtensionPanel-DSQ2O8Z9.js","sources":["../../src/components/dialog/content/setting/ExtensionPanel.vue"],"sourcesContent":["\n\n\n"],"names":[],"mappings":";;;;;;;;;;AAmDA,UAAM,iBAAiB;AACvB,UAAM,eAAe;AAEf,UAAA,2BAA2B,IAA6B,CAAA,CAAE;AAEhE,cAAU,MAAM;AACC,qBAAA,WAAW,QAAQ,CAAC,QAAQ;AACzC,iCAAyB,MAAM,IAAI,IAAI,IACrC,eAAe,mBAAmB,IAAI,IAAI;AAAA,MAAA,CAC7C;AAAA,IAAA,CACF;AAEK,UAAA,oBAAoB,SAAS,MAAM;AACvC,aAAO,eAAe,WAAW;AAAA,QAC/B,CAAC,QACC,yBAAyB,MAAM,IAAI,IAAI,MACvC,eAAe,mBAAmB,IAAI,IAAI;AAAA,MAAA;AAAA,IAC9C,CACD;AAEK,UAAA,aAAa,SAAS,MAAM;AACzB,aAAA,kBAAkB,MAAM,SAAS;AAAA,IAAA,CACzC;AAED,UAAM,wBAAwB,6BAAM;AAClC,YAAM,gCAAgC,OAAO;AAAA,QAC3C,yBAAyB;AAAA,MAExB,EAAA,OAAO,CAAC,CAAC,GAAG,OAAO,MAAM,CAAC,OAAO,EACjC,IAAI,CAAC,CAAC,IAAI,MAAM,IAAI;AAEvB,mBAAa,IAAI,4BAA4B;AAAA,QAC3C,GAAG,eAAe;AAAA,QAClB,GAAG;AAAA,MAAA,CACJ;AAAA,IAAA,GAV2B;AAa9B,UAAM,eAAe,6BAAM;AAEzB,aAAO,SAAS;IAAO,GAFJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"ExtensionPanel-BNXC3_Y5.js","sources":["../../src/components/dialog/content/setting/ExtensionPanel.vue"],"sourcesContent":["\n\n\n"],"names":[],"mappings":";;;;;;;;;;AAmDA,UAAM,iBAAiB;AACvB,UAAM,eAAe;AAEf,UAAA,2BAA2B,IAA6B,CAAA,CAAE;AAEhE,cAAU,MAAM;AACC,qBAAA,WAAW,QAAQ,CAAC,QAAQ;AACzC,iCAAyB,MAAM,IAAI,IAAI,IACrC,eAAe,mBAAmB,IAAI,IAAI;AAAA,MAAA,CAC7C;AAAA,IAAA,CACF;AAEK,UAAA,oBAAoB,SAAS,MAAM;AACvC,aAAO,eAAe,WAAW;AAAA,QAC/B,CAAC,QACC,yBAAyB,MAAM,IAAI,IAAI,MACvC,eAAe,mBAAmB,IAAI,IAAI;AAAA,MAAA;AAAA,IAC9C,CACD;AAEK,UAAA,aAAa,SAAS,MAAM;AACzB,aAAA,kBAAkB,MAAM,SAAS;AAAA,IAAA,CACzC;AAED,UAAM,wBAAwB,6BAAM;AAClC,YAAM,gCAAgC,OAAO;AAAA,QAC3C,yBAAyB;AAAA,MAExB,EAAA,OAAO,CAAC,CAAC,GAAG,OAAO,MAAM,CAAC,OAAO,EACjC,IAAI,CAAC,CAAC,IAAI,MAAM,IAAI;AAEvB,mBAAa,IAAI,4BAA4B;AAAA,QAC3C,GAAG,eAAe;AAAA,QAClB,GAAG;AAAA,MAAA,CACJ;AAAA,IAAA,GAV2B;AAa9B,UAAM,eAAe,6BAAM;AAEzB,aAAO,SAAS;IAAO,GAFJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/comfy/web/assets/GraphView-vodtEF4p.js b/comfy/web/assets/GraphView-BumSctau.js similarity index 89% rename from comfy/web/assets/GraphView-vodtEF4p.js rename to comfy/web/assets/GraphView-BumSctau.js index dab0e77e3..6a45fe18b 100644 --- a/comfy/web/assets/GraphView-vodtEF4p.js +++ b/comfy/web/assets/GraphView-BumSctau.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 useSettingStore, r as ref, a as useTitleEditorStore, b as useCanvasStore, w as watch, L as LGraphGroup, c as app, e as LGraphNode, o as onMounted, f as onUnmounted, g as openBlock, h as createElementBlock, i as createVNode, E as EditableText, n as normalizeStyle, j as createCommentVNode, k as LiteGraph, _ as _export_sfc, B as BaseStyle, s as script$e, l as resolveComponent, m as mergeProps, p as renderSlot, q as computed, t as resolveDirective, v as withDirectives, x as createBlock, y as withCtx, z as unref, A as createBaseVNode, C as normalizeClass, D as script$f, F as useCommandStore, G as useDialogStore, S as SettingDialogHeader, H as SettingDialogContent, I as useWorkspaceStore, J as onBeforeUnmount, K as useKeybindingStore, M as Fragment, N as renderList, T as Teleport, O as resolveDynamicComponent, P as script$g, Q as getWidth, R as getHeight, U as getOuterWidth, V as getOuterHeight, W as getVNodeProp, X as isArray, Y as vShow, Z as isNotEmpty, $ as UniqueComponentId, a0 as ZIndex, a1 as resolveFieldData, a2 as focus, a3 as OverlayEventBus, a4 as isEmpty, a5 as addStyle, a6 as relativePosition, a7 as absolutePosition, a8 as ConnectedOverlayScrollHandler, a9 as isTouchDevice, aa as equals, ab as findLastIndex, ac as findSingle, ad as script$h, ae as script$i, af as script$j, ag as script$k, ah as script$l, ai as script$m, aj as Ripple, ak as toDisplayString, al as Transition, am as createSlots, an as createTextVNode, ao as useNodeFrequencyStore, ap as useNodeBookmarkStore, aq as highlightQuery, ar as script$n, as as formatNumberWithSuffix, at as NodeSourceType, au as useI18n, av as useNodeDefStore, aw as NodePreview, ax as NodeSearchFilter, ay as script$o, az as SearchFilterChip, aA as watchEffect, aB as toRaw, aC as LinkReleaseTriggerAction, aD as useEventListener, aE as nextTick, aF as markRaw, aG as useModelToNodeStore, aH as usePragmaticDroppable, aI as ComfyNodeDefImpl, aJ as ComfyModelDef, aK as LGraph, aL as LLink, aM as DragAndScale, aN as LGraphCanvas, aO as ContextMenu, aP as LGraphBadge, aQ as script$p, aR as script$q, aS as script$r, aT as script$s, aU as normalizeProps, aV as ToastEventBus, aW as setAttribute, aX as TransitionGroup, aY as useToast, aZ as useToastStore, a_ as useExecutionStore, a$ as useWorkflowStore, b0 as useTitle, b1 as withModifiers, b2 as script$t, b3 as resolve, b4 as script$u, b5 as script$v, b6 as isPrintableCharacter, b7 as guardReactiveProps, b8 as useMenuItemStore, b9 as script$y, ba as nestedPosition, bb as useQueueSettingsStore, bc as storeToRefs, bd as isRef, be as script$z, bf as useQueuePendingTaskCountStore, bg as useLocalStorage, bh as useDraggable, bi as watchDebounced, bj as inject, bk as useElementBounding, bl as script$A, bm as lodashExports, bn as useEventBus, bo as provide, bp as api, bq as i18n, br as useWorkflowBookmarkStore, bs as useSidebarTabStore } from "./index-CFrRuGBA.js"; -import { s as script$w, a as script$x } from "./index-CaUteDIK.js"; -const _sfc_main$m = /* @__PURE__ */ defineComponent({ +import { d as defineComponent, u as useSettingStore, r as ref, a as useTitleEditorStore, b as useCanvasStore, w as watch, L as LGraphGroup, c as app, e as LGraphNode, o as onMounted, f as onUnmounted, g as openBlock, h as createElementBlock, i as createVNode, E as EditableText, n as normalizeStyle, j as createCommentVNode, k as LiteGraph, _ as _export_sfc, B as BaseStyle, s as script$g, l as resolveComponent, m as mergeProps, p as renderSlot, q as computed, t as resolveDirective, v as withDirectives, x as createBlock, y as withCtx, z as unref, A as createBaseVNode, C as normalizeClass, D as script$h, F as useCommandStore, G as useDialogStore, S as SettingDialogHeader, H as SettingDialogContent, I as onBeforeUnmount, J as resolveDynamicComponent, K as useWorkspaceStore, M as useKeybindingStore, N as Fragment, O as renderList, T as Teleport, P as script$i, Q as getWidth, R as findSingle, U as getOuterHeight, V as getOffset, W as getOuterWidth, X as getHeight, Y as script$j, Z as script$k, $ as Ripple, a0 as getAttribute, a1 as focus, a2 as equals, a3 as useBottomPanelStore, a4 as toDisplayString, a5 as script$l, a6 as getVNodeProp, a7 as isArray, a8 as useSidebarTabStore, a9 as vShow, aa as isNotEmpty, ab as UniqueComponentId, ac as ZIndex, ad as resolveFieldData, ae as OverlayEventBus, af as isEmpty, ag as addStyle, ah as relativePosition, ai as absolutePosition, aj as ConnectedOverlayScrollHandler, ak as isTouchDevice, al as findLastIndex, am as script$m, an as script$n, ao as script$o, ap as script$p, aq as script$q, ar as script$r, as as Transition, at as createSlots, au as createTextVNode, av as useNodeFrequencyStore, aw as useNodeBookmarkStore, ax as highlightQuery, ay as script$s, az as formatNumberWithSuffix, aA as NodeSourceType, aB as useI18n, aC as useNodeDefStore, aD as NodePreview, aE as NodeSearchFilter, aF as script$t, aG as SearchFilterChip, aH as watchEffect, aI as toRaw, aJ as LinkReleaseTriggerAction, aK as useEventListener, aL as nextTick, aM as getColorPalette, aN as BadgePosition, aO as LGraphBadge, aP as _, aQ as defaultColorPalette, aR as NodeBadgeMode, aS as markRaw, aT as useModelToNodeStore, aU as usePragmaticDroppable, aV as ComfyNodeDefImpl, aW as ComfyModelDef, aX as LGraph, aY as LLink, aZ as DragAndScale, a_ as LGraphCanvas, a$ as ContextMenu, b0 as script$u, b1 as script$v, b2 as script$w, b3 as script$x, b4 as normalizeProps, b5 as ToastEventBus, b6 as setAttribute, b7 as TransitionGroup, b8 as useToast, b9 as useToastStore, ba as useExecutionStore, bb as useWorkflowStore, bc as useTitle, bd as withModifiers, be as script$y, bf as resolve, bg as script$z, bh as script$A, bi as isPrintableCharacter, bj as guardReactiveProps, bk as useMenuItemStore, bl as script$D, bm as nestedPosition, bn as useQueueSettingsStore, bo as storeToRefs, bp as isRef, bq as script$E, br as useQueuePendingTaskCountStore, bs as useLocalStorage, bt as useDraggable, bu as watchDebounced, bv as inject, bw as useElementBounding, bx as script$F, by as lodashExports, bz as useEventBus, bA as provide, bB as api, bC as i18n, bD as useWorkflowBookmarkStore, bE as useModelStore } from "./index-BNX_XOqh.js"; +import { s as script$B, a as script$C } from "./index-nMMCMbCV.js"; +const _sfc_main$r = /* @__PURE__ */ defineComponent({ __name: "TitleEditor", setup(__props) { const settingStore = useSettingStore(); @@ -120,22 +120,22 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({ }; } }); -const TitleEditor = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-fc3f26e3"]]); +const TitleEditor = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-8a100d5a"]]); var theme$8 = /* @__PURE__ */ __name(function theme(_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"); }, "theme"); -var classes$9 = { +var classes$b = { root: "p-overlaybadge" }; var OverlayBadgeStyle = BaseStyle.extend({ name: "overlaybadge", theme: theme$8, - classes: classes$9 + classes: classes$b }); -var script$1$9 = { +var script$1$b = { name: "OverlayBadge", - "extends": script$e, + "extends": script$g, style: OverlayBadgeStyle, provide: /* @__PURE__ */ __name(function provide2() { return { @@ -144,15 +144,15 @@ var script$1$9 = { }; }, "provide") }; -var script$d = { +var script$f = { name: "OverlayBadge", - "extends": script$1$9, + "extends": script$1$b, inheritAttrs: false, components: { - Badge: script$e + Badge: script$g } }; -function render$f(_ctx, _cache, $props, $setup, $data, $options) { +function render$i(_ctx, _cache, $props, $setup, $data, $options) { var _component_Badge = resolveComponent("Badge"); return openBlock(), createElementBlock("div", mergeProps({ "class": _ctx.cx("root") @@ -160,9 +160,9 @@ function render$f(_ctx, _cache, $props, $setup, $data, $options) { pt: _ctx.ptm("pcBadge") }), null, 16, ["pt"])], 16); } -__name(render$f, "render$f"); -script$d.render = render$f; -const _sfc_main$l = /* @__PURE__ */ defineComponent({ +__name(render$i, "render$i"); +script$f.render = render$i; +const _sfc_main$q = /* @__PURE__ */ defineComponent({ __name: "SidebarIcon", props: { icon: String, @@ -190,7 +190,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({ const shouldShowBadge = computed(() => !!overlayValue.value); return (_ctx, _cache) => { const _directive_tooltip = resolveDirective("tooltip"); - return withDirectives((openBlock(), createBlock(unref(script$f), { + return withDirectives((openBlock(), createBlock(unref(script$h), { class: normalizeClass(props.class), text: "", pt: { @@ -202,7 +202,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({ onClick: _cache[0] || (_cache[0] = ($event) => emit("click", $event)) }, { icon: withCtx(() => [ - shouldShowBadge.value ? (openBlock(), createBlock(unref(script$d), { + shouldShowBadge.value ? (openBlock(), createBlock(unref(script$f), { key: 0, value: overlayValue.value }, { @@ -224,8 +224,8 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({ }; } }); -const SidebarIcon = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-caa3ee9c"]]); -const _sfc_main$k = /* @__PURE__ */ defineComponent({ +const SidebarIcon = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-caa3ee9c"]]); +const _sfc_main$p = /* @__PURE__ */ defineComponent({ __name: "SidebarThemeToggleIcon", setup(__props) { const settingStore = useSettingStore(); @@ -247,7 +247,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({ }; } }); -const _sfc_main$j = /* @__PURE__ */ defineComponent({ +const _sfc_main$o = /* @__PURE__ */ defineComponent({ __name: "SidebarSettingsToggleIcon", setup(__props) { const dialogStore = useDialogStore(); @@ -267,12 +267,41 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({ }; } }); -const _hoisted_1$g = { class: "side-tool-bar-end" }; -const _hoisted_2$9 = { +const _sfc_main$n = /* @__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$k = { class: "side-tool-bar-end" }; +const _hoisted_2$b = { key: 0, - class: "sidebar-content-container" + class: "sidebar-content-container h-full overflow-y-auto overflow-x-hidden" }; -const _sfc_main$i = /* @__PURE__ */ defineComponent({ +const _sfc_main$m = /* @__PURE__ */ defineComponent({ __name: "SideToolbar", setup(__props) { const workspaceStore = useWorkspaceStore(); @@ -285,19 +314,9 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({ ); const tabs = computed(() => workspaceStore.getSidebarTabs()); const selectedTab = computed(() => workspaceStore.sidebarTab.activeSidebarTab); - const mountCustomTab = /* @__PURE__ */ __name((tab, el) => { - tab.render(el); - }, "mountCustomTab"); const onTabClick = /* @__PURE__ */ __name((item3) => { workspaceStore.sidebarTab.toggleSidebarTab(item3.id); }, "onTabClick"); - onBeforeUnmount(() => { - tabs.value.forEach((tab) => { - if (tab.type === "custom" && tab.destroy) { - tab.destroy(); - } - }); - }); const keybindingStore = useKeybindingStore(); const getTabTooltipSuffix = /* @__PURE__ */ __name((tab) => { const keybinding = keybindingStore.getKeybindingByCommandId( @@ -322,35 +341,503 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({ onClick: /* @__PURE__ */ __name(($event) => onTabClick(tab), "onClick") }, null, 8, ["icon", "iconBadge", "tooltip", "selected", "class", "onClick"]); }), 128)), - createBaseVNode("div", _hoisted_1$g, [ - createVNode(_sfc_main$k), - createVNode(_sfc_main$j) + createBaseVNode("div", _hoisted_1$k, [ + createVNode(_sfc_main$p), + createVNode(_sfc_main$o) ]) ], 2) ], 8, ["to"])), - selectedTab.value ? (openBlock(), createElementBlock("div", _hoisted_2$9, [ - selectedTab.value.type === "vue" ? (openBlock(), createBlock(resolveDynamicComponent(selectedTab.value.component), { key: 0 })) : (openBlock(), createElementBlock("div", { - key: 1, - ref: /* @__PURE__ */ __name((el) => { - if (el) - mountCustomTab( - selectedTab.value, - el - ); - }, "ref") - }, null, 512)) + selectedTab.value ? (openBlock(), createElementBlock("div", _hoisted_2$b, [ + createVNode(_sfc_main$n, { extension: selectedTab.value }, null, 8, ["extension"]) ])) : createCommentVNode("", true) ], 64); }; } }); -const SideToolbar = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-aa14277f"]]); +const SideToolbar = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-37fd2fa4"]]); +var classes$a = { + root: "p-tablist", + content: /* @__PURE__ */ __name(function content(_ref) { + var instance = _ref.instance; + return ["p-tablist-content", { + "p-tablist-viewport": instance.$pcTabs.scrollable + }]; + }, "content"), + tabList: "p-tablist-tab-list", + activeBar: "p-tablist-active-bar", + prevButton: "p-tablist-prev-button p-tablist-nav-button", + nextButton: "p-tablist-next-button p-tablist-nav-button" +}; +var TabListStyle = BaseStyle.extend({ + name: "tablist", + classes: classes$a +}); +var script$1$a = { + name: "BaseTabList", + "extends": script$i, + props: {}, + style: TabListStyle, + provide: /* @__PURE__ */ __name(function provide3() { + return { + $pcTabList: this, + $parentInstance: this + }; + }, "provide") +}; +var script$e = { + name: "TabList", + "extends": script$1$a, + inheritAttrs: false, + inject: ["$pcTabs"], + data: /* @__PURE__ */ __name(function data() { + return { + isPrevButtonEnabled: false, + isNextButtonEnabled: true + }; + }, "data"), + resizeObserver: void 0, + watch: { + showNavigators: /* @__PURE__ */ __name(function showNavigators(newValue) { + newValue ? this.bindResizeObserver() : this.unbindResizeObserver(); + }, "showNavigators"), + activeValue: { + flush: "post", + handler: /* @__PURE__ */ __name(function handler() { + this.updateInkBar(); + }, "handler") + } + }, + mounted: /* @__PURE__ */ __name(function mounted() { + var _this = this; + this.$nextTick(function() { + _this.updateInkBar(); + }); + if (this.showNavigators) { + this.updateButtonState(); + this.bindResizeObserver(); + } + }, "mounted"), + updated: /* @__PURE__ */ __name(function updated() { + this.showNavigators && this.updateButtonState(); + }, "updated"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount() { + this.unbindResizeObserver(); + }, "beforeUnmount"), + methods: { + onScroll: /* @__PURE__ */ __name(function onScroll(event) { + this.showNavigators && this.updateButtonState(); + event.preventDefault(); + }, "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; + }, "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; + }, "onNextButtonClick"), + bindResizeObserver: /* @__PURE__ */ __name(function bindResizeObserver() { + var _this2 = this; + this.resizeObserver = new ResizeObserver(function() { + return _this2.updateButtonState(); + }); + this.resizeObserver.observe(this.$refs.list); + }, "bindResizeObserver"), + unbindResizeObserver: /* @__PURE__ */ __name(function unbindResizeObserver() { + var _this$resizeObserver; + (_this$resizeObserver = this.resizeObserver) === null || _this$resizeObserver === void 0 || _this$resizeObserver.unobserve(this.$refs.list); + this.resizeObserver = void 0; + }, "unbindResizeObserver"), + updateInkBar: /* @__PURE__ */ __name(function updateInkBar() { + var _this$$refs = this.$refs, content2 = _this$$refs.content, inkbar = _this$$refs.inkbar, tabs = _this$$refs.tabs; + var activeTab = findSingle(content2, '[data-pc-name="tab"][data-p-active="true"]'); + if (this.$pcTabs.isVertical()) { + inkbar.style.height = getOuterHeight(activeTab) + "px"; + inkbar.style.top = getOffset(activeTab).top - getOffset(tabs).top + "px"; + } else { + inkbar.style.width = getOuterWidth(activeTab) + "px"; + inkbar.style.left = getOffset(activeTab).left - getOffset(tabs).left + "px"; + } + }, "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 _ref = [getWidth(content2), getHeight(content2)], width = _ref[0], height = _ref[1]; + if (this.$pcTabs.isVertical()) { + this.isPrevButtonEnabled = scrollTop !== 0; + this.isNextButtonEnabled = list.offsetHeight >= offsetHeight && parseInt(scrollTop) !== scrollHeight - height; + } else { + this.isPrevButtonEnabled = scrollLeft !== 0; + this.isNextButtonEnabled = list.offsetWidth >= offsetWidth && parseInt(scrollLeft) !== scrollWidth - width; + } + }, "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); + }, "getVisibleButtonWidths") + }, + computed: { + templates: /* @__PURE__ */ __name(function templates() { + return this.$pcTabs.$slots; + }, "templates"), + activeValue: /* @__PURE__ */ __name(function activeValue() { + return this.$pcTabs.d_value; + }, "activeValue"), + showNavigators: /* @__PURE__ */ __name(function showNavigators2() { + return this.$pcTabs.scrollable && this.$pcTabs.showNavigators; + }, "showNavigators"), + prevButtonAriaLabel: /* @__PURE__ */ __name(function prevButtonAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.previous : void 0; + }, "prevButtonAriaLabel"), + nextButtonAriaLabel: /* @__PURE__ */ __name(function nextButtonAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.next : void 0; + }, "nextButtonAriaLabel") + }, + components: { + ChevronLeftIcon: script$j, + ChevronRightIcon: script$k + }, + directives: { + ripple: Ripple + } +}; +var _hoisted_1$j = ["aria-label", "tabindex"]; +var _hoisted_2$a = ["aria-orientation"]; +var _hoisted_3$8 = ["aria-label", "tabindex"]; +function render$h(_ctx, _cache, $props, $setup, $data, $options) { + var _directive_ripple = resolveDirective("ripple"); + return openBlock(), createElementBlock("div", mergeProps({ + ref: "list", + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [$options.showNavigators && $data.isPrevButtonEnabled ? withDirectives((openBlock(), createElementBlock("button", mergeProps({ + key: 0, + ref: "prevButton", + "class": _ctx.cx("prevButton"), + "aria-label": $options.prevButtonAriaLabel, + tabindex: $options.$pcTabs.tabindex, + onClick: _cache[0] || (_cache[0] = function() { + return $options.onPrevButtonClick && $options.onPrevButtonClick.apply($options, arguments); + }) + }, _ctx.ptm("prevButton"), { + "data-pc-group-section": "navigator" + }), [(openBlock(), createBlock(resolveDynamicComponent($options.templates.previcon || "ChevronLeftIcon"), mergeProps({ + "aria-hidden": "true" + }, _ctx.ptm("prevIcon")), null, 16))], 16, _hoisted_1$j)), [[_directive_ripple]]) : createCommentVNode("", true), createBaseVNode("div", mergeProps({ + ref: "content", + "class": _ctx.cx("content"), + onScroll: _cache[1] || (_cache[1] = function() { + return $options.onScroll && $options.onScroll.apply($options, arguments); + }) + }, _ctx.ptm("content")), [createBaseVNode("div", mergeProps({ + ref: "tabs", + "class": _ctx.cx("tabList"), + role: "tablist", + "aria-orientation": $options.$pcTabs.orientation || "horizontal" + }, _ctx.ptm("tabList")), [renderSlot(_ctx.$slots, "default"), createBaseVNode("span", mergeProps({ + ref: "inkbar", + "class": _ctx.cx("activeBar"), + role: "presentation", + "aria-hidden": "true" + }, _ctx.ptm("activeBar")), null, 16)], 16, _hoisted_2$a)], 16), $options.showNavigators && $data.isNextButtonEnabled ? withDirectives((openBlock(), createElementBlock("button", mergeProps({ + key: 1, + ref: "nextButton", + "class": _ctx.cx("nextButton"), + "aria-label": $options.nextButtonAriaLabel, + tabindex: $options.$pcTabs.tabindex, + onClick: _cache[2] || (_cache[2] = function() { + return $options.onNextButtonClick && $options.onNextButtonClick.apply($options, arguments); + }) + }, _ctx.ptm("nextButton"), { + "data-pc-group-section": "navigator" + }), [(openBlock(), createBlock(resolveDynamicComponent($options.templates.nexticon || "ChevronRightIcon"), mergeProps({ + "aria-hidden": "true" + }, _ctx.ptm("nextIcon")), null, 16))], 16, _hoisted_3$8)), [[_directive_ripple]]) : createCommentVNode("", true)], 16); +} +__name(render$h, "render$h"); +script$e.render = render$h; +var classes$9 = { + root: /* @__PURE__ */ __name(function root(_ref) { + var instance = _ref.instance, props = _ref.props; + return ["p-tab", { + "p-tab-active": instance.active, + "p-disabled": props.disabled + }]; + }, "root") +}; +var TabStyle = BaseStyle.extend({ + name: "tab", + classes: classes$9 +}); +var script$1$9 = { + name: "BaseTab", + "extends": script$i, + props: { + value: { + type: [String, Number], + "default": void 0 + }, + disabled: { + type: Boolean, + "default": false + }, + as: { + type: [String, Object], + "default": "BUTTON" + }, + asChild: { + type: Boolean, + "default": false + } + }, + style: TabStyle, + provide: /* @__PURE__ */ __name(function provide4() { + return { + $pcTab: this, + $parentInstance: this + }; + }, "provide") +}; +var script$d = { + name: "Tab", + "extends": script$1$9, + inheritAttrs: false, + inject: ["$pcTabs", "$pcTabList"], + methods: { + onFocus: /* @__PURE__ */ __name(function onFocus() { + this.$pcTabs.selectOnFocus && this.changeActiveValue(); + }, "onFocus"), + onClick: /* @__PURE__ */ __name(function onClick() { + this.changeActiveValue(); + }, "onClick"), + onKeydown: /* @__PURE__ */ __name(function onKeydown(event) { + switch (event.code) { + case "ArrowRight": + this.onArrowRightKey(event); + break; + case "ArrowLeft": + this.onArrowLeftKey(event); + break; + case "Home": + this.onHomeKey(event); + break; + case "End": + this.onEndKey(event); + break; + case "PageDown": + this.onPageDownKey(event); + break; + case "PageUp": + this.onPageUpKey(event); + break; + case "Enter": + case "NumpadEnter": + case "Space": + this.onEnterKey(event); + break; + } + }, "onKeydown"), + onArrowRightKey: /* @__PURE__ */ __name(function onArrowRightKey(event) { + var nextTab = this.findNextTab(event.currentTarget); + nextTab ? this.changeFocusedTab(event, nextTab) : this.onHomeKey(event); + event.preventDefault(); + }, "onArrowRightKey"), + onArrowLeftKey: /* @__PURE__ */ __name(function onArrowLeftKey(event) { + var prevTab = this.findPrevTab(event.currentTarget); + prevTab ? this.changeFocusedTab(event, prevTab) : this.onEndKey(event); + event.preventDefault(); + }, "onArrowLeftKey"), + onHomeKey: /* @__PURE__ */ __name(function onHomeKey(event) { + var firstTab = this.findFirstTab(); + this.changeFocusedTab(event, firstTab); + event.preventDefault(); + }, "onHomeKey"), + onEndKey: /* @__PURE__ */ __name(function onEndKey(event) { + var lastTab = this.findLastTab(); + this.changeFocusedTab(event, lastTab); + event.preventDefault(); + }, "onEndKey"), + onPageDownKey: /* @__PURE__ */ __name(function onPageDownKey(event) { + this.scrollInView(this.findLastTab()); + event.preventDefault(); + }, "onPageDownKey"), + onPageUpKey: /* @__PURE__ */ __name(function onPageUpKey(event) { + this.scrollInView(this.findFirstTab()); + event.preventDefault(); + }, "onPageUpKey"), + onEnterKey: /* @__PURE__ */ __name(function onEnterKey(event) { + this.changeActiveValue(); + event.preventDefault(); + }, "onEnterKey"), + findNextTab: /* @__PURE__ */ __name(function findNextTab(tabElement) { + var selfCheck = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + var element = selfCheck ? tabElement : tabElement.nextElementSibling; + return element ? getAttribute(element, "data-p-disabled") || getAttribute(element, "data-pc-section") === "inkbar" ? this.findNextTab(element) : findSingle(element, '[data-pc-name="tab"]') : null; + }, "findNextTab"), + findPrevTab: /* @__PURE__ */ __name(function findPrevTab(tabElement) { + var selfCheck = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + var element = selfCheck ? tabElement : tabElement.previousElementSibling; + return element ? getAttribute(element, "data-p-disabled") || getAttribute(element, "data-pc-section") === "inkbar" ? this.findPrevTab(element) : findSingle(element, '[data-pc-name="tab"]') : null; + }, "findPrevTab"), + findFirstTab: /* @__PURE__ */ __name(function findFirstTab() { + return this.findNextTab(this.$pcTabList.$refs.content.firstElementChild, true); + }, "findFirstTab"), + findLastTab: /* @__PURE__ */ __name(function findLastTab() { + return this.findPrevTab(this.$pcTabList.$refs.content.lastElementChild, true); + }, "findLastTab"), + changeActiveValue: /* @__PURE__ */ __name(function changeActiveValue() { + this.$pcTabs.updateValue(this.value); + }, "changeActiveValue"), + changeFocusedTab: /* @__PURE__ */ __name(function changeFocusedTab(event, element) { + focus(element); + this.scrollInView(element); + }, "changeFocusedTab"), + scrollInView: /* @__PURE__ */ __name(function scrollInView(element) { + var _element$scrollIntoVi; + element === null || element === void 0 || (_element$scrollIntoVi = element.scrollIntoView) === null || _element$scrollIntoVi === void 0 || _element$scrollIntoVi.call(element, { + block: "nearest" + }); + }, "scrollInView") + }, + computed: { + active: /* @__PURE__ */ __name(function active() { + var _this$$pcTabs; + return equals((_this$$pcTabs = this.$pcTabs) === null || _this$$pcTabs === void 0 ? void 0 : _this$$pcTabs.d_value, this.value); + }, "active"), + id: /* @__PURE__ */ __name(function id() { + var _this$$pcTabs2; + return "".concat((_this$$pcTabs2 = this.$pcTabs) === null || _this$$pcTabs2 === void 0 ? void 0 : _this$$pcTabs2.id, "_tab_").concat(this.value); + }, "id"), + ariaControls: /* @__PURE__ */ __name(function ariaControls() { + var _this$$pcTabs3; + return "".concat((_this$$pcTabs3 = this.$pcTabs) === null || _this$$pcTabs3 === void 0 ? void 0 : _this$$pcTabs3.id, "_tabpanel_").concat(this.value); + }, "ariaControls"), + attrs: /* @__PURE__ */ __name(function attrs() { + 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.disabled + } : void 0; + }, "asAttrs"), + a11yAttrs: /* @__PURE__ */ __name(function a11yAttrs() { + return { + id: this.id, + tabindex: this.active ? this.$pcTabs.tabindex : -1, + role: "tab", + "aria-selected": this.active, + "aria-controls": this.ariaControls, + "data-pc-name": "tab", + "data-p-disabled": this.disabled, + "data-p-active": this.active, + onFocus: this.onFocus, + onKeydown: this.onKeydown + }; + }, "a11yAttrs"), + ptParams: /* @__PURE__ */ __name(function ptParams() { + return { + context: { + active: this.active + } + }; + }, "ptParams") + }, + directives: { + ripple: Ripple + } +}; +function render$g(_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")]; + }), + _: 3 + }, 16, ["class", "onClick"])), [[_directive_ripple]]) : renderSlot(_ctx.$slots, "default", { + key: 1, + "class": normalizeClass(_ctx.cx("root")), + active: $options.active, + a11yAttrs: $options.a11yAttrs, + onClick: $options.onClick + }); +} +__name(render$g, "render$g"); +script$d.render = render$g; +const _hoisted_1$i = { class: "flex flex-col h-full" }; +const _hoisted_2$9 = { class: "w-full flex justify-between" }; +const _hoisted_3$7 = { class: "tabs-container" }; +const _hoisted_4$4 = { class: "font-bold" }; +const _hoisted_5$4 = { class: "flex-grow h-0" }; +const _sfc_main$l = /* @__PURE__ */ defineComponent({ + __name: "BottomPanel", + setup(__props) { + const bottomPanelStore = useBottomPanelStore(); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$i, [ + createVNode(unref(script$l), { + value: unref(bottomPanelStore).activeBottomPanelTabId, + "onUpdate:value": _cache[1] || (_cache[1] = ($event) => unref(bottomPanelStore).activeBottomPanelTabId = $event) + }, { + default: withCtx(() => [ + createVNode(unref(script$e), { "pt:tabList": "border-none" }, { + default: withCtx(() => [ + createBaseVNode("div", _hoisted_2$9, [ + createBaseVNode("div", _hoisted_3$7, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(unref(bottomPanelStore).bottomPanelTabs, (tab) => { + return openBlock(), createBlock(unref(script$d), { + key: tab.id, + value: tab.id, + class: "p-3 border-none" + }, { + default: withCtx(() => [ + createBaseVNode("span", _hoisted_4$4, toDisplayString(tab.title.toUpperCase()), 1) + ]), + _: 2 + }, 1032, ["value"]); + }), 128)) + ]), + createVNode(unref(script$h), { + 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$n, { + key: 0, + extension: unref(bottomPanelStore).activeBottomPanelTab + }, null, 8, ["extension"])) : createCommentVNode("", true) + ]) + ]); + }; + } +}); var theme$7 = /* @__PURE__ */ __name(function theme2(_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$8 = { - root: /* @__PURE__ */ __name(function root(_ref2) { + root: /* @__PURE__ */ __name(function root2(_ref2) { var props = _ref2.props; return ["p-splitter p-component", "p-splitter-" + props.layout]; }, "root"), @@ -358,7 +845,7 @@ var classes$8 = { gutterHandle: "p-splitter-gutter-handle" }; var inlineStyles$4 = { - root: /* @__PURE__ */ __name(function root2(_ref3) { + root: /* @__PURE__ */ __name(function root3(_ref3) { var props = _ref3.props; return [{ display: "flex", @@ -376,7 +863,7 @@ var SplitterStyle = BaseStyle.extend({ }); var script$1$8 = { name: "BaseSplitter", - "extends": script$g, + "extends": script$i, props: { layout: { type: String, @@ -400,7 +887,7 @@ var script$1$8 = { } }, style: SplitterStyle, - provide: /* @__PURE__ */ __name(function provide3() { + provide: /* @__PURE__ */ __name(function provide5() { return { $pcSplitter: this, $parentInstance: this @@ -457,15 +944,15 @@ var script$c = { panelSizes: null, prevPanelIndex: null, timer: null, - data: /* @__PURE__ */ __name(function data() { + data: /* @__PURE__ */ __name(function data2() { return { prevSize: null }; }, "data"), - mounted: /* @__PURE__ */ __name(function mounted() { + mounted: /* @__PURE__ */ __name(function mounted2() { this.initializePanels(); }, "mounted"), - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount() { + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount2() { this.clear(); this.unbindMouseListeners(); }, "beforeUnmount"), @@ -786,9 +1273,9 @@ var script$c = { }, "getPTOptions") } }; -var _hoisted_1$f = ["onMousedown", "onTouchstart", "onTouchmove", "onTouchend"]; +var _hoisted_1$h = ["onMousedown", "onTouchstart", "onTouchmove", "onTouchend"]; var _hoisted_2$8 = ["aria-orientation", "aria-valuenow", "onKeydown"]; -function render$e(_ctx, _cache, $props, $setup, $data, $options) { +function render$f(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("div", mergeProps({ "class": _ctx.cx("root"), style: _ctx.sx("root"), @@ -827,17 +1314,17 @@ function render$e(_ctx, _cache, $props, $setup, $data, $options) { onKeyup: _cache[0] || (_cache[0] = function() { return $options.onGutterKeyUp && $options.onGutterKeyUp.apply($options, arguments); }), - onKeydown: /* @__PURE__ */ __name(function onKeydown($event) { + onKeydown: /* @__PURE__ */ __name(function onKeydown2($event) { return $options.onGutterKeyDown($event, i); }, "onKeydown"), ref_for: true - }, _ctx.ptm("gutterHandle")), null, 16, _hoisted_2$8)], 16, _hoisted_1$f)) : createCommentVNode("", true)], 64); + }, _ctx.ptm("gutterHandle")), null, 16, _hoisted_2$8)], 16, _hoisted_1$h)) : createCommentVNode("", true)], 64); }), 128))], 16); } -__name(render$e, "render$e"); -script$c.render = render$e; +__name(render$f, "render$f"); +script$c.render = render$f; var classes$7 = { - root: /* @__PURE__ */ __name(function root3(_ref) { + root: /* @__PURE__ */ __name(function root4(_ref) { var instance = _ref.instance; return ["p-splitterpanel", { "p-splitterpanel-nested": instance.isNested @@ -850,7 +1337,7 @@ var SplitterPanelStyle = BaseStyle.extend({ }); var script$1$7 = { name: "BaseSplitterPanel", - "extends": script$g, + "extends": script$i, props: { size: { type: Number, @@ -862,7 +1349,7 @@ var script$1$7 = { } }, style: SplitterPanelStyle, - provide: /* @__PURE__ */ __name(function provide4() { + provide: /* @__PURE__ */ __name(function provide6() { return { $pcSplitterPanel: this, $parentInstance: this @@ -873,7 +1360,7 @@ var script$b = { name: "SplitterPanel", "extends": script$1$7, inheritAttrs: false, - data: /* @__PURE__ */ __name(function data2() { + data: /* @__PURE__ */ __name(function data3() { return { nestedState: null }; @@ -895,15 +1382,15 @@ var script$b = { }, "getPTOptions") } }; -function render$d(_ctx, _cache, $props, $setup, $data, $options) { +function render$e(_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$d, "render$d"); -script$b.render = render$d; -const _sfc_main$h = /* @__PURE__ */ defineComponent({ +__name(render$e, "render$e"); +script$b.render = render$e; +const _sfc_main$k = /* @__PURE__ */ defineComponent({ __name: "LiteGraphCanvasSplitterOverlay", setup(__props) { const settingStore = useSettingStore(); @@ -911,15 +1398,15 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({ () => settingStore.get("Comfy.Sidebar.Location") ); const sidebarPanelVisible = computed( - () => useWorkspaceStore().sidebarTab.activeSidebarTab !== null + () => useSidebarTabStore().activeSidebarTab !== null + ); + const bottomPanelVisible = computed( + () => useBottomPanelStore().bottomPanelVisible ); - const gutterClass = computed(() => { - return sidebarPanelVisible.value ? "" : "gutter-hidden"; - }); return (_ctx, _cache) => { return openBlock(), createBlock(unref(script$c), { - class: "splitter-overlay", - "pt:gutter": gutterClass.value + class: "splitter-overlay-root splitter-overlay", + "pt:gutter": sidebarPanelVisible.value ? "" : "hidden" }, { default: withCtx(() => [ sidebarLocation.value === "left" ? withDirectives((openBlock(), createBlock(unref(script$b), { @@ -935,12 +1422,31 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({ }, 512)), [ [vShow, sidebarPanelVisible.value] ]) : createCommentVNode("", true), - createVNode(unref(script$b), { - class: "graph-canvas-panel relative", - size: 100 - }, { + createVNode(unref(script$b), { size: 100 }, { default: withCtx(() => [ - renderSlot(_ctx.$slots, "graph-canvas-panel", {}, void 0, true) + createVNode(unref(script$c), { + class: "splitter-overlay", + layout: "vertical", + "pt:gutter": bottomPanelVisible.value ? "" : "hidden" + }, { + 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 }), @@ -963,7 +1469,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({ }; } }); -const LiteGraphCanvasSplitterOverlay = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-b9df3042"]]); +const LiteGraphCanvasSplitterOverlay = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-b49f20b1"]]); var theme$6 = /* @__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-container {\n overflow: auto;\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):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-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"); @@ -974,7 +1480,7 @@ var inlineStyles$3 = { } }; var classes$6 = { - root: /* @__PURE__ */ __name(function root4(_ref2) { + root: /* @__PURE__ */ __name(function root5(_ref2) { var instance = _ref2.instance, props = _ref2.props; return ["p-autocomplete p-component p-inputwrapper", { "p-disabled": props.disabled, @@ -1026,7 +1532,7 @@ var AutoCompleteStyle = BaseStyle.extend({ }); var script$1$6 = { name: "BaseAutoComplete", - "extends": script$g, + "extends": script$i, props: { modelValue: null, suggestions: { @@ -1207,7 +1713,7 @@ var script$1$6 = { } }, style: AutoCompleteStyle, - provide: /* @__PURE__ */ __name(function provide5() { + provide: /* @__PURE__ */ __name(function provide7() { return { $pcAutoComplete: this, $parentInstance: this @@ -1270,7 +1776,7 @@ var script$a = { virtualScroller: null, searchTimeout: null, dirty: false, - data: /* @__PURE__ */ __name(function data3() { + data: /* @__PURE__ */ __name(function data4() { return { id: this.$attrs.id, clicked: false, @@ -1294,16 +1800,16 @@ var script$a = { this.autoUpdateModel(); }, "suggestions") }, - mounted: /* @__PURE__ */ __name(function mounted2() { + mounted: /* @__PURE__ */ __name(function mounted3() { this.id = this.id || UniqueComponentId(); this.autoUpdateModel(); }, "mounted"), - updated: /* @__PURE__ */ __name(function updated() { + updated: /* @__PURE__ */ __name(function updated2() { if (this.overlayVisible) { this.alignOverlay(); } }, "updated"), - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount2() { + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount3() { this.unbindOutsideClickListener(); this.unbindResizeListener(); if (this.scrollHandler) { @@ -1376,7 +1882,7 @@ var script$a = { _hide(); }, 0); }, "hide"), - onFocus: /* @__PURE__ */ __name(function onFocus(event) { + onFocus: /* @__PURE__ */ __name(function onFocus2(event) { if (this.disabled) { return; } @@ -1605,7 +2111,7 @@ var script$a = { event.preventDefault(); } }, "onArrowUpKey"), - onArrowLeftKey: /* @__PURE__ */ __name(function onArrowLeftKey(event) { + onArrowLeftKey: /* @__PURE__ */ __name(function onArrowLeftKey2(event) { var target = event.currentTarget; this.focusedOptionIndex = -1; if (this.multiple) { @@ -1617,33 +2123,33 @@ var script$a = { } } }, "onArrowLeftKey"), - onArrowRightKey: /* @__PURE__ */ __name(function onArrowRightKey(event) { + onArrowRightKey: /* @__PURE__ */ __name(function onArrowRightKey2(event) { this.focusedOptionIndex = -1; this.multiple && event.stopPropagation(); }, "onArrowRightKey"), - onHomeKey: /* @__PURE__ */ __name(function onHomeKey(event) { + onHomeKey: /* @__PURE__ */ __name(function onHomeKey2(event) { var currentTarget = event.currentTarget; var len = currentTarget.value.length; currentTarget.setSelectionRange(0, event.shiftKey ? len : 0); this.focusedOptionIndex = -1; event.preventDefault(); }, "onHomeKey"), - onEndKey: /* @__PURE__ */ __name(function onEndKey(event) { + onEndKey: /* @__PURE__ */ __name(function onEndKey2(event) { var currentTarget = event.currentTarget; var len = currentTarget.value.length; currentTarget.setSelectionRange(event.shiftKey ? 0 : len, len); this.focusedOptionIndex = -1; event.preventDefault(); }, "onEndKey"), - onPageUpKey: /* @__PURE__ */ __name(function onPageUpKey(event) { + onPageUpKey: /* @__PURE__ */ __name(function onPageUpKey2(event) { this.scrollInView(0); event.preventDefault(); }, "onPageUpKey"), - onPageDownKey: /* @__PURE__ */ __name(function onPageDownKey(event) { + onPageDownKey: /* @__PURE__ */ __name(function onPageDownKey2(event) { this.scrollInView(this.visibleOptions.length - 1); event.preventDefault(); }, "onPageDownKey"), - onEnterKey: /* @__PURE__ */ __name(function onEnterKey(event) { + onEnterKey: /* @__PURE__ */ __name(function onEnterKey2(event) { if (!this.typeahead) { if (this.multiple) { this.updateModel(event, [].concat(_toConsumableArray$1(this.modelValue || []), [event.target.value])); @@ -1874,7 +2380,7 @@ var script$a = { removeOption: /* @__PURE__ */ __name(function removeOption(event, index) { var _this14 = this; var removedOption = this.modelValue[index]; - var value = this.modelValue.filter(function(_, i) { + var value = this.modelValue.filter(function(_2, i) { return i !== index; }).map(function(option2) { return _this14.getOptionValue(option2); @@ -1900,12 +2406,12 @@ var script$a = { } } }, "changeFocusedOptionIndex"), - scrollInView: /* @__PURE__ */ __name(function scrollInView() { + scrollInView: /* @__PURE__ */ __name(function scrollInView2() { var _this15 = this; var index = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : -1; this.$nextTick(function() { - var id = index !== -1 ? "".concat(_this15.id, "_").concat(index) : _this15.focusedOptionId; - var element = findSingle(_this15.list, 'li[id="'.concat(id, '"]')); + var id2 = index !== -1 ? "".concat(_this15.id, "_").concat(index) : _this15.focusedOptionId; + var element = findSingle(_this15.list, 'li[id="'.concat(id2, '"]')); if (element) { element.scrollIntoView && element.scrollIntoView({ block: "nearest", @@ -2021,12 +2527,12 @@ var script$a = { }, "hasFluid") }, components: { - InputText: script$h, - VirtualScroller: script$i, - Portal: script$j, - ChevronDownIcon: script$k, - SpinnerIcon: script$l, - Chip: script$m + InputText: script$m, + VirtualScroller: script$n, + Portal: script$o, + ChevronDownIcon: script$p, + SpinnerIcon: script$q, + Chip: script$r }, directives: { ripple: Ripple @@ -2084,7 +2590,7 @@ function _toPrimitive$4(t, r) { return ("string" === r ? String : Number)(t); } __name(_toPrimitive$4, "_toPrimitive$4"); -var _hoisted_1$e = ["aria-activedescendant"]; +var _hoisted_1$g = ["aria-activedescendant"]; var _hoisted_2$7 = ["id", "aria-label", "aria-setsize", "aria-posinset"]; var _hoisted_3$6 = ["id", "placeholder", "tabindex", "disabled", "aria-label", "aria-labelledby", "aria-expanded", "aria-controls", "aria-activedescendant", "aria-invalid"]; var _hoisted_4$3 = ["disabled", "aria-expanded", "aria-controls"]; @@ -2092,7 +2598,7 @@ var _hoisted_5$3 = ["id"]; var _hoisted_6$2 = ["id", "aria-label"]; var _hoisted_7$1 = ["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$c(_ctx, _cache, $props, $setup, $data, $options) { +function render$d(_ctx, _cache, $props, $setup, $data, $options) { var _component_InputText = resolveComponent("InputText"); var _component_Chip = resolveComponent("Chip"); var _component_SpinnerIcon = resolveComponent("SpinnerIcon"); @@ -2235,7 +2741,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$6)], 16)], 16, _hoisted_1$e)) : createCommentVNode("", true), $data.searching || _ctx.loading ? renderSlot(_ctx.$slots, _ctx.$slots.loader ? "loader" : "loadingicon", { + }, _ctx.ptm("input")), null, 16, _hoisted_3$6)], 16)], 16, _hoisted_1$g)) : createCommentVNode("", true), $data.searching || _ctx.loading ? renderSlot(_ctx.$slots, _ctx.$slots.loader ? "loader" : "loadingicon", { key: 2, "class": normalizeClass(_ctx.cx("loader")) }, function() { @@ -2367,7 +2873,7 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) { "aria-disabled": $options.isOptionDisabled(option2), "aria-setsize": $options.ariaSetSize, "aria-posinset": $options.getAriaPosInset($options.getOptionIndex(i, getItemOptions)), - onClick: /* @__PURE__ */ __name(function onClick($event) { + onClick: /* @__PURE__ */ __name(function onClick2($event) { return $options.onOptionSelect($event, option2); }, "onClick"), onMousemove: /* @__PURE__ */ __name(function onMousemove($event) { @@ -2418,9 +2924,9 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) { _: 3 }, 8, ["appendTo"])], 16); } -__name(render$c, "render$c"); -script$a.render = render$c; -const _sfc_main$g = { +__name(render$d, "render$d"); +script$a.render = render$d; +const _sfc_main$j = { name: "AutoCompletePlus", extends: script$a, emits: ["focused-option-changed"], @@ -2436,7 +2942,7 @@ const _sfc_main$g = { ); } }; -const _hoisted_1$d = { class: "option-container flex justify-between items-center px-2 py-0 cursor-pointer overflow-hidden w-full" }; +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$6 = { class: "option-display-name font-semibold flex flex-col" }; const _hoisted_3$5 = { key: 0 }; const _hoisted_4$2 = ["innerHTML"]; @@ -2446,7 +2952,7 @@ const _hoisted_6$1 = { class: "option-category font-light text-sm text-gray-400 overflow-hidden text-ellipsis whitespace-nowrap" }; const _hoisted_7 = { class: "option-badges" }; -const _sfc_main$f = /* @__PURE__ */ defineComponent({ +const _sfc_main$i = /* @__PURE__ */ defineComponent({ __name: "NodeSearchItem", props: { nodeDef: {}, @@ -2473,7 +2979,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({ ); const props = __props; return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", _hoisted_1$d, [ + return openBlock(), createElementBlock("div", _hoisted_1$f, [ createBaseVNode("div", _hoisted_2$6, [ createBaseVNode("div", null, [ isBookmarked.value ? (openBlock(), createElementBlock("span", _hoisted_3$5, _cache[0] || (_cache[0] = [ @@ -2483,7 +2989,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({ innerHTML: unref(highlightQuery)(_ctx.nodeDef.display_name, _ctx.currentQuery) }, null, 8, _hoisted_4$2), _cache[1] || (_cache[1] = createBaseVNode("span", null, " ", -1)), - showIdName.value ? (openBlock(), createBlock(unref(script$n), { + showIdName.value ? (openBlock(), createBlock(unref(script$s), { key: 1, severity: "secondary" }, { @@ -2498,22 +3004,22 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({ showCategory.value ? (openBlock(), createElementBlock("div", _hoisted_6$1, toDisplayString(_ctx.nodeDef.category.replaceAll("/", " > ")), 1)) : createCommentVNode("", true) ]), createBaseVNode("div", _hoisted_7, [ - _ctx.nodeDef.experimental ? (openBlock(), createBlock(unref(script$n), { + _ctx.nodeDef.experimental ? (openBlock(), createBlock(unref(script$s), { key: 0, value: _ctx.$t("experimental"), severity: "primary" }, null, 8, ["value"])) : createCommentVNode("", true), - _ctx.nodeDef.deprecated ? (openBlock(), createBlock(unref(script$n), { + _ctx.nodeDef.deprecated ? (openBlock(), createBlock(unref(script$s), { key: 1, value: _ctx.$t("deprecated"), severity: "danger" }, null, 8, ["value"])) : createCommentVNode("", true), - showNodeFrequency.value && nodeFrequency.value > 0 ? (openBlock(), createBlock(unref(script$n), { + showNodeFrequency.value && nodeFrequency.value > 0 ? (openBlock(), createBlock(unref(script$s), { 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$m), { + _ctx.nodeDef.nodeSource.type !== unref(NodeSourceType).Unknown ? (openBlock(), createBlock(unref(script$r), { key: 3, class: "text-sm font-light" }, { @@ -2527,14 +3033,14 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({ }; } }); -const NodeSearchItem = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-37f672ab"]]); -const _hoisted_1$c = { class: "comfy-vue-node-search-container" }; +const NodeSearchItem = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-37f672ab"]]); +const _hoisted_1$e = { class: "comfy-vue-node-search-container" }; const _hoisted_2$5 = { key: 0, class: "comfy-vue-node-preview-container" }; const _hoisted_3$4 = { class: "_dialog-body" }; -const _sfc_main$e = /* @__PURE__ */ defineComponent({ +const _sfc_main$h = /* @__PURE__ */ defineComponent({ __name: "NodeSearchBox", props: { filters: {}, @@ -2596,20 +3102,20 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({ hoveredSuggestion.value = value; }, "setHoverSuggestion"); return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", _hoisted_1$c, [ + return openBlock(), createElementBlock("div", _hoisted_1$e, [ enableNodePreview.value ? (openBlock(), createElementBlock("div", _hoisted_2$5, [ hoveredSuggestion.value ? (openBlock(), createBlock(NodePreview, { nodeDef: hoveredSuggestion.value, key: hoveredSuggestion.value?.name || "" }, null, 8, ["nodeDef"])) : createCommentVNode("", true) ])) : createCommentVNode("", true), - createVNode(unref(script$f), { + createVNode(unref(script$h), { icon: "pi pi-filter", severity: "secondary", class: "_filter-button", onClick: _cache[0] || (_cache[0] = ($event) => nodeSearchFilterVisible.value = true) }), - createVNode(unref(script$o), { + createVNode(unref(script$t), { visible: nodeSearchFilterVisible.value, "onUpdate:visible": _cache[1] || (_cache[1] = ($event) => nodeSearchFilterVisible.value = $event), class: "_dialog" @@ -2624,7 +3130,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({ ]), _: 1 }, 8, ["visible"]), - createVNode(_sfc_main$g, { + createVNode(_sfc_main$j, { "model-value": props.filters, class: "comfy-vue-node-search-box", scrollHeight: "40vh", @@ -2664,7 +3170,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({ }; } }); -const NodeSearchBox = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-2d409367"]]); +const NodeSearchBox = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-2d409367"]]); class ConnectingLinkImpl { static { __name(this, "ConnectingLinkImpl"); @@ -2720,7 +3226,7 @@ class ConnectingLinkImpl { } } } -const _sfc_main$d = /* @__PURE__ */ defineComponent({ +const _sfc_main$g = /* @__PURE__ */ defineComponent({ __name: "NodeSearchBoxPopover", setup(__props) { const settingStore = useSettingStore(); @@ -2869,7 +3375,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({ }); return (_ctx, _cache) => { return openBlock(), createElementBlock("div", null, [ - createVNode(unref(script$o), { + createVNode(unref(script$t), { visible: visible.value, "onUpdate:visible": _cache[0] || (_cache[0] = ($event) => visible.value = $event), modal: "", @@ -2904,7 +3410,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({ }; } }); -const _sfc_main$c = /* @__PURE__ */ defineComponent({ +const _sfc_main$f = /* @__PURE__ */ defineComponent({ __name: "NodeTooltip", setup(__props) { let idleTimeout; @@ -3003,37 +3509,92 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({ }; } }); -const NodeTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-79ec8c53"]]); -const _hoisted_1$b = { +const NodeTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-79ec8c53"]]); +const _sfc_main$e = /* @__PURE__ */ defineComponent({ + __name: "NodeBadge", + setup(__props) { + const settingStore = useSettingStore(); + 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 colorPalette = computed( + () => getColorPalette(settingStore.get("Comfy.ColorPalette")) + ); + 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: colorPalette.value.colors.litegraph_base?.BADGE_FG_COLOR || defaultColorPalette.colors.litegraph_base.BADGE_FG_COLOR, + bgColor: colorPalette.value.colors.litegraph_base?.BADGE_BG_COLOR || defaultColorPalette.colors.litegraph_base.BADGE_BG_COLOR + }); + }); + node.badges.push(() => badge.value); + } + }); + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div"); + }; + } +}); +const _hoisted_1$d = { viewBox: "0 0 1024 1024", width: "1.2em", height: "1.2em" }; -function render$b(_ctx, _cache) { - return openBlock(), createElementBlock("svg", _hoisted_1$b, _cache[0] || (_cache[0] = [ +function render$c(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$d, _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$b, "render$b"); -const __unplugin_components_1 = markRaw({ name: "simple-line-icons-cursor", render: render$b }); -const _hoisted_1$a = { +__name(render$c, "render$c"); +const __unplugin_components_1$1 = markRaw({ name: "simple-line-icons-cursor", render: render$c }); +const _hoisted_1$c = { viewBox: "0 0 24 24", width: "1.2em", height: "1.2em" }; -function render$a(_ctx, _cache) { - return openBlock(), createElementBlock("svg", _hoisted_1$a, _cache[0] || (_cache[0] = [ +function render$b(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$c, _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$a, "render$a"); -const __unplugin_components_0$1 = markRaw({ name: "material-symbols-pan-tool-outline", render: render$a }); +__name(render$b, "render$b"); +const __unplugin_components_0$2 = markRaw({ name: "material-symbols-pan-tool-outline", render: render$b }); var theme$5 = /* @__PURE__ */ __name(function theme4(_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"; @@ -3048,9 +3609,9 @@ var ButtonGroupStyle = BaseStyle.extend({ }); var script$1$5 = { name: "BaseButtonGroup", - "extends": script$g, + "extends": script$i, style: ButtonGroupStyle, - provide: /* @__PURE__ */ __name(function provide6() { + provide: /* @__PURE__ */ __name(function provide8() { return { $pcButtonGroup: this, $parentInstance: this @@ -3062,15 +3623,15 @@ var script$9 = { "extends": script$1$5, inheritAttrs: false }; -function render$9(_ctx, _cache, $props, $setup, $data, $options) { +function render$a(_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$9.render = render$9; -const _sfc_main$b = /* @__PURE__ */ defineComponent({ +__name(render$a, "render$a"); +script$9.render = render$a; +const _sfc_main$d = /* @__PURE__ */ defineComponent({ __name: "GraphCanvasMenu", setup(__props) { const { t } = useI18n(); @@ -3094,12 +3655,12 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({ } }, "stopRepeat"); return (_ctx, _cache) => { - const _component_i_material_symbols58pan_tool_outline = __unplugin_components_0$1; - const _component_i_simple_line_icons58cursor = __unplugin_components_1; + const _component_i_material_symbols58pan_tool_outline = __unplugin_components_0$2; + const _component_i_simple_line_icons58cursor = __unplugin_components_1$1; const _directive_tooltip = resolveDirective("tooltip"); return openBlock(), createBlock(unref(script$9), { class: "p-buttongroup-vertical absolute bottom-[10px] right-[10px] z-[1000] pointer-events-auto" }, { default: withCtx(() => [ - withDirectives(createVNode(unref(script$f), { + withDirectives(createVNode(unref(script$h), { severity: "secondary", icon: "pi pi-plus", onMousedown: _cache[0] || (_cache[0] = ($event) => repeat2("Comfy.Canvas.ZoomIn")), @@ -3112,7 +3673,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({ { left: true } ] ]), - withDirectives(createVNode(unref(script$f), { + withDirectives(createVNode(unref(script$h), { severity: "secondary", icon: "pi pi-minus", onMousedown: _cache[1] || (_cache[1] = ($event) => repeat2("Comfy.Canvas.ZoomOut")), @@ -3125,7 +3686,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({ { left: true } ] ]), - withDirectives(createVNode(unref(script$f), { + withDirectives(createVNode(unref(script$h), { severity: "secondary", icon: "pi pi-expand", onClick: _cache[2] || (_cache[2] = () => unref(commandStore).execute("Comfy.Canvas.ResetView")) @@ -3137,7 +3698,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({ { left: true } ] ]), - withDirectives((openBlock(), createBlock(unref(script$f), { + withDirectives((openBlock(), createBlock(unref(script$h), { severity: "secondary", onClick: _cache[3] || (_cache[3] = () => unref(commandStore).execute("Comfy.Canvas.ToggleLock")) }, { @@ -3155,7 +3716,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({ { left: true } ] ]), - withDirectives(createVNode(unref(script$f), { + withDirectives(createVNode(unref(script$h), { severity: "secondary", icon: linkHidden.value ? "pi pi-eye-slash" : "pi pi-eye", onClick: _cache[4] || (_cache[4] = () => unref(commandStore).execute("Comfy.Canvas.ToggleLinkVisibility")), @@ -3174,8 +3735,8 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({ }; } }); -const GraphCanvasMenu = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-444d3768"]]); -const _sfc_main$a = /* @__PURE__ */ defineComponent({ +const GraphCanvasMenu = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-444d3768"]]); +const _sfc_main$c = /* @__PURE__ */ defineComponent({ __name: "GraphCanvas", emits: ["ready"], setup(__props, { emit: __emit }) { @@ -3187,7 +3748,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({ const canvasStore = useCanvasStore(); const modelToNodeStore = useModelToNodeStore(); const betaMenuEnabled = computed( - () => settingStore.get("Comfy.UseNewMenu") !== "Disabled" + () => settingStore.get("Comfy.UseNewMenu") !== "Disabled" && !workspaceStore.focusMode ); const canvasMenuEnabled = computed( () => settingStore.get("Comfy.Graph.CanvasMenu") @@ -3222,6 +3783,18 @@ const _sfc_main$a = /* @__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(() => { if (!canvasStore.canvas) return; if (canvasStore.canvas.dragging_canvas) { @@ -3311,6 +3884,9 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({ "side-bar-panel": withCtx(() => [ createVNode(SideToolbar) ]), + "bottom-panel": withCtx(() => [ + createVNode(_sfc_main$l) + ]), "graph-canvas-panel": withCtx(() => [ canvasMenuEnabled.value ? (openBlock(), createBlock(GraphCanvasMenu, { key: 0 })) : createCommentVNode("", true) ]), @@ -3325,12 +3901,46 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({ tabindex: "1" }, null, 512) ])), - createVNode(_sfc_main$d), - tooltipEnabled.value ? (openBlock(), createBlock(NodeTooltip, { key: 0 })) : createCommentVNode("", true) + createVNode(_sfc_main$g), + tooltipEnabled.value ? (openBlock(), createBlock(NodeTooltip, { key: 0 })) : createCommentVNode("", true), + createVNode(_sfc_main$e) ], 64); }; } }); +const _sfc_main$b = /* @__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"; + } + }); + return (_ctx, _cache) => { + return withDirectives((openBlock(), createBlock(unref(script$h), { + class: "comfy-menu-hamburger", + icon: "pi pi-bars", + severity: "secondary", + text: "", + size: "large", + onClick: exitFocusMode + }, null, 512)), [ + [vShow, unref(workspaceState).focusMode] + ]); + }; + } +}); +const MenuHamburger = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-eac4cb71"]]); function _typeof$3(o) { "@babel/helpers - typeof"; return _typeof$3 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { @@ -3365,7 +3975,7 @@ var theme$4 = /* @__PURE__ */ __name(function theme5(_ref) { 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"); }, "theme"); var inlineStyles$2 = { - root: /* @__PURE__ */ __name(function root5(_ref2) { + root: /* @__PURE__ */ __name(function root6(_ref2) { var position = _ref2.position; return { position: "fixed", @@ -3377,7 +3987,7 @@ var inlineStyles$2 = { }, "root") }; var classes$4 = { - root: /* @__PURE__ */ __name(function root6(_ref3) { + root: /* @__PURE__ */ __name(function root7(_ref3) { var props = _ref3.props; return ["p-toast p-component p-toast-" + props.position]; }, "root"), @@ -3411,9 +4021,9 @@ var ToastStyle = BaseStyle.extend({ }); var script$8 = { name: "ExclamationTriangleIcon", - "extends": script$p + "extends": script$u }; -function render$8(_ctx, _cache, $props, $setup, $data, $options) { +function render$9(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps({ width: "14", height: "14", @@ -3431,13 +4041,13 @@ function render$8(_ctx, _cache, $props, $setup, $data, $options) { fill: "currentColor" }, null, -1)]), 16); } -__name(render$8, "render$8"); -script$8.render = render$8; +__name(render$9, "render$9"); +script$8.render = render$9; var script$7 = { name: "InfoCircleIcon", - "extends": script$p + "extends": script$u }; -function render$7(_ctx, _cache, $props, $setup, $data, $options) { +function render$8(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps({ width: "14", height: "14", @@ -3451,11 +4061,11 @@ function render$7(_ctx, _cache, $props, $setup, $data, $options) { fill: "currentColor" }, null, -1)]), 16); } -__name(render$7, "render$7"); -script$7.render = render$7; +__name(render$8, "render$8"); +script$7.render = render$8; var script$2$2 = { name: "BaseToast", - "extends": script$g, + "extends": script$i, props: { group: { type: String, @@ -3503,7 +4113,7 @@ var script$2$2 = { } }, style: ToastStyle, - provide: /* @__PURE__ */ __name(function provide7() { + provide: /* @__PURE__ */ __name(function provide9() { return { $pcToast: this, $parentInstance: this @@ -3513,7 +4123,7 @@ var script$2$2 = { var script$1$4 = { name: "ToastMessage", hostName: "Toast", - "extends": script$g, + "extends": script$i, emits: ["close"], closeTimeout: null, props: { @@ -3550,7 +4160,7 @@ var script$1$4 = { "default": null } }, - mounted: /* @__PURE__ */ __name(function mounted3() { + mounted: /* @__PURE__ */ __name(function mounted4() { var _this = this; if (this.message.life) { this.closeTimeout = setTimeout(function() { @@ -3561,7 +4171,7 @@ var script$1$4 = { }, this.message.life); } }, "mounted"), - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount3() { + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount4() { this.clearCloseTimeout(); }, "beforeUnmount"), methods: { @@ -3586,9 +4196,9 @@ var script$1$4 = { iconComponent: /* @__PURE__ */ __name(function iconComponent() { return { info: !this.infoIcon && script$7, - success: !this.successIcon && script$q, + success: !this.successIcon && script$v, warn: !this.warnIcon && script$8, - error: !this.errorIcon && script$r + error: !this.errorIcon && script$w }[this.message.severity]; }, "iconComponent"), closeAriaLabel: /* @__PURE__ */ __name(function closeAriaLabel() { @@ -3596,11 +4206,11 @@ var script$1$4 = { }, "closeAriaLabel") }, components: { - TimesIcon: script$s, + TimesIcon: script$x, InfoCircleIcon: script$7, - CheckIcon: script$q, + CheckIcon: script$v, ExclamationTriangleIcon: script$8, - TimesCircleIcon: script$r + TimesCircleIcon: script$w }, directives: { ripple: Ripple @@ -3658,8 +4268,8 @@ function _toPrimitive$1(t, r) { return ("string" === r ? String : Number)(t); } __name(_toPrimitive$1, "_toPrimitive$1"); -var _hoisted_1$9 = ["aria-label"]; -function render$1$2(_ctx, _cache, $props, $setup, $data, $options) { +var _hoisted_1$b = ["aria-label"]; +function render$1$3(_ctx, _cache, $props, $setup, $data, $options) { var _directive_ripple = resolveDirective("ripple"); return openBlock(), createElementBlock("div", mergeProps({ "class": [_ctx.cx("message"), $props.message.styleClass], @@ -3698,10 +4308,10 @@ 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$9)), [[_directive_ripple]])], 16)) : createCommentVNode("", true)], 16))], 16); + }, _ctx.ptm("closeIcon")), null, 16, ["class"]))], 16, _hoisted_1$b)), [[_directive_ripple]])], 16)) : createCommentVNode("", true)], 16))], 16); } -__name(render$1$2, "render$1$2"); -script$1$4.render = render$1$2; +__name(render$1$3, "render$1$3"); +script$1$4.render = render$1$3; function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); } @@ -3738,13 +4348,13 @@ var script$6 = { "extends": script$2$2, inheritAttrs: false, emits: ["close", "life-end"], - data: /* @__PURE__ */ __name(function data4() { + data: /* @__PURE__ */ __name(function data5() { return { messages: [] }; }, "data"), styleElement: null, - mounted: /* @__PURE__ */ __name(function mounted4() { + mounted: /* @__PURE__ */ __name(function mounted5() { ToastEventBus.on("add", this.onAdd); ToastEventBus.on("remove", this.onRemove); ToastEventBus.on("remove-group", this.onRemoveGroup); @@ -3753,7 +4363,7 @@ var script$6 = { this.createStyle(); } }, "mounted"), - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount4() { + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount5() { this.destroyStyle(); if (this.$refs.container && this.autoZIndex) { ZIndex.clear(this.$refs.container); @@ -3840,7 +4450,7 @@ var script$6 = { }, components: { ToastMessage: script$1$4, - Portal: script$j + Portal: script$o } }; function _typeof$2(o) { @@ -3895,7 +4505,7 @@ function _toPrimitive$2(t, r) { return ("string" === r ? String : Number)(t); } __name(_toPrimitive$2, "_toPrimitive$2"); -function render$6(_ctx, _cache, $props, $setup, $data, $options) { +function render$7(_ctx, _cache, $props, $setup, $data, $options) { var _component_ToastMessage = resolveComponent("ToastMessage"); var _component_Portal = resolveComponent("Portal"); return openBlock(), createBlock(_component_Portal, null, { @@ -3938,9 +4548,9 @@ function render$6(_ctx, _cache, $props, $setup, $data, $options) { _: 1 }); } -__name(render$6, "render$6"); -script$6.render = render$6; -const _sfc_main$9 = /* @__PURE__ */ defineComponent({ +__name(render$7, "render$7"); +script$6.render = render$7; +const _sfc_main$a = /* @__PURE__ */ defineComponent({ __name: "GlobalToast", setup(__props) { const toast = useToast(); @@ -4014,7 +4624,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({ }; } }); -const _sfc_main$8 = /* @__PURE__ */ defineComponent({ +const _sfc_main$9 = /* @__PURE__ */ defineComponent({ __name: "UnloadWindowConfirmDialog", setup(__props) { const settingStore = useSettingStore(); @@ -4038,7 +4648,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({ }); const DEFAULT_TITLE = "ComfyUI"; const TITLE_SUFFIX = " - ComfyUI"; -const _sfc_main$7 = /* @__PURE__ */ defineComponent({ +const _sfc_main$8 = /* @__PURE__ */ defineComponent({ __name: "BrowserTabTitle", setup(__props) { const executionStore = useExecutionStore(); @@ -4070,13 +4680,13 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({ }; } }); -const _hoisted_1$8 = { class: "workflow-label text-sm max-w-[150px] truncate inline-block" }; +const _hoisted_1$a = { class: "workflow-label text-sm max-w-[150px] truncate inline-block" }; const _hoisted_2$4 = { class: "relative" }; const _hoisted_3$3 = { key: 0, class: "status-indicator" }; -const _sfc_main$6 = /* @__PURE__ */ defineComponent({ +const _sfc_main$7 = /* @__PURE__ */ defineComponent({ __name: "WorkflowTabs", props: { class: {} @@ -4113,7 +4723,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({ }, "onCloseWorkflow"); return (_ctx, _cache) => { const _directive_tooltip = resolveDirective("tooltip"); - return openBlock(), createBlock(unref(script$t), { + return openBlock(), createBlock(unref(script$y), { class: normalizeClass(["workflow-tabs bg-transparent flex flex-wrap", props.class]), modelValue: selectedWorkflow.value, "onUpdate:modelValue": onWorkflowChange, @@ -4122,14 +4732,14 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({ dataKey: "value" }, { option: withCtx(({ option: option2 }) => [ - withDirectives((openBlock(), createElementBlock("span", _hoisted_1$8, [ + withDirectives((openBlock(), createElementBlock("span", _hoisted_1$a, [ createTextVNode(toDisplayString(option2.label), 1) ])), [ [_directive_tooltip, option2.tooltip] ]), createBaseVNode("div", _hoisted_2$4, [ option2.unsaved ? (openBlock(), createElementBlock("span", _hoisted_3$3, "•")) : createCommentVNode("", true), - createVNode(unref(script$f), { + createVNode(unref(script$h), { class: "close-button p-0 w-auto", icon: "pi pi-times", text: "", @@ -4144,7 +4754,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({ }; } }); -const WorkflowTabs = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-84e785b8"]]); +const WorkflowTabs = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-84e785b8"]]); var theme$3 = /* @__PURE__ */ __name(function theme6(_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"); @@ -4158,7 +4768,7 @@ var inlineStyles$1 = { }, "submenu") }; var classes$3 = { - root: /* @__PURE__ */ __name(function root7(_ref3) { + root: /* @__PURE__ */ __name(function root8(_ref3) { var instance = _ref3.instance; return ["p-menubar p-component", { "p-menubar-mobile": instance.queryMatches, @@ -4193,7 +4803,7 @@ var MenubarStyle = BaseStyle.extend({ }); var script$2$1 = { name: "BaseMenubar", - "extends": script$g, + "extends": script$i, props: { model: { type: Array, @@ -4217,7 +4827,7 @@ var script$2$1 = { } }, style: MenubarStyle, - provide: /* @__PURE__ */ __name(function provide8() { + provide: /* @__PURE__ */ __name(function provide10() { return { $pcMenubar: this, $parentInstance: this @@ -4227,7 +4837,7 @@ var script$2$1 = { var script$1$3 = { name: "MenubarSub", hostName: "Menubar", - "extends": script$g, + "extends": script$i, emits: ["item-mouseenter", "item-click", "item-mousemove"], props: { items: { @@ -4373,8 +4983,8 @@ var script$1$3 = { }, "getAriaSetSize") }, components: { - AngleRightIcon: script$u, - AngleDownIcon: script$v + AngleRightIcon: script$z, + AngleDownIcon: script$A }, directives: { ripple: Ripple @@ -4385,7 +4995,7 @@ var _hoisted_2$3 = ["onClick", "onMouseenter", "onMousemove"]; var _hoisted_3$2 = ["href", "target"]; var _hoisted_4$1 = ["id"]; var _hoisted_5$1 = ["id"]; -function render$1$1(_ctx, _cache, $props, $setup, $data, $options) { +function render$1$2(_ctx, _cache, $props, $setup, $data, $options) { var _component_MenubarSub = resolveComponent("MenubarSub", true); var _directive_ripple = resolveDirective("ripple"); return openBlock(), createElementBlock("ul", mergeProps({ @@ -4415,7 +5025,7 @@ function render$1$1(_ctx, _cache, $props, $setup, $data, $options) { "data-p-disabled": $options.isItemDisabled(processedItem) }), [createBaseVNode("div", mergeProps({ "class": _ctx.cx("itemContent"), - onClick: /* @__PURE__ */ __name(function onClick($event) { + onClick: /* @__PURE__ */ __name(function onClick2($event) { return $options.onItemClick($event, processedItem); }, "onClick"), onMouseenter: /* @__PURE__ */ __name(function onMouseenter($event) { @@ -4498,15 +5108,15 @@ function render$1$1(_ctx, _cache, $props, $setup, $data, $options) { }, _ctx.ptm("separator")), null, 16, _hoisted_5$1)) : createCommentVNode("", true)], 64); }), 128))], 16); } -__name(render$1$1, "render$1$1"); -script$1$3.render = render$1$1; +__name(render$1$2, "render$1$2"); +script$1$3.render = render$1$2; var script$5 = { name: "Menubar", "extends": script$2$1, inheritAttrs: false, emits: ["focus", "blur"], matchMediaListener: null, - data: /* @__PURE__ */ __name(function data5() { + data: /* @__PURE__ */ __name(function data6() { return { id: this.$attrs.id, mobileActive: false, @@ -4539,11 +5149,11 @@ var script$5 = { outsideClickListener: null, container: null, menubar: null, - mounted: /* @__PURE__ */ __name(function mounted5() { + mounted: /* @__PURE__ */ __name(function mounted6() { this.id = this.id || UniqueComponentId(); this.bindMatchMediaListener(); }, "mounted"), - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount5() { + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount6() { this.mobileActive = false; this.unbindOutsideClickListener(); this.unbindResizeListener(); @@ -4614,7 +5224,7 @@ var script$5 = { isFocus && focus(this.menubar); this.dirty = false; }, "hide"), - onFocus: /* @__PURE__ */ __name(function onFocus2(event) { + onFocus: /* @__PURE__ */ __name(function onFocus3(event) { this.focused = true; this.focusedItemInfo = this.focusedItemInfo.index !== -1 ? this.focusedItemInfo : { index: this.findFirstFocusedItemIndex(), @@ -4702,7 +5312,7 @@ var script$5 = { onItemClick: /* @__PURE__ */ __name(function onItemClick2(event) { var originalEvent = event.originalEvent, processedItem = event.processedItem; var grouped = this.isProccessedItemGroup(processedItem); - var root11 = isEmpty(processedItem.parent); + var root12 = isEmpty(processedItem.parent); var selected = this.isSelected(processedItem); if (selected) { var index = processedItem.index, key = processedItem.key, level = processedItem.level, parentKey = processedItem.parentKey; @@ -4714,13 +5324,13 @@ var script$5 = { level, parentKey }; - this.dirty = !root11; + this.dirty = !root12; focus(this.menubar); } else { if (grouped) { this.onItemChange(event); } else { - var rootProcessedItem = root11 ? processedItem : this.activeItemPath.find(function(p) { + var rootProcessedItem = root12 ? processedItem : this.activeItemPath.find(function(p) { return p.parentKey === ""; }); this.hide(originalEvent); @@ -4748,8 +5358,8 @@ var script$5 = { }, "menuButtonKeydown"), onArrowDownKey: /* @__PURE__ */ __name(function onArrowDownKey2(event) { var processedItem = this.visibleItems[this.focusedItemInfo.index]; - var root11 = processedItem ? isEmpty(processedItem.parent) : null; - if (root11) { + var root12 = processedItem ? isEmpty(processedItem.parent) : null; + if (root12) { var grouped = this.isProccessedItemGroup(processedItem); if (grouped) { this.onItemChange({ @@ -4771,8 +5381,8 @@ var script$5 = { onArrowUpKey: /* @__PURE__ */ __name(function onArrowUpKey2(event) { var _this3 = this; var processedItem = this.visibleItems[this.focusedItemInfo.index]; - var root11 = isEmpty(processedItem.parent); - if (root11) { + var root12 = isEmpty(processedItem.parent); + if (root12) { var grouped = this.isProccessedItemGroup(processedItem); if (grouped) { this.onItemChange({ @@ -4807,7 +5417,7 @@ var script$5 = { } event.preventDefault(); }, "onArrowUpKey"), - onArrowLeftKey: /* @__PURE__ */ __name(function onArrowLeftKey2(event) { + onArrowLeftKey: /* @__PURE__ */ __name(function onArrowLeftKey3(event) { var _this4 = this; var processedItem = this.visibleItems[this.focusedItemInfo.index]; var parentItem = processedItem ? this.activeItemPath.find(function(p) { @@ -4828,7 +5438,7 @@ var script$5 = { event.preventDefault(); } }, "onArrowLeftKey"), - onArrowRightKey: /* @__PURE__ */ __name(function onArrowRightKey2(event) { + onArrowRightKey: /* @__PURE__ */ __name(function onArrowRightKey3(event) { var processedItem = this.visibleItems[this.focusedItemInfo.index]; var parentItem = processedItem ? this.activeItemPath.find(function(p) { return p.key === processedItem.parentKey; @@ -4852,15 +5462,15 @@ var script$5 = { event.preventDefault(); } }, "onArrowRightKey"), - onHomeKey: /* @__PURE__ */ __name(function onHomeKey2(event) { + onHomeKey: /* @__PURE__ */ __name(function onHomeKey3(event) { this.changeFocusedItemIndex(event, this.findFirstItemIndex()); event.preventDefault(); }, "onHomeKey"), - onEndKey: /* @__PURE__ */ __name(function onEndKey2(event) { + onEndKey: /* @__PURE__ */ __name(function onEndKey3(event) { this.changeFocusedItemIndex(event, this.findLastItemIndex()); event.preventDefault(); }, "onEndKey"), - onEnterKey: /* @__PURE__ */ __name(function onEnterKey2(event) { + onEnterKey: /* @__PURE__ */ __name(function onEnterKey3(event) { 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"]'); @@ -5049,10 +5659,10 @@ var script$5 = { this.scrollInView(); } }, "changeFocusedItemIndex"), - scrollInView: /* @__PURE__ */ __name(function scrollInView2() { + scrollInView: /* @__PURE__ */ __name(function scrollInView3() { var index = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : -1; - var id = index !== -1 ? "".concat(this.id, "_").concat(index) : this.focusedItemId; - var element = findSingle(this.menubar, 'li[id="'.concat(id, '"]')); + var id2 = index !== -1 ? "".concat(this.id, "_").concat(index) : this.focusedItemId; + var element = findSingle(this.menubar, 'li[id="'.concat(id2, '"]')); if (element) { element.scrollIntoView && element.scrollIntoView({ block: "nearest", @@ -5105,7 +5715,7 @@ var script$5 = { }, components: { MenubarSub: script$1$3, - BarsIcon: script$w + BarsIcon: script$B } }; function _typeof(o) { @@ -5160,8 +5770,8 @@ function _toPrimitive(t, r) { return ("string" === r ? String : Number)(t); } __name(_toPrimitive, "_toPrimitive"); -var _hoisted_1$7 = ["aria-haspopup", "aria-expanded", "aria-controls", "aria-label"]; -function render$5(_ctx, _cache, $props, $setup, $data, $options) { +var _hoisted_1$9 = ["aria-haspopup", "aria-expanded", "aria-controls", "aria-label"]; +function render$6(_ctx, _cache, $props, $setup, $data, $options) { var _component_BarsIcon = resolveComponent("BarsIcon"); var _component_MenubarSub = resolveComponent("MenubarSub"); return openBlock(), createElementBlock("div", mergeProps({ @@ -5196,7 +5806,7 @@ function render$5(_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$7)) : createCommentVNode("", true)]; + })], 16, _hoisted_1$9)) : createCommentVNode("", true)]; }), createVNode(_component_MenubarSub, { ref: $options.menubarRef, id: $data.id + "_list", @@ -5226,15 +5836,15 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) { "class": _ctx.cx("end") }, _ctx.ptm("end")), [renderSlot(_ctx.$slots, "end")], 16)) : createCommentVNode("", true)], 16); } -__name(render$5, "render$5"); -script$5.render = render$5; -const _hoisted_1$6 = ["href"]; +__name(render$6, "render$6"); +script$5.render = render$6; +const _hoisted_1$8 = ["href"]; const _hoisted_2$2 = { class: "p-menubar-item-label" }; const _hoisted_3$1 = { key: 1, class: "ml-auto border border-surface rounded text-muted text-xs p-1 keybinding-tag" }; -const _sfc_main$5 = /* @__PURE__ */ defineComponent({ +const _sfc_main$6 = /* @__PURE__ */ defineComponent({ __name: "CommandMenubar", setup(__props) { const settingStore = useSettingStore(); @@ -5264,20 +5874,20 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({ }, null, 2)) : createCommentVNode("", true), createBaseVNode("span", _hoisted_2$2, 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$6) + ], 16, _hoisted_1$8) ]), _: 1 }, 8, ["model", "pt"]); }; } }); -const CommandMenubar = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-9646ca0a"]]); +const CommandMenubar = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-9646ca0a"]]); var theme$2 = /* @__PURE__ */ __name(function theme7(_ref) { var dt = _ref.dt; return "\n.p-panel {\n border: 1px solid ".concat(dt("panel.border.color"), ";\n border-radius: ").concat(dt("panel.border.radius"), ";\n background: ").concat(dt("panel.background"), ";\n color: ").concat(dt("panel.color"), ";\n}\n\n.p-panel-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: ").concat(dt("panel.header.padding"), ";\n background: ").concat(dt("panel.header.background"), ";\n color: ").concat(dt("panel.header.color"), ";\n border-style: solid;\n border-width: ").concat(dt("panel.header.border.width"), ";\n border-color: ").concat(dt("panel.header.border.color"), ";\n border-radius: ").concat(dt("panel.header.border.radius"), ";\n}\n\n.p-panel-toggleable .p-panel-header {\n padding: ").concat(dt("panel.toggleable.header.padding"), ";\n}\n\n.p-panel-title {\n line-height: 1;\n font-weight: ").concat(dt("panel.title.font.weight"), ";\n}\n\n.p-panel-content {\n padding: ").concat(dt("panel.content.padding"), ";\n}\n\n.p-panel-footer {\n padding: ").concat(dt("panel.footer.padding"), ";\n}\n"); }, "theme"); var classes$2 = { - root: /* @__PURE__ */ __name(function root8(_ref2) { + root: /* @__PURE__ */ __name(function root9(_ref2) { var props = _ref2.props; return ["p-panel p-component", { "p-panel-toggleable": props.toggleable @@ -5298,7 +5908,7 @@ var PanelStyle = BaseStyle.extend({ }); var script$1$2 = { name: "BasePanel", - "extends": script$g, + "extends": script$i, props: { header: String, toggleable: Boolean, @@ -5315,7 +5925,7 @@ var script$1$2 = { } }, style: PanelStyle, - provide: /* @__PURE__ */ __name(function provide9() { + provide: /* @__PURE__ */ __name(function provide11() { return { $pcPanel: this, $parentInstance: this @@ -5327,7 +5937,7 @@ var script$4 = { "extends": script$1$2, inheritAttrs: false, emits: ["update:collapsed", "toggle"], - data: /* @__PURE__ */ __name(function data6() { + data: /* @__PURE__ */ __name(function data7() { return { id: this.$attrs.id, d_collapsed: this.collapsed @@ -5341,7 +5951,7 @@ var script$4 = { this.d_collapsed = newValue; }, "collapsed") }, - mounted: /* @__PURE__ */ __name(function mounted6() { + mounted: /* @__PURE__ */ __name(function mounted7() { this.id = this.id || UniqueComponentId(); }, "mounted"), methods: { @@ -5366,17 +5976,17 @@ var script$4 = { }, "buttonAriaLabel") }, components: { - PlusIcon: script$x, - MinusIcon: script$y, - Button: script$f + PlusIcon: script$C, + MinusIcon: script$D, + Button: script$h }, directives: { ripple: Ripple } }; -var _hoisted_1$5 = ["id"]; +var _hoisted_1$7 = ["id"]; var _hoisted_2$1 = ["id", "aria-labelledby"]; -function render$4(_ctx, _cache, $props, $setup, $data, $options) { +function render$5(_ctx, _cache, $props, $setup, $data, $options) { var _component_Button = resolveComponent("Button"); return openBlock(), createElementBlock("div", mergeProps({ "class": _ctx.cx("root") @@ -5390,7 +6000,7 @@ function render$4(_ctx, _cache, $props, $setup, $data, $options) { key: 0, id: $data.id + "_header", "class": _ctx.cx("title") - }, _ctx.ptm("title")), toDisplayString(_ctx.header), 17, _hoisted_1$5)) : createCommentVNode("", true)]; + }, _ctx.ptm("title")), toDisplayString(_ctx.header), 17, _hoisted_1$7)) : createCommentVNode("", true)]; }), createBaseVNode("div", mergeProps({ "class": _ctx.cx("headerActions") }, _ctx.ptm("headerActions")), [renderSlot(_ctx.$slots, "icons"), _ctx.toggleable ? (openBlock(), createBlock(_component_Button, mergeProps({ @@ -5435,15 +6045,15 @@ function render$4(_ctx, _cache, $props, $setup, $data, $options) { _: 3 }, 16)], 16); } -__name(render$4, "render$4"); -script$4.render = render$4; -const _hoisted_1$4 = { +__name(render$5, "render$5"); +script$4.render = render$5; +const _hoisted_1$6 = { viewBox: "0 0 24 24", width: "1.2em", height: "1.2em" }; -function render$3(_ctx, _cache) { - return openBlock(), createElementBlock("svg", _hoisted_1$4, _cache[0] || (_cache[0] = [ +function render$4(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$6, _cache[0] || (_cache[0] = [ createBaseVNode("g", { fill: "none", stroke: "currentColor", @@ -5456,8 +6066,8 @@ function render$3(_ctx, _cache) { ], -1) ])); } -__name(render$3, "render$3"); -const __unplugin_components_0 = markRaw({ name: "lucide-list-start", render: render$3 }); +__name(render$4, "render$4"); +const __unplugin_components_0$1 = markRaw({ name: "lucide-list-start", render: render$4 }); var theme$1 = /* @__PURE__ */ __name(function theme8(_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\n.p-tieredmenu-mobile {\n position: relative;\n}\n\n.p-tieredmenu-mobile .p-tieredmenu-button {\n display: flex;\n}\n\n.p-tieredmenu-mobile .p-tieredmenu-root-list > .p-tieredmenu-item > .p-tieredmenu-item-content > .p-tieredmenu-item-link {\n padding: ").concat(dt("tieredmenu.item.padding"), ";\n}\n\n.p-tieredmenu-mobile .p-tieredmenu-root-list .p-tieredmenu-separator {\n border-top: 1px solid ").concat(dt("tieredmenu.separator.border.color"), ";\n}\n\n.p-tieredmenu-mobile .p-tieredmenu-root-list > .p-tieredmenu-item > .p-tieredmenu-item-content .p-tieredmenu-submenu-icon {\n margin-left: auto;\n transition: transform 0.2s;\n}\n\n.p-tieredmenu-mobile .p-tieredmenu-root-list > .p-tieredmenu-item-active > .p-tieredmenu-item-content .p-tieredmenu-submenu-icon {\n transform: rotate(-90deg);\n}\n\n.p-tieredmenu-mobile .p-tieredmenu-submenu .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\n.p-tieredmenu-mobile .p-tieredmenu-submenu {\n position: static;\n box-shadow: none;\n border: 0 none;\n padding-left: ").concat(dt("tieredmenu.submenu.mobile.indent"), ";\n}\n"); @@ -5471,7 +6081,7 @@ var inlineStyles = { }, "submenu") }; var classes$1 = { - root: /* @__PURE__ */ __name(function root9(_ref3) { + root: /* @__PURE__ */ __name(function root10(_ref3) { var props = _ref3.props, instance = _ref3.instance; return ["p-tieredmenu p-component", { "p-tieredmenu-overlay": props.popup, @@ -5505,7 +6115,7 @@ var TieredMenuStyle = BaseStyle.extend({ }); var script$2 = { name: "BaseTieredMenu", - "extends": script$g, + "extends": script$i, props: { popup: { type: Boolean, @@ -5549,7 +6159,7 @@ var script$2 = { } }, style: TieredMenuStyle, - provide: /* @__PURE__ */ __name(function provide10() { + provide: /* @__PURE__ */ __name(function provide12() { return { $pcTieredMenu: this, $parentInstance: this @@ -5559,7 +6169,7 @@ var script$2 = { var script$1$1 = { name: "TieredMenuSub", hostName: "TieredMenu", - "extends": script$g, + "extends": script$i, emits: ["item-click", "item-mouseenter", "item-mousemove"], container: null, props: { @@ -5701,7 +6311,7 @@ var script$1$1 = { }, "containerRef") }, components: { - AngleRightIcon: script$u + AngleRightIcon: script$z }, directives: { ripple: Ripple @@ -5713,7 +6323,7 @@ var _hoisted_3 = ["onClick", "onMouseenter", "onMousemove"]; var _hoisted_4 = ["href", "target"]; var _hoisted_5 = ["id"]; var _hoisted_6 = ["id"]; -function render$1(_ctx, _cache, $props, $setup, $data, $options) { +function render$1$1(_ctx, _cache, $props, $setup, $data, $options) { var _component_AngleRightIcon = resolveComponent("AngleRightIcon"); var _component_TieredMenuSub = resolveComponent("TieredMenuSub", true); var _directive_ripple = resolveDirective("ripple"); @@ -5751,7 +6361,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) { "data-p-disabled": $options.isItemDisabled(processedItem) }), [createBaseVNode("div", mergeProps({ "class": _ctx.cx("itemContent"), - onClick: /* @__PURE__ */ __name(function onClick($event) { + onClick: /* @__PURE__ */ __name(function onClick2($event) { return $options.onItemClick($event, processedItem); }, "onClick"), onMouseenter: /* @__PURE__ */ __name(function onMouseenter($event) { @@ -5838,8 +6448,8 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) { _: 1 }, 16, ["onEnter"]); } -__name(render$1, "render$1"); -script$1$1.render = render$1; +__name(render$1$1, "render$1$1"); +script$1$1.render = render$1$1; var script$3 = { name: "TieredMenu", "extends": script$2, @@ -5854,7 +6464,7 @@ var script$3 = { menubar: null, searchTimeout: null, searchValue: null, - data: /* @__PURE__ */ __name(function data7() { + data: /* @__PURE__ */ __name(function data8() { return { id: this.$attrs.id, focused: false, @@ -5887,11 +6497,11 @@ var script$3 = { } }, "activeItemPath") }, - mounted: /* @__PURE__ */ __name(function mounted7() { + mounted: /* @__PURE__ */ __name(function mounted8() { this.id = this.id || UniqueComponentId(); this.bindMatchMediaListener(); }, "mounted"), - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount6() { + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount7() { this.unbindOutsideClickListener(); this.unbindResizeListener(); this.unbindMatchMediaListener(); @@ -5956,7 +6566,7 @@ var script$3 = { isFocus && focus(this.relatedTarget || this.target || this.menubar); this.dirty = false; }, "hide"), - onFocus: /* @__PURE__ */ __name(function onFocus3(event) { + onFocus: /* @__PURE__ */ __name(function onFocus4(event) { this.focused = true; if (!this.popup) { this.focusedItemInfo = this.focusedItemInfo.index !== -1 ? this.focusedItemInfo : { @@ -6059,7 +6669,7 @@ var script$3 = { onItemClick: /* @__PURE__ */ __name(function onItemClick4(event) { var originalEvent = event.originalEvent, processedItem = event.processedItem; var grouped = this.isProccessedItemGroup(processedItem); - var root11 = isEmpty(processedItem.parent); + var root12 = isEmpty(processedItem.parent); var selected = this.isSelected(processedItem); if (selected) { var index = processedItem.index, key = processedItem.key, level = processedItem.level, parentKey = processedItem.parentKey; @@ -6071,13 +6681,13 @@ var script$3 = { level, parentKey }; - this.dirty = !root11; + this.dirty = !root12; focus(this.menubar); } else { if (grouped) { this.onItemChange(event); } else { - var rootProcessedItem = root11 ? processedItem : this.activeItemPath.find(function(p) { + var rootProcessedItem = root12 ? processedItem : this.activeItemPath.find(function(p) { return p.parentKey === ""; }); this.hide(originalEvent); @@ -6119,14 +6729,14 @@ var script$3 = { event.preventDefault(); } }, "onArrowUpKey"), - onArrowLeftKey: /* @__PURE__ */ __name(function onArrowLeftKey3(event) { + onArrowLeftKey: /* @__PURE__ */ __name(function onArrowLeftKey4(event) { var _this = this; var processedItem = this.visibleItems[this.focusedItemInfo.index]; var parentItem = this.activeItemPath.find(function(p) { return p.key === processedItem.parentKey; }); - var root11 = isEmpty(processedItem.parent); - if (!root11) { + var root12 = isEmpty(processedItem.parent); + if (!root12) { this.focusedItemInfo = { index: -1, parentKey: parentItem ? parentItem.parentKey : "" @@ -6139,7 +6749,7 @@ var script$3 = { }); event.preventDefault(); }, "onArrowLeftKey"), - onArrowRightKey: /* @__PURE__ */ __name(function onArrowRightKey3(event) { + onArrowRightKey: /* @__PURE__ */ __name(function onArrowRightKey4(event) { var processedItem = this.visibleItems[this.focusedItemInfo.index]; var grouped = this.isProccessedItemGroup(processedItem); if (grouped) { @@ -6156,15 +6766,15 @@ var script$3 = { } event.preventDefault(); }, "onArrowRightKey"), - onHomeKey: /* @__PURE__ */ __name(function onHomeKey3(event) { + onHomeKey: /* @__PURE__ */ __name(function onHomeKey4(event) { this.changeFocusedItemIndex(event, this.findFirstItemIndex()); event.preventDefault(); }, "onHomeKey"), - onEndKey: /* @__PURE__ */ __name(function onEndKey3(event) { + onEndKey: /* @__PURE__ */ __name(function onEndKey4(event) { this.changeFocusedItemIndex(event, this.findLastItemIndex()); event.preventDefault(); }, "onEndKey"), - onEnterKey: /* @__PURE__ */ __name(function onEnterKey3(event) { + onEnterKey: /* @__PURE__ */ __name(function onEnterKey4(event) { if (this.focusedItemInfo.index !== -1) { var element = findSingle(this.menubar, 'li[id="'.concat("".concat(this.focusedItemId), '"]')); var anchorElement = element && findSingle(element, '[data-pc-section="itemlink"]'); @@ -6407,10 +7017,10 @@ var script$3 = { this.scrollInView(); } }, "changeFocusedItemIndex"), - scrollInView: /* @__PURE__ */ __name(function scrollInView3() { + scrollInView: /* @__PURE__ */ __name(function scrollInView4() { var index = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : -1; - var id = index !== -1 ? "".concat(this.id, "_").concat(index) : this.focusedItemId; - var element = findSingle(this.menubar, 'li[id="'.concat(id, '"]')); + var id2 = index !== -1 ? "".concat(this.id, "_").concat(index) : this.focusedItemId; + var element = findSingle(this.menubar, 'li[id="'.concat(id2, '"]')); if (element) { element.scrollIntoView && element.scrollIntoView({ block: "nearest", @@ -6463,11 +7073,11 @@ var script$3 = { }, components: { TieredMenuSub: script$1$1, - Portal: script$j + Portal: script$o } }; -var _hoisted_1$3 = ["id"]; -function render$2(_ctx, _cache, $props, $setup, $data, $options) { +var _hoisted_1$5 = ["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, { @@ -6523,7 +7133,7 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) { }, _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$3)) : createCommentVNode("", true)]; + }, _ctx.ptm("end")), [renderSlot(_ctx.$slots, "end")], 16)) : createCommentVNode("", true)], 16, _hoisted_1$5)) : createCommentVNode("", true)]; }), _: 3 }, 16, ["onEnter", "onAfterEnter", "onLeave", "onAfterLeave"])]; @@ -6531,14 +7141,14 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) { _: 3 }, 8, ["appendTo", "disabled"]); } -__name(render$2, "render$2"); -script$3.render = render$2; +__name(render$3, "render$3"); +script$3.render = render$3; var theme9 = /* @__PURE__ */ __name(function theme10(_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"); }, "theme"); var classes = { - root: /* @__PURE__ */ __name(function root10(_ref2) { + root: /* @__PURE__ */ __name(function root11(_ref2) { var instance = _ref2.instance, props = _ref2.props; return ["p-splitbutton p-component", { "p-splitbutton-raised": props.raised, @@ -6556,7 +7166,7 @@ var SplitButtonStyle = BaseStyle.extend({ }); var script$1 = { name: "BaseSplitButton", - "extends": script$g, + "extends": script$i, props: { label: { type: String, @@ -6644,7 +7254,7 @@ var script$1 = { } }, style: SplitButtonStyle, - provide: /* @__PURE__ */ __name(function provide11() { + provide: /* @__PURE__ */ __name(function provide13() { return { $pcSplitButton: this, $parentInstance: this @@ -6661,7 +7271,7 @@ var script = { "default": null } }, - data: /* @__PURE__ */ __name(function data8() { + data: /* @__PURE__ */ __name(function data9() { return { id: this.$attrs.id, isExpanded: false @@ -6672,7 +7282,7 @@ var script = { this.id = newValue || UniqueComponentId(); }, "$attrsId") }, - mounted: /* @__PURE__ */ __name(function mounted8() { + mounted: /* @__PURE__ */ __name(function mounted9() { var _this = this; this.id = this.id || UniqueComponentId(); this.$watch("$refs.menu.visible", function(newValue) { @@ -6712,13 +7322,13 @@ var script = { }, "hasFluid") }, components: { - PVSButton: script$f, + PVSButton: script$h, PVSMenu: script$3, - ChevronDownIcon: script$k + ChevronDownIcon: script$p } }; -var _hoisted_1$2 = ["data-p-severity"]; -function render(_ctx, _cache, $props, $setup, $data, $options) { +var _hoisted_1$4 = ["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({ @@ -6823,12 +7433,12 @@ function render(_ctx, _cache, $props, $setup, $data, $options) { })]; }), key: "1" - } : void 0]), 1032, ["id", "model", "autoZIndex", "baseZIndex", "appendTo", "unstyled", "pt"])], 16, _hoisted_1$2); + } : void 0]), 1032, ["id", "model", "autoZIndex", "baseZIndex", "appendTo", "unstyled", "pt"])], 16, _hoisted_1$4); } -__name(render, "render"); -script.render = render; +__name(render$2, "render$2"); +script.render = render$2; const minQueueCount = 1; -const _sfc_main$4 = /* @__PURE__ */ defineComponent({ +const _sfc_main$5 = /* @__PURE__ */ defineComponent({ __name: "BatchCountEdit", props: { class: { default: "" } @@ -6857,7 +7467,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({ return withDirectives((openBlock(), createElementBlock("div", { class: normalizeClass(["batch-count", props.class]) }, [ - createVNode(unref(script$z), { + createVNode(unref(script$E), { class: "w-14", modelValue: unref(batchCount), "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(batchCount) ? batchCount.value = $event : null), @@ -6891,9 +7501,9 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({ }; } }); -const BatchCountEdit = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-713442be"]]); -const _hoisted_1$1 = { class: "queue-button-group flex" }; -const _sfc_main$3 = /* @__PURE__ */ defineComponent({ +const BatchCountEdit = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-713442be"]]); +const _hoisted_1$3 = { class: "queue-button-group flex" }; +const _sfc_main$4 = /* @__PURE__ */ defineComponent({ __name: "ComfyQueueButton", setup(__props) { const workspaceStore = useWorkspaceStore(); @@ -6943,9 +7553,9 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({ commandStore.execute(commandId); }, "queuePrompt"); return (_ctx, _cache) => { - const _component_i_lucide58list_start = __unplugin_components_0; + const _component_i_lucide58list_start = __unplugin_components_0$1; const _directive_tooltip = resolveDirective("tooltip"); - return openBlock(), createElementBlock("div", _hoisted_1$1, [ + return openBlock(), createElementBlock("div", _hoisted_1$3, [ withDirectives((openBlock(), createBlock(unref(script), { class: "comfyui-queue-button", label: activeQueueModeMenuItem.value.label, @@ -6961,7 +7571,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({ }, null, 2)) ]), item: withCtx(({ item: item3 }) => [ - withDirectives(createVNode(unref(script$f), { + withDirectives(createVNode(unref(script$h), { label: item3.label, icon: item3.icon, severity: item3.key === unref(queueMode) ? "primary" : "secondary", @@ -6982,7 +7592,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({ createVNode(BatchCountEdit), createVNode(unref(script$9), { class: "execution-actions flex flex-nowrap" }, { default: withCtx(() => [ - withDirectives(createVNode(unref(script$f), { + withDirectives(createVNode(unref(script$h), { icon: "pi pi-times", severity: executingPrompt.value ? "danger" : "secondary", disabled: !executingPrompt.value, @@ -6996,7 +7606,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({ { bottom: true } ] ]), - withDirectives(createVNode(unref(script$f), { + withDirectives(createVNode(unref(script$h), { icon: "pi pi-stop", severity: hasPendingTasks.value ? "danger" : "secondary", disabled: !hasPendingTasks.value, @@ -7017,9 +7627,9 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({ }; } }); -const ComfyQueueButton = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-2b80bf74"]]); +const ComfyQueueButton = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-2b80bf74"]]); const overlapThreshold = 20; -const _sfc_main$2 = /* @__PURE__ */ defineComponent({ +const _sfc_main$3 = /* @__PURE__ */ defineComponent({ __name: "ComfyActionbar", setup(__props) { const settingsStore = useSettingStore(); @@ -7172,13 +7782,13 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({ ref: dragHandleRef }, null, 512), createVNode(ComfyQueueButton), - createVNode(unref(script$A), { + createVNode(unref(script$F), { layout: "vertical", class: "mx-1" }), createVNode(unref(script$9), { class: "flex flex-nowrap" }, { default: withCtx(() => [ - withDirectives(createVNode(unref(script$f), { + withDirectives(createVNode(unref(script$h), { icon: "pi pi-refresh", severity: "secondary", text: "", @@ -7201,17 +7811,72 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({ }; } }); -const Actionbar = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-2e54db00"]]); +const Actionbar = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-2e54db00"]]); +const _hoisted_1$2 = { + viewBox: "0 0 24 24", + width: "1.2em", + height: "1.2em" +}; +function render$1(_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-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$1 = { + viewBox: "0 0 24 24", + width: "1.2em", + height: "1.2em" +}; +function render(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$1, _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$2 = /* @__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$h), { + severity: "secondary", + text: "", + 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, ["onClick"])), [ + [vShow, unref(bottomPanelStore).bottomPanelTabs.length > 0], + [_directive_tooltip, { value: _ctx.$t("menu.toggleBottomPanel"), showDelay: 300 }] + ]); + }; + } +}); const _hoisted_1 = { class: "flex-grow" }; 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 betaMenuEnabled = computed( - () => settingStore.get("Comfy.UseNewMenu") !== "Disabled" + () => settingStore.get("Comfy.UseNewMenu") !== "Disabled" && !workspaceState.focusMode ); const teleportTarget = computed( () => settingStore.get("Comfy.UseNewMenu") === "Top" ? ".comfyui-body-top" : ".comfyui-body-bottom" @@ -7242,7 +7907,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({ }, [ _cache[0] || (_cache[0] = createBaseVNode("h1", { class: "comfyui-logo mx-2" }, "ComfyUI", -1)), createVNode(CommandMenubar), - createVNode(unref(script$A), { + createVNode(unref(script$F), { layout: "vertical", class: "mx-2" }), @@ -7254,7 +7919,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({ ref_key: "menuRight", ref: menuRight }, null, 512), - createVNode(Actionbar) + createVNode(Actionbar), + createVNode(_sfc_main$2) ], 2), [ [vShow, betaMenuEnabled.value] ]) @@ -7262,7 +7928,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({ }; } }); -const TopMenubar = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-b13fdc92"]]); +const TopMenubar = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-221bd572"]]); function setupAutoQueueHandler() { const queueCountStore = useQueuePendingTaskCountStore(); const queueSettingsStore = useQueueSettingsStore(); @@ -7348,6 +8014,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ settingStore.addSettings(app.ui.settings); useKeybindingStore().loadCoreKeybindings(); useSidebarTabStore().registerCoreSidebarTabs(); + useBottomPanelStore().registerCoreBottomPanelTabs(); app.extensionManager = useWorkspaceStore(); }, "init"); const queuePendingTaskCountStore = useQueuePendingTaskCountStore(); @@ -7396,6 +8063,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ requestIdleCallback( () => { useKeybindingStore().loadUserKeybindings(); + useModelStore().loadModelFolders(); useNodeBookmarkStore().migrateLegacyBookmarks(); useNodeDefStore().nodeSearchService.endsWithFilterStartSequence(""); useNodeFrequencyStore().loadNodeFrequencies(); @@ -7406,10 +8074,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ return (_ctx, _cache) => { return openBlock(), createElementBlock(Fragment, null, [ createVNode(TopMenubar), - createVNode(_sfc_main$a, { onReady: onGraphReady }), + createVNode(_sfc_main$c, { onReady: onGraphReady }), + createVNode(_sfc_main$a), createVNode(_sfc_main$9), createVNode(_sfc_main$8), - createVNode(_sfc_main$7) + createVNode(MenuHamburger) ], 64); }; } @@ -7417,4 +8086,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=GraphView-vodtEF4p.js.map +//# sourceMappingURL=GraphView-BumSctau.js.map diff --git a/comfy/web/assets/GraphView-BumSctau.js.map b/comfy/web/assets/GraphView-BumSctau.js.map new file mode 100644 index 000000000..b226dd746 --- /dev/null +++ b/comfy/web/assets/GraphView-BumSctau.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GraphView-BumSctau.js","sources":["../../src/components/graph/TitleEditor.vue","../../../../../node_modules/primevue/overlaybadge/style/index.mjs","../../../../../node_modules/primevue/overlaybadge/index.mjs","../../src/components/sidebar/SidebarIcon.vue","../../src/components/sidebar/SidebarThemeToggleIcon.vue","../../src/components/sidebar/SidebarSettingsToggleIcon.vue","../../src/components/common/ExtensionSlot.vue","../../src/components/sidebar/SideToolbar.vue","../../../../../node_modules/primevue/tablist/style/index.mjs","../../../../../node_modules/primevue/tablist/index.mjs","../../../../../node_modules/primevue/tab/style/index.mjs","../../../../../node_modules/primevue/tab/index.mjs","../../src/components/bottomPanel/BottomPanel.vue","../../../../../node_modules/primevue/splitter/style/index.mjs","../../../../../node_modules/primevue/splitter/index.mjs","../../../../../node_modules/primevue/splitterpanel/style/index.mjs","../../../../../node_modules/primevue/splitterpanel/index.mjs","../../src/components/LiteGraphCanvasSplitterOverlay.vue","../../../../../node_modules/primevue/autocomplete/style/index.mjs","../../../../../node_modules/primevue/autocomplete/index.mjs","../../src/components/primevueOverride/AutoCompletePlus.vue","../../src/components/searchbox/NodeSearchItem.vue","../../src/components/searchbox/NodeSearchBox.vue","../../src/types/litegraphTypes.ts","../../src/components/searchbox/NodeSearchBoxPopover.vue","../../src/components/graph/NodeTooltip.vue","../../src/components/graph/NodeBadge.vue","../../../../../node_modules/primevue/buttongroup/style/index.mjs","../../../../../node_modules/primevue/buttongroup/index.mjs","../../src/components/graph/GraphCanvasMenu.vue","../../src/components/graph/GraphCanvas.vue","../../src/components/MenuHamburger.vue","../../../../../node_modules/primevue/toast/style/index.mjs","../../../../../node_modules/@primevue/icons/exclamationtriangle/index.mjs","../../../../../node_modules/@primevue/icons/infocircle/index.mjs","../../../../../node_modules/primevue/toast/index.mjs","../../src/components/toast/GlobalToast.vue","../../src/components/dialog/UnloadWindowConfirmDialog.vue","../../src/components/BrowserTabTitle.vue","../../src/components/topbar/WorkflowTabs.vue","../../../../../node_modules/primevue/menubar/style/index.mjs","../../../../../node_modules/primevue/menubar/index.mjs","../../src/components/topbar/CommandMenubar.vue","../../../../../node_modules/primevue/panel/style/index.mjs","../../../../../node_modules/primevue/panel/index.mjs","../../../../../node_modules/primevue/tieredmenu/style/index.mjs","../../../../../node_modules/primevue/tieredmenu/index.mjs","../../../../../node_modules/primevue/splitbutton/style/index.mjs","../../../../../node_modules/primevue/splitbutton/index.mjs","../../src/components/actionbar/BatchCountEdit.vue","../../src/components/actionbar/ComfyQueueButton.vue","../../src/components/actionbar/ComfyActionbar.vue","../../src/components/topbar/BottomPanelToggleButton.vue","../../src/components/topbar/TopMenubar.vue","../../src/services/autoQueueService.ts","../../src/views/GraphView.vue"],"sourcesContent":["\n\n\n\n\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n 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\");\n};\nvar classes = {\n root: 'p-overlaybadge'\n};\nvar OverlayBadgeStyle = BaseStyle.extend({\n name: 'overlaybadge',\n theme: theme,\n classes: classes\n});\n\nexport { OverlayBadgeStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import Badge from 'primevue/badge';\nimport OverlayBadgeStyle from 'primevue/overlaybadge/style';\nimport { resolveComponent, openBlock, createElementBlock, mergeProps, renderSlot, createVNode } from 'vue';\n\nvar script$1 = {\n name: 'OverlayBadge',\n \"extends\": Badge,\n style: OverlayBadgeStyle,\n provide: function provide() {\n return {\n $pcOverlayBadge: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'OverlayBadge',\n \"extends\": script$1,\n inheritAttrs: false,\n components: {\n Badge: Badge\n }\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_Badge = resolveComponent(\"Badge\");\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [renderSlot(_ctx.$slots, \"default\"), createVNode(_component_Badge, mergeProps(_ctx.$props, {\n pt: _ctx.ptm('pcBadge')\n }), null, 16, [\"pt\"])], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","\n\n\n\n\n\n\n","\n\n\n","\n\n\n","\n\n\n","\n\n\n\n\n\n\n","import BaseStyle from '@primevue/core/base/style';\n\nvar classes = {\n root: 'p-tablist',\n content: function content(_ref) {\n var instance = _ref.instance;\n return ['p-tablist-content', {\n 'p-tablist-viewport': instance.$pcTabs.scrollable\n }];\n },\n tabList: 'p-tablist-tab-list',\n activeBar: 'p-tablist-active-bar',\n prevButton: 'p-tablist-prev-button p-tablist-nav-button',\n nextButton: 'p-tablist-next-button p-tablist-nav-button'\n};\nvar TabListStyle = BaseStyle.extend({\n name: 'tablist',\n classes: classes\n});\n\nexport { TabListStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { getWidth, findSingle, getOuterHeight, getOffset, getOuterWidth, getHeight } from '@primeuix/utils/dom';\nimport ChevronLeftIcon from '@primevue/icons/chevronleft';\nimport ChevronRightIcon from '@primevue/icons/chevronright';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport TabListStyle from 'primevue/tablist/style';\nimport Ripple from 'primevue/ripple';\nimport { resolveDirective, openBlock, createElementBlock, mergeProps, withDirectives, createBlock, resolveDynamicComponent, createCommentVNode, createElementVNode, renderSlot } from 'vue';\n\nvar script$1 = {\n name: 'BaseTabList',\n \"extends\": BaseComponent,\n props: {},\n style: TabListStyle,\n provide: function provide() {\n return {\n $pcTabList: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'TabList',\n \"extends\": script$1,\n inheritAttrs: false,\n inject: ['$pcTabs'],\n data: function data() {\n return {\n isPrevButtonEnabled: false,\n isNextButtonEnabled: true\n };\n },\n resizeObserver: undefined,\n watch: {\n showNavigators: function showNavigators(newValue) {\n newValue ? this.bindResizeObserver() : this.unbindResizeObserver();\n },\n activeValue: {\n flush: 'post',\n handler: function handler() {\n this.updateInkBar();\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n this.$nextTick(function () {\n _this.updateInkBar();\n });\n if (this.showNavigators) {\n this.updateButtonState();\n this.bindResizeObserver();\n }\n },\n updated: function updated() {\n this.showNavigators && this.updateButtonState();\n },\n beforeUnmount: function beforeUnmount() {\n this.unbindResizeObserver();\n },\n methods: {\n onScroll: function onScroll(event) {\n this.showNavigators && this.updateButtonState();\n event.preventDefault();\n },\n onPrevButtonClick: function onPrevButtonClick() {\n var content = this.$refs.content;\n var width = getWidth(content);\n var pos = content.scrollLeft - width;\n content.scrollLeft = pos <= 0 ? 0 : pos;\n },\n onNextButtonClick: function onNextButtonClick() {\n var content = this.$refs.content;\n var width = getWidth(content) - this.getVisibleButtonWidths();\n var pos = content.scrollLeft + width;\n var lastPos = content.scrollWidth - width;\n content.scrollLeft = pos >= lastPos ? lastPos : pos;\n },\n bindResizeObserver: function bindResizeObserver() {\n var _this2 = this;\n this.resizeObserver = new ResizeObserver(function () {\n return _this2.updateButtonState();\n });\n this.resizeObserver.observe(this.$refs.list);\n },\n unbindResizeObserver: function unbindResizeObserver() {\n var _this$resizeObserver;\n (_this$resizeObserver = this.resizeObserver) === null || _this$resizeObserver === void 0 || _this$resizeObserver.unobserve(this.$refs.list);\n this.resizeObserver = undefined;\n },\n updateInkBar: function updateInkBar() {\n var _this$$refs = this.$refs,\n content = _this$$refs.content,\n inkbar = _this$$refs.inkbar,\n tabs = _this$$refs.tabs;\n var activeTab = findSingle(content, '[data-pc-name=\"tab\"][data-p-active=\"true\"]');\n if (this.$pcTabs.isVertical()) {\n inkbar.style.height = getOuterHeight(activeTab) + 'px';\n inkbar.style.top = getOffset(activeTab).top - getOffset(tabs).top + 'px';\n } else {\n inkbar.style.width = getOuterWidth(activeTab) + 'px';\n inkbar.style.left = getOffset(activeTab).left - getOffset(tabs).left + 'px';\n }\n },\n updateButtonState: function updateButtonState() {\n var _this$$refs2 = this.$refs,\n list = _this$$refs2.list,\n content = _this$$refs2.content;\n var scrollLeft = content.scrollLeft,\n scrollTop = content.scrollTop,\n scrollWidth = content.scrollWidth,\n scrollHeight = content.scrollHeight,\n offsetWidth = content.offsetWidth,\n offsetHeight = content.offsetHeight;\n var _ref = [getWidth(content), getHeight(content)],\n width = _ref[0],\n height = _ref[1];\n if (this.$pcTabs.isVertical()) {\n this.isPrevButtonEnabled = scrollTop !== 0;\n this.isNextButtonEnabled = list.offsetHeight >= offsetHeight && parseInt(scrollTop) !== scrollHeight - height;\n } else {\n this.isPrevButtonEnabled = scrollLeft !== 0;\n this.isNextButtonEnabled = list.offsetWidth >= offsetWidth && parseInt(scrollLeft) !== scrollWidth - width;\n }\n },\n getVisibleButtonWidths: function getVisibleButtonWidths() {\n var _this$$refs3 = this.$refs,\n prevBtn = _this$$refs3.prevBtn,\n nextBtn = _this$$refs3.nextBtn;\n return [prevBtn, nextBtn].reduce(function (acc, el) {\n return el ? acc + getWidth(el) : acc;\n }, 0);\n }\n },\n computed: {\n templates: function templates() {\n return this.$pcTabs.$slots;\n },\n activeValue: function activeValue() {\n return this.$pcTabs.d_value;\n },\n showNavigators: function showNavigators() {\n return this.$pcTabs.scrollable && this.$pcTabs.showNavigators;\n },\n prevButtonAriaLabel: function prevButtonAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.previous : undefined;\n },\n nextButtonAriaLabel: function nextButtonAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.next : undefined;\n }\n },\n components: {\n ChevronLeftIcon: ChevronLeftIcon,\n ChevronRightIcon: ChevronRightIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n\nvar _hoisted_1 = [\"aria-label\", \"tabindex\"];\nvar _hoisted_2 = [\"aria-orientation\"];\nvar _hoisted_3 = [\"aria-label\", \"tabindex\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _directive_ripple = resolveDirective(\"ripple\");\n return openBlock(), createElementBlock(\"div\", mergeProps({\n ref: \"list\",\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [$options.showNavigators && $data.isPrevButtonEnabled ? withDirectives((openBlock(), createElementBlock(\"button\", mergeProps({\n key: 0,\n ref: \"prevButton\",\n \"class\": _ctx.cx('prevButton'),\n \"aria-label\": $options.prevButtonAriaLabel,\n tabindex: $options.$pcTabs.tabindex,\n onClick: _cache[0] || (_cache[0] = function () {\n return $options.onPrevButtonClick && $options.onPrevButtonClick.apply($options, arguments);\n })\n }, _ctx.ptm('prevButton'), {\n \"data-pc-group-section\": \"navigator\"\n }), [(openBlock(), createBlock(resolveDynamicComponent($options.templates.previcon || 'ChevronLeftIcon'), mergeProps({\n \"aria-hidden\": \"true\"\n }, _ctx.ptm('prevIcon')), null, 16))], 16, _hoisted_1)), [[_directive_ripple]]) : createCommentVNode(\"\", true), createElementVNode(\"div\", mergeProps({\n ref: \"content\",\n \"class\": _ctx.cx('content'),\n onScroll: _cache[1] || (_cache[1] = function () {\n return $options.onScroll && $options.onScroll.apply($options, arguments);\n })\n }, _ctx.ptm('content')), [createElementVNode(\"div\", mergeProps({\n ref: \"tabs\",\n \"class\": _ctx.cx('tabList'),\n role: \"tablist\",\n \"aria-orientation\": $options.$pcTabs.orientation || 'horizontal'\n }, _ctx.ptm('tabList')), [renderSlot(_ctx.$slots, \"default\"), createElementVNode(\"span\", mergeProps({\n ref: \"inkbar\",\n \"class\": _ctx.cx('activeBar'),\n role: \"presentation\",\n \"aria-hidden\": \"true\"\n }, _ctx.ptm('activeBar')), null, 16)], 16, _hoisted_2)], 16), $options.showNavigators && $data.isNextButtonEnabled ? withDirectives((openBlock(), createElementBlock(\"button\", mergeProps({\n key: 1,\n ref: \"nextButton\",\n \"class\": _ctx.cx('nextButton'),\n \"aria-label\": $options.nextButtonAriaLabel,\n tabindex: $options.$pcTabs.tabindex,\n onClick: _cache[2] || (_cache[2] = function () {\n return $options.onNextButtonClick && $options.onNextButtonClick.apply($options, arguments);\n })\n }, _ctx.ptm('nextButton'), {\n \"data-pc-group-section\": \"navigator\"\n }), [(openBlock(), createBlock(resolveDynamicComponent($options.templates.nexticon || 'ChevronRightIcon'), mergeProps({\n \"aria-hidden\": \"true\"\n }, _ctx.ptm('nextIcon')), null, 16))], 16, _hoisted_3)), [[_directive_ripple]]) : createCommentVNode(\"\", true)], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar classes = {\n root: function root(_ref) {\n var instance = _ref.instance,\n props = _ref.props;\n return ['p-tab', {\n 'p-tab-active': instance.active,\n 'p-disabled': props.disabled\n }];\n }\n};\nvar TabStyle = BaseStyle.extend({\n name: 'tab',\n classes: classes\n});\n\nexport { TabStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { getAttribute, findSingle, focus } from '@primeuix/utils/dom';\nimport { equals } from '@primeuix/utils/object';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps, resolveDirective, withDirectives, openBlock, createBlock, resolveDynamicComponent, withCtx, renderSlot, normalizeClass } from 'vue';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport TabStyle from 'primevue/tab/style';\n\nvar script$1 = {\n name: 'BaseTab',\n \"extends\": BaseComponent,\n props: {\n value: {\n type: [String, Number],\n \"default\": undefined\n },\n disabled: {\n type: Boolean,\n \"default\": false\n },\n as: {\n type: [String, Object],\n \"default\": 'BUTTON'\n },\n asChild: {\n type: Boolean,\n \"default\": false\n }\n },\n style: TabStyle,\n provide: function provide() {\n return {\n $pcTab: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'Tab',\n \"extends\": script$1,\n inheritAttrs: false,\n inject: ['$pcTabs', '$pcTabList'],\n methods: {\n onFocus: function onFocus() {\n this.$pcTabs.selectOnFocus && this.changeActiveValue();\n },\n onClick: function onClick() {\n this.changeActiveValue();\n },\n onKeydown: function onKeydown(event) {\n switch (event.code) {\n case 'ArrowRight':\n this.onArrowRightKey(event);\n break;\n case 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n case 'Home':\n this.onHomeKey(event);\n break;\n case 'End':\n this.onEndKey(event);\n break;\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n this.onEnterKey(event);\n break;\n }\n },\n onArrowRightKey: function onArrowRightKey(event) {\n var nextTab = this.findNextTab(event.currentTarget);\n nextTab ? this.changeFocusedTab(event, nextTab) : this.onHomeKey(event);\n event.preventDefault();\n },\n onArrowLeftKey: function onArrowLeftKey(event) {\n var prevTab = this.findPrevTab(event.currentTarget);\n prevTab ? this.changeFocusedTab(event, prevTab) : this.onEndKey(event);\n event.preventDefault();\n },\n onHomeKey: function onHomeKey(event) {\n var firstTab = this.findFirstTab();\n this.changeFocusedTab(event, firstTab);\n event.preventDefault();\n },\n onEndKey: function onEndKey(event) {\n var lastTab = this.findLastTab();\n this.changeFocusedTab(event, lastTab);\n event.preventDefault();\n },\n onPageDownKey: function onPageDownKey(event) {\n this.scrollInView(this.findLastTab());\n event.preventDefault();\n },\n onPageUpKey: function onPageUpKey(event) {\n this.scrollInView(this.findFirstTab());\n event.preventDefault();\n },\n onEnterKey: function onEnterKey(event) {\n this.changeActiveValue();\n event.preventDefault();\n },\n findNextTab: function findNextTab(tabElement) {\n var selfCheck = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var element = selfCheck ? tabElement : tabElement.nextElementSibling;\n return element ? getAttribute(element, 'data-p-disabled') || getAttribute(element, 'data-pc-section') === 'inkbar' ? this.findNextTab(element) : findSingle(element, '[data-pc-name=\"tab\"]') : null;\n },\n findPrevTab: function findPrevTab(tabElement) {\n var selfCheck = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var element = selfCheck ? tabElement : tabElement.previousElementSibling;\n return element ? getAttribute(element, 'data-p-disabled') || getAttribute(element, 'data-pc-section') === 'inkbar' ? this.findPrevTab(element) : findSingle(element, '[data-pc-name=\"tab\"]') : null;\n },\n findFirstTab: function findFirstTab() {\n return this.findNextTab(this.$pcTabList.$refs.content.firstElementChild, true);\n },\n findLastTab: function findLastTab() {\n return this.findPrevTab(this.$pcTabList.$refs.content.lastElementChild, true);\n },\n changeActiveValue: function changeActiveValue() {\n this.$pcTabs.updateValue(this.value);\n },\n changeFocusedTab: function changeFocusedTab(event, element) {\n focus(element);\n this.scrollInView(element);\n },\n scrollInView: function scrollInView(element) {\n var _element$scrollIntoVi;\n element === null || element === void 0 || (_element$scrollIntoVi = element.scrollIntoView) === null || _element$scrollIntoVi === void 0 || _element$scrollIntoVi.call(element, {\n block: 'nearest'\n });\n }\n },\n computed: {\n active: function active() {\n var _this$$pcTabs;\n return equals((_this$$pcTabs = this.$pcTabs) === null || _this$$pcTabs === void 0 ? void 0 : _this$$pcTabs.d_value, this.value);\n },\n id: function id() {\n var _this$$pcTabs2;\n return \"\".concat((_this$$pcTabs2 = this.$pcTabs) === null || _this$$pcTabs2 === void 0 ? void 0 : _this$$pcTabs2.id, \"_tab_\").concat(this.value);\n },\n ariaControls: function ariaControls() {\n var _this$$pcTabs3;\n return \"\".concat((_this$$pcTabs3 = this.$pcTabs) === null || _this$$pcTabs3 === void 0 ? void 0 : _this$$pcTabs3.id, \"_tabpanel_\").concat(this.value);\n },\n attrs: function attrs() {\n return mergeProps(this.asAttrs, this.a11yAttrs, this.ptmi('root', this.ptParams));\n },\n asAttrs: function asAttrs() {\n return this.as === 'BUTTON' ? {\n type: 'button',\n disabled: this.disabled\n } : undefined;\n },\n a11yAttrs: function a11yAttrs() {\n return {\n id: this.id,\n tabindex: this.active ? this.$pcTabs.tabindex : -1,\n role: 'tab',\n 'aria-selected': this.active,\n 'aria-controls': this.ariaControls,\n 'data-pc-name': 'tab',\n 'data-p-disabled': this.disabled,\n 'data-p-active': this.active,\n onFocus: this.onFocus,\n onKeydown: this.onKeydown\n };\n },\n ptParams: function ptParams() {\n return {\n context: {\n active: this.active\n }\n };\n }\n },\n directives: {\n ripple: Ripple\n }\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _directive_ripple = resolveDirective(\"ripple\");\n return !_ctx.asChild ? withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({\n key: 0,\n \"class\": _ctx.cx('root'),\n onClick: $options.onClick\n }, $options.attrs), {\n \"default\": withCtx(function () {\n return [renderSlot(_ctx.$slots, \"default\")];\n }),\n _: 3\n }, 16, [\"class\", \"onClick\"])), [[_directive_ripple]]) : renderSlot(_ctx.$slots, \"default\", {\n key: 1,\n \"class\": normalizeClass(_ctx.cx('root')),\n active: $options.active,\n a11yAttrs: $options.a11yAttrs,\n onClick: $options.onClick\n });\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","\n\n\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n 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\");\n};\nvar classes = {\n root: function root(_ref2) {\n var props = _ref2.props;\n return ['p-splitter p-component', 'p-splitter-' + props.layout];\n },\n gutter: 'p-splitter-gutter',\n gutterHandle: 'p-splitter-gutter-handle'\n};\nvar inlineStyles = {\n root: function root(_ref3) {\n var props = _ref3.props;\n return [{\n display: 'flex',\n 'flex-wrap': 'nowrap'\n }, props.layout === 'vertical' ? {\n 'flex-direction': 'column'\n } : ''];\n }\n};\nvar SplitterStyle = BaseStyle.extend({\n name: 'splitter',\n theme: theme,\n classes: classes,\n inlineStyles: inlineStyles\n});\n\nexport { SplitterStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { getWidth, getHeight, getOuterWidth, getOuterHeight } from '@primeuix/utils/dom';\nimport { isArray } from '@primeuix/utils/object';\nimport { getVNodeProp } from '@primevue/core/utils';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport SplitterStyle from 'primevue/splitter/style';\nimport { openBlock, createElementBlock, mergeProps, Fragment, renderList, createBlock, resolveDynamicComponent, createElementVNode, createCommentVNode } from 'vue';\n\nvar script$1 = {\n name: 'BaseSplitter',\n \"extends\": BaseComponent,\n props: {\n layout: {\n type: String,\n \"default\": 'horizontal'\n },\n gutterSize: {\n type: Number,\n \"default\": 4\n },\n stateKey: {\n type: String,\n \"default\": null\n },\n stateStorage: {\n type: String,\n \"default\": 'session'\n },\n step: {\n type: Number,\n \"default\": 5\n }\n },\n style: SplitterStyle,\n provide: function provide() {\n return {\n $pcSplitter: this,\n $parentInstance: this\n };\n }\n};\n\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _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.\"); }\nfunction _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; } }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _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; }\nvar script = {\n name: 'Splitter',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['resizestart', 'resizeend', 'resize'],\n dragging: false,\n mouseMoveListener: null,\n mouseUpListener: null,\n touchMoveListener: null,\n touchEndListener: null,\n size: null,\n gutterElement: null,\n startPos: null,\n prevPanelElement: null,\n nextPanelElement: null,\n nextPanelSize: null,\n prevPanelSize: null,\n panelSizes: null,\n prevPanelIndex: null,\n timer: null,\n data: function data() {\n return {\n prevSize: null\n };\n },\n mounted: function mounted() {\n this.initializePanels();\n },\n beforeUnmount: function beforeUnmount() {\n this.clear();\n this.unbindMouseListeners();\n },\n methods: {\n isSplitterPanel: function isSplitterPanel(child) {\n return child.type.name === 'SplitterPanel';\n },\n initializePanels: function initializePanels() {\n var _this = this;\n if (this.panels && this.panels.length) {\n var initialized = false;\n if (this.isStateful()) {\n initialized = this.restoreState();\n }\n if (!initialized) {\n var children = _toConsumableArray(this.$el.children).filter(function (child) {\n return child.getAttribute('data-pc-name') === 'splitterpanel';\n });\n var _panelSizes = [];\n this.panels.map(function (panel, i) {\n var panelInitialSize = panel.props && panel.props.size ? panel.props.size : null;\n var panelSize = panelInitialSize || 100 / _this.panels.length;\n _panelSizes[i] = panelSize;\n children[i].style.flexBasis = 'calc(' + panelSize + '% - ' + (_this.panels.length - 1) * _this.gutterSize + 'px)';\n });\n this.panelSizes = _panelSizes;\n this.prevSize = parseFloat(_panelSizes[0]).toFixed(4);\n }\n }\n },\n onResizeStart: function onResizeStart(event, index, isKeyDown) {\n this.gutterElement = event.currentTarget || event.target.parentElement;\n this.size = this.horizontal ? getWidth(this.$el) : getHeight(this.$el);\n if (!isKeyDown) {\n this.dragging = true;\n this.startPos = this.layout === 'horizontal' ? event.pageX || event.changedTouches[0].pageX : event.pageY || event.changedTouches[0].pageY;\n }\n this.prevPanelElement = this.gutterElement.previousElementSibling;\n this.nextPanelElement = this.gutterElement.nextElementSibling;\n if (isKeyDown) {\n this.prevPanelSize = this.horizontal ? getOuterWidth(this.prevPanelElement, true) : getOuterHeight(this.prevPanelElement, true);\n this.nextPanelSize = this.horizontal ? getOuterWidth(this.nextPanelElement, true) : getOuterHeight(this.nextPanelElement, true);\n } else {\n this.prevPanelSize = 100 * (this.horizontal ? getOuterWidth(this.prevPanelElement, true) : getOuterHeight(this.prevPanelElement, true)) / this.size;\n this.nextPanelSize = 100 * (this.horizontal ? getOuterWidth(this.nextPanelElement, true) : getOuterHeight(this.nextPanelElement, true)) / this.size;\n }\n this.prevPanelIndex = index;\n this.$emit('resizestart', {\n originalEvent: event,\n sizes: this.panelSizes\n });\n this.$refs.gutter[index].setAttribute('data-p-gutter-resizing', true);\n this.$el.setAttribute('data-p-resizing', true);\n },\n onResize: function onResize(event, step, isKeyDown) {\n var newPos, newPrevPanelSize, newNextPanelSize;\n if (isKeyDown) {\n if (this.horizontal) {\n newPrevPanelSize = 100 * (this.prevPanelSize + step) / this.size;\n newNextPanelSize = 100 * (this.nextPanelSize - step) / this.size;\n } else {\n newPrevPanelSize = 100 * (this.prevPanelSize - step) / this.size;\n newNextPanelSize = 100 * (this.nextPanelSize + step) / this.size;\n }\n } else {\n 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;\n newPrevPanelSize = this.prevPanelSize + newPos;\n newNextPanelSize = this.nextPanelSize - newPos;\n }\n if (this.validateResize(newPrevPanelSize, newNextPanelSize)) {\n this.prevPanelElement.style.flexBasis = 'calc(' + newPrevPanelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';\n this.nextPanelElement.style.flexBasis = 'calc(' + newNextPanelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';\n this.panelSizes[this.prevPanelIndex] = newPrevPanelSize;\n this.panelSizes[this.prevPanelIndex + 1] = newNextPanelSize;\n this.prevSize = parseFloat(newPrevPanelSize).toFixed(4);\n }\n this.$emit('resize', {\n originalEvent: event,\n sizes: this.panelSizes\n });\n },\n onResizeEnd: function onResizeEnd(event) {\n if (this.isStateful()) {\n this.saveState();\n }\n this.$emit('resizeend', {\n originalEvent: event,\n sizes: this.panelSizes\n });\n this.$refs.gutter.forEach(function (gutter) {\n return gutter.setAttribute('data-p-gutter-resizing', false);\n });\n this.$el.setAttribute('data-p-resizing', false);\n this.clear();\n },\n repeat: function repeat(event, index, step) {\n this.onResizeStart(event, index, true);\n this.onResize(event, step, true);\n },\n setTimer: function setTimer(event, index, step) {\n var _this2 = this;\n if (!this.timer) {\n this.timer = setInterval(function () {\n _this2.repeat(event, index, step);\n }, 40);\n }\n },\n clearTimer: function clearTimer() {\n if (this.timer) {\n clearInterval(this.timer);\n this.timer = null;\n }\n },\n onGutterKeyUp: function onGutterKeyUp() {\n this.clearTimer();\n this.onResizeEnd();\n },\n onGutterKeyDown: function onGutterKeyDown(event, index) {\n switch (event.code) {\n case 'ArrowLeft':\n {\n if (this.layout === 'horizontal') {\n this.setTimer(event, index, this.step * -1);\n }\n event.preventDefault();\n break;\n }\n case 'ArrowRight':\n {\n if (this.layout === 'horizontal') {\n this.setTimer(event, index, this.step);\n }\n event.preventDefault();\n break;\n }\n case 'ArrowDown':\n {\n if (this.layout === 'vertical') {\n this.setTimer(event, index, this.step * -1);\n }\n event.preventDefault();\n break;\n }\n case 'ArrowUp':\n {\n if (this.layout === 'vertical') {\n this.setTimer(event, index, this.step);\n }\n event.preventDefault();\n break;\n }\n }\n },\n onGutterMouseDown: function onGutterMouseDown(event, index) {\n this.onResizeStart(event, index);\n this.bindMouseListeners();\n },\n onGutterTouchStart: function onGutterTouchStart(event, index) {\n this.onResizeStart(event, index);\n this.bindTouchListeners();\n event.preventDefault();\n },\n onGutterTouchMove: function onGutterTouchMove(event) {\n this.onResize(event);\n event.preventDefault();\n },\n onGutterTouchEnd: function onGutterTouchEnd(event) {\n this.onResizeEnd(event);\n this.unbindTouchListeners();\n event.preventDefault();\n },\n bindMouseListeners: function bindMouseListeners() {\n var _this3 = this;\n if (!this.mouseMoveListener) {\n this.mouseMoveListener = function (event) {\n return _this3.onResize(event);\n };\n document.addEventListener('mousemove', this.mouseMoveListener);\n }\n if (!this.mouseUpListener) {\n this.mouseUpListener = function (event) {\n _this3.onResizeEnd(event);\n _this3.unbindMouseListeners();\n };\n document.addEventListener('mouseup', this.mouseUpListener);\n }\n },\n bindTouchListeners: function bindTouchListeners() {\n var _this4 = this;\n if (!this.touchMoveListener) {\n this.touchMoveListener = function (event) {\n return _this4.onResize(event.changedTouches[0]);\n };\n document.addEventListener('touchmove', this.touchMoveListener);\n }\n if (!this.touchEndListener) {\n this.touchEndListener = function (event) {\n _this4.resizeEnd(event);\n _this4.unbindTouchListeners();\n };\n document.addEventListener('touchend', this.touchEndListener);\n }\n },\n validateResize: function validateResize(newPrevPanelSize, newNextPanelSize) {\n if (newPrevPanelSize > 100 || newPrevPanelSize < 0) return false;\n if (newNextPanelSize > 100 || newNextPanelSize < 0) return false;\n var prevPanelMinSize = getVNodeProp(this.panels[this.prevPanelIndex], 'minSize');\n if (this.panels[this.prevPanelIndex].props && prevPanelMinSize && prevPanelMinSize > newPrevPanelSize) {\n return false;\n }\n var newPanelMinSize = getVNodeProp(this.panels[this.prevPanelIndex + 1], 'minSize');\n if (this.panels[this.prevPanelIndex + 1].props && newPanelMinSize && newPanelMinSize > newNextPanelSize) {\n return false;\n }\n return true;\n },\n unbindMouseListeners: function unbindMouseListeners() {\n if (this.mouseMoveListener) {\n document.removeEventListener('mousemove', this.mouseMoveListener);\n this.mouseMoveListener = null;\n }\n if (this.mouseUpListener) {\n document.removeEventListener('mouseup', this.mouseUpListener);\n this.mouseUpListener = null;\n }\n },\n unbindTouchListeners: function unbindTouchListeners() {\n if (this.touchMoveListener) {\n document.removeEventListener('touchmove', this.touchMoveListener);\n this.touchMoveListener = null;\n }\n if (this.touchEndListener) {\n document.removeEventListener('touchend', this.touchEndListener);\n this.touchEndListener = null;\n }\n },\n clear: function clear() {\n this.dragging = false;\n this.size = null;\n this.startPos = null;\n this.prevPanelElement = null;\n this.nextPanelElement = null;\n this.prevPanelSize = null;\n this.nextPanelSize = null;\n this.gutterElement = null;\n this.prevPanelIndex = null;\n },\n isStateful: function isStateful() {\n return this.stateKey != null;\n },\n getStorage: function getStorage() {\n switch (this.stateStorage) {\n case 'local':\n return window.localStorage;\n case 'session':\n return window.sessionStorage;\n default:\n throw new Error(this.stateStorage + ' is not a valid value for the state storage, supported values are \"local\" and \"session\".');\n }\n },\n saveState: function saveState() {\n if (isArray(this.panelSizes)) {\n this.getStorage().setItem(this.stateKey, JSON.stringify(this.panelSizes));\n }\n },\n restoreState: function restoreState() {\n var _this5 = this;\n var storage = this.getStorage();\n var stateString = storage.getItem(this.stateKey);\n if (stateString) {\n this.panelSizes = JSON.parse(stateString);\n var children = _toConsumableArray(this.$el.children).filter(function (child) {\n return child.getAttribute('data-pc-name') === 'splitterpanel';\n });\n children.forEach(function (child, i) {\n child.style.flexBasis = 'calc(' + _this5.panelSizes[i] + '% - ' + (_this5.panels.length - 1) * _this5.gutterSize + 'px)';\n });\n return true;\n }\n return false;\n },\n resetState: function resetState() {\n this.initializePanels();\n }\n },\n computed: {\n panels: function panels() {\n var _this6 = this;\n var panels = [];\n this.$slots[\"default\"]().forEach(function (child) {\n if (_this6.isSplitterPanel(child)) {\n panels.push(child);\n } else if (child.children instanceof Array) {\n child.children.forEach(function (nestedChild) {\n if (_this6.isSplitterPanel(nestedChild)) {\n panels.push(nestedChild);\n }\n });\n }\n });\n return panels;\n },\n gutterStyle: function gutterStyle() {\n if (this.horizontal) return {\n width: this.gutterSize + 'px'\n };else return {\n height: this.gutterSize + 'px'\n };\n },\n horizontal: function horizontal() {\n return this.layout === 'horizontal';\n },\n getPTOptions: function getPTOptions() {\n var _this$$parentInstance;\n return {\n context: {\n nested: (_this$$parentInstance = this.$parentInstance) === null || _this$$parentInstance === void 0 ? void 0 : _this$$parentInstance.nestedState\n }\n };\n }\n }\n};\n\nvar _hoisted_1 = [\"onMousedown\", \"onTouchstart\", \"onTouchmove\", \"onTouchend\"];\nvar _hoisted_2 = [\"aria-orientation\", \"aria-valuenow\", \"onKeydown\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root'),\n style: _ctx.sx('root'),\n \"data-p-resizing\": false\n }, _ctx.ptmi('root', $options.getPTOptions)), [(openBlock(true), createElementBlock(Fragment, null, renderList($options.panels, function (panel, i) {\n return openBlock(), createElementBlock(Fragment, {\n key: i\n }, [(openBlock(), createBlock(resolveDynamicComponent(panel), {\n tabindex: \"-1\"\n })), i !== $options.panels.length - 1 ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n ref_for: true,\n ref: \"gutter\",\n \"class\": _ctx.cx('gutter'),\n role: \"separator\",\n tabindex: \"-1\",\n onMousedown: function onMousedown($event) {\n return $options.onGutterMouseDown($event, i);\n },\n onTouchstart: function onTouchstart($event) {\n return $options.onGutterTouchStart($event, i);\n },\n onTouchmove: function onTouchmove($event) {\n return $options.onGutterTouchMove($event, i);\n },\n onTouchend: function onTouchend($event) {\n return $options.onGutterTouchEnd($event, i);\n },\n \"data-p-gutter-resizing\": false\n }, _ctx.ptm('gutter')), [createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('gutterHandle'),\n tabindex: \"0\",\n style: [$options.gutterStyle],\n \"aria-orientation\": _ctx.layout,\n \"aria-valuenow\": $data.prevSize,\n onKeyup: _cache[0] || (_cache[0] = function () {\n return $options.onGutterKeyUp && $options.onGutterKeyUp.apply($options, arguments);\n }),\n onKeydown: function onKeydown($event) {\n return $options.onGutterKeyDown($event, i);\n },\n ref_for: true\n }, _ctx.ptm('gutterHandle')), null, 16, _hoisted_2)], 16, _hoisted_1)) : createCommentVNode(\"\", true)], 64);\n }), 128))], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar classes = {\n root: function root(_ref) {\n var instance = _ref.instance;\n return ['p-splitterpanel', {\n 'p-splitterpanel-nested': instance.isNested\n }];\n }\n};\nvar SplitterPanelStyle = BaseStyle.extend({\n name: 'splitterpanel',\n classes: classes\n});\n\nexport { SplitterPanelStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseComponent from '@primevue/core/basecomponent';\nimport SplitterPanelStyle from 'primevue/splitterpanel/style';\nimport { openBlock, createElementBlock, mergeProps, renderSlot } from 'vue';\n\nvar script$1 = {\n name: 'BaseSplitterPanel',\n \"extends\": BaseComponent,\n props: {\n size: {\n type: Number,\n \"default\": null\n },\n minSize: {\n type: Number,\n \"default\": null\n }\n },\n style: SplitterPanelStyle,\n provide: function provide() {\n return {\n $pcSplitterPanel: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'SplitterPanel',\n \"extends\": script$1,\n inheritAttrs: false,\n data: function data() {\n return {\n nestedState: null\n };\n },\n computed: {\n isNested: function isNested() {\n var _this = this;\n return this.$slots[\"default\"]().some(function (child) {\n _this.nestedState = child.type.name === 'Splitter' ? true : null;\n return _this.nestedState;\n });\n },\n getPTOptions: function getPTOptions() {\n return {\n context: {\n nested: this.isNested\n }\n };\n }\n }\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n ref: \"container\",\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root', $options.getPTOptions)), [renderSlot(_ctx.$slots, \"default\")], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","\n\n\n\n\n","import { isNotEmpty } from '@primeuix/utils/object';\nimport BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\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 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-container {\\n overflow: auto;\\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):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-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\");\n};\nvar inlineStyles = {\n root: {\n position: 'relative'\n }\n};\nvar classes = {\n root: function root(_ref2) {\n var instance = _ref2.instance,\n props = _ref2.props;\n return ['p-autocomplete p-component p-inputwrapper', {\n 'p-disabled': props.disabled,\n 'p-invalid': props.invalid,\n 'p-focus': instance.focused,\n 'p-inputwrapper-filled': props.modelValue || isNotEmpty(instance.inputValue),\n 'p-inputwrapper-focus': instance.focused,\n 'p-autocomplete-open': instance.overlayVisible,\n 'p-autocomplete-fluid': instance.hasFluid\n }];\n },\n pcInputText: 'p-autocomplete-input',\n inputMultiple: function inputMultiple(_ref3) {\n var props = _ref3.props,\n instance = _ref3.instance;\n return ['p-autocomplete-input-multiple', {\n 'p-variant-filled': props.variant ? props.variant === 'filled' : instance.$primevue.config.inputStyle === 'filled' || instance.$primevue.config.inputVariant === 'filled'\n }];\n },\n chipItem: function chipItem(_ref4) {\n var instance = _ref4.instance,\n i = _ref4.i;\n return ['p-autocomplete-chip-item', {\n 'p-focus': instance.focusedMultipleOptionIndex === i\n }];\n },\n pcChip: 'p-autocomplete-chip',\n chipIcon: 'p-autocomplete-chip-icon',\n inputChip: 'p-autocomplete-input-chip',\n loader: 'p-autocomplete-loader',\n dropdown: 'p-autocomplete-dropdown',\n overlay: 'p-autocomplete-overlay p-component',\n listContainer: 'p-autocomplete-list-container',\n list: 'p-autocomplete-list',\n optionGroup: 'p-autocomplete-option-group',\n option: function option(_ref5) {\n var instance = _ref5.instance,\n _option = _ref5.option,\n i = _ref5.i,\n getItemOptions = _ref5.getItemOptions;\n return ['p-autocomplete-option', {\n 'p-autocomplete-option-selected': instance.isSelected(_option),\n 'p-focus': instance.focusedOptionIndex === instance.getOptionIndex(i, getItemOptions),\n 'p-disabled': instance.isOptionDisabled(_option)\n }];\n },\n emptyMessage: 'p-autocomplete-empty-message'\n};\nvar AutoCompleteStyle = BaseStyle.extend({\n name: 'autocomplete',\n theme: theme,\n classes: classes,\n inlineStyles: inlineStyles\n});\n\nexport { AutoCompleteStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { focus, addStyle, relativePosition, getOuterWidth, absolutePosition, isTouchDevice, findSingle } from '@primeuix/utils/dom';\nimport { resolveFieldData, isEmpty, isNotEmpty, equals, findLastIndex } from '@primeuix/utils/object';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { UniqueComponentId, ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport SpinnerIcon from '@primevue/icons/spinner';\nimport Chip from 'primevue/chip';\nimport InputText from 'primevue/inputtext';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport Ripple from 'primevue/ripple';\nimport VirtualScroller from 'primevue/virtualscroller';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport AutoCompleteStyle from 'primevue/autocomplete/style';\nimport { resolveComponent, resolveDirective, openBlock, createElementBlock, mergeProps, createBlock, normalizeClass, normalizeStyle, createCommentVNode, Fragment, renderList, renderSlot, createVNode, withCtx, createElementVNode, resolveDynamicComponent, toDisplayString, Transition, createSlots, createTextVNode, withDirectives } from 'vue';\n\nvar script$1 = {\n name: 'BaseAutoComplete',\n \"extends\": BaseComponent,\n props: {\n modelValue: null,\n suggestions: {\n type: Array,\n \"default\": null\n },\n optionLabel: null,\n optionDisabled: null,\n optionGroupLabel: null,\n optionGroupChildren: null,\n scrollHeight: {\n type: String,\n \"default\": '14rem'\n },\n dropdown: {\n type: Boolean,\n \"default\": false\n },\n dropdownMode: {\n type: String,\n \"default\": 'blank'\n },\n multiple: {\n type: Boolean,\n \"default\": false\n },\n loading: {\n type: Boolean,\n \"default\": false\n },\n variant: {\n type: String,\n \"default\": null\n },\n invalid: {\n type: Boolean,\n \"default\": false\n },\n disabled: {\n type: Boolean,\n \"default\": false\n },\n placeholder: {\n type: String,\n \"default\": null\n },\n dataKey: {\n type: String,\n \"default\": null\n },\n minLength: {\n type: Number,\n \"default\": 1\n },\n delay: {\n type: Number,\n \"default\": 300\n },\n appendTo: {\n type: [String, Object],\n \"default\": 'body'\n },\n forceSelection: {\n type: Boolean,\n \"default\": false\n },\n completeOnFocus: {\n type: Boolean,\n \"default\": false\n },\n inputId: {\n type: String,\n \"default\": null\n },\n inputStyle: {\n type: Object,\n \"default\": null\n },\n inputClass: {\n type: [String, Object],\n \"default\": null\n },\n panelStyle: {\n type: Object,\n \"default\": null\n },\n panelClass: {\n type: [String, Object],\n \"default\": null\n },\n overlayStyle: {\n type: Object,\n \"default\": null\n },\n overlayClass: {\n type: [String, Object],\n \"default\": null\n },\n dropdownIcon: {\n type: String,\n \"default\": null\n },\n dropdownClass: {\n type: [String, Object],\n \"default\": null\n },\n loader: {\n type: String,\n \"default\": null\n },\n loadingIcon: {\n type: String,\n \"default\": null\n },\n removeTokenIcon: {\n type: String,\n \"default\": null\n },\n chipIcon: {\n type: String,\n \"default\": null\n },\n virtualScrollerOptions: {\n type: Object,\n \"default\": null\n },\n autoOptionFocus: {\n type: Boolean,\n \"default\": false\n },\n selectOnFocus: {\n type: Boolean,\n \"default\": false\n },\n focusOnHover: {\n type: Boolean,\n \"default\": true\n },\n searchLocale: {\n type: String,\n \"default\": undefined\n },\n searchMessage: {\n type: String,\n \"default\": null\n },\n selectionMessage: {\n type: String,\n \"default\": null\n },\n emptySelectionMessage: {\n type: String,\n \"default\": null\n },\n emptySearchMessage: {\n type: String,\n \"default\": null\n },\n tabindex: {\n type: Number,\n \"default\": 0\n },\n typeahead: {\n type: Boolean,\n \"default\": true\n },\n ariaLabel: {\n type: String,\n \"default\": null\n },\n ariaLabelledby: {\n type: String,\n \"default\": null\n },\n fluid: {\n type: Boolean,\n \"default\": null\n }\n },\n style: AutoCompleteStyle,\n provide: function provide() {\n return {\n $pcAutoComplete: this,\n $parentInstance: this\n };\n }\n};\n\nfunction _typeof$1(o) { \"@babel/helpers - typeof\"; return _typeof$1 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof$1(o); }\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _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.\"); }\nfunction _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; } }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _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; }\nvar script = {\n name: 'AutoComplete',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['update:modelValue', 'change', 'focus', 'blur', 'item-select', 'item-unselect', 'option-select', 'option-unselect', 'dropdown-click', 'clear', 'complete', 'before-show', 'before-hide', 'show', 'hide'],\n inject: {\n $pcFluid: {\n \"default\": null\n }\n },\n outsideClickListener: null,\n resizeListener: null,\n scrollHandler: null,\n overlay: null,\n virtualScroller: null,\n searchTimeout: null,\n dirty: false,\n data: function data() {\n return {\n id: this.$attrs.id,\n clicked: false,\n focused: false,\n focusedOptionIndex: -1,\n focusedMultipleOptionIndex: -1,\n overlayVisible: false,\n searching: false\n };\n },\n watch: {\n '$attrs.id': function $attrsId(newValue) {\n this.id = newValue || UniqueComponentId();\n },\n suggestions: function suggestions() {\n if (this.searching) {\n this.show();\n this.focusedOptionIndex = this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n this.searching = false;\n }\n this.autoUpdateModel();\n }\n },\n mounted: function mounted() {\n this.id = this.id || UniqueComponentId();\n this.autoUpdateModel();\n },\n updated: function updated() {\n if (this.overlayVisible) {\n this.alignOverlay();\n }\n },\n beforeUnmount: function beforeUnmount() {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n if (this.overlay) {\n ZIndex.clear(this.overlay);\n this.overlay = null;\n }\n },\n methods: {\n getOptionIndex: function getOptionIndex(index, fn) {\n return this.virtualScrollerDisabled ? index : fn && fn(index)['index'];\n },\n getOptionLabel: function getOptionLabel(option) {\n return this.optionLabel ? resolveFieldData(option, this.optionLabel) : option;\n },\n getOptionValue: function getOptionValue(option) {\n return option; // TODO: The 'optionValue' properties can be added.\n },\n getOptionRenderKey: function getOptionRenderKey(option, index) {\n return (this.dataKey ? resolveFieldData(option, this.dataKey) : this.getOptionLabel(option)) + '_' + index;\n },\n getPTOptions: function getPTOptions(option, itemOptions, index, key) {\n return this.ptm(key, {\n context: {\n selected: this.isSelected(option),\n focused: this.focusedOptionIndex === this.getOptionIndex(index, itemOptions),\n disabled: this.isOptionDisabled(option)\n }\n });\n },\n isOptionDisabled: function isOptionDisabled(option) {\n return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : false;\n },\n isOptionGroup: function isOptionGroup(option) {\n return this.optionGroupLabel && option.optionGroup && option.group;\n },\n getOptionGroupLabel: function getOptionGroupLabel(optionGroup) {\n return resolveFieldData(optionGroup, this.optionGroupLabel);\n },\n getOptionGroupChildren: function getOptionGroupChildren(optionGroup) {\n return resolveFieldData(optionGroup, this.optionGroupChildren);\n },\n getAriaPosInset: function getAriaPosInset(index) {\n var _this = this;\n return (this.optionGroupLabel ? index - this.visibleOptions.slice(0, index).filter(function (option) {\n return _this.isOptionGroup(option);\n }).length : index) + 1;\n },\n show: function show(isFocus) {\n this.$emit('before-show');\n this.dirty = true;\n this.overlayVisible = true;\n this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n isFocus && focus(this.multiple ? this.$refs.focusInput : this.$refs.focusInput.$el);\n },\n hide: function hide(isFocus) {\n var _this2 = this;\n var _hide = function _hide() {\n _this2.$emit('before-hide');\n _this2.dirty = isFocus;\n _this2.overlayVisible = false;\n _this2.clicked = false;\n _this2.focusedOptionIndex = -1;\n isFocus && focus(_this2.multiple ? _this2.$refs.focusInput : _this2.$refs.focusInput.$el);\n };\n setTimeout(function () {\n _hide();\n }, 0); // For ScreenReaders\n },\n onFocus: function onFocus(event) {\n if (this.disabled) {\n // For ScreenReaders\n return;\n }\n if (!this.dirty && this.completeOnFocus) {\n this.search(event, event.target.value, 'focus');\n }\n this.dirty = true;\n this.focused = true;\n if (this.overlayVisible) {\n this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n this.scrollInView(this.focusedOptionIndex);\n }\n this.$emit('focus', event);\n },\n onBlur: function onBlur(event) {\n this.dirty = false;\n this.focused = false;\n this.focusedOptionIndex = -1;\n this.$emit('blur', event);\n },\n onKeyDown: function onKeyDown(event) {\n if (this.disabled) {\n event.preventDefault();\n return;\n }\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n case 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n case 'ArrowRight':\n this.onArrowRightKey(event);\n break;\n case 'Home':\n this.onHomeKey(event);\n break;\n case 'End':\n this.onEndKey(event);\n break;\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n case 'Escape':\n this.onEscapeKey(event);\n break;\n case 'Tab':\n this.onTabKey(event);\n break;\n case 'Backspace':\n this.onBackspaceKey(event);\n break;\n }\n this.clicked = false;\n },\n onInput: function onInput(event) {\n var _this3 = this;\n if (this.typeahead) {\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n var query = event.target.value;\n if (!this.multiple) {\n this.updateModel(event, query);\n }\n if (query.length === 0) {\n this.hide();\n this.$emit('clear');\n } else {\n if (query.length >= this.minLength) {\n this.focusedOptionIndex = -1;\n this.searchTimeout = setTimeout(function () {\n _this3.search(event, query, 'input');\n }, this.delay);\n } else {\n this.hide();\n }\n }\n }\n },\n onChange: function onChange(event) {\n var _this4 = this;\n if (this.forceSelection) {\n var valid = false;\n\n // when forceSelection is on, prevent called twice onOptionSelect()\n if (this.visibleOptions && !this.multiple) {\n var value = this.multiple ? this.$refs.focusInput.value : this.$refs.focusInput.$el.value;\n var matchedValue = this.visibleOptions.find(function (option) {\n return _this4.isOptionMatched(option, value || '');\n });\n if (matchedValue !== undefined) {\n valid = true;\n !this.isSelected(matchedValue) && this.onOptionSelect(event, matchedValue);\n }\n }\n if (!valid) {\n if (this.multiple) this.$refs.focusInput.value = '';else this.$refs.focusInput.$el.value = '';\n this.$emit('clear');\n !this.multiple && this.updateModel(event, null);\n }\n }\n },\n onMultipleContainerFocus: function onMultipleContainerFocus() {\n if (this.disabled) {\n // For ScreenReaders\n return;\n }\n this.focused = true;\n },\n onMultipleContainerBlur: function onMultipleContainerBlur() {\n this.focusedMultipleOptionIndex = -1;\n this.focused = false;\n },\n onMultipleContainerKeyDown: function onMultipleContainerKeyDown(event) {\n if (this.disabled) {\n event.preventDefault();\n return;\n }\n switch (event.code) {\n case 'ArrowLeft':\n this.onArrowLeftKeyOnMultiple(event);\n break;\n case 'ArrowRight':\n this.onArrowRightKeyOnMultiple(event);\n break;\n case 'Backspace':\n this.onBackspaceKeyOnMultiple(event);\n break;\n }\n },\n onContainerClick: function onContainerClick(event) {\n this.clicked = true;\n if (this.disabled || this.searching || this.loading || this.isDropdownClicked(event)) {\n return;\n }\n if (!this.overlay || !this.overlay.contains(event.target)) {\n focus(this.multiple ? this.$refs.focusInput : this.$refs.focusInput.$el);\n }\n },\n onDropdownClick: function onDropdownClick(event) {\n var query = undefined;\n if (this.overlayVisible) {\n this.hide(true);\n } else {\n var target = this.multiple ? this.$refs.focusInput : this.$refs.focusInput.$el;\n focus(target);\n query = target.value;\n if (this.dropdownMode === 'blank') this.search(event, '', 'dropdown');else if (this.dropdownMode === 'current') this.search(event, query, 'dropdown');\n }\n this.$emit('dropdown-click', {\n originalEvent: event,\n query: query\n });\n },\n onOptionSelect: function onOptionSelect(event, option) {\n var isHide = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var value = this.getOptionValue(option);\n if (this.multiple) {\n this.$refs.focusInput.value = '';\n if (!this.isSelected(option)) {\n this.updateModel(event, [].concat(_toConsumableArray(this.modelValue || []), [value]));\n }\n } else {\n this.updateModel(event, value);\n }\n this.$emit('item-select', {\n originalEvent: event,\n value: option\n });\n this.$emit('option-select', {\n originalEvent: event,\n value: option\n });\n isHide && this.hide(true);\n },\n onOptionMouseMove: function onOptionMouseMove(event, index) {\n if (this.focusOnHover) {\n this.changeFocusedOptionIndex(event, index);\n }\n },\n onOverlayClick: function onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.$el\n });\n },\n onOverlayKeyDown: function onOverlayKeyDown(event) {\n switch (event.code) {\n case 'Escape':\n this.onEscapeKey(event);\n break;\n }\n },\n onArrowDownKey: function onArrowDownKey(event) {\n if (!this.overlayVisible) {\n return;\n }\n var optionIndex = this.focusedOptionIndex !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex) : this.clicked ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex();\n this.changeFocusedOptionIndex(event, optionIndex);\n event.preventDefault();\n },\n onArrowUpKey: function onArrowUpKey(event) {\n if (!this.overlayVisible) {\n return;\n }\n if (event.altKey) {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n this.overlayVisible && this.hide();\n event.preventDefault();\n } else {\n var optionIndex = this.focusedOptionIndex !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex) : this.clicked ? this.findLastOptionIndex() : this.findLastFocusedOptionIndex();\n this.changeFocusedOptionIndex(event, optionIndex);\n event.preventDefault();\n }\n },\n onArrowLeftKey: function onArrowLeftKey(event) {\n var target = event.currentTarget;\n this.focusedOptionIndex = -1;\n if (this.multiple) {\n if (isEmpty(target.value) && this.hasSelectedOption) {\n focus(this.$refs.multiContainer);\n this.focusedMultipleOptionIndex = this.modelValue.length;\n } else {\n event.stopPropagation(); // To prevent onArrowLeftKeyOnMultiple method\n }\n }\n },\n onArrowRightKey: function onArrowRightKey(event) {\n this.focusedOptionIndex = -1;\n this.multiple && event.stopPropagation(); // To prevent onArrowRightKeyOnMultiple method\n },\n onHomeKey: function onHomeKey(event) {\n var currentTarget = event.currentTarget;\n var len = currentTarget.value.length;\n currentTarget.setSelectionRange(0, event.shiftKey ? len : 0);\n this.focusedOptionIndex = -1;\n event.preventDefault();\n },\n onEndKey: function onEndKey(event) {\n var currentTarget = event.currentTarget;\n var len = currentTarget.value.length;\n currentTarget.setSelectionRange(event.shiftKey ? 0 : len, len);\n this.focusedOptionIndex = -1;\n event.preventDefault();\n },\n onPageUpKey: function onPageUpKey(event) {\n this.scrollInView(0);\n event.preventDefault();\n },\n onPageDownKey: function onPageDownKey(event) {\n this.scrollInView(this.visibleOptions.length - 1);\n event.preventDefault();\n },\n onEnterKey: function onEnterKey(event) {\n if (!this.typeahead) {\n if (this.multiple) {\n this.updateModel(event, [].concat(_toConsumableArray(this.modelValue || []), [event.target.value]));\n this.$refs.focusInput.value = '';\n }\n } else {\n if (!this.overlayVisible) {\n this.focusedOptionIndex = -1; // reset\n this.onArrowDownKey(event);\n } else {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n this.hide();\n }\n }\n },\n onEscapeKey: function onEscapeKey(event) {\n this.overlayVisible && this.hide(true);\n event.preventDefault();\n },\n onTabKey: function onTabKey(event) {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n this.overlayVisible && this.hide();\n },\n onBackspaceKey: function onBackspaceKey(event) {\n if (this.multiple) {\n if (isNotEmpty(this.modelValue) && !this.$refs.focusInput.value) {\n var removedValue = this.modelValue[this.modelValue.length - 1];\n var newValue = this.modelValue.slice(0, -1);\n this.$emit('update:modelValue', newValue);\n this.$emit('item-unselect', {\n originalEvent: event,\n value: removedValue\n });\n this.$emit('option-unselect', {\n originalEvent: event,\n value: removedValue\n });\n }\n event.stopPropagation(); // To prevent onBackspaceKeyOnMultiple method\n }\n },\n onArrowLeftKeyOnMultiple: function onArrowLeftKeyOnMultiple() {\n this.focusedMultipleOptionIndex = this.focusedMultipleOptionIndex < 1 ? 0 : this.focusedMultipleOptionIndex - 1;\n },\n onArrowRightKeyOnMultiple: function onArrowRightKeyOnMultiple() {\n this.focusedMultipleOptionIndex++;\n if (this.focusedMultipleOptionIndex > this.modelValue.length - 1) {\n this.focusedMultipleOptionIndex = -1;\n focus(this.$refs.focusInput);\n }\n },\n onBackspaceKeyOnMultiple: function onBackspaceKeyOnMultiple(event) {\n if (this.focusedMultipleOptionIndex !== -1) {\n this.removeOption(event, this.focusedMultipleOptionIndex);\n }\n },\n onOverlayEnter: function onOverlayEnter(el) {\n ZIndex.set('overlay', el, this.$primevue.config.zIndex.overlay);\n addStyle(el, {\n position: 'absolute',\n top: '0',\n left: '0'\n });\n this.alignOverlay();\n },\n onOverlayAfterEnter: function onOverlayAfterEnter() {\n this.bindOutsideClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n this.$emit('show');\n },\n onOverlayLeave: function onOverlayLeave() {\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n this.$emit('hide');\n this.overlay = null;\n },\n onOverlayAfterLeave: function onOverlayAfterLeave(el) {\n ZIndex.clear(el);\n },\n alignOverlay: function alignOverlay() {\n var target = this.multiple ? this.$refs.multiContainer : this.$refs.focusInput.$el;\n if (this.appendTo === 'self') {\n relativePosition(this.overlay, target);\n } else {\n this.overlay.style.minWidth = getOuterWidth(target) + 'px';\n absolutePosition(this.overlay, target);\n }\n },\n bindOutsideClickListener: function bindOutsideClickListener() {\n var _this5 = this;\n if (!this.outsideClickListener) {\n this.outsideClickListener = function (event) {\n if (_this5.overlayVisible && _this5.overlay && _this5.isOutsideClicked(event)) {\n _this5.hide();\n }\n };\n document.addEventListener('click', this.outsideClickListener);\n }\n },\n unbindOutsideClickListener: function unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener: function bindScrollListener() {\n var _this6 = this;\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.container, function () {\n if (_this6.overlayVisible) {\n _this6.hide();\n }\n });\n }\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener: function unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener: function bindResizeListener() {\n var _this7 = this;\n if (!this.resizeListener) {\n this.resizeListener = function () {\n if (_this7.overlayVisible && !isTouchDevice()) {\n _this7.hide();\n }\n };\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener: function unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n isOutsideClicked: function isOutsideClicked(event) {\n return !this.overlay.contains(event.target) && !this.isInputClicked(event) && !this.isDropdownClicked(event);\n },\n isInputClicked: function isInputClicked(event) {\n if (this.multiple) return event.target === this.$refs.multiContainer || this.$refs.multiContainer.contains(event.target);else return event.target === this.$refs.focusInput.$el;\n },\n isDropdownClicked: function isDropdownClicked(event) {\n return this.$refs.dropdownButton ? event.target === this.$refs.dropdownButton || this.$refs.dropdownButton.contains(event.target) : false;\n },\n isOptionMatched: function isOptionMatched(option, value) {\n var _this$getOptionLabel;\n return this.isValidOption(option) && ((_this$getOptionLabel = this.getOptionLabel(option)) === null || _this$getOptionLabel === void 0 ? void 0 : _this$getOptionLabel.toLocaleLowerCase(this.searchLocale)) === value.toLocaleLowerCase(this.searchLocale);\n },\n isValidOption: function isValidOption(option) {\n return isNotEmpty(option) && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n },\n isValidSelectedOption: function isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n },\n isEquals: function isEquals(value1, value2) {\n return equals(value1, value2, this.equalityKey);\n },\n isSelected: function isSelected(option) {\n var _this8 = this;\n var optionValue = this.getOptionValue(option);\n return this.multiple ? (this.modelValue || []).some(function (value) {\n return _this8.isEquals(value, optionValue);\n }) : this.isEquals(this.modelValue, this.getOptionValue(option));\n },\n findFirstOptionIndex: function findFirstOptionIndex() {\n var _this9 = this;\n return this.visibleOptions.findIndex(function (option) {\n return _this9.isValidOption(option);\n });\n },\n findLastOptionIndex: function findLastOptionIndex() {\n var _this10 = this;\n return findLastIndex(this.visibleOptions, function (option) {\n return _this10.isValidOption(option);\n });\n },\n findNextOptionIndex: function findNextOptionIndex(index) {\n var _this11 = this;\n var matchedOptionIndex = index < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index + 1).findIndex(function (option) {\n return _this11.isValidOption(option);\n }) : -1;\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;\n },\n findPrevOptionIndex: function findPrevOptionIndex(index) {\n var _this12 = this;\n var matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions.slice(0, index), function (option) {\n return _this12.isValidOption(option);\n }) : -1;\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n },\n findSelectedOptionIndex: function findSelectedOptionIndex() {\n var _this13 = this;\n return this.hasSelectedOption ? this.visibleOptions.findIndex(function (option) {\n return _this13.isValidSelectedOption(option);\n }) : -1;\n },\n findFirstFocusedOptionIndex: function findFirstFocusedOptionIndex() {\n var selectedIndex = this.findSelectedOptionIndex();\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n },\n findLastFocusedOptionIndex: function findLastFocusedOptionIndex() {\n var selectedIndex = this.findSelectedOptionIndex();\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n },\n search: function search(event, query, source) {\n //allow empty string but not undefined or null\n if (query === undefined || query === null) {\n return;\n }\n\n //do not search blank values on input change\n if (source === 'input' && query.trim().length === 0) {\n return;\n }\n this.searching = true;\n this.$emit('complete', {\n originalEvent: event,\n query: query\n });\n },\n removeOption: function removeOption(event, index) {\n var _this14 = this;\n var removedOption = this.modelValue[index];\n var value = this.modelValue.filter(function (_, i) {\n return i !== index;\n }).map(function (option) {\n return _this14.getOptionValue(option);\n });\n this.updateModel(event, value);\n this.$emit('item-unselect', {\n originalEvent: event,\n value: removedOption\n });\n this.$emit('option-unselect', {\n originalEvent: event,\n value: removedOption\n });\n this.dirty = true;\n focus(this.multiple ? this.$refs.focusInput : this.$refs.focusInput.$el);\n },\n changeFocusedOptionIndex: function changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex !== index) {\n this.focusedOptionIndex = index;\n this.scrollInView();\n if (this.selectOnFocus) {\n this.onOptionSelect(event, this.visibleOptions[index], false);\n }\n }\n },\n scrollInView: function scrollInView() {\n var _this15 = this;\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;\n this.$nextTick(function () {\n var id = index !== -1 ? \"\".concat(_this15.id, \"_\").concat(index) : _this15.focusedOptionId;\n var element = findSingle(_this15.list, \"li[id=\\\"\".concat(id, \"\\\"]\"));\n if (element) {\n element.scrollIntoView && element.scrollIntoView({\n block: 'nearest',\n inline: 'start'\n });\n } else if (!_this15.virtualScrollerDisabled) {\n _this15.virtualScroller && _this15.virtualScroller.scrollToIndex(index !== -1 ? index : _this15.focusedOptionIndex);\n }\n });\n },\n autoUpdateModel: function autoUpdateModel() {\n if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption) {\n this.focusedOptionIndex = this.findFirstFocusedOptionIndex();\n this.onOptionSelect(null, this.visibleOptions[this.focusedOptionIndex], false);\n }\n },\n updateModel: function updateModel(event, value) {\n this.$emit('update:modelValue', value);\n this.$emit('change', {\n originalEvent: event,\n value: value\n });\n },\n flatOptions: function flatOptions(options) {\n var _this16 = this;\n return (options || []).reduce(function (result, option, index) {\n result.push({\n optionGroup: option,\n group: true,\n index: index\n });\n var optionGroupChildren = _this16.getOptionGroupChildren(option);\n optionGroupChildren && optionGroupChildren.forEach(function (o) {\n return result.push(o);\n });\n return result;\n }, []);\n },\n overlayRef: function overlayRef(el) {\n this.overlay = el;\n },\n listRef: function listRef(el, contentRef) {\n this.list = el;\n contentRef && contentRef(el); // For VirtualScroller\n },\n virtualScrollerRef: function virtualScrollerRef(el) {\n this.virtualScroller = el;\n }\n },\n computed: {\n visibleOptions: function visibleOptions() {\n return this.optionGroupLabel ? this.flatOptions(this.suggestions) : this.suggestions || [];\n },\n inputValue: function inputValue() {\n if (isNotEmpty(this.modelValue)) {\n if (_typeof$1(this.modelValue) === 'object') {\n var label = this.getOptionLabel(this.modelValue);\n return label != null ? label : this.modelValue;\n } else {\n return this.modelValue;\n }\n } else {\n return '';\n }\n },\n hasSelectedOption: function hasSelectedOption() {\n return isNotEmpty(this.modelValue);\n },\n equalityKey: function equalityKey() {\n return this.dataKey; // TODO: The 'optionValue' properties can be added.\n },\n searchResultMessageText: function searchResultMessageText() {\n return isNotEmpty(this.visibleOptions) && this.overlayVisible ? this.searchMessageText.replaceAll('{0}', this.visibleOptions.length) : this.emptySearchMessageText;\n },\n searchMessageText: function searchMessageText() {\n return this.searchMessage || this.$primevue.config.locale.searchMessage || '';\n },\n emptySearchMessageText: function emptySearchMessageText() {\n return this.emptySearchMessage || this.$primevue.config.locale.emptySearchMessage || '';\n },\n selectionMessageText: function selectionMessageText() {\n return this.selectionMessage || this.$primevue.config.locale.selectionMessage || '';\n },\n emptySelectionMessageText: function emptySelectionMessageText() {\n return this.emptySelectionMessage || this.$primevue.config.locale.emptySelectionMessage || '';\n },\n selectedMessageText: function selectedMessageText() {\n return this.hasSelectedOption ? this.selectionMessageText.replaceAll('{0}', this.multiple ? this.modelValue.length : '1') : this.emptySelectionMessageText;\n },\n listAriaLabel: function listAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.listLabel : undefined;\n },\n focusedOptionId: function focusedOptionId() {\n return this.focusedOptionIndex !== -1 ? \"\".concat(this.id, \"_\").concat(this.focusedOptionIndex) : null;\n },\n focusedMultipleOptionId: function focusedMultipleOptionId() {\n return this.focusedMultipleOptionIndex !== -1 ? \"\".concat(this.id, \"_multiple_option_\").concat(this.focusedMultipleOptionIndex) : null;\n },\n ariaSetSize: function ariaSetSize() {\n var _this17 = this;\n return this.visibleOptions.filter(function (option) {\n return !_this17.isOptionGroup(option);\n }).length;\n },\n virtualScrollerDisabled: function virtualScrollerDisabled() {\n return !this.virtualScrollerOptions;\n },\n panelId: function panelId() {\n return this.id + '_panel';\n },\n hasFluid: function hasFluid() {\n return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid;\n }\n },\n components: {\n InputText: InputText,\n VirtualScroller: VirtualScroller,\n Portal: Portal,\n ChevronDownIcon: ChevronDownIcon,\n SpinnerIcon: SpinnerIcon,\n Chip: Chip\n },\n directives: {\n ripple: Ripple\n }\n};\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _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); }\nvar _hoisted_1 = [\"aria-activedescendant\"];\nvar _hoisted_2 = [\"id\", \"aria-label\", \"aria-setsize\", \"aria-posinset\"];\nvar _hoisted_3 = [\"id\", \"placeholder\", \"tabindex\", \"disabled\", \"aria-label\", \"aria-labelledby\", \"aria-expanded\", \"aria-controls\", \"aria-activedescendant\", \"aria-invalid\"];\nvar _hoisted_4 = [\"disabled\", \"aria-expanded\", \"aria-controls\"];\nvar _hoisted_5 = [\"id\"];\nvar _hoisted_6 = [\"id\", \"aria-label\"];\nvar _hoisted_7 = [\"id\"];\nvar _hoisted_8 = [\"id\", \"aria-label\", \"aria-selected\", \"aria-disabled\", \"aria-setsize\", \"aria-posinset\", \"onClick\", \"onMousemove\", \"data-p-selected\", \"data-p-focus\", \"data-p-disabled\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_InputText = resolveComponent(\"InputText\");\n var _component_Chip = resolveComponent(\"Chip\");\n var _component_SpinnerIcon = resolveComponent(\"SpinnerIcon\");\n var _component_VirtualScroller = resolveComponent(\"VirtualScroller\");\n var _component_Portal = resolveComponent(\"Portal\");\n var _directive_ripple = resolveDirective(\"ripple\");\n return openBlock(), createElementBlock(\"div\", mergeProps({\n ref: \"container\",\n \"class\": _ctx.cx('root'),\n style: _ctx.sx('root'),\n onClick: _cache[11] || (_cache[11] = function () {\n return $options.onContainerClick && $options.onContainerClick.apply($options, arguments);\n })\n }, _ctx.ptmi('root')), [!_ctx.multiple ? (openBlock(), createBlock(_component_InputText, {\n key: 0,\n ref: \"focusInput\",\n id: _ctx.inputId,\n type: \"text\",\n \"class\": normalizeClass([_ctx.cx('pcInputText'), _ctx.inputClass]),\n style: normalizeStyle(_ctx.inputStyle),\n value: $options.inputValue,\n placeholder: _ctx.placeholder,\n tabindex: !_ctx.disabled ? _ctx.tabindex : -1,\n fluid: $options.hasFluid,\n disabled: _ctx.disabled,\n invalid: _ctx.invalid,\n variant: _ctx.variant,\n autocomplete: \"off\",\n role: \"combobox\",\n \"aria-label\": _ctx.ariaLabel,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-haspopup\": \"listbox\",\n \"aria-autocomplete\": \"list\",\n \"aria-expanded\": $data.overlayVisible,\n \"aria-controls\": $options.panelId,\n \"aria-activedescendant\": $data.focused ? $options.focusedOptionId : undefined,\n onFocus: $options.onFocus,\n onBlur: $options.onBlur,\n onKeydown: $options.onKeyDown,\n onInput: $options.onInput,\n onChange: $options.onChange,\n unstyled: _ctx.unstyled,\n pt: _ctx.ptm('pcInputText')\n }, 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({\n key: 1,\n ref: \"multiContainer\",\n \"class\": _ctx.cx('inputMultiple'),\n tabindex: \"-1\",\n role: \"listbox\",\n \"aria-orientation\": \"horizontal\",\n \"aria-activedescendant\": $data.focused ? $options.focusedMultipleOptionId : undefined,\n onFocus: _cache[5] || (_cache[5] = function () {\n return $options.onMultipleContainerFocus && $options.onMultipleContainerFocus.apply($options, arguments);\n }),\n onBlur: _cache[6] || (_cache[6] = function () {\n return $options.onMultipleContainerBlur && $options.onMultipleContainerBlur.apply($options, arguments);\n }),\n onKeydown: _cache[7] || (_cache[7] = function () {\n return $options.onMultipleContainerKeyDown && $options.onMultipleContainerKeyDown.apply($options, arguments);\n })\n }, _ctx.ptm('inputMultiple')), [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.modelValue, function (option, i) {\n return openBlock(), createElementBlock(\"li\", mergeProps({\n key: \"\".concat(i, \"_\").concat($options.getOptionLabel(option)),\n id: $data.id + '_multiple_option_' + i,\n \"class\": _ctx.cx('chipItem', {\n i: i\n }),\n role: \"option\",\n \"aria-label\": $options.getOptionLabel(option),\n \"aria-selected\": true,\n \"aria-setsize\": _ctx.modelValue.length,\n \"aria-posinset\": i + 1,\n ref_for: true\n }, _ctx.ptm('chipItem')), [renderSlot(_ctx.$slots, \"chip\", mergeProps({\n \"class\": _ctx.cx('pcChip'),\n value: option,\n index: i,\n removeCallback: function removeCallback(event) {\n return $options.removeOption(event, i);\n },\n ref_for: true\n }, _ctx.ptm('pcChip')), function () {\n return [createVNode(_component_Chip, {\n \"class\": normalizeClass(_ctx.cx('pcChip')),\n label: $options.getOptionLabel(option),\n removeIcon: _ctx.chipIcon || _ctx.removeTokenIcon,\n removable: \"\",\n unstyled: _ctx.unstyled,\n onRemove: function onRemove($event) {\n return $options.removeOption($event, i);\n },\n pt: _ctx.ptm('pcChip')\n }, {\n removeicon: withCtx(function () {\n return [renderSlot(_ctx.$slots, _ctx.$slots.chipicon ? 'chipicon' : 'removetokenicon', {\n \"class\": normalizeClass(_ctx.cx('chipIcon')),\n index: i,\n removeCallback: function removeCallback(event) {\n return $options.removeOption(event, i);\n }\n })];\n }),\n _: 2\n }, 1032, [\"class\", \"label\", \"removeIcon\", \"unstyled\", \"onRemove\", \"pt\"])];\n })], 16, _hoisted_2);\n }), 128)), createElementVNode(\"li\", mergeProps({\n \"class\": _ctx.cx('inputChip'),\n role: \"option\"\n }, _ctx.ptm('inputChip')), [createElementVNode(\"input\", mergeProps({\n ref: \"focusInput\",\n id: _ctx.inputId,\n type: \"text\",\n style: _ctx.inputStyle,\n \"class\": _ctx.inputClass,\n placeholder: _ctx.placeholder,\n tabindex: !_ctx.disabled ? _ctx.tabindex : -1,\n disabled: _ctx.disabled,\n autocomplete: \"off\",\n role: \"combobox\",\n \"aria-label\": _ctx.ariaLabel,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-haspopup\": \"listbox\",\n \"aria-autocomplete\": \"list\",\n \"aria-expanded\": $data.overlayVisible,\n \"aria-controls\": $data.id + '_list',\n \"aria-activedescendant\": $data.focused ? $options.focusedOptionId : undefined,\n \"aria-invalid\": _ctx.invalid || undefined,\n onFocus: _cache[0] || (_cache[0] = function () {\n return $options.onFocus && $options.onFocus.apply($options, arguments);\n }),\n onBlur: _cache[1] || (_cache[1] = function () {\n return $options.onBlur && $options.onBlur.apply($options, arguments);\n }),\n onKeydown: _cache[2] || (_cache[2] = function () {\n return $options.onKeyDown && $options.onKeyDown.apply($options, arguments);\n }),\n onInput: _cache[3] || (_cache[3] = function () {\n return $options.onInput && $options.onInput.apply($options, arguments);\n }),\n onChange: _cache[4] || (_cache[4] = function () {\n return $options.onChange && $options.onChange.apply($options, arguments);\n })\n }, _ctx.ptm('input')), null, 16, _hoisted_3)], 16)], 16, _hoisted_1)) : createCommentVNode(\"\", true), $data.searching || _ctx.loading ? renderSlot(_ctx.$slots, _ctx.$slots.loader ? 'loader' : 'loadingicon', {\n key: 2,\n \"class\": normalizeClass(_ctx.cx('loader'))\n }, function () {\n return [_ctx.loader || _ctx.loadingIcon ? (openBlock(), createElementBlock(\"i\", mergeProps({\n key: 0,\n \"class\": ['pi-spin', _ctx.cx('loader'), _ctx.loader, _ctx.loadingIcon],\n \"aria-hidden\": \"true\"\n }, _ctx.ptm('loader')), null, 16)) : (openBlock(), createBlock(_component_SpinnerIcon, mergeProps({\n key: 1,\n \"class\": _ctx.cx('loader'),\n spin: \"\",\n \"aria-hidden\": \"true\"\n }, _ctx.ptm('loader')), null, 16, [\"class\"]))];\n }) : createCommentVNode(\"\", true), renderSlot(_ctx.$slots, _ctx.$slots.dropdown ? 'dropdown' : 'dropdownbutton', {\n toggleCallback: function toggleCallback(event) {\n return $options.onDropdownClick(event);\n }\n }, function () {\n return [_ctx.dropdown ? (openBlock(), createElementBlock(\"button\", mergeProps({\n key: 0,\n ref: \"dropdownButton\",\n type: \"button\",\n \"class\": [_ctx.cx('dropdown'), _ctx.dropdownClass],\n disabled: _ctx.disabled,\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": $data.overlayVisible,\n \"aria-controls\": $options.panelId,\n onClick: _cache[8] || (_cache[8] = function () {\n return $options.onDropdownClick && $options.onDropdownClick.apply($options, arguments);\n })\n }, _ctx.ptm('dropdown')), [renderSlot(_ctx.$slots, \"dropdownicon\", {\n \"class\": normalizeClass(_ctx.dropdownIcon)\n }, function () {\n return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.dropdownIcon ? 'span' : 'ChevronDownIcon'), mergeProps({\n \"class\": _ctx.dropdownIcon\n }, _ctx.ptm('dropdownIcon')), null, 16, [\"class\"]))];\n })], 16, _hoisted_4)) : createCommentVNode(\"\", true)];\n }), createElementVNode(\"span\", mergeProps({\n role: \"status\",\n \"aria-live\": \"polite\",\n \"class\": \"p-hidden-accessible\"\n }, _ctx.ptm('hiddenSearchResult'), {\n \"data-p-hidden-accessible\": true\n }), toDisplayString($options.searchResultMessageText), 17), createVNode(_component_Portal, {\n appendTo: _ctx.appendTo\n }, {\n \"default\": withCtx(function () {\n return [createVNode(Transition, mergeProps({\n name: \"p-connected-overlay\",\n onEnter: $options.onOverlayEnter,\n onAfterEnter: $options.onOverlayAfterEnter,\n onLeave: $options.onOverlayLeave,\n onAfterLeave: $options.onOverlayAfterLeave\n }, _ctx.ptm('transition')), {\n \"default\": withCtx(function () {\n return [$data.overlayVisible ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n ref: $options.overlayRef,\n id: $options.panelId,\n \"class\": [_ctx.cx('overlay'), _ctx.panelClass, _ctx.overlayClass],\n style: _objectSpread(_objectSpread({}, _ctx.panelStyle), _ctx.overlayStyle),\n onClick: _cache[9] || (_cache[9] = function () {\n return $options.onOverlayClick && $options.onOverlayClick.apply($options, arguments);\n }),\n onKeydown: _cache[10] || (_cache[10] = function () {\n return $options.onOverlayKeyDown && $options.onOverlayKeyDown.apply($options, arguments);\n })\n }, _ctx.ptm('overlay')), [renderSlot(_ctx.$slots, \"header\", {\n value: _ctx.modelValue,\n suggestions: $options.visibleOptions\n }), createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('listContainer'),\n style: {\n 'max-height': $options.virtualScrollerDisabled ? _ctx.scrollHeight : ''\n }\n }, _ctx.ptm('listContainer')), [createVNode(_component_VirtualScroller, mergeProps({\n ref: $options.virtualScrollerRef\n }, _ctx.virtualScrollerOptions, {\n style: {\n height: _ctx.scrollHeight\n },\n items: $options.visibleOptions,\n tabindex: -1,\n disabled: $options.virtualScrollerDisabled,\n pt: _ctx.ptm('virtualScroller')\n }), createSlots({\n content: withCtx(function (_ref) {\n var styleClass = _ref.styleClass,\n contentRef = _ref.contentRef,\n items = _ref.items,\n getItemOptions = _ref.getItemOptions,\n contentStyle = _ref.contentStyle,\n itemSize = _ref.itemSize;\n return [createElementVNode(\"ul\", mergeProps({\n ref: function ref(el) {\n return $options.listRef(el, contentRef);\n },\n id: $data.id + '_list',\n \"class\": [_ctx.cx('list'), styleClass],\n style: contentStyle,\n role: \"listbox\",\n \"aria-label\": $options.listAriaLabel\n }, _ctx.ptm('list')), [(openBlock(true), createElementBlock(Fragment, null, renderList(items, function (option, i) {\n return openBlock(), createElementBlock(Fragment, {\n key: $options.getOptionRenderKey(option, $options.getOptionIndex(i, getItemOptions))\n }, [$options.isOptionGroup(option) ? (openBlock(), createElementBlock(\"li\", mergeProps({\n key: 0,\n id: $data.id + '_' + $options.getOptionIndex(i, getItemOptions),\n style: {\n height: itemSize ? itemSize + 'px' : undefined\n },\n \"class\": _ctx.cx('optionGroup'),\n role: \"option\",\n ref_for: true\n }, _ctx.ptm('optionGroup')), [renderSlot(_ctx.$slots, \"optiongroup\", {\n option: option.optionGroup,\n index: $options.getOptionIndex(i, getItemOptions)\n }, function () {\n return [createTextVNode(toDisplayString($options.getOptionGroupLabel(option.optionGroup)), 1)];\n })], 16, _hoisted_7)) : withDirectives((openBlock(), createElementBlock(\"li\", mergeProps({\n key: 1,\n id: $data.id + '_' + $options.getOptionIndex(i, getItemOptions),\n style: {\n height: itemSize ? itemSize + 'px' : undefined\n },\n \"class\": _ctx.cx('option', {\n option: option,\n i: i,\n getItemOptions: getItemOptions\n }),\n role: \"option\",\n \"aria-label\": $options.getOptionLabel(option),\n \"aria-selected\": $options.isSelected(option),\n \"aria-disabled\": $options.isOptionDisabled(option),\n \"aria-setsize\": $options.ariaSetSize,\n \"aria-posinset\": $options.getAriaPosInset($options.getOptionIndex(i, getItemOptions)),\n onClick: function onClick($event) {\n return $options.onOptionSelect($event, option);\n },\n onMousemove: function onMousemove($event) {\n return $options.onOptionMouseMove($event, $options.getOptionIndex(i, getItemOptions));\n },\n \"data-p-selected\": $options.isSelected(option),\n \"data-p-focus\": $data.focusedOptionIndex === $options.getOptionIndex(i, getItemOptions),\n \"data-p-disabled\": $options.isOptionDisabled(option),\n ref_for: true\n }, $options.getPTOptions(option, getItemOptions, i, 'option')), [renderSlot(_ctx.$slots, \"option\", {\n option: option,\n index: $options.getOptionIndex(i, getItemOptions)\n }, function () {\n return [createTextVNode(toDisplayString($options.getOptionLabel(option)), 1)];\n })], 16, _hoisted_8)), [[_directive_ripple]])], 64);\n }), 128)), !items || items && items.length === 0 ? (openBlock(), createElementBlock(\"li\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('emptyMessage'),\n role: \"option\"\n }, _ctx.ptm('emptyMessage')), [renderSlot(_ctx.$slots, \"empty\", {}, function () {\n return [createTextVNode(toDisplayString($options.searchResultMessageText), 1)];\n })], 16)) : createCommentVNode(\"\", true)], 16, _hoisted_6)];\n }),\n _: 2\n }, [_ctx.$slots.loader ? {\n name: \"loader\",\n fn: withCtx(function (_ref2) {\n var options = _ref2.options;\n return [renderSlot(_ctx.$slots, \"loader\", {\n options: options\n })];\n }),\n key: \"0\"\n } : undefined]), 1040, [\"style\", \"items\", \"disabled\", \"pt\"])], 16), renderSlot(_ctx.$slots, \"footer\", {\n value: _ctx.modelValue,\n suggestions: $options.visibleOptions\n }), createElementVNode(\"span\", mergeProps({\n role: \"status\",\n \"aria-live\": \"polite\",\n \"class\": \"p-hidden-accessible\"\n }, _ctx.ptm('hiddenSelectedMessage'), {\n \"data-p-hidden-accessible\": true\n }), toDisplayString($options.selectedMessageText), 17)], 16, _hoisted_5)) : createCommentVNode(\"\", true)];\n }),\n _: 3\n }, 16, [\"onEnter\", \"onAfterEnter\", \"onLeave\", \"onAfterLeave\"])];\n }),\n _: 3\n }, 8, [\"appendTo\"])], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","\n\n","\n\n\n\n\n","\n\n\n\n\n","// @ts-strict-ignore\nimport type {\n ConnectingLink,\n LGraphNode,\n Vector2,\n INodeInputSlot,\n INodeOutputSlot,\n INodeSlot\n} from '@comfyorg/litegraph'\nimport type { ISlotType } from '@comfyorg/litegraph'\nimport { LiteGraph } from '@comfyorg/litegraph'\n\nexport class ConnectingLinkImpl implements ConnectingLink {\n node: LGraphNode\n slot: number\n input: INodeInputSlot | null\n output: INodeOutputSlot | null\n pos: Vector2\n\n constructor(\n node: LGraphNode,\n slot: number,\n input: INodeInputSlot | null,\n output: INodeOutputSlot | null,\n pos: Vector2\n ) {\n this.node = node\n this.slot = slot\n this.input = input\n this.output = output\n this.pos = pos\n }\n\n static createFromPlainObject(obj: ConnectingLink) {\n return new ConnectingLinkImpl(\n obj.node,\n obj.slot,\n obj.input,\n obj.output,\n obj.pos\n )\n }\n\n get type(): ISlotType | null {\n const result = this.input ? this.input.type : this.output.type\n return result === -1 ? null : result\n }\n\n /**\n * Which slot type is release and need to be reconnected.\n * - 'output' means we need a new node's outputs slot to connect with this link\n */\n get releaseSlotType(): 'input' | 'output' {\n return this.output ? 'input' : 'output'\n }\n\n connectTo(newNode: LGraphNode) {\n const newNodeSlots =\n this.releaseSlotType === 'output' ? newNode.outputs : newNode.inputs\n if (!newNodeSlots) return\n\n const newNodeSlot = newNodeSlots.findIndex((slot: INodeSlot) =>\n LiteGraph.isValidConnection(slot.type, this.type)\n )\n\n if (newNodeSlot === -1) {\n console.warn(\n `Could not find slot with type ${this.type} on node ${newNode.title}. This should never happen`\n )\n return\n }\n\n if (this.releaseSlotType === 'input') {\n this.node.connect(this.slot, newNode, newNodeSlot)\n } else {\n newNode.connect(newNodeSlot, this.node, this.slot)\n }\n }\n}\n\nexport type CanvasDragAndDropData = {\n type: 'add-node'\n data: T\n}\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n _ref.dt;\n 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\";\n};\nvar classes = {\n root: 'p-buttongroup p-component'\n};\nvar ButtonGroupStyle = BaseStyle.extend({\n name: 'buttongroup',\n theme: theme,\n classes: classes\n});\n\nexport { ButtonGroupStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseComponent from '@primevue/core/basecomponent';\nimport ButtonGroupStyle from 'primevue/buttongroup/style';\nimport { openBlock, createElementBlock, mergeProps, renderSlot } from 'vue';\n\nvar script$1 = {\n name: 'BaseButtonGroup',\n \"extends\": BaseComponent,\n style: ButtonGroupStyle,\n provide: function provide() {\n return {\n $pcButtonGroup: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'ButtonGroup',\n \"extends\": script$1,\n inheritAttrs: false\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps({\n \"class\": _ctx.cx('root'),\n role: \"group\"\n }, _ctx.ptmi('root')), [renderSlot(_ctx.$slots, \"default\")], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","\n\n\n\n\n","\n\n\n","\n\n\n\n\n","import BaseStyle from '@primevue/core/base/style';\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _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); }\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\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-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\");\n};\n\n// Position\nvar inlineStyles = {\n root: function root(_ref2) {\n var position = _ref2.position;\n return {\n position: 'fixed',\n top: position === 'top-right' || position === 'top-left' || position === 'top-center' ? '20px' : position === 'center' ? '50%' : null,\n right: (position === 'top-right' || position === 'bottom-right') && '20px',\n bottom: (position === 'bottom-left' || position === 'bottom-right' || position === 'bottom-center') && '20px',\n left: position === 'top-left' || position === 'bottom-left' ? '20px' : position === 'center' || position === 'top-center' || position === 'bottom-center' ? '50%' : null\n };\n }\n};\nvar classes = {\n root: function root(_ref3) {\n var props = _ref3.props;\n return ['p-toast p-component p-toast-' + props.position];\n },\n message: function message(_ref4) {\n var props = _ref4.props;\n return ['p-toast-message', {\n 'p-toast-message-info': props.message.severity === 'info' || props.message.severity === undefined,\n 'p-toast-message-warn': props.message.severity === 'warn',\n 'p-toast-message-error': props.message.severity === 'error',\n 'p-toast-message-success': props.message.severity === 'success',\n 'p-toast-message-secondary': props.message.severity === 'secondary',\n 'p-toast-message-contrast': props.message.severity === 'contrast'\n }];\n },\n messageContent: 'p-toast-message-content',\n messageIcon: function messageIcon(_ref5) {\n var props = _ref5.props;\n return ['p-toast-message-icon', _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, props.infoIcon, props.message.severity === 'info'), props.warnIcon, props.message.severity === 'warn'), props.errorIcon, props.message.severity === 'error'), props.successIcon, props.message.severity === 'success')];\n },\n messageText: 'p-toast-message-text',\n summary: 'p-toast-summary',\n detail: 'p-toast-detail',\n closeButton: 'p-toast-close-button',\n closeIcon: 'p-toast-close-icon'\n};\nvar ToastStyle = BaseStyle.extend({\n name: 'toast',\n theme: theme,\n classes: classes,\n inlineStyles: inlineStyles\n});\n\nexport { ToastStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'ExclamationTriangleIcon',\n \"extends\": BaseIcon\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _cache[0] || (_cache[0] = [createElementVNode(\"path\", {\n 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\",\n fill: \"currentColor\"\n }, null, -1), createElementVNode(\"path\", {\n 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\",\n fill: \"currentColor\"\n }, null, -1), createElementVNode(\"path\", {\n 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\",\n fill: \"currentColor\"\n }, null, -1)]), 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'InfoCircleIcon',\n \"extends\": BaseIcon\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _cache[0] || (_cache[0] = [createElementVNode(\"path\", {\n \"fill-rule\": \"evenodd\",\n \"clip-rule\": \"evenodd\",\n d: \"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\",\n fill: \"currentColor\"\n }, null, -1)]), 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import { setAttribute } from '@primeuix/utils/dom';\nimport { isEmpty } from '@primeuix/utils/object';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport Portal from 'primevue/portal';\nimport ToastEventBus from 'primevue/toasteventbus';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport ToastStyle from 'primevue/toast/style';\nimport CheckIcon from '@primevue/icons/check';\nimport ExclamationTriangleIcon from '@primevue/icons/exclamationtriangle';\nimport InfoCircleIcon from '@primevue/icons/infocircle';\nimport TimesIcon from '@primevue/icons/times';\nimport TimesCircleIcon from '@primevue/icons/timescircle';\nimport Ripple from 'primevue/ripple';\nimport { resolveDirective, openBlock, createElementBlock, mergeProps, createBlock, resolveDynamicComponent, Fragment, createElementVNode, toDisplayString, normalizeProps, withDirectives, createCommentVNode, resolveComponent, withCtx, createVNode, TransitionGroup, renderList } from 'vue';\n\nvar script$2 = {\n name: 'BaseToast',\n \"extends\": BaseComponent,\n props: {\n group: {\n type: String,\n \"default\": null\n },\n position: {\n type: String,\n \"default\": 'top-right'\n },\n autoZIndex: {\n type: Boolean,\n \"default\": true\n },\n baseZIndex: {\n type: Number,\n \"default\": 0\n },\n breakpoints: {\n type: Object,\n \"default\": null\n },\n closeIcon: {\n type: String,\n \"default\": undefined\n },\n infoIcon: {\n type: String,\n \"default\": undefined\n },\n warnIcon: {\n type: String,\n \"default\": undefined\n },\n errorIcon: {\n type: String,\n \"default\": undefined\n },\n successIcon: {\n type: String,\n \"default\": undefined\n },\n closeButtonProps: {\n type: null,\n \"default\": null\n }\n },\n style: ToastStyle,\n provide: function provide() {\n return {\n $pcToast: this,\n $parentInstance: this\n };\n }\n};\n\nvar script$1 = {\n name: 'ToastMessage',\n hostName: 'Toast',\n \"extends\": BaseComponent,\n emits: ['close'],\n closeTimeout: null,\n props: {\n message: {\n type: null,\n \"default\": null\n },\n templates: {\n type: Object,\n \"default\": null\n },\n closeIcon: {\n type: String,\n \"default\": null\n },\n infoIcon: {\n type: String,\n \"default\": null\n },\n warnIcon: {\n type: String,\n \"default\": null\n },\n errorIcon: {\n type: String,\n \"default\": null\n },\n successIcon: {\n type: String,\n \"default\": null\n },\n closeButtonProps: {\n type: null,\n \"default\": null\n }\n },\n mounted: function mounted() {\n var _this = this;\n if (this.message.life) {\n this.closeTimeout = setTimeout(function () {\n _this.close({\n message: _this.message,\n type: 'life-end'\n });\n }, this.message.life);\n }\n },\n beforeUnmount: function beforeUnmount() {\n this.clearCloseTimeout();\n },\n methods: {\n close: function close(params) {\n this.$emit('close', params);\n },\n onCloseClick: function onCloseClick() {\n this.clearCloseTimeout();\n this.close({\n message: this.message,\n type: 'close'\n });\n },\n clearCloseTimeout: function clearCloseTimeout() {\n if (this.closeTimeout) {\n clearTimeout(this.closeTimeout);\n this.closeTimeout = null;\n }\n }\n },\n computed: {\n iconComponent: function iconComponent() {\n return {\n info: !this.infoIcon && InfoCircleIcon,\n success: !this.successIcon && CheckIcon,\n warn: !this.warnIcon && ExclamationTriangleIcon,\n error: !this.errorIcon && TimesCircleIcon\n }[this.message.severity];\n },\n closeAriaLabel: function closeAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined;\n }\n },\n components: {\n TimesIcon: TimesIcon,\n InfoCircleIcon: InfoCircleIcon,\n CheckIcon: CheckIcon,\n ExclamationTriangleIcon: ExclamationTriangleIcon,\n TimesCircleIcon: TimesCircleIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n\nfunction _typeof$1(o) { \"@babel/helpers - typeof\"; return _typeof$1 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof$1(o); }\nfunction ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty$1(e, r, t) { return (r = _toPropertyKey$1(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey$1(t) { var i = _toPrimitive$1(t, \"string\"); return \"symbol\" == _typeof$1(i) ? i : i + \"\"; }\nfunction _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); }\nvar _hoisted_1 = [\"aria-label\"];\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n var _directive_ripple = resolveDirective(\"ripple\");\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": [_ctx.cx('message'), $props.message.styleClass],\n role: \"alert\",\n \"aria-live\": \"assertive\",\n \"aria-atomic\": \"true\"\n }, _ctx.ptm('message')), [$props.templates.container ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.container), {\n key: 0,\n message: $props.message,\n closeCallback: $options.onCloseClick\n }, null, 8, [\"message\", \"closeCallback\"])) : (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 1,\n \"class\": [_ctx.cx('messageContent'), $props.message.contentStyleClass]\n }, _ctx.ptm('messageContent')), [!$props.templates.message ? (openBlock(), createElementBlock(Fragment, {\n key: 0\n }, [(openBlock(), createBlock(resolveDynamicComponent($props.templates.messageicon ? $props.templates.messageicon : $props.templates.icon ? $props.templates.icon : $options.iconComponent && $options.iconComponent.name ? $options.iconComponent : 'span'), mergeProps({\n \"class\": _ctx.cx('messageIcon')\n }, _ctx.ptm('messageIcon')), null, 16, [\"class\"])), createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('messageText')\n }, _ctx.ptm('messageText')), [createElementVNode(\"span\", mergeProps({\n \"class\": _ctx.cx('summary')\n }, _ctx.ptm('summary')), toDisplayString($props.message.summary), 17), createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('detail')\n }, _ctx.ptm('detail')), toDisplayString($props.message.detail), 17)], 16)], 64)) : (openBlock(), createBlock(resolveDynamicComponent($props.templates.message), {\n key: 1,\n message: $props.message\n }, null, 8, [\"message\"])), $props.message.closable !== false ? (openBlock(), createElementBlock(\"div\", normalizeProps(mergeProps({\n key: 2\n }, _ctx.ptm('buttonContainer'))), [withDirectives((openBlock(), createElementBlock(\"button\", mergeProps({\n \"class\": _ctx.cx('closeButton'),\n type: \"button\",\n \"aria-label\": $options.closeAriaLabel,\n onClick: _cache[0] || (_cache[0] = function () {\n return $options.onCloseClick && $options.onCloseClick.apply($options, arguments);\n }),\n autofocus: \"\"\n }, _objectSpread$1(_objectSpread$1({}, $props.closeButtonProps), _ctx.ptm('closeButton'))), [(openBlock(), createBlock(resolveDynamicComponent($props.templates.closeicon || 'TimesIcon'), mergeProps({\n \"class\": [_ctx.cx('closeIcon'), $props.closeIcon]\n }, _ctx.ptm('closeIcon')), null, 16, [\"class\"]))], 16, _hoisted_1)), [[_directive_ripple]])], 16)) : createCommentVNode(\"\", true)], 16))], 16);\n}\n\nscript$1.render = render$1;\n\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _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.\"); }\nfunction _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; } }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _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; }\nvar messageIdx = 0;\nvar script = {\n name: 'Toast',\n \"extends\": script$2,\n inheritAttrs: false,\n emits: ['close', 'life-end'],\n data: function data() {\n return {\n messages: []\n };\n },\n styleElement: null,\n mounted: function mounted() {\n ToastEventBus.on('add', this.onAdd);\n ToastEventBus.on('remove', this.onRemove);\n ToastEventBus.on('remove-group', this.onRemoveGroup);\n ToastEventBus.on('remove-all-groups', this.onRemoveAllGroups);\n if (this.breakpoints) {\n this.createStyle();\n }\n },\n beforeUnmount: function beforeUnmount() {\n this.destroyStyle();\n if (this.$refs.container && this.autoZIndex) {\n ZIndex.clear(this.$refs.container);\n }\n ToastEventBus.off('add', this.onAdd);\n ToastEventBus.off('remove', this.onRemove);\n ToastEventBus.off('remove-group', this.onRemoveGroup);\n ToastEventBus.off('remove-all-groups', this.onRemoveAllGroups);\n },\n methods: {\n add: function add(message) {\n if (message.id == null) {\n message.id = messageIdx++;\n }\n this.messages = [].concat(_toConsumableArray(this.messages), [message]);\n },\n remove: function remove(params) {\n var index = this.messages.findIndex(function (m) {\n return m.id === params.message.id;\n });\n if (index !== -1) {\n this.messages.splice(index, 1);\n this.$emit(params.type, {\n message: params.message\n });\n }\n },\n onAdd: function onAdd(message) {\n if (this.group == message.group) {\n this.add(message);\n }\n },\n onRemove: function onRemove(message) {\n this.remove({\n message: message,\n type: 'close'\n });\n },\n onRemoveGroup: function onRemoveGroup(group) {\n if (this.group === group) {\n this.messages = [];\n }\n },\n onRemoveAllGroups: function onRemoveAllGroups() {\n this.messages = [];\n },\n onEnter: function onEnter() {\n if (this.autoZIndex) {\n ZIndex.set('modal', this.$refs.container, this.baseZIndex || this.$primevue.config.zIndex.modal);\n }\n },\n onLeave: function onLeave() {\n var _this = this;\n if (this.$refs.container && this.autoZIndex && isEmpty(this.messages)) {\n setTimeout(function () {\n ZIndex.clear(_this.$refs.container);\n }, 200);\n }\n },\n createStyle: function createStyle() {\n if (!this.styleElement && !this.isUnstyled) {\n var _this$$primevue;\n this.styleElement = document.createElement('style');\n this.styleElement.type = 'text/css';\n 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);\n document.head.appendChild(this.styleElement);\n var innerHTML = '';\n for (var breakpoint in this.breakpoints) {\n var breakpointStyle = '';\n for (var styleProp in this.breakpoints[breakpoint]) {\n breakpointStyle += styleProp + ':' + this.breakpoints[breakpoint][styleProp] + '!important;';\n }\n innerHTML += \"\\n @media screen and (max-width: \".concat(breakpoint, \") {\\n .p-toast[\").concat(this.$attrSelector, \"] {\\n \").concat(breakpointStyle, \"\\n }\\n }\\n \");\n }\n this.styleElement.innerHTML = innerHTML;\n }\n },\n destroyStyle: function destroyStyle() {\n if (this.styleElement) {\n document.head.removeChild(this.styleElement);\n this.styleElement = null;\n }\n }\n },\n components: {\n ToastMessage: script$1,\n Portal: Portal\n }\n};\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _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); }\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_ToastMessage = resolveComponent(\"ToastMessage\");\n var _component_Portal = resolveComponent(\"Portal\");\n return openBlock(), createBlock(_component_Portal, null, {\n \"default\": withCtx(function () {\n return [createElementVNode(\"div\", mergeProps({\n ref: \"container\",\n \"class\": _ctx.cx('root'),\n style: _ctx.sx('root', true, {\n position: _ctx.position\n })\n }, _ctx.ptmi('root')), [createVNode(TransitionGroup, mergeProps({\n name: \"p-toast-message\",\n tag: \"div\",\n onEnter: $options.onEnter,\n onLeave: $options.onLeave\n }, _objectSpread({}, _ctx.ptm('transition'))), {\n \"default\": withCtx(function () {\n return [(openBlock(true), createElementBlock(Fragment, null, renderList($data.messages, function (msg) {\n return openBlock(), createBlock(_component_ToastMessage, {\n key: msg.id,\n message: msg,\n templates: _ctx.$slots,\n closeIcon: _ctx.closeIcon,\n infoIcon: _ctx.infoIcon,\n warnIcon: _ctx.warnIcon,\n errorIcon: _ctx.errorIcon,\n successIcon: _ctx.successIcon,\n closeButtonProps: _ctx.closeButtonProps,\n unstyled: _ctx.unstyled,\n onClose: _cache[0] || (_cache[0] = function ($event) {\n return $options.remove($event);\n }),\n pt: _ctx.pt\n }, null, 8, [\"message\", \"templates\", \"closeIcon\", \"infoIcon\", \"warnIcon\", \"errorIcon\", \"successIcon\", \"closeButtonProps\", \"unstyled\", \"pt\"]);\n }), 128))];\n }),\n _: 1\n }, 16, [\"onEnter\", \"onLeave\"])], 16)];\n }),\n _: 1\n });\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","\n\n\n","\n\n\n","\n\n\n","\n\n\n\n\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\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-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\");\n};\nvar inlineStyles = {\n submenu: function submenu(_ref2) {\n var instance = _ref2.instance,\n processedItem = _ref2.processedItem;\n return {\n display: instance.isItemActive(processedItem) ? 'flex' : 'none'\n };\n }\n};\nvar classes = {\n root: function root(_ref3) {\n var instance = _ref3.instance;\n return ['p-menubar p-component', {\n 'p-menubar-mobile': instance.queryMatches,\n 'p-menubar-mobile-active': instance.mobileActive\n }];\n },\n start: 'p-menubar-start',\n button: 'p-menubar-button',\n rootList: 'p-menubar-root-list',\n item: function item(_ref4) {\n var instance = _ref4.instance,\n processedItem = _ref4.processedItem;\n return ['p-menubar-item', {\n 'p-menubar-item-active': instance.isItemActive(processedItem),\n 'p-focus': instance.isItemFocused(processedItem),\n 'p-disabled': instance.isItemDisabled(processedItem)\n }];\n },\n itemContent: 'p-menubar-item-content',\n itemLink: 'p-menubar-item-link',\n itemIcon: 'p-menubar-item-icon',\n itemLabel: 'p-menubar-item-label',\n submenuIcon: 'p-menubar-submenu-icon',\n submenu: 'p-menubar-submenu',\n separator: 'p-menubar-separator',\n end: 'p-menubar-end'\n};\nvar MenubarStyle = BaseStyle.extend({\n name: 'menubar',\n theme: theme,\n classes: classes,\n inlineStyles: inlineStyles\n});\n\nexport { MenubarStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { UniqueComponentId } from '@primevue/core/utils';\nimport { focus, findSingle, isTouchDevice } from '@primeuix/utils/dom';\nimport { resolve, isNotEmpty, isPrintableCharacter, isEmpty, findLastIndex } from '@primeuix/utils/object';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport BarsIcon from '@primevue/icons/bars';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport MenubarStyle from 'primevue/menubar/style';\nimport AngleDownIcon from '@primevue/icons/angledown';\nimport AngleRightIcon from '@primevue/icons/angleright';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps, resolveComponent, resolveDirective, openBlock, createElementBlock, Fragment, renderList, createElementVNode, withDirectives, createBlock, resolveDynamicComponent, normalizeClass, createCommentVNode, toDisplayString, normalizeStyle, renderSlot, createVNode, normalizeProps, guardReactiveProps } from 'vue';\n\nvar script$2 = {\n name: 'BaseMenubar',\n \"extends\": BaseComponent,\n props: {\n model: {\n type: Array,\n \"default\": null\n },\n buttonProps: {\n type: null,\n \"default\": null\n },\n breakpoint: {\n type: String,\n \"default\": '960px'\n },\n ariaLabelledby: {\n type: String,\n \"default\": null\n },\n ariaLabel: {\n type: String,\n \"default\": null\n }\n },\n style: MenubarStyle,\n provide: function provide() {\n return {\n $pcMenubar: this,\n $parentInstance: this\n };\n }\n};\n\nvar script$1 = {\n name: 'MenubarSub',\n hostName: 'Menubar',\n \"extends\": BaseComponent,\n emits: ['item-mouseenter', 'item-click', 'item-mousemove'],\n props: {\n items: {\n type: Array,\n \"default\": null\n },\n root: {\n type: Boolean,\n \"default\": false\n },\n popup: {\n type: Boolean,\n \"default\": false\n },\n mobileActive: {\n type: Boolean,\n \"default\": false\n },\n templates: {\n type: Object,\n \"default\": null\n },\n level: {\n type: Number,\n \"default\": 0\n },\n menuId: {\n type: String,\n \"default\": null\n },\n focusedItemId: {\n type: String,\n \"default\": null\n },\n activeItemPath: {\n type: Object,\n \"default\": null\n }\n },\n list: null,\n methods: {\n getItemId: function getItemId(processedItem) {\n return \"\".concat(this.menuId, \"_\").concat(processedItem.key);\n },\n getItemKey: function getItemKey(processedItem) {\n return this.getItemId(processedItem);\n },\n getItemProp: function getItemProp(processedItem, name, params) {\n return processedItem && processedItem.item ? resolve(processedItem.item[name], params) : undefined;\n },\n getItemLabel: function getItemLabel(processedItem) {\n return this.getItemProp(processedItem, 'label');\n },\n getItemLabelId: function getItemLabelId(processedItem) {\n return \"\".concat(this.menuId, \"_\").concat(processedItem.key, \"_label\");\n },\n getPTOptions: function getPTOptions(processedItem, index, key) {\n return this.ptm(key, {\n context: {\n item: processedItem.item,\n index: index,\n active: this.isItemActive(processedItem),\n focused: this.isItemFocused(processedItem),\n disabled: this.isItemDisabled(processedItem),\n level: this.level\n }\n });\n },\n isItemActive: function isItemActive(processedItem) {\n return this.activeItemPath.some(function (path) {\n return path.key === processedItem.key;\n });\n },\n isItemVisible: function isItemVisible(processedItem) {\n return this.getItemProp(processedItem, 'visible') !== false;\n },\n isItemDisabled: function isItemDisabled(processedItem) {\n return this.getItemProp(processedItem, 'disabled');\n },\n isItemFocused: function isItemFocused(processedItem) {\n return this.focusedItemId === this.getItemId(processedItem);\n },\n isItemGroup: function isItemGroup(processedItem) {\n return isNotEmpty(processedItem.items);\n },\n onItemClick: function onItemClick(event, processedItem) {\n this.getItemProp(processedItem, 'command', {\n originalEvent: event,\n item: processedItem.item\n });\n this.$emit('item-click', {\n originalEvent: event,\n processedItem: processedItem,\n isFocus: true\n });\n },\n onItemMouseEnter: function onItemMouseEnter(event, processedItem) {\n this.$emit('item-mouseenter', {\n originalEvent: event,\n processedItem: processedItem\n });\n },\n onItemMouseMove: function onItemMouseMove(event, processedItem) {\n this.$emit('item-mousemove', {\n originalEvent: event,\n processedItem: processedItem\n });\n },\n getAriaPosInset: function getAriaPosInset(index) {\n return index - this.calculateAriaSetSize.slice(0, index).length + 1;\n },\n getMenuItemProps: function getMenuItemProps(processedItem, index) {\n return {\n action: mergeProps({\n \"class\": this.cx('itemLink'),\n tabindex: -1,\n 'aria-hidden': true\n }, this.getPTOptions(processedItem, index, 'itemLink')),\n icon: mergeProps({\n \"class\": [this.cx('itemIcon'), this.getItemProp(processedItem, 'icon')]\n }, this.getPTOptions(processedItem, index, 'itemIcon')),\n label: mergeProps({\n \"class\": this.cx('itemLabel')\n }, this.getPTOptions(processedItem, index, 'itemLabel')),\n submenuicon: mergeProps({\n \"class\": this.cx('submenuIcon')\n }, this.getPTOptions(processedItem, index, 'submenuIcon'))\n };\n }\n },\n computed: {\n calculateAriaSetSize: function calculateAriaSetSize() {\n var _this = this;\n return this.items.filter(function (processedItem) {\n return _this.isItemVisible(processedItem) && _this.getItemProp(processedItem, 'separator');\n });\n },\n getAriaSetSize: function getAriaSetSize() {\n var _this2 = this;\n return this.items.filter(function (processedItem) {\n return _this2.isItemVisible(processedItem) && !_this2.getItemProp(processedItem, 'separator');\n }).length;\n }\n },\n components: {\n AngleRightIcon: AngleRightIcon,\n AngleDownIcon: AngleDownIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n\nvar _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\"];\nvar _hoisted_2 = [\"onClick\", \"onMouseenter\", \"onMousemove\"];\nvar _hoisted_3 = [\"href\", \"target\"];\nvar _hoisted_4 = [\"id\"];\nvar _hoisted_5 = [\"id\"];\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_MenubarSub = resolveComponent(\"MenubarSub\", true);\n var _directive_ripple = resolveDirective(\"ripple\");\n return openBlock(), createElementBlock(\"ul\", mergeProps({\n \"class\": $props.level === 0 ? _ctx.cx('rootList') : _ctx.cx('submenu')\n }, $props.level === 0 ? _ctx.ptm('rootList') : _ctx.ptm('submenu')), [(openBlock(true), createElementBlock(Fragment, null, renderList($props.items, function (processedItem, index) {\n return openBlock(), createElementBlock(Fragment, {\n key: $options.getItemKey(processedItem)\n }, [$options.isItemVisible(processedItem) && !$options.getItemProp(processedItem, 'separator') ? (openBlock(), createElementBlock(\"li\", mergeProps({\n key: 0,\n id: $options.getItemId(processedItem),\n style: $options.getItemProp(processedItem, 'style'),\n \"class\": [_ctx.cx('item', {\n processedItem: processedItem\n }), $options.getItemProp(processedItem, 'class')],\n role: \"menuitem\",\n \"aria-label\": $options.getItemLabel(processedItem),\n \"aria-disabled\": $options.isItemDisabled(processedItem) || undefined,\n \"aria-expanded\": $options.isItemGroup(processedItem) ? $options.isItemActive(processedItem) : undefined,\n \"aria-haspopup\": $options.isItemGroup(processedItem) && !$options.getItemProp(processedItem, 'to') ? 'menu' : undefined,\n \"aria-level\": $props.level + 1,\n \"aria-setsize\": $options.getAriaSetSize,\n \"aria-posinset\": $options.getAriaPosInset(index),\n ref_for: true\n }, $options.getPTOptions(processedItem, index, 'item'), {\n \"data-p-active\": $options.isItemActive(processedItem),\n \"data-p-focused\": $options.isItemFocused(processedItem),\n \"data-p-disabled\": $options.isItemDisabled(processedItem)\n }), [createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('itemContent'),\n onClick: function onClick($event) {\n return $options.onItemClick($event, processedItem);\n },\n onMouseenter: function onMouseenter($event) {\n return $options.onItemMouseEnter($event, processedItem);\n },\n onMousemove: function onMousemove($event) {\n return $options.onItemMouseMove($event, processedItem);\n },\n ref_for: true\n }, $options.getPTOptions(processedItem, index, 'itemContent')), [!$props.templates.item ? withDirectives((openBlock(), createElementBlock(\"a\", mergeProps({\n key: 0,\n href: $options.getItemProp(processedItem, 'url'),\n \"class\": _ctx.cx('itemLink'),\n target: $options.getItemProp(processedItem, 'target'),\n tabindex: \"-1\",\n ref_for: true\n }, $options.getPTOptions(processedItem, index, 'itemLink')), [$props.templates.itemicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.itemicon), {\n key: 0,\n item: processedItem.item,\n \"class\": normalizeClass(_ctx.cx('itemIcon'))\n }, null, 8, [\"item\", \"class\"])) : $options.getItemProp(processedItem, 'icon') ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 1,\n \"class\": [_ctx.cx('itemIcon'), $options.getItemProp(processedItem, 'icon')],\n ref_for: true\n }, $options.getPTOptions(processedItem, index, 'itemIcon')), null, 16)) : createCommentVNode(\"\", true), createElementVNode(\"span\", mergeProps({\n id: $options.getItemLabelId(processedItem),\n \"class\": _ctx.cx('itemLabel'),\n ref_for: true\n }, $options.getPTOptions(processedItem, index, 'itemLabel')), toDisplayString($options.getItemLabel(processedItem)), 17, _hoisted_4), $options.getItemProp(processedItem, 'items') ? (openBlock(), createElementBlock(Fragment, {\n key: 2\n }, [$props.templates.submenuicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.submenuicon), {\n key: 0,\n root: $props.root,\n active: $options.isItemActive(processedItem),\n \"class\": normalizeClass(_ctx.cx('submenuIcon'))\n }, null, 8, [\"root\", \"active\", \"class\"])) : (openBlock(), createBlock(resolveDynamicComponent($props.root ? 'AngleDownIcon' : 'AngleRightIcon'), mergeProps({\n key: 1,\n \"class\": _ctx.cx('submenuIcon'),\n ref_for: true\n }, $options.getPTOptions(processedItem, index, 'submenuIcon')), null, 16, [\"class\"]))], 64)) : createCommentVNode(\"\", true)], 16, _hoisted_3)), [[_directive_ripple]]) : (openBlock(), createBlock(resolveDynamicComponent($props.templates.item), {\n key: 1,\n item: processedItem.item,\n root: $props.root,\n hasSubmenu: $options.getItemProp(processedItem, 'items'),\n label: $options.getItemLabel(processedItem),\n props: $options.getMenuItemProps(processedItem, index)\n }, null, 8, [\"item\", \"root\", \"hasSubmenu\", \"label\", \"props\"]))], 16, _hoisted_2), $options.isItemVisible(processedItem) && $options.isItemGroup(processedItem) ? (openBlock(), createBlock(_component_MenubarSub, {\n key: 0,\n id: $options.getItemId(processedItem) + '_list',\n menuId: $props.menuId,\n role: \"menu\",\n style: normalizeStyle(_ctx.sx('submenu', true, {\n processedItem: processedItem\n })),\n focusedItemId: $props.focusedItemId,\n items: processedItem.items,\n mobileActive: $props.mobileActive,\n activeItemPath: $props.activeItemPath,\n templates: $props.templates,\n level: $props.level + 1,\n \"aria-labelledby\": $options.getItemLabelId(processedItem),\n pt: _ctx.pt,\n unstyled: _ctx.unstyled,\n onItemClick: _cache[0] || (_cache[0] = function ($event) {\n return _ctx.$emit('item-click', $event);\n }),\n onItemMouseenter: _cache[1] || (_cache[1] = function ($event) {\n return _ctx.$emit('item-mouseenter', $event);\n }),\n onItemMousemove: _cache[2] || (_cache[2] = function ($event) {\n return _ctx.$emit('item-mousemove', $event);\n })\n }, 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({\n key: 1,\n id: $options.getItemId(processedItem),\n \"class\": [_ctx.cx('separator'), $options.getItemProp(processedItem, 'class')],\n style: $options.getItemProp(processedItem, 'style'),\n role: \"separator\",\n ref_for: true\n }, _ctx.ptm('separator')), null, 16, _hoisted_5)) : createCommentVNode(\"\", true)], 64);\n }), 128))], 16);\n}\n\nscript$1.render = render$1;\n\nvar script = {\n name: 'Menubar',\n \"extends\": script$2,\n inheritAttrs: false,\n emits: ['focus', 'blur'],\n matchMediaListener: null,\n data: function data() {\n return {\n id: this.$attrs.id,\n mobileActive: false,\n focused: false,\n focusedItemInfo: {\n index: -1,\n level: 0,\n parentKey: ''\n },\n activeItemPath: [],\n dirty: false,\n query: null,\n queryMatches: false\n };\n },\n watch: {\n '$attrs.id': function $attrsId(newValue) {\n this.id = newValue || UniqueComponentId();\n },\n activeItemPath: function activeItemPath(newPath) {\n if (isNotEmpty(newPath)) {\n this.bindOutsideClickListener();\n this.bindResizeListener();\n } else {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n }\n }\n },\n outsideClickListener: null,\n container: null,\n menubar: null,\n mounted: function mounted() {\n this.id = this.id || UniqueComponentId();\n this.bindMatchMediaListener();\n },\n beforeUnmount: function beforeUnmount() {\n this.mobileActive = false;\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n this.unbindMatchMediaListener();\n if (this.container) {\n ZIndex.clear(this.container);\n }\n this.container = null;\n },\n methods: {\n getItemProp: function getItemProp(item, name) {\n return item ? resolve(item[name]) : undefined;\n },\n getItemLabel: function getItemLabel(item) {\n return this.getItemProp(item, 'label');\n },\n isItemDisabled: function isItemDisabled(item) {\n return this.getItemProp(item, 'disabled');\n },\n isItemVisible: function isItemVisible(item) {\n return this.getItemProp(item, 'visible') !== false;\n },\n isItemGroup: function isItemGroup(item) {\n return isNotEmpty(this.getItemProp(item, 'items'));\n },\n isItemSeparator: function isItemSeparator(item) {\n return this.getItemProp(item, 'separator');\n },\n getProccessedItemLabel: function getProccessedItemLabel(processedItem) {\n return processedItem ? this.getItemLabel(processedItem.item) : undefined;\n },\n isProccessedItemGroup: function isProccessedItemGroup(processedItem) {\n return processedItem && isNotEmpty(processedItem.items);\n },\n toggle: function toggle(event) {\n var _this = this;\n if (this.mobileActive) {\n this.mobileActive = false;\n ZIndex.clear(this.menubar);\n this.hide();\n } else {\n this.mobileActive = true;\n ZIndex.set('menu', this.menubar, this.$primevue.config.zIndex.menu);\n setTimeout(function () {\n _this.show();\n }, 1);\n }\n this.bindOutsideClickListener();\n event.preventDefault();\n },\n show: function show() {\n focus(this.menubar);\n },\n hide: function hide(event, isFocus) {\n var _this2 = this;\n if (this.mobileActive) {\n this.mobileActive = false;\n setTimeout(function () {\n focus(_this2.$refs.menubutton);\n }, 0);\n }\n this.activeItemPath = [];\n this.focusedItemInfo = {\n index: -1,\n level: 0,\n parentKey: ''\n };\n isFocus && focus(this.menubar);\n this.dirty = false;\n },\n onFocus: function onFocus(event) {\n this.focused = true;\n this.focusedItemInfo = this.focusedItemInfo.index !== -1 ? this.focusedItemInfo : {\n index: this.findFirstFocusedItemIndex(),\n level: 0,\n parentKey: ''\n };\n this.$emit('focus', event);\n },\n onBlur: function onBlur(event) {\n this.focused = false;\n this.focusedItemInfo = {\n index: -1,\n level: 0,\n parentKey: ''\n };\n this.searchValue = '';\n this.dirty = false;\n this.$emit('blur', event);\n },\n onKeyDown: function onKeyDown(event) {\n var metaKey = event.metaKey || event.ctrlKey;\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n case 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n case 'ArrowRight':\n this.onArrowRightKey(event);\n break;\n case 'Home':\n this.onHomeKey(event);\n break;\n case 'End':\n this.onEndKey(event);\n break;\n case 'Space':\n this.onSpaceKey(event);\n break;\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n case 'Escape':\n this.onEscapeKey(event);\n break;\n case 'Tab':\n this.onTabKey(event);\n break;\n case 'PageDown':\n case 'PageUp':\n case 'Backspace':\n case 'ShiftLeft':\n case 'ShiftRight':\n //NOOP\n break;\n default:\n if (!metaKey && isPrintableCharacter(event.key)) {\n this.searchItems(event, event.key);\n }\n break;\n }\n },\n onItemChange: function onItemChange(event) {\n var processedItem = event.processedItem,\n isFocus = event.isFocus;\n if (isEmpty(processedItem)) return;\n var index = processedItem.index,\n key = processedItem.key,\n level = processedItem.level,\n parentKey = processedItem.parentKey,\n items = processedItem.items;\n var grouped = isNotEmpty(items);\n var activeItemPath = this.activeItemPath.filter(function (p) {\n return p.parentKey !== parentKey && p.parentKey !== key;\n });\n grouped && activeItemPath.push(processedItem);\n this.focusedItemInfo = {\n index: index,\n level: level,\n parentKey: parentKey\n };\n this.activeItemPath = activeItemPath;\n grouped && (this.dirty = true);\n isFocus && focus(this.menubar);\n },\n onItemClick: function onItemClick(event) {\n var originalEvent = event.originalEvent,\n processedItem = event.processedItem;\n var grouped = this.isProccessedItemGroup(processedItem);\n var root = isEmpty(processedItem.parent);\n var selected = this.isSelected(processedItem);\n if (selected) {\n var index = processedItem.index,\n key = processedItem.key,\n level = processedItem.level,\n parentKey = processedItem.parentKey;\n this.activeItemPath = this.activeItemPath.filter(function (p) {\n return key !== p.key && key.startsWith(p.key);\n });\n this.focusedItemInfo = {\n index: index,\n level: level,\n parentKey: parentKey\n };\n this.dirty = !root;\n focus(this.menubar);\n } else {\n if (grouped) {\n this.onItemChange(event);\n } else {\n var rootProcessedItem = root ? processedItem : this.activeItemPath.find(function (p) {\n return p.parentKey === '';\n });\n this.hide(originalEvent);\n this.changeFocusedItemIndex(originalEvent, rootProcessedItem ? rootProcessedItem.index : -1);\n this.mobileActive = false;\n focus(this.menubar);\n }\n }\n },\n onItemMouseEnter: function onItemMouseEnter(event) {\n if (this.dirty) {\n this.onItemChange(event);\n }\n },\n onItemMouseMove: function onItemMouseMove(event) {\n if (this.focused) {\n this.changeFocusedItemIndex(event, event.processedItem.index);\n }\n },\n menuButtonClick: function menuButtonClick(event) {\n this.toggle(event);\n },\n menuButtonKeydown: function menuButtonKeydown(event) {\n (event.code === 'Enter' || event.code === 'NumpadEnter' || event.code === 'Space') && this.menuButtonClick(event);\n },\n onArrowDownKey: function onArrowDownKey(event) {\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var root = processedItem ? isEmpty(processedItem.parent) : null;\n if (root) {\n var grouped = this.isProccessedItemGroup(processedItem);\n if (grouped) {\n this.onItemChange({\n originalEvent: event,\n processedItem: processedItem\n });\n this.focusedItemInfo = {\n index: -1,\n parentKey: processedItem.key\n };\n this.onArrowRightKey(event);\n }\n } else {\n var itemIndex = this.focusedItemInfo.index !== -1 ? this.findNextItemIndex(this.focusedItemInfo.index) : this.findFirstFocusedItemIndex();\n this.changeFocusedItemIndex(event, itemIndex);\n }\n event.preventDefault();\n },\n onArrowUpKey: function onArrowUpKey(event) {\n var _this3 = this;\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var root = isEmpty(processedItem.parent);\n if (root) {\n var grouped = this.isProccessedItemGroup(processedItem);\n if (grouped) {\n this.onItemChange({\n originalEvent: event,\n processedItem: processedItem\n });\n this.focusedItemInfo = {\n index: -1,\n parentKey: processedItem.key\n };\n var itemIndex = this.findLastItemIndex();\n this.changeFocusedItemIndex(event, itemIndex);\n }\n } else {\n var parentItem = this.activeItemPath.find(function (p) {\n return p.key === processedItem.parentKey;\n });\n if (this.focusedItemInfo.index === 0) {\n this.focusedItemInfo = {\n index: -1,\n parentKey: parentItem ? parentItem.parentKey : ''\n };\n this.searchValue = '';\n this.onArrowLeftKey(event);\n this.activeItemPath = this.activeItemPath.filter(function (p) {\n return p.parentKey !== _this3.focusedItemInfo.parentKey;\n });\n } else {\n var _itemIndex = this.focusedItemInfo.index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo.index) : this.findLastFocusedItemIndex();\n this.changeFocusedItemIndex(event, _itemIndex);\n }\n }\n event.preventDefault();\n },\n onArrowLeftKey: function onArrowLeftKey(event) {\n var _this4 = this;\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var parentItem = processedItem ? this.activeItemPath.find(function (p) {\n return p.key === processedItem.parentKey;\n }) : null;\n if (parentItem) {\n this.onItemChange({\n originalEvent: event,\n processedItem: parentItem\n });\n this.activeItemPath = this.activeItemPath.filter(function (p) {\n return p.parentKey !== _this4.focusedItemInfo.parentKey;\n });\n event.preventDefault();\n } else {\n var itemIndex = this.focusedItemInfo.index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo.index) : this.findLastFocusedItemIndex();\n this.changeFocusedItemIndex(event, itemIndex);\n event.preventDefault();\n }\n },\n onArrowRightKey: function onArrowRightKey(event) {\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var parentItem = processedItem ? this.activeItemPath.find(function (p) {\n return p.key === processedItem.parentKey;\n }) : null;\n if (parentItem) {\n var grouped = this.isProccessedItemGroup(processedItem);\n if (grouped) {\n this.onItemChange({\n originalEvent: event,\n processedItem: processedItem\n });\n this.focusedItemInfo = {\n index: -1,\n parentKey: processedItem.key\n };\n this.onArrowDownKey(event);\n }\n } else {\n var itemIndex = this.focusedItemInfo.index !== -1 ? this.findNextItemIndex(this.focusedItemInfo.index) : this.findFirstFocusedItemIndex();\n this.changeFocusedItemIndex(event, itemIndex);\n event.preventDefault();\n }\n },\n onHomeKey: function onHomeKey(event) {\n this.changeFocusedItemIndex(event, this.findFirstItemIndex());\n event.preventDefault();\n },\n onEndKey: function onEndKey(event) {\n this.changeFocusedItemIndex(event, this.findLastItemIndex());\n event.preventDefault();\n },\n onEnterKey: function onEnterKey(event) {\n if (this.focusedItemInfo.index !== -1) {\n var element = findSingle(this.menubar, \"li[id=\\\"\".concat(\"\".concat(this.focusedItemId), \"\\\"]\"));\n var anchorElement = element && findSingle(element, 'a[data-pc-section=\"itemlink\"]');\n anchorElement ? anchorElement.click() : element && element.click();\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var grouped = this.isProccessedItemGroup(processedItem);\n !grouped && (this.focusedItemInfo.index = this.findFirstFocusedItemIndex());\n }\n event.preventDefault();\n },\n onSpaceKey: function onSpaceKey(event) {\n this.onEnterKey(event);\n },\n onEscapeKey: function onEscapeKey(event) {\n if (this.focusedItemInfo.level !== 0) {\n var _focusedItemInfo = this.focusedItemInfo;\n this.hide(event, false);\n this.focusedItemInfo = {\n index: Number(_focusedItemInfo.parentKey.split('_')[0]),\n level: 0,\n parentKey: ''\n };\n }\n event.preventDefault();\n },\n onTabKey: function onTabKey(event) {\n if (this.focusedItemInfo.index !== -1) {\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var grouped = this.isProccessedItemGroup(processedItem);\n !grouped && this.onItemChange({\n originalEvent: event,\n processedItem: processedItem\n });\n }\n this.hide();\n },\n bindOutsideClickListener: function bindOutsideClickListener() {\n var _this5 = this;\n if (!this.outsideClickListener) {\n this.outsideClickListener = function (event) {\n var isOutsideContainer = _this5.container && !_this5.container.contains(event.target);\n var isOutsideTarget = !(_this5.target && (_this5.target === event.target || _this5.target.contains(event.target)));\n if (isOutsideContainer && isOutsideTarget) {\n _this5.hide();\n }\n };\n document.addEventListener('click', this.outsideClickListener);\n }\n },\n unbindOutsideClickListener: function unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener);\n this.outsideClickListener = null;\n }\n },\n bindResizeListener: function bindResizeListener() {\n var _this6 = this;\n if (!this.resizeListener) {\n this.resizeListener = function (event) {\n if (!isTouchDevice()) {\n _this6.hide(event, true);\n }\n _this6.mobileActive = false;\n };\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener: function unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n bindMatchMediaListener: function bindMatchMediaListener() {\n var _this7 = this;\n if (!this.matchMediaListener) {\n var query = matchMedia(\"(max-width: \".concat(this.breakpoint, \")\"));\n this.query = query;\n this.queryMatches = query.matches;\n this.matchMediaListener = function () {\n _this7.queryMatches = query.matches;\n _this7.mobileActive = false;\n };\n this.query.addEventListener('change', this.matchMediaListener);\n }\n },\n unbindMatchMediaListener: function unbindMatchMediaListener() {\n if (this.matchMediaListener) {\n this.query.removeEventListener('change', this.matchMediaListener);\n this.matchMediaListener = null;\n }\n },\n isItemMatched: function isItemMatched(processedItem) {\n var _this$getProccessedIt;\n return this.isValidItem(processedItem) && ((_this$getProccessedIt = this.getProccessedItemLabel(processedItem)) === null || _this$getProccessedIt === void 0 ? void 0 : _this$getProccessedIt.toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase()));\n },\n isValidItem: function isValidItem(processedItem) {\n return !!processedItem && !this.isItemDisabled(processedItem.item) && !this.isItemSeparator(processedItem.item) && this.isItemVisible(processedItem.item);\n },\n isValidSelectedItem: function isValidSelectedItem(processedItem) {\n return this.isValidItem(processedItem) && this.isSelected(processedItem);\n },\n isSelected: function isSelected(processedItem) {\n return this.activeItemPath.some(function (p) {\n return p.key === processedItem.key;\n });\n },\n findFirstItemIndex: function findFirstItemIndex() {\n var _this8 = this;\n return this.visibleItems.findIndex(function (processedItem) {\n return _this8.isValidItem(processedItem);\n });\n },\n findLastItemIndex: function findLastItemIndex() {\n var _this9 = this;\n return findLastIndex(this.visibleItems, function (processedItem) {\n return _this9.isValidItem(processedItem);\n });\n },\n findNextItemIndex: function findNextItemIndex(index) {\n var _this10 = this;\n var matchedItemIndex = index < this.visibleItems.length - 1 ? this.visibleItems.slice(index + 1).findIndex(function (processedItem) {\n return _this10.isValidItem(processedItem);\n }) : -1;\n return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index;\n },\n findPrevItemIndex: function findPrevItemIndex(index) {\n var _this11 = this;\n var matchedItemIndex = index > 0 ? findLastIndex(this.visibleItems.slice(0, index), function (processedItem) {\n return _this11.isValidItem(processedItem);\n }) : -1;\n return matchedItemIndex > -1 ? matchedItemIndex : index;\n },\n findSelectedItemIndex: function findSelectedItemIndex() {\n var _this12 = this;\n return this.visibleItems.findIndex(function (processedItem) {\n return _this12.isValidSelectedItem(processedItem);\n });\n },\n findFirstFocusedItemIndex: function findFirstFocusedItemIndex() {\n var selectedIndex = this.findSelectedItemIndex();\n return selectedIndex < 0 ? this.findFirstItemIndex() : selectedIndex;\n },\n findLastFocusedItemIndex: function findLastFocusedItemIndex() {\n var selectedIndex = this.findSelectedItemIndex();\n return selectedIndex < 0 ? this.findLastItemIndex() : selectedIndex;\n },\n searchItems: function searchItems(event, _char) {\n var _this13 = this;\n this.searchValue = (this.searchValue || '') + _char;\n var itemIndex = -1;\n var matched = false;\n if (this.focusedItemInfo.index !== -1) {\n itemIndex = this.visibleItems.slice(this.focusedItemInfo.index).findIndex(function (processedItem) {\n return _this13.isItemMatched(processedItem);\n });\n itemIndex = itemIndex === -1 ? this.visibleItems.slice(0, this.focusedItemInfo.index).findIndex(function (processedItem) {\n return _this13.isItemMatched(processedItem);\n }) : itemIndex + this.focusedItemInfo.index;\n } else {\n itemIndex = this.visibleItems.findIndex(function (processedItem) {\n return _this13.isItemMatched(processedItem);\n });\n }\n if (itemIndex !== -1) {\n matched = true;\n }\n if (itemIndex === -1 && this.focusedItemInfo.index === -1) {\n itemIndex = this.findFirstFocusedItemIndex();\n }\n if (itemIndex !== -1) {\n this.changeFocusedItemIndex(event, itemIndex);\n }\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n this.searchTimeout = setTimeout(function () {\n _this13.searchValue = '';\n _this13.searchTimeout = null;\n }, 500);\n return matched;\n },\n changeFocusedItemIndex: function changeFocusedItemIndex(event, index) {\n if (this.focusedItemInfo.index !== index) {\n this.focusedItemInfo.index = index;\n this.scrollInView();\n }\n },\n scrollInView: function scrollInView() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;\n var id = index !== -1 ? \"\".concat(this.id, \"_\").concat(index) : this.focusedItemId;\n var element = findSingle(this.menubar, \"li[id=\\\"\".concat(id, \"\\\"]\"));\n if (element) {\n element.scrollIntoView && element.scrollIntoView({\n block: 'nearest',\n inline: 'start'\n });\n }\n },\n createProcessedItems: function createProcessedItems(items) {\n var _this14 = this;\n var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var parentKey = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var processedItems = [];\n items && items.forEach(function (item, index) {\n var key = (parentKey !== '' ? parentKey + '_' : '') + index;\n var newItem = {\n item: item,\n index: index,\n level: level,\n key: key,\n parent: parent,\n parentKey: parentKey\n };\n newItem['items'] = _this14.createProcessedItems(item.items, level + 1, newItem, key);\n processedItems.push(newItem);\n });\n return processedItems;\n },\n containerRef: function containerRef(el) {\n this.container = el;\n },\n menubarRef: function menubarRef(el) {\n this.menubar = el ? el.$el : undefined;\n }\n },\n computed: {\n processedItems: function processedItems() {\n return this.createProcessedItems(this.model || []);\n },\n visibleItems: function visibleItems() {\n var _this15 = this;\n var processedItem = this.activeItemPath.find(function (p) {\n return p.key === _this15.focusedItemInfo.parentKey;\n });\n return processedItem ? processedItem.items : this.processedItems;\n },\n focusedItemId: function focusedItemId() {\n return this.focusedItemInfo.index !== -1 ? \"\".concat(this.id).concat(isNotEmpty(this.focusedItemInfo.parentKey) ? '_' + this.focusedItemInfo.parentKey : '', \"_\").concat(this.focusedItemInfo.index) : null;\n }\n },\n components: {\n MenubarSub: script$1,\n BarsIcon: BarsIcon\n }\n};\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _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); }\nvar _hoisted_1 = [\"aria-haspopup\", \"aria-expanded\", \"aria-controls\", \"aria-label\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_BarsIcon = resolveComponent(\"BarsIcon\");\n var _component_MenubarSub = resolveComponent(\"MenubarSub\");\n return openBlock(), createElementBlock(\"div\", mergeProps({\n ref: $options.containerRef,\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [_ctx.$slots.start ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('start')\n }, _ctx.ptm('start')), [renderSlot(_ctx.$slots, \"start\")], 16)) : createCommentVNode(\"\", true), renderSlot(_ctx.$slots, _ctx.$slots.button ? 'button' : 'menubutton', {\n id: $data.id,\n \"class\": normalizeClass(_ctx.cx('button')),\n toggleCallback: function toggleCallback(event) {\n return $options.menuButtonClick(event);\n }\n }, function () {\n var _ctx$$primevue$config;\n return [_ctx.model && _ctx.model.length > 0 ? (openBlock(), createElementBlock(\"a\", mergeProps({\n key: 0,\n ref: \"menubutton\",\n role: \"button\",\n tabindex: \"0\",\n \"class\": _ctx.cx('button'),\n \"aria-haspopup\": _ctx.model.length && _ctx.model.length > 0 ? true : false,\n \"aria-expanded\": $data.mobileActive,\n \"aria-controls\": $data.id,\n \"aria-label\": (_ctx$$primevue$config = _ctx.$primevue.config.locale.aria) === null || _ctx$$primevue$config === void 0 ? void 0 : _ctx$$primevue$config.navigation,\n onClick: _cache[0] || (_cache[0] = function ($event) {\n return $options.menuButtonClick($event);\n }),\n onKeydown: _cache[1] || (_cache[1] = function ($event) {\n return $options.menuButtonKeydown($event);\n })\n }, _objectSpread(_objectSpread({}, _ctx.buttonProps), _ctx.ptm('button'))), [renderSlot(_ctx.$slots, _ctx.$slots.buttonicon ? 'buttonicon' : 'menubuttonicon', {}, function () {\n return [createVNode(_component_BarsIcon, normalizeProps(guardReactiveProps(_ctx.ptm('buttonicon'))), null, 16)];\n })], 16, _hoisted_1)) : createCommentVNode(\"\", true)];\n }), createVNode(_component_MenubarSub, {\n ref: $options.menubarRef,\n id: $data.id + '_list',\n role: \"menubar\",\n items: $options.processedItems,\n templates: _ctx.$slots,\n root: true,\n mobileActive: $data.mobileActive,\n tabindex: \"0\",\n \"aria-activedescendant\": $data.focused ? $options.focusedItemId : undefined,\n menuId: $data.id,\n focusedItemId: $data.focused ? $options.focusedItemId : undefined,\n activeItemPath: $data.activeItemPath,\n level: 0,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-label\": _ctx.ariaLabel,\n pt: _ctx.pt,\n unstyled: _ctx.unstyled,\n onFocus: $options.onFocus,\n onBlur: $options.onBlur,\n onKeydown: $options.onKeyDown,\n onItemClick: $options.onItemClick,\n onItemMouseenter: $options.onItemMouseEnter,\n onItemMousemove: $options.onItemMouseMove\n }, null, 8, [\"id\", \"items\", \"templates\", \"mobileActive\", \"aria-activedescendant\", \"menuId\", \"focusedItemId\", \"activeItemPath\", \"aria-labelledby\", \"aria-label\", \"pt\", \"unstyled\", \"onFocus\", \"onBlur\", \"onKeydown\", \"onItemClick\", \"onItemMouseenter\", \"onItemMousemove\"]), _ctx.$slots.end ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 1,\n \"class\": _ctx.cx('end')\n }, _ctx.ptm('end')), [renderSlot(_ctx.$slots, \"end\")], 16)) : createCommentVNode(\"\", true)], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","\n\n\n\n\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-panel {\\n border: 1px solid \".concat(dt('panel.border.color'), \";\\n border-radius: \").concat(dt('panel.border.radius'), \";\\n background: \").concat(dt('panel.background'), \";\\n color: \").concat(dt('panel.color'), \";\\n}\\n\\n.p-panel-header {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n padding: \").concat(dt('panel.header.padding'), \";\\n background: \").concat(dt('panel.header.background'), \";\\n color: \").concat(dt('panel.header.color'), \";\\n border-style: solid;\\n border-width: \").concat(dt('panel.header.border.width'), \";\\n border-color: \").concat(dt('panel.header.border.color'), \";\\n border-radius: \").concat(dt('panel.header.border.radius'), \";\\n}\\n\\n.p-panel-toggleable .p-panel-header {\\n padding: \").concat(dt('panel.toggleable.header.padding'), \";\\n}\\n\\n.p-panel-title {\\n line-height: 1;\\n font-weight: \").concat(dt('panel.title.font.weight'), \";\\n}\\n\\n.p-panel-content {\\n padding: \").concat(dt('panel.content.padding'), \";\\n}\\n\\n.p-panel-footer {\\n padding: \").concat(dt('panel.footer.padding'), \";\\n}\\n\");\n};\nvar classes = {\n root: function root(_ref2) {\n var props = _ref2.props;\n return ['p-panel p-component', {\n 'p-panel-toggleable': props.toggleable\n }];\n },\n header: 'p-panel-header',\n title: 'p-panel-title',\n headerActions: 'p-panel-header-actions',\n pcToggleButton: 'p-panel-toggle-button',\n contentContainer: 'p-panel-content-container',\n content: 'p-panel-content',\n footer: 'p-panel-footer'\n};\nvar PanelStyle = BaseStyle.extend({\n name: 'panel',\n theme: theme,\n classes: classes\n});\n\nexport { PanelStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { UniqueComponentId } from '@primevue/core/utils';\nimport MinusIcon from '@primevue/icons/minus';\nimport PlusIcon from '@primevue/icons/plus';\nimport Button from 'primevue/button';\nimport Ripple from 'primevue/ripple';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport PanelStyle from 'primevue/panel/style';\nimport { resolveComponent, openBlock, createElementBlock, mergeProps, createElementVNode, renderSlot, normalizeClass, toDisplayString, createCommentVNode, createBlock, withCtx, resolveDynamicComponent, createVNode, Transition, withDirectives, vShow } from 'vue';\n\nvar script$1 = {\n name: 'BasePanel',\n \"extends\": BaseComponent,\n props: {\n header: String,\n toggleable: Boolean,\n collapsed: Boolean,\n toggleButtonProps: {\n type: Object,\n \"default\": function _default() {\n return {\n severity: 'secondary',\n text: true,\n rounded: true\n };\n }\n }\n },\n style: PanelStyle,\n provide: function provide() {\n return {\n $pcPanel: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'Panel',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['update:collapsed', 'toggle'],\n data: function data() {\n return {\n id: this.$attrs.id,\n d_collapsed: this.collapsed\n };\n },\n watch: {\n '$attrs.id': function $attrsId(newValue) {\n this.id = newValue || UniqueComponentId();\n },\n collapsed: function collapsed(newValue) {\n this.d_collapsed = newValue;\n }\n },\n mounted: function mounted() {\n this.id = this.id || UniqueComponentId();\n },\n methods: {\n toggle: function toggle(event) {\n this.d_collapsed = !this.d_collapsed;\n this.$emit('update:collapsed', this.d_collapsed);\n this.$emit('toggle', {\n originalEvent: event,\n value: this.d_collapsed\n });\n },\n onKeyDown: function onKeyDown(event) {\n if (event.code === 'Enter' || event.code === 'NumpadEnter' || event.code === 'Space') {\n this.toggle(event);\n event.preventDefault();\n }\n }\n },\n computed: {\n buttonAriaLabel: function buttonAriaLabel() {\n return this.toggleButtonProps && this.toggleButtonProps.ariaLabel ? this.toggleButtonProps.ariaLabel : this.header;\n }\n },\n components: {\n PlusIcon: PlusIcon,\n MinusIcon: MinusIcon,\n Button: Button\n },\n directives: {\n ripple: Ripple\n }\n};\n\nvar _hoisted_1 = [\"id\"];\nvar _hoisted_2 = [\"id\", \"aria-labelledby\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_Button = resolveComponent(\"Button\");\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('header')\n }, _ctx.ptm('header')), [renderSlot(_ctx.$slots, \"header\", {\n id: $data.id + '_header',\n \"class\": normalizeClass(_ctx.cx('title'))\n }, function () {\n return [_ctx.header ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 0,\n id: $data.id + '_header',\n \"class\": _ctx.cx('title')\n }, _ctx.ptm('title')), toDisplayString(_ctx.header), 17, _hoisted_1)) : createCommentVNode(\"\", true)];\n }), createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('headerActions')\n }, _ctx.ptm('headerActions')), [renderSlot(_ctx.$slots, \"icons\"), _ctx.toggleable ? (openBlock(), createBlock(_component_Button, mergeProps({\n key: 0,\n id: $data.id + '_header',\n \"class\": _ctx.cx('pcToggleButton'),\n \"aria-label\": $options.buttonAriaLabel,\n \"aria-controls\": $data.id + '_content',\n \"aria-expanded\": !$data.d_collapsed,\n unstyled: _ctx.unstyled,\n onClick: $options.toggle,\n onKeydown: $options.onKeyDown\n }, _ctx.toggleButtonProps, {\n pt: _ctx.ptm('pcToggleButton')\n }), {\n icon: withCtx(function (slotProps) {\n return [renderSlot(_ctx.$slots, _ctx.$slots.toggleicon ? 'toggleicon' : 'togglericon', {\n collapsed: $data.d_collapsed\n }, function () {\n return [(openBlock(), createBlock(resolveDynamicComponent($data.d_collapsed ? 'PlusIcon' : 'MinusIcon'), mergeProps({\n \"class\": slotProps[\"class\"]\n }, _ctx.ptm('pcToggleButton')['icon']), null, 16, [\"class\"]))];\n })];\n }),\n _: 3\n }, 16, [\"id\", \"class\", \"aria-label\", \"aria-controls\", \"aria-expanded\", \"unstyled\", \"onClick\", \"onKeydown\", \"pt\"])) : createCommentVNode(\"\", true)], 16)], 16), createVNode(Transition, mergeProps({\n name: \"p-toggleable-content\"\n }, _ctx.ptm('transition')), {\n \"default\": withCtx(function () {\n return [withDirectives(createElementVNode(\"div\", mergeProps({\n id: $data.id + '_content',\n \"class\": _ctx.cx('contentContainer'),\n role: \"region\",\n \"aria-labelledby\": $data.id + '_header'\n }, _ctx.ptm('contentContainer')), [createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('content')\n }, _ctx.ptm('content')), [renderSlot(_ctx.$slots, \"default\")], 16), _ctx.$slots.footer ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('footer')\n }, _ctx.ptm('footer')), [renderSlot(_ctx.$slots, \"footer\")], 16)) : createCommentVNode(\"\", true)], 16, _hoisted_2), [[vShow, !$data.d_collapsed]])];\n }),\n _: 3\n }, 16)], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\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-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\\n.p-tieredmenu-mobile {\\n position: relative;\\n}\\n\\n.p-tieredmenu-mobile .p-tieredmenu-button {\\n display: flex;\\n}\\n\\n.p-tieredmenu-mobile .p-tieredmenu-root-list > .p-tieredmenu-item > .p-tieredmenu-item-content > .p-tieredmenu-item-link {\\n padding: \").concat(dt('tieredmenu.item.padding'), \";\\n}\\n\\n.p-tieredmenu-mobile .p-tieredmenu-root-list .p-tieredmenu-separator {\\n border-top: 1px solid \").concat(dt('tieredmenu.separator.border.color'), \";\\n}\\n\\n.p-tieredmenu-mobile .p-tieredmenu-root-list > .p-tieredmenu-item > .p-tieredmenu-item-content .p-tieredmenu-submenu-icon {\\n margin-left: auto;\\n transition: transform 0.2s;\\n}\\n\\n.p-tieredmenu-mobile .p-tieredmenu-root-list > .p-tieredmenu-item-active > .p-tieredmenu-item-content .p-tieredmenu-submenu-icon {\\n transform: rotate(-90deg);\\n}\\n\\n.p-tieredmenu-mobile .p-tieredmenu-submenu .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\\n.p-tieredmenu-mobile .p-tieredmenu-submenu {\\n position: static;\\n box-shadow: none;\\n border: 0 none;\\n padding-left: \").concat(dt('tieredmenu.submenu.mobile.indent'), \";\\n}\\n\");\n};\nvar inlineStyles = {\n submenu: function submenu(_ref2) {\n var instance = _ref2.instance,\n processedItem = _ref2.processedItem;\n return {\n display: instance.isItemActive(processedItem) ? 'flex' : 'none'\n };\n }\n};\nvar classes = {\n root: function root(_ref3) {\n var props = _ref3.props,\n instance = _ref3.instance;\n return ['p-tieredmenu p-component', {\n 'p-tieredmenu-overlay': props.popup,\n 'p-tieredmenu-mobile': instance.queryMatches\n }];\n },\n start: 'p-tieredmenu-start',\n rootList: 'p-tieredmenu-root-list',\n item: function item(_ref4) {\n var instance = _ref4.instance,\n processedItem = _ref4.processedItem;\n return ['p-tieredmenu-item', {\n 'p-tieredmenu-item-active': instance.isItemActive(processedItem),\n 'p-focus': instance.isItemFocused(processedItem),\n 'p-disabled': instance.isItemDisabled(processedItem)\n }];\n },\n itemContent: 'p-tieredmenu-item-content',\n itemLink: 'p-tieredmenu-item-link',\n itemIcon: 'p-tieredmenu-item-icon',\n itemLabel: 'p-tieredmenu-item-label',\n submenuIcon: 'p-tieredmenu-submenu-icon',\n submenu: 'p-tieredmenu-submenu',\n separator: 'p-tieredmenu-separator',\n end: 'p-tieredmenu-end'\n};\nvar TieredMenuStyle = BaseStyle.extend({\n name: 'tieredmenu',\n theme: theme,\n classes: classes,\n inlineStyles: inlineStyles\n});\n\nexport { TieredMenuStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { nestedPosition, focus, findSingle, addStyle, absolutePosition, getOuterWidth, isTouchDevice } from '@primeuix/utils/dom';\nimport { resolve, isNotEmpty, isPrintableCharacter, isEmpty, findLastIndex } from '@primeuix/utils/object';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { UniqueComponentId, ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport TieredMenuStyle from 'primevue/tieredmenu/style';\nimport AngleRightIcon from '@primevue/icons/angleright';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps, resolveComponent, resolveDirective, openBlock, createBlock, Transition, withCtx, createElementBlock, Fragment, renderList, createElementVNode, withDirectives, resolveDynamicComponent, normalizeClass, createCommentVNode, toDisplayString, createVNode, renderSlot } from 'vue';\n\nvar script$2 = {\n name: 'BaseTieredMenu',\n \"extends\": BaseComponent,\n props: {\n popup: {\n type: Boolean,\n \"default\": false\n },\n model: {\n type: Array,\n \"default\": null\n },\n appendTo: {\n type: [String, Object],\n \"default\": 'body'\n },\n breakpoint: {\n type: String,\n \"default\": '960px'\n },\n autoZIndex: {\n type: Boolean,\n \"default\": true\n },\n baseZIndex: {\n type: Number,\n \"default\": 0\n },\n disabled: {\n type: Boolean,\n \"default\": false\n },\n tabindex: {\n type: Number,\n \"default\": 0\n },\n ariaLabelledby: {\n type: String,\n \"default\": null\n },\n ariaLabel: {\n type: String,\n \"default\": null\n }\n },\n style: TieredMenuStyle,\n provide: function provide() {\n return {\n $pcTieredMenu: this,\n $parentInstance: this\n };\n }\n};\n\nvar script$1 = {\n name: 'TieredMenuSub',\n hostName: 'TieredMenu',\n \"extends\": BaseComponent,\n emits: ['item-click', 'item-mouseenter', 'item-mousemove'],\n container: null,\n props: {\n menuId: {\n type: String,\n \"default\": null\n },\n focusedItemId: {\n type: String,\n \"default\": null\n },\n items: {\n type: Array,\n \"default\": null\n },\n visible: {\n type: Boolean,\n \"default\": false\n },\n level: {\n type: Number,\n \"default\": 0\n },\n templates: {\n type: Object,\n \"default\": null\n },\n activeItemPath: {\n type: Object,\n \"default\": null\n },\n tabindex: {\n type: Number,\n \"default\": 0\n }\n },\n methods: {\n getItemId: function getItemId(processedItem) {\n return \"\".concat(this.menuId, \"_\").concat(processedItem.key);\n },\n getItemKey: function getItemKey(processedItem) {\n return this.getItemId(processedItem);\n },\n getItemProp: function getItemProp(processedItem, name, params) {\n return processedItem && processedItem.item ? resolve(processedItem.item[name], params) : undefined;\n },\n getItemLabel: function getItemLabel(processedItem) {\n return this.getItemProp(processedItem, 'label');\n },\n getItemLabelId: function getItemLabelId(processedItem) {\n return \"\".concat(this.menuId, \"_\").concat(processedItem.key, \"_label\");\n },\n getPTOptions: function getPTOptions(processedItem, index, key) {\n return this.ptm(key, {\n context: {\n item: processedItem.item,\n index: index,\n active: this.isItemActive(processedItem),\n focused: this.isItemFocused(processedItem),\n disabled: this.isItemDisabled(processedItem)\n }\n });\n },\n isItemActive: function isItemActive(processedItem) {\n return this.activeItemPath.some(function (path) {\n return path.key === processedItem.key;\n });\n },\n isItemVisible: function isItemVisible(processedItem) {\n return this.getItemProp(processedItem, 'visible') !== false;\n },\n isItemDisabled: function isItemDisabled(processedItem) {\n return this.getItemProp(processedItem, 'disabled');\n },\n isItemFocused: function isItemFocused(processedItem) {\n return this.focusedItemId === this.getItemId(processedItem);\n },\n isItemGroup: function isItemGroup(processedItem) {\n return isNotEmpty(processedItem.items);\n },\n onEnter: function onEnter() {\n nestedPosition(this.container, this.level);\n },\n onItemClick: function onItemClick(event, processedItem) {\n this.getItemProp(processedItem, 'command', {\n originalEvent: event,\n item: processedItem.item\n });\n this.$emit('item-click', {\n originalEvent: event,\n processedItem: processedItem,\n isFocus: true\n });\n },\n onItemMouseEnter: function onItemMouseEnter(event, processedItem) {\n this.$emit('item-mouseenter', {\n originalEvent: event,\n processedItem: processedItem\n });\n },\n onItemMouseMove: function onItemMouseMove(event, processedItem) {\n this.$emit('item-mousemove', {\n originalEvent: event,\n processedItem: processedItem\n });\n },\n getAriaSetSize: function getAriaSetSize() {\n var _this = this;\n return this.items.filter(function (processedItem) {\n return _this.isItemVisible(processedItem) && !_this.getItemProp(processedItem, 'separator');\n }).length;\n },\n getAriaPosInset: function getAriaPosInset(index) {\n var _this2 = this;\n return index - this.items.slice(0, index).filter(function (processedItem) {\n return _this2.isItemVisible(processedItem) && _this2.getItemProp(processedItem, 'separator');\n }).length + 1;\n },\n getMenuItemProps: function getMenuItemProps(processedItem, index) {\n return {\n action: mergeProps({\n \"class\": this.cx('itemLink'),\n tabindex: -1,\n 'aria-hidden': true\n }, this.getPTOptions(processedItem, index, 'itemLink')),\n icon: mergeProps({\n \"class\": [this.cx('itemIcon'), this.getItemProp(processedItem, 'icon')]\n }, this.getPTOptions(processedItem, index, 'itemIcon')),\n label: mergeProps({\n \"class\": this.cx('itemLabel')\n }, this.getPTOptions(processedItem, index, 'itemLabel')),\n submenuicon: mergeProps({\n \"class\": this.cx('submenuIcon')\n }, this.getPTOptions(processedItem, index, 'submenuIcon'))\n };\n },\n containerRef: function containerRef(el) {\n this.container = el;\n }\n },\n components: {\n AngleRightIcon: AngleRightIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n\nvar _hoisted_1$1 = [\"tabindex\"];\nvar _hoisted_2 = [\"id\", \"aria-label\", \"aria-disabled\", \"aria-expanded\", \"aria-haspopup\", \"aria-level\", \"aria-setsize\", \"aria-posinset\", \"data-p-active\", \"data-p-focused\", \"data-p-disabled\"];\nvar _hoisted_3 = [\"onClick\", \"onMouseenter\", \"onMousemove\"];\nvar _hoisted_4 = [\"href\", \"target\"];\nvar _hoisted_5 = [\"id\"];\nvar _hoisted_6 = [\"id\"];\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_AngleRightIcon = resolveComponent(\"AngleRightIcon\");\n var _component_TieredMenuSub = resolveComponent(\"TieredMenuSub\", true);\n var _directive_ripple = resolveDirective(\"ripple\");\n return openBlock(), createBlock(Transition, mergeProps({\n name: \"p-tieredmenu\",\n onEnter: $options.onEnter\n }, _ctx.ptm('menu.transition')), {\n \"default\": withCtx(function () {\n return [($props.level === 0 ? true : $props.visible) ? (openBlock(), createElementBlock(\"ul\", {\n key: 0,\n ref: $options.containerRef,\n tabindex: $props.tabindex\n }, [(openBlock(true), createElementBlock(Fragment, null, renderList($props.items, function (processedItem, index) {\n return openBlock(), createElementBlock(Fragment, {\n key: $options.getItemKey(processedItem)\n }, [$options.isItemVisible(processedItem) && !$options.getItemProp(processedItem, 'separator') ? (openBlock(), createElementBlock(\"li\", mergeProps({\n key: 0,\n id: $options.getItemId(processedItem),\n style: $options.getItemProp(processedItem, 'style'),\n \"class\": [_ctx.cx('item', {\n processedItem: processedItem\n }), $options.getItemProp(processedItem, 'class')],\n role: \"menuitem\",\n \"aria-label\": $options.getItemLabel(processedItem),\n \"aria-disabled\": $options.isItemDisabled(processedItem) || undefined,\n \"aria-expanded\": $options.isItemGroup(processedItem) ? $options.isItemActive(processedItem) : undefined,\n \"aria-haspopup\": $options.isItemGroup(processedItem) && !$options.getItemProp(processedItem, 'to') ? 'menu' : undefined,\n \"aria-level\": $props.level + 1,\n \"aria-setsize\": $options.getAriaSetSize(),\n \"aria-posinset\": $options.getAriaPosInset(index),\n ref_for: true\n }, $options.getPTOptions(processedItem, index, 'item'), {\n \"data-p-active\": $options.isItemActive(processedItem),\n \"data-p-focused\": $options.isItemFocused(processedItem),\n \"data-p-disabled\": $options.isItemDisabled(processedItem)\n }), [createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('itemContent'),\n onClick: function onClick($event) {\n return $options.onItemClick($event, processedItem);\n },\n onMouseenter: function onMouseenter($event) {\n return $options.onItemMouseEnter($event, processedItem);\n },\n onMousemove: function onMousemove($event) {\n return $options.onItemMouseMove($event, processedItem);\n },\n ref_for: true\n }, $options.getPTOptions(processedItem, index, 'itemContent')), [!$props.templates.item ? withDirectives((openBlock(), createElementBlock(\"a\", mergeProps({\n key: 0,\n href: $options.getItemProp(processedItem, 'url'),\n \"class\": _ctx.cx('itemLink'),\n target: $options.getItemProp(processedItem, 'target'),\n tabindex: \"-1\",\n ref_for: true\n }, $options.getPTOptions(processedItem, index, 'itemLink')), [$props.templates.itemicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.itemicon), {\n key: 0,\n item: processedItem.item,\n \"class\": normalizeClass(_ctx.cx('itemIcon'))\n }, null, 8, [\"item\", \"class\"])) : $options.getItemProp(processedItem, 'icon') ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 1,\n \"class\": [_ctx.cx('itemIcon'), $options.getItemProp(processedItem, 'icon')],\n ref_for: true\n }, $options.getPTOptions(processedItem, index, 'itemIcon')), null, 16)) : createCommentVNode(\"\", true), createElementVNode(\"span\", mergeProps({\n id: $options.getItemLabelId(processedItem),\n \"class\": _ctx.cx('itemLabel'),\n ref_for: true\n }, $options.getPTOptions(processedItem, index, 'itemLabel')), toDisplayString($options.getItemLabel(processedItem)), 17, _hoisted_5), $options.getItemProp(processedItem, 'items') ? (openBlock(), createElementBlock(Fragment, {\n key: 2\n }, [$props.templates.submenuicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.submenuicon), mergeProps({\n key: 0,\n \"class\": _ctx.cx('submenuIcon'),\n active: $options.isItemActive(processedItem),\n ref_for: true\n }, $options.getPTOptions(processedItem, index, 'submenuIcon')), null, 16, [\"class\", \"active\"])) : (openBlock(), createBlock(_component_AngleRightIcon, mergeProps({\n key: 1,\n \"class\": _ctx.cx('submenuIcon'),\n ref_for: true\n }, $options.getPTOptions(processedItem, index, 'submenuIcon')), null, 16, [\"class\"]))], 64)) : createCommentVNode(\"\", true)], 16, _hoisted_4)), [[_directive_ripple]]) : (openBlock(), createBlock(resolveDynamicComponent($props.templates.item), {\n key: 1,\n item: processedItem.item,\n hasSubmenu: $options.getItemProp(processedItem, 'items'),\n label: $options.getItemLabel(processedItem),\n props: $options.getMenuItemProps(processedItem, index)\n }, null, 8, [\"item\", \"hasSubmenu\", \"label\", \"props\"]))], 16, _hoisted_3), $options.isItemVisible(processedItem) && $options.isItemGroup(processedItem) ? (openBlock(), createBlock(_component_TieredMenuSub, mergeProps({\n key: 0,\n id: $options.getItemId(processedItem) + '_list',\n \"class\": _ctx.cx('submenu'),\n style: _ctx.sx('submenu', true, {\n processedItem: processedItem\n }),\n \"aria-labelledby\": $options.getItemLabelId(processedItem),\n role: \"menu\",\n menuId: $props.menuId,\n focusedItemId: $props.focusedItemId,\n items: processedItem.items,\n templates: $props.templates,\n activeItemPath: $props.activeItemPath,\n level: $props.level + 1,\n visible: $options.isItemActive(processedItem) && $options.isItemGroup(processedItem),\n pt: _ctx.pt,\n unstyled: _ctx.unstyled,\n onItemClick: _cache[0] || (_cache[0] = function ($event) {\n return _ctx.$emit('item-click', $event);\n }),\n onItemMouseenter: _cache[1] || (_cache[1] = function ($event) {\n return _ctx.$emit('item-mouseenter', $event);\n }),\n onItemMousemove: _cache[2] || (_cache[2] = function ($event) {\n return _ctx.$emit('item-mousemove', $event);\n }),\n ref_for: true\n }, _ctx.ptm('submenu')), null, 16, [\"id\", \"class\", \"style\", \"aria-labelledby\", \"menuId\", \"focusedItemId\", \"items\", \"templates\", \"activeItemPath\", \"level\", \"visible\", \"pt\", \"unstyled\"])) : createCommentVNode(\"\", true)], 16, _hoisted_2)) : createCommentVNode(\"\", true), $options.isItemVisible(processedItem) && $options.getItemProp(processedItem, 'separator') ? (openBlock(), createElementBlock(\"li\", mergeProps({\n key: 1,\n id: $options.getItemId(processedItem),\n style: $options.getItemProp(processedItem, 'style'),\n \"class\": [_ctx.cx('separator'), $options.getItemProp(processedItem, 'class')],\n role: \"separator\",\n ref_for: true\n }, _ctx.ptm('separator')), null, 16, _hoisted_6)) : createCommentVNode(\"\", true)], 64);\n }), 128))], 8, _hoisted_1$1)) : createCommentVNode(\"\", true)];\n }),\n _: 1\n }, 16, [\"onEnter\"]);\n}\n\nscript$1.render = render$1;\n\nvar script = {\n name: 'TieredMenu',\n \"extends\": script$2,\n inheritAttrs: false,\n emits: ['focus', 'blur', 'before-show', 'before-hide', 'hide', 'show'],\n outsideClickListener: null,\n matchMediaListener: null,\n scrollHandler: null,\n resizeListener: null,\n target: null,\n container: null,\n menubar: null,\n searchTimeout: null,\n searchValue: null,\n data: function data() {\n return {\n id: this.$attrs.id,\n focused: false,\n focusedItemInfo: {\n index: -1,\n level: 0,\n parentKey: ''\n },\n activeItemPath: [],\n visible: !this.popup,\n submenuVisible: false,\n dirty: false,\n query: null,\n queryMatches: false\n };\n },\n watch: {\n '$attrs.id': function $attrsId(newValue) {\n this.id = newValue || UniqueComponentId();\n },\n activeItemPath: function activeItemPath(newPath) {\n if (!this.popup) {\n if (isNotEmpty(newPath)) {\n this.bindOutsideClickListener();\n this.bindResizeListener();\n } else {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n }\n }\n }\n },\n mounted: function mounted() {\n this.id = this.id || UniqueComponentId();\n this.bindMatchMediaListener();\n },\n beforeUnmount: function beforeUnmount() {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n this.unbindMatchMediaListener();\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n if (this.container && this.autoZIndex) {\n ZIndex.clear(this.container);\n }\n this.target = null;\n this.container = null;\n },\n methods: {\n getItemProp: function getItemProp(item, name) {\n return item ? resolve(item[name]) : undefined;\n },\n getItemLabel: function getItemLabel(item) {\n return this.getItemProp(item, 'label');\n },\n isItemDisabled: function isItemDisabled(item) {\n return this.getItemProp(item, 'disabled');\n },\n isItemVisible: function isItemVisible(item) {\n return this.getItemProp(item, 'visible') !== false;\n },\n isItemGroup: function isItemGroup(item) {\n return isNotEmpty(this.getItemProp(item, 'items'));\n },\n isItemSeparator: function isItemSeparator(item) {\n return this.getItemProp(item, 'separator');\n },\n getProccessedItemLabel: function getProccessedItemLabel(processedItem) {\n return processedItem ? this.getItemLabel(processedItem.item) : undefined;\n },\n isProccessedItemGroup: function isProccessedItemGroup(processedItem) {\n return processedItem && isNotEmpty(processedItem.items);\n },\n toggle: function toggle(event) {\n this.visible ? this.hide(event, true) : this.show(event);\n },\n show: function show(event, isFocus) {\n if (this.popup) {\n this.$emit('before-show');\n this.visible = true;\n this.target = this.target || event.currentTarget;\n this.relatedTarget = event.relatedTarget || null;\n }\n isFocus && focus(this.menubar);\n },\n hide: function hide(event, isFocus) {\n if (this.popup) {\n this.$emit('before-hide');\n this.visible = false;\n }\n this.activeItemPath = [];\n this.focusedItemInfo = {\n index: -1,\n level: 0,\n parentKey: ''\n };\n isFocus && focus(this.relatedTarget || this.target || this.menubar);\n this.dirty = false;\n },\n onFocus: function onFocus(event) {\n this.focused = true;\n if (!this.popup) {\n this.focusedItemInfo = this.focusedItemInfo.index !== -1 ? this.focusedItemInfo : {\n index: this.findFirstFocusedItemIndex(),\n level: 0,\n parentKey: ''\n };\n }\n this.$emit('focus', event);\n },\n onBlur: function onBlur(event) {\n this.focused = false;\n this.focusedItemInfo = {\n index: -1,\n level: 0,\n parentKey: ''\n };\n this.searchValue = '';\n this.dirty = false;\n this.$emit('blur', event);\n },\n onKeyDown: function onKeyDown(event) {\n if (this.disabled) {\n event.preventDefault();\n return;\n }\n var metaKey = event.metaKey || event.ctrlKey;\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n case 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n case 'ArrowRight':\n this.onArrowRightKey(event);\n break;\n case 'Home':\n this.onHomeKey(event);\n break;\n case 'End':\n this.onEndKey(event);\n break;\n case 'Space':\n this.onSpaceKey(event);\n break;\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n case 'Escape':\n this.onEscapeKey(event);\n break;\n case 'Tab':\n this.onTabKey(event);\n break;\n case 'PageDown':\n case 'PageUp':\n case 'Backspace':\n case 'ShiftLeft':\n case 'ShiftRight':\n //NOOP\n break;\n default:\n if (!metaKey && isPrintableCharacter(event.key)) {\n this.searchItems(event, event.key);\n }\n break;\n }\n },\n onItemChange: function onItemChange(event) {\n var processedItem = event.processedItem,\n isFocus = event.isFocus;\n if (isEmpty(processedItem)) return;\n var index = processedItem.index,\n key = processedItem.key,\n level = processedItem.level,\n parentKey = processedItem.parentKey,\n items = processedItem.items;\n var grouped = isNotEmpty(items);\n var activeItemPath = this.activeItemPath.filter(function (p) {\n return p.parentKey !== parentKey && p.parentKey !== key;\n });\n if (grouped) {\n activeItemPath.push(processedItem);\n this.submenuVisible = true;\n }\n this.focusedItemInfo = {\n index: index,\n level: level,\n parentKey: parentKey\n };\n this.activeItemPath = activeItemPath;\n grouped && (this.dirty = true);\n isFocus && focus(this.menubar);\n },\n onOverlayClick: function onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.target\n });\n },\n onItemClick: function onItemClick(event) {\n var originalEvent = event.originalEvent,\n processedItem = event.processedItem;\n var grouped = this.isProccessedItemGroup(processedItem);\n var root = isEmpty(processedItem.parent);\n var selected = this.isSelected(processedItem);\n if (selected) {\n var index = processedItem.index,\n key = processedItem.key,\n level = processedItem.level,\n parentKey = processedItem.parentKey;\n this.activeItemPath = this.activeItemPath.filter(function (p) {\n return key !== p.key && key.startsWith(p.key);\n });\n this.focusedItemInfo = {\n index: index,\n level: level,\n parentKey: parentKey\n };\n this.dirty = !root;\n focus(this.menubar);\n } else {\n if (grouped) {\n this.onItemChange(event);\n } else {\n var rootProcessedItem = root ? processedItem : this.activeItemPath.find(function (p) {\n return p.parentKey === '';\n });\n this.hide(originalEvent);\n this.changeFocusedItemIndex(originalEvent, rootProcessedItem ? rootProcessedItem.index : -1);\n focus(this.menubar);\n }\n }\n },\n onItemMouseEnter: function onItemMouseEnter(event) {\n if (this.dirty) {\n this.onItemChange(event);\n }\n },\n onItemMouseMove: function onItemMouseMove(event) {\n if (this.focused) {\n this.changeFocusedItemIndex(event, event.processedItem.index);\n }\n },\n onArrowDownKey: function onArrowDownKey(event) {\n var itemIndex = this.focusedItemInfo.index !== -1 ? this.findNextItemIndex(this.focusedItemInfo.index) : this.findFirstFocusedItemIndex();\n this.changeFocusedItemIndex(event, itemIndex);\n event.preventDefault();\n },\n onArrowUpKey: function onArrowUpKey(event) {\n if (event.altKey) {\n if (this.focusedItemInfo.index !== -1) {\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var grouped = this.isProccessedItemGroup(processedItem);\n !grouped && this.onItemChange({\n originalEvent: event,\n processedItem: processedItem\n });\n }\n this.popup && this.hide(event, true);\n event.preventDefault();\n } else {\n var itemIndex = this.focusedItemInfo.index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo.index) : this.findLastFocusedItemIndex();\n this.changeFocusedItemIndex(event, itemIndex);\n event.preventDefault();\n }\n },\n onArrowLeftKey: function onArrowLeftKey(event) {\n var _this = this;\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var parentItem = this.activeItemPath.find(function (p) {\n return p.key === processedItem.parentKey;\n });\n var root = isEmpty(processedItem.parent);\n if (!root) {\n this.focusedItemInfo = {\n index: -1,\n parentKey: parentItem ? parentItem.parentKey : ''\n };\n this.searchValue = '';\n this.onArrowDownKey(event);\n }\n this.activeItemPath = this.activeItemPath.filter(function (p) {\n return p.parentKey !== _this.focusedItemInfo.parentKey;\n });\n event.preventDefault();\n },\n onArrowRightKey: function onArrowRightKey(event) {\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var grouped = this.isProccessedItemGroup(processedItem);\n if (grouped) {\n this.onItemChange({\n originalEvent: event,\n processedItem: processedItem\n });\n this.focusedItemInfo = {\n index: -1,\n parentKey: processedItem.key\n };\n this.searchValue = '';\n this.onArrowDownKey(event);\n }\n event.preventDefault();\n },\n onHomeKey: function onHomeKey(event) {\n this.changeFocusedItemIndex(event, this.findFirstItemIndex());\n event.preventDefault();\n },\n onEndKey: function onEndKey(event) {\n this.changeFocusedItemIndex(event, this.findLastItemIndex());\n event.preventDefault();\n },\n onEnterKey: function onEnterKey(event) {\n if (this.focusedItemInfo.index !== -1) {\n var element = findSingle(this.menubar, \"li[id=\\\"\".concat(\"\".concat(this.focusedItemId), \"\\\"]\"));\n var anchorElement = element && findSingle(element, '[data-pc-section=\"itemlink\"]');\n anchorElement ? anchorElement.click() : element && element.click();\n if (!this.popup) {\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var grouped = this.isProccessedItemGroup(processedItem);\n !grouped && (this.focusedItemInfo.index = this.findFirstFocusedItemIndex());\n }\n }\n event.preventDefault();\n },\n onSpaceKey: function onSpaceKey(event) {\n this.onEnterKey(event);\n },\n onEscapeKey: function onEscapeKey(event) {\n if (this.popup || this.focusedItemInfo.level !== 0) {\n var _focusedItemInfo = this.focusedItemInfo;\n this.hide(event, false);\n this.focusedItemInfo = {\n index: Number(_focusedItemInfo.parentKey.split('_')[0]),\n level: 0,\n parentKey: ''\n };\n this.popup && focus(this.target);\n }\n event.preventDefault();\n },\n onTabKey: function onTabKey(event) {\n if (this.focusedItemInfo.index !== -1) {\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var grouped = this.isProccessedItemGroup(processedItem);\n !grouped && this.onItemChange({\n originalEvent: event,\n processedItem: processedItem\n });\n }\n this.hide();\n },\n onEnter: function onEnter(el) {\n if (this.autoZIndex) {\n ZIndex.set('menu', el, this.baseZIndex + this.$primevue.config.zIndex.menu);\n }\n addStyle(el, {\n position: 'absolute',\n top: '0',\n left: '0'\n });\n this.alignOverlay();\n focus(this.menubar);\n this.scrollInView();\n },\n onAfterEnter: function onAfterEnter() {\n this.bindOutsideClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n this.$emit('show');\n },\n onLeave: function onLeave() {\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n this.$emit('hide');\n this.container = null;\n this.dirty = false;\n },\n onAfterLeave: function onAfterLeave(el) {\n if (this.autoZIndex) {\n ZIndex.clear(el);\n }\n },\n alignOverlay: function alignOverlay() {\n absolutePosition(this.container, this.target);\n var targetWidth = getOuterWidth(this.target);\n if (targetWidth > getOuterWidth(this.container)) {\n this.container.style.minWidth = getOuterWidth(this.target) + 'px';\n }\n },\n bindOutsideClickListener: function bindOutsideClickListener() {\n var _this2 = this;\n if (!this.outsideClickListener) {\n this.outsideClickListener = function (event) {\n var isOutsideContainer = _this2.container && !_this2.container.contains(event.target);\n var isOutsideTarget = _this2.popup ? !(_this2.target && (_this2.target === event.target || _this2.target.contains(event.target))) : true;\n if (isOutsideContainer && isOutsideTarget) {\n _this2.hide();\n }\n };\n document.addEventListener('click', this.outsideClickListener);\n }\n },\n unbindOutsideClickListener: function unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener: function bindScrollListener() {\n var _this3 = this;\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, function (event) {\n _this3.hide(event, true);\n });\n }\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener: function unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener: function bindResizeListener() {\n var _this4 = this;\n if (!this.resizeListener) {\n this.resizeListener = function (event) {\n if (!isTouchDevice()) {\n _this4.hide(event, true);\n }\n };\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener: function unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n bindMatchMediaListener: function bindMatchMediaListener() {\n var _this5 = this;\n if (!this.matchMediaListener) {\n var query = matchMedia(\"(max-width: \".concat(this.breakpoint, \")\"));\n this.query = query;\n this.queryMatches = query.matches;\n this.matchMediaListener = function () {\n _this5.queryMatches = query.matches;\n };\n this.query.addEventListener('change', this.matchMediaListener);\n }\n },\n unbindMatchMediaListener: function unbindMatchMediaListener() {\n if (this.matchMediaListener) {\n this.query.removeEventListener('change', this.matchMediaListener);\n this.matchMediaListener = null;\n }\n },\n isItemMatched: function isItemMatched(processedItem) {\n var _this$getProccessedIt;\n return this.isValidItem(processedItem) && ((_this$getProccessedIt = this.getProccessedItemLabel(processedItem)) === null || _this$getProccessedIt === void 0 ? void 0 : _this$getProccessedIt.toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase()));\n },\n isValidItem: function isValidItem(processedItem) {\n return !!processedItem && !this.isItemDisabled(processedItem.item) && !this.isItemSeparator(processedItem.item) && this.isItemVisible(processedItem.item);\n },\n isValidSelectedItem: function isValidSelectedItem(processedItem) {\n return this.isValidItem(processedItem) && this.isSelected(processedItem);\n },\n isSelected: function isSelected(processedItem) {\n return this.activeItemPath.some(function (p) {\n return p.key === processedItem.key;\n });\n },\n findFirstItemIndex: function findFirstItemIndex() {\n var _this6 = this;\n return this.visibleItems.findIndex(function (processedItem) {\n return _this6.isValidItem(processedItem);\n });\n },\n findLastItemIndex: function findLastItemIndex() {\n var _this7 = this;\n return findLastIndex(this.visibleItems, function (processedItem) {\n return _this7.isValidItem(processedItem);\n });\n },\n findNextItemIndex: function findNextItemIndex(index) {\n var _this8 = this;\n var matchedItemIndex = index < this.visibleItems.length - 1 ? this.visibleItems.slice(index + 1).findIndex(function (processedItem) {\n return _this8.isValidItem(processedItem);\n }) : -1;\n return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index;\n },\n findPrevItemIndex: function findPrevItemIndex(index) {\n var _this9 = this;\n var matchedItemIndex = index > 0 ? findLastIndex(this.visibleItems.slice(0, index), function (processedItem) {\n return _this9.isValidItem(processedItem);\n }) : -1;\n return matchedItemIndex > -1 ? matchedItemIndex : index;\n },\n findSelectedItemIndex: function findSelectedItemIndex() {\n var _this10 = this;\n return this.visibleItems.findIndex(function (processedItem) {\n return _this10.isValidSelectedItem(processedItem);\n });\n },\n findFirstFocusedItemIndex: function findFirstFocusedItemIndex() {\n var selectedIndex = this.findSelectedItemIndex();\n return selectedIndex < 0 ? this.findFirstItemIndex() : selectedIndex;\n },\n findLastFocusedItemIndex: function findLastFocusedItemIndex() {\n var selectedIndex = this.findSelectedItemIndex();\n return selectedIndex < 0 ? this.findLastItemIndex() : selectedIndex;\n },\n searchItems: function searchItems(event, _char) {\n var _this11 = this;\n this.searchValue = (this.searchValue || '') + _char;\n var itemIndex = -1;\n var matched = false;\n if (this.focusedItemInfo.index !== -1) {\n itemIndex = this.visibleItems.slice(this.focusedItemInfo.index).findIndex(function (processedItem) {\n return _this11.isItemMatched(processedItem);\n });\n itemIndex = itemIndex === -1 ? this.visibleItems.slice(0, this.focusedItemInfo.index).findIndex(function (processedItem) {\n return _this11.isItemMatched(processedItem);\n }) : itemIndex + this.focusedItemInfo.index;\n } else {\n itemIndex = this.visibleItems.findIndex(function (processedItem) {\n return _this11.isItemMatched(processedItem);\n });\n }\n if (itemIndex !== -1) {\n matched = true;\n }\n if (itemIndex === -1 && this.focusedItemInfo.index === -1) {\n itemIndex = this.findFirstFocusedItemIndex();\n }\n if (itemIndex !== -1) {\n this.changeFocusedItemIndex(event, itemIndex);\n }\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n this.searchTimeout = setTimeout(function () {\n _this11.searchValue = '';\n _this11.searchTimeout = null;\n }, 500);\n return matched;\n },\n changeFocusedItemIndex: function changeFocusedItemIndex(event, index) {\n if (this.focusedItemInfo.index !== index) {\n this.focusedItemInfo.index = index;\n this.scrollInView();\n }\n },\n scrollInView: function scrollInView() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;\n var id = index !== -1 ? \"\".concat(this.id, \"_\").concat(index) : this.focusedItemId;\n var element = findSingle(this.menubar, \"li[id=\\\"\".concat(id, \"\\\"]\"));\n if (element) {\n element.scrollIntoView && element.scrollIntoView({\n block: 'nearest',\n inline: 'start'\n });\n }\n },\n createProcessedItems: function createProcessedItems(items) {\n var _this12 = this;\n var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var parentKey = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var processedItems = [];\n items && items.forEach(function (item, index) {\n var key = (parentKey !== '' ? parentKey + '_' : '') + index;\n var newItem = {\n item: item,\n index: index,\n level: level,\n key: key,\n parent: parent,\n parentKey: parentKey\n };\n newItem['items'] = _this12.createProcessedItems(item.items, level + 1, newItem, key);\n processedItems.push(newItem);\n });\n return processedItems;\n },\n containerRef: function containerRef(el) {\n this.container = el;\n },\n menubarRef: function menubarRef(el) {\n this.menubar = el ? el.$el : undefined;\n }\n },\n computed: {\n processedItems: function processedItems() {\n return this.createProcessedItems(this.model || []);\n },\n visibleItems: function visibleItems() {\n var _this13 = this;\n var processedItem = this.activeItemPath.find(function (p) {\n return p.key === _this13.focusedItemInfo.parentKey;\n });\n return processedItem ? processedItem.items : this.processedItems;\n },\n focusedItemId: function focusedItemId() {\n return this.focusedItemInfo.index !== -1 ? \"\".concat(this.id).concat(isNotEmpty(this.focusedItemInfo.parentKey) ? '_' + this.focusedItemInfo.parentKey : '', \"_\").concat(this.focusedItemInfo.index) : null;\n }\n },\n components: {\n TieredMenuSub: script$1,\n Portal: Portal\n }\n};\n\nvar _hoisted_1 = [\"id\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_TieredMenuSub = resolveComponent(\"TieredMenuSub\");\n var _component_Portal = resolveComponent(\"Portal\");\n return openBlock(), createBlock(_component_Portal, {\n appendTo: _ctx.appendTo,\n disabled: !_ctx.popup\n }, {\n \"default\": withCtx(function () {\n return [createVNode(Transition, mergeProps({\n name: \"p-connected-overlay\",\n onEnter: $options.onEnter,\n onAfterEnter: $options.onAfterEnter,\n onLeave: $options.onLeave,\n onAfterLeave: $options.onAfterLeave\n }, _ctx.ptm('transition')), {\n \"default\": withCtx(function () {\n return [$data.visible ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n ref: $options.containerRef,\n id: $data.id,\n \"class\": _ctx.cx('root'),\n onClick: _cache[0] || (_cache[0] = function () {\n return $options.onOverlayClick && $options.onOverlayClick.apply($options, arguments);\n })\n }, _ctx.ptmi('root')), [_ctx.$slots.start ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('start')\n }, _ctx.ptm('start')), [renderSlot(_ctx.$slots, \"start\")], 16)) : createCommentVNode(\"\", true), createVNode(_component_TieredMenuSub, mergeProps({\n ref: $options.menubarRef,\n id: $data.id + '_list',\n \"class\": _ctx.cx('rootList'),\n tabindex: !_ctx.disabled ? _ctx.tabindex : -1,\n role: \"menubar\",\n \"aria-label\": _ctx.ariaLabel,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-disabled\": _ctx.disabled || undefined,\n \"aria-orientation\": \"vertical\",\n \"aria-activedescendant\": $data.focused ? $options.focusedItemId : undefined,\n menuId: $data.id,\n focusedItemId: $data.focused ? $options.focusedItemId : undefined,\n items: $options.processedItems,\n templates: _ctx.$slots,\n activeItemPath: $data.activeItemPath,\n level: 0,\n visible: $data.submenuVisible,\n pt: _ctx.pt,\n unstyled: _ctx.unstyled,\n onFocus: $options.onFocus,\n onBlur: $options.onBlur,\n onKeydown: $options.onKeyDown,\n onItemClick: $options.onItemClick,\n onItemMouseenter: $options.onItemMouseEnter,\n onItemMousemove: $options.onItemMouseMove\n }, _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({\n key: 1,\n \"class\": _ctx.cx('end')\n }, _ctx.ptm('end')), [renderSlot(_ctx.$slots, \"end\")], 16)) : createCommentVNode(\"\", true)], 16, _hoisted_1)) : createCommentVNode(\"\", true)];\n }),\n _: 3\n }, 16, [\"onEnter\", \"onAfterEnter\", \"onLeave\", \"onAfterLeave\"])];\n }),\n _: 3\n }, 8, [\"appendTo\", \"disabled\"]);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\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-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\");\n};\nvar classes = {\n root: function root(_ref2) {\n var instance = _ref2.instance,\n props = _ref2.props;\n return ['p-splitbutton p-component', {\n 'p-splitbutton-raised': props.raised,\n 'p-splitbutton-rounded': props.rounded,\n 'p-splitbutton-fluid': instance.hasFluid\n }];\n },\n pcButton: 'p-splitbutton-button',\n pcDropdown: 'p-splitbutton-dropdown'\n};\nvar SplitButtonStyle = BaseStyle.extend({\n name: 'splitbutton',\n theme: theme,\n classes: classes\n});\n\nexport { SplitButtonStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { isEmpty } from '@primeuix/utils/object';\nimport { UniqueComponentId } from '@primevue/core/utils';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport Button from 'primevue/button';\nimport TieredMenu from 'primevue/tieredmenu';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport SplitButtonStyle from 'primevue/splitbutton/style';\nimport { resolveComponent, openBlock, createElementBlock, mergeProps, createVNode, createSlots, withCtx, renderSlot, normalizeClass, createElementVNode, createBlock, resolveDynamicComponent } from 'vue';\n\nvar script$1 = {\n name: 'BaseSplitButton',\n \"extends\": BaseComponent,\n props: {\n label: {\n type: String,\n \"default\": null\n },\n icon: {\n type: String,\n \"default\": null\n },\n model: {\n type: Array,\n \"default\": null\n },\n autoZIndex: {\n type: Boolean,\n \"default\": true\n },\n baseZIndex: {\n type: Number,\n \"default\": 0\n },\n appendTo: {\n type: [String, Object],\n \"default\": 'body'\n },\n disabled: {\n type: Boolean,\n \"default\": false\n },\n fluid: {\n type: Boolean,\n \"default\": null\n },\n \"class\": {\n type: null,\n \"default\": null\n },\n style: {\n type: null,\n \"default\": null\n },\n buttonProps: {\n type: null,\n \"default\": null\n },\n menuButtonProps: {\n type: null,\n \"default\": null\n },\n menuButtonIcon: {\n type: String,\n \"default\": undefined\n },\n dropdownIcon: {\n type: String,\n \"default\": undefined\n },\n severity: {\n type: String,\n \"default\": null\n },\n raised: {\n type: Boolean,\n \"default\": false\n },\n rounded: {\n type: Boolean,\n \"default\": false\n },\n text: {\n type: Boolean,\n \"default\": false\n },\n outlined: {\n type: Boolean,\n \"default\": false\n },\n size: {\n type: String,\n \"default\": null\n },\n plain: {\n type: Boolean,\n \"default\": false\n }\n },\n style: SplitButtonStyle,\n provide: function provide() {\n return {\n $pcSplitButton: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'SplitButton',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['click'],\n inject: {\n $pcFluid: {\n \"default\": null\n }\n },\n data: function data() {\n return {\n id: this.$attrs.id,\n isExpanded: false\n };\n },\n watch: {\n '$attrs.id': function $attrsId(newValue) {\n this.id = newValue || UniqueComponentId();\n }\n },\n mounted: function mounted() {\n var _this = this;\n this.id = this.id || UniqueComponentId();\n this.$watch('$refs.menu.visible', function (newValue) {\n _this.isExpanded = newValue;\n });\n },\n methods: {\n onDropdownButtonClick: function onDropdownButtonClick(event) {\n if (event) {\n event.preventDefault();\n }\n this.$refs.menu.toggle({\n currentTarget: this.$el,\n relatedTarget: this.$refs.button.$el\n });\n this.isExpanded = this.$refs.menu.visible;\n },\n onDropdownKeydown: function onDropdownKeydown(event) {\n if (event.code === 'ArrowDown' || event.code === 'ArrowUp') {\n this.onDropdownButtonClick();\n event.preventDefault();\n }\n },\n onDefaultButtonClick: function onDefaultButtonClick(event) {\n if (this.isExpanded) {\n this.$refs.menu.hide(event);\n }\n this.$emit('click', event);\n }\n },\n computed: {\n containerClass: function containerClass() {\n return [this.cx('root'), this[\"class\"]];\n },\n hasFluid: function hasFluid() {\n return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid;\n }\n },\n components: {\n PVSButton: Button,\n PVSMenu: TieredMenu,\n ChevronDownIcon: ChevronDownIcon\n }\n};\n\nvar _hoisted_1 = [\"data-p-severity\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_PVSButton = resolveComponent(\"PVSButton\");\n var _component_PVSMenu = resolveComponent(\"PVSMenu\");\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": $options.containerClass,\n style: _ctx.style\n }, _ctx.ptmi('root'), {\n \"data-p-severity\": _ctx.severity\n }), [createVNode(_component_PVSButton, mergeProps({\n type: \"button\",\n \"class\": _ctx.cx('pcButton'),\n label: _ctx.label,\n disabled: _ctx.disabled,\n severity: _ctx.severity,\n text: _ctx.text,\n icon: _ctx.icon,\n outlined: _ctx.outlined,\n size: _ctx.size,\n fluid: _ctx.fluid,\n \"aria-label\": _ctx.label,\n onClick: $options.onDefaultButtonClick\n }, _ctx.buttonProps, {\n pt: _ctx.ptm('pcButton'),\n unstyled: _ctx.unstyled\n }), createSlots({\n \"default\": withCtx(function () {\n return [renderSlot(_ctx.$slots, \"default\")];\n }),\n _: 2\n }, [_ctx.$slots.icon ? {\n name: \"icon\",\n fn: withCtx(function (slotProps) {\n return [renderSlot(_ctx.$slots, \"icon\", {\n \"class\": normalizeClass(slotProps[\"class\"])\n }, function () {\n return [createElementVNode(\"span\", mergeProps({\n \"class\": [_ctx.icon, slotProps[\"class\"]]\n }, _ctx.ptm('pcButton')['icon'], {\n \"data-pc-section\": \"buttonicon\"\n }), null, 16)];\n })];\n }),\n key: \"0\"\n } : undefined]), 1040, [\"class\", \"label\", \"disabled\", \"severity\", \"text\", \"icon\", \"outlined\", \"size\", \"fluid\", \"aria-label\", \"onClick\", \"pt\", \"unstyled\"]), createVNode(_component_PVSButton, mergeProps({\n ref: \"button\",\n type: \"button\",\n \"class\": _ctx.cx('pcDropdown'),\n disabled: _ctx.disabled,\n \"aria-haspopup\": \"true\",\n \"aria-expanded\": $data.isExpanded,\n \"aria-controls\": $data.id + '_overlay',\n onClick: $options.onDropdownButtonClick,\n onKeydown: $options.onDropdownKeydown,\n severity: _ctx.severity,\n text: _ctx.text,\n outlined: _ctx.outlined,\n size: _ctx.size,\n unstyled: _ctx.unstyled\n }, _ctx.menuButtonProps, {\n pt: _ctx.ptm('pcDropdown')\n }), {\n icon: withCtx(function (slotProps) {\n return [renderSlot(_ctx.$slots, _ctx.$slots.dropdownicon ? 'dropdownicon' : 'menubuttonicon', {\n \"class\": normalizeClass(slotProps[\"class\"])\n }, function () {\n return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.menuButtonIcon || _ctx.dropdownIcon ? 'span' : 'ChevronDownIcon'), mergeProps({\n \"class\": [_ctx.dropdownIcon || _ctx.menuButtonIcon, slotProps[\"class\"]]\n }, _ctx.ptm('pcDropdown')['icon'], {\n \"data-pc-section\": \"menubuttonicon\"\n }), null, 16, [\"class\"]))];\n })];\n }),\n _: 3\n }, 16, [\"class\", \"disabled\", \"aria-expanded\", \"aria-controls\", \"onClick\", \"onKeydown\", \"severity\", \"text\", \"outlined\", \"size\", \"unstyled\", \"pt\"]), createVNode(_component_PVSMenu, {\n ref: \"menu\",\n id: $data.id + '_overlay',\n model: _ctx.model,\n popup: true,\n autoZIndex: _ctx.autoZIndex,\n baseZIndex: _ctx.baseZIndex,\n appendTo: _ctx.appendTo,\n unstyled: _ctx.unstyled,\n pt: _ctx.ptm('pcMenu')\n }, createSlots({\n _: 2\n }, [_ctx.$slots.menuitemicon ? {\n name: \"itemicon\",\n fn: withCtx(function (slotProps) {\n return [renderSlot(_ctx.$slots, \"menuitemicon\", {\n item: slotProps.item,\n \"class\": normalizeClass(slotProps[\"class\"])\n })];\n }),\n key: \"0\"\n } : undefined, _ctx.$slots.item ? {\n name: \"item\",\n fn: withCtx(function (slotProps) {\n return [renderSlot(_ctx.$slots, \"item\", {\n item: slotProps.item,\n hasSubmenu: slotProps.hasSubmenu,\n label: slotProps.label,\n props: slotProps.props\n })];\n }),\n key: \"1\"\n } : undefined]), 1032, [\"id\", \"model\", \"autoZIndex\", \"baseZIndex\", \"appendTo\", \"unstyled\", \"pt\"])], 16, _hoisted_1);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n","\n\n\n\n\n","import {\n useQueueSettingsStore,\n useQueuePendingTaskCountStore\n} from '@/stores/queueStore'\nimport { app } from '@/scripts/app'\nimport { api } from '@/scripts/api'\n\nexport function setupAutoQueueHandler() {\n const queueCountStore = useQueuePendingTaskCountStore()\n const queueSettingsStore = useQueueSettingsStore()\n\n let graphHasChanged = false\n let internalCount = 0 // Use an internal counter here so it is instantly updated when re-queuing\n api.addEventListener('graphChanged', () => {\n if (queueSettingsStore.mode === 'change') {\n if (internalCount) {\n graphHasChanged = true\n } else {\n graphHasChanged = false\n app.queuePrompt(0, queueSettingsStore.batchCount)\n internalCount++\n }\n }\n })\n\n queueCountStore.$subscribe(\n () => {\n internalCount = queueCountStore.count\n if (!internalCount && !app.lastExecutionError) {\n if (\n queueSettingsStore.mode === 'instant' ||\n (queueSettingsStore.mode === 'change' && graphHasChanged)\n ) {\n graphHasChanged = false\n app.queuePrompt(0, queueSettingsStore.batchCount)\n }\n }\n },\n { detached: true }\n )\n}\n","\n\n\n"],"names":["theme","classes","script$1","Badge","provide","script","render","item","BaseComponent","content","showNavigators","ChevronLeftIcon","ChevronRightIcon","_hoisted_1","_hoisted_2","_hoisted_3","createElementVNode","root","inlineStyles","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","_arrayLikeToArray","data","mounted","beforeUnmount","panels","onKeydown","getPTOptions","_typeof$1","o","updated","option","_hide","onFocus","onArrowLeftKey","onArrowRightKey","onHomeKey","onEndKey","onPageUpKey","onPageDownKey","onEnterKey","_","scrollInView","id","InputText","VirtualScroller","Portal","ChevronDownIcon","SpinnerIcon","Chip","_typeof","ownKeys","r","_objectSpread","_defineProperty","_toPropertyKey","_toPrimitive","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","onRemove","ref","onClick","_sfc_main","AutoComplete","suggestions","search","comfyApp","repeat","widget","BaseIcon","script$2","InfoCircleIcon","CheckIcon","ExclamationTriangleIcon","TimesCircleIcon","TimesIcon","render$1","message","getAriaPosInset","AngleRightIcon","AngleDownIcon","_hoisted_1$1","$attrsId","getItemProp","getItemLabel","isItemDisabled","isItemVisible","isItemGroup","show","hide","onBlur","onKeyDown","activeItemPath","onItemClick","onItemMouseEnter","onItemMouseMove","onArrowDownKey","onArrowUpKey","onEscapeKey","onTabKey","bindOutsideClickListener","unbindOutsideClickListener","bindResizeListener","unbindResizeListener","isSelected","processedItems","BarsIcon","toggle","PlusIcon","MinusIcon","Button","submenu","getItemId","getItemKey","getItemLabelId","isItemActive","isItemFocused","onEnter","getAriaSetSize","getMenuItemProps","containerRef","isItemSeparator","getProccessedItemLabel","isProccessedItemGroup","onItemChange","onOverlayClick","onSpaceKey","onLeave","alignOverlay","bindScrollListener","unbindScrollListener","bindMatchMediaListener","unbindMatchMediaListener","isItemMatched","isValidItem","isValidSelectedItem","findFirstItemIndex","findLastItemIndex","findNextItemIndex","findPrevItemIndex","findSelectedItemIndex","findFirstFocusedItemIndex","findLastFocusedItemIndex","searchItems","changeFocusedItemIndex","createProcessedItems","menubarRef","visibleItems","focusedItemId","hasFluid","TieredMenu","clamp"],"mappings":";;;;;;;AAwBA,UAAM,eAAe;AAEf,UAAA,YAAY,IAAI,KAAK;AACrB,UAAA,cAAc,IAAI,EAAE;AAC1B,UAAM,aAAa,IAAmB;AAAA,MACpC,UAAU;AAAA,MACV,MAAM;AAAA,MACN,KAAK;AAAA,MACL,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,UAAU;AAAA,IAAA,CACX;AAED,UAAM,mBAAmB;AACzB,UAAM,cAAc;AACd,UAAA,0BAA0B,IAAI,IAAI;AAElC,UAAA,SAAS,wBAAC,aAAqB;AACnC,UAAI,iBAAiB,qBAAqB,SAAS,KAAA,MAAW,IAAI;AAC/C,yBAAA,kBAAkB,QAAQ,SAAS,KAAK;AACrD,YAAA,MAAM,eAAe,MAAM,IAAI;AAAA,MACrC;AACA,gBAAU,QAAQ;AAClB,uBAAiB,oBAAoB;AACzB,kBAAA,OAAQ,mBAAmB,wBAAwB;AAAA,IAAA,GAPlD;AAUf;AAAA,MACE,MAAM,iBAAiB;AAAA,MACvB,CAAC,WAAW;AACV,YAAI,WAAW,MAAM;AACnB;AAAA,QACF;AACA,oBAAY,QAAQ,OAAO;AAC3B,kBAAU,QAAQ;AACM,gCAAA,QAAQ,YAAY,OAAQ;AACpD,oBAAY,OAAQ,mBAAmB;AAEvC,YAAI,kBAAkB,aAAa;AACjC,gBAAM,QAAQ;AACd,gBAAM,CAAC,GAAG,CAAC,IAAI,MAAM;AACrB,gBAAM,CAAC,GAAG,CAAC,IAAI,MAAM;AAEf,gBAAA,CAAC,MAAM,GAAG,IAAI,IAAI,qBAAqB,CAAC,GAAG,CAAC,CAAC;AACxC,qBAAA,MAAM,OAAO,GAAG,IAAI;AACpB,qBAAA,MAAM,MAAM,GAAG,GAAG;AAE7B,gBAAM,QAAQ,IAAI,IAAI,OAAO,GAAG;AAChC,gBAAM,SAAS,MAAM,cAAc,IAAI,OAAO,GAAG;AACtC,qBAAA,MAAM,QAAQ,GAAG,KAAK;AACtB,qBAAA,MAAM,SAAS,GAAG,MAAM;AAEnC,gBAAM,WAAW,MAAM,YAAY,IAAI,OAAO,GAAG;AACtC,qBAAA,MAAM,WAAW,GAAG,QAAQ;AAAA,QAAA,WAC9B,kBAAkB,YAAY;AACvC,gBAAM,OAAO;AACb,gBAAM,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY;AAChC,gBAAM,cAAc,KAAK;AACzB,gBAAM,eAAe,UAAU;AAEzB,gBAAA,CAAC,MAAM,GAAG,IAAI,IAAI,qBAAqB,CAAC,GAAG,CAAC,CAAC;AACxC,qBAAA,MAAM,OAAO,GAAG,IAAI;AACpB,qBAAA,MAAM,MAAM,GAAG,GAAG;AAE7B,gBAAM,QAAQ,cAAc,IAAI,OAAO,GAAG;AAC1C,gBAAM,SAAS,eAAe,IAAI,OAAO,GAAG;AACjC,qBAAA,MAAM,QAAQ,GAAG,KAAK;AACtB,qBAAA,MAAM,SAAS,GAAG,MAAM;AACnC,gBAAM,WAAW,KAAK,IAAI,OAAO,GAAG;AACzB,qBAAA,MAAM,WAAW,GAAG,QAAQ;AAAA,QACzC;AAAA,MACF;AAAA,IAAA;AAGI,UAAA,qBAAqB,wBAAC,UAAgC;AAC1D,UAAI,CAAC,aAAa,IAAI,oCAAoC,GAAG;AAC3D;AAAA,MACF;AAEI,UAAA,MAAM,OAAO,YAAY,sBAAsB;AAC3C,cAAA,QAAqB,MAAM,OAAO;AACxC,cAAM,CAAC,GAAG,CAAC,IAAI,MAAM;AAEf,cAAA,IAAI,MAAM,OAAO;AACjB,cAAA,YAAY,EAAE,UAAU;AAE1B,YAAA,YAAY,MAAM,aAAa;AACjC;AAAA,QACF;AAEA,yBAAiB,oBAAoB;AAAA,MACvC;AAAA,IAAA,GAjByB;AAoB3B,UAAM,YAA4B;AAAA,MAChC,MAAM;AAAA,MACN,YAAY,MAAkB;AAE5B,cAAM,mBAAmB,KAAK;AAEzB,aAAA,sBAAsB,SAAU,MAAkB,MAAa;AAClE,cAAI,CAAC,aAAa,IAAI,mCAAmC,GAAG;AAC1D;AAAA,UACF;AAEA,2BAAiB,oBAAoB;AAGjC,cAAA,OAAO,qBAAqB,YAAY;AAC1C,6BAAiB,KAAK,MAAM,GAAG,GAAG,IAAI;AAAA,UACxC;AAAA,QAAA;AAAA,MAEJ;AAAA,IAAA;AAGF,cAAU,MAAM;AACL,eAAA,iBAAiB,oBAAoB,kBAAkB;AAChE,UAAI,kBAAkB,SAAS;AAAA,IAAA,CAChC;AAED,gBAAY,MAAM;AACP,eAAA,oBAAoB,oBAAoB,kBAAkB;AAAA,IAAA,CACpE;;;;;;;;;;;;;;;;;AChJD,IAAIA,UAAQ,gCAAS,MAAM,MAAM;AAC/B,MAAI,KAAK,KAAK;AACd,SAAO,+OAA+O,OAAO,GAAG,4BAA4B,GAAG,mDAAmD,EAAE,OAAO,GAAG,4BAA4B,GAAG,QAAQ;AACvY,GAHY;AAIZ,IAAIC,YAAU;AAAA,EACZ,MAAM;AACR;AACA,IAAI,oBAAoB,UAAU,OAAO;AAAA,EACvC,MAAM;AAAA,EACN,OAAOD;AAAAA,EACP,SAASC;AACX,CAAC;ACTD,IAAIC,aAAW;AAAA,EACb,MAAM;AAAA,EACN,WAAWC;AAAAA,EACX,OAAO;AAAA,EACP,SAAS,gCAASC,WAAU;AAC1B,WAAO;AAAA,MACL,iBAAiB;AAAA,MACjB,iBAAiB;AAAA,IACvB;AAAA,EACG,GALQ;AAMX;AAEA,IAAIC,WAAS;AAAA,EACX,MAAM;AAAA,EACN,WAAWH;AAAAA,EACX,cAAc;AAAA,EACd,YAAY;AAAA,IACV,OAAOC;AAAAA,EACR;AACH;AAEA,SAASG,SAAO,MAAM,QAAQ,QAAQ,QAAQ,OAAO,UAAU;AAC7D,MAAI,mBAAmB,iBAAiB,OAAO;AAC/C,SAAO,UAAW,GAAE,mBAAmB,OAAO,WAAW;AAAA,IACvD,SAAS,KAAK,GAAG,MAAM;AAAA,EAC3B,GAAK,KAAK,KAAK,MAAM,CAAC,GAAG,CAAC,WAAW,KAAK,QAAQ,SAAS,GAAG,YAAY,kBAAkB,WAAW,KAAK,QAAQ;AAAA,IAChH,IAAI,KAAK,IAAI,SAAS;AAAA,EAC1B,CAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE;AAC5B;AAPSA;AASTD,SAAO,SAASC;;;;;;;;;;;;;;;;;;;;;ACHhB,UAAM,QAAQ;AAiBd,UAAM,OAAO;AACb,UAAM,eAAe;AAAA,MAAS,MAC5B,OAAO,MAAM,cAAc,aACvB,MAAM,UAAe,KAAA,KACrB,MAAM;AAAA,IAAA;AAEZ,UAAM,kBAAkB,SAAS,MAAM,CAAC,CAAC,aAAa,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvC3D,UAAM,eAAe;AACrB,UAAM,eAAe,SAAS,MAAM,aAAa,IAAI,oBAAoB,CAAC;AAC1E,UAAM,OAAO;AAAA,MAAS,MACpB,aAAa,UAAU,UAAU,eAAe;AAAA,IAAA;AAGlD,UAAM,eAAe;AACrB,UAAM,cAAc,6BAAM;AACxB,mBAAa,QAAQ,mBAAmB;AAAA,IAAA,GADtB;;;;;;;;;;;;;;ACPpB,UAAM,cAAc;AACpB,UAAM,cAAc,6BAAM;AACxB,kBAAY,WAAW;AAAA,QACrB,iBAAiB;AAAA,QACjB,WAAW;AAAA,MAAA,CACZ;AAAA,IAAA,GAJiB;;;;;;;;;;;;;;;;;ACIpB,UAAM,QAAQ;AAIR,UAAA,uBAAuB,wBAAC,WAA4B,OAAoB;AAC5E,gBAAU,OAAO,EAAE;AAAA,IAAA,GADQ;AAI7B,oBAAgB,MAAM;AACpB,UAAI,MAAM,UAAU,SAAS,YAAY,MAAM,UAAU,SAAS;AAChE,cAAM,UAAU;MAClB;AAAA,IAAA,CACD;;;;;;;;;;;;;;;;;;;;;;;ACMD,UAAM,iBAAiB;AACvB,UAAM,eAAe;AAErB,UAAM,iBAAiB;AAAA,MAAS,MAC9B,aAAa,IAAI,wBAAwB,MAAM,SAC3C,uBACA;AAAA,IAAA;AAGN,UAAM,UAAU;AAAA,MACd,MAAM,aAAa,IAAI,oBAAoB,MAAM;AAAA,IAAA;AAGnD,UAAM,OAAO,SAAS,MAAM,eAAe,eAAgB,CAAA;AAC3D,UAAM,cAAc,SAAS,MAAM,eAAe,WAAW,gBAAgB;AACvE,UAAA,aAAa,wBAACC,UAA8B;AACjC,qBAAA,WAAW,iBAAiBA,MAAK,EAAE;AAAA,IAAA,GADjC;AAGnB,UAAM,kBAAkB;AAClB,UAAA,sBAAsB,wBAAC,QAA6B;AACxD,YAAM,aAAa,gBAAgB;AAAA,QACjC,8BAA8B,IAAI,EAAE;AAAA,MAAA;AAEtC,aAAO,aAAa,KAAK,WAAW,MAAM,SAAU,CAAA,MAAM;AAAA,IAAA,GAJhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvD5B,IAAIN,YAAU;AAAA,EACZ,MAAM;AAAA,EACN,SAAS,gCAAS,QAAQ,MAAM;AAC9B,QAAI,WAAW,KAAK;AACpB,WAAO,CAAC,qBAAqB;AAAA,MAC3B,sBAAsB,SAAS,QAAQ;AAAA,IAC7C,CAAK;AAAA,EACF,GALQ;AAAA,EAMT,SAAS;AAAA,EACT,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,YAAY;AACd;AACA,IAAI,eAAe,UAAU,OAAO;AAAA,EAClC,MAAM;AAAA,EACN,SAASA;AACX,CAAC;ACVD,IAAIC,aAAW;AAAA,EACb,MAAM;AAAA,EACN,WAAWM;AAAAA,EACX,OAAO,CAAE;AAAA,EACT,OAAO;AAAA,EACP,SAAS,gCAASJ,WAAU;AAC1B,WAAO;AAAA,MACL,YAAY;AAAA,MACZ,iBAAiB;AAAA,IACvB;AAAA,EACG,GALQ;AAMX;AAEA,IAAIC,WAAS;AAAA,EACX,MAAM;AAAA,EACN,WAAWH;AAAAA,EACX,cAAc;AAAA,EACd,QAAQ,CAAC,SAAS;AAAA,EAClB,MAAM,gCAAS,OAAO;AACpB,WAAO;AAAA,MACL,qBAAqB;AAAA,MACrB,qBAAqB;AAAA,IAC3B;AAAA,EACG,GALK;AAAA,EAMN,gBAAgB;AAAA,EAChB,OAAO;AAAA,IACL,gBAAgB,gCAAS,eAAe,UAAU;AAChD,iBAAW,KAAK,mBAAoB,IAAG,KAAK,qBAAoB;AAAA,IACjE,GAFe;AAAA,IAGhB,aAAa;AAAA,MACX,OAAO;AAAA,MACP,SAAS,gCAAS,UAAU;AAC1B,aAAK,aAAY;AAAA,MAClB,GAFQ;AAAA,IAGV;AAAA,EACF;AAAA,EACD,SAAS,gCAAS,UAAU;AAC1B,QAAI,QAAQ;AACZ,SAAK,UAAU,WAAY;AACzB,YAAM,aAAY;AAAA,IACxB,CAAK;AACD,QAAI,KAAK,gBAAgB;AACvB,WAAK,kBAAiB;AACtB,WAAK,mBAAkB;AAAA,IACxB;AAAA,EACF,GATQ;AAAA,EAUT,SAAS,gCAAS,UAAU;AAC1B,SAAK,kBAAkB,KAAK;EAC7B,GAFQ;AAAA,EAGT,eAAe,gCAAS,gBAAgB;AACtC,SAAK,qBAAoB;AAAA,EAC1B,GAFc;AAAA,EAGf,SAAS;AAAA,IACP,UAAU,gCAAS,SAAS,OAAO;AACjC,WAAK,kBAAkB,KAAK;AAC5B,YAAM,eAAc;AAAA,IACrB,GAHS;AAAA,IAIV,mBAAmB,gCAAS,oBAAoB;AAC9C,UAAIO,WAAU,KAAK,MAAM;AACzB,UAAI,QAAQ,SAASA,QAAO;AAC5B,UAAI,MAAMA,SAAQ,aAAa;AAC/B,MAAAA,SAAQ,aAAa,OAAO,IAAI,IAAI;AAAA,IACrC,GALkB;AAAA,IAMnB,mBAAmB,gCAAS,oBAAoB;AAC9C,UAAIA,WAAU,KAAK,MAAM;AACzB,UAAI,QAAQ,SAASA,QAAO,IAAI,KAAK,uBAAsB;AAC3D,UAAI,MAAMA,SAAQ,aAAa;AAC/B,UAAI,UAAUA,SAAQ,cAAc;AACpC,MAAAA,SAAQ,aAAa,OAAO,UAAU,UAAU;AAAA,IACjD,GANkB;AAAA,IAOnB,oBAAoB,gCAAS,qBAAqB;AAChD,UAAI,SAAS;AACb,WAAK,iBAAiB,IAAI,eAAe,WAAY;AACnD,eAAO,OAAO;MACtB,CAAO;AACD,WAAK,eAAe,QAAQ,KAAK,MAAM,IAAI;AAAA,IAC5C,GANmB;AAAA,IAOpB,sBAAsB,gCAAS,uBAAuB;AACpD,UAAI;AACJ,OAAC,uBAAuB,KAAK,oBAAoB,QAAQ,yBAAyB,UAAU,qBAAqB,UAAU,KAAK,MAAM,IAAI;AAC1I,WAAK,iBAAiB;AAAA,IACvB,GAJqB;AAAA,IAKtB,cAAc,gCAAS,eAAe;AACpC,UAAI,cAAc,KAAK,OACrBA,WAAU,YAAY,SACtB,SAAS,YAAY,QACrB,OAAO,YAAY;AACrB,UAAI,YAAY,WAAWA,UAAS,4CAA4C;AAChF,UAAI,KAAK,QAAQ,cAAc;AAC7B,eAAO,MAAM,SAAS,eAAe,SAAS,IAAI;AAClD,eAAO,MAAM,MAAM,UAAU,SAAS,EAAE,MAAM,UAAU,IAAI,EAAE,MAAM;AAAA,MAC5E,OAAa;AACL,eAAO,MAAM,QAAQ,cAAc,SAAS,IAAI;AAChD,eAAO,MAAM,OAAO,UAAU,SAAS,EAAE,OAAO,UAAU,IAAI,EAAE,OAAO;AAAA,MACxE;AAAA,IACF,GAba;AAAA,IAcd,mBAAmB,gCAAS,oBAAoB;AAC9C,UAAI,eAAe,KAAK,OACtB,OAAO,aAAa,MACpBA,WAAU,aAAa;AACzB,UAAI,aAAaA,SAAQ,YACvB,YAAYA,SAAQ,WACpB,cAAcA,SAAQ,aACtB,eAAeA,SAAQ,cACvB,cAAcA,SAAQ,aACtB,eAAeA,SAAQ;AACzB,UAAI,OAAO,CAAC,SAASA,QAAO,GAAG,UAAUA,QAAO,CAAC,GAC/C,QAAQ,KAAK,CAAC,GACd,SAAS,KAAK,CAAC;AACjB,UAAI,KAAK,QAAQ,cAAc;AAC7B,aAAK,sBAAsB,cAAc;AACzC,aAAK,sBAAsB,KAAK,gBAAgB,gBAAgB,SAAS,SAAS,MAAM,eAAe;AAAA,MAC/G,OAAa;AACL,aAAK,sBAAsB,eAAe;AAC1C,aAAK,sBAAsB,KAAK,eAAe,eAAe,SAAS,UAAU,MAAM,cAAc;AAAA,MACtG;AAAA,IACF,GApBkB;AAAA,IAqBnB,wBAAwB,gCAAS,yBAAyB;AACxD,UAAI,eAAe,KAAK,OACtB,UAAU,aAAa,SACvB,UAAU,aAAa;AACzB,aAAO,CAAC,SAAS,OAAO,EAAE,OAAO,SAAU,KAAK,IAAI;AAClD,eAAO,KAAK,MAAM,SAAS,EAAE,IAAI;AAAA,MAClC,GAAE,CAAC;AAAA,IACL,GAPuB;AAAA,EAQzB;AAAA,EACD,UAAU;AAAA,IACR,WAAW,gCAAS,YAAY;AAC9B,aAAO,KAAK,QAAQ;AAAA,IACrB,GAFU;AAAA,IAGX,aAAa,gCAAS,cAAc;AAClC,aAAO,KAAK,QAAQ;AAAA,IACrB,GAFY;AAAA,IAGb,gBAAgB,gCAASC,kBAAiB;AACxC,aAAO,KAAK,QAAQ,cAAc,KAAK,QAAQ;AAAA,IAChD,GAFe;AAAA,IAGhB,qBAAqB,gCAAS,sBAAsB;AAClD,aAAO,KAAK,UAAU,OAAO,OAAO,OAAO,KAAK,UAAU,OAAO,OAAO,KAAK,WAAW;AAAA,IACzF,GAFoB;AAAA,IAGrB,qBAAqB,gCAAS,sBAAsB;AAClD,aAAO,KAAK,UAAU,OAAO,OAAO,OAAO,KAAK,UAAU,OAAO,OAAO,KAAK,OAAO;AAAA,IACrF,GAFoB;AAAA,EAGtB;AAAA,EACD,YAAY;AAAA,IACV,iBAAiBC;AAAAA,IACjB,kBAAkBC;AAAAA,EACnB;AAAA,EACD,YAAY;AAAA,IACV,QAAQ;AAAA,EACT;AACH;AAEA,IAAIC,eAAa,CAAC,cAAc,UAAU;AAC1C,IAAIC,eAAa,CAAC,kBAAkB;AACpC,IAAIC,eAAa,CAAC,cAAc,UAAU;AAC1C,SAAST,SAAO,MAAM,QAAQ,QAAQ,QAAQ,OAAO,UAAU;AAC7D,MAAI,oBAAoB,iBAAiB,QAAQ;AACjD,SAAO,UAAW,GAAE,mBAAmB,OAAO,WAAW;AAAA,IACvD,KAAK;AAAA,IACL,SAAS,KAAK,GAAG,MAAM;AAAA,EAC3B,GAAK,KAAK,KAAK,MAAM,CAAC,GAAG,CAAC,SAAS,kBAAkB,MAAM,sBAAsB,gBAAgB,UAAS,GAAI,mBAAmB,UAAU,WAAW;AAAA,IAClJ,KAAK;AAAA,IACL,KAAK;AAAA,IACL,SAAS,KAAK,GAAG,YAAY;AAAA,IAC7B,cAAc,SAAS;AAAA,IACvB,UAAU,SAAS,QAAQ;AAAA,IAC3B,SAAS,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,WAAY;AAC7C,aAAO,SAAS,qBAAqB,SAAS,kBAAkB,MAAM,UAAU,SAAS;AAAA,IAC/F;AAAA,EACA,GAAK,KAAK,IAAI,YAAY,GAAG;AAAA,IACzB,yBAAyB;AAAA,EAC1B,CAAA,GAAG,EAAE,aAAa,YAAY,wBAAwB,SAAS,UAAU,YAAY,iBAAiB,GAAG,WAAW;AAAA,IACnH,eAAe;AAAA,EACnB,GAAK,KAAK,IAAI,UAAU,CAAC,GAAG,MAAM,EAAE,KAAK,IAAIO,YAAU,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,mBAAmB,IAAI,IAAI,GAAGG,gBAAmB,OAAO,WAAW;AAAA,IACnJ,KAAK;AAAA,IACL,SAAS,KAAK,GAAG,SAAS;AAAA,IAC1B,UAAU,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,WAAY;AAC9C,aAAO,SAAS,YAAY,SAAS,SAAS,MAAM,UAAU,SAAS;AAAA,IAC7E;AAAA,EACA,GAAK,KAAK,IAAI,SAAS,CAAC,GAAG,CAACA,gBAAmB,OAAO,WAAW;AAAA,IAC7D,KAAK;AAAA,IACL,SAAS,KAAK,GAAG,SAAS;AAAA,IAC1B,MAAM;AAAA,IACN,oBAAoB,SAAS,QAAQ,eAAe;AAAA,EACrD,GAAE,KAAK,IAAI,SAAS,CAAC,GAAG,CAAC,WAAW,KAAK,QAAQ,SAAS,GAAGA,gBAAmB,QAAQ,WAAW;AAAA,IAClG,KAAK;AAAA,IACL,SAAS,KAAK,GAAG,WAAW;AAAA,IAC5B,MAAM;AAAA,IACN,eAAe;AAAA,EACnB,GAAK,KAAK,IAAI,WAAW,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,IAAIF,YAAU,CAAC,GAAG,EAAE,GAAG,SAAS,kBAAkB,MAAM,sBAAsB,gBAAgB,aAAa,mBAAmB,UAAU,WAAW;AAAA,IACxL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,SAAS,KAAK,GAAG,YAAY;AAAA,IAC7B,cAAc,SAAS;AAAA,IACvB,UAAU,SAAS,QAAQ;AAAA,IAC3B,SAAS,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,WAAY;AAC7C,aAAO,SAAS,qBAAqB,SAAS,kBAAkB,MAAM,UAAU,SAAS;AAAA,IAC/F;AAAA,EACA,GAAK,KAAK,IAAI,YAAY,GAAG;AAAA,IACzB,yBAAyB;AAAA,EAC1B,CAAA,GAAG,EAAE,aAAa,YAAY,wBAAwB,SAAS,UAAU,YAAY,kBAAkB,GAAG,WAAW;AAAA,IACpH,eAAe;AAAA,EACnB,GAAK,KAAK,IAAI,UAAU,CAAC,GAAG,MAAM,EAAE,EAAG,GAAE,IAAIC,YAAU,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,mBAAmB,IAAI,IAAI,CAAC,GAAG,EAAE;AACrH;AAhDST;AAkDTD,SAAO,SAASC;ACnNhB,IAAIL,YAAU;AAAA,EACZ,MAAM,gCAAS,KAAK,MAAM;AACxB,QAAI,WAAW,KAAK,UAClB,QAAQ,KAAK;AACf,WAAO,CAAC,SAAS;AAAA,MACf,gBAAgB,SAAS;AAAA,MACzB,cAAc,MAAM;AAAA,IAC1B,CAAK;AAAA,EACF,GAPK;AAQR;AACA,IAAI,WAAW,UAAU,OAAO;AAAA,EAC9B,MAAM;AAAA,EACN,SAASA;AACX,CAAC;ACRD,IAAIC,aAAW;AAAA,EACb,MAAM;AAAA,EACN,WAAWM;AAAAA,EACX,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,WAAW;AAAA,IACZ;AAAA,IACD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,IAAI;AAAA,MACF,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,WAAW;AAAA,IACZ;AAAA,IACD,SAAS;AAAA,MACP,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,EACF;AAAA,EACD,OAAO;AAAA,EACP,SAAS,gCAASJ,WAAU;AAC1B,WAAO;AAAA,MACL,QAAQ;AAAA,MACR,iBAAiB;AAAA,IACvB;AAAA,EACG,GALQ;AAMX;AAEA,IAAIC,WAAS;AAAA,EACX,MAAM;AAAA,EACN,WAAWH;AAAAA,EACX,cAAc;AAAA,EACd,QAAQ,CAAC,WAAW,YAAY;AAAA,EAChC,SAAS;AAAA,IACP,SAAS,gCAAS,UAAU;AAC1B,WAAK,QAAQ,iBAAiB,KAAK,kBAAiB;AAAA,IACrD,GAFQ;AAAA,IAGT,SAAS,gCAAS,UAAU;AAC1B,WAAK,kBAAiB;AAAA,IACvB,GAFQ;AAAA,IAGT,WAAW,gCAAS,UAAU,OAAO;AACnC,cAAQ,MAAM,MAAI;AAAA,QAChB,KAAK;AACH,eAAK,gBAAgB,KAAK;AAC1B;AAAA,QACF,KAAK;AACH,eAAK,eAAe,KAAK;AACzB;AAAA,QACF,KAAK;AACH,eAAK,UAAU,KAAK;AACpB;AAAA,QACF,KAAK;AACH,eAAK,SAAS,KAAK;AACnB;AAAA,QACF,KAAK;AACH,eAAK,cAAc,KAAK;AACxB;AAAA,QACF,KAAK;AACH,eAAK,YAAY,KAAK;AACtB;AAAA,QACF,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACH,eAAK,WAAW,KAAK;AACrB;AAAA,MACH;AAAA,IACF,GA1BU;AAAA,IA2BX,iBAAiB,gCAAS,gBAAgB,OAAO;AAC/C,UAAI,UAAU,KAAK,YAAY,MAAM,aAAa;AAClD,gBAAU,KAAK,iBAAiB,OAAO,OAAO,IAAI,KAAK,UAAU,KAAK;AACtE,YAAM,eAAc;AAAA,IACrB,GAJgB;AAAA,IAKjB,gBAAgB,gCAAS,eAAe,OAAO;AAC7C,UAAI,UAAU,KAAK,YAAY,MAAM,aAAa;AAClD,gBAAU,KAAK,iBAAiB,OAAO,OAAO,IAAI,KAAK,SAAS,KAAK;AACrE,YAAM,eAAc;AAAA,IACrB,GAJe;AAAA,IAKhB,WAAW,gCAAS,UAAU,OAAO;AACnC,UAAI,WAAW,KAAK;AACpB,WAAK,iBAAiB,OAAO,QAAQ;AACrC,YAAM,eAAc;AAAA,IACrB,GAJU;AAAA,IAKX,UAAU,gCAAS,SAAS,OAAO;AACjC,UAAI,UAAU,KAAK;AACnB,WAAK,iBAAiB,OAAO,OAAO;AACpC,YAAM,eAAc;AAAA,IACrB,GAJS;AAAA,IAKV,eAAe,gCAAS,cAAc,OAAO;AAC3C,WAAK,aAAa,KAAK,YAAa,CAAA;AACpC,YAAM,eAAc;AAAA,IACrB,GAHc;AAAA,IAIf,aAAa,gCAAS,YAAY,OAAO;AACvC,WAAK,aAAa,KAAK,aAAc,CAAA;AACrC,YAAM,eAAc;AAAA,IACrB,GAHY;AAAA,IAIb,YAAY,gCAAS,WAAW,OAAO;AACrC,WAAK,kBAAiB;AACtB,YAAM,eAAc;AAAA,IACrB,GAHW;AAAA,IAIZ,aAAa,gCAAS,YAAY,YAAY;AAC5C,UAAI,YAAY,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI;AACpF,UAAI,UAAU,YAAY,aAAa,WAAW;AAClD,aAAO,UAAU,aAAa,SAAS,iBAAiB,KAAK,aAAa,SAAS,iBAAiB,MAAM,WAAW,KAAK,YAAY,OAAO,IAAI,WAAW,SAAS,sBAAsB,IAAI;AAAA,IAChM,GAJY;AAAA,IAKb,aAAa,gCAAS,YAAY,YAAY;AAC5C,UAAI,YAAY,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI;AACpF,UAAI,UAAU,YAAY,aAAa,WAAW;AAClD,aAAO,UAAU,aAAa,SAAS,iBAAiB,KAAK,aAAa,SAAS,iBAAiB,MAAM,WAAW,KAAK,YAAY,OAAO,IAAI,WAAW,SAAS,sBAAsB,IAAI;AAAA,IAChM,GAJY;AAAA,IAKb,cAAc,gCAAS,eAAe;AACpC,aAAO,KAAK,YAAY,KAAK,WAAW,MAAM,QAAQ,mBAAmB,IAAI;AAAA,IAC9E,GAFa;AAAA,IAGd,aAAa,gCAAS,cAAc;AAClC,aAAO,KAAK,YAAY,KAAK,WAAW,MAAM,QAAQ,kBAAkB,IAAI;AAAA,IAC7E,GAFY;AAAA,IAGb,mBAAmB,gCAAS,oBAAoB;AAC9C,WAAK,QAAQ,YAAY,KAAK,KAAK;AAAA,IACpC,GAFkB;AAAA,IAGnB,kBAAkB,gCAAS,iBAAiB,OAAO,SAAS;AAC1D,YAAM,OAAO;AACb,WAAK,aAAa,OAAO;AAAA,IAC1B,GAHiB;AAAA,IAIlB,cAAc,gCAAS,aAAa,SAAS;AAC3C,UAAI;AACJ,kBAAY,QAAQ,YAAY,WAAW,wBAAwB,QAAQ,oBAAoB,QAAQ,0BAA0B,UAAU,sBAAsB,KAAK,SAAS;AAAA,QAC7K,OAAO;AAAA,MACf,CAAO;AAAA,IACF,GALa;AAAA,EAMf;AAAA,EACD,UAAU;AAAA,IACR,QAAQ,gCAAS,SAAS;AACxB,UAAI;AACJ,aAAO,QAAQ,gBAAgB,KAAK,aAAa,QAAQ,kBAAkB,SAAS,SAAS,cAAc,SAAS,KAAK,KAAK;AAAA,IAC/H,GAHO;AAAA,IAIR,IAAI,gCAAS,KAAK;AAChB,UAAI;AACJ,aAAO,GAAG,QAAQ,iBAAiB,KAAK,aAAa,QAAQ,mBAAmB,SAAS,SAAS,eAAe,IAAI,OAAO,EAAE,OAAO,KAAK,KAAK;AAAA,IAChJ,GAHG;AAAA,IAIJ,cAAc,gCAAS,eAAe;AACpC,UAAI;AACJ,aAAO,GAAG,QAAQ,iBAAiB,KAAK,aAAa,QAAQ,mBAAmB,SAAS,SAAS,eAAe,IAAI,YAAY,EAAE,OAAO,KAAK,KAAK;AAAA,IACrJ,GAHa;AAAA,IAId,OAAO,gCAAS,QAAQ;AACtB,aAAO,WAAW,KAAK,SAAS,KAAK,WAAW,KAAK,KAAK,QAAQ,KAAK,QAAQ,CAAC;AAAA,IACjF,GAFM;AAAA,IAGP,SAAS,gCAAS,UAAU;AAC1B,aAAO,KAAK,OAAO,WAAW;AAAA,QAC5B,MAAM;AAAA,QACN,UAAU,KAAK;AAAA,MAChB,IAAG;AAAA,IACL,GALQ;AAAA,IAMT,WAAW,gCAAS,YAAY;AAC9B,aAAO;AAAA,QACL,IAAI,KAAK;AAAA,QACT,UAAU,KAAK,SAAS,KAAK,QAAQ,WAAW;AAAA,QAChD,MAAM;AAAA,QACN,iBAAiB,KAAK;AAAA,QACtB,iBAAiB,KAAK;AAAA,QACtB,gBAAgB;AAAA,QAChB,mBAAmB,KAAK;AAAA,QACxB,iBAAiB,KAAK;AAAA,QACtB,SAAS,KAAK;AAAA,QACd,WAAW,KAAK;AAAA,MACxB;AAAA,IACK,GAbU;AAAA,IAcX,UAAU,gCAAS,WAAW;AAC5B,aAAO;AAAA,QACL,SAAS;AAAA,UACP,QAAQ,KAAK;AAAA,QACd;AAAA,MACT;AAAA,IACK,GANS;AAAA,EAOX;AAAA,EACD,YAAY;AAAA,IACV,QAAQ;AAAA,EACT;AACH;AAEA,SAASI,SAAO,MAAM,QAAQ,QAAQ,QAAQ,OAAO,UAAU;AAC7D,MAAI,oBAAoB,iBAAiB,QAAQ;AACjD,SAAO,CAAC,KAAK,UAAU,gBAAgB,UAAS,GAAI,YAAY,wBAAwB,KAAK,EAAE,GAAG,WAAW;AAAA,IAC3G,KAAK;AAAA,IACL,SAAS,KAAK,GAAG,MAAM;AAAA,IACvB,SAAS,SAAS;AAAA,EACtB,GAAK,SAAS,KAAK,GAAG;AAAA,IAClB,WAAW,QAAQ,WAAY;AAC7B,aAAO,CAAC,WAAW,KAAK,QAAQ,SAAS,CAAC;AAAA,IAChD,CAAK;AAAA,IACD,GAAG;AAAA,EACJ,GAAE,IAAI,CAAC,SAAS,SAAS,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,WAAW,KAAK,QAAQ,WAAW;AAAA,IACzF,KAAK;AAAA,IACL,SAAS,eAAe,KAAK,GAAG,MAAM,CAAC;AAAA,IACvC,QAAQ,SAAS;AAAA,IACjB,WAAW,SAAS;AAAA,IACpB,SAAS,SAAS;AAAA,EACtB,CAAG;AACH;AAlBSA;AAoBTD,SAAO,SAASC;;;;;;;;;AC9JhB,UAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/CzB,IAAIN,UAAQ,gCAASA,OAAM,MAAM;AAC/B,MAAI,KAAK,KAAK;AACd,SAAO,sFAAsF,OAAO,GAAG,uBAAuB,GAAG,qBAAqB,EAAE,OAAO,GAAG,qBAAqB,GAAG,wBAAwB,EAAE,OAAO,GAAG,kBAAkB,GAAG,gBAAgB,EAAE,OAAO,GAAG,gBAAgB,GAAG,+OAA+O,EAAE,OAAO,GAAG,4BAA4B,GAAG,0DAA0D,EAAE,OAAO,GAAG,+BAA+B,GAAG,qBAAqB,EAAE,OAAO,GAAG,4BAA4B,GAAG,mCAAmC,EAAE,OAAO,GAAG,8BAA8B,GAAG,eAAe,EAAE,OAAO,GAAG,8BAA8B,GAAG,sGAAsG,EAAE,OAAO,GAAG,mCAAmC,GAAG,kBAAkB,EAAE,OAAO,GAAG,kCAAkC,GAAG,GAAG,EAAE,OAAO,GAAG,kCAAkC,GAAG,GAAG,EAAE,OAAO,GAAG,kCAAkC,GAAG,yBAAyB,EAAE,OAAO,GAAG,mCAAmC,GAAG,uSAAuS,EAAE,OAAO,GAAG,sBAAsB,GAAG,gHAAgH,EAAE,OAAO,GAAG,sBAAsB,GAAG,uXAAuX;AACxlE,GAHY;AAIZ,IAAIC,YAAU;AAAA,EACZ,MAAM,gCAASgB,MAAK,OAAO;AACzB,QAAI,QAAQ,MAAM;AAClB,WAAO,CAAC,0BAA0B,gBAAgB,MAAM,MAAM;AAAA,EAC/D,GAHK;AAAA,EAIN,QAAQ;AAAA,EACR,cAAc;AAChB;AACA,IAAIC,iBAAe;AAAA,EACjB,MAAM,gCAASD,MAAK,OAAO;AACzB,QAAI,QAAQ,MAAM;AAClB,WAAO,CAAC;AAAA,MACN,SAAS;AAAA,MACT,aAAa;AAAA,IACnB,GAAO,MAAM,WAAW,aAAa;AAAA,MAC/B,kBAAkB;AAAA,IACnB,IAAG,EAAE;AAAA,EACP,GARK;AASR;AACA,IAAI,gBAAgB,UAAU,OAAO;AAAA,EACnC,MAAM;AAAA,EACN,OAAOjB;AAAAA,EACP,SAASC;AAAAA,EACT,cAAciB;AAChB,CAAC;ACvBD,IAAIhB,aAAW;AAAA,EACb,MAAM;AAAA,EACN,WAAWM;AAAAA,EACX,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,YAAY;AAAA,MACV,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,EACF;AAAA,EACD,OAAO;AAAA,EACP,SAAS,gCAASJ,WAAU;AAC1B,WAAO;AAAA,MACL,aAAa;AAAA,MACb,iBAAiB;AAAA,IACvB;AAAA,EACG,GALQ;AAMX;AAEA,SAASe,qBAAmB,GAAG;AAAE,SAAOC,qBAAmB,CAAC,KAAKC,mBAAiB,CAAC,KAAKC,8BAA4B,CAAC,KAAKC,qBAAoB;AAAG;AAAxIJ;AACT,SAASI,uBAAqB;AAAE,QAAM,IAAI,UAAU,sIAAsI;AAAI;AAArLA;AACT,SAASD,8BAA4B,GAAG,GAAG;AAAE,MAAI,GAAG;AAAE,QAAI,YAAY,OAAO,EAAG,QAAOE,oBAAkB,GAAG,CAAC;AAAG,QAAI,IAAI,CAAA,EAAG,SAAS,KAAK,CAAC,EAAE,MAAM,GAAG,EAAE;AAAG,WAAO,aAAa,KAAK,EAAE,gBAAgB,IAAI,EAAE,YAAY,OAAO,UAAU,KAAK,UAAU,IAAI,MAAM,KAAK,CAAC,IAAI,gBAAgB,KAAK,2CAA2C,KAAK,CAAC,IAAIA,oBAAkB,GAAG,CAAC,IAAI;AAAA,EAAO;AAAI;AAAjXF;AACT,SAASD,mBAAiB,GAAG;AAAE,MAAI,eAAe,OAAO,UAAU,QAAQ,EAAE,OAAO,QAAQ,KAAK,QAAQ,EAAE,YAAY,EAAG,QAAO,MAAM,KAAK,CAAC;AAAI;AAAxIA;AACT,SAASD,qBAAmB,GAAG;AAAE,MAAI,MAAM,QAAQ,CAAC,EAAG,QAAOI,oBAAkB,CAAC;AAAI;AAA5EJ;AACT,SAASI,oBAAkB,GAAG,GAAG;AAAE,GAAC,QAAQ,KAAK,IAAI,EAAE,YAAY,IAAI,EAAE;AAAS,WAAS,IAAI,GAAG,IAAI,MAAM,CAAC,GAAG,IAAI,GAAG,IAAK,GAAE,CAAC,IAAI,EAAE,CAAC;AAAG,SAAO;AAAI;AAA3IA;AACT,IAAInB,WAAS;AAAA,EACX,MAAM;AAAA,EACN,WAAWH;AAAAA,EACX,cAAc;AAAA,EACd,OAAO,CAAC,eAAe,aAAa,QAAQ;AAAA,EAC5C,UAAU;AAAA,EACV,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,MAAM;AAAA,EACN,eAAe;AAAA,EACf,UAAU;AAAA,EACV,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,eAAe;AAAA,EACf,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,OAAO;AAAA,EACP,MAAM,gCAASuB,QAAO;AACpB,WAAO;AAAA,MACL,UAAU;AAAA,IAChB;AAAA,EACG,GAJK;AAAA,EAKN,SAAS,gCAASC,WAAU;AAC1B,SAAK,iBAAgB;AAAA,EACtB,GAFQ;AAAA,EAGT,eAAe,gCAASC,iBAAgB;AACtC,SAAK,MAAK;AACV,SAAK,qBAAoB;AAAA,EAC1B,GAHc;AAAA,EAIf,SAAS;AAAA,IACP,iBAAiB,gCAAS,gBAAgB,OAAO;AAC/C,aAAO,MAAM,KAAK,SAAS;AAAA,IAC5B,GAFgB;AAAA,IAGjB,kBAAkB,gCAAS,mBAAmB;AAC5C,UAAI,QAAQ;AACZ,UAAI,KAAK,UAAU,KAAK,OAAO,QAAQ;AACrC,YAAI,cAAc;AAClB,YAAI,KAAK,cAAc;AACrB,wBAAc,KAAK;QACpB;AACD,YAAI,CAAC,aAAa;AAChB,cAAI,WAAWR,qBAAmB,KAAK,IAAI,QAAQ,EAAE,OAAO,SAAU,OAAO;AAC3E,mBAAO,MAAM,aAAa,cAAc,MAAM;AAAA,UAC1D,CAAW;AACD,cAAI,cAAc,CAAA;AAClB,eAAK,OAAO,IAAI,SAAU,OAAO,GAAG;AAClC,gBAAI,mBAAmB,MAAM,SAAS,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO;AAC5E,gBAAI,YAAY,oBAAoB,MAAM,MAAM,OAAO;AACvD,wBAAY,CAAC,IAAI;AACjB,qBAAS,CAAC,EAAE,MAAM,YAAY,UAAU,YAAY,UAAU,MAAM,OAAO,SAAS,KAAK,MAAM,aAAa;AAAA,UACxH,CAAW;AACD,eAAK,aAAa;AAClB,eAAK,WAAW,WAAW,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC;AAAA,QACrD;AAAA,MACF;AAAA,IACF,GAtBiB;AAAA,IAuBlB,eAAe,gCAAS,cAAc,OAAO,OAAO,WAAW;AAC7D,WAAK,gBAAgB,MAAM,iBAAiB,MAAM,OAAO;AACzD,WAAK,OAAO,KAAK,aAAa,SAAS,KAAK,GAAG,IAAI,UAAU,KAAK,GAAG;AACrE,UAAI,CAAC,WAAW;AACd,aAAK,WAAW;AAChB,aAAK,WAAW,KAAK,WAAW,eAAe,MAAM,SAAS,MAAM,eAAe,CAAC,EAAE,QAAQ,MAAM,SAAS,MAAM,eAAe,CAAC,EAAE;AAAA,MACtI;AACD,WAAK,mBAAmB,KAAK,cAAc;AAC3C,WAAK,mBAAmB,KAAK,cAAc;AAC3C,UAAI,WAAW;AACb,aAAK,gBAAgB,KAAK,aAAa,cAAc,KAAK,kBAAkB,IAAI,IAAI,eAAe,KAAK,kBAAkB,IAAI;AAC9H,aAAK,gBAAgB,KAAK,aAAa,cAAc,KAAK,kBAAkB,IAAI,IAAI,eAAe,KAAK,kBAAkB,IAAI;AAAA,MACtI,OAAa;AACL,aAAK,gBAAgB,OAAO,KAAK,aAAa,cAAc,KAAK,kBAAkB,IAAI,IAAI,eAAe,KAAK,kBAAkB,IAAI,KAAK,KAAK;AAC/I,aAAK,gBAAgB,OAAO,KAAK,aAAa,cAAc,KAAK,kBAAkB,IAAI,IAAI,eAAe,KAAK,kBAAkB,IAAI,KAAK,KAAK;AAAA,MAChJ;AACD,WAAK,iBAAiB;AACtB,WAAK,MAAM,eAAe;AAAA,QACxB,eAAe;AAAA,QACf,OAAO,KAAK;AAAA,MACpB,CAAO;AACD,WAAK,MAAM,OAAO,KAAK,EAAE,aAAa,0BAA0B,IAAI;AACpE,WAAK,IAAI,aAAa,mBAAmB,IAAI;AAAA,IAC9C,GAvBc;AAAA,IAwBf,UAAU,gCAAS,SAAS,OAAO,MAAM,WAAW;AAClD,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,WAAW;AACb,YAAI,KAAK,YAAY;AACnB,6BAAmB,OAAO,KAAK,gBAAgB,QAAQ,KAAK;AAC5D,6BAAmB,OAAO,KAAK,gBAAgB,QAAQ,KAAK;AAAA,QACtE,OAAe;AACL,6BAAmB,OAAO,KAAK,gBAAgB,QAAQ,KAAK;AAC5D,6BAAmB,OAAO,KAAK,gBAAgB,QAAQ,KAAK;AAAA,QAC7D;AAAA,MACT,OAAa;AACL,YAAI,KAAK,WAAY,UAAS,MAAM,QAAQ,MAAM,KAAK,OAAO,KAAK,WAAW,MAAM,KAAK;AAAA,YAAU,UAAS,MAAM,QAAQ,MAAM,KAAK,OAAO,KAAK,WAAW,MAAM,KAAK;AACvK,2BAAmB,KAAK,gBAAgB;AACxC,2BAAmB,KAAK,gBAAgB;AAAA,MACzC;AACD,UAAI,KAAK,eAAe,kBAAkB,gBAAgB,GAAG;AAC3D,aAAK,iBAAiB,MAAM,YAAY,UAAU,mBAAmB,UAAU,KAAK,OAAO,SAAS,KAAK,KAAK,aAAa;AAC3H,aAAK,iBAAiB,MAAM,YAAY,UAAU,mBAAmB,UAAU,KAAK,OAAO,SAAS,KAAK,KAAK,aAAa;AAC3H,aAAK,WAAW,KAAK,cAAc,IAAI;AACvC,aAAK,WAAW,KAAK,iBAAiB,CAAC,IAAI;AAC3C,aAAK,WAAW,WAAW,gBAAgB,EAAE,QAAQ,CAAC;AAAA,MACvD;AACD,WAAK,MAAM,UAAU;AAAA,QACnB,eAAe;AAAA,QACf,OAAO,KAAK;AAAA,MACpB,CAAO;AAAA,IACF,GA1BS;AAAA,IA2BV,aAAa,gCAAS,YAAY,OAAO;AACvC,UAAI,KAAK,cAAc;AACrB,aAAK,UAAS;AAAA,MACf;AACD,WAAK,MAAM,aAAa;AAAA,QACtB,eAAe;AAAA,QACf,OAAO,KAAK;AAAA,MACpB,CAAO;AACD,WAAK,MAAM,OAAO,QAAQ,SAAU,QAAQ;AAC1C,eAAO,OAAO,aAAa,0BAA0B,KAAK;AAAA,MAClE,CAAO;AACD,WAAK,IAAI,aAAa,mBAAmB,KAAK;AAC9C,WAAK,MAAK;AAAA,IACX,GAbY;AAAA,IAcb,QAAQ,gCAAS,OAAO,OAAO,OAAO,MAAM;AAC1C,WAAK,cAAc,OAAO,OAAO,IAAI;AACrC,WAAK,SAAS,OAAO,MAAM,IAAI;AAAA,IAChC,GAHO;AAAA,IAIR,UAAU,gCAAS,SAAS,OAAO,OAAO,MAAM;AAC9C,UAAI,SAAS;AACb,UAAI,CAAC,KAAK,OAAO;AACf,aAAK,QAAQ,YAAY,WAAY;AACnC,iBAAO,OAAO,OAAO,OAAO,IAAI;AAAA,QACjC,GAAE,EAAE;AAAA,MACN;AAAA,IACF,GAPS;AAAA,IAQV,YAAY,gCAAS,aAAa;AAChC,UAAI,KAAK,OAAO;AACd,sBAAc,KAAK,KAAK;AACxB,aAAK,QAAQ;AAAA,MACd;AAAA,IACF,GALW;AAAA,IAMZ,eAAe,gCAAS,gBAAgB;AACtC,WAAK,WAAU;AACf,WAAK,YAAW;AAAA,IACjB,GAHc;AAAA,IAIf,iBAAiB,gCAAS,gBAAgB,OAAO,OAAO;AACtD,cAAQ,MAAM,MAAI;AAAA,QAChB,KAAK,aACH;AACE,cAAI,KAAK,WAAW,cAAc;AAChC,iBAAK,SAAS,OAAO,OAAO,KAAK,OAAO,EAAE;AAAA,UAC3C;AACD,gBAAM,eAAc;AACpB;AAAA,QACD;AAAA,QACH,KAAK,cACH;AACE,cAAI,KAAK,WAAW,cAAc;AAChC,iBAAK,SAAS,OAAO,OAAO,KAAK,IAAI;AAAA,UACtC;AACD,gBAAM,eAAc;AACpB;AAAA,QACD;AAAA,QACH,KAAK,aACH;AACE,cAAI,KAAK,WAAW,YAAY;AAC9B,iBAAK,SAAS,OAAO,OAAO,KAAK,OAAO,EAAE;AAAA,UAC3C;AACD,gBAAM,eAAc;AACpB;AAAA,QACD;AAAA,QACH,KAAK,WACH;AACE,cAAI,KAAK,WAAW,YAAY;AAC9B,iBAAK,SAAS,OAAO,OAAO,KAAK,IAAI;AAAA,UACtC;AACD,gBAAM,eAAc;AACpB;AAAA,QACD;AAAA,MACJ;AAAA,IACF,GAnCgB;AAAA,IAoCjB,mBAAmB,gCAAS,kBAAkB,OAAO,OAAO;AAC1D,WAAK,cAAc,OAAO,KAAK;AAC/B,WAAK,mBAAkB;AAAA,IACxB,GAHkB;AAAA,IAInB,oBAAoB,gCAAS,mBAAmB,OAAO,OAAO;AAC5D,WAAK,cAAc,OAAO,KAAK;AAC/B,WAAK,mBAAkB;AACvB,YAAM,eAAc;AAAA,IACrB,GAJmB;AAAA,IAKpB,mBAAmB,gCAAS,kBAAkB,OAAO;AACnD,WAAK,SAAS,KAAK;AACnB,YAAM,eAAc;AAAA,IACrB,GAHkB;AAAA,IAInB,kBAAkB,gCAAS,iBAAiB,OAAO;AACjD,WAAK,YAAY,KAAK;AACtB,WAAK,qBAAoB;AACzB,YAAM,eAAc;AAAA,IACrB,GAJiB;AAAA,IAKlB,oBAAoB,gCAAS,qBAAqB;AAChD,UAAI,SAAS;AACb,UAAI,CAAC,KAAK,mBAAmB;AAC3B,aAAK,oBAAoB,SAAU,OAAO;AACxC,iBAAO,OAAO,SAAS,KAAK;AAAA,QACtC;AACQ,iBAAS,iBAAiB,aAAa,KAAK,iBAAiB;AAAA,MAC9D;AACD,UAAI,CAAC,KAAK,iBAAiB;AACzB,aAAK,kBAAkB,SAAU,OAAO;AACtC,iBAAO,YAAY,KAAK;AACxB,iBAAO,qBAAoB;AAAA,QACrC;AACQ,iBAAS,iBAAiB,WAAW,KAAK,eAAe;AAAA,MAC1D;AAAA,IACF,GAfmB;AAAA,IAgBpB,oBAAoB,gCAAS,qBAAqB;AAChD,UAAI,SAAS;AACb,UAAI,CAAC,KAAK,mBAAmB;AAC3B,aAAK,oBAAoB,SAAU,OAAO;AACxC,iBAAO,OAAO,SAAS,MAAM,eAAe,CAAC,CAAC;AAAA,QACxD;AACQ,iBAAS,iBAAiB,aAAa,KAAK,iBAAiB;AAAA,MAC9D;AACD,UAAI,CAAC,KAAK,kBAAkB;AAC1B,aAAK,mBAAmB,SAAU,OAAO;AACvC,iBAAO,UAAU,KAAK;AACtB,iBAAO,qBAAoB;AAAA,QACrC;AACQ,iBAAS,iBAAiB,YAAY,KAAK,gBAAgB;AAAA,MAC5D;AAAA,IACF,GAfmB;AAAA,IAgBpB,gBAAgB,gCAAS,eAAe,kBAAkB,kBAAkB;AAC1E,UAAI,mBAAmB,OAAO,mBAAmB,EAAG,QAAO;AAC3D,UAAI,mBAAmB,OAAO,mBAAmB,EAAG,QAAO;AAC3D,UAAI,mBAAmB,aAAa,KAAK,OAAO,KAAK,cAAc,GAAG,SAAS;AAC/E,UAAI,KAAK,OAAO,KAAK,cAAc,EAAE,SAAS,oBAAoB,mBAAmB,kBAAkB;AACrG,eAAO;AAAA,MACR;AACD,UAAI,kBAAkB,aAAa,KAAK,OAAO,KAAK,iBAAiB,CAAC,GAAG,SAAS;AAClF,UAAI,KAAK,OAAO,KAAK,iBAAiB,CAAC,EAAE,SAAS,mBAAmB,kBAAkB,kBAAkB;AACvG,eAAO;AAAA,MACR;AACD,aAAO;AAAA,IACR,GAZe;AAAA,IAahB,sBAAsB,gCAAS,uBAAuB;AACpD,UAAI,KAAK,mBAAmB;AAC1B,iBAAS,oBAAoB,aAAa,KAAK,iBAAiB;AAChE,aAAK,oBAAoB;AAAA,MAC1B;AACD,UAAI,KAAK,iBAAiB;AACxB,iBAAS,oBAAoB,WAAW,KAAK,eAAe;AAC5D,aAAK,kBAAkB;AAAA,MACxB;AAAA,IACF,GATqB;AAAA,IAUtB,sBAAsB,gCAAS,uBAAuB;AACpD,UAAI,KAAK,mBAAmB;AAC1B,iBAAS,oBAAoB,aAAa,KAAK,iBAAiB;AAChE,aAAK,oBAAoB;AAAA,MAC1B;AACD,UAAI,KAAK,kBAAkB;AACzB,iBAAS,oBAAoB,YAAY,KAAK,gBAAgB;AAC9D,aAAK,mBAAmB;AAAA,MACzB;AAAA,IACF,GATqB;AAAA,IAUtB,OAAO,gCAAS,QAAQ;AACtB,WAAK,WAAW;AAChB,WAAK,OAAO;AACZ,WAAK,WAAW;AAChB,WAAK,mBAAmB;AACxB,WAAK,mBAAmB;AACxB,WAAK,gBAAgB;AACrB,WAAK,gBAAgB;AACrB,WAAK,gBAAgB;AACrB,WAAK,iBAAiB;AAAA,IACvB,GAVM;AAAA,IAWP,YAAY,gCAAS,aAAa;AAChC,aAAO,KAAK,YAAY;AAAA,IACzB,GAFW;AAAA,IAGZ,YAAY,gCAAS,aAAa;AAChC,cAAQ,KAAK,cAAY;AAAA,QACvB,KAAK;AACH,iBAAO,OAAO;AAAA,QAChB,KAAK;AACH,iBAAO,OAAO;AAAA,QAChB;AACE,gBAAM,IAAI,MAAM,KAAK,eAAe,0FAA0F;AAAA,MACjI;AAAA,IACF,GATW;AAAA,IAUZ,WAAW,gCAAS,YAAY;AAC9B,UAAI,QAAQ,KAAK,UAAU,GAAG;AAC5B,aAAK,WAAU,EAAG,QAAQ,KAAK,UAAU,KAAK,UAAU,KAAK,UAAU,CAAC;AAAA,MACzE;AAAA,IACF,GAJU;AAAA,IAKX,cAAc,gCAAS,eAAe;AACpC,UAAI,SAAS;AACb,UAAI,UAAU,KAAK;AACnB,UAAI,cAAc,QAAQ,QAAQ,KAAK,QAAQ;AAC/C,UAAI,aAAa;AACf,aAAK,aAAa,KAAK,MAAM,WAAW;AACxC,YAAI,WAAWA,qBAAmB,KAAK,IAAI,QAAQ,EAAE,OAAO,SAAU,OAAO;AAC3E,iBAAO,MAAM,aAAa,cAAc,MAAM;AAAA,QACxD,CAAS;AACD,iBAAS,QAAQ,SAAU,OAAO,GAAG;AACnC,gBAAM,MAAM,YAAY,UAAU,OAAO,WAAW,CAAC,IAAI,UAAU,OAAO,OAAO,SAAS,KAAK,OAAO,aAAa;AAAA,QAC7H,CAAS;AACD,eAAO;AAAA,MACR;AACD,aAAO;AAAA,IACR,GAfa;AAAA,IAgBd,YAAY,gCAAS,aAAa;AAChC,WAAK,iBAAgB;AAAA,IACtB,GAFW;AAAA,EAGb;AAAA,EACD,UAAU;AAAA,IACR,QAAQ,gCAAS,SAAS;AACxB,UAAI,SAAS;AACb,UAAIS,UAAS,CAAA;AACb,WAAK,OAAO,SAAS,EAAG,EAAC,QAAQ,SAAU,OAAO;AAChD,YAAI,OAAO,gBAAgB,KAAK,GAAG;AACjC,UAAAA,QAAO,KAAK,KAAK;AAAA,QAC3B,WAAmB,MAAM,oBAAoB,OAAO;AAC1C,gBAAM,SAAS,QAAQ,SAAU,aAAa;AAC5C,gBAAI,OAAO,gBAAgB,WAAW,GAAG;AACvC,cAAAA,QAAO,KAAK,WAAW;AAAA,YACxB;AAAA,UACb,CAAW;AAAA,QACF;AAAA,MACT,CAAO;AACD,aAAOA;AAAA,IACR,GAfO;AAAA,IAgBR,aAAa,gCAAS,cAAc;AAClC,UAAI,KAAK,WAAY,QAAO;AAAA,QAC1B,OAAO,KAAK,aAAa;AAAA,MAC1B;AAAA,UAAM,QAAO;AAAA,QACZ,QAAQ,KAAK,aAAa;AAAA,MAClC;AAAA,IACK,GANY;AAAA,IAOb,YAAY,gCAAS,aAAa;AAChC,aAAO,KAAK,WAAW;AAAA,IACxB,GAFW;AAAA,IAGZ,cAAc,gCAAS,eAAe;AACpC,UAAI;AACJ,aAAO;AAAA,QACL,SAAS;AAAA,UACP,SAAS,wBAAwB,KAAK,qBAAqB,QAAQ,0BAA0B,SAAS,SAAS,sBAAsB;AAAA,QACtI;AAAA,MACT;AAAA,IACK,GAPa;AAAA,EAQf;AACH;AAEA,IAAIf,eAAa,CAAC,eAAe,gBAAgB,eAAe,YAAY;AAC5E,IAAIC,eAAa,CAAC,oBAAoB,iBAAiB,WAAW;AAClE,SAASR,SAAO,MAAM,QAAQ,QAAQ,QAAQ,OAAO,UAAU;AAC7D,SAAO,UAAW,GAAE,mBAAmB,OAAO,WAAW;AAAA,IACvD,SAAS,KAAK,GAAG,MAAM;AAAA,IACvB,OAAO,KAAK,GAAG,MAAM;AAAA,IACrB,mBAAmB;AAAA,EACvB,GAAK,KAAK,KAAK,QAAQ,SAAS,YAAY,CAAC,GAAG,EAAE,UAAU,IAAI,GAAG,mBAAmB,UAAU,MAAM,WAAW,SAAS,QAAQ,SAAU,OAAO,GAAG;AAClJ,WAAO,UAAS,GAAI,mBAAmB,UAAU;AAAA,MAC/C,KAAK;AAAA,IACN,GAAE,EAAE,UAAW,GAAE,YAAY,wBAAwB,KAAK,GAAG;AAAA,MAC5D,UAAU;AAAA,IACX,CAAA,IAAI,MAAM,SAAS,OAAO,SAAS,KAAK,aAAa,mBAAmB,OAAO,WAAW;AAAA,MACzF,KAAK;AAAA,MACL,SAAS;AAAA,MACT,KAAK;AAAA,MACL,SAAS,KAAK,GAAG,QAAQ;AAAA,MACzB,MAAM;AAAA,MACN,UAAU;AAAA,MACV,aAAa,gCAAS,YAAY,QAAQ;AACxC,eAAO,SAAS,kBAAkB,QAAQ,CAAC;AAAA,MAC5C,GAFY;AAAA,MAGb,cAAc,gCAAS,aAAa,QAAQ;AAC1C,eAAO,SAAS,mBAAmB,QAAQ,CAAC;AAAA,MAC7C,GAFa;AAAA,MAGd,aAAa,gCAAS,YAAY,QAAQ;AACxC,eAAO,SAAS,kBAAkB,QAAQ,CAAC;AAAA,MAC5C,GAFY;AAAA,MAGb,YAAY,gCAAS,WAAW,QAAQ;AACtC,eAAO,SAAS,iBAAiB,QAAQ,CAAC;AAAA,MAC3C,GAFW;AAAA,MAGZ,0BAA0B;AAAA,IAChC,GAAO,KAAK,IAAI,QAAQ,CAAC,GAAG,CAACU,gBAAmB,OAAO,WAAW;AAAA,MAC5D,SAAS,KAAK,GAAG,cAAc;AAAA,MAC/B,UAAU;AAAA,MACV,OAAO,CAAC,SAAS,WAAW;AAAA,MAC5B,oBAAoB,KAAK;AAAA,MACzB,iBAAiB,MAAM;AAAA,MACvB,SAAS,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,WAAY;AAC7C,eAAO,SAAS,iBAAiB,SAAS,cAAc,MAAM,UAAU,SAAS;AAAA,MACzF;AAAA,MACM,WAAW,gCAASa,WAAU,QAAQ;AACpC,eAAO,SAAS,gBAAgB,QAAQ,CAAC;AAAA,MAC1C,GAFU;AAAA,MAGX,SAAS;AAAA,IACf,GAAO,KAAK,IAAI,cAAc,CAAC,GAAG,MAAM,IAAIf,YAAU,CAAC,GAAG,IAAID,YAAU,KAAK,mBAAmB,IAAI,IAAI,CAAC,GAAG,EAAE;AAAA,EAC3G,CAAA,GAAG,GAAG,KAAK,EAAE;AAChB;AA7CSP;AA+CTD,SAAO,SAASC;AC9bhB,IAAIL,YAAU;AAAA,EACZ,MAAM,gCAASgB,MAAK,MAAM;AACxB,QAAI,WAAW,KAAK;AACpB,WAAO,CAAC,mBAAmB;AAAA,MACzB,0BAA0B,SAAS;AAAA,IACzC,CAAK;AAAA,EACF,GALK;AAMR;AACA,IAAI,qBAAqB,UAAU,OAAO;AAAA,EACxC,MAAM;AAAA,EACN,SAAShB;AACX,CAAC;ACTD,IAAIC,aAAW;AAAA,EACb,MAAM;AAAA,EACN,WAAWM;AAAAA,EACX,OAAO;AAAA,IACL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,SAAS;AAAA,MACP,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,EACF;AAAA,EACD,OAAO;AAAA,EACP,SAAS,gCAASJ,WAAU;AAC1B,WAAO;AAAA,MACL,kBAAkB;AAAA,MAClB,iBAAiB;AAAA,IACvB;AAAA,EACG,GALQ;AAMX;AAEA,IAAIC,WAAS;AAAA,EACX,MAAM;AAAA,EACN,WAAWH;AAAAA,EACX,cAAc;AAAA,EACd,MAAM,gCAASuB,QAAO;AACpB,WAAO;AAAA,MACL,aAAa;AAAA,IACnB;AAAA,EACG,GAJK;AAAA,EAKN,UAAU;AAAA,IACR,UAAU,gCAAS,WAAW;AAC5B,UAAI,QAAQ;AACZ,aAAO,KAAK,OAAO,SAAS,EAAC,EAAG,KAAK,SAAU,OAAO;AACpD,cAAM,cAAc,MAAM,KAAK,SAAS,aAAa,OAAO;AAC5D,eAAO,MAAM;AAAA,MACrB,CAAO;AAAA,IACF,GANS;AAAA,IAOV,cAAc,gCAASK,gBAAe;AACpC,aAAO;AAAA,QACL,SAAS;AAAA,UACP,QAAQ,KAAK;AAAA,QACd;AAAA,MACT;AAAA,IACK,GANa;AAAA,EAOf;AACH;AAEA,SAASxB,SAAO,MAAM,QAAQ,QAAQ,QAAQ,OAAO,UAAU;AAC7D,SAAO,UAAW,GAAE,mBAAmB,OAAO,WAAW;AAAA,IACvD,KAAK;AAAA,IACL,SAAS,KAAK,GAAG,MAAM;AAAA,EACxB,GAAE,KAAK,KAAK,QAAQ,SAAS,YAAY,CAAC,GAAG,CAAC,WAAW,KAAK,QAAQ,SAAS,CAAC,GAAG,EAAE;AACxF;AALSA;AAOTD,SAAO,SAASC;;;;ACVhB,UAAM,eAAe;AACrB,UAAM,kBAAkB;AAAA,MAA2B,MACjD,aAAa,IAAI,wBAAwB;AAAA,IAAA;AAG3C,UAAM,sBAAsB;AAAA,MAC1B,MAAM,mBAAmB,EAAE,qBAAqB;AAAA,IAAA;AAElD,UAAM,qBAAqB;AAAA,MACzB,MAAM,oBAAsB,EAAA;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxD9B,IAAIN,UAAQ,gCAASA,OAAM,MAAM;AAC/B,MAAI,KAAK,KAAK;AACd,SAAO,+JAA+J,OAAO,GAAG,wBAAwB,GAAG,kGAAkG,EAAE,OAAO,GAAG,6BAA6B,GAAG,KAAK,EAAE,OAAO,GAAG,wBAAwB,GAAG,0kBAA0kB,EAAE,OAAO,GAAG,6BAA6B,GAAG,kCAAkC,EAAE,OAAO,GAAG,qCAAqC,GAAG,qCAAqC,EAAE,OAAO,GAAG,qCAAqC,GAAG,qBAAqB,EAAE,OAAO,GAAG,kCAAkC,GAAG,2BAA2B,EAAE,OAAO,GAAG,oCAAoC,GAAG,0CAA0C,EAAE,OAAO,GAAG,6BAA6B,GAAG,gCAAgC,EAAE,OAAO,GAAG,kCAAkC,GAAG,UAAU,EAAE,OAAO,GAAG,kCAAkC,GAAG,iBAAiB,EAAE,OAAO,GAAG,kCAAkC,GAAG,kBAAkB,EAAE,OAAO,GAAG,kCAAkC,GAAG,eAAe,EAAE,OAAO,GAAG,kCAAkC,GAAG,4GAA4G,EAAE,OAAO,GAAG,wCAAwC,GAAG,uBAAuB,EAAE,OAAO,GAAG,0CAA0C,GAAG,gBAAgB,EAAE,OAAO,GAAG,mCAAmC,GAAG,4EAA4E,EAAE,OAAO,GAAG,yCAAyC,GAAG,uBAAuB,EAAE,OAAO,GAAG,2CAA2C,GAAG,gBAAgB,EAAE,OAAO,GAAG,oCAAoC,GAAG,oEAAoE,EAAE,OAAO,GAAG,yCAAyC,GAAG,kBAAkB,EAAE,OAAO,GAAG,wCAAwC,GAAG,GAAG,EAAE,OAAO,GAAG,wCAAwC,GAAG,GAAG,EAAE,OAAO,GAAG,wCAAwC,GAAG,yBAAyB,EAAE,OAAO,GAAG,yCAAyC,GAAG,oMAAoM,EAAE,OAAO,GAAG,iCAAiC,GAAG,gBAAgB,EAAE,OAAO,GAAG,4BAA4B,GAAG,2BAA2B,EAAE,OAAO,GAAG,mCAAmC,GAAG,wBAAwB,EAAE,OAAO,GAAG,oCAAoC,GAAG,qBAAqB,EAAE,OAAO,GAAG,6BAA6B,GAAG,qNAAqN,EAAE,OAAO,GAAG,uBAAuB,GAAG,kBAAkB,EAAE,OAAO,GAAG,2BAA2B,GAAG,+LAA+L,EAAE,OAAO,GAAG,6BAA6B,GAAG,qCAAqC,EAAE,OAAO,GAAG,2BAA2B,GAAG,8DAA8D,EAAE,OAAO,GAAG,kCAAkC,GAAG,UAAU,EAAE,OAAO,GAAG,kCAAkC,GAAG,iBAAiB,EAAE,OAAO,GAAG,kCAAkC,GAAG,wBAAwB,EAAE,OAAO,GAAG,mCAAmC,GAAG,kHAAkH,EAAE,OAAO,GAAG,sCAAsC,GAAG,gBAAgB,EAAE,OAAO,GAAG,iCAAiC,GAAG,6DAA6D,EAAE,OAAO,GAAG,yCAAyC,GAAG,gBAAgB,EAAE,OAAO,GAAG,oCAAoC,GAAG,qEAAqE,EAAE,OAAO,GAAG,+CAA+C,GAAG,gBAAgB,EAAE,OAAO,GAAG,0CAA0C,GAAG,uEAAuE,EAAE,OAAO,GAAG,mCAAmC,GAAG,gBAAgB,EAAE,OAAO,GAAG,iCAAiC,GAAG,qBAAqB,EAAE,OAAO,GAAG,sCAAsC,GAAG,sBAAsB,EAAE,OAAO,GAAG,uCAAuC,GAAG,wNAAwN,EAAE,OAAO,GAAG,wBAAwB,GAAG,QAAQ,EAAE,OAAO,GAAG,wBAAwB,GAAG,mBAAmB,EAAE,OAAO,GAAG,wBAAwB,GAAG,qBAAqB,EAAE,OAAO,GAAG,oBAAoB,GAAG,qBAAqB,EAAE,OAAO,GAAG,yBAAyB,GAAG,2BAA2B,EAAE,OAAO,GAAG,2BAA2B,GAAG,wBAAwB,EAAE,OAAO,GAAG,4BAA4B,GAAG,kDAAkD,EAAE,OAAO,GAAG,kCAAkC,GAAG,UAAU,EAAE,OAAO,GAAG,kCAAkC,GAAG,iBAAiB,EAAE,OAAO,GAAG,kCAAkC,GAAG,kBAAkB,EAAE,OAAO,GAAG,kCAAkC,GAAG,eAAe,EAAE,OAAO,GAAG,kCAAkC,GAAG,sDAAsD,EAAE,OAAO,GAAG,qBAAqB,GAAG,qGAAqG,EAAE,OAAO,GAAG,iCAAiC,GAAG,uGAAuG,EAAE,OAAO,GAAG,iCAAiC,GAAG,qBAAqB,EAAE,OAAO,GAAG,gCAAgC,GAAG,kBAAkB,EAAE,OAAO,GAAG,+BAA+B,GAAG,GAAG,EAAE,OAAO,GAAG,+BAA+B,GAAG,GAAG,EAAE,OAAO,GAAG,+BAA+B,GAAG,yBAAyB,EAAE,OAAO,GAAG,gCAAgC,GAAG,wFAAwF,EAAE,OAAO,GAAG,mCAAmC,GAAG,6EAA6E,EAAE,OAAO,GAAG,gCAAgC,GAAG,oHAAoH,EAAE,OAAO,GAAG,sCAAsC,GAAG,uHAAuH,EAAE,OAAO,GAAG,sCAAsC,GAAG,wGAAwG,EAAE,OAAO,GAAG,kCAAkC,GAAG,gBAAgB,EAAE,OAAO,GAAG,6BAA6B,GAAG,+DAA+D,EAAE,OAAO,GAAG,wBAAwB,GAAG,mCAAmC,EAAE,OAAO,GAAG,wBAAwB,GAAG,6BAA6B,EAAE,OAAO,GAAG,iCAAiC,GAAG,6FAA6F,EAAE,OAAO,GAAG,wBAAwB,GAAG,kCAAkC,EAAE,OAAO,GAAG,wBAAwB,GAAG,yFAAyF,EAAE,OAAO,GAAG,kCAAkC,GAAG,gBAAgB,EAAE,OAAO,GAAG,6BAA6B,GAAG,8GAA8G,EAAE,OAAO,GAAG,wBAAwB,GAAG,mCAAmC,EAAE,OAAO,GAAG,wBAAwB,GAAG,yYAAyY,EAAE,OAAO,GAAG,gCAAgC,GAAG,wDAAwD,EAAE,OAAO,GAAG,oCAAoC,GAAG,4JAA4J;AACjgS,GAHY;AAIZ,IAAIkB,iBAAe;AAAA,EACjB,MAAM;AAAA,IACJ,UAAU;AAAA,EACX;AACH;AACA,IAAIjB,YAAU;AAAA,EACZ,MAAM,gCAASgB,MAAK,OAAO;AACzB,QAAI,WAAW,MAAM,UACnB,QAAQ,MAAM;AAChB,WAAO,CAAC,6CAA6C;AAAA,MACnD,cAAc,MAAM;AAAA,MACpB,aAAa,MAAM;AAAA,MACnB,WAAW,SAAS;AAAA,MACpB,yBAAyB,MAAM,cAAc,WAAW,SAAS,UAAU;AAAA,MAC3E,wBAAwB,SAAS;AAAA,MACjC,uBAAuB,SAAS;AAAA,MAChC,wBAAwB,SAAS;AAAA,IACvC,CAAK;AAAA,EACF,GAZK;AAAA,EAaN,aAAa;AAAA,EACb,eAAe,gCAAS,cAAc,OAAO;AAC3C,QAAI,QAAQ,MAAM,OAChB,WAAW,MAAM;AACnB,WAAO,CAAC,iCAAiC;AAAA,MACvC,oBAAoB,MAAM,UAAU,MAAM,YAAY,WAAW,SAAS,UAAU,OAAO,eAAe,YAAY,SAAS,UAAU,OAAO,iBAAiB;AAAA,IACvK,CAAK;AAAA,EACF,GANc;AAAA,EAOf,UAAU,gCAAS,SAAS,OAAO;AACjC,QAAI,WAAW,MAAM,UACnB,IAAI,MAAM;AACZ,WAAO,CAAC,4BAA4B;AAAA,MAClC,WAAW,SAAS,+BAA+B;AAAA,IACzD,CAAK;AAAA,EACF,GANS;AAAA,EAOV,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,SAAS;AAAA,EACT,eAAe;AAAA,EACf,MAAM;AAAA,EACN,aAAa;AAAA,EACb,QAAQ,gCAAS,OAAO,OAAO;AAC7B,QAAI,WAAW,MAAM,UACnB,UAAU,MAAM,QAChB,IAAI,MAAM,GACV,iBAAiB,MAAM;AACzB,WAAO,CAAC,yBAAyB;AAAA,MAC/B,kCAAkC,SAAS,WAAW,OAAO;AAAA,MAC7D,WAAW,SAAS,uBAAuB,SAAS,eAAe,GAAG,cAAc;AAAA,MACpF,cAAc,SAAS,iBAAiB,OAAO;AAAA,IACrD,CAAK;AAAA,EACF,GAVO;AAAA,EAWR,cAAc;AAChB;AACA,IAAI,oBAAoB,UAAU,OAAO;AAAA,EACvC,MAAM;AAAA,EACN,OAAOjB;AAAAA,EACP,SAASC;AAAAA,EACT,cAAciB;AAChB,CAAC;ACpDD,IAAIhB,aAAW;AAAA,EACb,MAAM;AAAA,EACN,WAAWM;AAAAA,EACX,OAAO;AAAA,IACL,YAAY;AAAA,IACZ,aAAa;AAAA,MACX,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,aAAa;AAAA,IACb,gBAAgB;AAAA,IAChB,kBAAkB;AAAA,IAClB,qBAAqB;AAAA,IACrB,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,SAAS;AAAA,MACP,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,SAAS;AAAA,MACP,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,SAAS;AAAA,MACP,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,aAAa;AAAA,MACX,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,SAAS;AAAA,MACP,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,OAAO;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,UAAU;AAAA,MACR,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,WAAW;AAAA,IACZ;AAAA,IACD,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,SAAS;AAAA,MACP,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,YAAY;AAAA,MACV,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,YAAY;AAAA,MACV,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,WAAW;AAAA,IACZ;AAAA,IACD,YAAY;AAAA,MACV,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,YAAY;AAAA,MACV,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,WAAW;AAAA,IACZ;AAAA,IACD,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,cAAc;AAAA,MACZ,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,WAAW;AAAA,IACZ;AAAA,IACD,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,eAAe;AAAA,MACb,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,WAAW;AAAA,IACZ;AAAA,IACD,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,aAAa;AAAA,MACX,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,wBAAwB;AAAA,MACtB,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,eAAe;AAAA,MACb,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,eAAe;AAAA,MACb,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,kBAAkB;AAAA,MAChB,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,uBAAuB;AAAA,MACrB,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,OAAO;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,EACF;AAAA,EACD,OAAO;AAAA,EACP,SAAS,gCAASJ,WAAU;AAC1B,WAAO;AAAA,MACL,iBAAiB;AAAA,MACjB,iBAAiB;AAAA,IACvB;AAAA,EACG,GALQ;AAMX;AAEA,SAAS2B,YAAU,GAAG;AAAE;AAA2B,SAAOA,cAAY,cAAc,OAAO,UAAU,YAAY,OAAO,OAAO,WAAW,SAAUC,IAAG;AAAE,WAAO,OAAOA;AAAA,MAAO,SAAUA,IAAG;AAAE,WAAOA,MAAK,cAAc,OAAO,UAAUA,GAAE,gBAAgB,UAAUA,OAAM,OAAO,YAAY,WAAW,OAAOA;AAAA,EAAE,GAAID,YAAU,CAAC;AAAI;AAA3TA;AACT,SAASZ,qBAAmB,GAAG;AAAE,SAAOC,qBAAmB,CAAC,KAAKC,mBAAiB,CAAC,KAAKC,8BAA4B,CAAC,KAAKC,qBAAoB;AAAG;AAAxIJ;AACT,SAASI,uBAAqB;AAAE,QAAM,IAAI,UAAU,sIAAsI;AAAI;AAArLA;AACT,SAASD,8BAA4B,GAAG,GAAG;AAAE,MAAI,GAAG;AAAE,QAAI,YAAY,OAAO,EAAG,QAAOE,oBAAkB,GAAG,CAAC;AAAG,QAAI,IAAI,CAAA,EAAG,SAAS,KAAK,CAAC,EAAE,MAAM,GAAG,EAAE;AAAG,WAAO,aAAa,KAAK,EAAE,gBAAgB,IAAI,EAAE,YAAY,OAAO,UAAU,KAAK,UAAU,IAAI,MAAM,KAAK,CAAC,IAAI,gBAAgB,KAAK,2CAA2C,KAAK,CAAC,IAAIA,oBAAkB,GAAG,CAAC,IAAI;AAAA,EAAO;AAAI;AAAjXF;AACT,SAASD,mBAAiB,GAAG;AAAE,MAAI,eAAe,OAAO,UAAU,QAAQ,EAAE,OAAO,QAAQ,KAAK,QAAQ,EAAE,YAAY,EAAG,QAAO,MAAM,KAAK,CAAC;AAAI;AAAxIA;AACT,SAASD,qBAAmB,GAAG;AAAE,MAAI,MAAM,QAAQ,CAAC,EAAG,QAAOI,oBAAkB,CAAC;AAAI;AAA5EJ;AACT,SAASI,oBAAkB,GAAG,GAAG;AAAE,GAAC,QAAQ,KAAK,IAAI,EAAE,YAAY,IAAI,EAAE;AAAS,WAAS,IAAI,GAAG,IAAI,MAAM,CAAC,GAAG,IAAI,GAAG,IAAK,GAAE,CAAC,IAAI,EAAE,CAAC;AAAG,SAAO;AAAI;AAA3IA;AACT,IAAInB,WAAS;AAAA,EACX,MAAM;AAAA,EACN,WAAWH;AAAAA,EACX,cAAc;AAAA,EACd,OAAO,CAAC,qBAAqB,UAAU,SAAS,QAAQ,eAAe,iBAAiB,iBAAiB,mBAAmB,kBAAkB,SAAS,YAAY,eAAe,eAAe,QAAQ,MAAM;AAAA,EAC/M,QAAQ;AAAA,IACN,UAAU;AAAA,MACR,WAAW;AAAA,IACZ;AAAA,EACF;AAAA,EACD,sBAAsB;AAAA,EACtB,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf,OAAO;AAAA,EACP,MAAM,gCAASuB,QAAO;AACpB,WAAO;AAAA,MACL,IAAI,KAAK,OAAO;AAAA,MAChB,SAAS;AAAA,MACT,SAAS;AAAA,MACT,oBAAoB;AAAA,MACpB,4BAA4B;AAAA,MAC5B,gBAAgB;AAAA,MAChB,WAAW;AAAA,IACjB;AAAA,EACG,GAVK;AAAA,EAWN,OAAO;AAAA,IACL,aAAa,gCAAS,SAAS,UAAU;AACvC,WAAK,KAAK,YAAY;IACvB,GAFY;AAAA,IAGb,aAAa,gCAAS,cAAc;AAClC,UAAI,KAAK,WAAW;AAClB,aAAK,KAAI;AACT,aAAK,qBAAqB,KAAK,kBAAkB,KAAK,kBAAkB,KAAK,gCAAgC;AAC7G,aAAK,YAAY;AAAA,MAClB;AACD,WAAK,gBAAe;AAAA,IACrB,GAPY;AAAA,EAQd;AAAA,EACD,SAAS,gCAASC,WAAU;AAC1B,SAAK,KAAK,KAAK,MAAM,kBAAiB;AACtC,SAAK,gBAAe;AAAA,EACrB,GAHQ;AAAA,EAIT,SAAS,gCAASO,WAAU;AAC1B,QAAI,KAAK,gBAAgB;AACvB,WAAK,aAAY;AAAA,IAClB;AAAA,EACF,GAJQ;AAAA,EAKT,eAAe,gCAASN,iBAAgB;AACtC,SAAK,2BAA0B;AAC/B,SAAK,qBAAoB;AACzB,QAAI,KAAK,eAAe;AACtB,WAAK,cAAc;AACnB,WAAK,gBAAgB;AAAA,IACtB;AACD,QAAI,KAAK,SAAS;AAChB,aAAO,MAAM,KAAK,OAAO;AACzB,WAAK,UAAU;AAAA,IAChB;AAAA,EACF,GAXc;AAAA,EAYf,SAAS;AAAA,IACP,gBAAgB,gCAAS,eAAe,OAAO,IAAI;AACjD,aAAO,KAAK,0BAA0B,QAAQ,MAAM,GAAG,KAAK,EAAE,OAAO;AAAA,IACtE,GAFe;AAAA,IAGhB,gBAAgB,gCAAS,eAAeO,SAAQ;AAC9C,aAAO,KAAK,cAAc,iBAAiBA,SAAQ,KAAK,WAAW,IAAIA;AAAA,IACxE,GAFe;AAAA,IAGhB,gBAAgB,gCAAS,eAAeA,SAAQ;AAC9C,aAAOA;AAAA,IACR,GAFe;AAAA,IAGhB,oBAAoB,gCAAS,mBAAmBA,SAAQ,OAAO;AAC7D,cAAQ,KAAK,UAAU,iBAAiBA,SAAQ,KAAK,OAAO,IAAI,KAAK,eAAeA,OAAM,KAAK,MAAM;AAAA,IACtG,GAFmB;AAAA,IAGpB,cAAc,gCAASJ,cAAaI,SAAQ,aAAa,OAAO,KAAK;AACnE,aAAO,KAAK,IAAI,KAAK;AAAA,QACnB,SAAS;AAAA,UACP,UAAU,KAAK,WAAWA,OAAM;AAAA,UAChC,SAAS,KAAK,uBAAuB,KAAK,eAAe,OAAO,WAAW;AAAA,UAC3E,UAAU,KAAK,iBAAiBA,OAAM;AAAA,QACvC;AAAA,MACT,CAAO;AAAA,IACF,GARa;AAAA,IASd,kBAAkB,gCAAS,iBAAiBA,SAAQ;AAClD,aAAO,KAAK,iBAAiB,iBAAiBA,SAAQ,KAAK,cAAc,IAAI;AAAA,IAC9E,GAFiB;AAAA,IAGlB,eAAe,gCAAS,cAAcA,SAAQ;AAC5C,aAAO,KAAK,oBAAoBA,QAAO,eAAeA,QAAO;AAAA,IAC9D,GAFc;AAAA,IAGf,qBAAqB,gCAAS,oBAAoB,aAAa;AAC7D,aAAO,iBAAiB,aAAa,KAAK,gBAAgB;AAAA,IAC3D,GAFoB;AAAA,IAGrB,wBAAwB,gCAAS,uBAAuB,aAAa;AACnE,aAAO,iBAAiB,aAAa,KAAK,mBAAmB;AAAA,IAC9D,GAFuB;AAAA,IAGxB,iBAAiB,gCAAS,gBAAgB,OAAO;AAC/C,UAAI,QAAQ;AACZ,cAAQ,KAAK,mBAAmB,QAAQ,KAAK,eAAe,MAAM,GAAG,KAAK,EAAE,OAAO,SAAUA,SAAQ;AACnG,eAAO,MAAM,cAAcA,OAAM;AAAA,MACzC,CAAO,EAAE,SAAS,SAAS;AAAA,IACtB,GALgB;AAAA,IAMjB,MAAM,gCAAS,KAAK,SAAS;AAC3B,WAAK,MAAM,aAAa;AACxB,WAAK,QAAQ;AACb,WAAK,iBAAiB;AACtB,WAAK,qBAAqB,KAAK,uBAAuB,KAAK,KAAK,qBAAqB,KAAK,kBAAkB,KAAK,4BAA6B,IAAG;AACjJ,iBAAW,MAAM,KAAK,WAAW,KAAK,MAAM,aAAa,KAAK,MAAM,WAAW,GAAG;AAAA,IACnF,GANK;AAAA,IAON,MAAM,gCAAS,KAAK,SAAS;AAC3B,UAAI,SAAS;AACb,UAAI,QAAQ,gCAASC,SAAQ;AAC3B,eAAO,MAAM,aAAa;AAC1B,eAAO,QAAQ;AACf,eAAO,iBAAiB;AACxB,eAAO,UAAU;AACjB,eAAO,qBAAqB;AAC5B,mBAAW,MAAM,OAAO,WAAW,OAAO,MAAM,aAAa,OAAO,MAAM,WAAW,GAAG;AAAA,MAChG,GAPkB;AAQZ,iBAAW,WAAY;AACrB;MACD,GAAE,CAAC;AAAA,IACL,GAbK;AAAA,IAcN,SAAS,gCAASC,SAAQ,OAAO;AAC/B,UAAI,KAAK,UAAU;AAEjB;AAAA,MACD;AACD,UAAI,CAAC,KAAK,SAAS,KAAK,iBAAiB;AACvC,aAAK,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO;AAAA,MAC/C;AACD,WAAK,QAAQ;AACb,WAAK,UAAU;AACf,UAAI,KAAK,gBAAgB;AACvB,aAAK,qBAAqB,KAAK,uBAAuB,KAAK,KAAK,qBAAqB,KAAK,kBAAkB,KAAK,kBAAkB,KAAK,4BAA2B,IAAK;AACxK,aAAK,aAAa,KAAK,kBAAkB;AAAA,MAC1C;AACD,WAAK,MAAM,SAAS,KAAK;AAAA,IAC1B,GAfQ;AAAA,IAgBT,QAAQ,gCAAS,OAAO,OAAO;AAC7B,WAAK,QAAQ;AACb,WAAK,UAAU;AACf,WAAK,qBAAqB;AAC1B,WAAK,MAAM,QAAQ,KAAK;AAAA,IACzB,GALO;AAAA,IAMR,WAAW,gCAAS,UAAU,OAAO;AACnC,UAAI,KAAK,UAAU;AACjB,cAAM,eAAc;AACpB;AAAA,MACD;AACD,cAAQ,MAAM,MAAI;AAAA,QAChB,KAAK;AACH,eAAK,eAAe,KAAK;AACzB;AAAA,QACF,KAAK;AACH,eAAK,aAAa,KAAK;AACvB;AAAA,QACF,KAAK;AACH,eAAK,eAAe,KAAK;AACzB;AAAA,QACF,KAAK;AACH,eAAK,gBAAgB,KAAK;AAC1B;AAAA,QACF,KAAK;AACH,eAAK,UAAU,KAAK;AACpB;AAAA,QACF,KAAK;AACH,eAAK,SAAS,KAAK;AACnB;AAAA,QACF,KAAK;AACH,eAAK,cAAc,KAAK;AACxB;AAAA,QACF,KAAK;AACH,eAAK,YAAY,KAAK;AACtB;AAAA,QACF,KAAK;AAAA,QACL,KAAK;AACH,eAAK,WAAW,KAAK;AACrB;AAAA,QACF,KAAK;AACH,eAAK,YAAY,KAAK;AACtB;AAAA,QACF,KAAK;AACH,eAAK,SAAS,KAAK;AACnB;AAAA,QACF,KAAK;AACH,eAAK,eAAe,KAAK;AACzB;AAAA,MACH;AACD,WAAK,UAAU;AAAA,IAChB,GA7CU;AAAA,IA8CX,SAAS,gCAAS,QAAQ,OAAO;AAC/B,UAAI,SAAS;AACb,UAAI,KAAK,WAAW;AAClB,YAAI,KAAK,eAAe;AACtB,uBAAa,KAAK,aAAa;AAAA,QAChC;AACD,YAAI,QAAQ,MAAM,OAAO;AACzB,YAAI,CAAC,KAAK,UAAU;AAClB,eAAK,YAAY,OAAO,KAAK;AAAA,QAC9B;AACD,YAAI,MAAM,WAAW,GAAG;AACtB,eAAK,KAAI;AACT,eAAK,MAAM,OAAO;AAAA,QAC5B,OAAe;AACL,cAAI,MAAM,UAAU,KAAK,WAAW;AAClC,iBAAK,qBAAqB;AAC1B,iBAAK,gBAAgB,WAAW,WAAY;AAC1C,qBAAO,OAAO,OAAO,OAAO,OAAO;AAAA,YACjD,GAAe,KAAK,KAAK;AAAA,UACzB,OAAiB;AACL,iBAAK,KAAI;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF,GAxBQ;AAAA,IAyBT,UAAU,gCAAS,SAAS,OAAO;AACjC,UAAI,SAAS;AACb,UAAI,KAAK,gBAAgB;AACvB,YAAI,QAAQ;AAGZ,YAAI,KAAK,kBAAkB,CAAC,KAAK,UAAU;AACzC,cAAI,QAAQ,KAAK,WAAW,KAAK,MAAM,WAAW,QAAQ,KAAK,MAAM,WAAW,IAAI;AACpF,cAAI,eAAe,KAAK,eAAe,KAAK,SAAUF,SAAQ;AAC5D,mBAAO,OAAO,gBAAgBA,SAAQ,SAAS,EAAE;AAAA,UAC7D,CAAW;AACD,cAAI,iBAAiB,QAAW;AAC9B,oBAAQ;AACR,aAAC,KAAK,WAAW,YAAY,KAAK,KAAK,eAAe,OAAO,YAAY;AAAA,UAC1E;AAAA,QACF;AACD,YAAI,CAAC,OAAO;AACV,cAAI,KAAK,SAAU,MAAK,MAAM,WAAW,QAAQ;AAAA,cAAQ,MAAK,MAAM,WAAW,IAAI,QAAQ;AAC3F,eAAK,MAAM,OAAO;AAClB,WAAC,KAAK,YAAY,KAAK,YAAY,OAAO,IAAI;AAAA,QAC/C;AAAA,MACF;AAAA,IACF,GAtBS;AAAA,IAuBV,0BAA0B,gCAAS,2BAA2B;AAC5D,UAAI,KAAK,UAAU;AAEjB;AAAA,MACD;AACD,WAAK,UAAU;AAAA,IAChB,GANyB;AAAA,IAO1B,yBAAyB,gCAAS,0BAA0B;AAC1D,WAAK,6BAA6B;AAClC,WAAK,UAAU;AAAA,IAChB,GAHwB;AAAA,IAIzB,4BAA4B,gCAAS,2BAA2B,OAAO;AACrE,UAAI,KAAK,UAAU;AACjB,cAAM,eAAc;AACpB;AAAA,MACD;AACD,cAAQ,MAAM,MAAI;AAAA,QAChB,KAAK;AACH,eAAK,yBAAyB,KAAK;AACnC;AAAA,QACF,KAAK;AACH,eAAK,0BAA0B,KAAK;AACpC;AAAA,QACF,KAAK;AACH,eAAK,yBAAyB,KAAK;AACnC;AAAA,MACH;AAAA,IACF,GAhB2B;AAAA,IAiB5B,kBAAkB,gCAAS,iBAAiB,OAAO;AACjD,WAAK,UAAU;AACf,UAAI,KAAK,YAAY,KAAK,aAAa,KAAK,WAAW,KAAK,kBAAkB,KAAK,GAAG;AACpF;AAAA,MACD;AACD,UAAI,CAAC,KAAK,WAAW,CAAC,KAAK,QAAQ,SAAS,MAAM,MAAM,GAAG;AACzD,cAAM,KAAK,WAAW,KAAK,MAAM,aAAa,KAAK,MAAM,WAAW,GAAG;AAAA,MACxE;AAAA,IACF,GARiB;AAAA,IASlB,iBAAiB,gCAAS,gBAAgB,OAAO;AAC/C,UAAI,QAAQ;AACZ,UAAI,KAAK,gBAAgB;AACvB,aAAK,KAAK,IAAI;AAAA,MACtB,OAAa;AACL,YAAI,SAAS,KAAK,WAAW,KAAK,MAAM,aAAa,KAAK,MAAM,WAAW;AAC3E,cAAM,MAAM;AACZ,gBAAQ,OAAO;AACf,YAAI,KAAK,iBAAiB,QAAS,MAAK,OAAO,OAAO,IAAI,UAAU;AAAA,iBAAW,KAAK,iBAAiB,UAAW,MAAK,OAAO,OAAO,OAAO,UAAU;AAAA,MACrJ;AACD,WAAK,MAAM,kBAAkB;AAAA,QAC3B,eAAe;AAAA,QACf;AAAA,MACR,CAAO;AAAA,IACF,GAdgB;AAAA,IAejB,gBAAgB,gCAAS,eAAe,OAAOA,SAAQ;AACrD,UAAI,SAAS,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI;AACjF,UAAI,QAAQ,KAAK,eAAeA,OAAM;AACtC,UAAI,KAAK,UAAU;AACjB,aAAK,MAAM,WAAW,QAAQ;AAC9B,YAAI,CAAC,KAAK,WAAWA,OAAM,GAAG;AAC5B,eAAK,YAAY,OAAO,CAAE,EAAC,OAAOf,qBAAmB,KAAK,cAAc,CAAA,CAAE,GAAG,CAAC,KAAK,CAAC,CAAC;AAAA,QACtF;AAAA,MACT,OAAa;AACL,aAAK,YAAY,OAAO,KAAK;AAAA,MAC9B;AACD,WAAK,MAAM,eAAe;AAAA,QACxB,eAAe;AAAA,QACf,OAAOe;AAAA,MACf,CAAO;AACD,WAAK,MAAM,iBAAiB;AAAA,QAC1B,eAAe;AAAA,QACf,OAAOA;AAAA,MACf,CAAO;AACD,gBAAU,KAAK,KAAK,IAAI;AAAA,IACzB,GApBe;AAAA,IAqBhB,mBAAmB,gCAAS,kBAAkB,OAAO,OAAO;AAC1D,UAAI,KAAK,cAAc;AACrB,aAAK,yBAAyB,OAAO,KAAK;AAAA,MAC3C;AAAA,IACF,GAJkB;AAAA,IAKnB,gBAAgB,gCAAS,eAAe,OAAO;AAC7C,sBAAgB,KAAK,iBAAiB;AAAA,QACpC,eAAe;AAAA,QACf,QAAQ,KAAK;AAAA,MACrB,CAAO;AAAA,IACF,GALe;AAAA,IAMhB,kBAAkB,gCAAS,iBAAiB,OAAO;AACjD,cAAQ,MAAM,MAAI;AAAA,QAChB,KAAK;AACH,eAAK,YAAY,KAAK;AACtB;AAAA,MACH;AAAA,IACF,GANiB;AAAA,IAOlB,gBAAgB,gCAAS,eAAe,OAAO;AAC7C,UAAI,CAAC,KAAK,gBAAgB;AACxB;AAAA,MACD;AACD,UAAI,cAAc,KAAK,uBAAuB,KAAK,KAAK,oBAAoB,KAAK,kBAAkB,IAAI,KAAK,UAAU,KAAK,qBAAoB,IAAK,KAAK;AACzJ,WAAK,yBAAyB,OAAO,WAAW;AAChD,YAAM,eAAc;AAAA,IACrB,GAPe;AAAA,IAQhB,cAAc,gCAAS,aAAa,OAAO;AACzC,UAAI,CAAC,KAAK,gBAAgB;AACxB;AAAA,MACD;AACD,UAAI,MAAM,QAAQ;AAChB,YAAI,KAAK,uBAAuB,IAAI;AAClC,eAAK,eAAe,OAAO,KAAK,eAAe,KAAK,kBAAkB,CAAC;AAAA,QACxE;AACD,aAAK,kBAAkB,KAAK;AAC5B,cAAM,eAAc;AAAA,MAC5B,OAAa;AACL,YAAI,cAAc,KAAK,uBAAuB,KAAK,KAAK,oBAAoB,KAAK,kBAAkB,IAAI,KAAK,UAAU,KAAK,oBAAmB,IAAK,KAAK;AACxJ,aAAK,yBAAyB,OAAO,WAAW;AAChD,cAAM,eAAc;AAAA,MACrB;AAAA,IACF,GAfa;AAAA,IAgBd,gBAAgB,gCAASG,gBAAe,OAAO;AAC7C,UAAI,SAAS,MAAM;AACnB,WAAK,qBAAqB;AAC1B,UAAI,KAAK,UAAU;AACjB,YAAI,QAAQ,OAAO,KAAK,KAAK,KAAK,mBAAmB;AACnD,gBAAM,KAAK,MAAM,cAAc;AAC/B,eAAK,6BAA6B,KAAK,WAAW;AAAA,QAC5D,OAAe;AACL,gBAAM,gBAAe;AAAA,QACtB;AAAA,MACF;AAAA,IACF,GAXe;AAAA,IAYhB,iBAAiB,gCAASC,iBAAgB,OAAO;AAC/C,WAAK,qBAAqB;AAC1B,WAAK,YAAY,MAAM;IACxB,GAHgB;AAAA,IAIjB,WAAW,gCAASC,WAAU,OAAO;AACnC,UAAI,gBAAgB,MAAM;AAC1B,UAAI,MAAM,cAAc,MAAM;AAC9B,oBAAc,kBAAkB,GAAG,MAAM,WAAW,MAAM,CAAC;AAC3D,WAAK,qBAAqB;AAC1B,YAAM,eAAc;AAAA,IACrB,GANU;AAAA,IAOX,UAAU,gCAASC,UAAS,OAAO;AACjC,UAAI,gBAAgB,MAAM;AAC1B,UAAI,MAAM,cAAc,MAAM;AAC9B,oBAAc,kBAAkB,MAAM,WAAW,IAAI,KAAK,GAAG;AAC7D,WAAK,qBAAqB;AAC1B,YAAM,eAAc;AAAA,IACrB,GANS;AAAA,IAOV,aAAa,gCAASC,aAAY,OAAO;AACvC,WAAK,aAAa,CAAC;AACnB,YAAM,eAAc;AAAA,IACrB,GAHY;AAAA,IAIb,eAAe,gCAASC,eAAc,OAAO;AAC3C,WAAK,aAAa,KAAK,eAAe,SAAS,CAAC;AAChD,YAAM,eAAc;AAAA,IACrB,GAHc;AAAA,IAIf,YAAY,gCAASC,YAAW,OAAO;AACrC,UAAI,CAAC,KAAK,WAAW;AACnB,YAAI,KAAK,UAAU;AACjB,eAAK,YAAY,OAAO,CAAE,EAAC,OAAOxB,qBAAmB,KAAK,cAAc,CAAE,CAAA,GAAG,CAAC,MAAM,OAAO,KAAK,CAAC,CAAC;AAClG,eAAK,MAAM,WAAW,QAAQ;AAAA,QAC/B;AAAA,MACT,OAAa;AACL,YAAI,CAAC,KAAK,gBAAgB;AACxB,eAAK,qBAAqB;AAC1B,eAAK,eAAe,KAAK;AAAA,QACnC,OAAe;AACL,cAAI,KAAK,uBAAuB,IAAI;AAClC,iBAAK,eAAe,OAAO,KAAK,eAAe,KAAK,kBAAkB,CAAC;AAAA,UACxE;AACD,eAAK,KAAI;AAAA,QACV;AAAA,MACF;AAAA,IACF,GAjBW;AAAA,IAkBZ,aAAa,gCAAS,YAAY,OAAO;AACvC,WAAK,kBAAkB,KAAK,KAAK,IAAI;AACrC,YAAM,eAAc;AAAA,IACrB,GAHY;AAAA,IAIb,UAAU,gCAAS,SAAS,OAAO;AACjC,UAAI,KAAK,uBAAuB,IAAI;AAClC,aAAK,eAAe,OAAO,KAAK,eAAe,KAAK,kBAAkB,CAAC;AAAA,MACxE;AACD,WAAK,kBAAkB,KAAK;IAC7B,GALS;AAAA,IAMV,gBAAgB,gCAAS,eAAe,OAAO;AAC7C,UAAI,KAAK,UAAU;AACjB,YAAI,WAAW,KAAK,UAAU,KAAK,CAAC,KAAK,MAAM,WAAW,OAAO;AAC/D,cAAI,eAAe,KAAK,WAAW,KAAK,WAAW,SAAS,CAAC;AAC7D,cAAI,WAAW,KAAK,WAAW,MAAM,GAAG,EAAE;AAC1C,eAAK,MAAM,qBAAqB,QAAQ;AACxC,eAAK,MAAM,iBAAiB;AAAA,YAC1B,eAAe;AAAA,YACf,OAAO;AAAA,UACnB,CAAW;AACD,eAAK,MAAM,mBAAmB;AAAA,YAC5B,eAAe;AAAA,YACf,OAAO;AAAA,UACnB,CAAW;AAAA,QACF;AACD,cAAM,gBAAe;AAAA,MACtB;AAAA,IACF,GAjBe;AAAA,IAkBhB,0BAA0B,gCAAS,2BAA2B;AAC5D,WAAK,6BAA6B,KAAK,6BAA6B,IAAI,IAAI,KAAK,6BAA6B;AAAA,IAC/G,GAFyB;AAAA,IAG1B,2BAA2B,gCAAS,4BAA4B;AAC9D,WAAK;AACL,UAAI,KAAK,6BAA6B,KAAK,WAAW,SAAS,GAAG;AAChE,aAAK,6BAA6B;AAClC,cAAM,KAAK,MAAM,UAAU;AAAA,MAC5B;AAAA,IACF,GAN0B;AAAA,IAO3B,0BAA0B,gCAAS,yBAAyB,OAAO;AACjE,UAAI,KAAK,+BAA+B,IAAI;AAC1C,aAAK,aAAa,OAAO,KAAK,0BAA0B;AAAA,MACzD;AAAA,IACF,GAJyB;AAAA,IAK1B,gBAAgB,gCAAS,eAAe,IAAI;AAC1C,aAAO,IAAI,WAAW,IAAI,KAAK,UAAU,OAAO,OAAO,OAAO;AAC9D,eAAS,IAAI;AAAA,QACX,UAAU;AAAA,QACV,KAAK;AAAA,QACL,MAAM;AAAA,MACd,CAAO;AACD,WAAK,aAAY;AAAA,IAClB,GARe;AAAA,IAShB,qBAAqB,gCAAS,sBAAsB;AAClD,WAAK,yBAAwB;AAC7B,WAAK,mBAAkB;AACvB,WAAK,mBAAkB;AACvB,WAAK,MAAM,MAAM;AAAA,IAClB,GALoB;AAAA,IAMrB,gBAAgB,gCAAS,iBAAiB;AACxC,WAAK,2BAA0B;AAC/B,WAAK,qBAAoB;AACzB,WAAK,qBAAoB;AACzB,WAAK,MAAM,MAAM;AACjB,WAAK,UAAU;AAAA,IAChB,GANe;AAAA,IAOhB,qBAAqB,gCAAS,oBAAoB,IAAI;AACpD,aAAO,MAAM,EAAE;AAAA,IAChB,GAFoB;AAAA,IAGrB,cAAc,gCAAS,eAAe;AACpC,UAAI,SAAS,KAAK,WAAW,KAAK,MAAM,iBAAiB,KAAK,MAAM,WAAW;AAC/E,UAAI,KAAK,aAAa,QAAQ;AAC5B,yBAAiB,KAAK,SAAS,MAAM;AAAA,MAC7C,OAAa;AACL,aAAK,QAAQ,MAAM,WAAW,cAAc,MAAM,IAAI;AACtD,yBAAiB,KAAK,SAAS,MAAM;AAAA,MACtC;AAAA,IACF,GARa;AAAA,IASd,0BAA0B,gCAAS,2BAA2B;AAC5D,UAAI,SAAS;AACb,UAAI,CAAC,KAAK,sBAAsB;AAC9B,aAAK,uBAAuB,SAAU,OAAO;AAC3C,cAAI,OAAO,kBAAkB,OAAO,WAAW,OAAO,iBAAiB,KAAK,GAAG;AAC7E,mBAAO,KAAI;AAAA,UACZ;AAAA,QACX;AACQ,iBAAS,iBAAiB,SAAS,KAAK,oBAAoB;AAAA,MAC7D;AAAA,IACF,GAVyB;AAAA,IAW1B,4BAA4B,gCAAS,6BAA6B;AAChE,UAAI,KAAK,sBAAsB;AAC7B,iBAAS,oBAAoB,SAAS,KAAK,oBAAoB;AAC/D,aAAK,uBAAuB;AAAA,MAC7B;AAAA,IACF,GAL2B;AAAA,IAM5B,oBAAoB,gCAAS,qBAAqB;AAChD,UAAI,SAAS;AACb,UAAI,CAAC,KAAK,eAAe;AACvB,aAAK,gBAAgB,IAAI,8BAA8B,KAAK,MAAM,WAAW,WAAY;AACvF,cAAI,OAAO,gBAAgB;AACzB,mBAAO,KAAI;AAAA,UACZ;AAAA,QACX,CAAS;AAAA,MACF;AACD,WAAK,cAAc;IACpB,GAVmB;AAAA,IAWpB,sBAAsB,gCAAS,uBAAuB;AACpD,UAAI,KAAK,eAAe;AACtB,aAAK,cAAc;MACpB;AAAA,IACF,GAJqB;AAAA,IAKtB,oBAAoB,gCAAS,qBAAqB;AAChD,UAAI,SAAS;AACb,UAAI,CAAC,KAAK,gBAAgB;AACxB,aAAK,iBAAiB,WAAY;AAChC,cAAI,OAAO,kBAAkB,CAAC,iBAAiB;AAC7C,mBAAO,KAAI;AAAA,UACZ;AAAA,QACX;AACQ,eAAO,iBAAiB,UAAU,KAAK,cAAc;AAAA,MACtD;AAAA,IACF,GAVmB;AAAA,IAWpB,sBAAsB,gCAAS,uBAAuB;AACpD,UAAI,KAAK,gBAAgB;AACvB,eAAO,oBAAoB,UAAU,KAAK,cAAc;AACxD,aAAK,iBAAiB;AAAA,MACvB;AAAA,IACF,GALqB;AAAA,IAMtB,kBAAkB,gCAAS,iBAAiB,OAAO;AACjD,aAAO,CAAC,KAAK,QAAQ,SAAS,MAAM,MAAM,KAAK,CAAC,KAAK,eAAe,KAAK,KAAK,CAAC,KAAK,kBAAkB,KAAK;AAAA,IAC5G,GAFiB;AAAA,IAGlB,gBAAgB,gCAAS,eAAe,OAAO;AAC7C,UAAI,KAAK,SAAU,QAAO,MAAM,WAAW,KAAK,MAAM,kBAAkB,KAAK,MAAM,eAAe,SAAS,MAAM,MAAM;AAAA,UAAO,QAAO,MAAM,WAAW,KAAK,MAAM,WAAW;AAAA,IAC7K,GAFe;AAAA,IAGhB,mBAAmB,gCAAS,kBAAkB,OAAO;AACnD,aAAO,KAAK,MAAM,iBAAiB,MAAM,WAAW,KAAK,MAAM,kBAAkB,KAAK,MAAM,eAAe,SAAS,MAAM,MAAM,IAAI;AAAA,IACrI,GAFkB;AAAA,IAGnB,iBAAiB,gCAAS,gBAAgBe,SAAQ,OAAO;AACvD,UAAI;AACJ,aAAO,KAAK,cAAcA,OAAM,OAAO,uBAAuB,KAAK,eAAeA,OAAM,OAAO,QAAQ,yBAAyB,SAAS,SAAS,qBAAqB,kBAAkB,KAAK,YAAY,OAAO,MAAM,kBAAkB,KAAK,YAAY;AAAA,IAC3P,GAHgB;AAAA,IAIjB,eAAe,gCAAS,cAAcA,SAAQ;AAC5C,aAAO,WAAWA,OAAM,KAAK,EAAE,KAAK,iBAAiBA,OAAM,KAAK,KAAK,cAAcA,OAAM;AAAA,IAC1F,GAFc;AAAA,IAGf,uBAAuB,gCAAS,sBAAsBA,SAAQ;AAC5D,aAAO,KAAK,cAAcA,OAAM,KAAK,KAAK,WAAWA,OAAM;AAAA,IAC5D,GAFsB;AAAA,IAGvB,UAAU,gCAAS,SAAS,QAAQ,QAAQ;AAC1C,aAAO,OAAO,QAAQ,QAAQ,KAAK,WAAW;AAAA,IAC/C,GAFS;AAAA,IAGV,YAAY,gCAAS,WAAWA,SAAQ;AACtC,UAAI,SAAS;AACb,UAAI,cAAc,KAAK,eAAeA,OAAM;AAC5C,aAAO,KAAK,YAAY,KAAK,cAAc,IAAI,KAAK,SAAU,OAAO;AACnE,eAAO,OAAO,SAAS,OAAO,WAAW;AAAA,MACjD,CAAO,IAAI,KAAK,SAAS,KAAK,YAAY,KAAK,eAAeA,OAAM,CAAC;AAAA,IAChE,GANW;AAAA,IAOZ,sBAAsB,gCAAS,uBAAuB;AACpD,UAAI,SAAS;AACb,aAAO,KAAK,eAAe,UAAU,SAAUA,SAAQ;AACrD,eAAO,OAAO,cAAcA,OAAM;AAAA,MAC1C,CAAO;AAAA,IACF,GALqB;AAAA,IAMtB,qBAAqB,gCAAS,sBAAsB;AAClD,UAAI,UAAU;AACd,aAAO,cAAc,KAAK,gBAAgB,SAAUA,SAAQ;AAC1D,eAAO,QAAQ,cAAcA,OAAM;AAAA,MAC3C,CAAO;AAAA,IACF,GALoB;AAAA,IAMrB,qBAAqB,gCAAS,oBAAoB,OAAO;AACvD,UAAI,UAAU;AACd,UAAI,qBAAqB,QAAQ,KAAK,eAAe,SAAS,IAAI,KAAK,eAAe,MAAM,QAAQ,CAAC,EAAE,UAAU,SAAUA,SAAQ;AACjI,eAAO,QAAQ,cAAcA,OAAM;AAAA,MAC3C,CAAO,IAAI;AACL,aAAO,qBAAqB,KAAK,qBAAqB,QAAQ,IAAI;AAAA,IACnE,GANoB;AAAA,IAOrB,qBAAqB,gCAAS,oBAAoB,OAAO;AACvD,UAAI,UAAU;AACd,UAAI,qBAAqB,QAAQ,IAAI,cAAc,KAAK,eAAe,MAAM,GAAG,KAAK,GAAG,SAAUA,SAAQ;AACxG,eAAO,QAAQ,cAAcA,OAAM;AAAA,MAC3C,CAAO,IAAI;AACL,aAAO,qBAAqB,KAAK,qBAAqB;AAAA,IACvD,GANoB;AAAA,IAOrB,yBAAyB,gCAAS,0BAA0B;AAC1D,UAAI,UAAU;AACd,aAAO,KAAK,oBAAoB,KAAK,eAAe,UAAU,SAAUA,SAAQ;AAC9E,eAAO,QAAQ,sBAAsBA,OAAM;AAAA,MACnD,CAAO,IAAI;AAAA,IACN,GALwB;AAAA,IAMzB,6BAA6B,gCAAS,8BAA8B;AAClE,UAAI,gBAAgB,KAAK;AACzB,aAAO,gBAAgB,IAAI,KAAK,qBAAoB,IAAK;AAAA,IAC1D,GAH4B;AAAA,IAI7B,4BAA4B,gCAAS,6BAA6B;AAChE,UAAI,gBAAgB,KAAK;AACzB,aAAO,gBAAgB,IAAI,KAAK,oBAAmB,IAAK;AAAA,IACzD,GAH2B;AAAA,IAI5B,QAAQ,gCAAS,OAAO,OAAO,OAAO,QAAQ;AAE5C,UAAI,UAAU,UAAa,UAAU,MAAM;AACzC;AAAA,MACD;AAGD,UAAI,WAAW,WAAW,MAAM,KAAM,EAAC,WAAW,GAAG;AACnD;AAAA,MACD;AACD,WAAK,YAAY;AACjB,WAAK,MAAM,YAAY;AAAA,QACrB,eAAe;AAAA,QACf;AAAA,MACR,CAAO;AAAA,IACF,GAfO;AAAA,IAgBR,cAAc,gCAAS,aAAa,OAAO,OAAO;AAChD,UAAI,UAAU;AACd,UAAI,gBAAgB,KAAK,WAAW,KAAK;AACzC,UAAI,QAAQ,KAAK,WAAW,OAAO,SAAUU,IAAG,GAAG;AACjD,eAAO,MAAM;AAAA,MACrB,CAAO,EAAE,IAAI,SAAUV,SAAQ;AACvB,eAAO,QAAQ,eAAeA,OAAM;AAAA,MAC5C,CAAO;AACD,WAAK,YAAY,OAAO,KAAK;AAC7B,WAAK,MAAM,iBAAiB;AAAA,QAC1B,eAAe;AAAA,QACf,OAAO;AAAA,MACf,CAAO;AACD,WAAK,MAAM,mBAAmB;AAAA,QAC5B,eAAe;AAAA,QACf,OAAO;AAAA,MACf,CAAO;AACD,WAAK,QAAQ;AACb,YAAM,KAAK,WAAW,KAAK,MAAM,aAAa,KAAK,MAAM,WAAW,GAAG;AAAA,IACxE,GAnBa;AAAA,IAoBd,0BAA0B,gCAAS,yBAAyB,OAAO,OAAO;AACxE,UAAI,KAAK,uBAAuB,OAAO;AACrC,aAAK,qBAAqB;AAC1B,aAAK,aAAY;AACjB,YAAI,KAAK,eAAe;AACtB,eAAK,eAAe,OAAO,KAAK,eAAe,KAAK,GAAG,KAAK;AAAA,QAC7D;AAAA,MACF;AAAA,IACF,GARyB;AAAA,IAS1B,cAAc,gCAASW,gBAAe;AACpC,UAAI,UAAU;AACd,UAAI,QAAQ,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI;AAChF,WAAK,UAAU,WAAY;AACzB,YAAIC,MAAK,UAAU,KAAK,GAAG,OAAO,QAAQ,IAAI,GAAG,EAAE,OAAO,KAAK,IAAI,QAAQ;AAC3E,YAAI,UAAU,WAAW,QAAQ,MAAM,UAAW,OAAOA,KAAI,IAAK,CAAC;AACnE,YAAI,SAAS;AACX,kBAAQ,kBAAkB,QAAQ,eAAe;AAAA,YAC/C,OAAO;AAAA,YACP,QAAQ;AAAA,UACpB,CAAW;AAAA,QACX,WAAmB,CAAC,QAAQ,yBAAyB;AAC3C,kBAAQ,mBAAmB,QAAQ,gBAAgB,cAAc,UAAU,KAAK,QAAQ,QAAQ,kBAAkB;AAAA,QACnH;AAAA,MACT,CAAO;AAAA,IACF,GAfa;AAAA,IAgBd,iBAAiB,gCAAS,kBAAkB;AAC1C,UAAI,KAAK,iBAAiB,KAAK,mBAAmB,CAAC,KAAK,mBAAmB;AACzE,aAAK,qBAAqB,KAAK;AAC/B,aAAK,eAAe,MAAM,KAAK,eAAe,KAAK,kBAAkB,GAAG,KAAK;AAAA,MAC9E;AAAA,IACF,GALgB;AAAA,IAMjB,aAAa,gCAAS,YAAY,OAAO,OAAO;AAC9C,WAAK,MAAM,qBAAqB,KAAK;AACrC,WAAK,MAAM,UAAU;AAAA,QACnB,eAAe;AAAA,QACf;AAAA,MACR,CAAO;AAAA,IACF,GANY;AAAA,IAOb,aAAa,gCAAS,YAAY,SAAS;AACzC,UAAI,UAAU;AACd,cAAQ,WAAW,IAAI,OAAO,SAAU,QAAQZ,SAAQ,OAAO;AAC7D,eAAO,KAAK;AAAA,UACV,aAAaA;AAAA,UACb,OAAO;AAAA,UACP;AAAA,QACV,CAAS;AACD,YAAI,sBAAsB,QAAQ,uBAAuBA,OAAM;AAC/D,+BAAuB,oBAAoB,QAAQ,SAAU,GAAG;AAC9D,iBAAO,OAAO,KAAK,CAAC;AAAA,QAC9B,CAAS;AACD,eAAO;AAAA,MACR,GAAE,CAAE,CAAA;AAAA,IACN,GAdY;AAAA,IAeb,YAAY,gCAAS,WAAW,IAAI;AAClC,WAAK,UAAU;AAAA,IAChB,GAFW;AAAA,IAGZ,SAAS,gCAAS,QAAQ,IAAI,YAAY;AACxC,WAAK,OAAO;AACZ,oBAAc,WAAW,EAAE;AAAA,IAC5B,GAHQ;AAAA,IAIT,oBAAoB,gCAAS,mBAAmB,IAAI;AAClD,WAAK,kBAAkB;AAAA,IACxB,GAFmB;AAAA,EAGrB;AAAA,EACD,UAAU;AAAA,IACR,gBAAgB,gCAAS,iBAAiB;AACxC,aAAO,KAAK,mBAAmB,KAAK,YAAY,KAAK,WAAW,IAAI,KAAK,eAAe;IACzF,GAFe;AAAA,IAGhB,YAAY,gCAAS,aAAa;AAChC,UAAI,WAAW,KAAK,UAAU,GAAG;AAC/B,YAAIH,YAAU,KAAK,UAAU,MAAM,UAAU;AAC3C,cAAI,QAAQ,KAAK,eAAe,KAAK,UAAU;AAC/C,iBAAO,SAAS,OAAO,QAAQ,KAAK;AAAA,QAC9C,OAAe;AACL,iBAAO,KAAK;AAAA,QACb;AAAA,MACT,OAAa;AACL,eAAO;AAAA,MACR;AAAA,IACF,GAXW;AAAA,IAYZ,mBAAmB,gCAAS,oBAAoB;AAC9C,aAAO,WAAW,KAAK,UAAU;AAAA,IAClC,GAFkB;AAAA,IAGnB,aAAa,gCAAS,cAAc;AAClC,aAAO,KAAK;AAAA,IACb,GAFY;AAAA,IAGb,yBAAyB,gCAAS,0BAA0B;AAC1D,aAAO,WAAW,KAAK,cAAc,KAAK,KAAK,iBAAiB,KAAK,kBAAkB,WAAW,OAAO,KAAK,eAAe,MAAM,IAAI,KAAK;AAAA,IAC7I,GAFwB;AAAA,IAGzB,mBAAmB,gCAAS,oBAAoB;AAC9C,aAAO,KAAK,iBAAiB,KAAK,UAAU,OAAO,OAAO,iBAAiB;AAAA,IAC5E,GAFkB;AAAA,IAGnB,wBAAwB,gCAAS,yBAAyB;AACxD,aAAO,KAAK,sBAAsB,KAAK,UAAU,OAAO,OAAO,sBAAsB;AAAA,IACtF,GAFuB;AAAA,IAGxB,sBAAsB,gCAAS,uBAAuB;AACpD,aAAO,KAAK,oBAAoB,KAAK,UAAU,OAAO,OAAO,oBAAoB;AAAA,IAClF,GAFqB;AAAA,IAGtB,2BAA2B,gCAAS,4BAA4B;AAC9D,aAAO,KAAK,yBAAyB,KAAK,UAAU,OAAO,OAAO,yBAAyB;AAAA,IAC5F,GAF0B;AAAA,IAG3B,qBAAqB,gCAAS,sBAAsB;AAClD,aAAO,KAAK,oBAAoB,KAAK,qBAAqB,WAAW,OAAO,KAAK,WAAW,KAAK,WAAW,SAAS,GAAG,IAAI,KAAK;AAAA,IAClI,GAFoB;AAAA,IAGrB,eAAe,gCAAS,gBAAgB;AACtC,aAAO,KAAK,UAAU,OAAO,OAAO,OAAO,KAAK,UAAU,OAAO,OAAO,KAAK,YAAY;AAAA,IAC1F,GAFc;AAAA,IAGf,iBAAiB,gCAAS,kBAAkB;AAC1C,aAAO,KAAK,uBAAuB,KAAK,GAAG,OAAO,KAAK,IAAI,GAAG,EAAE,OAAO,KAAK,kBAAkB,IAAI;AAAA,IACnG,GAFgB;AAAA,IAGjB,yBAAyB,gCAAS,0BAA0B;AAC1D,aAAO,KAAK,+BAA+B,KAAK,GAAG,OAAO,KAAK,IAAI,mBAAmB,EAAE,OAAO,KAAK,0BAA0B,IAAI;AAAA,IACnI,GAFwB;AAAA,IAGzB,aAAa,gCAAS,cAAc;AAClC,UAAI,UAAU;AACd,aAAO,KAAK,eAAe,OAAO,SAAUG,SAAQ;AAClD,eAAO,CAAC,QAAQ,cAAcA,OAAM;AAAA,MACrC,CAAA,EAAE;AAAA,IACJ,GALY;AAAA,IAMb,yBAAyB,gCAAS,0BAA0B;AAC1D,aAAO,CAAC,KAAK;AAAA,IACd,GAFwB;AAAA,IAGzB,SAAS,gCAAS,UAAU;AAC1B,aAAO,KAAK,KAAK;AAAA,IAClB,GAFQ;AAAA,IAGT,UAAU,gCAAS,WAAW;AAC5B,aAAO,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,WAAW,KAAK;AAAA,IACrD,GAFS;AAAA,EAGX;AAAA,EACD,YAAY;AAAA,IACV,WAAWa;AAAAA,IACX,iBAAiBC;AAAAA,IACjB,QAAQC;AAAAA,IACR,iBAAiBC;AAAAA,IACjB,aAAaC;AAAAA,IACb,MAAMC;AAAAA,EACP;AAAA,EACD,YAAY;AAAA,IACV,QAAQ;AAAA,EACT;AACH;AAEA,SAASC,UAAQ,GAAG;AAAE;AAA2B,SAAOA,YAAU,cAAc,OAAO,UAAU,YAAY,OAAO,OAAO,WAAW,SAAUrB,IAAG;AAAE,WAAO,OAAOA;AAAA,MAAO,SAAUA,IAAG;AAAE,WAAOA,MAAK,cAAc,OAAO,UAAUA,GAAE,gBAAgB,UAAUA,OAAM,OAAO,YAAY,WAAW,OAAOA;AAAA,EAAE,GAAIqB,UAAQ,CAAC;AAAI;AAArTA;AACT,SAASC,UAAQ,GAAG,GAAG;AAAE,MAAI,IAAI,OAAO,KAAK,CAAC;AAAG,MAAI,OAAO,uBAAuB;AAAE,QAAI,IAAI,OAAO,sBAAsB,CAAC;AAAG,UAAM,IAAI,EAAE,OAAO,SAAUC,IAAG;AAAE,aAAO,OAAO,yBAAyB,GAAGA,EAAC,EAAE;AAAA,IAAW,CAAE,IAAI,EAAE,KAAK,MAAM,GAAG,CAAC;AAAA,EAAE;AAAG,SAAO;AAAI;AAAtPD;AACT,SAASE,gBAAc,GAAG;AAAE,WAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AAAE,QAAI,IAAI,QAAQ,UAAU,CAAC,IAAI,UAAU,CAAC,IAAI,CAAE;AAAE,QAAI,IAAIF,UAAQ,OAAO,CAAC,GAAG,IAAE,EAAE,QAAQ,SAAUC,IAAG;AAAEE,wBAAgB,GAAGF,IAAG,EAAEA,EAAC,CAAC;AAAA,IAAI,CAAA,IAAI,OAAO,4BAA4B,OAAO,iBAAiB,GAAG,OAAO,0BAA0B,CAAC,CAAC,IAAID,UAAQ,OAAO,CAAC,CAAC,EAAE,QAAQ,SAAUC,IAAG;AAAE,aAAO,eAAe,GAAGA,IAAG,OAAO,yBAAyB,GAAGA,EAAC,CAAC;AAAA,IAAE,CAAE;AAAA,EAAI;AAAC,SAAO;AAAI;AAA9aC;AACT,SAASC,kBAAgB,GAAG,GAAG,GAAG;AAAE,UAAQ,IAAIC,iBAAe,CAAC,MAAM,IAAI,OAAO,eAAe,GAAG,GAAG,EAAE,OAAO,GAAG,YAAY,MAAI,cAAc,MAAI,UAAU,KAAI,CAAA,IAAI,EAAE,CAAC,IAAI,GAAG;AAAI;AAA3KD;AACT,SAASC,iBAAe,GAAG;AAAE,MAAI,IAAIC,eAAa,GAAG,QAAQ;AAAG,SAAO,YAAYN,UAAQ,CAAC,IAAI,IAAI,IAAI;AAAK;AAApGK;AACT,SAASC,eAAa,GAAG,GAAG;AAAE,MAAI,YAAYN,UAAQ,CAAC,KAAK,CAAC,EAAG,QAAO;AAAG,MAAI,IAAI,EAAE,OAAO,WAAW;AAAG,MAAI,WAAW,GAAG;AAAE,QAAI,IAAI,EAAE,KAAK,GAAG,KAAK,SAAS;AAAG,QAAI,YAAYA,UAAQ,CAAC,EAAG,QAAO;AAAG,UAAM,IAAI,UAAU,8CAA8C;AAAA,EAAI;AAAC,UAAQ,aAAa,IAAI,SAAS,QAAQ,CAAC;AAAI;AAAnTM;AACT,IAAI9C,eAAa,CAAC,uBAAuB;AACzC,IAAIC,eAAa,CAAC,MAAM,cAAc,gBAAgB,eAAe;AACrE,IAAIC,eAAa,CAAC,MAAM,eAAe,YAAY,YAAY,cAAc,mBAAmB,iBAAiB,iBAAiB,yBAAyB,cAAc;AACzK,IAAI6C,eAAa,CAAC,YAAY,iBAAiB,eAAe;AAC9D,IAAIC,eAAa,CAAC,IAAI;AACtB,IAAIC,eAAa,CAAC,MAAM,YAAY;AACpC,IAAIC,eAAa,CAAC,IAAI;AACtB,IAAI,aAAa,CAAC,MAAM,cAAc,iBAAiB,iBAAiB,gBAAgB,iBAAiB,WAAW,eAAe,mBAAmB,gBAAgB,iBAAiB;AACvL,SAASzD,SAAO,MAAM,QAAQ,QAAQ,QAAQ,OAAO,UAAU;AAC7D,MAAI,uBAAuB,iBAAiB,WAAW;AACvD,MAAI,kBAAkB,iBAAiB,MAAM;AAC7C,MAAI,yBAAyB,iBAAiB,aAAa;AAC3D,MAAI,6BAA6B,iBAAiB,iBAAiB;AACnE,MAAI,oBAAoB,iBAAiB,QAAQ;AACjD,MAAI,oBAAoB,iBAAiB,QAAQ;AACjD,SAAO,UAAW,GAAE,mBAAmB,OAAO,WAAW;AAAA,IACvD,KAAK;AAAA,IACL,SAAS,KAAK,GAAG,MAAM;AAAA,IACvB,OAAO,KAAK,GAAG,MAAM;AAAA,IACrB,SAAS,OAAO,EAAE,MAAM,OAAO,EAAE,IAAI,WAAY;AAC/C,aAAO,SAAS,oBAAoB,SAAS,iBAAiB,MAAM,UAAU,SAAS;AAAA,IAC7F;AAAA,EACG,GAAE,KAAK,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,YAAY,aAAa,YAAY,sBAAsB;AAAA,IACvF,KAAK;AAAA,IACL,KAAK;AAAA,IACL,IAAI,KAAK;AAAA,IACT,MAAM;AAAA,IACN,SAAS,eAAe,CAAC,KAAK,GAAG,aAAa,GAAG,KAAK,UAAU,CAAC;AAAA,IACjE,OAAO,eAAe,KAAK,UAAU;AAAA,IACrC,OAAO,SAAS;AAAA,IAChB,aAAa,KAAK;AAAA,IAClB,UAAU,CAAC,KAAK,WAAW,KAAK,WAAW;AAAA,IAC3C,OAAO,SAAS;AAAA,IAChB,UAAU,KAAK;AAAA,IACf,SAAS,KAAK;AAAA,IACd,SAAS,KAAK;AAAA,IACd,cAAc;AAAA,IACd,MAAM;AAAA,IACN,cAAc,KAAK;AAAA,IACnB,mBAAmB,KAAK;AAAA,IACxB,iBAAiB;AAAA,IACjB,qBAAqB;AAAA,IACrB,iBAAiB,MAAM;AAAA,IACvB,iBAAiB,SAAS;AAAA,IAC1B,yBAAyB,MAAM,UAAU,SAAS,kBAAkB;AAAA,IACpE,SAAS,SAAS;AAAA,IAClB,QAAQ,SAAS;AAAA,IACjB,WAAW,SAAS;AAAA,IACpB,SAAS,SAAS;AAAA,IAClB,UAAU,SAAS;AAAA,IACnB,UAAU,KAAK;AAAA,IACf,IAAI,KAAK,IAAI,aAAa;AAAA,EAC9B,GAAK,MAAM,GAAG,CAAC,MAAM,SAAS,SAAS,SAAS,eAAe,YAAY,SAAS,YAAY,WAAW,WAAW,cAAc,mBAAmB,iBAAiB,iBAAiB,yBAAyB,WAAW,UAAU,aAAa,WAAW,YAAY,YAAY,IAAI,CAAC,KAAK,mBAAmB,IAAI,IAAI,GAAG,KAAK,YAAY,UAAS,GAAI,mBAAmB,MAAM,WAAW;AAAA,IAC7X,KAAK;AAAA,IACL,KAAK;AAAA,IACL,SAAS,KAAK,GAAG,eAAe;AAAA,IAChC,UAAU;AAAA,IACV,MAAM;AAAA,IACN,oBAAoB;AAAA,IACpB,yBAAyB,MAAM,UAAU,SAAS,0BAA0B;AAAA,IAC5E,SAAS,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,WAAY;AAC7C,aAAO,SAAS,4BAA4B,SAAS,yBAAyB,MAAM,UAAU,SAAS;AAAA,IAC7G;AAAA,IACI,QAAQ,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,WAAY;AAC5C,aAAO,SAAS,2BAA2B,SAAS,wBAAwB,MAAM,UAAU,SAAS;AAAA,IAC3G;AAAA,IACI,WAAW,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,WAAY;AAC/C,aAAO,SAAS,8BAA8B,SAAS,2BAA2B,MAAM,UAAU,SAAS;AAAA,IACjH;AAAA,EACA,GAAK,KAAK,IAAI,eAAe,CAAC,GAAG,EAAE,UAAU,IAAI,GAAG,mBAAmB,UAAU,MAAM,WAAW,KAAK,YAAY,SAAU4B,SAAQ,GAAG;AACpI,WAAO,UAAW,GAAE,mBAAmB,MAAM,WAAW;AAAA,MACtD,KAAK,GAAG,OAAO,GAAG,GAAG,EAAE,OAAO,SAAS,eAAeA,OAAM,CAAC;AAAA,MAC7D,IAAI,MAAM,KAAK,sBAAsB;AAAA,MACrC,SAAS,KAAK,GAAG,YAAY;AAAA,QAC3B;AAAA,MACR,CAAO;AAAA,MACD,MAAM;AAAA,MACN,cAAc,SAAS,eAAeA,OAAM;AAAA,MAC5C,iBAAiB;AAAA,MACjB,gBAAgB,KAAK,WAAW;AAAA,MAChC,iBAAiB,IAAI;AAAA,MACrB,SAAS;AAAA,IACf,GAAO,KAAK,IAAI,UAAU,CAAC,GAAG,CAAC,WAAW,KAAK,QAAQ,QAAQ,WAAW;AAAA,MACpE,SAAS,KAAK,GAAG,QAAQ;AAAA,MACzB,OAAOA;AAAA,MACP,OAAO;AAAA,MACP,gBAAgB,gCAAS,eAAe,OAAO;AAC7C,eAAO,SAAS,aAAa,OAAO,CAAC;AAAA,MACtC,GAFe;AAAA,MAGhB,SAAS;AAAA,IACV,GAAE,KAAK,IAAI,QAAQ,CAAC,GAAG,WAAY;AAClC,aAAO,CAAC,YAAY,iBAAiB;AAAA,QACnC,SAAS,eAAe,KAAK,GAAG,QAAQ,CAAC;AAAA,QACzC,OAAO,SAAS,eAAeA,OAAM;AAAA,QACrC,YAAY,KAAK,YAAY,KAAK;AAAA,QAClC,WAAW;AAAA,QACX,UAAU,KAAK;AAAA,QACf,UAAU,gCAAS8B,UAAS,QAAQ;AAClC,iBAAO,SAAS,aAAa,QAAQ,CAAC;AAAA,QACvC,GAFS;AAAA,QAGV,IAAI,KAAK,IAAI,QAAQ;AAAA,MAC7B,GAAS;AAAA,QACD,YAAY,QAAQ,WAAY;AAC9B,iBAAO,CAAC,WAAW,KAAK,QAAQ,KAAK,OAAO,WAAW,aAAa,mBAAmB;AAAA,YACrF,SAAS,eAAe,KAAK,GAAG,UAAU,CAAC;AAAA,YAC3C,OAAO;AAAA,YACP,gBAAgB,gCAAS,eAAe,OAAO;AAC7C,qBAAO,SAAS,aAAa,OAAO,CAAC;AAAA,YACtC,GAFe;AAAA,UAGjB,CAAA,CAAC;AAAA,QACZ,CAAS;AAAA,QACD,GAAG;AAAA,MACX,GAAS,MAAM,CAAC,SAAS,SAAS,cAAc,YAAY,YAAY,IAAI,CAAC,CAAC;AAAA,IAC9E,CAAK,CAAC,GAAG,IAAIlD,YAAU;AAAA,EACpB,CAAA,GAAG,GAAG,IAAIE,gBAAmB,MAAM,WAAW;AAAA,IAC7C,SAAS,KAAK,GAAG,WAAW;AAAA,IAC5B,MAAM;AAAA,EACV,GAAK,KAAK,IAAI,WAAW,CAAC,GAAG,CAACA,gBAAmB,SAAS,WAAW;AAAA,IACjE,KAAK;AAAA,IACL,IAAI,KAAK;AAAA,IACT,MAAM;AAAA,IACN,OAAO,KAAK;AAAA,IACZ,SAAS,KAAK;AAAA,IACd,aAAa,KAAK;AAAA,IAClB,UAAU,CAAC,KAAK,WAAW,KAAK,WAAW;AAAA,IAC3C,UAAU,KAAK;AAAA,IACf,cAAc;AAAA,IACd,MAAM;AAAA,IACN,cAAc,KAAK;AAAA,IACnB,mBAAmB,KAAK;AAAA,IACxB,iBAAiB;AAAA,IACjB,qBAAqB;AAAA,IACrB,iBAAiB,MAAM;AAAA,IACvB,iBAAiB,MAAM,KAAK;AAAA,IAC5B,yBAAyB,MAAM,UAAU,SAAS,kBAAkB;AAAA,IACpE,gBAAgB,KAAK,WAAW;AAAA,IAChC,SAAS,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,WAAY;AAC7C,aAAO,SAAS,WAAW,SAAS,QAAQ,MAAM,UAAU,SAAS;AAAA,IAC3E;AAAA,IACI,QAAQ,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,WAAY;AAC5C,aAAO,SAAS,UAAU,SAAS,OAAO,MAAM,UAAU,SAAS;AAAA,IACzE;AAAA,IACI,WAAW,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,WAAY;AAC/C,aAAO,SAAS,aAAa,SAAS,UAAU,MAAM,UAAU,SAAS;AAAA,IAC/E;AAAA,IACI,SAAS,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,WAAY;AAC7C,aAAO,SAAS,WAAW,SAAS,QAAQ,MAAM,UAAU,SAAS;AAAA,IAC3E;AAAA,IACI,UAAU,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,WAAY;AAC9C,aAAO,SAAS,YAAY,SAAS,SAAS,MAAM,UAAU,SAAS;AAAA,IAC7E;AAAA,EACG,GAAE,KAAK,IAAI,OAAO,CAAC,GAAG,MAAM,IAAID,YAAU,CAAC,GAAG,EAAE,CAAC,GAAG,IAAIF,YAAU,KAAK,mBAAmB,IAAI,IAAI,GAAG,MAAM,aAAa,KAAK,UAAU,WAAW,KAAK,QAAQ,KAAK,OAAO,SAAS,WAAW,eAAe;AAAA,IAC7M,KAAK;AAAA,IACL,SAAS,eAAe,KAAK,GAAG,QAAQ,CAAC;AAAA,EAC7C,GAAK,WAAY;AACb,WAAO,CAAC,KAAK,UAAU,KAAK,eAAe,aAAa,mBAAmB,KAAK,WAAW;AAAA,MACzF,KAAK;AAAA,MACL,SAAS,CAAC,WAAW,KAAK,GAAG,QAAQ,GAAG,KAAK,QAAQ,KAAK,WAAW;AAAA,MACrE,eAAe;AAAA,IAChB,GAAE,KAAK,IAAI,QAAQ,CAAC,GAAG,MAAM,EAAE,MAAM,UAAW,GAAE,YAAY,wBAAwB,WAAW;AAAA,MAChG,KAAK;AAAA,MACL,SAAS,KAAK,GAAG,QAAQ;AAAA,MACzB,MAAM;AAAA,MACN,eAAe;AAAA,IACrB,GAAO,KAAK,IAAI,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;AAAA,EAC9C,CAAA,IAAI,mBAAmB,IAAI,IAAI,GAAG,WAAW,KAAK,QAAQ,KAAK,OAAO,WAAW,aAAa,kBAAkB;AAAA,IAC/G,gBAAgB,gCAAS,eAAe,OAAO;AAC7C,aAAO,SAAS,gBAAgB,KAAK;AAAA,IACtC,GAFe;AAAA,EAGpB,GAAK,WAAY;AACb,WAAO,CAAC,KAAK,YAAY,UAAW,GAAE,mBAAmB,UAAU,WAAW;AAAA,MAC5E,KAAK;AAAA,MACL,KAAK;AAAA,MACL,MAAM;AAAA,MACN,SAAS,CAAC,KAAK,GAAG,UAAU,GAAG,KAAK,aAAa;AAAA,MACjD,UAAU,KAAK;AAAA,MACf,iBAAiB;AAAA,MACjB,iBAAiB,MAAM;AAAA,MACvB,iBAAiB,SAAS;AAAA,MAC1B,SAAS,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,WAAY;AAC7C,eAAO,SAAS,mBAAmB,SAAS,gBAAgB,MAAM,UAAU,SAAS;AAAA,MAC7F;AAAA,IACA,GAAO,KAAK,IAAI,UAAU,CAAC,GAAG,CAAC,WAAW,KAAK,QAAQ,gBAAgB;AAAA,MACjE,SAAS,eAAe,KAAK,YAAY;AAAA,IAC/C,GAAO,WAAY;AACb,aAAO,EAAE,aAAa,YAAY,wBAAwB,KAAK,eAAe,SAAS,iBAAiB,GAAG,WAAW;AAAA,QACpH,SAAS,KAAK;AAAA,MACtB,GAAS,KAAK,IAAI,cAAc,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;IACvD,CAAK,CAAC,GAAG,IAAI+C,YAAU,KAAK,mBAAmB,IAAI,IAAI,CAAC;AAAA,EACxD,CAAG,GAAG5C,gBAAmB,QAAQ,WAAW;AAAA,IACxC,MAAM;AAAA,IACN,aAAa;AAAA,IACb,SAAS;AAAA,EACb,GAAK,KAAK,IAAI,oBAAoB,GAAG;AAAA,IACjC,4BAA4B;AAAA,EAChC,CAAG,GAAG,gBAAgB,SAAS,uBAAuB,GAAG,EAAE,GAAG,YAAY,mBAAmB;AAAA,IACzF,UAAU,KAAK;AAAA,EACnB,GAAK;AAAA,IACD,WAAW,QAAQ,WAAY;AAC7B,aAAO,CAAC,YAAY,YAAY,WAAW;AAAA,QACzC,MAAM;AAAA,QACN,SAAS,SAAS;AAAA,QAClB,cAAc,SAAS;AAAA,QACvB,SAAS,SAAS;AAAA,QAClB,cAAc,SAAS;AAAA,MACxB,GAAE,KAAK,IAAI,YAAY,CAAC,GAAG;AAAA,QAC1B,WAAW,QAAQ,WAAY;AAC7B,iBAAO,CAAC,MAAM,kBAAkB,UAAW,GAAE,mBAAmB,OAAO,WAAW;AAAA,YAChF,KAAK;AAAA,YACL,KAAK,SAAS;AAAA,YACd,IAAI,SAAS;AAAA,YACb,SAAS,CAAC,KAAK,GAAG,SAAS,GAAG,KAAK,YAAY,KAAK,YAAY;AAAA,YAChE,OAAOwC,gBAAcA,gBAAc,CAAE,GAAE,KAAK,UAAU,GAAG,KAAK,YAAY;AAAA,YAC1E,SAAS,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,WAAY;AAC7C,qBAAO,SAAS,kBAAkB,SAAS,eAAe,MAAM,UAAU,SAAS;AAAA,YACjG;AAAA,YACY,WAAW,OAAO,EAAE,MAAM,OAAO,EAAE,IAAI,WAAY;AACjD,qBAAO,SAAS,oBAAoB,SAAS,iBAAiB,MAAM,UAAU,SAAS;AAAA,YACrG;AAAA,UACA,GAAa,KAAK,IAAI,SAAS,CAAC,GAAG,CAAC,WAAW,KAAK,QAAQ,UAAU;AAAA,YAC1D,OAAO,KAAK;AAAA,YACZ,aAAa,SAAS;AAAA,UAClC,CAAW,GAAGxC,gBAAmB,OAAO,WAAW;AAAA,YACvC,SAAS,KAAK,GAAG,eAAe;AAAA,YAChC,OAAO;AAAA,cACL,cAAc,SAAS,0BAA0B,KAAK,eAAe;AAAA,YACtE;AAAA,UACb,GAAa,KAAK,IAAI,eAAe,CAAC,GAAG,CAAC,YAAY,4BAA4B,WAAW;AAAA,YACjF,KAAK,SAAS;AAAA,UAC1B,GAAa,KAAK,wBAAwB;AAAA,YAC9B,OAAO;AAAA,cACL,QAAQ,KAAK;AAAA,YACd;AAAA,YACD,OAAO,SAAS;AAAA,YAChB,UAAU;AAAA,YACV,UAAU,SAAS;AAAA,YACnB,IAAI,KAAK,IAAI,iBAAiB;AAAA,UAC/B,CAAA,GAAG,YAAY;AAAA,YACd,SAAS,QAAQ,SAAU,MAAM;AAC/B,kBAAI,aAAa,KAAK,YACpB,aAAa,KAAK,YAClB,QAAQ,KAAK,OACb,iBAAiB,KAAK,gBACtB,eAAe,KAAK,cACpB,WAAW,KAAK;AAClB,qBAAO,CAACA,gBAAmB,MAAM,WAAW;AAAA,gBAC1C,KAAK,gCAASiD,KAAI,IAAI;AACpB,yBAAO,SAAS,QAAQ,IAAI,UAAU;AAAA,gBACvC,GAFI;AAAA,gBAGL,IAAI,MAAM,KAAK;AAAA,gBACf,SAAS,CAAC,KAAK,GAAG,MAAM,GAAG,UAAU;AAAA,gBACrC,OAAO;AAAA,gBACP,MAAM;AAAA,gBACN,cAAc,SAAS;AAAA,cACvC,GAAiB,KAAK,IAAI,MAAM,CAAC,GAAG,EAAE,UAAU,IAAI,GAAG,mBAAmB,UAAU,MAAM,WAAW,OAAO,SAAU/B,SAAQ,GAAG;AACjH,uBAAO,UAAS,GAAI,mBAAmB,UAAU;AAAA,kBAC/C,KAAK,SAAS,mBAAmBA,SAAQ,SAAS,eAAe,GAAG,cAAc,CAAC;AAAA,gBACrG,GAAmB,CAAC,SAAS,cAAcA,OAAM,KAAK,aAAa,mBAAmB,MAAM,WAAW;AAAA,kBACrF,KAAK;AAAA,kBACL,IAAI,MAAM,KAAK,MAAM,SAAS,eAAe,GAAG,cAAc;AAAA,kBAC9D,OAAO;AAAA,oBACL,QAAQ,WAAW,WAAW,OAAO;AAAA,kBACtC;AAAA,kBACD,SAAS,KAAK,GAAG,aAAa;AAAA,kBAC9B,MAAM;AAAA,kBACN,SAAS;AAAA,gBAC3B,GAAmB,KAAK,IAAI,aAAa,CAAC,GAAG,CAAC,WAAW,KAAK,QAAQ,eAAe;AAAA,kBACnE,QAAQA,QAAO;AAAA,kBACf,OAAO,SAAS,eAAe,GAAG,cAAc;AAAA,gBAClE,GAAmB,WAAY;AACb,yBAAO,CAAC,gBAAgB,gBAAgB,SAAS,oBAAoBA,QAAO,WAAW,CAAC,GAAG,CAAC,CAAC;AAAA,gBAC/G,CAAiB,CAAC,GAAG,IAAI6B,YAAU,KAAK,gBAAgB,aAAa,mBAAmB,MAAM,WAAW;AAAA,kBACvF,KAAK;AAAA,kBACL,IAAI,MAAM,KAAK,MAAM,SAAS,eAAe,GAAG,cAAc;AAAA,kBAC9D,OAAO;AAAA,oBACL,QAAQ,WAAW,WAAW,OAAO;AAAA,kBACtC;AAAA,kBACD,SAAS,KAAK,GAAG,UAAU;AAAA,oBACzB,QAAQ7B;AAAA,oBACR;AAAA,oBACA;AAAA,kBACpB,CAAmB;AAAA,kBACD,MAAM;AAAA,kBACN,cAAc,SAAS,eAAeA,OAAM;AAAA,kBAC5C,iBAAiB,SAAS,WAAWA,OAAM;AAAA,kBAC3C,iBAAiB,SAAS,iBAAiBA,OAAM;AAAA,kBACjD,gBAAgB,SAAS;AAAA,kBACzB,iBAAiB,SAAS,gBAAgB,SAAS,eAAe,GAAG,cAAc,CAAC;AAAA,kBACpF,SAAS,gCAASgC,SAAQ,QAAQ;AAChC,2BAAO,SAAS,eAAe,QAAQhC,OAAM;AAAA,kBAC9C,GAFQ;AAAA,kBAGT,aAAa,gCAAS,YAAY,QAAQ;AACxC,2BAAO,SAAS,kBAAkB,QAAQ,SAAS,eAAe,GAAG,cAAc,CAAC;AAAA,kBACrF,GAFY;AAAA,kBAGb,mBAAmB,SAAS,WAAWA,OAAM;AAAA,kBAC7C,gBAAgB,MAAM,uBAAuB,SAAS,eAAe,GAAG,cAAc;AAAA,kBACtF,mBAAmB,SAAS,iBAAiBA,OAAM;AAAA,kBACnD,SAAS;AAAA,gBACV,GAAE,SAAS,aAAaA,SAAQ,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,KAAK,QAAQ,UAAU;AAAA,kBACjG,QAAQA;AAAA,kBACR,OAAO,SAAS,eAAe,GAAG,cAAc;AAAA,gBAClE,GAAmB,WAAY;AACb,yBAAO,CAAC,gBAAgB,gBAAgB,SAAS,eAAeA,OAAM,CAAC,GAAG,CAAC,CAAC;AAAA,gBAC9F,CAAiB,CAAC,GAAG,IAAI,UAAU,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,EAAE;AAAA,cACnD,CAAA,GAAG,GAAG,IAAI,CAAC,SAAS,SAAS,MAAM,WAAW,KAAK,UAAW,GAAE,mBAAmB,MAAM,WAAW;AAAA,gBACnG,KAAK;AAAA,gBACL,SAAS,KAAK,GAAG,cAAc;AAAA,gBAC/B,MAAM;AAAA,cACP,GAAE,KAAK,IAAI,cAAc,CAAC,GAAG,CAAC,WAAW,KAAK,QAAQ,SAAS,CAAA,GAAI,WAAY;AAC9E,uBAAO,CAAC,gBAAgB,gBAAgB,SAAS,uBAAuB,GAAG,CAAC,CAAC;AAAA,cAC7F,CAAe,CAAC,GAAG,EAAE,KAAK,mBAAmB,IAAI,IAAI,CAAC,GAAG,IAAI4B,YAAU,CAAC;AAAA,YACxE,CAAa;AAAA,YACD,GAAG;AAAA,UACf,GAAa,CAAC,KAAK,OAAO,SAAS;AAAA,YACvB,MAAM;AAAA,YACN,IAAI,QAAQ,SAAU,OAAO;AAC3B,kBAAI,UAAU,MAAM;AACpB,qBAAO,CAAC,WAAW,KAAK,QAAQ,UAAU;AAAA,gBACxC;AAAA,cACD,CAAA,CAAC;AAAA,YAChB,CAAa;AAAA,YACD,KAAK;AAAA,UACjB,IAAc,MAAS,CAAC,GAAG,MAAM,CAAC,SAAS,SAAS,YAAY,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,WAAW,KAAK,QAAQ,UAAU;AAAA,YACpG,OAAO,KAAK;AAAA,YACZ,aAAa,SAAS;AAAA,UAClC,CAAW,GAAG9C,gBAAmB,QAAQ,WAAW;AAAA,YACxC,MAAM;AAAA,YACN,aAAa;AAAA,YACb,SAAS;AAAA,UACrB,GAAa,KAAK,IAAI,uBAAuB,GAAG;AAAA,YACpC,4BAA4B;AAAA,UAC7B,CAAA,GAAG,gBAAgB,SAAS,mBAAmB,GAAG,EAAE,CAAC,GAAG,IAAI6C,YAAU,KAAK,mBAAmB,IAAI,IAAI,CAAC;AAAA,QAClH,CAAS;AAAA,QACD,GAAG;AAAA,MACX,GAAS,IAAI,CAAC,WAAW,gBAAgB,WAAW,cAAc,CAAC,CAAC;AAAA,IACpE,CAAK;AAAA,IACD,GAAG;AAAA,EACJ,GAAE,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE;AAC1B;AA1USvD;AA4UTD,SAAO,SAASC;AC5zChB,MAAK6D,cAAU;AAAA,EACb,MAAM;AAAA,EACN,SAASC;AAAAA,EACT,OAAO,CAAC,wBAAwB;AAAA,EAChC,UAAU;AACR,QAAI,OAAOA,SAAa,YAAY,YAAY;AAC9CA,eAAa,QAAQ,KAAK,IAAI;AAAA,IAChC;AAGA,SAAK;AAAA,MACH,MAAM,KAAK;AAAA,MACX,CAAC,QAAQ,WAAW;AAElB,aAAK,MAAM,0BAA0B,MAAM;AAAA,MAC7C;AAAA,IACF;AAAA,EACF;AACF;;;;;;;;;;;;;;;;;;ACuCA,UAAM,eAAe;AACrB,UAAM,eAAe;AAAA,MAAS,MAC5B,aAAa,IAAI,sCAAsC;AAAA,IAAA;AAEzD,UAAM,aAAa;AAAA,MAAS,MAC1B,aAAa,IAAI,oCAAoC;AAAA,IAAA;AAEvD,UAAM,oBAAoB;AAAA,MAAS,MACjC,aAAa,IAAI,2CAA2C;AAAA,IAAA;AAE9D,UAAM,qBAAqB;AAC3B,UAAM,gBAAgB;AAAA,MAAS,MAC7B,mBAAmB,iBAAiB,MAAM,OAAO;AAAA,IAAA;AAGnD,UAAM,oBAAoB;AAC1B,UAAM,eAAe;AAAA,MAAS,MAC5B,kBAAkB,aAAa,MAAM,OAAO;AAAA,IAAA;AAG9C,UAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFd,UAAM,eAAe;AACf,UAAA,EAAE,MAAM;AAEd,UAAM,oBAAoB;AAAA,MAAS,MACjC,aAAa,IAAI,qCAAqC;AAAA,IAAA;AAGxD,UAAM,QAAQ;AAUR,UAAA,0BAA0B,IAAI,KAAK;AACzC,UAAM,UAAU,mCAAmC,KAAK,OAAA,CAAQ;AAC1D,UAAAC,eAAc,IAAwB,CAAA,CAAE;AACxC,UAAA,oBAAoB,IAA6B,IAAI;AACrD,UAAA,eAAe,IAAI,EAAE;AACrB,UAAA,cAAc,SAAS,MAAM;AACjC,aAAO,MAAM,QAAQ,WAAW,IAAI,EAAE,aAAa,IAAI,QAAQ;AAAA,IAAA,CAChE;AAED,UAAM,eAAe;AACrB,UAAM,qBAAqB;AACrB,UAAAC,UAAS,wBAAC,UAAkB;AAChC,YAAM,eAAe,UAAU,MAAM,MAAM,QAAQ,WAAW;AAC9D,mBAAa,QAAQ;AACT,MAAAD,aAAA,QAAQ,eAChB,mBAAmB,cACnB;AAAA,QACE,GAAG,aAAa,kBAAkB,WAAW,OAAO,MAAM,SAAS;AAAA,UACjE,OAAO,MAAM;AAAA,QAAA,CACd;AAAA,MAAA;AAAA,IACH,GATS;AAYf,UAAM,OAAO;AAEb,UAAM,eAAe,6BAAM;AACnB,YAAA,eAAe,SAAS,eAAe,OAAO;AACpD,UAAI,cAAc;AAChB,qBAAa,KAAK;AAClB,qBAAa,MAAM;AAAA,MACrB;AAAA,IAAA,GALmB;AAQrB,cAAU,YAAY;AAChB,UAAA,cAAc,wBAAC,mBAAmC;AACtD,8BAAwB,QAAQ;AAChC,WAAK,aAAa,cAAc;AACnB;IAAA,GAHK;AAKd,UAAA,iBAAiB,wBAAC,OAAc,mBAAmC;AACvE,YAAM,gBAAgB;AACtB,YAAM,eAAe;AACrB,WAAK,gBAAgB,cAAc;AACtB;IAAA,GAJQ;AAMjB,UAAA,qBAAqB,wBAAC,UAAkB;AAC5C,UAAI,UAAU,IAAI;AAChB,0BAAkB,QAAQ;AAC1B;AAAA,MACF;AACM,YAAA,QAAQA,aAAY,MAAM,KAAK;AACrC,wBAAkB,QAAQ;AAAA,IAAA,GAND;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjIpB,MAAM,mBAA6C;AAAA,SAAA;AAAA;AAAA;AAAA,EACxD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA,YACE,MACA,MACA,OACA,QACA,KACA;AACA,SAAK,OAAO;AACZ,SAAK,OAAO;AACZ,SAAK,QAAQ;AACb,SAAK,SAAS;AACd,SAAK,MAAM;AAAA,EACb;AAAA,EAEA,OAAO,sBAAsB,KAAqB;AAChD,WAAO,IAAI;AAAA,MACT,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IAAA;AAAA,EAER;AAAA,EAEA,IAAI,OAAyB;AAC3B,UAAM,SAAS,KAAK,QAAQ,KAAK,MAAM,OAAO,KAAK,OAAO;AACnD,WAAA,WAAW,KAAK,OAAO;AAAA,EAChC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,kBAAsC;AACjC,WAAA,KAAK,SAAS,UAAU;AAAA,EACjC;AAAA,EAEA,UAAU,SAAqB;AAC7B,UAAM,eACJ,KAAK,oBAAoB,WAAW,QAAQ,UAAU,QAAQ;AAChE,QAAI,CAAC,aAAc;AAEnB,UAAM,cAAc,aAAa;AAAA,MAAU,CAAC,SAC1C,UAAU,kBAAkB,KAAK,MAAM,KAAK,IAAI;AAAA,IAAA;AAGlD,QAAI,gBAAgB,IAAI;AACd,cAAA;AAAA,QACN,iCAAiC,KAAK,IAAI,YAAY,QAAQ,KAAK;AAAA,MAAA;AAErE;AAAA,IACF;AAEI,QAAA,KAAK,oBAAoB,SAAS;AACpC,WAAK,KAAK,QAAQ,KAAK,MAAM,SAAS,WAAW;AAAA,IAAA,OAC5C;AACL,cAAQ,QAAQ,aAAa,KAAK,MAAM,KAAK,IAAI;AAAA,IACnD;AAAA,EACF;AACF;;;;AC7BA,UAAM,eAAe;AAEf,UAAA,UAAU,IAAI,KAAK;AACnB,UAAA,cAAc,IAAI,IAAI;AACtB,UAAA,eAAe,IAAiC,IAAI;AAC1D,UAAM,qBAAqB,6BAAwB;AAC7C,UAAA,aAAa,UAAU,MAAM;AACxB,eAAA,CAAC,KAAK,GAAG;AAAA,MAClB;AAEM,YAAA,gBAAgB,aAAa,MAAM,OAAO;AAEhD,aAAO,CAAC,cAAc,SAAS,cAAc,OAAO;AAAA,IAAA,GAP3B;AASrB,UAAA,cAAc,IAAsB,CAAA,CAAE;AACtC,UAAA,YAAY,wBAAC,WAA2B;AAChC,kBAAA,MAAM,KAAK,MAAM;AAAA,IAAA,GADb;AAGZ,UAAA,eAAe,wBAAC,WAA2B;AACnC,kBAAA,QAAQ,YAAY,MAAM;AAAA,QACpC,CAAC,MAAM,MAAM,CAAC,MAAM,MAAM,MAAM;AAAA,MAAA;AAAA,IAClC,GAHmB;AAKrB,UAAM,eAAe,6BAAM;AACzB,kBAAY,QAAQ;IAAC,GADF;AAGrB,UAAM,cAAc,6BAAM;AACxB,cAAQ,QAAQ;AAAA,IAAA,GADE;AAId,UAAA,UAAU,wBAAC,YAA8B;AACvC,YAAA,OAAO,IAAI,eAAe,SAAS,EAAE,KAAK,sBAAsB;AAEhE,YAAA,cAAc,aAAa,MAAM;AACnC,UAAA,YAAY,YAAY,iBAAiB;AAC3C,oBAAY,mBAAmB,MAAM,QAAQ,CAAC,SAAyB;AACrE,6BAAmB,sBAAsB,IAAI,EAAE,UAAU,IAAI;AAAA,QAAA,CAC9D;AAAA,MACH;AAKA,aAAO,WAAW,MAAM;AACV;SACX,GAAG;AAAA,IAAA,GAfQ;AAkBhB,UAAM,sBAAsB;AAAA,MAC1B,MAAM,aAAa,IAAI,yBAAyB,MAAM;AAAA,IAAA;AAElD,UAAA,gBAAgB,wBAAC,MAA4B;AACjD,UAAI,oBAAoB,OAAO;AAC7B,YAAI,EAAE,OAAO,eAAe,gBAAgB,SAAS;AACnD,qBAAW,MAAM;AACf,6BAAiB,CAAC;AAAA,aACjB,GAAG;AAAA,QAAA,OACD;AACL,2BAAiB,CAAC;AAAA,QACpB;AAAA,MAAA,OACK;AACL,oBAAY,OAAO,cAAc,EAAE,OAAO,aAA2B;AAAA,MACvE;AAAA,IAAA,GAXoB;AActB,UAAM,eAAe;AACf,UAAA,mBAAmB,wBAAC,MAA4B;AAChD,UAAA,EAAE,OAAO,oBAAoB;AACzB,cAAA,QAAQ,EAAE,OAAO,mBAAmB;AACtC,YAAA,MAAM,WAAW,GAAG;AACtB,kBAAQ,KAAK,uDAAuD;AACpE;AAAA,QACF;AACA,cAAM,YAAY,mBAAmB,sBAAsB,MAAM,CAAC,CAAC;AAC7D,cAAA,SAAS,aAAa,kBAAkB;AAAA,UAC5C,UAAU;AAAA,QAAA;AAEZ,cAAM,WAAW,UAAU;AACjB,kBAAA,CAAC,QAAQ,QAAQ,CAAC;AAAA,MAC9B;AAEA,cAAQ,QAAQ;AAChB,mBAAa,QAAQ;AAGrB,kBAAY,QAAQ;AACpB,iBAAW,MAAM;AACf,oBAAY,QAAQ;AAAA,SACnB,GAAG;AAAA,IAAA,GAtBiB;AAyBnB,UAAA,kBAAkB,wBAAC,MAA4B;AAC7C,YAAA,QAAQ,EAAE,OAAO,mBAAmB;AACtC,UAAA,MAAM,WAAW,GAAG;AACtB,gBAAQ,KAAK,uDAAuD;AACpE;AAAA,MACF;AAEA,YAAM,YAAY,mBAAmB,sBAAsB,MAAM,CAAC,CAAC;AAC7D,YAAA,aAAa,EAAE,OAAO;AAC5B,YAAM,gBAAgB;AAAA,QACpB,GAAG;AAAA,QACH,iBAAiB;AAAA,QACjB,eAAe,6BAAM,cAAc,CAAC,GAArB;AAAA,MAAqB;AAEtC,YAAM,oBAAoB,UAAU,SAChC,EAAE,UAAU,UAAU,MAAM,UAAU,UAAU,WAChD,EAAE,QAAQ,UAAU,MAAM,QAAQ,UAAU;AAChD,kBAAY,OAAO,mBAAmB;AAAA,QACpC,GAAG;AAAA,QACH,GAAG;AAAA,MAAA,CACJ;AAAA,IAAA,GApBqB;AAwBxB,UAAM,cAAc;AACpB,gBAAY,MAAM;AAChB,UAAI,YAAY,QAAQ;AACtB,kBAAU,mCAAmC;AAC7C,oBAAY,OAAO,kBAAkB;AAAA,MACvC;AAAA,IAAA,CACD;AAEK,UAAA,qBAAqB,wBAAC,MAA4B;AAClD,UAAA,EAAE,OAAO,YAAY,sBAAsB;AAC7C,sBAAc,CAAC;AAAA,MACN,WAAA,EAAE,OAAO,YAAY,iBAAiB;AAC/C,iCAAyB,CAAC;AAAA,MACjB,WAAA,EAAE,OAAO,YAAY,sBAAsB;AAC9C,cAAA,QAAQ,EAAE,OAAO;AACvB,cAAM,CAAC,GAAG,CAAC,IAAI,MAAM;AAErB,cAAM,YAAY,EAAE,OAAO,cAAc,UAAU;AAE/C,YAAA,YAAY,MAAM,aAAa;AACjC,wBAAc,CAAC;AAAA,QACjB;AAAA,MACF;AAAA,IAAA,GAdyB;AAiBrB,UAAA,oBAAoB,SAAS,MAAM;AAChC,aAAA,aAAa,IAAI,0BAA0B;AAAA,IAAA,CACnD;AAEK,UAAA,yBAAyB,SAAS,MAAM;AACrC,aAAA,aAAa,IAAI,+BAA+B;AAAA,IAAA,CACxD;AAEK,UAAA,2BAA2B,wBAAC,MAA4B;AACtD,YAAA,gBAAgB,EAAE,OAAO;AAC/B,YAAM,eAAe,cAAc;AAEnC,YAAM,SAAS,eACX,uBAAuB,QACvB,kBAAkB;AACtB,cAAQ,QAAQ;AAAA,QACd,KAAK,yBAAyB;AAC5B,wBAAc,CAAC;AACf;AAAA,QACF,KAAK,yBAAyB;AAC5B,0BAAgB,CAAC;AACjB;AAAA,QACF,KAAK,yBAAyB;AAAA,QAC9B;AACE;AAAA,MACJ;AAAA,IAAA,GAjB+B;AAoBjC,cAAU,MAAM;AACL,eAAA,iBAAiB,oBAAoB,kBAAkB;AAAA,IAAA,CACjE;AAED,gBAAY,MAAM;AACP,eAAA,oBAAoB,oBAAoB,kBAAkB;AAAA,IAAA,CACpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7MG,QAAA;AACJ,UAAM,eAAe;AACrB,UAAM,aAAa;AACb,UAAA,cAAc,IAAI,EAAE;AAC1B,UAAM,OAAO;AACb,UAAM,MAAM;AAEZ,UAAM,mBAAmB,6BAAM;AACvB,YAAA,OAAOE,IAAS,OAAO;AACzB,UAAA,CAAC,KAAK,QAAS;AAEb,YAAA,WAAWA,IAAS,OAAO;AACjC,YAAM,IAAI,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC;AAClC,YAAM,IAAI,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC;AAEvB,iBAAA,KAAK,KAAK,SAAS;AAC5B,YAAI,aAAqB;AACzB,YAAI,EAAE,aAAa;AACjB;AAAE,WAAA,aAAa,YAAY,IAAI,EAAE,YAAY,KAAK,KAAK,CAAC,CAAC;AAAA,QAAA,OACpD;AACL,wBAAe,EAAyB,SAAS,KAAK,KAAK,CAAC;AAC5D,yBAAe,UAAU;AAAA,QAC3B;AAEA,YACE,EAAE,WAAW,UACb,KAAK,KACL,KAAK,cAAc,MACnB,KAAK,EAAE,UACP,KAAK,EAAE,SAAS,cAChB;AACO,iBAAA;AAAA,QACT;AAAA,MACF;AAAA,IAAA,GA1BuB;AA6BnB,UAAA,cAAc,6BAAO,YAAY,QAAQ,MAA3B;AAEd,UAAA,cAAc,8BAAO,YAAuC;AAChE,UAAI,CAAC,QAAS;AAEd,WAAK,QAAQA,IAAS,OAAO,MAAM,CAAC,IAAI;AACxC,UAAI,QAAQA,IAAS,OAAO,MAAM,CAAC,IAAI;AACvC,kBAAY,QAAQ;AAEpB,YAAM,SAAS;AAET,YAAA,OAAO,WAAW,MAAM,sBAAsB;AAChD,UAAA,KAAK,QAAQ,OAAO,YAAY;AAClC,aAAK,QAAQA,IAAS,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;AAAA,MACvD;AAEI,UAAA,KAAK,MAAM,GAAG;AAChB,YAAI,QAAQA,IAAS,OAAO,MAAM,CAAC,IAAI,KAAK,SAAS;AAAA,MACvD;AAAA,IAAA,GAhBkB;AAmBpB,UAAM,SAAS,6BAAM;AACb,YAAA,EAAE,OAAW,IAAAA;AACnB,YAAM,OAAO,OAAO;AACpB,UAAI,CAAC,KAAM;AAEX,YAAM,OAAO,KAAK;AAClB,YAAM,UAAU,aAAa,eAAe,KAAK,IAAI;AAGnD,UAAA,KAAK,eAAe,UAAU,YAC9B,OAAO,YAAY,CAAC,IAAI,KAAK,IAAI,CAAC,GAClC;AACO,eAAA,YAAY,QAAQ,WAAW;AAAA,MACxC;AAEI,UAAA,KAAK,OAAO,UAAW;AAE3B,YAAM,YAAY,OAAO;AAAA,QACvB;AAAA,QACA,OAAO,YAAY,CAAC;AAAA,QACpB,OAAO,YAAY,CAAC;AAAA,QACpB,CAAC,GAAG,CAAC;AAAA,MAAA;AAEP,UAAI,cAAc,IAAI;AACpB,cAAM,YAAY,KAAK,OAAO,SAAS,EAAE;AACzC,eAAO,YAAY,QAAQ,MAAM,SAAS,SAAS,GAAG,OAAO;AAAA,MAC/D;AAEA,YAAM,aAAa,OAAO;AAAA,QACxB;AAAA,QACA,OAAO,YAAY,CAAC;AAAA,QACpB,OAAO,YAAY,CAAC;AAAA,QACpB,CAAC,GAAG,CAAC;AAAA,MAAA;AAEP,UAAI,eAAe,IAAI;AACrB,eAAO,YAAY,QAAQ,OAAO,MAAM,UAAU,GAAG,OAAO;AAAA,MAC9D;AAEA,YAAM,SAAS;AAEX,UAAA,UAAU,CAAC,OAAO,SAAS;AACtB,eAAA;AAAA,UACL,OAAO,WAAW,QAAQ,MAAM,SAAS,OAAO,IAAI,GAAG;AAAA,QAAA;AAAA,MAE3D;AAAA,IAAA,GA5Ca;AA+CT,UAAA,cAAc,wBAAC,MAAkB;AACzB;AACZ,mBAAa,WAAW;AAEnB,UAAA,EAAE,OAAgB,aAAa,SAAU;AAChC,oBAAA,OAAO,WAAW,QAAQ,GAAG;AAAA,IAAA,GALzB;AAQH,qBAAA,QAAQ,aAAa,WAAW;AAChC,qBAAA,QAAQ,SAAS,WAAW;;;;;;;;;;;;;;;;AC9G7C,UAAM,eAAe;AACrB,UAAM,sBAAsB;AAAA,MAC1B,MAAM,aAAa,IAAI,qCAAqC;AAAA,IAAA;AAE9D,UAAM,kBAAkB;AAAA,MACtB,MAAM,aAAa,IAAI,iCAAiC;AAAA,IAAA;AAE1D,UAAM,yBAAyB;AAAA,MAC7B,MACE,aAAa,IAAI,wCAAwC;AAAA,IAAA;AAG7D,UAAM,CAAC,qBAAqB,iBAAiB,sBAAsB,GAAG,MAAM;AACtE,UAAA,OAAO,eAAe,MAAM,IAAI;AAAA,IAAA,CACrC;AAED,UAAM,eAAe;AAAA,MAAS,MAC5B,gBAAgB,aAAa,IAAI,oBAAoB,CAAC;AAAA,IAAA;AAGxD,UAAM,eAAe;AACZ,aAAA,iBACP,SACA,WACS;AACT,aAAO,EACL,cAAc,cAAc,QAC3B,SAAS,cAAc,cAAc,cAAc;AAAA,IAExD;AARS;AAUT,cAAU,MAAM;AACd,UAAI,kBAAkB;AAAA,QACpB,MAAM;AAAA,QACN,YAAY,MAAkB;AAC5B,eAAK,gBAAgB,cAAc;AAE7B,gBAAA,QAAQ,SAAS,MAAM;AACrB,kBAAA,UAAU,aAAa,eAAe,IAAI;AAChD,mBAAO,IAAI,YAAY;AAAA,cACrB,MAAM,EAAE;AAAA,gBACN;AAAA,kBACE,iBAAiB,SAAS,gBAAgB,KAAK,IAC3C,IAAI,KAAK,EAAE,KACX;AAAA,kBACJ,iBAAiB,SAAS,uBAAuB,KAAK,IAClD,SAAS,0BAA0B,KACnC;AAAA,kBACJ,iBAAiB,SAAS,oBAAoB,KAAK,IAC/C,SAAS,YAAY,aAAa,KAClC;AAAA,gBAAA,EAEH,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,EAC1B,KAAK,GAAG;AAAA,gBACX;AAAA,kBACE,QAAQ;AAAA,gBACV;AAAA,cACF;AAAA,cACA,SACE,aAAa,MAAM,OAAO,gBAAgB,kBAC1C,oBAAoB,OAAO,eAAe;AAAA,cAC5C,SACE,aAAa,MAAM,OAAO,gBAAgB,kBAC1C,oBAAoB,OAAO,eAAe;AAAA,YAAA,CAC7C;AAAA,UAAA,CACF;AAED,eAAK,OAAO,KAAK,MAAM,MAAM,KAAK;AAAA,QACpC;AAAA,MAAA,CACD;AAAA,IAAA,CACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzFD,IAAIvE,UAAQ,gCAASA,OAAM,MAAM;AAC/B,OAAK;AACL,SAAO;AACT,GAHY;AAIZ,IAAIC,YAAU;AAAA,EACZ,MAAM;AACR;AACA,IAAI,mBAAmB,UAAU,OAAO;AAAA,EACtC,MAAM;AAAA,EACN,OAAOD;AAAAA,EACP,SAASC;AACX,CAAC;ACTD,IAAIC,aAAW;AAAA,EACb,MAAM;AAAA,EACN,WAAWM;AAAAA,EACX,OAAO;AAAA,EACP,SAAS,gCAASJ,WAAU;AAC1B,WAAO;AAAA,MACL,gBAAgB;AAAA,MAChB,iBAAiB;AAAA,IACvB;AAAA,EACG,GALQ;AAMX;AAEA,IAAIC,WAAS;AAAA,EACX,MAAM;AAAA,EACN,WAAWH;AAAAA,EACX,cAAc;AAChB;AAEA,SAASI,SAAO,MAAM,QAAQ,QAAQ,QAAQ,OAAO,UAAU;AAC7D,SAAO,UAAW,GAAE,mBAAmB,QAAQ,WAAW;AAAA,IACxD,SAAS,KAAK,GAAG,MAAM;AAAA,IACvB,MAAM;AAAA,EACP,GAAE,KAAK,KAAK,MAAM,CAAC,GAAG,CAAC,WAAW,KAAK,QAAQ,SAAS,CAAC,GAAG,EAAE;AACjE;AALSA;AAOTD,SAAO,SAASC;;;;ACgCV,UAAA,EAAE,MAAM;AACd,UAAM,eAAe;AACrB,UAAM,cAAc;AACpB,UAAM,eAAe;AAErB,UAAM,aAAa;AAAA,MACjB,MAAM,aAAa,IAAI,sBAAsB,MAAM,UAAU;AAAA,IAAA;AAG/D,QAAI,WAA0B;AACxB,UAAAkE,UAAS,wBAAC,YAAoB;AAClC,UAAI,SAAU;AACd,YAAM,MAAM,6BAAM,aAAa,QAAQ,OAAO,GAAlC;AACR;AACO,iBAAA,OAAO,YAAY,KAAK,GAAG;AAAA,IAAA,GAJzB;AAMf,UAAM,aAAa,6BAAM;AACvB,UAAI,UAAU;AACZ,sBAAc,QAAQ;AACX,mBAAA;AAAA,MACb;AAAA,IAAA,GAJiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBnB,UAAM,OAAO;AACP,UAAA,YAAY,IAA8B,IAAI;AACpD,UAAM,eAAe;AACrB,UAAM,eAAe;AACrB,UAAM,iBAAiB;AACvB,UAAM,cAAc;AACpB,UAAM,mBAAmB;AACzB,UAAM,kBAAkB;AAAA,MACtB,MACE,aAAa,IAAI,kBAAkB,MAAM,cACzC,CAAC,eAAe;AAAA,IAAA;AAEpB,UAAM,oBAAoB;AAAA,MAAS,MACjC,aAAa,IAAI,wBAAwB;AAAA,IAAA;AAE3C,UAAM,iBAAiB,SAAS,MAAM,aAAa,IAAI,sBAAsB,CAAC;AAE9E,gBAAY,MAAM;AACV,YAAA,oBAAoB,aAAa,IAAI,wBAAwB;AACnE,UAAI,YAAY,QAAQ;AACtB,oBAAY,OAAO,YAAY;AAAA,MACjC;AAAA,IAAA,CACD;AAED,gBAAY,MAAM;AACV,YAAA,YAAY,aAAa,IAAI,uBAAuB;AAC1D,UAAI,YAAY,QAAQ;AACtB,oBAAY,OAAO,aAAa;AAAA,MAClC;AAAA,IAAA,CACD;AAED,gBAAY,MAAM;AACH,mBAAA,iBAAiB,aAAa,IAAI,2BAA2B;AAAA,IAAA,CAC3E;AAED,gBAAY,MAAM;AAChB,mBAAa,mBAAmB,aAAa;AAAA,QAC3C;AAAA,MAAA;AAAA,IACF,CACD;AAED,gBAAY,MAAM;AACV,YAAA,oBAAoB,aAAa,IAAI,iCAAiC;AACtE,YAAA,YAAY,SAAS,iBAAiB,gCAAgC;AAElE,gBAAA,QAAQ,CAAC,aAAkC;AACnD,iBAAS,aAAa;AAEtB,iBAAS,MAAM;AACf,iBAAS,KAAK;AAAA,MAAA,CACf;AAAA,IAAA,CACF;AAED,gBAAY,MAAM;AACV,YAAA,iBAAiB,aAAa,IAAI,sBAAsB;AAC9D,UAAI,YAAY,QAAQ;AACtB,oBAAY,OAAO,oBAAoB;AACvC,oBAAY,OAAO;AAAA;AAAA,UAAkB;AAAA;AAAA,UAAgB;AAAA,QAAA;AAAA,MACvD;AAAA,IAAA,CACD;AAED,gBAAY,MAAM;AACZ,UAAA,CAAC,YAAY,OAAQ;AAErB,UAAA,YAAY,OAAO,iBAAiB;AAC1B,oBAAA,OAAO,OAAO,MAAM,SAAS;AACzC;AAAA,MACF;AAEI,UAAA,YAAY,OAAO,WAAW;AACpB,oBAAA,OAAO,OAAO,MAAM,SAAS;AACzC;AAAA,MACF;AAEY,kBAAA,OAAO,OAAO,MAAM,SAAS;AAAA,IAAA,CAC1C;AAEqB,0BAAA,MAAM,UAAU,OAAO;AAAA,MAC3C,QAAQ,wBAAC,UAAU;AACX,cAAA,MAAM,MAAM,SAAS,QAAQ;AAC7B,cAAA,UAAU,MAAM,OAAO;AAEzB,YAAA,QAAQ,SAAS,sBAAsB;AACzC,gBAAM,OAAO,QAAQ;AACjB,cAAA,KAAK,gBAAgB,kBAAkB;AACzC,kBAAM,UAAU,KAAK;AAGf,kBAAA,MAAMD,IAAS,qBAAqB;AAAA,cACxC,IAAI,UAAU;AAAA,cACd,IAAI;AAAA,YAAA,CACL;AACDA,gBAAS,eAAe,SAAS,EAAE,IAAK,CAAA;AAAA,UAAA,WAC/B,KAAK,gBAAgB,eAAe;AAC7C,kBAAM,QAAQ,KAAK;AACb,kBAAA,MAAMA,IAAS,qBAAqB,CAAC,IAAI,SAAS,IAAI,OAAO,CAAC;AAC9D,kBAAA,YAAYA,IAAS,MAAM,aAAa,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AAC5D,gBAAI,iBAA2C;AAC/C,gBAAI,kBAAqC;AACzC,gBAAI,WAAW;AACb,oBAAM,YAAY,iBAAiB;AAAA,gBACjC,MAAM;AAAA,cAAA;AAER,yBAAW,YAAY,WAAW;AAChC,oBAAI,SAAS,QAAQ,SAAS,UAAU,YAAY;AAChC,oCAAA;AACD,mCAAA;AAAA,gBACnB;AAAA,cACF;AAAA,YACF;AACA,gBAAI,CAAC,iBAAiB;AACpB,oBAAM,WAAW,iBAAiB,gBAAgB,MAAM,SAAS;AACjE,kBAAI,UAAU;AACM,kCAAAA,IAAS,eAAe,SAAS,SAAS;AAAA,kBAC1D;AAAA,gBAAA,CACD;AACgB,iCAAA;AAAA,cACnB;AAAA,YACF;AACA,gBAAI,iBAAiB;AACb,oBAAA,SAAS,gBAAgB,QAAQ;AAAA,gBACrC,CAACE,YAAWA,QAAO,SAAS,eAAe;AAAA,cAAA;AAE7C,kBAAI,QAAQ;AACV,uBAAO,QAAQ,MAAM;AAAA,cACvB;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF,GAnDQ;AAAA,IAmDR,CACD;AAED,cAAU,YAAY;AAGpB,aAAO,WAAW,IAAI;AACtB,aAAO,QAAQ,IAAI;AACnB,aAAO,OAAO,IAAI;AAClB,aAAO,YAAY,IAAI;AACvB,aAAO,aAAa,IAAI;AACxB,aAAO,cAAc,IAAI;AACzB,aAAO,cAAc,IAAI;AACzB,aAAO,aAAa,IAAI;AACxB,aAAO,aAAa,IAAI;AAExBF,UAAS,cAAc;AAEvB,qBAAe,UAAU;AACnB,YAAAA,IAAS,MAAM,UAAU,KAAK;AACpC,kBAAY,SAASA,IAAS;AAC9B,qBAAe,UAAU;AAEzB,aAAO,KAAK,IAAIA;AACT,aAAA,OAAO,IAAIA,IAAS;AAE3B,WAAK,OAAO;AAAA,IAAA,CACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjMD,UAAM,iBAAiB;AACvB,UAAM,eAAe;AACrB,UAAM,gBAAgB,6BAAM;AAC1B,qBAAe,YAAY;AAAA,IAAA,GADP;AAItB,gBAAY,MAAM;AAChB,UAAI,aAAa,IAAI,kBAAkB,MAAM,YAAY;AACvD;AAAA,MACF;AACA,UAAI,eAAe,WAAW;AACxB,YAAA,GAAG,cAAc,MAAM,UAAU;AAAA,MAAA,OAChC;AACD,YAAA,GAAG,cAAc,MAAM,UAAU;AAAA,MACvC;AAAA,IAAA,CACD;;;;;;;;;;;;;;;;AChCD,SAASlB,UAAQ,GAAG;AAAE;AAA2B,SAAOA,YAAU,cAAc,OAAO,UAAU,YAAY,OAAO,OAAO,WAAW,SAAUrB,IAAG;AAAE,WAAO,OAAOA;AAAA,MAAO,SAAUA,IAAG;AAAE,WAAOA,MAAK,cAAc,OAAO,UAAUA,GAAE,gBAAgB,UAAUA,OAAM,OAAO,YAAY,WAAW,OAAOA;AAAA,EAAE,GAAIqB,UAAQ,CAAC;AAAI;AAArTA;AACT,SAASI,kBAAgB,GAAG,GAAG,GAAG;AAAE,UAAQ,IAAIC,iBAAe,CAAC,MAAM,IAAI,OAAO,eAAe,GAAG,GAAG,EAAE,OAAO,GAAG,YAAY,MAAI,cAAc,MAAI,UAAU,KAAI,CAAA,IAAI,EAAE,CAAC,IAAI,GAAG;AAAI;AAA3KD;AACT,SAASC,iBAAe,GAAG;AAAE,MAAI,IAAIC,eAAa,GAAG,QAAQ;AAAG,SAAO,YAAYN,UAAQ,CAAC,IAAI,IAAI,IAAI;AAAK;AAApGK;AACT,SAASC,eAAa,GAAG,GAAG;AAAE,MAAI,YAAYN,UAAQ,CAAC,KAAK,CAAC,EAAG,QAAO;AAAG,MAAI,IAAI,EAAE,OAAO,WAAW;AAAG,MAAI,WAAW,GAAG;AAAE,QAAI,IAAI,EAAE,KAAK,GAAG,KAAK,SAAS;AAAG,QAAI,YAAYA,UAAQ,CAAC,EAAG,QAAO;AAAG,UAAM,IAAI,UAAU,8CAA8C;AAAA,EAAI;AAAC,UAAQ,aAAa,IAAI,SAAS,QAAQ,CAAC;AAAI;AAAnTM;AACT,IAAI3D,UAAQ,gCAASA,OAAM,MAAM;AAC/B,MAAI,KAAK,KAAK;AACd,SAAO,4BAA4B,OAAO,GAAG,aAAa,GAAG,kLAAkL,EAAE,OAAO,GAAG,iBAAiB,GAAG,gBAAgB,EAAE,OAAO,GAAG,iBAAiB,GAAG,iBAAiB,EAAE,OAAO,GAAG,iBAAiB,GAAG,qGAAqG,EAAE,OAAO,GAAG,uBAAuB,GAAG,cAAc,EAAE,OAAO,GAAG,mBAAmB,GAAG,kHAAkH,EAAE,OAAO,GAAG,gBAAgB,GAAG,+CAA+C,EAAE,OAAO,GAAG,2BAA2B,GAAG,oBAAoB,EAAE,OAAO,GAAG,yBAAyB,GAAG,8CAA8C,EAAE,OAAO,GAAG,0BAA0B,GAAG,oBAAoB,EAAE,OAAO,GAAG,wBAAwB,GAAG,8OAA8O,EAAE,OAAO,GAAG,2BAA2B,GAAG,UAAU,EAAE,OAAO,GAAG,2BAA2B,GAAG,kBAAkB,EAAE,OAAO,GAAG,2BAA2B,GAAG,eAAe,EAAE,OAAO,GAAG,2BAA2B,GAAG,sEAAsE,EAAE,OAAO,GAAG,0BAA0B,GAAG,iBAAiB,EAAE,OAAO,GAAG,2BAA2B,GAAG,wBAAwB,EAAE,OAAO,GAAG,kCAAkC,GAAG,iSAAiS,EAAE,OAAO,GAAG,oBAAoB,GAAG,yDAAyD,EAAE,OAAO,GAAG,YAAY,GAAG,yBAAyB,EAAE,OAAO,GAAG,qBAAqB,GAAG,gDAAgD,EAAE,OAAO,GAAG,uBAAuB,GAAG,gBAAgB,EAAE,OAAO,GAAG,uBAAuB,GAAG,iBAAiB,EAAE,OAAO,GAAG,uBAAuB,GAAG,oEAAoE,EAAE,OAAO,GAAG,kBAAkB,GAAG,wBAAwB,EAAE,OAAO,GAAG,kBAAkB,GAAG,yBAAyB,EAAE,OAAO,GAAG,mBAAmB,GAAG,mDAAmD,EAAE,OAAO,GAAG,uBAAuB,GAAG,uBAAuB,EAAE,OAAO,GAAG,yBAAyB,GAAG,gBAAgB,EAAE,OAAO,GAAG,kBAAkB,GAAG,qBAAqB,EAAE,OAAO,GAAG,mBAAmB,GAAG,8DAA8D,EAAE,OAAO,GAAG,yBAAyB,GAAG,0FAA0F,EAAE,OAAO,GAAG,0CAA0C,GAAG,qBAAqB,EAAE,OAAO,GAAG,2CAA2C,GAAG,+EAA+E,EAAE,OAAO,GAAG,0CAA0C,GAAG,sDAAsD,EAAE,OAAO,GAAG,0BAA0B,GAAG,uBAAuB,EAAE,OAAO,GAAG,4BAA4B,GAAG,gBAAgB,EAAE,OAAO,GAAG,qBAAqB,GAAG,qBAAqB,EAAE,OAAO,GAAG,sBAAsB,GAAG,iEAAiE,EAAE,OAAO,GAAG,4BAA4B,GAAG,6FAA6F,EAAE,OAAO,GAAG,6CAA6C,GAAG,qBAAqB,EAAE,OAAO,GAAG,8CAA8C,GAAG,kFAAkF,EAAE,OAAO,GAAG,6CAA6C,GAAG,mDAAmD,EAAE,OAAO,GAAG,uBAAuB,GAAG,uBAAuB,EAAE,OAAO,GAAG,yBAAyB,GAAG,gBAAgB,EAAE,OAAO,GAAG,kBAAkB,GAAG,qBAAqB,EAAE,OAAO,GAAG,mBAAmB,GAAG,8DAA8D,EAAE,OAAO,GAAG,yBAAyB,GAAG,0FAA0F,EAAE,OAAO,GAAG,0CAA0C,GAAG,qBAAqB,EAAE,OAAO,GAAG,2CAA2C,GAAG,+EAA+E,EAAE,OAAO,GAAG,0CAA0C,GAAG,oDAAoD,EAAE,OAAO,GAAG,wBAAwB,GAAG,uBAAuB,EAAE,OAAO,GAAG,0BAA0B,GAAG,gBAAgB,EAAE,OAAO,GAAG,mBAAmB,GAAG,qBAAqB,EAAE,OAAO,GAAG,oBAAoB,GAAG,+DAA+D,EAAE,OAAO,GAAG,0BAA0B,GAAG,2FAA2F,EAAE,OAAO,GAAG,2CAA2C,GAAG,qBAAqB,EAAE,OAAO,GAAG,4CAA4C,GAAG,gFAAgF,EAAE,OAAO,GAAG,2CAA2C,GAAG,wDAAwD,EAAE,OAAO,GAAG,4BAA4B,GAAG,uBAAuB,EAAE,OAAO,GAAG,8BAA8B,GAAG,gBAAgB,EAAE,OAAO,GAAG,uBAAuB,GAAG,qBAAqB,EAAE,OAAO,GAAG,wBAAwB,GAAG,mEAAmE,EAAE,OAAO,GAAG,8BAA8B,GAAG,+FAA+F,EAAE,OAAO,GAAG,+CAA+C,GAAG,qBAAqB,EAAE,OAAO,GAAG,gDAAgD,GAAG,oFAAoF,EAAE,OAAO,GAAG,+CAA+C,GAAG,uDAAuD,EAAE,OAAO,GAAG,2BAA2B,GAAG,uBAAuB,EAAE,OAAO,GAAG,6BAA6B,GAAG,gBAAgB,EAAE,OAAO,GAAG,sBAAsB,GAAG,qBAAqB,EAAE,OAAO,GAAG,uBAAuB,GAAG,kEAAkE,EAAE,OAAO,GAAG,6BAA6B,GAAG,8FAA8F,EAAE,OAAO,GAAG,8CAA8C,GAAG,qBAAqB,EAAE,OAAO,GAAG,+CAA+C,GAAG,mFAAmF,EAAE,OAAO,GAAG,8CAA8C,GAAG,stBAAstB;AAC5lP,GAHY;AAMZ,IAAIkB,iBAAe;AAAA,EACjB,MAAM,gCAASD,MAAK,OAAO;AACzB,QAAI,WAAW,MAAM;AACrB,WAAO;AAAA,MACL,UAAU;AAAA,MACV,KAAK,aAAa,eAAe,aAAa,cAAc,aAAa,eAAe,SAAS,aAAa,WAAW,QAAQ;AAAA,MACjI,QAAQ,aAAa,eAAe,aAAa,mBAAmB;AAAA,MACpE,SAAS,aAAa,iBAAiB,aAAa,kBAAkB,aAAa,oBAAoB;AAAA,MACvG,MAAM,aAAa,cAAc,aAAa,gBAAgB,SAAS,aAAa,YAAY,aAAa,gBAAgB,aAAa,kBAAkB,QAAQ;AAAA,IAC1K;AAAA,EACG,GATK;AAUR;AACA,IAAIhB,YAAU;AAAA,EACZ,MAAM,gCAASgB,MAAK,OAAO;AACzB,QAAI,QAAQ,MAAM;AAClB,WAAO,CAAC,iCAAiC,MAAM,QAAQ;AAAA,EACxD,GAHK;AAAA,EAIN,SAAS,gCAAS,QAAQ,OAAO;AAC/B,QAAI,QAAQ,MAAM;AAClB,WAAO,CAAC,mBAAmB;AAAA,MACzB,wBAAwB,MAAM,QAAQ,aAAa,UAAU,MAAM,QAAQ,aAAa;AAAA,MACxF,wBAAwB,MAAM,QAAQ,aAAa;AAAA,MACnD,yBAAyB,MAAM,QAAQ,aAAa;AAAA,MACpD,2BAA2B,MAAM,QAAQ,aAAa;AAAA,MACtD,6BAA6B,MAAM,QAAQ,aAAa;AAAA,MACxD,4BAA4B,MAAM,QAAQ,aAAa;AAAA,IAC7D,CAAK;AAAA,EACF,GAVQ;AAAA,EAWT,gBAAgB;AAAA,EAChB,aAAa,gCAAS,YAAY,OAAO;AACvC,QAAI,QAAQ,MAAM;AAClB,WAAO,CAAC,wBAAwBwC,kBAAgBA,kBAAgBA,kBAAgBA,kBAAgB,IAAI,MAAM,UAAU,MAAM,QAAQ,aAAa,MAAM,GAAG,MAAM,UAAU,MAAM,QAAQ,aAAa,MAAM,GAAG,MAAM,WAAW,MAAM,QAAQ,aAAa,OAAO,GAAG,MAAM,aAAa,MAAM,QAAQ,aAAa,SAAS,CAAC;AAAA,EAC3T,GAHY;AAAA,EAIb,aAAa;AAAA,EACb,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,WAAW;AACb;AACA,IAAI,aAAa,UAAU,OAAO;AAAA,EAChC,MAAM;AAAA,EACN,OAAOzD;AAAAA,EACP,SAASC;AAAAA,EACT,cAAciB;AAChB,CAAC;ACrDD,IAAIb,WAAS;AAAA,EACX,MAAM;AAAA,EACN,WAAWqE;AACb;AAEA,SAASpE,SAAO,MAAM,QAAQ,QAAQ,QAAQ,OAAO,UAAU;AAC7D,SAAO,UAAW,GAAE,mBAAmB,OAAO,WAAW;AAAA,IACvD,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,MAAM;AAAA,IACN,OAAO;AAAA,EACR,GAAE,KAAK,KAAK,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAACU,gBAAmB,QAAQ;AAAA,IACpE,GAAG;AAAA,IACH,MAAM;AAAA,EACP,GAAE,MAAM,EAAE,GAAGA,gBAAmB,QAAQ;AAAA,IACvC,GAAG;AAAA,IACH,MAAM;AAAA,EACP,GAAE,MAAM,EAAE,GAAGA,gBAAmB,QAAQ;AAAA,IACvC,GAAG;AAAA,IACH,MAAM;AAAA,EACP,GAAE,MAAM,EAAE,CAAC,IAAI,EAAE;AACpB;AAjBSV;AAmBTD,SAAO,SAASC;ACxBhB,IAAID,WAAS;AAAA,EACX,MAAM;AAAA,EACN,WAAWqE;AACb;AAEA,SAASpE,SAAO,MAAM,QAAQ,QAAQ,QAAQ,OAAO,UAAU;AAC7D,SAAO,UAAW,GAAE,mBAAmB,OAAO,WAAW;AAAA,IACvD,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,MAAM;AAAA,IACN,OAAO;AAAA,EACR,GAAE,KAAK,KAAK,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAACU,gBAAmB,QAAQ;AAAA,IACpE,aAAa;AAAA,IACb,aAAa;AAAA,IACb,GAAG;AAAA,IACH,MAAM;AAAA,EACP,GAAE,MAAM,EAAE,CAAC,IAAI,EAAE;AACpB;AAbSV;AAeTD,SAAO,SAASC;ACRhB,IAAIqE,aAAW;AAAA,EACb,MAAM;AAAA,EACN,WAAWnE;AAAAA,EACX,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,YAAY;AAAA,MACV,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,YAAY;AAAA,MACV,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,aAAa;AAAA,MACX,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,aAAa;AAAA,MACX,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,kBAAkB;AAAA,MAChB,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,EACF;AAAA,EACD,OAAO;AAAA,EACP,SAAS,gCAASJ,WAAU;AAC1B,WAAO;AAAA,MACL,UAAU;AAAA,MACV,iBAAiB;AAAA,IACvB;AAAA,EACG,GALQ;AAMX;AAEA,IAAIF,aAAW;AAAA,EACb,MAAM;AAAA,EACN,UAAU;AAAA,EACV,WAAWM;AAAAA,EACX,OAAO,CAAC,OAAO;AAAA,EACf,cAAc;AAAA,EACd,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,aAAa;AAAA,MACX,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,kBAAkB;AAAA,MAChB,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,EACF;AAAA,EACD,SAAS,gCAASkB,WAAU;AAC1B,QAAI,QAAQ;AACZ,QAAI,KAAK,QAAQ,MAAM;AACrB,WAAK,eAAe,WAAW,WAAY;AACzC,cAAM,MAAM;AAAA,UACV,SAAS,MAAM;AAAA,UACf,MAAM;AAAA,QAChB,CAAS;AAAA,MACT,GAAS,KAAK,QAAQ,IAAI;AAAA,IACrB;AAAA,EACF,GAVQ;AAAA,EAWT,eAAe,gCAASC,iBAAgB;AACtC,SAAK,kBAAiB;AAAA,EACvB,GAFc;AAAA,EAGf,SAAS;AAAA,IACP,OAAO,gCAAS,MAAM,QAAQ;AAC5B,WAAK,MAAM,SAAS,MAAM;AAAA,IAC3B,GAFM;AAAA,IAGP,cAAc,gCAAS,eAAe;AACpC,WAAK,kBAAiB;AACtB,WAAK,MAAM;AAAA,QACT,SAAS,KAAK;AAAA,QACd,MAAM;AAAA,MACd,CAAO;AAAA,IACF,GANa;AAAA,IAOd,mBAAmB,gCAAS,oBAAoB;AAC9C,UAAI,KAAK,cAAc;AACrB,qBAAa,KAAK,YAAY;AAC9B,aAAK,eAAe;AAAA,MACrB;AAAA,IACF,GALkB;AAAA,EAMpB;AAAA,EACD,UAAU;AAAA,IACR,eAAe,gCAAS,gBAAgB;AACtC,aAAO;AAAA,QACL,MAAM,CAAC,KAAK,YAAYiD;AAAAA,QACxB,SAAS,CAAC,KAAK,eAAeC;AAAAA,QAC9B,MAAM,CAAC,KAAK,YAAYC;AAAAA,QACxB,OAAO,CAAC,KAAK,aAAaC;AAAAA,MAClC,EAAQ,KAAK,QAAQ,QAAQ;AAAA,IACxB,GAPc;AAAA,IAQf,gBAAgB,gCAAS,iBAAiB;AACxC,aAAO,KAAK,UAAU,OAAO,OAAO,OAAO,KAAK,UAAU,OAAO,OAAO,KAAK,QAAQ;AAAA,IACtF,GAFe;AAAA,EAGjB;AAAA,EACD,YAAY;AAAA,IACV,WAAWC;AAAAA,IACX,gBAAgBJ;AAAAA,IAChB,WAAWC;AAAAA,IACX,yBAAyBC;AAAAA,IACzB,iBAAiBC;AAAAA,EAClB;AAAA,EACD,YAAY;AAAA,IACV,QAAQ;AAAA,EACT;AACH;AAEA,SAAS,UAAU,GAAG;AAAE;AAA2B,SAAO,YAAY,cAAc,OAAO,UAAU,YAAY,OAAO,OAAO,WAAW,SAAU/C,IAAG;AAAE,WAAO,OAAOA;AAAA,MAAO,SAAUA,IAAG;AAAE,WAAOA,MAAK,cAAc,OAAO,UAAUA,GAAE,gBAAgB,UAAUA,OAAM,OAAO,YAAY,WAAW,OAAOA;AAAA,EAAE,GAAI,UAAU,CAAC;AAAI;AAA3T;AACT,SAAS,UAAU,GAAG,GAAG;AAAE,MAAI,IAAI,OAAO,KAAK,CAAC;AAAG,MAAI,OAAO,uBAAuB;AAAE,QAAI,IAAI,OAAO,sBAAsB,CAAC;AAAG,UAAM,IAAI,EAAE,OAAO,SAAUuB,IAAG;AAAE,aAAO,OAAO,yBAAyB,GAAGA,EAAC,EAAE;AAAA,IAAW,CAAE,IAAI,EAAE,KAAK,MAAM,GAAG,CAAC;AAAA,EAAE;AAAG,SAAO;AAAI;AAAxP;AACT,SAAS,gBAAgB,GAAG;AAAE,WAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AAAE,QAAI,IAAI,QAAQ,UAAU,CAAC,IAAI,UAAU,CAAC,IAAI,CAAE;AAAE,QAAI,IAAI,UAAU,OAAO,CAAC,GAAG,IAAE,EAAE,QAAQ,SAAUA,IAAG;AAAE,wBAAkB,GAAGA,IAAG,EAAEA,EAAC,CAAC;AAAA,IAAI,CAAA,IAAI,OAAO,4BAA4B,OAAO,iBAAiB,GAAG,OAAO,0BAA0B,CAAC,CAAC,IAAI,UAAU,OAAO,CAAC,CAAC,EAAE,QAAQ,SAAUA,IAAG;AAAE,aAAO,eAAe,GAAGA,IAAG,OAAO,yBAAyB,GAAGA,EAAC,CAAC;AAAA,IAAE,CAAE;AAAA,EAAI;AAAC,SAAO;AAAI;AAAtb;AACT,SAAS,kBAAkB,GAAG,GAAG,GAAG;AAAE,UAAQ,IAAI,iBAAiB,CAAC,MAAM,IAAI,OAAO,eAAe,GAAG,GAAG,EAAE,OAAO,GAAG,YAAY,MAAI,cAAc,MAAI,UAAU,KAAI,CAAA,IAAI,EAAE,CAAC,IAAI,GAAG;AAAI;AAA/K;AACT,SAAS,iBAAiB,GAAG;AAAE,MAAI,IAAI,eAAe,GAAG,QAAQ;AAAG,SAAO,YAAY,UAAU,CAAC,IAAI,IAAI,IAAI;AAAK;AAA1G;AACT,SAAS,eAAe,GAAG,GAAG;AAAE,MAAI,YAAY,UAAU,CAAC,KAAK,CAAC,EAAG,QAAO;AAAG,MAAI,IAAI,EAAE,OAAO,WAAW;AAAG,MAAI,WAAW,GAAG;AAAE,QAAI,IAAI,EAAE,KAAK,GAAG,KAAK,SAAS;AAAG,QAAI,YAAY,UAAU,CAAC,EAAG,QAAO;AAAG,UAAM,IAAI,UAAU,8CAA8C;AAAA,EAAI;AAAC,UAAQ,aAAa,IAAI,SAAS,QAAQ,CAAC;AAAI;AAAzT;AACT,IAAI1C,eAAa,CAAC,YAAY;AAC9B,SAASoE,WAAS,MAAM,QAAQ,QAAQ,QAAQ,OAAO,UAAU;AAC/D,MAAI,oBAAoB,iBAAiB,QAAQ;AACjD,SAAO,UAAW,GAAE,mBAAmB,OAAO,WAAW;AAAA,IACvD,SAAS,CAAC,KAAK,GAAG,SAAS,GAAG,OAAO,QAAQ,UAAU;AAAA,IACvD,MAAM;AAAA,IACN,aAAa;AAAA,IACb,eAAe;AAAA,EACnB,GAAK,KAAK,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,UAAU,aAAa,UAAS,GAAI,YAAY,wBAAwB,OAAO,UAAU,SAAS,GAAG;AAAA,IACpI,KAAK;AAAA,IACL,SAAS,OAAO;AAAA,IAChB,eAAe,SAAS;AAAA,EACzB,GAAE,MAAM,GAAG,CAAC,WAAW,eAAe,CAAC,MAAM,aAAa,mBAAmB,OAAO,WAAW;AAAA,IAC9F,KAAK;AAAA,IACL,SAAS,CAAC,KAAK,GAAG,gBAAgB,GAAG,OAAO,QAAQ,iBAAiB;AAAA,EACtE,GAAE,KAAK,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,UAAU,WAAW,aAAa,mBAAmB,UAAU;AAAA,IACtG,KAAK;AAAA,EACN,GAAE,EAAE,UAAS,GAAI,YAAY,wBAAwB,OAAO,UAAU,cAAc,OAAO,UAAU,cAAc,OAAO,UAAU,OAAO,OAAO,UAAU,OAAO,SAAS,iBAAiB,SAAS,cAAc,OAAO,SAAS,gBAAgB,MAAM,GAAG,WAAW;AAAA,IACvQ,SAAS,KAAK,GAAG,aAAa;AAAA,EAC/B,GAAE,KAAK,IAAI,aAAa,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAIjE,gBAAmB,OAAO,WAAW;AAAA,IACvF,SAAS,KAAK,GAAG,aAAa;AAAA,EAClC,GAAK,KAAK,IAAI,aAAa,CAAC,GAAG,CAACA,gBAAmB,QAAQ,WAAW;AAAA,IAClE,SAAS,KAAK,GAAG,SAAS;AAAA,EAC3B,GAAE,KAAK,IAAI,SAAS,CAAC,GAAG,gBAAgB,OAAO,QAAQ,OAAO,GAAG,EAAE,GAAGA,gBAAmB,OAAO,WAAW;AAAA,IAC1G,SAAS,KAAK,GAAG,QAAQ;AAAA,EAC7B,GAAK,KAAK,IAAI,QAAQ,CAAC,GAAG,gBAAgB,OAAO,QAAQ,MAAM,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,UAAW,GAAE,YAAY,wBAAwB,OAAO,UAAU,OAAO,GAAG;AAAA,IAC9J,KAAK;AAAA,IACL,SAAS,OAAO;AAAA,EACpB,GAAK,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,OAAO,QAAQ,aAAa,SAAS,UAAW,GAAE,mBAAmB,OAAO,eAAe,WAAW;AAAA,IAC/H,KAAK;AAAA,EACN,GAAE,KAAK,IAAI,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,UAAW,GAAE,mBAAmB,UAAU,WAAW;AAAA,IACtG,SAAS,KAAK,GAAG,aAAa;AAAA,IAC9B,MAAM;AAAA,IACN,cAAc,SAAS;AAAA,IACvB,SAAS,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,WAAY;AAC7C,aAAO,SAAS,gBAAgB,SAAS,aAAa,MAAM,UAAU,SAAS;AAAA,IACrF;AAAA,IACI,WAAW;AAAA,EACf,GAAK,gBAAgB,gBAAgB,IAAI,OAAO,gBAAgB,GAAG,KAAK,IAAI,aAAa,CAAC,CAAC,GAAG,EAAE,UAAS,GAAI,YAAY,wBAAwB,OAAO,UAAU,aAAa,WAAW,GAAG,WAAW;AAAA,IACpM,SAAS,CAAC,KAAK,GAAG,WAAW,GAAG,OAAO,SAAS;AAAA,EACjD,GAAE,KAAK,IAAI,WAAW,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAC,GAAI,IAAIH,YAAU,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,mBAAmB,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE;AAC/I;AAxCSoE;AA0CT/E,WAAS,SAAS+E;AAElB,SAAS,mBAAmB,GAAG;AAAE,SAAO,mBAAmB,CAAC,KAAK,iBAAiB,CAAC,KAAK,4BAA4B,CAAC,KAAK,mBAAoB;AAAG;AAAxI;AACT,SAAS,qBAAqB;AAAE,QAAM,IAAI,UAAU,sIAAsI;AAAI;AAArL;AACT,SAAS,4BAA4B,GAAG,GAAG;AAAE,MAAI,GAAG;AAAE,QAAI,YAAY,OAAO,EAAG,QAAO,kBAAkB,GAAG,CAAC;AAAG,QAAI,IAAI,CAAA,EAAG,SAAS,KAAK,CAAC,EAAE,MAAM,GAAG,EAAE;AAAG,WAAO,aAAa,KAAK,EAAE,gBAAgB,IAAI,EAAE,YAAY,OAAO,UAAU,KAAK,UAAU,IAAI,MAAM,KAAK,CAAC,IAAI,gBAAgB,KAAK,2CAA2C,KAAK,CAAC,IAAI,kBAAkB,GAAG,CAAC,IAAI;AAAA,EAAO;AAAI;AAAjX;AACT,SAAS,iBAAiB,GAAG;AAAE,MAAI,eAAe,OAAO,UAAU,QAAQ,EAAE,OAAO,QAAQ,KAAK,QAAQ,EAAE,YAAY,EAAG,QAAO,MAAM,KAAK,CAAC;AAAI;AAAxI;AACT,SAAS,mBAAmB,GAAG;AAAE,MAAI,MAAM,QAAQ,CAAC,EAAG,QAAO,kBAAkB,CAAC;AAAI;AAA5E;AACT,SAAS,kBAAkB,GAAG,GAAG;AAAE,GAAC,QAAQ,KAAK,IAAI,EAAE,YAAY,IAAI,EAAE;AAAS,WAAS,IAAI,GAAG,IAAI,MAAM,CAAC,GAAG,IAAI,GAAG,IAAK,GAAE,CAAC,IAAI,EAAE,CAAC;AAAG,SAAO;AAAI;AAA3I;AACT,IAAI,aAAa;AACjB,IAAI5E,WAAS;AAAA,EACX,MAAM;AAAA,EACN,WAAWsE;AAAAA,EACX,cAAc;AAAA,EACd,OAAO,CAAC,SAAS,UAAU;AAAA,EAC3B,MAAM,gCAASlD,QAAO;AACpB,WAAO;AAAA,MACL,UAAU,CAAE;AAAA,IAClB;AAAA,EACG,GAJK;AAAA,EAKN,cAAc;AAAA,EACd,SAAS,gCAASC,WAAU;AAC1B,kBAAc,GAAG,OAAO,KAAK,KAAK;AAClC,kBAAc,GAAG,UAAU,KAAK,QAAQ;AACxC,kBAAc,GAAG,gBAAgB,KAAK,aAAa;AACnD,kBAAc,GAAG,qBAAqB,KAAK,iBAAiB;AAC5D,QAAI,KAAK,aAAa;AACpB,WAAK,YAAW;AAAA,IACjB;AAAA,EACF,GARQ;AAAA,EAST,eAAe,gCAASC,iBAAgB;AACtC,SAAK,aAAY;AACjB,QAAI,KAAK,MAAM,aAAa,KAAK,YAAY;AAC3C,aAAO,MAAM,KAAK,MAAM,SAAS;AAAA,IAClC;AACD,kBAAc,IAAI,OAAO,KAAK,KAAK;AACnC,kBAAc,IAAI,UAAU,KAAK,QAAQ;AACzC,kBAAc,IAAI,gBAAgB,KAAK,aAAa;AACpD,kBAAc,IAAI,qBAAqB,KAAK,iBAAiB;AAAA,EAC9D,GATc;AAAA,EAUf,SAAS;AAAA,IACP,KAAK,gCAAS,IAAIuD,UAAS;AACzB,UAAIA,SAAQ,MAAM,MAAM;AACtB,QAAAA,SAAQ,KAAK;AAAA,MACd;AACD,WAAK,WAAW,CAAE,EAAC,OAAO,mBAAmB,KAAK,QAAQ,GAAG,CAACA,QAAO,CAAC;AAAA,IACvE,GALI;AAAA,IAML,QAAQ,gCAAS,OAAO,QAAQ;AAC9B,UAAI,QAAQ,KAAK,SAAS,UAAU,SAAU,GAAG;AAC/C,eAAO,EAAE,OAAO,OAAO,QAAQ;AAAA,MACvC,CAAO;AACD,UAAI,UAAU,IAAI;AAChB,aAAK,SAAS,OAAO,OAAO,CAAC;AAC7B,aAAK,MAAM,OAAO,MAAM;AAAA,UACtB,SAAS,OAAO;AAAA,QAC1B,CAAS;AAAA,MACF;AAAA,IACF,GAVO;AAAA,IAWR,OAAO,gCAAS,MAAMA,UAAS;AAC7B,UAAI,KAAK,SAASA,SAAQ,OAAO;AAC/B,aAAK,IAAIA,QAAO;AAAA,MACjB;AAAA,IACF,GAJM;AAAA,IAKP,UAAU,gCAAS,SAASA,UAAS;AACnC,WAAK,OAAO;AAAA,QACV,SAASA;AAAA,QACT,MAAM;AAAA,MACd,CAAO;AAAA,IACF,GALS;AAAA,IAMV,eAAe,gCAAS,cAAc,OAAO;AAC3C,UAAI,KAAK,UAAU,OAAO;AACxB,aAAK,WAAW;MACjB;AAAA,IACF,GAJc;AAAA,IAKf,mBAAmB,gCAAS,oBAAoB;AAC9C,WAAK,WAAW;IACjB,GAFkB;AAAA,IAGnB,SAAS,gCAAS,UAAU;AAC1B,UAAI,KAAK,YAAY;AACnB,eAAO,IAAI,SAAS,KAAK,MAAM,WAAW,KAAK,cAAc,KAAK,UAAU,OAAO,OAAO,KAAK;AAAA,MAChG;AAAA,IACF,GAJQ;AAAA,IAKT,SAAS,gCAAS,UAAU;AAC1B,UAAI,QAAQ;AACZ,UAAI,KAAK,MAAM,aAAa,KAAK,cAAc,QAAQ,KAAK,QAAQ,GAAG;AACrE,mBAAW,WAAY;AACrB,iBAAO,MAAM,MAAM,MAAM,SAAS;AAAA,QACnC,GAAE,GAAG;AAAA,MACP;AAAA,IACF,GAPQ;AAAA,IAQT,aAAa,gCAAS,cAAc;AAClC,UAAI,CAAC,KAAK,gBAAgB,CAAC,KAAK,YAAY;AAC1C,YAAI;AACJ,aAAK,eAAe,SAAS,cAAc,OAAO;AAClD,aAAK,aAAa,OAAO;AACzB,qBAAa,KAAK,cAAc,UAAU,kBAAkB,KAAK,eAAe,QAAQ,oBAAoB,WAAW,kBAAkB,gBAAgB,YAAY,QAAQ,oBAAoB,WAAW,kBAAkB,gBAAgB,SAAS,QAAQ,oBAAoB,SAAS,SAAS,gBAAgB,KAAK;AAC1T,iBAAS,KAAK,YAAY,KAAK,YAAY;AAC3C,YAAI,YAAY;AAChB,iBAAS,cAAc,KAAK,aAAa;AACvC,cAAI,kBAAkB;AACtB,mBAAS,aAAa,KAAK,YAAY,UAAU,GAAG;AAClD,+BAAmB,YAAY,MAAM,KAAK,YAAY,UAAU,EAAE,SAAS,IAAI;AAAA,UAChF;AACD,uBAAa,2DAA2D,OAAO,YAAY,4CAA4C,EAAE,OAAO,KAAK,eAAe,uCAAuC,EAAE,OAAO,iBAAiB,kFAAkF;AAAA,QACxT;AACD,aAAK,aAAa,YAAY;AAAA,MAC/B;AAAA,IACF,GAjBY;AAAA,IAkBb,cAAc,gCAAS,eAAe;AACpC,UAAI,KAAK,cAAc;AACrB,iBAAS,KAAK,YAAY,KAAK,YAAY;AAC3C,aAAK,eAAe;AAAA,MACrB;AAAA,IACF,GALa;AAAA,EAMf;AAAA,EACD,YAAY;AAAA,IACV,cAAchF;AAAAA,IACd,QAAQ+C;AAAAA,EACT;AACH;AAEA,SAASI,UAAQ,GAAG;AAAE;AAA2B,SAAOA,YAAU,cAAc,OAAO,UAAU,YAAY,OAAO,OAAO,WAAW,SAAUrB,IAAG;AAAE,WAAO,OAAOA;AAAA,MAAO,SAAUA,IAAG;AAAE,WAAOA,MAAK,cAAc,OAAO,UAAUA,GAAE,gBAAgB,UAAUA,OAAM,OAAO,YAAY,WAAW,OAAOA;AAAA,EAAE,GAAIqB,UAAQ,CAAC;AAAI;AAArTA;AACT,SAASC,UAAQ,GAAG,GAAG;AAAE,MAAI,IAAI,OAAO,KAAK,CAAC;AAAG,MAAI,OAAO,uBAAuB;AAAE,QAAI,IAAI,OAAO,sBAAsB,CAAC;AAAG,UAAM,IAAI,EAAE,OAAO,SAAUC,IAAG;AAAE,aAAO,OAAO,yBAAyB,GAAGA,EAAC,EAAE;AAAA,IAAW,CAAE,IAAI,EAAE,KAAK,MAAM,GAAG,CAAC;AAAA,EAAE;AAAG,SAAO;AAAI;AAAtPD;AACT,SAASE,gBAAc,GAAG;AAAE,WAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AAAE,QAAI,IAAI,QAAQ,UAAU,CAAC,IAAI,UAAU,CAAC,IAAI,CAAE;AAAE,QAAI,IAAIF,UAAQ,OAAO,CAAC,GAAG,IAAE,EAAE,QAAQ,SAAUC,IAAG;AAAEE,wBAAgB,GAAGF,IAAG,EAAEA,EAAC,CAAC;AAAA,IAAI,CAAA,IAAI,OAAO,4BAA4B,OAAO,iBAAiB,GAAG,OAAO,0BAA0B,CAAC,CAAC,IAAID,UAAQ,OAAO,CAAC,CAAC,EAAE,QAAQ,SAAUC,IAAG;AAAE,aAAO,eAAe,GAAGA,IAAG,OAAO,yBAAyB,GAAGA,EAAC,CAAC;AAAA,IAAE,CAAE;AAAA,EAAI;AAAC,SAAO;AAAI;AAA9aC;AACT,SAASC,kBAAgB,GAAG,GAAG,GAAG;AAAE,UAAQ,IAAIC,iBAAe,CAAC,MAAM,IAAI,OAAO,eAAe,GAAG,GAAG,EAAE,OAAO,GAAG,YAAY,MAAI,cAAc,MAAI,UAAU,KAAI,CAAA,IAAI,EAAE,CAAC,IAAI,GAAG;AAAI;AAA3KD;AACT,SAASC,iBAAe,GAAG;AAAE,MAAI,IAAIC,eAAa,GAAG,QAAQ;AAAG,SAAO,YAAYN,UAAQ,CAAC,IAAI,IAAI,IAAI;AAAK;AAApGK;AACT,SAASC,eAAa,GAAG,GAAG;AAAE,MAAI,YAAYN,UAAQ,CAAC,KAAK,CAAC,EAAG,QAAO;AAAG,MAAI,IAAI,EAAE,OAAO,WAAW;AAAG,MAAI,WAAW,GAAG;AAAE,QAAI,IAAI,EAAE,KAAK,GAAG,KAAK,SAAS;AAAG,QAAI,YAAYA,UAAQ,CAAC,EAAG,QAAO;AAAG,UAAM,IAAI,UAAU,8CAA8C;AAAA,EAAI;AAAC,UAAQ,aAAa,IAAI,SAAS,QAAQ,CAAC;AAAI;AAAnTM;AACT,SAASrD,SAAO,MAAM,QAAQ,QAAQ,QAAQ,OAAO,UAAU;AAC7D,MAAI,0BAA0B,iBAAiB,cAAc;AAC7D,MAAI,oBAAoB,iBAAiB,QAAQ;AACjD,SAAO,UAAW,GAAE,YAAY,mBAAmB,MAAM;AAAA,IACvD,WAAW,QAAQ,WAAY;AAC7B,aAAO,CAACU,gBAAmB,OAAO,WAAW;AAAA,QAC3C,KAAK;AAAA,QACL,SAAS,KAAK,GAAG,MAAM;AAAA,QACvB,OAAO,KAAK,GAAG,QAAQ,MAAM;AAAA,UAC3B,UAAU,KAAK;AAAA,QACzB,CAAS;AAAA,MACT,GAAS,KAAK,KAAK,MAAM,CAAC,GAAG,CAAC,YAAY,iBAAiB,WAAW;AAAA,QAC9D,MAAM;AAAA,QACN,KAAK;AAAA,QACL,SAAS,SAAS;AAAA,QAClB,SAAS,SAAS;AAAA,MAC1B,GAASwC,gBAAc,CAAA,GAAI,KAAK,IAAI,YAAY,CAAC,CAAC,GAAG;AAAA,QAC7C,WAAW,QAAQ,WAAY;AAC7B,iBAAO,EAAE,UAAU,IAAI,GAAG,mBAAmB,UAAU,MAAM,WAAW,MAAM,UAAU,SAAU,KAAK;AACrG,mBAAO,UAAS,GAAI,YAAY,yBAAyB;AAAA,cACvD,KAAK,IAAI;AAAA,cACT,SAAS;AAAA,cACT,WAAW,KAAK;AAAA,cAChB,WAAW,KAAK;AAAA,cAChB,UAAU,KAAK;AAAA,cACf,UAAU,KAAK;AAAA,cACf,WAAW,KAAK;AAAA,cAChB,aAAa,KAAK;AAAA,cAClB,kBAAkB,KAAK;AAAA,cACvB,UAAU,KAAK;AAAA,cACf,SAAS,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,SAAU,QAAQ;AACnD,uBAAO,SAAS,OAAO,MAAM;AAAA,cAC7C;AAAA,cACc,IAAI,KAAK;AAAA,YACV,GAAE,MAAM,GAAG,CAAC,WAAW,aAAa,aAAa,YAAY,YAAY,aAAa,eAAe,oBAAoB,YAAY,IAAI,CAAC;AAAA,UACvJ,CAAW,GAAG,GAAG;QACjB,CAAS;AAAA,QACD,GAAG;AAAA,MACX,GAAS,IAAI,CAAC,WAAW,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;AAAA,IAC1C,CAAK;AAAA,IACD,GAAG;AAAA,EACP,CAAG;AACH;AA1CSlD;AA4CTD,SAAO,SAASC;;;;AC1XhB,UAAM,QAAQ;AACd,UAAM,aAAa;AACnB,UAAM,eAAe;AAErB;AAAA,MACE,MAAM,WAAW;AAAA,MACjB,CAAC,gBAAgB;AACX,YAAA,YAAY,WAAW,GAAG;AAC5B;AAAA,QACF;AAEY,oBAAA,QAAQ,CAAC4E,aAAY;AAC/B,gBAAM,IAAIA,QAAO;AAAA,QAAA,CAClB;AACD,mBAAW,gBAAgB;MAC7B;AAAA,MACA,EAAE,MAAM,KAAK;AAAA,IAAA;AAGf;AAAA,MACE,MAAM,WAAW;AAAA,MACjB,CAAC,qBAAqB;AAChB,YAAA,iBAAiB,WAAW,GAAG;AACjC;AAAA,QACF;AAEiB,yBAAA,QAAQ,CAACA,aAAY;AACpC,gBAAM,OAAOA,QAAO;AAAA,QAAA,CACrB;AACD,mBAAW,mBAAmB;MAChC;AAAA,MACA,EAAE,MAAM,KAAK;AAAA,IAAA;AAGf;AAAA,MACE,MAAM,WAAW;AAAA,MACjB,CAAC,cAAc;AACb,YAAI,WAAW;AACb,gBAAM,gBAAgB;AACtB,qBAAW,qBAAqB;AAAA,QAClC;AAAA,MACF;AAAA,IAAA;AAGF,aAAS,sBAAsB;AAC7B,YAAM,eACJ,SAAS,eAAe,qBAAqB,KAAK,mBAAmB;AACvE,YAAM,OAAO,SACV,cAAc,yBAAyB,EACvC,sBAAsB;AACzB,mBAAa,cAAc;AAAA;AAAA,aAEhB,KAAK,MAAM,EAAE;AAAA,eACX,OAAO,cAAc,KAAK,OAAO,KAAK,SAAS,EAAE;AAAA;AAAA;AAAA,IAGhE;AAZS;AAcT,aAAS,qBAAqB;AACtB,YAAA,QAAQ,SAAS,cAAc,OAAO;AAC5C,YAAM,KAAK;AACF,eAAA,KAAK,YAAY,KAAK;AACxB,aAAA;AAAA,IACT;AALS;AAOT;AAAA,MACE,MAAM,aAAa,IAAI,kBAAkB;AAAA,MACzC,MAAM,SAAS,mBAAmB;AAAA,MAClC,EAAE,WAAW,KAAK;AAAA,IAAA;AAEpB;AAAA,MACE,MAAM,aAAa,IAAI,wBAAwB;AAAA,MAC/C,MAAM,SAAS,mBAAmB;AAAA,MAClC,EAAE,WAAW,KAAK;AAAA,IAAA;;;;;;;;;ACrEpB,UAAM,eAAe;AAEf,UAAA,qBAAqB,wBAAC,UAA6B;AACnD,UAAA,aAAa,IAAI,iCAAiC,GAAG;AACvD,cAAM,eAAe;AACd,eAAA;AAAA,MACT;AACO,aAAA;AAAA,IAAA,GALkB;AAQ3B,cAAU,MAAM;AACP,aAAA,iBAAiB,gBAAgB,kBAAkB;AAAA,IAAA,CAC3D;AAED,oBAAgB,MAAM;AACb,aAAA,oBAAoB,gBAAgB,kBAAkB;AAAA,IAAA,CAC9D;;;;;;AClBD,MAAM,gBAAgB;AACtB,MAAM,eAAe;;;;AAErB,UAAM,iBAAiB;AACvB,UAAM,gBAAgB;AAAA,MAAS,MAC7B,eAAe,SAAS,KAAK,IAAI,eAAe,iBAAiB;AAAA,IAAA;AAGnE,UAAM,eAAe;AACrB,UAAM,kBAAkB;AAAA,MACtB,MAAM,aAAa,IAAI,kBAAkB,MAAM;AAAA,IAAA;AAGjD,UAAM,gBAAgB;AACtB,UAAM,gBAAgB;AAAA,MAAS,MAC7B,cAAc,gBAAgB,UAAU,OAAO;AAAA,IAAA;AAE3C,UAAA,mBAAmB,SAAS,MAAM;AAChC,YAAA,eAAe,cAAc,gBAAgB;AACnD,aAAO,eACH,cAAc,QAAQ,eAAe,eACrC;AAAA,IAAA,CACL;AAED,UAAM,qBAAqB;AAAA,MAAS,MAClC,eAAe,iBAAiB,eAAe,wBAC3C,GAAG,cAAc,KAAK,IAAI,eAAe,qBAAqB,MAAM,eAAe,cAAc,IAAI,KACrG;AAAA,IAAA;AAGN,UAAM,gBAAgB;AAAA,MACpB,MACE,cAAc,SACb,gBAAgB,QAAQ,iBAAiB,QAAQ;AAAA,IAAA;AAGtD,UAAM,QAAQ,SAAS,MAAM,mBAAmB,SAAS,cAAc,KAAK;AAC5E,aAAS,KAAK;;;;;;;;;;;;;;;;;;ACVd,UAAM,QAAQ;AAId,UAAM,gBAAgB;AAQhB,UAAA,mBAAmB,wBAAC,cAA6C;AAAA,MACrE,OAAO,SAAS;AAAA,MAChB,SAAS,SAAS;AAAA,MAClB,OAAO,SAAS;AAAA,MAChB,SAAS,SAAS;AAAA,IAAA,IAJK;AAOzB,UAAM,mBAAmB,wBAAChD,YACxB,cAAc,eAAeA,QAAO,KAAK,GADlB;AAGzB,UAAM,UAAU;AAAA,MAA2B,MACzC,cAAc,cAAc,IAAI,gBAAgB;AAAA,IAAA;AAElD,UAAM,mBAAmB;AAAA,MAAgC,MACvD,cAAc,iBACV,iBAAiB,cAAc,cAA+B,IAC9D;AAAA,IAAA;AAEA,UAAA,mBAAmB,wBAACA,YAA2B;AAEnD,UAAI,CAACA,SAAQ;AACX;AAAA,MACF;AAEA,UAAI,iBAAiB,OAAO,UAAUA,QAAO,OAAO;AAClD;AAAA,MACF;AAEM,YAAA,WAAW,iBAAiBA,OAAM;AACxC,eAAS,KAAK;AAAA,IAAA,GAXS;AAcnB,UAAA,kBAAkB,wBAACA,YAA2B;AAC5C,YAAA,WAAW,iBAAiBA,OAAM;AACpC,UAAA,gBAAgB,cAAc,QAAQ;AAAA,IAAA,GAFpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClFxB,IAAIlC,UAAQ,gCAASA,OAAM,MAAM;AAC/B,MAAI,KAAK,KAAK;AACd,SAAO,iFAAiF,OAAO,GAAG,oBAAoB,GAAG,2BAA2B,EAAE,OAAO,GAAG,sBAAsB,GAAG,wBAAwB,EAAE,OAAO,GAAG,uBAAuB,GAAG,gBAAgB,EAAE,OAAO,GAAG,eAAe,GAAG,kBAAkB,EAAE,OAAO,GAAG,iBAAiB,GAAG,cAAc,EAAE,OAAO,GAAG,aAAa,GAAG,wUAAwU,EAAE,OAAO,GAAG,aAAa,GAAG,iGAAiG,EAAE,OAAO,GAAG,iCAAiC,GAAG,kHAAkH,EAAE,OAAO,GAAG,2BAA2B,GAAG,gEAAgE,EAAE,OAAO,GAAG,6BAA6B,GAAG,UAAU,EAAE,OAAO,GAAG,6BAA6B,GAAG,wBAAwB,EAAE,OAAO,GAAG,4BAA4B,GAAG,gBAAgB,EAAE,OAAO,GAAG,oBAAoB,GAAG,oNAAoN,EAAE,OAAO,GAAG,sBAAsB,GAAG,cAAc,EAAE,OAAO,GAAG,kBAAkB,GAAG,8IAA8I,EAAE,OAAO,GAAG,yBAAyB,GAAG,gDAAgD,EAAE,OAAO,GAAG,4BAA4B,GAAG,4CAA4C,EAAE,OAAO,GAAG,2BAA2B,GAAG,gBAAgB,EAAE,OAAO,GAAG,2BAA2B,GAAG,iBAAiB,EAAE,OAAO,GAAG,2BAA2B,GAAG,0EAA0E,EAAE,OAAO,GAAG,0BAA0B,GAAG,qBAAqB,EAAE,OAAO,GAAG,+BAA+B,GAAG,+FAA+F,EAAE,OAAO,GAAG,+BAA+B,GAAG,kGAAkG,EAAE,OAAO,GAAG,kCAAkC,GAAG,yFAAyF,EAAE,OAAO,GAAG,0BAA0B,GAAG,qBAAqB,EAAE,OAAO,GAAG,+BAA+B,GAAG,8GAA8G,EAAE,OAAO,GAAG,+BAA+B,GAAG,iHAAiH,EAAE,OAAO,GAAG,kCAAkC,GAAG,yEAAyE,EAAE,OAAO,GAAG,2BAA2B,GAAG,qBAAqB,EAAE,OAAO,GAAG,gCAAgC,GAAG,8FAA8F,EAAE,OAAO,GAAG,gCAAgC,GAAG,iGAAiG,EAAE,OAAO,GAAG,mCAAmC,GAAG,uIAAuI,EAAE,OAAO,GAAG,4BAA4B,GAAG,2BAA2B,EAAE,OAAO,GAAG,8BAA8B,GAAG,wBAAwB,EAAE,OAAO,GAAG,uBAAuB,GAAG,qBAAqB,EAAE,OAAO,GAAG,wBAAwB,GAAG,gBAAgB,EAAE,OAAO,GAAG,uBAAuB,GAAG,+CAA+C,EAAE,OAAO,GAAG,yBAAyB,GAAG,cAAc,EAAE,OAAO,GAAG,qBAAqB,GAAG,+EAA+E,EAAE,OAAO,GAAG,gCAAgC,GAAG,qZAAqZ,EAAE,OAAO,GAAG,4BAA4B,GAAG,iBAAiB,EAAE,OAAO,GAAG,4BAA4B,GAAG,yCAAyC,EAAE,OAAO,GAAG,6BAA6B,GAAG,2EAA2E,EAAE,OAAO,GAAG,qCAAqC,GAAG,gCAAgC,EAAE,OAAO,GAAG,6BAA6B,GAAG,UAAU,EAAE,OAAO,GAAG,6BAA6B,GAAG,kBAAkB,EAAE,OAAO,GAAG,6BAA6B,GAAG,iFAAiF,EAAE,OAAO,GAAG,mCAAmC,GAAG,qBAAqB,EAAE,OAAO,GAAG,wCAAwC,GAAG,6DAA6D,EAAE,OAAO,GAAG,yCAAyC,GAAG,kBAAkB,EAAE,OAAO,GAAG,wCAAwC,GAAG,GAAG,EAAE,OAAO,GAAG,wCAAwC,GAAG,GAAG,EAAE,OAAO,GAAG,wCAAwC,GAAG,yBAAyB,EAAE,OAAO,GAAG,yCAAyC,GAAG,mPAAmP,EAAE,OAAO,GAAG,yBAAyB,GAAG,qBAAqB,EAAE,OAAO,GAAG,4BAA4B,GAAG,2BAA2B,EAAE,OAAO,GAAG,8BAA8B,GAAG,qBAAqB,EAAE,OAAO,GAAG,wBAAwB,GAAG,mHAAmH,EAAE,OAAO,GAAG,4BAA4B,GAAG,oIAAoI,EAAE,OAAO,GAAG,sBAAsB,GAAG,iWAAiW,EAAE,OAAO,GAAG,gCAAgC,GAAG,yuBAAyuB,EAAE,OAAO,GAAG,+BAA+B,GAAG,QAAQ;AACxkP,GAHY;AAIZ,IAAIkB,iBAAe;AAAA,EACjB,SAAS,gCAAS,QAAQ,OAAO;AAC/B,QAAI,WAAW,MAAM,UACnB,gBAAgB,MAAM;AACxB,WAAO;AAAA,MACL,SAAS,SAAS,aAAa,aAAa,IAAI,SAAS;AAAA,IAC/D;AAAA,EACG,GANQ;AAOX;AACA,IAAIjB,YAAU;AAAA,EACZ,MAAM,gCAASgB,MAAK,OAAO;AACzB,QAAI,WAAW,MAAM;AACrB,WAAO,CAAC,yBAAyB;AAAA,MAC/B,oBAAoB,SAAS;AAAA,MAC7B,2BAA2B,SAAS;AAAA,IAC1C,CAAK;AAAA,EACF,GANK;AAAA,EAON,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,MAAM,gCAAS,KAAK,OAAO;AACzB,QAAI,WAAW,MAAM,UACnB,gBAAgB,MAAM;AACxB,WAAO,CAAC,kBAAkB;AAAA,MACxB,yBAAyB,SAAS,aAAa,aAAa;AAAA,MAC5D,WAAW,SAAS,cAAc,aAAa;AAAA,MAC/C,cAAc,SAAS,eAAe,aAAa;AAAA,IACzD,CAAK;AAAA,EACF,GARK;AAAA,EASN,aAAa;AAAA,EACb,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AAAA,EACX,aAAa;AAAA,EACb,SAAS;AAAA,EACT,WAAW;AAAA,EACX,KAAK;AACP;AACA,IAAI,eAAe,UAAU,OAAO;AAAA,EAClC,MAAM;AAAA,EACN,OAAOjB;AAAAA,EACP,SAASC;AAAAA,EACT,cAAciB;AAChB,CAAC;ACrCD,IAAIyD,aAAW;AAAA,EACb,MAAM;AAAA,EACN,WAAWnE;AAAAA,EACX,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,aAAa;AAAA,MACX,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,YAAY;AAAA,MACV,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,EACF;AAAA,EACD,OAAO;AAAA,EACP,SAAS,gCAASJ,YAAU;AAC1B,WAAO;AAAA,MACL,YAAY;AAAA,MACZ,iBAAiB;AAAA,IACvB;AAAA,EACG,GALQ;AAMX;AAEA,IAAIF,aAAW;AAAA,EACb,MAAM;AAAA,EACN,UAAU;AAAA,EACV,WAAWM;AAAAA,EACX,OAAO,CAAC,mBAAmB,cAAc,gBAAgB;AAAA,EACzD,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,OAAO;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,OAAO;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,eAAe;AAAA,MACb,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,EACF;AAAA,EACD,MAAM;AAAA,EACN,SAAS;AAAA,IACP,WAAW,gCAAS,UAAU,eAAe;AAC3C,aAAO,GAAG,OAAO,KAAK,QAAQ,GAAG,EAAE,OAAO,cAAc,GAAG;AAAA,IAC5D,GAFU;AAAA,IAGX,YAAY,gCAAS,WAAW,eAAe;AAC7C,aAAO,KAAK,UAAU,aAAa;AAAA,IACpC,GAFW;AAAA,IAGZ,aAAa,gCAAS,YAAY,eAAe,MAAM,QAAQ;AAC7D,aAAO,iBAAiB,cAAc,OAAO,QAAQ,cAAc,KAAK,IAAI,GAAG,MAAM,IAAI;AAAA,IAC1F,GAFY;AAAA,IAGb,cAAc,gCAAS,aAAa,eAAe;AACjD,aAAO,KAAK,YAAY,eAAe,OAAO;AAAA,IAC/C,GAFa;AAAA,IAGd,gBAAgB,gCAAS,eAAe,eAAe;AACrD,aAAO,GAAG,OAAO,KAAK,QAAQ,GAAG,EAAE,OAAO,cAAc,KAAK,QAAQ;AAAA,IACtE,GAFe;AAAA,IAGhB,cAAc,gCAASsB,cAAa,eAAe,OAAO,KAAK;AAC7D,aAAO,KAAK,IAAI,KAAK;AAAA,QACnB,SAAS;AAAA,UACP,MAAM,cAAc;AAAA,UACpB;AAAA,UACA,QAAQ,KAAK,aAAa,aAAa;AAAA,UACvC,SAAS,KAAK,cAAc,aAAa;AAAA,UACzC,UAAU,KAAK,eAAe,aAAa;AAAA,UAC3C,OAAO,KAAK;AAAA,QACb;AAAA,MACT,CAAO;AAAA,IACF,GAXa;AAAA,IAYd,cAAc,gCAAS,aAAa,eAAe;AACjD,aAAO,KAAK,eAAe,KAAK,SAAU,MAAM;AAC9C,eAAO,KAAK,QAAQ,cAAc;AAAA,MAC1C,CAAO;AAAA,IACF,GAJa;AAAA,IAKd,eAAe,gCAAS,cAAc,eAAe;AACnD,aAAO,KAAK,YAAY,eAAe,SAAS,MAAM;AAAA,IACvD,GAFc;AAAA,IAGf,gBAAgB,gCAAS,eAAe,eAAe;AACrD,aAAO,KAAK,YAAY,eAAe,UAAU;AAAA,IAClD,GAFe;AAAA,IAGhB,eAAe,gCAAS,cAAc,eAAe;AACnD,aAAO,KAAK,kBAAkB,KAAK,UAAU,aAAa;AAAA,IAC3D,GAFc;AAAA,IAGf,aAAa,gCAAS,YAAY,eAAe;AAC/C,aAAO,WAAW,cAAc,KAAK;AAAA,IACtC,GAFY;AAAA,IAGb,aAAa,gCAAS,YAAY,OAAO,eAAe;AACtD,WAAK,YAAY,eAAe,WAAW;AAAA,QACzC,eAAe;AAAA,QACf,MAAM,cAAc;AAAA,MAC5B,CAAO;AACD,WAAK,MAAM,cAAc;AAAA,QACvB,eAAe;AAAA,QACf;AAAA,QACA,SAAS;AAAA,MACjB,CAAO;AAAA,IACF,GAVY;AAAA,IAWb,kBAAkB,gCAAS,iBAAiB,OAAO,eAAe;AAChE,WAAK,MAAM,mBAAmB;AAAA,QAC5B,eAAe;AAAA,QACf;AAAA,MACR,CAAO;AAAA,IACF,GALiB;AAAA,IAMlB,iBAAiB,gCAAS,gBAAgB,OAAO,eAAe;AAC9D,WAAK,MAAM,kBAAkB;AAAA,QAC3B,eAAe;AAAA,QACf;AAAA,MACR,CAAO;AAAA,IACF,GALgB;AAAA,IAMjB,iBAAiB,gCAASqD,iBAAgB,OAAO;AAC/C,aAAO,QAAQ,KAAK,qBAAqB,MAAM,GAAG,KAAK,EAAE,SAAS;AAAA,IACnE,GAFgB;AAAA,IAGjB,kBAAkB,gCAAS,iBAAiB,eAAe,OAAO;AAChE,aAAO;AAAA,QACL,QAAQ,WAAW;AAAA,UACjB,SAAS,KAAK,GAAG,UAAU;AAAA,UAC3B,UAAU;AAAA,UACV,eAAe;AAAA,QAChB,GAAE,KAAK,aAAa,eAAe,OAAO,UAAU,CAAC;AAAA,QACtD,MAAM,WAAW;AAAA,UACf,SAAS,CAAC,KAAK,GAAG,UAAU,GAAG,KAAK,YAAY,eAAe,MAAM,CAAC;AAAA,QACvE,GAAE,KAAK,aAAa,eAAe,OAAO,UAAU,CAAC;AAAA,QACtD,OAAO,WAAW;AAAA,UAChB,SAAS,KAAK,GAAG,WAAW;AAAA,QAC7B,GAAE,KAAK,aAAa,eAAe,OAAO,WAAW,CAAC;AAAA,QACvD,aAAa,WAAW;AAAA,UACtB,SAAS,KAAK,GAAG,aAAa;AAAA,QAC/B,GAAE,KAAK,aAAa,eAAe,OAAO,aAAa,CAAC;AAAA,MACjE;AAAA,IACK,GAjBiB;AAAA,EAkBnB;AAAA,EACD,UAAU;AAAA,IACR,sBAAsB,gCAAS,uBAAuB;AACpD,UAAI,QAAQ;AACZ,aAAO,KAAK,MAAM,OAAO,SAAU,eAAe;AAChD,eAAO,MAAM,cAAc,aAAa,KAAK,MAAM,YAAY,eAAe,WAAW;AAAA,MACjG,CAAO;AAAA,IACF,GALqB;AAAA,IAMtB,gBAAgB,gCAAS,iBAAiB;AACxC,UAAI,SAAS;AACb,aAAO,KAAK,MAAM,OAAO,SAAU,eAAe;AAChD,eAAO,OAAO,cAAc,aAAa,KAAK,CAAC,OAAO,YAAY,eAAe,WAAW;AAAA,MAC7F,CAAA,EAAE;AAAA,IACJ,GALe;AAAA,EAMjB;AAAA,EACD,YAAY;AAAA,IACV,gBAAgBC;AAAAA,IAChB,eAAeC;AAAAA,EAChB;AAAA,EACD,YAAY;AAAA,IACV,QAAQ;AAAA,EACT;AACH;AAEA,IAAIC,iBAAe,CAAC,MAAM,cAAc,iBAAiB,iBAAiB,iBAAiB,cAAc,gBAAgB,iBAAiB,iBAAiB,kBAAkB,iBAAiB;AAC9L,IAAIxE,eAAa,CAAC,WAAW,gBAAgB,aAAa;AAC1D,IAAIC,eAAa,CAAC,QAAQ,QAAQ;AAClC,IAAI6C,eAAa,CAAC,IAAI;AACtB,IAAIC,eAAa,CAAC,IAAI;AACtB,SAASoB,WAAS,MAAM,QAAQ,QAAQ,QAAQ,OAAO,UAAU;AAC/D,MAAI,wBAAwB,iBAAiB,cAAc,IAAI;AAC/D,MAAI,oBAAoB,iBAAiB,QAAQ;AACjD,SAAO,UAAW,GAAE,mBAAmB,MAAM,WAAW;AAAA,IACtD,SAAS,OAAO,UAAU,IAAI,KAAK,GAAG,UAAU,IAAI,KAAK,GAAG,SAAS;AAAA,EACtE,GAAE,OAAO,UAAU,IAAI,KAAK,IAAI,UAAU,IAAI,KAAK,IAAI,SAAS,CAAC,GAAG,EAAE,UAAU,IAAI,GAAG,mBAAmB,UAAU,MAAM,WAAW,OAAO,OAAO,SAAU,eAAe,OAAO;AAClL,WAAO,UAAS,GAAI,mBAAmB,UAAU;AAAA,MAC/C,KAAK,SAAS,WAAW,aAAa;AAAA,IACvC,GAAE,CAAC,SAAS,cAAc,aAAa,KAAK,CAAC,SAAS,YAAY,eAAe,WAAW,KAAK,UAAS,GAAI,mBAAmB,MAAM,WAAW;AAAA,MACjJ,KAAK;AAAA,MACL,IAAI,SAAS,UAAU,aAAa;AAAA,MACpC,OAAO,SAAS,YAAY,eAAe,OAAO;AAAA,MAClD,SAAS,CAAC,KAAK,GAAG,QAAQ;AAAA,QACxB;AAAA,MACD,CAAA,GAAG,SAAS,YAAY,eAAe,OAAO,CAAC;AAAA,MAChD,MAAM;AAAA,MACN,cAAc,SAAS,aAAa,aAAa;AAAA,MACjD,iBAAiB,SAAS,eAAe,aAAa,KAAK;AAAA,MAC3D,iBAAiB,SAAS,YAAY,aAAa,IAAI,SAAS,aAAa,aAAa,IAAI;AAAA,MAC9F,iBAAiB,SAAS,YAAY,aAAa,KAAK,CAAC,SAAS,YAAY,eAAe,IAAI,IAAI,SAAS;AAAA,MAC9G,cAAc,OAAO,QAAQ;AAAA,MAC7B,gBAAgB,SAAS;AAAA,MACzB,iBAAiB,SAAS,gBAAgB,KAAK;AAAA,MAC/C,SAAS;AAAA,IACV,GAAE,SAAS,aAAa,eAAe,OAAO,MAAM,GAAG;AAAA,MACtD,iBAAiB,SAAS,aAAa,aAAa;AAAA,MACpD,kBAAkB,SAAS,cAAc,aAAa;AAAA,MACtD,mBAAmB,SAAS,eAAe,aAAa;AAAA,IACzD,CAAA,GAAG,CAACjE,gBAAmB,OAAO,WAAW;AAAA,MACxC,SAAS,KAAK,GAAG,aAAa;AAAA,MAC9B,SAAS,gCAASkD,SAAQ,QAAQ;AAChC,eAAO,SAAS,YAAY,QAAQ,aAAa;AAAA,MAClD,GAFQ;AAAA,MAGT,cAAc,gCAAS,aAAa,QAAQ;AAC1C,eAAO,SAAS,iBAAiB,QAAQ,aAAa;AAAA,MACvD,GAFa;AAAA,MAGd,aAAa,gCAAS,YAAY,QAAQ;AACxC,eAAO,SAAS,gBAAgB,QAAQ,aAAa;AAAA,MACtD,GAFY;AAAA,MAGb,SAAS;AAAA,IACf,GAAO,SAAS,aAAa,eAAe,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,UAAU,OAAO,gBAAgB,UAAW,GAAE,mBAAmB,KAAK,WAAW;AAAA,MACxJ,KAAK;AAAA,MACL,MAAM,SAAS,YAAY,eAAe,KAAK;AAAA,MAC/C,SAAS,KAAK,GAAG,UAAU;AAAA,MAC3B,QAAQ,SAAS,YAAY,eAAe,QAAQ;AAAA,MACpD,UAAU;AAAA,MACV,SAAS;AAAA,IACf,GAAO,SAAS,aAAa,eAAe,OAAO,UAAU,CAAC,GAAG,CAAC,OAAO,UAAU,YAAY,UAAS,GAAI,YAAY,wBAAwB,OAAO,UAAU,QAAQ,GAAG;AAAA,MACtK,KAAK;AAAA,MACL,MAAM,cAAc;AAAA,MACpB,SAAS,eAAe,KAAK,GAAG,UAAU,CAAC;AAAA,IACjD,GAAO,MAAM,GAAG,CAAC,QAAQ,OAAO,CAAC,KAAK,SAAS,YAAY,eAAe,MAAM,KAAK,UAAW,GAAE,mBAAmB,QAAQ,WAAW;AAAA,MAClI,KAAK;AAAA,MACL,SAAS,CAAC,KAAK,GAAG,UAAU,GAAG,SAAS,YAAY,eAAe,MAAM,CAAC;AAAA,MAC1E,SAAS;AAAA,IACf,GAAO,SAAS,aAAa,eAAe,OAAO,UAAU,CAAC,GAAG,MAAM,EAAE,KAAK,mBAAmB,IAAI,IAAI,GAAGlD,gBAAmB,QAAQ,WAAW;AAAA,MAC5I,IAAI,SAAS,eAAe,aAAa;AAAA,MACzC,SAAS,KAAK,GAAG,WAAW;AAAA,MAC5B,SAAS;AAAA,IACf,GAAO,SAAS,aAAa,eAAe,OAAO,WAAW,CAAC,GAAG,gBAAgB,SAAS,aAAa,aAAa,CAAC,GAAG,IAAI4C,YAAU,GAAG,SAAS,YAAY,eAAe,OAAO,KAAK,UAAS,GAAI,mBAAmB,UAAU;AAAA,MAC9N,KAAK;AAAA,IACN,GAAE,CAAC,OAAO,UAAU,eAAe,UAAS,GAAI,YAAY,wBAAwB,OAAO,UAAU,WAAW,GAAG;AAAA,MAClH,KAAK;AAAA,MACL,MAAM,OAAO;AAAA,MACb,QAAQ,SAAS,aAAa,aAAa;AAAA,MAC3C,SAAS,eAAe,KAAK,GAAG,aAAa,CAAC;AAAA,IACpD,GAAO,MAAM,GAAG,CAAC,QAAQ,UAAU,OAAO,CAAC,MAAM,UAAW,GAAE,YAAY,wBAAwB,OAAO,OAAO,kBAAkB,gBAAgB,GAAG,WAAW;AAAA,MAC1J,KAAK;AAAA,MACL,SAAS,KAAK,GAAG,aAAa;AAAA,MAC9B,SAAS;AAAA,IACf,GAAO,SAAS,aAAa,eAAe,OAAO,aAAa,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,KAAK,mBAAmB,IAAI,IAAI,CAAC,GAAG,IAAI7C,YAAU,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,KAAK,UAAW,GAAE,YAAY,wBAAwB,OAAO,UAAU,IAAI,GAAG;AAAA,MACjP,KAAK;AAAA,MACL,MAAM,cAAc;AAAA,MACpB,MAAM,OAAO;AAAA,MACb,YAAY,SAAS,YAAY,eAAe,OAAO;AAAA,MACvD,OAAO,SAAS,aAAa,aAAa;AAAA,MAC1C,OAAO,SAAS,iBAAiB,eAAe,KAAK;AAAA,IACtD,GAAE,MAAM,GAAG,CAAC,QAAQ,QAAQ,cAAc,SAAS,OAAO,CAAC,EAAE,GAAG,IAAID,YAAU,GAAG,SAAS,cAAc,aAAa,KAAK,SAAS,YAAY,aAAa,KAAK,aAAa,YAAY,uBAAuB;AAAA,MAChN,KAAK;AAAA,MACL,IAAI,SAAS,UAAU,aAAa,IAAI;AAAA,MACxC,QAAQ,OAAO;AAAA,MACf,MAAM;AAAA,MACN,OAAO,eAAe,KAAK,GAAG,WAAW,MAAM;AAAA,QAC7C;AAAA,MACR,CAAO,CAAC;AAAA,MACF,eAAe,OAAO;AAAA,MACtB,OAAO,cAAc;AAAA,MACrB,cAAc,OAAO;AAAA,MACrB,gBAAgB,OAAO;AAAA,MACvB,WAAW,OAAO;AAAA,MAClB,OAAO,OAAO,QAAQ;AAAA,MACtB,mBAAmB,SAAS,eAAe,aAAa;AAAA,MACxD,IAAI,KAAK;AAAA,MACT,UAAU,KAAK;AAAA,MACf,aAAa,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,SAAU,QAAQ;AACvD,eAAO,KAAK,MAAM,cAAc,MAAM;AAAA,MAC9C;AAAA,MACM,kBAAkB,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,SAAU,QAAQ;AAC5D,eAAO,KAAK,MAAM,mBAAmB,MAAM;AAAA,MACnD;AAAA,MACM,iBAAiB,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,SAAU,QAAQ;AAC3D,eAAO,KAAK,MAAM,kBAAkB,MAAM;AAAA,MAClD;AAAA,IACA,GAAO,MAAM,GAAG,CAAC,MAAM,UAAU,SAAS,iBAAiB,SAAS,gBAAgB,kBAAkB,aAAa,SAAS,mBAAmB,MAAM,UAAU,CAAC,KAAK,mBAAmB,IAAI,IAAI,CAAC,GAAG,IAAIwE,cAAY,KAAK,mBAAmB,IAAI,IAAI,GAAG,SAAS,cAAc,aAAa,KAAK,SAAS,YAAY,eAAe,WAAW,KAAK,UAAS,GAAI,mBAAmB,MAAM,WAAW;AAAA,MAC/X,KAAK;AAAA,MACL,IAAI,SAAS,UAAU,aAAa;AAAA,MACpC,SAAS,CAAC,KAAK,GAAG,WAAW,GAAG,SAAS,YAAY,eAAe,OAAO,CAAC;AAAA,MAC5E,OAAO,SAAS,YAAY,eAAe,OAAO;AAAA,MAClD,MAAM;AAAA,MACN,SAAS;AAAA,IACV,GAAE,KAAK,IAAI,WAAW,CAAC,GAAG,MAAM,IAAIzB,YAAU,KAAK,mBAAmB,IAAI,IAAI,CAAC,GAAG,EAAE;AAAA,EACtF,CAAA,GAAG,GAAG,KAAK,EAAE;AAChB;AAhHSoB;AAkHT/E,WAAS,SAAS+E;AAElB,IAAI5E,WAAS;AAAA,EACX,MAAM;AAAA,EACN,WAAWsE;AAAAA,EACX,cAAc;AAAA,EACd,OAAO,CAAC,SAAS,MAAM;AAAA,EACvB,oBAAoB;AAAA,EACpB,MAAM,gCAASlD,QAAO;AACpB,WAAO;AAAA,MACL,IAAI,KAAK,OAAO;AAAA,MAChB,cAAc;AAAA,MACd,SAAS;AAAA,MACT,iBAAiB;AAAA,QACf,OAAO;AAAA,QACP,OAAO;AAAA,QACP,WAAW;AAAA,MACZ;AAAA,MACD,gBAAgB,CAAE;AAAA,MAClB,OAAO;AAAA,MACP,OAAO;AAAA,MACP,cAAc;AAAA,IACpB;AAAA,EACG,GAfK;AAAA,EAgBN,OAAO;AAAA,IACL,aAAa,gCAAS8D,UAAS,UAAU;AACvC,WAAK,KAAK,YAAY;IACvB,GAFY;AAAA,IAGb,gBAAgB,gCAAS,eAAe,SAAS;AAC/C,UAAI,WAAW,OAAO,GAAG;AACvB,aAAK,yBAAwB;AAC7B,aAAK,mBAAkB;AAAA,MAC/B,OAAa;AACL,aAAK,2BAA0B;AAC/B,aAAK,qBAAoB;AAAA,MAC1B;AAAA,IACF,GARe;AAAA,EASjB;AAAA,EACD,sBAAsB;AAAA,EACtB,WAAW;AAAA,EACX,SAAS;AAAA,EACT,SAAS,gCAAS7D,WAAU;AAC1B,SAAK,KAAK,KAAK,MAAM,kBAAiB;AACtC,SAAK,uBAAsB;AAAA,EAC5B,GAHQ;AAAA,EAIT,eAAe,gCAASC,iBAAgB;AACtC,SAAK,eAAe;AACpB,SAAK,2BAA0B;AAC/B,SAAK,qBAAoB;AACzB,SAAK,yBAAwB;AAC7B,QAAI,KAAK,WAAW;AAClB,aAAO,MAAM,KAAK,SAAS;AAAA,IAC5B;AACD,SAAK,YAAY;AAAA,EAClB,GATc;AAAA,EAUf,SAAS;AAAA,IACP,aAAa,gCAAS6D,aAAYjF,OAAM,MAAM;AAC5C,aAAOA,QAAO,QAAQA,MAAK,IAAI,CAAC,IAAI;AAAA,IACrC,GAFY;AAAA,IAGb,cAAc,gCAASkF,cAAalF,OAAM;AACxC,aAAO,KAAK,YAAYA,OAAM,OAAO;AAAA,IACtC,GAFa;AAAA,IAGd,gBAAgB,gCAASmF,gBAAenF,OAAM;AAC5C,aAAO,KAAK,YAAYA,OAAM,UAAU;AAAA,IACzC,GAFe;AAAA,IAGhB,eAAe,gCAASoF,eAAcpF,OAAM;AAC1C,aAAO,KAAK,YAAYA,OAAM,SAAS,MAAM;AAAA,IAC9C,GAFc;AAAA,IAGf,aAAa,gCAASqF,aAAYrF,OAAM;AACtC,aAAO,WAAW,KAAK,YAAYA,OAAM,OAAO,CAAC;AAAA,IAClD,GAFY;AAAA,IAGb,iBAAiB,gCAAS,gBAAgBA,OAAM;AAC9C,aAAO,KAAK,YAAYA,OAAM,WAAW;AAAA,IAC1C,GAFgB;AAAA,IAGjB,wBAAwB,gCAAS,uBAAuB,eAAe;AACrE,aAAO,gBAAgB,KAAK,aAAa,cAAc,IAAI,IAAI;AAAA,IAChE,GAFuB;AAAA,IAGxB,uBAAuB,gCAAS,sBAAsB,eAAe;AACnE,aAAO,iBAAiB,WAAW,cAAc,KAAK;AAAA,IACvD,GAFsB;AAAA,IAGvB,QAAQ,gCAAS,OAAO,OAAO;AAC7B,UAAI,QAAQ;AACZ,UAAI,KAAK,cAAc;AACrB,aAAK,eAAe;AACpB,eAAO,MAAM,KAAK,OAAO;AACzB,aAAK,KAAI;AAAA,MACjB,OAAa;AACL,aAAK,eAAe;AACpB,eAAO,IAAI,QAAQ,KAAK,SAAS,KAAK,UAAU,OAAO,OAAO,IAAI;AAClE,mBAAW,WAAY;AACrB,gBAAM,KAAI;AAAA,QACX,GAAE,CAAC;AAAA,MACL;AACD,WAAK,yBAAwB;AAC7B,YAAM,eAAc;AAAA,IACrB,GAfO;AAAA,IAgBR,MAAM,gCAASsF,QAAO;AACpB,YAAM,KAAK,OAAO;AAAA,IACnB,GAFK;AAAA,IAGN,MAAM,gCAASC,MAAK,OAAO,SAAS;AAClC,UAAI,SAAS;AACb,UAAI,KAAK,cAAc;AACrB,aAAK,eAAe;AACpB,mBAAW,WAAY;AACrB,gBAAM,OAAO,MAAM,UAAU;AAAA,QAC9B,GAAE,CAAC;AAAA,MACL;AACD,WAAK,iBAAiB;AACtB,WAAK,kBAAkB;AAAA,QACrB,OAAO;AAAA,QACP,OAAO;AAAA,QACP,WAAW;AAAA,MACnB;AACM,iBAAW,MAAM,KAAK,OAAO;AAC7B,WAAK,QAAQ;AAAA,IACd,GAhBK;AAAA,IAiBN,SAAS,gCAAS1D,SAAQ,OAAO;AAC/B,WAAK,UAAU;AACf,WAAK,kBAAkB,KAAK,gBAAgB,UAAU,KAAK,KAAK,kBAAkB;AAAA,QAChF,OAAO,KAAK,0BAA2B;AAAA,QACvC,OAAO;AAAA,QACP,WAAW;AAAA,MACnB;AACM,WAAK,MAAM,SAAS,KAAK;AAAA,IAC1B,GARQ;AAAA,IAST,QAAQ,gCAAS2D,QAAO,OAAO;AAC7B,WAAK,UAAU;AACf,WAAK,kBAAkB;AAAA,QACrB,OAAO;AAAA,QACP,OAAO;AAAA,QACP,WAAW;AAAA,MACnB;AACM,WAAK,cAAc;AACnB,WAAK,QAAQ;AACb,WAAK,MAAM,QAAQ,KAAK;AAAA,IACzB,GAVO;AAAA,IAWR,WAAW,gCAASC,WAAU,OAAO;AACnC,UAAI,UAAU,MAAM,WAAW,MAAM;AACrC,cAAQ,MAAM,MAAI;AAAA,QAChB,KAAK;AACH,eAAK,eAAe,KAAK;AACzB;AAAA,QACF,KAAK;AACH,eAAK,aAAa,KAAK;AACvB;AAAA,QACF,KAAK;AACH,eAAK,eAAe,KAAK;AACzB;AAAA,QACF,KAAK;AACH,eAAK,gBAAgB,KAAK;AAC1B;AAAA,QACF,KAAK;AACH,eAAK,UAAU,KAAK;AACpB;AAAA,QACF,KAAK;AACH,eAAK,SAAS,KAAK;AACnB;AAAA,QACF,KAAK;AACH,eAAK,WAAW,KAAK;AACrB;AAAA,QACF,KAAK;AAAA,QACL,KAAK;AACH,eAAK,WAAW,KAAK;AACrB;AAAA,QACF,KAAK;AACH,eAAK,YAAY,KAAK;AACtB;AAAA,QACF,KAAK;AACH,eAAK,SAAS,KAAK;AACnB;AAAA,QACF,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAEH;AAAA,QACF;AACE,cAAI,CAAC,WAAW,qBAAqB,MAAM,GAAG,GAAG;AAC/C,iBAAK,YAAY,OAAO,MAAM,GAAG;AAAA,UAClC;AACD;AAAA,MACH;AAAA,IACF,GA/CU;AAAA,IAgDX,cAAc,gCAAS,aAAa,OAAO;AACzC,UAAI,gBAAgB,MAAM,eACxB,UAAU,MAAM;AAClB,UAAI,QAAQ,aAAa,EAAG;AAC5B,UAAI,QAAQ,cAAc,OACxB,MAAM,cAAc,KACpB,QAAQ,cAAc,OACtB,YAAY,cAAc,WAC1B,QAAQ,cAAc;AACxB,UAAI,UAAU,WAAW,KAAK;AAC9B,UAAIC,kBAAiB,KAAK,eAAe,OAAO,SAAU,GAAG;AAC3D,eAAO,EAAE,cAAc,aAAa,EAAE,cAAc;AAAA,MAC5D,CAAO;AACD,iBAAWA,gBAAe,KAAK,aAAa;AAC5C,WAAK,kBAAkB;AAAA,QACrB;AAAA,QACA;AAAA,QACA;AAAA,MACR;AACM,WAAK,iBAAiBA;AACtB,kBAAY,KAAK,QAAQ;AACzB,iBAAW,MAAM,KAAK,OAAO;AAAA,IAC9B,GAtBa;AAAA,IAuBd,aAAa,gCAASC,aAAY,OAAO;AACvC,UAAI,gBAAgB,MAAM,eACxB,gBAAgB,MAAM;AACxB,UAAI,UAAU,KAAK,sBAAsB,aAAa;AACtD,UAAIjF,SAAO,QAAQ,cAAc,MAAM;AACvC,UAAI,WAAW,KAAK,WAAW,aAAa;AAC5C,UAAI,UAAU;AACZ,YAAI,QAAQ,cAAc,OACxB,MAAM,cAAc,KACpB,QAAQ,cAAc,OACtB,YAAY,cAAc;AAC5B,aAAK,iBAAiB,KAAK,eAAe,OAAO,SAAU,GAAG;AAC5D,iBAAO,QAAQ,EAAE,OAAO,IAAI,WAAW,EAAE,GAAG;AAAA,QACtD,CAAS;AACD,aAAK,kBAAkB;AAAA,UACrB;AAAA,UACA;AAAA,UACA;AAAA,QACV;AACQ,aAAK,QAAQ,CAACA;AACd,cAAM,KAAK,OAAO;AAAA,MAC1B,OAAa;AACL,YAAI,SAAS;AACX,eAAK,aAAa,KAAK;AAAA,QACjC,OAAe;AACL,cAAI,oBAAoBA,SAAO,gBAAgB,KAAK,eAAe,KAAK,SAAU,GAAG;AACnF,mBAAO,EAAE,cAAc;AAAA,UACnC,CAAW;AACD,eAAK,KAAK,aAAa;AACvB,eAAK,uBAAuB,eAAe,oBAAoB,kBAAkB,QAAQ,EAAE;AAC3F,eAAK,eAAe;AACpB,gBAAM,KAAK,OAAO;AAAA,QACnB;AAAA,MACF;AAAA,IACF,GAlCY;AAAA,IAmCb,kBAAkB,gCAASkF,kBAAiB,OAAO;AACjD,UAAI,KAAK,OAAO;AACd,aAAK,aAAa,KAAK;AAAA,MACxB;AAAA,IACF,GAJiB;AAAA,IAKlB,iBAAiB,gCAASC,iBAAgB,OAAO;AAC/C,UAAI,KAAK,SAAS;AAChB,aAAK,uBAAuB,OAAO,MAAM,cAAc,KAAK;AAAA,MAC7D;AAAA,IACF,GAJgB;AAAA,IAKjB,iBAAiB,gCAAS,gBAAgB,OAAO;AAC/C,WAAK,OAAO,KAAK;AAAA,IAClB,GAFgB;AAAA,IAGjB,mBAAmB,gCAAS,kBAAkB,OAAO;AACnD,OAAC,MAAM,SAAS,WAAW,MAAM,SAAS,iBAAiB,MAAM,SAAS,YAAY,KAAK,gBAAgB,KAAK;AAAA,IACjH,GAFkB;AAAA,IAGnB,gBAAgB,gCAASC,gBAAe,OAAO;AAC7C,UAAI,gBAAgB,KAAK,aAAa,KAAK,gBAAgB,KAAK;AAChE,UAAIpF,SAAO,gBAAgB,QAAQ,cAAc,MAAM,IAAI;AAC3D,UAAIA,QAAM;AACR,YAAI,UAAU,KAAK,sBAAsB,aAAa;AACtD,YAAI,SAAS;AACX,eAAK,aAAa;AAAA,YAChB,eAAe;AAAA,YACf;AAAA,UACZ,CAAW;AACD,eAAK,kBAAkB;AAAA,YACrB,OAAO;AAAA,YACP,WAAW,cAAc;AAAA,UACrC;AACU,eAAK,gBAAgB,KAAK;AAAA,QAC3B;AAAA,MACT,OAAa;AACL,YAAI,YAAY,KAAK,gBAAgB,UAAU,KAAK,KAAK,kBAAkB,KAAK,gBAAgB,KAAK,IAAI,KAAK,0BAAyB;AACvI,aAAK,uBAAuB,OAAO,SAAS;AAAA,MAC7C;AACD,YAAM,eAAc;AAAA,IACrB,GArBe;AAAA,IAsBhB,cAAc,gCAASqF,cAAa,OAAO;AACzC,UAAI,SAAS;AACb,UAAI,gBAAgB,KAAK,aAAa,KAAK,gBAAgB,KAAK;AAChE,UAAIrF,SAAO,QAAQ,cAAc,MAAM;AACvC,UAAIA,QAAM;AACR,YAAI,UAAU,KAAK,sBAAsB,aAAa;AACtD,YAAI,SAAS;AACX,eAAK,aAAa;AAAA,YAChB,eAAe;AAAA,YACf;AAAA,UACZ,CAAW;AACD,eAAK,kBAAkB;AAAA,YACrB,OAAO;AAAA,YACP,WAAW,cAAc;AAAA,UACrC;AACU,cAAI,YAAY,KAAK;AACrB,eAAK,uBAAuB,OAAO,SAAS;AAAA,QAC7C;AAAA,MACT,OAAa;AACL,YAAI,aAAa,KAAK,eAAe,KAAK,SAAU,GAAG;AACrD,iBAAO,EAAE,QAAQ,cAAc;AAAA,QACzC,CAAS;AACD,YAAI,KAAK,gBAAgB,UAAU,GAAG;AACpC,eAAK,kBAAkB;AAAA,YACrB,OAAO;AAAA,YACP,WAAW,aAAa,WAAW,YAAY;AAAA,UAC3D;AACU,eAAK,cAAc;AACnB,eAAK,eAAe,KAAK;AACzB,eAAK,iBAAiB,KAAK,eAAe,OAAO,SAAU,GAAG;AAC5D,mBAAO,EAAE,cAAc,OAAO,gBAAgB;AAAA,UAC1D,CAAW;AAAA,QACX,OAAe;AACL,cAAI,aAAa,KAAK,gBAAgB,UAAU,KAAK,KAAK,kBAAkB,KAAK,gBAAgB,KAAK,IAAI,KAAK,yBAAwB;AACvI,eAAK,uBAAuB,OAAO,UAAU;AAAA,QAC9C;AAAA,MACF;AACD,YAAM,eAAc;AAAA,IACrB,GAtCa;AAAA,IAuCd,gBAAgB,gCAASoB,gBAAe,OAAO;AAC7C,UAAI,SAAS;AACb,UAAI,gBAAgB,KAAK,aAAa,KAAK,gBAAgB,KAAK;AAChE,UAAI,aAAa,gBAAgB,KAAK,eAAe,KAAK,SAAU,GAAG;AACrE,eAAO,EAAE,QAAQ,cAAc;AAAA,MAChC,CAAA,IAAI;AACL,UAAI,YAAY;AACd,aAAK,aAAa;AAAA,UAChB,eAAe;AAAA,UACf,eAAe;AAAA,QACzB,CAAS;AACD,aAAK,iBAAiB,KAAK,eAAe,OAAO,SAAU,GAAG;AAC5D,iBAAO,EAAE,cAAc,OAAO,gBAAgB;AAAA,QACxD,CAAS;AACD,cAAM,eAAc;AAAA,MAC5B,OAAa;AACL,YAAI,YAAY,KAAK,gBAAgB,UAAU,KAAK,KAAK,kBAAkB,KAAK,gBAAgB,KAAK,IAAI,KAAK,yBAAwB;AACtI,aAAK,uBAAuB,OAAO,SAAS;AAC5C,cAAM,eAAc;AAAA,MACrB;AAAA,IACF,GApBe;AAAA,IAqBhB,iBAAiB,gCAASC,iBAAgB,OAAO;AAC/C,UAAI,gBAAgB,KAAK,aAAa,KAAK,gBAAgB,KAAK;AAChE,UAAI,aAAa,gBAAgB,KAAK,eAAe,KAAK,SAAU,GAAG;AACrE,eAAO,EAAE,QAAQ,cAAc;AAAA,MAChC,CAAA,IAAI;AACL,UAAI,YAAY;AACd,YAAI,UAAU,KAAK,sBAAsB,aAAa;AACtD,YAAI,SAAS;AACX,eAAK,aAAa;AAAA,YAChB,eAAe;AAAA,YACf;AAAA,UACZ,CAAW;AACD,eAAK,kBAAkB;AAAA,YACrB,OAAO;AAAA,YACP,WAAW,cAAc;AAAA,UACrC;AACU,eAAK,eAAe,KAAK;AAAA,QAC1B;AAAA,MACT,OAAa;AACL,YAAI,YAAY,KAAK,gBAAgB,UAAU,KAAK,KAAK,kBAAkB,KAAK,gBAAgB,KAAK,IAAI,KAAK,0BAAyB;AACvI,aAAK,uBAAuB,OAAO,SAAS;AAC5C,cAAM,eAAc;AAAA,MACrB;AAAA,IACF,GAvBgB;AAAA,IAwBjB,WAAW,gCAASC,WAAU,OAAO;AACnC,WAAK,uBAAuB,OAAO,KAAK,mBAAoB,CAAA;AAC5D,YAAM,eAAc;AAAA,IACrB,GAHU;AAAA,IAIX,UAAU,gCAASC,UAAS,OAAO;AACjC,WAAK,uBAAuB,OAAO,KAAK,kBAAmB,CAAA;AAC3D,YAAM,eAAc;AAAA,IACrB,GAHS;AAAA,IAIV,YAAY,gCAASG,YAAW,OAAO;AACrC,UAAI,KAAK,gBAAgB,UAAU,IAAI;AACrC,YAAI,UAAU,WAAW,KAAK,SAAS,UAAW,OAAO,GAAG,OAAO,KAAK,aAAa,GAAG,IAAK,CAAC;AAC9F,YAAI,gBAAgB,WAAW,WAAW,SAAS,+BAA+B;AAClF,wBAAgB,cAAc,MAAK,IAAK,WAAW,QAAQ;AAC3D,YAAI,gBAAgB,KAAK,aAAa,KAAK,gBAAgB,KAAK;AAChE,YAAI,UAAU,KAAK,sBAAsB,aAAa;AACtD,SAAC,YAAY,KAAK,gBAAgB,QAAQ,KAAK,0BAAyB;AAAA,MACzE;AACD,YAAM,eAAc;AAAA,IACrB,GAVW;AAAA,IAWZ,YAAY,gCAAS,WAAW,OAAO;AACrC,WAAK,WAAW,KAAK;AAAA,IACtB,GAFW;AAAA,IAGZ,aAAa,gCAAS4D,aAAY,OAAO;AACvC,UAAI,KAAK,gBAAgB,UAAU,GAAG;AACpC,YAAI,mBAAmB,KAAK;AAC5B,aAAK,KAAK,OAAO,KAAK;AACtB,aAAK,kBAAkB;AAAA,UACrB,OAAO,OAAO,iBAAiB,UAAU,MAAM,GAAG,EAAE,CAAC,CAAC;AAAA,UACtD,OAAO;AAAA,UACP,WAAW;AAAA,QACrB;AAAA,MACO;AACD,YAAM,eAAc;AAAA,IACrB,GAXY;AAAA,IAYb,UAAU,gCAASC,UAAS,OAAO;AACjC,UAAI,KAAK,gBAAgB,UAAU,IAAI;AACrC,YAAI,gBAAgB,KAAK,aAAa,KAAK,gBAAgB,KAAK;AAChE,YAAI,UAAU,KAAK,sBAAsB,aAAa;AACtD,SAAC,WAAW,KAAK,aAAa;AAAA,UAC5B,eAAe;AAAA,UACf;AAAA,QACV,CAAS;AAAA,MACF;AACD,WAAK,KAAI;AAAA,IACV,GAVS;AAAA,IAWV,0BAA0B,gCAASC,4BAA2B;AAC5D,UAAI,SAAS;AACb,UAAI,CAAC,KAAK,sBAAsB;AAC9B,aAAK,uBAAuB,SAAU,OAAO;AAC3C,cAAI,qBAAqB,OAAO,aAAa,CAAC,OAAO,UAAU,SAAS,MAAM,MAAM;AACpF,cAAI,kBAAkB,EAAE,OAAO,WAAW,OAAO,WAAW,MAAM,UAAU,OAAO,OAAO,SAAS,MAAM,MAAM;AAC/G,cAAI,sBAAsB,iBAAiB;AACzC,mBAAO,KAAI;AAAA,UACZ;AAAA,QACX;AACQ,iBAAS,iBAAiB,SAAS,KAAK,oBAAoB;AAAA,MAC7D;AAAA,IACF,GAZyB;AAAA,IAa1B,4BAA4B,gCAASC,8BAA6B;AAChE,UAAI,KAAK,sBAAsB;AAC7B,iBAAS,oBAAoB,SAAS,KAAK,oBAAoB;AAC/D,aAAK,uBAAuB;AAAA,MAC7B;AAAA,IACF,GAL2B;AAAA,IAM5B,oBAAoB,gCAASC,sBAAqB;AAChD,UAAI,SAAS;AACb,UAAI,CAAC,KAAK,gBAAgB;AACxB,aAAK,iBAAiB,SAAU,OAAO;AACrC,cAAI,CAAC,cAAa,GAAI;AACpB,mBAAO,KAAK,OAAO,IAAI;AAAA,UACxB;AACD,iBAAO,eAAe;AAAA,QAChC;AACQ,eAAO,iBAAiB,UAAU,KAAK,cAAc;AAAA,MACtD;AAAA,IACF,GAXmB;AAAA,IAYpB,sBAAsB,gCAASC,wBAAuB;AACpD,UAAI,KAAK,gBAAgB;AACvB,eAAO,oBAAoB,UAAU,KAAK,cAAc;AACxD,aAAK,iBAAiB;AAAA,MACvB;AAAA,IACF,GALqB;AAAA,IAMtB,wBAAwB,gCAAS,yBAAyB;AACxD,UAAI,SAAS;AACb,UAAI,CAAC,KAAK,oBAAoB;AAC5B,YAAI,QAAQ,WAAW,eAAe,OAAO,KAAK,YAAY,GAAG,CAAC;AAClE,aAAK,QAAQ;AACb,aAAK,eAAe,MAAM;AAC1B,aAAK,qBAAqB,WAAY;AACpC,iBAAO,eAAe,MAAM;AAC5B,iBAAO,eAAe;AAAA,QAChC;AACQ,aAAK,MAAM,iBAAiB,UAAU,KAAK,kBAAkB;AAAA,MAC9D;AAAA,IACF,GAZuB;AAAA,IAaxB,0BAA0B,gCAAS,2BAA2B;AAC5D,UAAI,KAAK,oBAAoB;AAC3B,aAAK,MAAM,oBAAoB,UAAU,KAAK,kBAAkB;AAChE,aAAK,qBAAqB;AAAA,MAC3B;AAAA,IACF,GALyB;AAAA,IAM1B,eAAe,gCAAS,cAAc,eAAe;AACnD,UAAI;AACJ,aAAO,KAAK,YAAY,aAAa,OAAO,wBAAwB,KAAK,uBAAuB,aAAa,OAAO,QAAQ,0BAA0B,SAAS,SAAS,sBAAsB,kBAAmB,EAAC,WAAW,KAAK,YAAY,kBAAmB,CAAA;AAAA,IAClQ,GAHc;AAAA,IAIf,aAAa,gCAAS,YAAY,eAAe;AAC/C,aAAO,CAAC,CAAC,iBAAiB,CAAC,KAAK,eAAe,cAAc,IAAI,KAAK,CAAC,KAAK,gBAAgB,cAAc,IAAI,KAAK,KAAK,cAAc,cAAc,IAAI;AAAA,IACzJ,GAFY;AAAA,IAGb,qBAAqB,gCAAS,oBAAoB,eAAe;AAC/D,aAAO,KAAK,YAAY,aAAa,KAAK,KAAK,WAAW,aAAa;AAAA,IACxE,GAFoB;AAAA,IAGrB,YAAY,gCAASC,YAAW,eAAe;AAC7C,aAAO,KAAK,eAAe,KAAK,SAAU,GAAG;AAC3C,eAAO,EAAE,QAAQ,cAAc;AAAA,MACvC,CAAO;AAAA,IACF,GAJW;AAAA,IAKZ,oBAAoB,gCAAS,qBAAqB;AAChD,UAAI,SAAS;AACb,aAAO,KAAK,aAAa,UAAU,SAAU,eAAe;AAC1D,eAAO,OAAO,YAAY,aAAa;AAAA,MAC/C,CAAO;AAAA,IACF,GALmB;AAAA,IAMpB,mBAAmB,gCAAS,oBAAoB;AAC9C,UAAI,SAAS;AACb,aAAO,cAAc,KAAK,cAAc,SAAU,eAAe;AAC/D,eAAO,OAAO,YAAY,aAAa;AAAA,MAC/C,CAAO;AAAA,IACF,GALkB;AAAA,IAMnB,mBAAmB,gCAAS,kBAAkB,OAAO;AACnD,UAAI,UAAU;AACd,UAAI,mBAAmB,QAAQ,KAAK,aAAa,SAAS,IAAI,KAAK,aAAa,MAAM,QAAQ,CAAC,EAAE,UAAU,SAAU,eAAe;AAClI,eAAO,QAAQ,YAAY,aAAa;AAAA,MAChD,CAAO,IAAI;AACL,aAAO,mBAAmB,KAAK,mBAAmB,QAAQ,IAAI;AAAA,IAC/D,GANkB;AAAA,IAOnB,mBAAmB,gCAAS,kBAAkB,OAAO;AACnD,UAAI,UAAU;AACd,UAAI,mBAAmB,QAAQ,IAAI,cAAc,KAAK,aAAa,MAAM,GAAG,KAAK,GAAG,SAAU,eAAe;AAC3G,eAAO,QAAQ,YAAY,aAAa;AAAA,MAChD,CAAO,IAAI;AACL,aAAO,mBAAmB,KAAK,mBAAmB;AAAA,IACnD,GANkB;AAAA,IAOnB,uBAAuB,gCAAS,wBAAwB;AACtD,UAAI,UAAU;AACd,aAAO,KAAK,aAAa,UAAU,SAAU,eAAe;AAC1D,eAAO,QAAQ,oBAAoB,aAAa;AAAA,MACxD,CAAO;AAAA,IACF,GALsB;AAAA,IAMvB,2BAA2B,gCAAS,4BAA4B;AAC9D,UAAI,gBAAgB,KAAK;AACzB,aAAO,gBAAgB,IAAI,KAAK,mBAAkB,IAAK;AAAA,IACxD,GAH0B;AAAA,IAI3B,0BAA0B,gCAAS,2BAA2B;AAC5D,UAAI,gBAAgB,KAAK;AACzB,aAAO,gBAAgB,IAAI,KAAK,kBAAiB,IAAK;AAAA,IACvD,GAHyB;AAAA,IAI1B,aAAa,gCAAS,YAAY,OAAO,OAAO;AAC9C,UAAI,UAAU;AACd,WAAK,eAAe,KAAK,eAAe,MAAM;AAC9C,UAAI,YAAY;AAChB,UAAI,UAAU;AACd,UAAI,KAAK,gBAAgB,UAAU,IAAI;AACrC,oBAAY,KAAK,aAAa,MAAM,KAAK,gBAAgB,KAAK,EAAE,UAAU,SAAU,eAAe;AACjG,iBAAO,QAAQ,cAAc,aAAa;AAAA,QACpD,CAAS;AACD,oBAAY,cAAc,KAAK,KAAK,aAAa,MAAM,GAAG,KAAK,gBAAgB,KAAK,EAAE,UAAU,SAAU,eAAe;AACvH,iBAAO,QAAQ,cAAc,aAAa;AAAA,QAC3C,CAAA,IAAI,YAAY,KAAK,gBAAgB;AAAA,MAC9C,OAAa;AACL,oBAAY,KAAK,aAAa,UAAU,SAAU,eAAe;AAC/D,iBAAO,QAAQ,cAAc,aAAa;AAAA,QACpD,CAAS;AAAA,MACF;AACD,UAAI,cAAc,IAAI;AACpB,kBAAU;AAAA,MACX;AACD,UAAI,cAAc,MAAM,KAAK,gBAAgB,UAAU,IAAI;AACzD,oBAAY,KAAK;MAClB;AACD,UAAI,cAAc,IAAI;AACpB,aAAK,uBAAuB,OAAO,SAAS;AAAA,MAC7C;AACD,UAAI,KAAK,eAAe;AACtB,qBAAa,KAAK,aAAa;AAAA,MAChC;AACD,WAAK,gBAAgB,WAAW,WAAY;AAC1C,gBAAQ,cAAc;AACtB,gBAAQ,gBAAgB;AAAA,MACzB,GAAE,GAAG;AACN,aAAO;AAAA,IACR,GAlCY;AAAA,IAmCb,wBAAwB,gCAAS,uBAAuB,OAAO,OAAO;AACpE,UAAI,KAAK,gBAAgB,UAAU,OAAO;AACxC,aAAK,gBAAgB,QAAQ;AAC7B,aAAK,aAAY;AAAA,MAClB;AAAA,IACF,GALuB;AAAA,IAMxB,cAAc,gCAAShE,gBAAe;AACpC,UAAI,QAAQ,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI;AAChF,UAAIC,MAAK,UAAU,KAAK,GAAG,OAAO,KAAK,IAAI,GAAG,EAAE,OAAO,KAAK,IAAI,KAAK;AACrE,UAAI,UAAU,WAAW,KAAK,SAAS,UAAW,OAAOA,KAAI,IAAK,CAAC;AACnE,UAAI,SAAS;AACX,gBAAQ,kBAAkB,QAAQ,eAAe;AAAA,UAC/C,OAAO;AAAA,UACP,QAAQ;AAAA,QAClB,CAAS;AAAA,MACF;AAAA,IACF,GAVa;AAAA,IAWd,sBAAsB,gCAAS,qBAAqB,OAAO;AACzD,UAAI,UAAU;AACd,UAAI,QAAQ,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI;AAChF,UAAI,SAAS,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA;AACjF,UAAI,YAAY,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI;AACpF,UAAIgE,kBAAiB,CAAA;AACrB,eAAS,MAAM,QAAQ,SAAUvG,OAAM,OAAO;AAC5C,YAAI,OAAO,cAAc,KAAK,YAAY,MAAM,MAAM;AACtD,YAAI,UAAU;AAAA,UACZ,MAAMA;AAAA,UACN;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACV;AACQ,gBAAQ,OAAO,IAAI,QAAQ,qBAAqBA,MAAK,OAAO,QAAQ,GAAG,SAAS,GAAG;AACnF,QAAAuG,gBAAe,KAAK,OAAO;AAAA,MACnC,CAAO;AACD,aAAOA;AAAA,IACR,GApBqB;AAAA,IAqBtB,cAAc,gCAAS,aAAa,IAAI;AACtC,WAAK,YAAY;AAAA,IAClB,GAFa;AAAA,IAGd,YAAY,gCAAS,WAAW,IAAI;AAClC,WAAK,UAAU,KAAK,GAAG,MAAM;AAAA,IAC9B,GAFW;AAAA,EAGb;AAAA,EACD,UAAU;AAAA,IACR,gBAAgB,gCAAS,iBAAiB;AACxC,aAAO,KAAK,qBAAqB,KAAK,SAAS,CAAE,CAAA;AAAA,IAClD,GAFe;AAAA,IAGhB,cAAc,gCAAS,eAAe;AACpC,UAAI,UAAU;AACd,UAAI,gBAAgB,KAAK,eAAe,KAAK,SAAU,GAAG;AACxD,eAAO,EAAE,QAAQ,QAAQ,gBAAgB;AAAA,MACjD,CAAO;AACD,aAAO,gBAAgB,cAAc,QAAQ,KAAK;AAAA,IACnD,GANa;AAAA,IAOd,eAAe,gCAAS,gBAAgB;AACtC,aAAO,KAAK,gBAAgB,UAAU,KAAK,GAAG,OAAO,KAAK,EAAE,EAAE,OAAO,WAAW,KAAK,gBAAgB,SAAS,IAAI,MAAM,KAAK,gBAAgB,YAAY,IAAI,GAAG,EAAE,OAAO,KAAK,gBAAgB,KAAK,IAAI;AAAA,IACxM,GAFc;AAAA,EAGhB;AAAA,EACD,YAAY;AAAA,IACV,YAAY5G;AAAAA,IACZ,UAAU6G;AAAAA,EACX;AACH;AAEA,SAAS,QAAQ,GAAG;AAAE;AAA2B,SAAO,UAAU,cAAc,OAAO,UAAU,YAAY,OAAO,OAAO,WAAW,SAAU/E,IAAG;AAAE,WAAO,OAAOA;AAAA,MAAO,SAAUA,IAAG;AAAE,WAAOA,MAAK,cAAc,OAAO,UAAUA,GAAE,gBAAgB,UAAUA,OAAM,OAAO,YAAY,WAAW,OAAOA;AAAA,EAAE,GAAI,QAAQ,CAAC;AAAI;AAArT;AACT,SAAS,QAAQ,GAAG,GAAG;AAAE,MAAI,IAAI,OAAO,KAAK,CAAC;AAAG,MAAI,OAAO,uBAAuB;AAAE,QAAI,IAAI,OAAO,sBAAsB,CAAC;AAAG,UAAM,IAAI,EAAE,OAAO,SAAUuB,IAAG;AAAE,aAAO,OAAO,yBAAyB,GAAGA,EAAC,EAAE;AAAA,IAAW,CAAE,IAAI,EAAE,KAAK,MAAM,GAAG,CAAC;AAAA,EAAE;AAAG,SAAO;AAAI;AAAtP;AACT,SAAS,cAAc,GAAG;AAAE,WAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AAAE,QAAI,IAAI,QAAQ,UAAU,CAAC,IAAI,UAAU,CAAC,IAAI,CAAE;AAAE,QAAI,IAAI,QAAQ,OAAO,CAAC,GAAG,IAAE,EAAE,QAAQ,SAAUA,IAAG;AAAE,sBAAgB,GAAGA,IAAG,EAAEA,EAAC,CAAC;AAAA,IAAI,CAAA,IAAI,OAAO,4BAA4B,OAAO,iBAAiB,GAAG,OAAO,0BAA0B,CAAC,CAAC,IAAI,QAAQ,OAAO,CAAC,CAAC,EAAE,QAAQ,SAAUA,IAAG;AAAE,aAAO,eAAe,GAAGA,IAAG,OAAO,yBAAyB,GAAGA,EAAC,CAAC;AAAA,IAAE,CAAE;AAAA,EAAI;AAAC,SAAO;AAAI;AAA9a;AACT,SAAS,gBAAgB,GAAG,GAAG,GAAG;AAAE,UAAQ,IAAI,eAAe,CAAC,MAAM,IAAI,OAAO,eAAe,GAAG,GAAG,EAAE,OAAO,GAAG,YAAY,MAAI,cAAc,MAAI,UAAU,KAAI,CAAA,IAAI,EAAE,CAAC,IAAI,GAAG;AAAI;AAA3K;AACT,SAAS,eAAe,GAAG;AAAE,MAAI,IAAI,aAAa,GAAG,QAAQ;AAAG,SAAO,YAAY,QAAQ,CAAC,IAAI,IAAI,IAAI;AAAK;AAApG;AACT,SAAS,aAAa,GAAG,GAAG;AAAE,MAAI,YAAY,QAAQ,CAAC,KAAK,CAAC,EAAG,QAAO;AAAG,MAAI,IAAI,EAAE,OAAO,WAAW;AAAG,MAAI,WAAW,GAAG;AAAE,QAAI,IAAI,EAAE,KAAK,GAAG,KAAK,SAAS;AAAG,QAAI,YAAY,QAAQ,CAAC,EAAG,QAAO;AAAG,UAAM,IAAI,UAAU,8CAA8C;AAAA,EAAI;AAAC,UAAQ,aAAa,IAAI,SAAS,QAAQ,CAAC;AAAI;AAAnT;AACT,IAAI1C,eAAa,CAAC,iBAAiB,iBAAiB,iBAAiB,YAAY;AACjF,SAASP,SAAO,MAAM,QAAQ,QAAQ,QAAQ,OAAO,UAAU;AAC7D,MAAI,sBAAsB,iBAAiB,UAAU;AACrD,MAAI,wBAAwB,iBAAiB,YAAY;AACzD,SAAO,UAAW,GAAE,mBAAmB,OAAO,WAAW;AAAA,IACvD,KAAK,SAAS;AAAA,IACd,SAAS,KAAK,GAAG,MAAM;AAAA,EACxB,GAAE,KAAK,KAAK,MAAM,CAAC,GAAG,CAAC,KAAK,OAAO,SAAS,UAAW,GAAE,mBAAmB,OAAO,WAAW;AAAA,IAC7F,KAAK;AAAA,IACL,SAAS,KAAK,GAAG,OAAO;AAAA,EACzB,GAAE,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,QAAQ,OAAO,CAAC,GAAG,EAAE,KAAK,mBAAmB,IAAI,IAAI,GAAG,WAAW,KAAK,QAAQ,KAAK,OAAO,SAAS,WAAW,cAAc;AAAA,IACpK,IAAI,MAAM;AAAA,IACV,SAAS,eAAe,KAAK,GAAG,QAAQ,CAAC;AAAA,IACzC,gBAAgB,gCAAS,eAAe,OAAO;AAC7C,aAAO,SAAS,gBAAgB,KAAK;AAAA,IACtC,GAFe;AAAA,EAGpB,GAAK,WAAY;AACb,QAAI;AACJ,WAAO,CAAC,KAAK,SAAS,KAAK,MAAM,SAAS,KAAK,UAAW,GAAE,mBAAmB,KAAK,WAAW;AAAA,MAC7F,KAAK;AAAA,MACL,KAAK;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,MACV,SAAS,KAAK,GAAG,QAAQ;AAAA,MACzB,iBAAiB,KAAK,MAAM,UAAU,KAAK,MAAM,SAAS,IAAI,OAAO;AAAA,MACrE,iBAAiB,MAAM;AAAA,MACvB,iBAAiB,MAAM;AAAA,MACvB,eAAe,wBAAwB,KAAK,UAAU,OAAO,OAAO,UAAU,QAAQ,0BAA0B,SAAS,SAAS,sBAAsB;AAAA,MACxJ,SAAS,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,SAAU,QAAQ;AACnD,eAAO,SAAS,gBAAgB,MAAM;AAAA,MAC9C;AAAA,MACM,WAAW,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,SAAU,QAAQ;AACrD,eAAO,SAAS,kBAAkB,MAAM;AAAA,MAChD;AAAA,IACA,GAAO,cAAc,cAAc,CAAA,GAAI,KAAK,WAAW,GAAG,KAAK,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,WAAW,KAAK,QAAQ,KAAK,OAAO,aAAa,eAAe,kBAAkB,CAAA,GAAI,WAAY;AAC7K,aAAO,CAAC,YAAY,qBAAqB,eAAe,mBAAmB,KAAK,IAAI,YAAY,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC;AAAA,IACpH,CAAK,CAAC,GAAG,IAAIO,YAAU,KAAK,mBAAmB,IAAI,IAAI,CAAC;AAAA,EACxD,CAAG,GAAG,YAAY,uBAAuB;AAAA,IACrC,KAAK,SAAS;AAAA,IACd,IAAI,MAAM,KAAK;AAAA,IACf,MAAM;AAAA,IACN,OAAO,SAAS;AAAA,IAChB,WAAW,KAAK;AAAA,IAChB,MAAM;AAAA,IACN,cAAc,MAAM;AAAA,IACpB,UAAU;AAAA,IACV,yBAAyB,MAAM,UAAU,SAAS,gBAAgB;AAAA,IAClE,QAAQ,MAAM;AAAA,IACd,eAAe,MAAM,UAAU,SAAS,gBAAgB;AAAA,IACxD,gBAAgB,MAAM;AAAA,IACtB,OAAO;AAAA,IACP,mBAAmB,KAAK;AAAA,IACxB,cAAc,KAAK;AAAA,IACnB,IAAI,KAAK;AAAA,IACT,UAAU,KAAK;AAAA,IACf,SAAS,SAAS;AAAA,IAClB,QAAQ,SAAS;AAAA,IACjB,WAAW,SAAS;AAAA,IACpB,aAAa,SAAS;AAAA,IACtB,kBAAkB,SAAS;AAAA,IAC3B,iBAAiB,SAAS;AAAA,EAC3B,GAAE,MAAM,GAAG,CAAC,MAAM,SAAS,aAAa,gBAAgB,yBAAyB,UAAU,iBAAiB,kBAAkB,mBAAmB,cAAc,MAAM,YAAY,WAAW,UAAU,aAAa,eAAe,oBAAoB,iBAAiB,CAAC,GAAG,KAAK,OAAO,OAAO,UAAS,GAAI,mBAAmB,OAAO,WAAW;AAAA,IAC/U,KAAK;AAAA,IACL,SAAS,KAAK,GAAG,KAAK;AAAA,EAC1B,GAAK,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,KAAK,QAAQ,KAAK,CAAC,GAAG,EAAE,KAAK,mBAAmB,IAAI,IAAI,CAAC,GAAG,EAAE;AACjG;AAhESP;AAkETD,SAAO,SAASC;;;;;;;;;;ACp9BhB,UAAM,eAAe;AACrB,UAAM,oBAAoB;AAAA,MAAS,MACjC,aAAa,IAAI,kBAAkB,MAAM,QAAQ,SAAS;AAAA,IAAA;AAG5D,UAAM,iBAAiB;AACvB,UAAM,QAAQ,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxC7B,IAAIN,UAAQ,gCAASA,OAAM,MAAM;AAC/B,MAAI,KAAK,KAAK;AACd,SAAO,uCAAuC,OAAO,GAAG,oBAAoB,GAAG,wBAAwB,EAAE,OAAO,GAAG,qBAAqB,GAAG,qBAAqB,EAAE,OAAO,GAAG,kBAAkB,GAAG,gBAAgB,EAAE,OAAO,GAAG,aAAa,GAAG,6HAA6H,EAAE,OAAO,GAAG,sBAAsB,GAAG,qBAAqB,EAAE,OAAO,GAAG,yBAAyB,GAAG,gBAAgB,EAAE,OAAO,GAAG,oBAAoB,GAAG,iDAAiD,EAAE,OAAO,GAAG,2BAA2B,GAAG,uBAAuB,EAAE,OAAO,GAAG,2BAA2B,GAAG,wBAAwB,EAAE,OAAO,GAAG,4BAA4B,GAAG,8DAA8D,EAAE,OAAO,GAAG,iCAAiC,GAAG,kEAAkE,EAAE,OAAO,GAAG,yBAAyB,GAAG,2CAA2C,EAAE,OAAO,GAAG,uBAAuB,GAAG,0CAA0C,EAAE,OAAO,GAAG,sBAAsB,GAAG,QAAQ;AAChmC,GAHY;AAIZ,IAAIC,YAAU;AAAA,EACZ,MAAM,gCAASgB,MAAK,OAAO;AACzB,QAAI,QAAQ,MAAM;AAClB,WAAO,CAAC,uBAAuB;AAAA,MAC7B,sBAAsB,MAAM;AAAA,IAClC,CAAK;AAAA,EACF,GALK;AAAA,EAMN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,SAAS;AAAA,EACT,QAAQ;AACV;AACA,IAAI,aAAa,UAAU,OAAO;AAAA,EAChC,MAAM;AAAA,EACN,OAAOjB;AAAAA,EACP,SAASC;AACX,CAAC;AChBD,IAAIC,aAAW;AAAA,EACb,MAAM;AAAA,EACN,WAAWM;AAAAA,EACX,OAAO;AAAA,IACL,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,mBAAmB;AAAA,MACjB,MAAM;AAAA,MACN,WAAW,gCAAS,WAAW;AAC7B,eAAO;AAAA,UACL,UAAU;AAAA,UACV,MAAM;AAAA,UACN,SAAS;AAAA,QACnB;AAAA,MACO,GANU;AAAA,IAOZ;AAAA,EACF;AAAA,EACD,OAAO;AAAA,EACP,SAAS,gCAASJ,YAAU;AAC1B,WAAO;AAAA,MACL,UAAU;AAAA,MACV,iBAAiB;AAAA,IACvB;AAAA,EACG,GALQ;AAMX;AAEA,IAAIC,WAAS;AAAA,EACX,MAAM;AAAA,EACN,WAAWH;AAAAA,EACX,cAAc;AAAA,EACd,OAAO,CAAC,oBAAoB,QAAQ;AAAA,EACpC,MAAM,gCAASuB,QAAO;AACpB,WAAO;AAAA,MACL,IAAI,KAAK,OAAO;AAAA,MAChB,aAAa,KAAK;AAAA,IACxB;AAAA,EACG,GALK;AAAA,EAMN,OAAO;AAAA,IACL,aAAa,gCAAS8D,UAAS,UAAU;AACvC,WAAK,KAAK,YAAY;IACvB,GAFY;AAAA,IAGb,WAAW,gCAAS,UAAU,UAAU;AACtC,WAAK,cAAc;AAAA,IACpB,GAFU;AAAA,EAGZ;AAAA,EACD,SAAS,gCAAS7D,WAAU;AAC1B,SAAK,KAAK,KAAK,MAAM,kBAAiB;AAAA,EACvC,GAFQ;AAAA,EAGT,SAAS;AAAA,IACP,QAAQ,gCAASsF,QAAO,OAAO;AAC7B,WAAK,cAAc,CAAC,KAAK;AACzB,WAAK,MAAM,oBAAoB,KAAK,WAAW;AAC/C,WAAK,MAAM,UAAU;AAAA,QACnB,eAAe;AAAA,QACf,OAAO,KAAK;AAAA,MACpB,CAAO;AAAA,IACF,GAPO;AAAA,IAQR,WAAW,gCAAShB,WAAU,OAAO;AACnC,UAAI,MAAM,SAAS,WAAW,MAAM,SAAS,iBAAiB,MAAM,SAAS,SAAS;AACpF,aAAK,OAAO,KAAK;AACjB,cAAM,eAAc;AAAA,MACrB;AAAA,IACF,GALU;AAAA,EAMZ;AAAA,EACD,UAAU;AAAA,IACR,iBAAiB,gCAAS,kBAAkB;AAC1C,aAAO,KAAK,qBAAqB,KAAK,kBAAkB,YAAY,KAAK,kBAAkB,YAAY,KAAK;AAAA,IAC7G,GAFgB;AAAA,EAGlB;AAAA,EACD,YAAY;AAAA,IACV,UAAUiB;AAAAA,IACV,WAAWC;AAAAA,IACX,QAAQC;AAAAA,EACT;AAAA,EACD,YAAY;AAAA,IACV,QAAQ;AAAA,EACT;AACH;AAEA,IAAItG,eAAa,CAAC,IAAI;AACtB,IAAIC,eAAa,CAAC,MAAM,iBAAiB;AACzC,SAASR,SAAO,MAAM,QAAQ,QAAQ,QAAQ,OAAO,UAAU;AAC7D,MAAI,oBAAoB,iBAAiB,QAAQ;AACjD,SAAO,UAAW,GAAE,mBAAmB,OAAO,WAAW;AAAA,IACvD,SAAS,KAAK,GAAG,MAAM;AAAA,EAC3B,GAAK,KAAK,KAAK,MAAM,CAAC,GAAG,CAACU,gBAAmB,OAAO,WAAW;AAAA,IAC3D,SAAS,KAAK,GAAG,QAAQ;AAAA,EAC7B,GAAK,KAAK,IAAI,QAAQ,CAAC,GAAG,CAAC,WAAW,KAAK,QAAQ,UAAU;AAAA,IACzD,IAAI,MAAM,KAAK;AAAA,IACf,SAAS,eAAe,KAAK,GAAG,OAAO,CAAC;AAAA,EAC5C,GAAK,WAAY;AACb,WAAO,CAAC,KAAK,UAAU,UAAW,GAAE,mBAAmB,QAAQ,WAAW;AAAA,MACxE,KAAK;AAAA,MACL,IAAI,MAAM,KAAK;AAAA,MACf,SAAS,KAAK,GAAG,OAAO;AAAA,IAC9B,GAAO,KAAK,IAAI,OAAO,CAAC,GAAG,gBAAgB,KAAK,MAAM,GAAG,IAAIH,YAAU,KAAK,mBAAmB,IAAI,IAAI,CAAC;AAAA,EACxG,CAAG,GAAGG,gBAAmB,OAAO,WAAW;AAAA,IACvC,SAAS,KAAK,GAAG,eAAe;AAAA,EACpC,GAAK,KAAK,IAAI,eAAe,CAAC,GAAG,CAAC,WAAW,KAAK,QAAQ,OAAO,GAAG,KAAK,cAAc,UAAW,GAAE,YAAY,mBAAmB,WAAW;AAAA,IAC1I,KAAK;AAAA,IACL,IAAI,MAAM,KAAK;AAAA,IACf,SAAS,KAAK,GAAG,gBAAgB;AAAA,IACjC,cAAc,SAAS;AAAA,IACvB,iBAAiB,MAAM,KAAK;AAAA,IAC5B,iBAAiB,CAAC,MAAM;AAAA,IACxB,UAAU,KAAK;AAAA,IACf,SAAS,SAAS;AAAA,IAClB,WAAW,SAAS;AAAA,EACxB,GAAK,KAAK,mBAAmB;AAAA,IACzB,IAAI,KAAK,IAAI,gBAAgB;AAAA,EACjC,CAAG,GAAG;AAAA,IACF,MAAM,QAAQ,SAAU,WAAW;AACjC,aAAO,CAAC,WAAW,KAAK,QAAQ,KAAK,OAAO,aAAa,eAAe,eAAe;AAAA,QACrF,WAAW,MAAM;AAAA,MACzB,GAAS,WAAY;AACb,eAAO,EAAE,aAAa,YAAY,wBAAwB,MAAM,cAAc,aAAa,WAAW,GAAG,WAAW;AAAA,UAClH,SAAS,UAAU,OAAO;AAAA,QAC3B,GAAE,KAAK,IAAI,gBAAgB,EAAE,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAC;AAAA,MAC7D,CAAA,CAAC;AAAA,IACR,CAAK;AAAA,IACD,GAAG;AAAA,EACJ,GAAE,IAAI,CAAC,MAAM,SAAS,cAAc,iBAAiB,iBAAiB,YAAY,WAAW,aAAa,IAAI,CAAC,KAAK,mBAAmB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,YAAY,YAAY,WAAW;AAAA,IAChM,MAAM;AAAA,EACP,GAAE,KAAK,IAAI,YAAY,CAAC,GAAG;AAAA,IAC1B,WAAW,QAAQ,WAAY;AAC7B,aAAO,CAAC,eAAeA,gBAAmB,OAAO,WAAW;AAAA,QAC1D,IAAI,MAAM,KAAK;AAAA,QACf,SAAS,KAAK,GAAG,kBAAkB;AAAA,QACnC,MAAM;AAAA,QACN,mBAAmB,MAAM,KAAK;AAAA,MACtC,GAAS,KAAK,IAAI,kBAAkB,CAAC,GAAG,CAACA,gBAAmB,OAAO,WAAW;AAAA,QACtE,SAAS,KAAK,GAAG,SAAS;AAAA,MAClC,GAAS,KAAK,IAAI,SAAS,CAAC,GAAG,CAAC,WAAW,KAAK,QAAQ,SAAS,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,UAAU,aAAa,mBAAmB,OAAO,WAAW;AAAA,QAC1I,KAAK;AAAA,QACL,SAAS,KAAK,GAAG,QAAQ;AAAA,MAC1B,GAAE,KAAK,IAAI,QAAQ,CAAC,GAAG,CAAC,WAAW,KAAK,QAAQ,QAAQ,CAAC,GAAG,EAAE,KAAK,mBAAmB,IAAI,IAAI,CAAC,GAAG,IAAIF,YAAU,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,WAAW,CAAC,CAAC,CAAC;AAAA,IACxJ,CAAK;AAAA,IACD,GAAG;AAAA,EACP,GAAK,EAAE,CAAC,GAAG,EAAE;AACb;AA1DSR;AA4DTD,SAAO,SAASC;;;;;;;;;;;;;;;;;;;;;;ACrJhB,IAAIN,UAAQ,gCAASA,OAAM,MAAM;AAC/B,MAAI,KAAK,KAAK;AACd,SAAO,sCAAsC,OAAO,GAAG,uBAAuB,GAAG,gBAAgB,EAAE,OAAO,GAAG,kBAAkB,GAAG,2BAA2B,EAAE,OAAO,GAAG,yBAAyB,GAAG,wBAAwB,EAAE,OAAO,GAAG,0BAA0B,GAAG,mHAAmH,EAAE,OAAO,GAAG,yBAAyB,GAAG,4GAA4G,EAAE,OAAO,GAAG,qBAAqB,GAAG,mHAAmH,EAAE,OAAO,GAAG,uBAAuB,GAAG,gBAAgB,EAAE,OAAO,GAAG,kBAAkB,GAAG,2BAA2B,EAAE,OAAO,GAAG,yBAAyB,GAAG,wBAAwB,EAAE,OAAO,GAAG,0BAA0B,GAAG,qBAAqB,EAAE,OAAO,GAAG,mBAAmB,GAAG,uHAAuH,EAAE,OAAO,GAAG,gCAAgC,GAAG,UAAU,EAAE,OAAO,GAAG,gCAAgC,GAAG,wBAAwB,EAAE,OAAO,GAAG,+BAA+B,GAAG,gBAAgB,EAAE,OAAO,GAAG,uBAAuB,GAAG,uNAAuN,EAAE,OAAO,GAAG,yBAAyB,GAAG,cAAc,EAAE,OAAO,GAAG,qBAAqB,GAAG,oJAAoJ,EAAE,OAAO,GAAG,4BAA4B,GAAG,mDAAmD,EAAE,OAAO,GAAG,+BAA+B,GAAG,4CAA4C,EAAE,OAAO,GAAG,8BAA8B,GAAG,gBAAgB,EAAE,OAAO,GAAG,8BAA8B,GAAG,iBAAiB,EAAE,OAAO,GAAG,8BAA8B,GAAG,gFAAgF,EAAE,OAAO,GAAG,6BAA6B,GAAG,qBAAqB,EAAE,OAAO,GAAG,kCAAkC,GAAG,wGAAwG,EAAE,OAAO,GAAG,kCAAkC,GAAG,2GAA2G,EAAE,OAAO,GAAG,qCAAqC,GAAG,+FAA+F,EAAE,OAAO,GAAG,6BAA6B,GAAG,qBAAqB,EAAE,OAAO,GAAG,kCAAkC,GAAG,uHAAuH,EAAE,OAAO,GAAG,kCAAkC,GAAG,0HAA0H,EAAE,OAAO,GAAG,qCAAqC,GAAG,+EAA+E,EAAE,OAAO,GAAG,8BAA8B,GAAG,qBAAqB,EAAE,OAAO,GAAG,mCAAmC,GAAG,uGAAuG,EAAE,OAAO,GAAG,mCAAmC,GAAG,0GAA0G,EAAE,OAAO,GAAG,sCAAsC,GAAG,+DAA+D,EAAE,OAAO,GAAG,mCAAmC,GAAG,mDAAmD,EAAE,OAAO,GAAG,mBAAmB,GAAG,iaAAia,EAAE,OAAO,GAAG,yBAAyB,GAAG,4GAA4G,EAAE,OAAO,GAAG,mCAAmC,GAAG,+wBAA+wB,EAAE,OAAO,GAAG,kCAAkC,GAAG,QAAQ;AACzsK,GAHY;AAIZ,IAAI,eAAe;AAAA,EACjB,SAAS,gCAASoH,SAAQ,OAAO;AAC/B,QAAI,WAAW,MAAM,UACnB,gBAAgB,MAAM;AACxB,WAAO;AAAA,MACL,SAAS,SAAS,aAAa,aAAa,IAAI,SAAS;AAAA,IAC/D;AAAA,EACG,GANQ;AAOX;AACA,IAAInH,YAAU;AAAA,EACZ,MAAM,gCAASgB,OAAK,OAAO;AACzB,QAAI,QAAQ,MAAM,OAChB,WAAW,MAAM;AACnB,WAAO,CAAC,4BAA4B;AAAA,MAClC,wBAAwB,MAAM;AAAA,MAC9B,uBAAuB,SAAS;AAAA,IACtC,CAAK;AAAA,EACF,GAPK;AAAA,EAQN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,MAAM,gCAASV,MAAK,OAAO;AACzB,QAAI,WAAW,MAAM,UACnB,gBAAgB,MAAM;AACxB,WAAO,CAAC,qBAAqB;AAAA,MAC3B,4BAA4B,SAAS,aAAa,aAAa;AAAA,MAC/D,WAAW,SAAS,cAAc,aAAa;AAAA,MAC/C,cAAc,SAAS,eAAe,aAAa;AAAA,IACzD,CAAK;AAAA,EACF,GARK;AAAA,EASN,aAAa;AAAA,EACb,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AAAA,EACX,aAAa;AAAA,EACb,SAAS;AAAA,EACT,WAAW;AAAA,EACX,KAAK;AACP;AACA,IAAI,kBAAkB,UAAU,OAAO;AAAA,EACrC,MAAM;AAAA,EACN,OAAOP;AAAAA,EACP,SAASC;AAAAA,EACT;AACF,CAAC;ACrCD,IAAI,WAAW;AAAA,EACb,MAAM;AAAA,EACN,WAAWO;AAAAA,EACX,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,OAAO;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,UAAU;AAAA,MACR,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,WAAW;AAAA,IACZ;AAAA,IACD,YAAY;AAAA,MACV,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,YAAY;AAAA,MACV,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,YAAY;AAAA,MACV,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,EACF;AAAA,EACD,OAAO;AAAA,EACP,SAAS,gCAASJ,YAAU;AAC1B,WAAO;AAAA,MACL,eAAe;AAAA,MACf,iBAAiB;AAAA,IACvB;AAAA,EACG,GALQ;AAMX;AAEA,IAAIF,aAAW;AAAA,EACb,MAAM;AAAA,EACN,UAAU;AAAA,EACV,WAAWM;AAAAA,EACX,OAAO,CAAC,cAAc,mBAAmB,gBAAgB;AAAA,EACzD,WAAW;AAAA,EACX,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,eAAe;AAAA,MACb,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,OAAO;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,SAAS;AAAA,MACP,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,OAAO;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,WAAW,gCAAS6G,WAAU,eAAe;AAC3C,aAAO,GAAG,OAAO,KAAK,QAAQ,GAAG,EAAE,OAAO,cAAc,GAAG;AAAA,IAC5D,GAFU;AAAA,IAGX,YAAY,gCAASC,YAAW,eAAe;AAC7C,aAAO,KAAK,UAAU,aAAa;AAAA,IACpC,GAFW;AAAA,IAGZ,aAAa,gCAAS9B,aAAY,eAAe,MAAM,QAAQ;AAC7D,aAAO,iBAAiB,cAAc,OAAO,QAAQ,cAAc,KAAK,IAAI,GAAG,MAAM,IAAI;AAAA,IAC1F,GAFY;AAAA,IAGb,cAAc,gCAASC,cAAa,eAAe;AACjD,aAAO,KAAK,YAAY,eAAe,OAAO;AAAA,IAC/C,GAFa;AAAA,IAGd,gBAAgB,gCAAS8B,gBAAe,eAAe;AACrD,aAAO,GAAG,OAAO,KAAK,QAAQ,GAAG,EAAE,OAAO,cAAc,KAAK,QAAQ;AAAA,IACtE,GAFe;AAAA,IAGhB,cAAc,gCAASzF,cAAa,eAAe,OAAO,KAAK;AAC7D,aAAO,KAAK,IAAI,KAAK;AAAA,QACnB,SAAS;AAAA,UACP,MAAM,cAAc;AAAA,UACpB;AAAA,UACA,QAAQ,KAAK,aAAa,aAAa;AAAA,UACvC,SAAS,KAAK,cAAc,aAAa;AAAA,UACzC,UAAU,KAAK,eAAe,aAAa;AAAA,QAC5C;AAAA,MACT,CAAO;AAAA,IACF,GAVa;AAAA,IAWd,cAAc,gCAAS0F,cAAa,eAAe;AACjD,aAAO,KAAK,eAAe,KAAK,SAAU,MAAM;AAC9C,eAAO,KAAK,QAAQ,cAAc;AAAA,MAC1C,CAAO;AAAA,IACF,GAJa;AAAA,IAKd,eAAe,gCAAS7B,eAAc,eAAe;AACnD,aAAO,KAAK,YAAY,eAAe,SAAS,MAAM;AAAA,IACvD,GAFc;AAAA,IAGf,gBAAgB,gCAASD,gBAAe,eAAe;AACrD,aAAO,KAAK,YAAY,eAAe,UAAU;AAAA,IAClD,GAFe;AAAA,IAGhB,eAAe,gCAAS+B,eAAc,eAAe;AACnD,aAAO,KAAK,kBAAkB,KAAK,UAAU,aAAa;AAAA,IAC3D,GAFc;AAAA,IAGf,aAAa,gCAAS7B,aAAY,eAAe;AAC/C,aAAO,WAAW,cAAc,KAAK;AAAA,IACtC,GAFY;AAAA,IAGb,SAAS,gCAAS8B,WAAU;AAC1B,qBAAe,KAAK,WAAW,KAAK,KAAK;AAAA,IAC1C,GAFQ;AAAA,IAGT,aAAa,gCAASxB,aAAY,OAAO,eAAe;AACtD,WAAK,YAAY,eAAe,WAAW;AAAA,QACzC,eAAe;AAAA,QACf,MAAM,cAAc;AAAA,MAC5B,CAAO;AACD,WAAK,MAAM,cAAc;AAAA,QACvB,eAAe;AAAA,QACf;AAAA,QACA,SAAS;AAAA,MACjB,CAAO;AAAA,IACF,GAVY;AAAA,IAWb,kBAAkB,gCAASC,kBAAiB,OAAO,eAAe;AAChE,WAAK,MAAM,mBAAmB;AAAA,QAC5B,eAAe;AAAA,QACf;AAAA,MACR,CAAO;AAAA,IACF,GALiB;AAAA,IAMlB,iBAAiB,gCAASC,iBAAgB,OAAO,eAAe;AAC9D,WAAK,MAAM,kBAAkB;AAAA,QAC3B,eAAe;AAAA,QACf;AAAA,MACR,CAAO;AAAA,IACF,GALgB;AAAA,IAMjB,gBAAgB,gCAASuB,kBAAiB;AACxC,UAAI,QAAQ;AACZ,aAAO,KAAK,MAAM,OAAO,SAAU,eAAe;AAChD,eAAO,MAAM,cAAc,aAAa,KAAK,CAAC,MAAM,YAAY,eAAe,WAAW;AAAA,MAC3F,CAAA,EAAE;AAAA,IACJ,GALe;AAAA,IAMhB,iBAAiB,gCAASxC,iBAAgB,OAAO;AAC/C,UAAI,SAAS;AACb,aAAO,QAAQ,KAAK,MAAM,MAAM,GAAG,KAAK,EAAE,OAAO,SAAU,eAAe;AACxE,eAAO,OAAO,cAAc,aAAa,KAAK,OAAO,YAAY,eAAe,WAAW;AAAA,MACnG,CAAO,EAAE,SAAS;AAAA,IACb,GALgB;AAAA,IAMjB,kBAAkB,gCAASyC,kBAAiB,eAAe,OAAO;AAChE,aAAO;AAAA,QACL,QAAQ,WAAW;AAAA,UACjB,SAAS,KAAK,GAAG,UAAU;AAAA,UAC3B,UAAU;AAAA,UACV,eAAe;AAAA,QAChB,GAAE,KAAK,aAAa,eAAe,OAAO,UAAU,CAAC;AAAA,QACtD,MAAM,WAAW;AAAA,UACf,SAAS,CAAC,KAAK,GAAG,UAAU,GAAG,KAAK,YAAY,eAAe,MAAM,CAAC;AAAA,QACvE,GAAE,KAAK,aAAa,eAAe,OAAO,UAAU,CAAC;AAAA,QACtD,OAAO,WAAW;AAAA,UAChB,SAAS,KAAK,GAAG,WAAW;AAAA,QAC7B,GAAE,KAAK,aAAa,eAAe,OAAO,WAAW,CAAC;AAAA,QACvD,aAAa,WAAW;AAAA,UACtB,SAAS,KAAK,GAAG,aAAa;AAAA,QAC/B,GAAE,KAAK,aAAa,eAAe,OAAO,aAAa,CAAC;AAAA,MACjE;AAAA,IACK,GAjBiB;AAAA,IAkBlB,cAAc,gCAASC,cAAa,IAAI;AACtC,WAAK,YAAY;AAAA,IAClB,GAFa;AAAA,EAGf;AAAA,EACD,YAAY;AAAA,IACV,gBAAgBzC;AAAAA,EACjB;AAAA,EACD,YAAY;AAAA,IACV,QAAQ;AAAA,EACT;AACH;AAEA,IAAIE,iBAAe,CAAC,UAAU;AAC9B,IAAI,aAAa,CAAC,MAAM,cAAc,iBAAiB,iBAAiB,iBAAiB,cAAc,gBAAgB,iBAAiB,iBAAiB,kBAAkB,iBAAiB;AAC5L,IAAI,aAAa,CAAC,WAAW,gBAAgB,aAAa;AAC1D,IAAI,aAAa,CAAC,QAAQ,QAAQ;AAClC,IAAI,aAAa,CAAC,IAAI;AACtB,IAAI,aAAa,CAAC,IAAI;AACtB,SAASL,WAAS,MAAM,QAAQ,QAAQ,QAAQ,OAAO,UAAU;AAC/D,MAAI,4BAA4B,iBAAiB,gBAAgB;AACjE,MAAI,2BAA2B,iBAAiB,iBAAiB,IAAI;AACrE,MAAI,oBAAoB,iBAAiB,QAAQ;AACjD,SAAO,UAAW,GAAE,YAAY,YAAY,WAAW;AAAA,IACrD,MAAM;AAAA,IACN,SAAS,SAAS;AAAA,EACnB,GAAE,KAAK,IAAI,iBAAiB,CAAC,GAAG;AAAA,IAC/B,WAAW,QAAQ,WAAY;AAC7B,aAAO,EAAE,OAAO,UAAU,IAAI,OAAO,OAAO,YAAY,aAAa,mBAAmB,MAAM;AAAA,QAC5F,KAAK;AAAA,QACL,KAAK,SAAS;AAAA,QACd,UAAU,OAAO;AAAA,MAClB,GAAE,EAAE,UAAU,IAAI,GAAG,mBAAmB,UAAU,MAAM,WAAW,OAAO,OAAO,SAAU,eAAe,OAAO;AAChH,eAAO,UAAS,GAAI,mBAAmB,UAAU;AAAA,UAC/C,KAAK,SAAS,WAAW,aAAa;AAAA,QACvC,GAAE,CAAC,SAAS,cAAc,aAAa,KAAK,CAAC,SAAS,YAAY,eAAe,WAAW,KAAK,UAAS,GAAI,mBAAmB,MAAM,WAAW;AAAA,UACjJ,KAAK;AAAA,UACL,IAAI,SAAS,UAAU,aAAa;AAAA,UACpC,OAAO,SAAS,YAAY,eAAe,OAAO;AAAA,UAClD,SAAS,CAAC,KAAK,GAAG,QAAQ;AAAA,YACxB;AAAA,UACD,CAAA,GAAG,SAAS,YAAY,eAAe,OAAO,CAAC;AAAA,UAChD,MAAM;AAAA,UACN,cAAc,SAAS,aAAa,aAAa;AAAA,UACjD,iBAAiB,SAAS,eAAe,aAAa,KAAK;AAAA,UAC3D,iBAAiB,SAAS,YAAY,aAAa,IAAI,SAAS,aAAa,aAAa,IAAI;AAAA,UAC9F,iBAAiB,SAAS,YAAY,aAAa,KAAK,CAAC,SAAS,YAAY,eAAe,IAAI,IAAI,SAAS;AAAA,UAC9G,cAAc,OAAO,QAAQ;AAAA,UAC7B,gBAAgB,SAAS,eAAgB;AAAA,UACzC,iBAAiB,SAAS,gBAAgB,KAAK;AAAA,UAC/C,SAAS;AAAA,QACV,GAAE,SAAS,aAAa,eAAe,OAAO,MAAM,GAAG;AAAA,UACtD,iBAAiB,SAAS,aAAa,aAAa;AAAA,UACpD,kBAAkB,SAAS,cAAc,aAAa;AAAA,UACtD,mBAAmB,SAAS,eAAe,aAAa;AAAA,QACzD,CAAA,GAAG,CAACjE,gBAAmB,OAAO,WAAW;AAAA,UACxC,SAAS,KAAK,GAAG,aAAa;AAAA,UAC9B,SAAS,gCAASkD,SAAQ,QAAQ;AAChC,mBAAO,SAAS,YAAY,QAAQ,aAAa;AAAA,UAClD,GAFQ;AAAA,UAGT,cAAc,gCAAS,aAAa,QAAQ;AAC1C,mBAAO,SAAS,iBAAiB,QAAQ,aAAa;AAAA,UACvD,GAFa;AAAA,UAGd,aAAa,gCAAS,YAAY,QAAQ;AACxC,mBAAO,SAAS,gBAAgB,QAAQ,aAAa;AAAA,UACtD,GAFY;AAAA,UAGb,SAAS;AAAA,QACnB,GAAW,SAAS,aAAa,eAAe,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,UAAU,OAAO,gBAAgB,UAAW,GAAE,mBAAmB,KAAK,WAAW;AAAA,UACxJ,KAAK;AAAA,UACL,MAAM,SAAS,YAAY,eAAe,KAAK;AAAA,UAC/C,SAAS,KAAK,GAAG,UAAU;AAAA,UAC3B,QAAQ,SAAS,YAAY,eAAe,QAAQ;AAAA,UACpD,UAAU;AAAA,UACV,SAAS;AAAA,QACnB,GAAW,SAAS,aAAa,eAAe,OAAO,UAAU,CAAC,GAAG,CAAC,OAAO,UAAU,YAAY,UAAS,GAAI,YAAY,wBAAwB,OAAO,UAAU,QAAQ,GAAG;AAAA,UACtK,KAAK;AAAA,UACL,MAAM,cAAc;AAAA,UACpB,SAAS,eAAe,KAAK,GAAG,UAAU,CAAC;AAAA,QACrD,GAAW,MAAM,GAAG,CAAC,QAAQ,OAAO,CAAC,KAAK,SAAS,YAAY,eAAe,MAAM,KAAK,UAAW,GAAE,mBAAmB,QAAQ,WAAW;AAAA,UAClI,KAAK;AAAA,UACL,SAAS,CAAC,KAAK,GAAG,UAAU,GAAG,SAAS,YAAY,eAAe,MAAM,CAAC;AAAA,UAC1E,SAAS;AAAA,QACnB,GAAW,SAAS,aAAa,eAAe,OAAO,UAAU,CAAC,GAAG,MAAM,EAAE,KAAK,mBAAmB,IAAI,IAAI,GAAGlD,gBAAmB,QAAQ,WAAW;AAAA,UAC5I,IAAI,SAAS,eAAe,aAAa;AAAA,UACzC,SAAS,KAAK,GAAG,WAAW;AAAA,UAC5B,SAAS;AAAA,QACnB,GAAW,SAAS,aAAa,eAAe,OAAO,WAAW,CAAC,GAAG,gBAAgB,SAAS,aAAa,aAAa,CAAC,GAAG,IAAI,UAAU,GAAG,SAAS,YAAY,eAAe,OAAO,KAAK,UAAS,GAAI,mBAAmB,UAAU;AAAA,UAC9N,KAAK;AAAA,QACN,GAAE,CAAC,OAAO,UAAU,eAAe,UAAW,GAAE,YAAY,wBAAwB,OAAO,UAAU,WAAW,GAAG,WAAW;AAAA,UAC7H,KAAK;AAAA,UACL,SAAS,KAAK,GAAG,aAAa;AAAA,UAC9B,QAAQ,SAAS,aAAa,aAAa;AAAA,UAC3C,SAAS;AAAA,QACnB,GAAW,SAAS,aAAa,eAAe,OAAO,aAAa,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,QAAQ,CAAC,MAAM,UAAW,GAAE,YAAY,2BAA2B,WAAW;AAAA,UAChK,KAAK;AAAA,UACL,SAAS,KAAK,GAAG,aAAa;AAAA,UAC9B,SAAS;AAAA,QACnB,GAAW,SAAS,aAAa,eAAe,OAAO,aAAa,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,KAAK,mBAAmB,IAAI,IAAI,CAAC,GAAG,IAAI,UAAU,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,KAAK,UAAW,GAAE,YAAY,wBAAwB,OAAO,UAAU,IAAI,GAAG;AAAA,UACjP,KAAK;AAAA,UACL,MAAM,cAAc;AAAA,UACpB,YAAY,SAAS,YAAY,eAAe,OAAO;AAAA,UACvD,OAAO,SAAS,aAAa,aAAa;AAAA,UAC1C,OAAO,SAAS,iBAAiB,eAAe,KAAK;AAAA,QACtD,GAAE,MAAM,GAAG,CAAC,QAAQ,cAAc,SAAS,OAAO,CAAC,EAAE,GAAG,IAAI,UAAU,GAAG,SAAS,cAAc,aAAa,KAAK,SAAS,YAAY,aAAa,KAAK,UAAW,GAAE,YAAY,0BAA0B,WAAW;AAAA,UACtN,KAAK;AAAA,UACL,IAAI,SAAS,UAAU,aAAa,IAAI;AAAA,UACxC,SAAS,KAAK,GAAG,SAAS;AAAA,UAC1B,OAAO,KAAK,GAAG,WAAW,MAAM;AAAA,YAC9B;AAAA,UACZ,CAAW;AAAA,UACD,mBAAmB,SAAS,eAAe,aAAa;AAAA,UACxD,MAAM;AAAA,UACN,QAAQ,OAAO;AAAA,UACf,eAAe,OAAO;AAAA,UACtB,OAAO,cAAc;AAAA,UACrB,WAAW,OAAO;AAAA,UAClB,gBAAgB,OAAO;AAAA,UACvB,OAAO,OAAO,QAAQ;AAAA,UACtB,SAAS,SAAS,aAAa,aAAa,KAAK,SAAS,YAAY,aAAa;AAAA,UACnF,IAAI,KAAK;AAAA,UACT,UAAU,KAAK;AAAA,UACf,aAAa,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,SAAU,QAAQ;AACvD,mBAAO,KAAK,MAAM,cAAc,MAAM;AAAA,UAClD;AAAA,UACU,kBAAkB,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,SAAU,QAAQ;AAC5D,mBAAO,KAAK,MAAM,mBAAmB,MAAM;AAAA,UACvD;AAAA,UACU,iBAAiB,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,SAAU,QAAQ;AAC3D,mBAAO,KAAK,MAAM,kBAAkB,MAAM;AAAA,UACtD;AAAA,UACU,SAAS;AAAA,QACnB,GAAW,KAAK,IAAI,SAAS,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,SAAS,SAAS,mBAAmB,UAAU,iBAAiB,SAAS,aAAa,kBAAkB,SAAS,WAAW,MAAM,UAAU,CAAC,KAAK,mBAAmB,IAAI,IAAI,CAAC,GAAG,IAAI,UAAU,KAAK,mBAAmB,IAAI,IAAI,GAAG,SAAS,cAAc,aAAa,KAAK,SAAS,YAAY,eAAe,WAAW,KAAK,aAAa,mBAAmB,MAAM,WAAW;AAAA,UACxZ,KAAK;AAAA,UACL,IAAI,SAAS,UAAU,aAAa;AAAA,UACpC,OAAO,SAAS,YAAY,eAAe,OAAO;AAAA,UAClD,SAAS,CAAC,KAAK,GAAG,WAAW,GAAG,SAAS,YAAY,eAAe,OAAO,CAAC;AAAA,UAC5E,MAAM;AAAA,UACN,SAAS;AAAA,QACV,GAAE,KAAK,IAAI,WAAW,CAAC,GAAG,MAAM,IAAI,UAAU,KAAK,mBAAmB,IAAI,IAAI,CAAC,GAAG,EAAE;AAAA,MAC7F,CAAO,GAAG,GAAG,EAAG,GAAE,GAAGsE,cAAY,KAAK,mBAAmB,IAAI,IAAI,CAAC;AAAA,IAClE,CAAK;AAAA,IACD,GAAG;AAAA,EACP,GAAK,IAAI,CAAC,SAAS,CAAC;AACpB;AA5HSL;AA8HT/E,WAAS,SAAS+E;AAElB,IAAI5E,WAAS;AAAA,EACX,MAAM;AAAA,EACN,WAAW;AAAA,EACX,cAAc;AAAA,EACd,OAAO,CAAC,SAAS,QAAQ,eAAe,eAAe,QAAQ,MAAM;AAAA,EACrE,sBAAsB;AAAA,EACtB,oBAAoB;AAAA,EACpB,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,SAAS;AAAA,EACT,eAAe;AAAA,EACf,aAAa;AAAA,EACb,MAAM,gCAASoB,QAAO;AACpB,WAAO;AAAA,MACL,IAAI,KAAK,OAAO;AAAA,MAChB,SAAS;AAAA,MACT,iBAAiB;AAAA,QACf,OAAO;AAAA,QACP,OAAO;AAAA,QACP,WAAW;AAAA,MACZ;AAAA,MACD,gBAAgB,CAAE;AAAA,MAClB,SAAS,CAAC,KAAK;AAAA,MACf,gBAAgB;AAAA,MAChB,OAAO;AAAA,MACP,OAAO;AAAA,MACP,cAAc;AAAA,IACpB;AAAA,EACG,GAhBK;AAAA,EAiBN,OAAO;AAAA,IACL,aAAa,gCAAS8D,UAAS,UAAU;AACvC,WAAK,KAAK,YAAY;IACvB,GAFY;AAAA,IAGb,gBAAgB,gCAASU,gBAAe,SAAS;AAC/C,UAAI,CAAC,KAAK,OAAO;AACf,YAAI,WAAW,OAAO,GAAG;AACvB,eAAK,yBAAwB;AAC7B,eAAK,mBAAkB;AAAA,QACjC,OAAe;AACL,eAAK,2BAA0B;AAC/B,eAAK,qBAAoB;AAAA,QAC1B;AAAA,MACF;AAAA,IACF,GAVe;AAAA,EAWjB;AAAA,EACD,SAAS,gCAASvE,WAAU;AAC1B,SAAK,KAAK,KAAK,MAAM,kBAAiB;AACtC,SAAK,uBAAsB;AAAA,EAC5B,GAHQ;AAAA,EAIT,eAAe,gCAASC,iBAAgB;AACtC,SAAK,2BAA0B;AAC/B,SAAK,qBAAoB;AACzB,SAAK,yBAAwB;AAC7B,QAAI,KAAK,eAAe;AACtB,WAAK,cAAc;AACnB,WAAK,gBAAgB;AAAA,IACtB;AACD,QAAI,KAAK,aAAa,KAAK,YAAY;AACrC,aAAO,MAAM,KAAK,SAAS;AAAA,IAC5B;AACD,SAAK,SAAS;AACd,SAAK,YAAY;AAAA,EAClB,GAbc;AAAA,EAcf,SAAS;AAAA,IACP,aAAa,gCAAS6D,aAAYjF,OAAM,MAAM;AAC5C,aAAOA,QAAO,QAAQA,MAAK,IAAI,CAAC,IAAI;AAAA,IACrC,GAFY;AAAA,IAGb,cAAc,gCAASkF,cAAalF,OAAM;AACxC,aAAO,KAAK,YAAYA,OAAM,OAAO;AAAA,IACtC,GAFa;AAAA,IAGd,gBAAgB,gCAASmF,gBAAenF,OAAM;AAC5C,aAAO,KAAK,YAAYA,OAAM,UAAU;AAAA,IACzC,GAFe;AAAA,IAGhB,eAAe,gCAASoF,eAAcpF,OAAM;AAC1C,aAAO,KAAK,YAAYA,OAAM,SAAS,MAAM;AAAA,IAC9C,GAFc;AAAA,IAGf,aAAa,gCAASqF,aAAYrF,OAAM;AACtC,aAAO,WAAW,KAAK,YAAYA,OAAM,OAAO,CAAC;AAAA,IAClD,GAFY;AAAA,IAGb,iBAAiB,gCAASuH,iBAAgBvH,OAAM;AAC9C,aAAO,KAAK,YAAYA,OAAM,WAAW;AAAA,IAC1C,GAFgB;AAAA,IAGjB,wBAAwB,gCAASwH,wBAAuB,eAAe;AACrE,aAAO,gBAAgB,KAAK,aAAa,cAAc,IAAI,IAAI;AAAA,IAChE,GAFuB;AAAA,IAGxB,uBAAuB,gCAASC,uBAAsB,eAAe;AACnE,aAAO,iBAAiB,WAAW,cAAc,KAAK;AAAA,IACvD,GAFsB;AAAA,IAGvB,QAAQ,gCAAShB,QAAO,OAAO;AAC7B,WAAK,UAAU,KAAK,KAAK,OAAO,IAAI,IAAI,KAAK,KAAK,KAAK;AAAA,IACxD,GAFO;AAAA,IAGR,MAAM,gCAASnB,MAAK,OAAO,SAAS;AAClC,UAAI,KAAK,OAAO;AACd,aAAK,MAAM,aAAa;AACxB,aAAK,UAAU;AACf,aAAK,SAAS,KAAK,UAAU,MAAM;AACnC,aAAK,gBAAgB,MAAM,iBAAiB;AAAA,MAC7C;AACD,iBAAW,MAAM,KAAK,OAAO;AAAA,IAC9B,GARK;AAAA,IASN,MAAM,gCAASC,MAAK,OAAO,SAAS;AAClC,UAAI,KAAK,OAAO;AACd,aAAK,MAAM,aAAa;AACxB,aAAK,UAAU;AAAA,MAChB;AACD,WAAK,iBAAiB;AACtB,WAAK,kBAAkB;AAAA,QACrB,OAAO;AAAA,QACP,OAAO;AAAA,QACP,WAAW;AAAA,MACnB;AACM,iBAAW,MAAM,KAAK,iBAAiB,KAAK,UAAU,KAAK,OAAO;AAClE,WAAK,QAAQ;AAAA,IACd,GAbK;AAAA,IAcN,SAAS,gCAAS1D,SAAQ,OAAO;AAC/B,WAAK,UAAU;AACf,UAAI,CAAC,KAAK,OAAO;AACf,aAAK,kBAAkB,KAAK,gBAAgB,UAAU,KAAK,KAAK,kBAAkB;AAAA,UAChF,OAAO,KAAK,0BAA2B;AAAA,UACvC,OAAO;AAAA,UACP,WAAW;AAAA,QACrB;AAAA,MACO;AACD,WAAK,MAAM,SAAS,KAAK;AAAA,IAC1B,GAVQ;AAAA,IAWT,QAAQ,gCAAS2D,QAAO,OAAO;AAC7B,WAAK,UAAU;AACf,WAAK,kBAAkB;AAAA,QACrB,OAAO;AAAA,QACP,OAAO;AAAA,QACP,WAAW;AAAA,MACnB;AACM,WAAK,cAAc;AACnB,WAAK,QAAQ;AACb,WAAK,MAAM,QAAQ,KAAK;AAAA,IACzB,GAVO;AAAA,IAWR,WAAW,gCAASC,WAAU,OAAO;AACnC,UAAI,KAAK,UAAU;AACjB,cAAM,eAAc;AACpB;AAAA,MACD;AACD,UAAI,UAAU,MAAM,WAAW,MAAM;AACrC,cAAQ,MAAM,MAAI;AAAA,QAChB,KAAK;AACH,eAAK,eAAe,KAAK;AACzB;AAAA,QACF,KAAK;AACH,eAAK,aAAa,KAAK;AACvB;AAAA,QACF,KAAK;AACH,eAAK,eAAe,KAAK;AACzB;AAAA,QACF,KAAK;AACH,eAAK,gBAAgB,KAAK;AAC1B;AAAA,QACF,KAAK;AACH,eAAK,UAAU,KAAK;AACpB;AAAA,QACF,KAAK;AACH,eAAK,SAAS,KAAK;AACnB;AAAA,QACF,KAAK;AACH,eAAK,WAAW,KAAK;AACrB;AAAA,QACF,KAAK;AAAA,QACL,KAAK;AACH,eAAK,WAAW,KAAK;AACrB;AAAA,QACF,KAAK;AACH,eAAK,YAAY,KAAK;AACtB;AAAA,QACF,KAAK;AACH,eAAK,SAAS,KAAK;AACnB;AAAA,QACF,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAEH;AAAA,QACF;AACE,cAAI,CAAC,WAAW,qBAAqB,MAAM,GAAG,GAAG;AAC/C,iBAAK,YAAY,OAAO,MAAM,GAAG;AAAA,UAClC;AACD;AAAA,MACH;AAAA,IACF,GAnDU;AAAA,IAoDX,cAAc,gCAASiC,cAAa,OAAO;AACzC,UAAI,gBAAgB,MAAM,eACxB,UAAU,MAAM;AAClB,UAAI,QAAQ,aAAa,EAAG;AAC5B,UAAI,QAAQ,cAAc,OACxB,MAAM,cAAc,KACpB,QAAQ,cAAc,OACtB,YAAY,cAAc,WAC1B,QAAQ,cAAc;AACxB,UAAI,UAAU,WAAW,KAAK;AAC9B,UAAIhC,kBAAiB,KAAK,eAAe,OAAO,SAAU,GAAG;AAC3D,eAAO,EAAE,cAAc,aAAa,EAAE,cAAc;AAAA,MAC5D,CAAO;AACD,UAAI,SAAS;AACX,QAAAA,gBAAe,KAAK,aAAa;AACjC,aAAK,iBAAiB;AAAA,MACvB;AACD,WAAK,kBAAkB;AAAA,QACrB;AAAA,QACA;AAAA,QACA;AAAA,MACR;AACM,WAAK,iBAAiBA;AACtB,kBAAY,KAAK,QAAQ;AACzB,iBAAW,MAAM,KAAK,OAAO;AAAA,IAC9B,GAzBa;AAAA,IA0Bd,gBAAgB,gCAASiC,gBAAe,OAAO;AAC7C,sBAAgB,KAAK,iBAAiB;AAAA,QACpC,eAAe;AAAA,QACf,QAAQ,KAAK;AAAA,MACrB,CAAO;AAAA,IACF,GALe;AAAA,IAMhB,aAAa,gCAAShC,aAAY,OAAO;AACvC,UAAI,gBAAgB,MAAM,eACxB,gBAAgB,MAAM;AACxB,UAAI,UAAU,KAAK,sBAAsB,aAAa;AACtD,UAAIjF,SAAO,QAAQ,cAAc,MAAM;AACvC,UAAI,WAAW,KAAK,WAAW,aAAa;AAC5C,UAAI,UAAU;AACZ,YAAI,QAAQ,cAAc,OACxB,MAAM,cAAc,KACpB,QAAQ,cAAc,OACtB,YAAY,cAAc;AAC5B,aAAK,iBAAiB,KAAK,eAAe,OAAO,SAAU,GAAG;AAC5D,iBAAO,QAAQ,EAAE,OAAO,IAAI,WAAW,EAAE,GAAG;AAAA,QACtD,CAAS;AACD,aAAK,kBAAkB;AAAA,UACrB;AAAA,UACA;AAAA,UACA;AAAA,QACV;AACQ,aAAK,QAAQ,CAACA;AACd,cAAM,KAAK,OAAO;AAAA,MAC1B,OAAa;AACL,YAAI,SAAS;AACX,eAAK,aAAa,KAAK;AAAA,QACjC,OAAe;AACL,cAAI,oBAAoBA,SAAO,gBAAgB,KAAK,eAAe,KAAK,SAAU,GAAG;AACnF,mBAAO,EAAE,cAAc;AAAA,UACnC,CAAW;AACD,eAAK,KAAK,aAAa;AACvB,eAAK,uBAAuB,eAAe,oBAAoB,kBAAkB,QAAQ,EAAE;AAC3F,gBAAM,KAAK,OAAO;AAAA,QACnB;AAAA,MACF;AAAA,IACF,GAjCY;AAAA,IAkCb,kBAAkB,gCAASkF,kBAAiB,OAAO;AACjD,UAAI,KAAK,OAAO;AACd,aAAK,aAAa,KAAK;AAAA,MACxB;AAAA,IACF,GAJiB;AAAA,IAKlB,iBAAiB,gCAASC,iBAAgB,OAAO;AAC/C,UAAI,KAAK,SAAS;AAChB,aAAK,uBAAuB,OAAO,MAAM,cAAc,KAAK;AAAA,MAC7D;AAAA,IACF,GAJgB;AAAA,IAKjB,gBAAgB,gCAASC,gBAAe,OAAO;AAC7C,UAAI,YAAY,KAAK,gBAAgB,UAAU,KAAK,KAAK,kBAAkB,KAAK,gBAAgB,KAAK,IAAI,KAAK,0BAAyB;AACvI,WAAK,uBAAuB,OAAO,SAAS;AAC5C,YAAM,eAAc;AAAA,IACrB,GAJe;AAAA,IAKhB,cAAc,gCAASC,cAAa,OAAO;AACzC,UAAI,MAAM,QAAQ;AAChB,YAAI,KAAK,gBAAgB,UAAU,IAAI;AACrC,cAAI,gBAAgB,KAAK,aAAa,KAAK,gBAAgB,KAAK;AAChE,cAAI,UAAU,KAAK,sBAAsB,aAAa;AACtD,WAAC,WAAW,KAAK,aAAa;AAAA,YAC5B,eAAe;AAAA,YACf;AAAA,UACZ,CAAW;AAAA,QACF;AACD,aAAK,SAAS,KAAK,KAAK,OAAO,IAAI;AACnC,cAAM,eAAc;AAAA,MAC5B,OAAa;AACL,YAAI,YAAY,KAAK,gBAAgB,UAAU,KAAK,KAAK,kBAAkB,KAAK,gBAAgB,KAAK,IAAI,KAAK,yBAAwB;AACtI,aAAK,uBAAuB,OAAO,SAAS;AAC5C,cAAM,eAAc;AAAA,MACrB;AAAA,IACF,GAjBa;AAAA,IAkBd,gBAAgB,gCAASjE,gBAAe,OAAO;AAC7C,UAAI,QAAQ;AACZ,UAAI,gBAAgB,KAAK,aAAa,KAAK,gBAAgB,KAAK;AAChE,UAAI,aAAa,KAAK,eAAe,KAAK,SAAU,GAAG;AACrD,eAAO,EAAE,QAAQ,cAAc;AAAA,MACvC,CAAO;AACD,UAAIpB,SAAO,QAAQ,cAAc,MAAM;AACvC,UAAI,CAACA,QAAM;AACT,aAAK,kBAAkB;AAAA,UACrB,OAAO;AAAA,UACP,WAAW,aAAa,WAAW,YAAY;AAAA,QACzD;AACQ,aAAK,cAAc;AACnB,aAAK,eAAe,KAAK;AAAA,MAC1B;AACD,WAAK,iBAAiB,KAAK,eAAe,OAAO,SAAU,GAAG;AAC5D,eAAO,EAAE,cAAc,MAAM,gBAAgB;AAAA,MACrD,CAAO;AACD,YAAM,eAAc;AAAA,IACrB,GAnBe;AAAA,IAoBhB,iBAAiB,gCAASqB,iBAAgB,OAAO;AAC/C,UAAI,gBAAgB,KAAK,aAAa,KAAK,gBAAgB,KAAK;AAChE,UAAI,UAAU,KAAK,sBAAsB,aAAa;AACtD,UAAI,SAAS;AACX,aAAK,aAAa;AAAA,UAChB,eAAe;AAAA,UACf;AAAA,QACV,CAAS;AACD,aAAK,kBAAkB;AAAA,UACrB,OAAO;AAAA,UACP,WAAW,cAAc;AAAA,QACnC;AACQ,aAAK,cAAc;AACnB,aAAK,eAAe,KAAK;AAAA,MAC1B;AACD,YAAM,eAAc;AAAA,IACrB,GAhBgB;AAAA,IAiBjB,WAAW,gCAASC,WAAU,OAAO;AACnC,WAAK,uBAAuB,OAAO,KAAK,mBAAoB,CAAA;AAC5D,YAAM,eAAc;AAAA,IACrB,GAHU;AAAA,IAIX,UAAU,gCAASC,UAAS,OAAO;AACjC,WAAK,uBAAuB,OAAO,KAAK,kBAAmB,CAAA;AAC3D,YAAM,eAAc;AAAA,IACrB,GAHS;AAAA,IAIV,YAAY,gCAASG,YAAW,OAAO;AACrC,UAAI,KAAK,gBAAgB,UAAU,IAAI;AACrC,YAAI,UAAU,WAAW,KAAK,SAAS,UAAW,OAAO,GAAG,OAAO,KAAK,aAAa,GAAG,IAAK,CAAC;AAC9F,YAAI,gBAAgB,WAAW,WAAW,SAAS,8BAA8B;AACjF,wBAAgB,cAAc,MAAK,IAAK,WAAW,QAAQ;AAC3D,YAAI,CAAC,KAAK,OAAO;AACf,cAAI,gBAAgB,KAAK,aAAa,KAAK,gBAAgB,KAAK;AAChE,cAAI,UAAU,KAAK,sBAAsB,aAAa;AACtD,WAAC,YAAY,KAAK,gBAAgB,QAAQ,KAAK,0BAAyB;AAAA,QACzE;AAAA,MACF;AACD,YAAM,eAAc;AAAA,IACrB,GAZW;AAAA,IAaZ,YAAY,gCAASwF,YAAW,OAAO;AACrC,WAAK,WAAW,KAAK;AAAA,IACtB,GAFW;AAAA,IAGZ,aAAa,gCAAS5B,aAAY,OAAO;AACvC,UAAI,KAAK,SAAS,KAAK,gBAAgB,UAAU,GAAG;AAClD,YAAI,mBAAmB,KAAK;AAC5B,aAAK,KAAK,OAAO,KAAK;AACtB,aAAK,kBAAkB;AAAA,UACrB,OAAO,OAAO,iBAAiB,UAAU,MAAM,GAAG,EAAE,CAAC,CAAC;AAAA,UACtD,OAAO;AAAA,UACP,WAAW;AAAA,QACrB;AACQ,aAAK,SAAS,MAAM,KAAK,MAAM;AAAA,MAChC;AACD,YAAM,eAAc;AAAA,IACrB,GAZY;AAAA,IAab,UAAU,gCAASC,UAAS,OAAO;AACjC,UAAI,KAAK,gBAAgB,UAAU,IAAI;AACrC,YAAI,gBAAgB,KAAK,aAAa,KAAK,gBAAgB,KAAK;AAChE,YAAI,UAAU,KAAK,sBAAsB,aAAa;AACtD,SAAC,WAAW,KAAK,aAAa;AAAA,UAC5B,eAAe;AAAA,UACf;AAAA,QACV,CAAS;AAAA,MACF;AACD,WAAK,KAAI;AAAA,IACV,GAVS;AAAA,IAWV,SAAS,gCAASkB,SAAQ,IAAI;AAC5B,UAAI,KAAK,YAAY;AACnB,eAAO,IAAI,QAAQ,IAAI,KAAK,aAAa,KAAK,UAAU,OAAO,OAAO,IAAI;AAAA,MAC3E;AACD,eAAS,IAAI;AAAA,QACX,UAAU;AAAA,QACV,KAAK;AAAA,QACL,MAAM;AAAA,MACd,CAAO;AACD,WAAK,aAAY;AACjB,YAAM,KAAK,OAAO;AAClB,WAAK,aAAY;AAAA,IAClB,GAZQ;AAAA,IAaT,cAAc,gCAAS,eAAe;AACpC,WAAK,yBAAwB;AAC7B,WAAK,mBAAkB;AACvB,WAAK,mBAAkB;AACvB,WAAK,MAAM,MAAM;AAAA,IAClB,GALa;AAAA,IAMd,SAAS,gCAASU,WAAU;AAC1B,WAAK,2BAA0B;AAC/B,WAAK,qBAAoB;AACzB,WAAK,qBAAoB;AACzB,WAAK,MAAM,MAAM;AACjB,WAAK,YAAY;AACjB,WAAK,QAAQ;AAAA,IACd,GAPQ;AAAA,IAQT,cAAc,gCAAS,aAAa,IAAI;AACtC,UAAI,KAAK,YAAY;AACnB,eAAO,MAAM,EAAE;AAAA,MAChB;AAAA,IACF,GAJa;AAAA,IAKd,cAAc,gCAASC,gBAAe;AACpC,uBAAiB,KAAK,WAAW,KAAK,MAAM;AAC5C,UAAI,cAAc,cAAc,KAAK,MAAM;AAC3C,UAAI,cAAc,cAAc,KAAK,SAAS,GAAG;AAC/C,aAAK,UAAU,MAAM,WAAW,cAAc,KAAK,MAAM,IAAI;AAAA,MAC9D;AAAA,IACF,GANa;AAAA,IAOd,0BAA0B,gCAAS5B,4BAA2B;AAC5D,UAAI,SAAS;AACb,UAAI,CAAC,KAAK,sBAAsB;AAC9B,aAAK,uBAAuB,SAAU,OAAO;AAC3C,cAAI,qBAAqB,OAAO,aAAa,CAAC,OAAO,UAAU,SAAS,MAAM,MAAM;AACpF,cAAI,kBAAkB,OAAO,QAAQ,EAAE,OAAO,WAAW,OAAO,WAAW,MAAM,UAAU,OAAO,OAAO,SAAS,MAAM,MAAM,MAAM;AACpI,cAAI,sBAAsB,iBAAiB;AACzC,mBAAO,KAAI;AAAA,UACZ;AAAA,QACX;AACQ,iBAAS,iBAAiB,SAAS,KAAK,oBAAoB;AAAA,MAC7D;AAAA,IACF,GAZyB;AAAA,IAa1B,4BAA4B,gCAASC,8BAA6B;AAChE,UAAI,KAAK,sBAAsB;AAC7B,iBAAS,oBAAoB,SAAS,KAAK,oBAAoB;AAC/D,aAAK,uBAAuB;AAAA,MAC7B;AAAA,IACF,GAL2B;AAAA,IAM5B,oBAAoB,gCAAS4B,sBAAqB;AAChD,UAAI,SAAS;AACb,UAAI,CAAC,KAAK,eAAe;AACvB,aAAK,gBAAgB,IAAI,8BAA8B,KAAK,QAAQ,SAAU,OAAO;AACnF,iBAAO,KAAK,OAAO,IAAI;AAAA,QACjC,CAAS;AAAA,MACF;AACD,WAAK,cAAc;IACpB,GARmB;AAAA,IASpB,sBAAsB,gCAASC,wBAAuB;AACpD,UAAI,KAAK,eAAe;AACtB,aAAK,cAAc;MACpB;AAAA,IACF,GAJqB;AAAA,IAKtB,oBAAoB,gCAAS5B,sBAAqB;AAChD,UAAI,SAAS;AACb,UAAI,CAAC,KAAK,gBAAgB;AACxB,aAAK,iBAAiB,SAAU,OAAO;AACrC,cAAI,CAAC,cAAa,GAAI;AACpB,mBAAO,KAAK,OAAO,IAAI;AAAA,UACxB;AAAA,QACX;AACQ,eAAO,iBAAiB,UAAU,KAAK,cAAc;AAAA,MACtD;AAAA,IACF,GAVmB;AAAA,IAWpB,sBAAsB,gCAASC,wBAAuB;AACpD,UAAI,KAAK,gBAAgB;AACvB,eAAO,oBAAoB,UAAU,KAAK,cAAc;AACxD,aAAK,iBAAiB;AAAA,MACvB;AAAA,IACF,GALqB;AAAA,IAMtB,wBAAwB,gCAAS4B,0BAAyB;AACxD,UAAI,SAAS;AACb,UAAI,CAAC,KAAK,oBAAoB;AAC5B,YAAI,QAAQ,WAAW,eAAe,OAAO,KAAK,YAAY,GAAG,CAAC;AAClE,aAAK,QAAQ;AACb,aAAK,eAAe,MAAM;AAC1B,aAAK,qBAAqB,WAAY;AACpC,iBAAO,eAAe,MAAM;AAAA,QACtC;AACQ,aAAK,MAAM,iBAAiB,UAAU,KAAK,kBAAkB;AAAA,MAC9D;AAAA,IACF,GAXuB;AAAA,IAYxB,0BAA0B,gCAASC,4BAA2B;AAC5D,UAAI,KAAK,oBAAoB;AAC3B,aAAK,MAAM,oBAAoB,UAAU,KAAK,kBAAkB;AAChE,aAAK,qBAAqB;AAAA,MAC3B;AAAA,IACF,GALyB;AAAA,IAM1B,eAAe,gCAASC,eAAc,eAAe;AACnD,UAAI;AACJ,aAAO,KAAK,YAAY,aAAa,OAAO,wBAAwB,KAAK,uBAAuB,aAAa,OAAO,QAAQ,0BAA0B,SAAS,SAAS,sBAAsB,kBAAmB,EAAC,WAAW,KAAK,YAAY,kBAAmB,CAAA;AAAA,IAClQ,GAHc;AAAA,IAIf,aAAa,gCAASC,aAAY,eAAe;AAC/C,aAAO,CAAC,CAAC,iBAAiB,CAAC,KAAK,eAAe,cAAc,IAAI,KAAK,CAAC,KAAK,gBAAgB,cAAc,IAAI,KAAK,KAAK,cAAc,cAAc,IAAI;AAAA,IACzJ,GAFY;AAAA,IAGb,qBAAqB,gCAASC,qBAAoB,eAAe;AAC/D,aAAO,KAAK,YAAY,aAAa,KAAK,KAAK,WAAW,aAAa;AAAA,IACxE,GAFoB;AAAA,IAGrB,YAAY,gCAAS/B,YAAW,eAAe;AAC7C,aAAO,KAAK,eAAe,KAAK,SAAU,GAAG;AAC3C,eAAO,EAAE,QAAQ,cAAc;AAAA,MACvC,CAAO;AAAA,IACF,GAJW;AAAA,IAKZ,oBAAoB,gCAASgC,sBAAqB;AAChD,UAAI,SAAS;AACb,aAAO,KAAK,aAAa,UAAU,SAAU,eAAe;AAC1D,eAAO,OAAO,YAAY,aAAa;AAAA,MAC/C,CAAO;AAAA,IACF,GALmB;AAAA,IAMpB,mBAAmB,gCAASC,qBAAoB;AAC9C,UAAI,SAAS;AACb,aAAO,cAAc,KAAK,cAAc,SAAU,eAAe;AAC/D,eAAO,OAAO,YAAY,aAAa;AAAA,MAC/C,CAAO;AAAA,IACF,GALkB;AAAA,IAMnB,mBAAmB,gCAASC,mBAAkB,OAAO;AACnD,UAAI,SAAS;AACb,UAAI,mBAAmB,QAAQ,KAAK,aAAa,SAAS,IAAI,KAAK,aAAa,MAAM,QAAQ,CAAC,EAAE,UAAU,SAAU,eAAe;AAClI,eAAO,OAAO,YAAY,aAAa;AAAA,MAC/C,CAAO,IAAI;AACL,aAAO,mBAAmB,KAAK,mBAAmB,QAAQ,IAAI;AAAA,IAC/D,GANkB;AAAA,IAOnB,mBAAmB,gCAASC,mBAAkB,OAAO;AACnD,UAAI,SAAS;AACb,UAAI,mBAAmB,QAAQ,IAAI,cAAc,KAAK,aAAa,MAAM,GAAG,KAAK,GAAG,SAAU,eAAe;AAC3G,eAAO,OAAO,YAAY,aAAa;AAAA,MAC/C,CAAO,IAAI;AACL,aAAO,mBAAmB,KAAK,mBAAmB;AAAA,IACnD,GANkB;AAAA,IAOnB,uBAAuB,gCAASC,yBAAwB;AACtD,UAAI,UAAU;AACd,aAAO,KAAK,aAAa,UAAU,SAAU,eAAe;AAC1D,eAAO,QAAQ,oBAAoB,aAAa;AAAA,MACxD,CAAO;AAAA,IACF,GALsB;AAAA,IAMvB,2BAA2B,gCAASC,6BAA4B;AAC9D,UAAI,gBAAgB,KAAK;AACzB,aAAO,gBAAgB,IAAI,KAAK,mBAAkB,IAAK;AAAA,IACxD,GAH0B;AAAA,IAI3B,0BAA0B,gCAASC,4BAA2B;AAC5D,UAAI,gBAAgB,KAAK;AACzB,aAAO,gBAAgB,IAAI,KAAK,kBAAiB,IAAK;AAAA,IACvD,GAHyB;AAAA,IAI1B,aAAa,gCAASC,aAAY,OAAO,OAAO;AAC9C,UAAI,UAAU;AACd,WAAK,eAAe,KAAK,eAAe,MAAM;AAC9C,UAAI,YAAY;AAChB,UAAI,UAAU;AACd,UAAI,KAAK,gBAAgB,UAAU,IAAI;AACrC,oBAAY,KAAK,aAAa,MAAM,KAAK,gBAAgB,KAAK,EAAE,UAAU,SAAU,eAAe;AACjG,iBAAO,QAAQ,cAAc,aAAa;AAAA,QACpD,CAAS;AACD,oBAAY,cAAc,KAAK,KAAK,aAAa,MAAM,GAAG,KAAK,gBAAgB,KAAK,EAAE,UAAU,SAAU,eAAe;AACvH,iBAAO,QAAQ,cAAc,aAAa;AAAA,QAC3C,CAAA,IAAI,YAAY,KAAK,gBAAgB;AAAA,MAC9C,OAAa;AACL,oBAAY,KAAK,aAAa,UAAU,SAAU,eAAe;AAC/D,iBAAO,QAAQ,cAAc,aAAa;AAAA,QACpD,CAAS;AAAA,MACF;AACD,UAAI,cAAc,IAAI;AACpB,kBAAU;AAAA,MACX;AACD,UAAI,cAAc,MAAM,KAAK,gBAAgB,UAAU,IAAI;AACzD,oBAAY,KAAK;MAClB;AACD,UAAI,cAAc,IAAI;AACpB,aAAK,uBAAuB,OAAO,SAAS;AAAA,MAC7C;AACD,UAAI,KAAK,eAAe;AACtB,qBAAa,KAAK,aAAa;AAAA,MAChC;AACD,WAAK,gBAAgB,WAAW,WAAY;AAC1C,gBAAQ,cAAc;AACtB,gBAAQ,gBAAgB;AAAA,MACzB,GAAE,GAAG;AACN,aAAO;AAAA,IACR,GAlCY;AAAA,IAmCb,wBAAwB,gCAASC,wBAAuB,OAAO,OAAO;AACpE,UAAI,KAAK,gBAAgB,UAAU,OAAO;AACxC,aAAK,gBAAgB,QAAQ;AAC7B,aAAK,aAAY;AAAA,MAClB;AAAA,IACF,GALuB;AAAA,IAMxB,cAAc,gCAASxG,gBAAe;AACpC,UAAI,QAAQ,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI;AAChF,UAAIC,MAAK,UAAU,KAAK,GAAG,OAAO,KAAK,IAAI,GAAG,EAAE,OAAO,KAAK,IAAI,KAAK;AACrE,UAAI,UAAU,WAAW,KAAK,SAAS,UAAW,OAAOA,KAAI,IAAK,CAAC;AACnE,UAAI,SAAS;AACX,gBAAQ,kBAAkB,QAAQ,eAAe;AAAA,UAC/C,OAAO;AAAA,UACP,QAAQ;AAAA,QAClB,CAAS;AAAA,MACF;AAAA,IACF,GAVa;AAAA,IAWd,sBAAsB,gCAASwG,sBAAqB,OAAO;AACzD,UAAI,UAAU;AACd,UAAI,QAAQ,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI;AAChF,UAAI,SAAS,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAA;AACjF,UAAI,YAAY,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI;AACpF,UAAIxC,kBAAiB,CAAA;AACrB,eAAS,MAAM,QAAQ,SAAUvG,OAAM,OAAO;AAC5C,YAAI,OAAO,cAAc,KAAK,YAAY,MAAM,MAAM;AACtD,YAAI,UAAU;AAAA,UACZ,MAAMA;AAAA,UACN;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACV;AACQ,gBAAQ,OAAO,IAAI,QAAQ,qBAAqBA,MAAK,OAAO,QAAQ,GAAG,SAAS,GAAG;AACnF,QAAAuG,gBAAe,KAAK,OAAO;AAAA,MACnC,CAAO;AACD,aAAOA;AAAA,IACR,GApBqB;AAAA,IAqBtB,cAAc,gCAASe,cAAa,IAAI;AACtC,WAAK,YAAY;AAAA,IAClB,GAFa;AAAA,IAGd,YAAY,gCAAS0B,YAAW,IAAI;AAClC,WAAK,UAAU,KAAK,GAAG,MAAM;AAAA,IAC9B,GAFW;AAAA,EAGb;AAAA,EACD,UAAU;AAAA,IACR,gBAAgB,gCAASzC,kBAAiB;AACxC,aAAO,KAAK,qBAAqB,KAAK,SAAS,CAAE,CAAA;AAAA,IAClD,GAFe;AAAA,IAGhB,cAAc,gCAAS0C,gBAAe;AACpC,UAAI,UAAU;AACd,UAAI,gBAAgB,KAAK,eAAe,KAAK,SAAU,GAAG;AACxD,eAAO,EAAE,QAAQ,QAAQ,gBAAgB;AAAA,MACjD,CAAO;AACD,aAAO,gBAAgB,cAAc,QAAQ,KAAK;AAAA,IACnD,GANa;AAAA,IAOd,eAAe,gCAASC,iBAAgB;AACtC,aAAO,KAAK,gBAAgB,UAAU,KAAK,GAAG,OAAO,KAAK,EAAE,EAAE,OAAO,WAAW,KAAK,gBAAgB,SAAS,IAAI,MAAM,KAAK,gBAAgB,YAAY,IAAI,GAAG,EAAE,OAAO,KAAK,gBAAgB,KAAK,IAAI;AAAA,IACxM,GAFc;AAAA,EAGhB;AAAA,EACD,YAAY;AAAA,IACV,eAAevJ;AAAAA,IACf,QAAQ+C;AAAAA,EACT;AACH;AAEA,IAAIpC,eAAa,CAAC,IAAI;AACtB,SAASP,SAAO,MAAM,QAAQ,QAAQ,QAAQ,OAAO,UAAU;AAC7D,MAAI,2BAA2B,iBAAiB,eAAe;AAC/D,MAAI,oBAAoB,iBAAiB,QAAQ;AACjD,SAAO,UAAS,GAAI,YAAY,mBAAmB;AAAA,IACjD,UAAU,KAAK;AAAA,IACf,UAAU,CAAC,KAAK;AAAA,EACpB,GAAK;AAAA,IACD,WAAW,QAAQ,WAAY;AAC7B,aAAO,CAAC,YAAY,YAAY,WAAW;AAAA,QACzC,MAAM;AAAA,QACN,SAAS,SAAS;AAAA,QAClB,cAAc,SAAS;AAAA,QACvB,SAAS,SAAS;AAAA,QAClB,cAAc,SAAS;AAAA,MACxB,GAAE,KAAK,IAAI,YAAY,CAAC,GAAG;AAAA,QAC1B,WAAW,QAAQ,WAAY;AAC7B,iBAAO,CAAC,MAAM,WAAW,UAAW,GAAE,mBAAmB,OAAO,WAAW;AAAA,YACzE,KAAK;AAAA,YACL,KAAK,SAAS;AAAA,YACd,IAAI,MAAM;AAAA,YACV,SAAS,KAAK,GAAG,MAAM;AAAA,YACvB,SAAS,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,WAAY;AAC7C,qBAAO,SAAS,kBAAkB,SAAS,eAAe,MAAM,UAAU,SAAS;AAAA,YACjG;AAAA,UACW,GAAE,KAAK,KAAK,MAAM,CAAC,GAAG,CAAC,KAAK,OAAO,SAAS,UAAW,GAAE,mBAAmB,OAAO,WAAW;AAAA,YAC7F,KAAK;AAAA,YACL,SAAS,KAAK,GAAG,OAAO;AAAA,UACpC,GAAa,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,QAAQ,OAAO,CAAC,GAAG,EAAE,KAAK,mBAAmB,IAAI,IAAI,GAAG,YAAY,0BAA0B,WAAW;AAAA,YAC/I,KAAK,SAAS;AAAA,YACd,IAAI,MAAM,KAAK;AAAA,YACf,SAAS,KAAK,GAAG,UAAU;AAAA,YAC3B,UAAU,CAAC,KAAK,WAAW,KAAK,WAAW;AAAA,YAC3C,MAAM;AAAA,YACN,cAAc,KAAK;AAAA,YACnB,mBAAmB,KAAK;AAAA,YACxB,iBAAiB,KAAK,YAAY;AAAA,YAClC,oBAAoB;AAAA,YACpB,yBAAyB,MAAM,UAAU,SAAS,gBAAgB;AAAA,YAClE,QAAQ,MAAM;AAAA,YACd,eAAe,MAAM,UAAU,SAAS,gBAAgB;AAAA,YACxD,OAAO,SAAS;AAAA,YAChB,WAAW,KAAK;AAAA,YAChB,gBAAgB,MAAM;AAAA,YACtB,OAAO;AAAA,YACP,SAAS,MAAM;AAAA,YACf,IAAI,KAAK;AAAA,YACT,UAAU,KAAK;AAAA,YACf,SAAS,SAAS;AAAA,YAClB,QAAQ,SAAS;AAAA,YACjB,WAAW,SAAS;AAAA,YACpB,aAAa,SAAS;AAAA,YACtB,kBAAkB,SAAS;AAAA,YAC3B,iBAAiB,SAAS;AAAA,UACtC,GAAa,KAAK,IAAI,UAAU,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,SAAS,YAAY,cAAc,mBAAmB,iBAAiB,yBAAyB,UAAU,iBAAiB,SAAS,aAAa,kBAAkB,WAAW,MAAM,YAAY,WAAW,UAAU,aAAa,eAAe,oBAAoB,iBAAiB,CAAC,GAAG,KAAK,OAAO,OAAO,UAAS,GAAI,mBAAmB,OAAO,WAAW;AAAA,YACxY,KAAK;AAAA,YACL,SAAS,KAAK,GAAG,KAAK;AAAA,UAClC,GAAa,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,KAAK,QAAQ,KAAK,CAAC,GAAG,EAAE,KAAK,mBAAmB,IAAI,IAAI,CAAC,GAAG,IAAIO,YAAU,KAAK,mBAAmB,IAAI,IAAI,CAAC;AAAA,QACtJ,CAAS;AAAA,QACD,GAAG;AAAA,MACX,GAAS,IAAI,CAAC,WAAW,gBAAgB,WAAW,cAAc,CAAC,CAAC;AAAA,IACpE,CAAK;AAAA,IACD,GAAG;AAAA,EACJ,GAAE,GAAG,CAAC,YAAY,UAAU,CAAC;AAChC;AA/DSP;AAiETD,SAAO,SAASC;AC7hChB,IAAIN,SAAQ,gCAASA,QAAM,MAAM;AAC/B,MAAI,KAAK,KAAK;AACd,SAAO,8FAA8F,OAAO,GAAG,2BAA2B,GAAG,ioBAAioB,EAAE,OAAO,GAAG,mCAAmC,GAAG,qCAAqC,EAAE,OAAO,GAAG,mCAAmC,GAAG,sFAAsF,EAAE,OAAO,GAAG,mCAAmC,GAAG,oCAAoC,EAAE,OAAO,GAAG,mCAAmC,GAAG,mDAAmD,EAAE,OAAO,GAAG,2BAA2B,GAAG,QAAQ;AAC5tC,GAHY;AAIZ,IAAI,UAAU;AAAA,EACZ,MAAM,gCAASiB,OAAK,OAAO;AACzB,QAAI,WAAW,MAAM,UACnB,QAAQ,MAAM;AAChB,WAAO,CAAC,6BAA6B;AAAA,MACnC,wBAAwB,MAAM;AAAA,MAC9B,yBAAyB,MAAM;AAAA,MAC/B,uBAAuB,SAAS;AAAA,IACtC,CAAK;AAAA,EACF,GARK;AAAA,EASN,UAAU;AAAA,EACV,YAAY;AACd;AACA,IAAI,mBAAmB,UAAU,OAAO;AAAA,EACtC,MAAM;AAAA,EACN,OAAOjB;AAAA,EACP;AACF,CAAC;ACdD,IAAI,WAAW;AAAA,EACb,MAAM;AAAA,EACN,WAAWQ;AAAAA,EACX,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,OAAO;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,YAAY;AAAA,MACV,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,YAAY;AAAA,MACV,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,UAAU;AAAA,MACR,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,WAAW;AAAA,IACZ;AAAA,IACD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,OAAO;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,SAAS;AAAA,MACP,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,OAAO;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,aAAa;AAAA,MACX,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,SAAS;AAAA,MACP,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,IACD,OAAO;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,IACZ;AAAA,EACF;AAAA,EACD,OAAO;AAAA,EACP,SAAS,gCAASJ,YAAU;AAC1B,WAAO;AAAA,MACL,gBAAgB;AAAA,MAChB,iBAAiB;AAAA,IACvB;AAAA,EACG,GALQ;AAMX;AAEA,IAAI,SAAS;AAAA,EACX,MAAM;AAAA,EACN,WAAW;AAAA,EACX,cAAc;AAAA,EACd,OAAO,CAAC,OAAO;AAAA,EACf,QAAQ;AAAA,IACN,UAAU;AAAA,MACR,WAAW;AAAA,IACZ;AAAA,EACF;AAAA,EACD,MAAM,gCAASqB,QAAO;AACpB,WAAO;AAAA,MACL,IAAI,KAAK,OAAO;AAAA,MAChB,YAAY;AAAA,IAClB;AAAA,EACG,GALK;AAAA,EAMN,OAAO;AAAA,IACL,aAAa,gCAAS8D,UAAS,UAAU;AACvC,WAAK,KAAK,YAAY;IACvB,GAFY;AAAA,EAGd;AAAA,EACD,SAAS,gCAAS7D,WAAU;AAC1B,QAAI,QAAQ;AACZ,SAAK,KAAK,KAAK,MAAM,kBAAiB;AACtC,SAAK,OAAO,sBAAsB,SAAU,UAAU;AACpD,YAAM,aAAa;AAAA,IACzB,CAAK;AAAA,EACF,GANQ;AAAA,EAOT,SAAS;AAAA,IACP,uBAAuB,gCAAS,sBAAsB,OAAO;AAC3D,UAAI,OAAO;AACT,cAAM,eAAc;AAAA,MACrB;AACD,WAAK,MAAM,KAAK,OAAO;AAAA,QACrB,eAAe,KAAK;AAAA,QACpB,eAAe,KAAK,MAAM,OAAO;AAAA,MACzC,CAAO;AACD,WAAK,aAAa,KAAK,MAAM,KAAK;AAAA,IACnC,GATsB;AAAA,IAUvB,mBAAmB,gCAAS,kBAAkB,OAAO;AACnD,UAAI,MAAM,SAAS,eAAe,MAAM,SAAS,WAAW;AAC1D,aAAK,sBAAqB;AAC1B,cAAM,eAAc;AAAA,MACrB;AAAA,IACF,GALkB;AAAA,IAMnB,sBAAsB,gCAAS,qBAAqB,OAAO;AACzD,UAAI,KAAK,YAAY;AACnB,aAAK,MAAM,KAAK,KAAK,KAAK;AAAA,MAC3B;AACD,WAAK,MAAM,SAAS,KAAK;AAAA,IAC1B,GALqB;AAAA,EAMvB;AAAA,EACD,UAAU;AAAA,IACR,gBAAgB,gCAAS,iBAAiB;AACxC,aAAO,CAAC,KAAK,GAAG,MAAM,GAAG,KAAK,OAAO,CAAC;AAAA,IACvC,GAFe;AAAA,IAGhB,UAAU,gCAASgI,YAAW;AAC5B,aAAO,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,WAAW,KAAK;AAAA,IACrD,GAFS;AAAA,EAGX;AAAA,EACD,YAAY;AAAA,IACV,WAAWvC;AAAAA,IACX,SAASwC;AAAAA,IACT,iBAAiBzG;AAAAA,EAClB;AACH;AAEA,IAAIrC,eAAa,CAAC,iBAAiB;AACnC,SAASP,SAAO,MAAM,QAAQ,QAAQ,QAAQ,OAAO,UAAU;AAC7D,MAAI,uBAAuB,iBAAiB,WAAW;AACvD,MAAI,qBAAqB,iBAAiB,SAAS;AACnD,SAAO,UAAW,GAAE,mBAAmB,OAAO,WAAW;AAAA,IACvD,SAAS,SAAS;AAAA,IAClB,OAAO,KAAK;AAAA,EAChB,GAAK,KAAK,KAAK,MAAM,GAAG;AAAA,IACpB,mBAAmB,KAAK;AAAA,EACzB,CAAA,GAAG,CAAC,YAAY,sBAAsB,WAAW;AAAA,IAChD,MAAM;AAAA,IACN,SAAS,KAAK,GAAG,UAAU;AAAA,IAC3B,OAAO,KAAK;AAAA,IACZ,UAAU,KAAK;AAAA,IACf,UAAU,KAAK;AAAA,IACf,MAAM,KAAK;AAAA,IACX,MAAM,KAAK;AAAA,IACX,UAAU,KAAK;AAAA,IACf,MAAM,KAAK;AAAA,IACX,OAAO,KAAK;AAAA,IACZ,cAAc,KAAK;AAAA,IACnB,SAAS,SAAS;AAAA,EACtB,GAAK,KAAK,aAAa;AAAA,IACnB,IAAI,KAAK,IAAI,UAAU;AAAA,IACvB,UAAU,KAAK;AAAA,EAChB,CAAA,GAAG,YAAY;AAAA,IACd,WAAW,QAAQ,WAAY;AAC7B,aAAO,CAAC,WAAW,KAAK,QAAQ,SAAS,CAAC;AAAA,IAChD,CAAK;AAAA,IACD,GAAG;AAAA,EACP,GAAK,CAAC,KAAK,OAAO,OAAO;AAAA,IACrB,MAAM;AAAA,IACN,IAAI,QAAQ,SAAU,WAAW;AAC/B,aAAO,CAAC,WAAW,KAAK,QAAQ,QAAQ;AAAA,QACtC,SAAS,eAAe,UAAU,OAAO,CAAC;AAAA,MAClD,GAAS,WAAY;AACb,eAAO,CAACU,gBAAmB,QAAQ,WAAW;AAAA,UAC5C,SAAS,CAAC,KAAK,MAAM,UAAU,OAAO,CAAC;AAAA,QACxC,GAAE,KAAK,IAAI,UAAU,EAAE,MAAM,GAAG;AAAA,UAC/B,mBAAmB;AAAA,QAC7B,CAAS,GAAG,MAAM,EAAE,CAAC;AAAA,MACd,CAAA,CAAC;AAAA,IACR,CAAK;AAAA,IACD,KAAK;AAAA,EACT,IAAM,MAAS,CAAC,GAAG,MAAM,CAAC,SAAS,SAAS,YAAY,YAAY,QAAQ,QAAQ,YAAY,QAAQ,SAAS,cAAc,WAAW,MAAM,UAAU,CAAC,GAAG,YAAY,sBAAsB,WAAW;AAAA,IACvM,KAAK;AAAA,IACL,MAAM;AAAA,IACN,SAAS,KAAK,GAAG,YAAY;AAAA,IAC7B,UAAU,KAAK;AAAA,IACf,iBAAiB;AAAA,IACjB,iBAAiB,MAAM;AAAA,IACvB,iBAAiB,MAAM,KAAK;AAAA,IAC5B,SAAS,SAAS;AAAA,IAClB,WAAW,SAAS;AAAA,IACpB,UAAU,KAAK;AAAA,IACf,MAAM,KAAK;AAAA,IACX,UAAU,KAAK;AAAA,IACf,MAAM,KAAK;AAAA,IACX,UAAU,KAAK;AAAA,EACnB,GAAK,KAAK,iBAAiB;AAAA,IACvB,IAAI,KAAK,IAAI,YAAY;AAAA,EAC7B,CAAG,GAAG;AAAA,IACF,MAAM,QAAQ,SAAU,WAAW;AACjC,aAAO,CAAC,WAAW,KAAK,QAAQ,KAAK,OAAO,eAAe,iBAAiB,kBAAkB;AAAA,QAC5F,SAAS,eAAe,UAAU,OAAO,CAAC;AAAA,MAClD,GAAS,WAAY;AACb,eAAO,EAAE,UAAS,GAAI,YAAY,wBAAwB,KAAK,kBAAkB,KAAK,eAAe,SAAS,iBAAiB,GAAG,WAAW;AAAA,UAC3I,SAAS,CAAC,KAAK,gBAAgB,KAAK,gBAAgB,UAAU,OAAO,CAAC;AAAA,QACvE,GAAE,KAAK,IAAI,YAAY,EAAE,MAAM,GAAG;AAAA,UACjC,mBAAmB;AAAA,QACpB,CAAA,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAC;AAAA,MACzB,CAAA,CAAC;AAAA,IACR,CAAK;AAAA,IACD,GAAG;AAAA,EACP,GAAK,IAAI,CAAC,SAAS,YAAY,iBAAiB,iBAAiB,WAAW,aAAa,YAAY,QAAQ,YAAY,QAAQ,YAAY,IAAI,CAAC,GAAG,YAAY,oBAAoB;AAAA,IACjL,KAAK;AAAA,IACL,IAAI,MAAM,KAAK;AAAA,IACf,OAAO,KAAK;AAAA,IACZ,OAAO;AAAA,IACP,YAAY,KAAK;AAAA,IACjB,YAAY,KAAK;AAAA,IACjB,UAAU,KAAK;AAAA,IACf,UAAU,KAAK;AAAA,IACf,IAAI,KAAK,IAAI,QAAQ;AAAA,EACtB,GAAE,YAAY;AAAA,IACb,GAAG;AAAA,EACP,GAAK,CAAC,KAAK,OAAO,eAAe;AAAA,IAC7B,MAAM;AAAA,IACN,IAAI,QAAQ,SAAU,WAAW;AAC/B,aAAO,CAAC,WAAW,KAAK,QAAQ,gBAAgB;AAAA,QAC9C,MAAM,UAAU;AAAA,QAChB,SAAS,eAAe,UAAU,OAAO,CAAC;AAAA,MAC3C,CAAA,CAAC;AAAA,IACR,CAAK;AAAA,IACD,KAAK;AAAA,EACN,IAAG,QAAW,KAAK,OAAO,OAAO;AAAA,IAChC,MAAM;AAAA,IACN,IAAI,QAAQ,SAAU,WAAW;AAC/B,aAAO,CAAC,WAAW,KAAK,QAAQ,QAAQ;AAAA,QACtC,MAAM,UAAU;AAAA,QAChB,YAAY,UAAU;AAAA,QACtB,OAAO,UAAU;AAAA,QACjB,OAAO,UAAU;AAAA,MAClB,CAAA,CAAC;AAAA,IACR,CAAK;AAAA,IACD,KAAK;AAAA,EACT,IAAM,MAAS,CAAC,GAAG,MAAM,CAAC,MAAM,SAAS,cAAc,cAAc,YAAY,YAAY,IAAI,CAAC,CAAC,GAAG,IAAIH,YAAU;AACpH;AA1GSP;AA4GT,OAAO,SAASA;AC3OhB,MAAM,gBAAgB;;;;;;;AANtB,UAAM,QAAQ;AAId,UAAM,qBAAqB;AAC3B,UAAM,EAAE,WAAA,IAAe,YAAY,kBAAkB;AAGrD,UAAM,eAAe;AACrB,UAAM,gBAAgB;AAAA,MAAS,MAC7B,aAAa,IAAI,mCAAmC;AAAA,IAAA;AAGhD,UAAA,cAAc,wBAAC,cAAuB;AACtC,UAAA;AACJ,UAAI,WAAW;AACP,cAAA,gBAAgB,WAAW,QAAQ;AACzC,mBAAW,gBAAgB;AAAA,MAAA,OACtB;AACC,cAAA,gBAAgB,WAAW,QAAQ;AAC9B,mBAAA,KAAK,MAAM,gBAAgB,CAAC;AAAA,MACzC;AAEA,iBAAW,QAAQ;AAAA,IAAA,GAVD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACcpB,UAAM,iBAAiB;AACjB,UAAA,kBAAkB,YAAY,8BAAA,CAA+B;AACnE,UAAM,EAAE,MAAM,UAAA,IAAc,YAAY,sBAAuB,CAAA;AAEzD,UAAA,EAAE,MAAM;AACd,UAAM,0BAA2D;AAAA,MAC/D,UAAU;AAAA,QACR,KAAK;AAAA,QACL,OAAO;AAAA,QACP,MAAM;AAAA,QACN,SAAS,EAAE,sBAAsB;AAAA,QACjC,SAAS,6BAAM;AACb,oBAAU,QAAQ;AAAA,QACpB,GAFS;AAAA,MAGX;AAAA,MACA,SAAS;AAAA,QACP,KAAK;AAAA,QACL,OAAO;AAAA,QACP,MAAM;AAAA,QACN,SAAS,EAAE,qBAAqB;AAAA,QAChC,SAAS,6BAAM;AACb,oBAAU,QAAQ;AAAA,QACpB,GAFS;AAAA,MAGX;AAAA,MACA,QAAQ;AAAA,QACN,KAAK;AAAA,QACL,OAAO;AAAA,QACP,MAAM;AAAA,QACN,SAAS,EAAE,oBAAoB;AAAA,QAC/B,SAAS,6BAAM;AACb,oBAAU,QAAQ;AAAA,QACpB,GAFS;AAAA,MAGX;AAAA,IAAA;AAGF,UAAM,0BAA0B;AAAA,MAC9B,MAAM,wBAAwB,UAAU,KAAK;AAAA,IAAA;AAE/C,UAAM,qBAAqB;AAAA,MAAS,MAClC,OAAO,OAAO,uBAAuB;AAAA,IAAA;AAGvC,UAAM,kBAAkB,SAAS,MAAM,CAAC,CAAC,gBAAgB,MAAM,KAAK;AACpE,UAAM,kBAAkB,SAAS,MAAM,gBAAgB,MAAM,QAAQ,CAAC;AAEtE,UAAM,eAAe;AACf,UAAA,cAAc,wBAAC,MAAkB;AAC/B,YAAA,YAAY,EAAE,WAAW,2BAA2B;AAC1D,mBAAa,QAAQ,SAAS;AAAA,IAAA,GAFZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC+DpB,MAAM,mBAAmB;;;;AAvIzB,UAAM,gBAAgB;AACtB,UAAM,eAAe;AAErB,UAAM,UAAU;AAAA,MACd,MAAM,cAAc,IAAI,kBAAkB,MAAM;AAAA,IAAA;AAG5C,UAAA,WAAW,IAAwB,IAAI;AACvC,UAAA,gBAAgB,IAAwB,IAAI;AAC5C,UAAA,WAAW,gBAAgB,6BAA6B,KAAK;AAC7D,UAAA,iBAAiB,gBAAgB,+BAA+B;AAAA,MACpE,GAAG;AAAA,MACH,GAAG;AAAA,IAAA,CACJ;AACK,UAAA;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,IACE,aAAa,UAAU;AAAA,MACzB,cAAc,EAAE,GAAG,GAAG,GAAG,EAAE;AAAA,MAC3B,QAAQ;AAAA,MACR,kBAAkB,SAAS;AAAA,IAAA,CAC5B;AAGD;AAAA,MACE,CAAC,GAAG,CAAC;AAAA,MACL,CAAC,CAAC,MAAM,IAAI,MAAM;AAChB,uBAAe,QAAQ,EAAE,GAAG,MAAM,GAAG;MACvC;AAAA,MACA,EAAE,UAAU,IAAI;AAAA,IAAA;AAIlB,UAAM,qBAAqB,6BAAM;AAC/B,UAAI,EAAE,UAAU,KAAK,EAAE,UAAU,GAAG;AAClC;AAAA,MACF;AACA,UAAI,eAAe,MAAM,MAAM,KAAK,eAAe,MAAM,MAAM,GAAG;AAC9D,UAAA,QAAQ,eAAe,MAAM;AAC7B,UAAA,QAAQ,eAAe,MAAM;AACV;AACrB;AAAA,MACF;AACA,UAAI,SAAS,OAAO;AAClB,cAAM,cAAc,OAAO;AAC3B,cAAM,eAAe,OAAO;AACtB,cAAA,YAAY,SAAS,MAAM;AAC3B,cAAA,aAAa,SAAS,MAAM;AAE9B,YAAA,cAAc,KAAK,eAAe,GAAG;AACvC;AAAA,QACF;AAEE,UAAA,SAAS,cAAc,aAAa;AACpC,UAAA,QAAQ,eAAe,aAAa;AACjB;MACvB;AAAA,IAAA,GAvByB;AAyB3B,cAAU,kBAAkB;AACtB,UAAA,SAAS,CAAC,eAAe;AAC7B,UAAI,YAAY;AACd,iBAAS,kBAAkB;AAAA,MAC7B;AAAA,IAAA,CACD;AAED,UAAM,gBAAgB,IAAI;AAAA,MACxB,GAAG,EAAE;AAAA,MACL,GAAG,EAAE;AAAA,MACL,aAAa,OAAO;AAAA,MACpB,cAAc,OAAO;AAAA,IAAA,CACtB;AACD,UAAM,uBAAuB,6BAAM;AACjC,oBAAc,QAAQ;AAAA,QACpB,GAAG,EAAE;AAAA,QACL,GAAG,EAAE;AAAA,QACL,aAAa,OAAO;AAAA,QACpB,cAAc,OAAO;AAAA,MAAA;AAAA,IACvB,GAN2B;AAQ7B;AAAA,MACE;AAAA,MACA,CAAC,kBAAkB;AACjB,YAAI,CAAC,eAAe;AAEG;QACvB;AAAA,MACF;AAAA,MACA,EAAE,WAAW,KAAK;AAAA,IAAA;AAGpB,UAAM,qBAAqB,6BAAM;AAC/B,UAAI,SAAS,OAAO;AAClB,cAAM,cAAc,OAAO;AAC3B,cAAM,eAAe,OAAO;AACtB,cAAA,YAAY,SAAS,MAAM;AAC3B,cAAA,aAAa,SAAS,MAAM;AAGlC,cAAM,gBACJ,cAAc,MAAM,eAAe,cAAc,MAAM,IAAI;AAC7D,cAAM,iBACJ,cAAc,MAAM,gBAAgB,cAAc,MAAM,IAAI;AAGxD,cAAA,cAAc,gBAAgB,cAAc,MAAM;AAClD,cAAA,eAAe,iBAAiB,cAAc,MAAM;AAG1D,YAAI,aAAa;AACf,YAAE,QACA,eAAe,cAAc,MAAM,cAAc,cAAc,MAAM;AAAA,QAAA,OAClE;AACH,YAAA,QAAQ,cAAc,MAAM;AAAA,QAChC;AAEA,YAAI,cAAc;AAChB,YAAE,QACA,gBACC,cAAc,MAAM,eAAe,cAAc,MAAM;AAAA,QAAA,OACrD;AACH,YAAA,QAAQ,cAAc,MAAM;AAAA,QAChC;AAGA,UAAE,QAAQsJ,cAAAA,MAAM,EAAE,OAAO,GAAG,cAAc,SAAS;AACnD,UAAE,QAAQA,cAAAA,MAAM,EAAE,OAAO,GAAG,eAAe,UAAU;AAAA,MACvD;AAAA,IAAA,GApCyB;AAuCV,qBAAA,QAAQ,UAAU,kBAAkB;AAE/C,UAAA,aAAa,OAAmC,YAAY;AAC5D,UAAA,gBAAgB,mBAAmB,UAAU;AAE7C,UAAA,2BAA2B,SAAS,MAAM;AAC1C,UAAA,CAAC,SAAS,OAAO;AACZ,eAAA;AAAA,MACT;AACA,YAAM,EAAE,OAAW,IAAA,SAAS,MAAM,sBAAsB;AAClD,YAAA,kBAAkB,EAAE,QAAQ;AAC5B,YAAA,gBAAgB,cAAc,OAAO;AAE3C,YAAM,gBACJ,KAAK,IAAI,iBAAiB,aAAa,IACvC,KAAK,IAAI,EAAE,OAAO,cAAc,IAAI,KAAK;AAC3C,aAAO,gBAAgB;AAAA,IAAA,CACxB;AAEK,UAAA,YAAY,CAAC,kBAAkB;AACnC,UAAI,CAAC,eAAe;AAElB,iBAAS,QAAQ,yBAAyB;AAAA,MAAA,OACrC;AAEL,iBAAS,QAAQ;AAAA,MACnB;AAAA,IAAA,CACD;AAEK,UAAA,WAAW,YAAoB,SAAS;AACxC,UAAA,CAAC,YAAY,wBAAwB,GAAG,CAAC,CAAC,UAAU,WAAW,MAAM;AACzE,eAAS,KAAK,mBAAmB;AAAA,QAC/B,YAAY;AAAA,QACZ,eAAe;AAAA,MAAA,CAChB;AAAA,IAAA,CACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5LD,UAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;ACYzB,UAAM,iBAAiB;AACvB,UAAM,eAAe;AACrB,UAAM,uBAAuB;AAAA,MAAS,MACpC,aAAa,IAAI,qCAAqC;AAAA,IAAA;AAExD,UAAM,kBAAkB;AAAA,MACtB,MACE,aAAa,IAAI,kBAAkB,MAAM,cACzC,CAAC,eAAe;AAAA,IAAA;AAEpB,UAAM,iBAAiB;AAAA,MAAS,MAC9B,aAAa,IAAI,kBAAkB,MAAM,QACrC,sBACA;AAAA,IAAA;AAGA,UAAA,YAAY,IAA2B,IAAI;AAEjD,cAAU,MAAM;AACd,UAAI,UAAU,OAAO;AACnB,kBAAU,MAAM,YAAY,IAAI,KAAK,OAAO;AAAA,MAC9C;AAAA,IAAA,CACD;AAEK,UAAA,aAAa,IAA2B,IAAI;AAClD,YAAQ,cAAc,UAAU;AAC1B,UAAA,WAAW,YAAoB,SAAS;AACxC,UAAA,aAAa,IAAI,KAAK;AACtB,UAAA,cAAc,IAAI,KAAK;AACpB,aAAA,GAAG,CAAC,OAAe,YAAiB;AAC3C,UAAI,UAAU,mBAAmB;AAC/B,mBAAW,QAAQ,QAAQ;AACf,oBAAA,QAAQ,QAAQ,iBAAiB,QAAQ;AAAA,MACvD;AAAA,IAAA,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5DM,SAAS,wBAAwB;AACtC,QAAM,kBAAkB;AACxB,QAAM,qBAAqB;AAE3B,MAAI,kBAAkB;AACtB,MAAI,gBAAgB;AAChB,MAAA,iBAAiB,gBAAgB,MAAM;AACrC,QAAA,mBAAmB,SAAS,UAAU;AACxC,UAAI,eAAe;AACC,0BAAA;AAAA,MAAA,OACb;AACa,0BAAA;AACd,YAAA,YAAY,GAAG,mBAAmB,UAAU;AAChD;AAAA,MACF;AAAA,IACF;AAAA,EAAA,CACD;AAEe,kBAAA;AAAA,IACd,MAAM;AACJ,sBAAgB,gBAAgB;AAChC,UAAI,CAAC,iBAAiB,CAAC,IAAI,oBAAoB;AAC7C,YACE,mBAAmB,SAAS,aAC3B,mBAAmB,SAAS,YAAY,iBACzC;AACkB,4BAAA;AACd,cAAA,YAAY,GAAG,mBAAmB,UAAU;AAAA,QAClD;AAAA,MACF;AAAA,IACF;AAAA,IACA,EAAE,UAAU,KAAK;AAAA,EAAA;AAErB;AAjCgB;;;;ACmCM;AAEhB,UAAA,EAAE,MAAM;AACd,UAAM,QAAQ;AACd,UAAM,eAAe;AACrB,UAAM,iBAAiB;AAEvB,UAAM5J,UAAQ,SAAiB,MAAM,aAAa,IAAI,oBAAoB,CAAC;AAE3E;AAAA,MACEA;AAAA,MACA,CAAC,aAAa;AACZ,cAAM,mBAAmB;AACzB,cAAM,cAAc,aAAa;AACjC,YAAI,aAAa;AACN,mBAAA,KAAK,UAAU,IAAI,gBAAgB;AAAA,QAAA,OACvC;AACI,mBAAA,KAAK,UAAU,OAAO,gBAAgB;AAAA,QACjD;AAAA,MACF;AAAA,MACA,EAAE,WAAW,KAAK;AAAA,IAAA;AAGpB,gBAAY,MAAM;AACV,YAAA,WAAW,aAAa,IAAI,+BAA+B;AACjE,eAAS,gBAAgB,MAAM;AAAA,QAC7B;AAAA,QACA,GAAG,QAAQ;AAAA,MAAA;AAAA,IACb,CACD;AAED,gBAAY,MAAM;AACV,YAAA,UAAU,aAAa,IAAI,gCAAgC;AACjE,eAAS,gBAAgB,MAAM;AAAA,QAC7B;AAAA,QACA,GAAG,OAAO;AAAA,MAAA;AAAA,IACZ,CACD;AAED,gBAAY,MAAM;AACV,YAAA,SAAS,aAAa,IAAI,cAAc;AAC9C,UAAI,QAAQ;AACL,aAAA,OAAO,OAAO,QAAQ;AAAA,MAC7B;AAAA,IAAA,CACD;AAED,gBAAY,MAAM;AACV,YAAA,aAAa,aAAa,IAAI,kBAAkB;AACtD,UAAI,eAAe,YAAY;AAC7B,YAAI,GAAG,cAAc,MAAM,eAAe,SAAS;AACnD,YAAI,GAAG;MAAoB,OACtB;AACL,YAAI,GAAG,cAAc,MAAM,YAAY,WAAW,MAAM;AAAA,MAC1D;AAAA,IAAA,CACD;AAED,UAAM,OAAO,6BAAM;AACJ,mBAAA,YAAY,IAAI,GAAG,QAAQ;AACxC,yBAAA,EAAqB;AACrB,yBAAA,EAAqB;AACrB,0BAAA,EAAsB;AACtB,UAAI,mBAAmB;IAAkB,GAL9B;AAQb,UAAM,6BAA6B;AAC7B,UAAA,WAAW,wBAAC,MAA0C;AAC1D,iCAA2B,OAAO,CAAC;AAAA,IAAA,GADpB;AAIjB,UAAM,sBAA2C;AAAA,MAC/C,UAAU;AAAA,MACV,SAAS,EAAE,cAAc;AAAA,IAAA;AAG3B,UAAM,iBAAiB,6BAAM;AAC3B,YAAM,OAAO,mBAAmB;AAChC,YAAM,IAAI,mBAAmB;AAAA,IAAA,GAFR;AAKvB,UAAM,gBAAgB,6BAAM;AAC1B,YAAM,OAAO,mBAAmB;AAChC,YAAM,IAAI;AAAA,QACR,UAAU;AAAA,QACV,SAAS,EAAE,aAAa;AAAA,QACxB,MAAM;AAAA,MAAA,CACP;AAAA,IAAA,GANmB;AAStB,UAAM,gBAAgB;AACtB,UAAM,wBAAwB;AAC9B,QAAI,gBAAgB,iBAAiB;AACrC,QAAI,gBAAgB,gBAAgB;AACpC,QAAI,gBAAgB,wBAAwB;AAE5C,cAAU,MAAM;AACV,UAAA,iBAAiB,UAAU,QAAQ;AACnC,UAAA,iBAAiB,gBAAgB,cAAc;AAC/C,UAAA,iBAAiB,eAAe,aAAa;AACjD,qBAAe,oBAAoB;AAE/B,UAAA;AACG;eACE,GAAG;AACF,gBAAA,MAAM,mCAAmC,CAAC;AAAA,MACpD;AAAA,IAAA,CACD;AAED,oBAAgB,MAAM;AAChB,UAAA,oBAAoB,UAAU,QAAQ;AACtC,UAAA,oBAAoB,gBAAgB,cAAc;AAClD,UAAA,oBAAoB,eAAe,aAAa;AACpD,qBAAe,sBAAsB;AAAA,IAAA,CACtC;AAED,UAAM,eAAe,6BAAM;AACzB;AAAA,QACE,MAAM;AAGJ,6BAAA,EAAqB;AAGrB,wBAAA,EAAgB;AAGhB,+BAAA,EAAuB;AAKP,4BAAE,kBAAkB,4BAA4B,EAAE;AAGlE,gCAAA,EAAwB;QAC1B;AAAA,QACA,EAAE,SAAS,IAAK;AAAA,MAAA;AAAA,IAClB,GAtBmB;;;;;;;;;;;;;","x_google_ignoreList":[1,2,8,9,10,11,13,14,15,16,18,19,27,28,32,33,34,35,40,41,43,44,45,46,47,48]} \ No newline at end of file diff --git a/comfy/web/assets/GraphView-DCFfls4D.css b/comfy/web/assets/GraphView-DI5ePCmV.css similarity index 88% rename from comfy/web/assets/GraphView-DCFfls4D.css rename to comfy/web/assets/GraphView-DI5ePCmV.css index c565f1b01..609283b32 100644 --- a/comfy/web/assets/GraphView-DCFfls4D.css +++ b/comfy/web/assets/GraphView-DI5ePCmV.css @@ -1,13 +1,13 @@ -.group-title-editor.node-title-editor[data-v-fc3f26e3] { +.group-title-editor.node-title-editor[data-v-8a100d5a] { z-index: 9999; padding: 0.25rem; } -[data-v-fc3f26e3] .editable-text { +[data-v-8a100d5a] .editable-text { width: 100%; height: 100%; } -[data-v-fc3f26e3] .editable-text input { +[data-v-8a100d5a] .editable-text input { width: 100%; height: 100%; /* Override the default font size */ @@ -45,7 +45,7 @@ --sidebar-icon-size: 1rem; } -.side-tool-bar-container[data-v-aa14277f] { +.side-tool-bar-container[data-v-37fd2fa4] { display: flex; flex-direction: column; align-items: center; @@ -58,40 +58,39 @@ background-color: var(--comfy-menu-bg); color: var(--fg-color); } -.side-tool-bar-end[data-v-aa14277f] { +.side-tool-bar-end[data-v-37fd2fa4] { align-self: flex-end; margin-top: auto; } -.sidebar-content-container[data-v-aa14277f] { - height: 100%; - overflow-y: auto; -} -.p-splitter-gutter { +[data-v-b49f20b1] .p-splitter-gutter { pointer-events: auto; } -.gutter-hidden { - display: none !important; -} - -.side-bar-panel[data-v-b9df3042] { +.side-bar-panel[data-v-b49f20b1] { background-color: var(--bg-color); pointer-events: auto; } -.splitter-overlay[data-v-b9df3042] { - width: 100%; - height: 100%; - position: absolute; - top: 0; - left: 0; - background-color: transparent; +.bottom-panel[data-v-b49f20b1] { + background-color: var(--bg-color); + pointer-events: auto; +} +.splitter-overlay[data-v-b49f20b1] { pointer-events: none; + border-style: none; + background-color: transparent; +} +.splitter-overlay-root[data-v-b49f20b1] { + position: absolute; + top: 0px; + left: 0px; + height: 100%; + width: 100%; + /* Set it the same as the ComfyUI menu */ /* Note: Lite-graph DOM widgets have the same z-index as the node id, so 999 should be sufficient to make sure splitter overlays on node's DOM widgets */ z-index: 999; - border: none; } [data-v-37f672ab] .highlight { @@ -175,6 +174,14 @@ border-radius: 0; } +.comfy-menu-hamburger[data-v-eac4cb71] { + pointer-events: auto; + position: fixed; + top: 0px; + right: 0px; + z-index: 9999; +} + [data-v-84e785b8] .p-togglebutton::before { display: none } @@ -255,7 +262,7 @@ display: none; } -.comfyui-menu[data-v-b13fdc92] { +.comfyui-menu[data-v-221bd572] { width: 100vw; background: var(--comfy-menu-bg); color: var(--fg-color); @@ -267,13 +274,13 @@ grid-column: 1/-1; max-height: 90vh; } -.comfyui-menu.dropzone[data-v-b13fdc92] { +.comfyui-menu.dropzone[data-v-221bd572] { background: var(--p-highlight-background); } -.comfyui-menu.dropzone-active[data-v-b13fdc92] { +.comfyui-menu.dropzone-active[data-v-221bd572] { background: var(--p-highlight-background-focus); } -.comfyui-logo[data-v-b13fdc92] { +.comfyui-logo[data-v-221bd572] { font-size: 1.2em; -webkit-user-select: none; -moz-user-select: none; diff --git a/comfy/web/assets/GraphView-vodtEF4p.js.map b/comfy/web/assets/GraphView-vodtEF4p.js.map deleted file mode 100644 index 642eb7524..000000000 --- a/comfy/web/assets/GraphView-vodtEF4p.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"GraphView-vodtEF4p.js","sources":["../../src/components/graph/TitleEditor.vue","../../../../../node_modules/primevue/overlaybadge/style/index.mjs","../../../../../node_modules/primevue/overlaybadge/index.mjs","../../src/components/sidebar/SidebarIcon.vue","../../src/components/sidebar/SidebarThemeToggleIcon.vue","../../src/components/sidebar/SidebarSettingsToggleIcon.vue","../../src/components/sidebar/SideToolbar.vue","../../../../../node_modules/primevue/splitter/style/index.mjs","../../../../../node_modules/primevue/splitter/index.mjs","../../../../../node_modules/primevue/splitterpanel/style/index.mjs","../../../../../node_modules/primevue/splitterpanel/index.mjs","../../src/components/LiteGraphCanvasSplitterOverlay.vue","../../../../../node_modules/primevue/autocomplete/style/index.mjs","../../../../../node_modules/primevue/autocomplete/index.mjs","../../src/components/primevueOverride/AutoCompletePlus.vue","../../src/components/searchbox/NodeSearchItem.vue","../../src/components/searchbox/NodeSearchBox.vue","../../src/types/litegraphTypes.ts","../../src/components/searchbox/NodeSearchBoxPopover.vue","../../src/components/graph/NodeTooltip.vue","../../../../../node_modules/primevue/buttongroup/style/index.mjs","../../../../../node_modules/primevue/buttongroup/index.mjs","../../src/components/graph/GraphCanvasMenu.vue","../../src/components/graph/GraphCanvas.vue","../../../../../node_modules/primevue/toast/style/index.mjs","../../../../../node_modules/@primevue/icons/exclamationtriangle/index.mjs","../../../../../node_modules/@primevue/icons/infocircle/index.mjs","../../../../../node_modules/primevue/toast/index.mjs","../../src/components/toast/GlobalToast.vue","../../src/components/dialog/UnloadWindowConfirmDialog.vue","../../src/components/BrowserTabTitle.vue","../../src/components/topbar/WorkflowTabs.vue","../../../../../node_modules/primevue/menubar/style/index.mjs","../../../../../node_modules/primevue/menubar/index.mjs","../../src/components/topbar/CommandMenubar.vue","../../../../../node_modules/primevue/panel/style/index.mjs","../../../../../node_modules/primevue/panel/index.mjs","../../../../../node_modules/primevue/tieredmenu/style/index.mjs","../../../../../node_modules/primevue/tieredmenu/index.mjs","../../../../../node_modules/primevue/splitbutton/style/index.mjs","../../../../../node_modules/primevue/splitbutton/index.mjs","../../src/components/actionbar/BatchCountEdit.vue","../../src/components/actionbar/ComfyQueueButton.vue","../../src/components/actionbar/ComfyActionbar.vue","../../src/components/topbar/TopMenubar.vue","../../src/services/autoQueueService.ts","../../src/views/GraphView.vue"],"sourcesContent":["\n\n\n\n\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n 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\");\n};\nvar classes = {\n root: 'p-overlaybadge'\n};\nvar OverlayBadgeStyle = BaseStyle.extend({\n name: 'overlaybadge',\n theme: theme,\n classes: classes\n});\n\nexport { OverlayBadgeStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import Badge from 'primevue/badge';\nimport OverlayBadgeStyle from 'primevue/overlaybadge/style';\nimport { resolveComponent, openBlock, createElementBlock, mergeProps, renderSlot, createVNode } from 'vue';\n\nvar script$1 = {\n name: 'OverlayBadge',\n \"extends\": Badge,\n style: OverlayBadgeStyle,\n provide: function provide() {\n return {\n $pcOverlayBadge: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'OverlayBadge',\n \"extends\": script$1,\n inheritAttrs: false,\n components: {\n Badge: Badge\n }\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_Badge = resolveComponent(\"Badge\");\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [renderSlot(_ctx.$slots, \"default\"), createVNode(_component_Badge, mergeProps(_ctx.$props, {\n pt: _ctx.ptm('pcBadge')\n }), null, 16, [\"pt\"])], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","\n\n\n\n\n\n\n","\n\n\n","\n\n\n","\n\n\n\n\n\n\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n 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\");\n};\nvar classes = {\n root: function root(_ref2) {\n var props = _ref2.props;\n return ['p-splitter p-component', 'p-splitter-' + props.layout];\n },\n gutter: 'p-splitter-gutter',\n gutterHandle: 'p-splitter-gutter-handle'\n};\nvar inlineStyles = {\n root: function root(_ref3) {\n var props = _ref3.props;\n return [{\n display: 'flex',\n 'flex-wrap': 'nowrap'\n }, props.layout === 'vertical' ? {\n 'flex-direction': 'column'\n } : ''];\n }\n};\nvar SplitterStyle = BaseStyle.extend({\n name: 'splitter',\n theme: theme,\n classes: classes,\n inlineStyles: inlineStyles\n});\n\nexport { SplitterStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { getWidth, getHeight, getOuterWidth, getOuterHeight } from '@primeuix/utils/dom';\nimport { isArray } from '@primeuix/utils/object';\nimport { getVNodeProp } from '@primevue/core/utils';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport SplitterStyle from 'primevue/splitter/style';\nimport { openBlock, createElementBlock, mergeProps, Fragment, renderList, createBlock, resolveDynamicComponent, createElementVNode, createCommentVNode } from 'vue';\n\nvar script$1 = {\n name: 'BaseSplitter',\n \"extends\": BaseComponent,\n props: {\n layout: {\n type: String,\n \"default\": 'horizontal'\n },\n gutterSize: {\n type: Number,\n \"default\": 4\n },\n stateKey: {\n type: String,\n \"default\": null\n },\n stateStorage: {\n type: String,\n \"default\": 'session'\n },\n step: {\n type: Number,\n \"default\": 5\n }\n },\n style: SplitterStyle,\n provide: function provide() {\n return {\n $pcSplitter: this,\n $parentInstance: this\n };\n }\n};\n\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _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.\"); }\nfunction _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; } }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _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; }\nvar script = {\n name: 'Splitter',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['resizestart', 'resizeend', 'resize'],\n dragging: false,\n mouseMoveListener: null,\n mouseUpListener: null,\n touchMoveListener: null,\n touchEndListener: null,\n size: null,\n gutterElement: null,\n startPos: null,\n prevPanelElement: null,\n nextPanelElement: null,\n nextPanelSize: null,\n prevPanelSize: null,\n panelSizes: null,\n prevPanelIndex: null,\n timer: null,\n data: function data() {\n return {\n prevSize: null\n };\n },\n mounted: function mounted() {\n this.initializePanels();\n },\n beforeUnmount: function beforeUnmount() {\n this.clear();\n this.unbindMouseListeners();\n },\n methods: {\n isSplitterPanel: function isSplitterPanel(child) {\n return child.type.name === 'SplitterPanel';\n },\n initializePanels: function initializePanels() {\n var _this = this;\n if (this.panels && this.panels.length) {\n var initialized = false;\n if (this.isStateful()) {\n initialized = this.restoreState();\n }\n if (!initialized) {\n var children = _toConsumableArray(this.$el.children).filter(function (child) {\n return child.getAttribute('data-pc-name') === 'splitterpanel';\n });\n var _panelSizes = [];\n this.panels.map(function (panel, i) {\n var panelInitialSize = panel.props && panel.props.size ? panel.props.size : null;\n var panelSize = panelInitialSize || 100 / _this.panels.length;\n _panelSizes[i] = panelSize;\n children[i].style.flexBasis = 'calc(' + panelSize + '% - ' + (_this.panels.length - 1) * _this.gutterSize + 'px)';\n });\n this.panelSizes = _panelSizes;\n this.prevSize = parseFloat(_panelSizes[0]).toFixed(4);\n }\n }\n },\n onResizeStart: function onResizeStart(event, index, isKeyDown) {\n this.gutterElement = event.currentTarget || event.target.parentElement;\n this.size = this.horizontal ? getWidth(this.$el) : getHeight(this.$el);\n if (!isKeyDown) {\n this.dragging = true;\n this.startPos = this.layout === 'horizontal' ? event.pageX || event.changedTouches[0].pageX : event.pageY || event.changedTouches[0].pageY;\n }\n this.prevPanelElement = this.gutterElement.previousElementSibling;\n this.nextPanelElement = this.gutterElement.nextElementSibling;\n if (isKeyDown) {\n this.prevPanelSize = this.horizontal ? getOuterWidth(this.prevPanelElement, true) : getOuterHeight(this.prevPanelElement, true);\n this.nextPanelSize = this.horizontal ? getOuterWidth(this.nextPanelElement, true) : getOuterHeight(this.nextPanelElement, true);\n } else {\n this.prevPanelSize = 100 * (this.horizontal ? getOuterWidth(this.prevPanelElement, true) : getOuterHeight(this.prevPanelElement, true)) / this.size;\n this.nextPanelSize = 100 * (this.horizontal ? getOuterWidth(this.nextPanelElement, true) : getOuterHeight(this.nextPanelElement, true)) / this.size;\n }\n this.prevPanelIndex = index;\n this.$emit('resizestart', {\n originalEvent: event,\n sizes: this.panelSizes\n });\n this.$refs.gutter[index].setAttribute('data-p-gutter-resizing', true);\n this.$el.setAttribute('data-p-resizing', true);\n },\n onResize: function onResize(event, step, isKeyDown) {\n var newPos, newPrevPanelSize, newNextPanelSize;\n if (isKeyDown) {\n if (this.horizontal) {\n newPrevPanelSize = 100 * (this.prevPanelSize + step) / this.size;\n newNextPanelSize = 100 * (this.nextPanelSize - step) / this.size;\n } else {\n newPrevPanelSize = 100 * (this.prevPanelSize - step) / this.size;\n newNextPanelSize = 100 * (this.nextPanelSize + step) / this.size;\n }\n } else {\n 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;\n newPrevPanelSize = this.prevPanelSize + newPos;\n newNextPanelSize = this.nextPanelSize - newPos;\n }\n if (this.validateResize(newPrevPanelSize, newNextPanelSize)) {\n this.prevPanelElement.style.flexBasis = 'calc(' + newPrevPanelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';\n this.nextPanelElement.style.flexBasis = 'calc(' + newNextPanelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';\n this.panelSizes[this.prevPanelIndex] = newPrevPanelSize;\n this.panelSizes[this.prevPanelIndex + 1] = newNextPanelSize;\n this.prevSize = parseFloat(newPrevPanelSize).toFixed(4);\n }\n this.$emit('resize', {\n originalEvent: event,\n sizes: this.panelSizes\n });\n },\n onResizeEnd: function onResizeEnd(event) {\n if (this.isStateful()) {\n this.saveState();\n }\n this.$emit('resizeend', {\n originalEvent: event,\n sizes: this.panelSizes\n });\n this.$refs.gutter.forEach(function (gutter) {\n return gutter.setAttribute('data-p-gutter-resizing', false);\n });\n this.$el.setAttribute('data-p-resizing', false);\n this.clear();\n },\n repeat: function repeat(event, index, step) {\n this.onResizeStart(event, index, true);\n this.onResize(event, step, true);\n },\n setTimer: function setTimer(event, index, step) {\n var _this2 = this;\n if (!this.timer) {\n this.timer = setInterval(function () {\n _this2.repeat(event, index, step);\n }, 40);\n }\n },\n clearTimer: function clearTimer() {\n if (this.timer) {\n clearInterval(this.timer);\n this.timer = null;\n }\n },\n onGutterKeyUp: function onGutterKeyUp() {\n this.clearTimer();\n this.onResizeEnd();\n },\n onGutterKeyDown: function onGutterKeyDown(event, index) {\n switch (event.code) {\n case 'ArrowLeft':\n {\n if (this.layout === 'horizontal') {\n this.setTimer(event, index, this.step * -1);\n }\n event.preventDefault();\n break;\n }\n case 'ArrowRight':\n {\n if (this.layout === 'horizontal') {\n this.setTimer(event, index, this.step);\n }\n event.preventDefault();\n break;\n }\n case 'ArrowDown':\n {\n if (this.layout === 'vertical') {\n this.setTimer(event, index, this.step * -1);\n }\n event.preventDefault();\n break;\n }\n case 'ArrowUp':\n {\n if (this.layout === 'vertical') {\n this.setTimer(event, index, this.step);\n }\n event.preventDefault();\n break;\n }\n }\n },\n onGutterMouseDown: function onGutterMouseDown(event, index) {\n this.onResizeStart(event, index);\n this.bindMouseListeners();\n },\n onGutterTouchStart: function onGutterTouchStart(event, index) {\n this.onResizeStart(event, index);\n this.bindTouchListeners();\n event.preventDefault();\n },\n onGutterTouchMove: function onGutterTouchMove(event) {\n this.onResize(event);\n event.preventDefault();\n },\n onGutterTouchEnd: function onGutterTouchEnd(event) {\n this.onResizeEnd(event);\n this.unbindTouchListeners();\n event.preventDefault();\n },\n bindMouseListeners: function bindMouseListeners() {\n var _this3 = this;\n if (!this.mouseMoveListener) {\n this.mouseMoveListener = function (event) {\n return _this3.onResize(event);\n };\n document.addEventListener('mousemove', this.mouseMoveListener);\n }\n if (!this.mouseUpListener) {\n this.mouseUpListener = function (event) {\n _this3.onResizeEnd(event);\n _this3.unbindMouseListeners();\n };\n document.addEventListener('mouseup', this.mouseUpListener);\n }\n },\n bindTouchListeners: function bindTouchListeners() {\n var _this4 = this;\n if (!this.touchMoveListener) {\n this.touchMoveListener = function (event) {\n return _this4.onResize(event.changedTouches[0]);\n };\n document.addEventListener('touchmove', this.touchMoveListener);\n }\n if (!this.touchEndListener) {\n this.touchEndListener = function (event) {\n _this4.resizeEnd(event);\n _this4.unbindTouchListeners();\n };\n document.addEventListener('touchend', this.touchEndListener);\n }\n },\n validateResize: function validateResize(newPrevPanelSize, newNextPanelSize) {\n if (newPrevPanelSize > 100 || newPrevPanelSize < 0) return false;\n if (newNextPanelSize > 100 || newNextPanelSize < 0) return false;\n var prevPanelMinSize = getVNodeProp(this.panels[this.prevPanelIndex], 'minSize');\n if (this.panels[this.prevPanelIndex].props && prevPanelMinSize && prevPanelMinSize > newPrevPanelSize) {\n return false;\n }\n var newPanelMinSize = getVNodeProp(this.panels[this.prevPanelIndex + 1], 'minSize');\n if (this.panels[this.prevPanelIndex + 1].props && newPanelMinSize && newPanelMinSize > newNextPanelSize) {\n return false;\n }\n return true;\n },\n unbindMouseListeners: function unbindMouseListeners() {\n if (this.mouseMoveListener) {\n document.removeEventListener('mousemove', this.mouseMoveListener);\n this.mouseMoveListener = null;\n }\n if (this.mouseUpListener) {\n document.removeEventListener('mouseup', this.mouseUpListener);\n this.mouseUpListener = null;\n }\n },\n unbindTouchListeners: function unbindTouchListeners() {\n if (this.touchMoveListener) {\n document.removeEventListener('touchmove', this.touchMoveListener);\n this.touchMoveListener = null;\n }\n if (this.touchEndListener) {\n document.removeEventListener('touchend', this.touchEndListener);\n this.touchEndListener = null;\n }\n },\n clear: function clear() {\n this.dragging = false;\n this.size = null;\n this.startPos = null;\n this.prevPanelElement = null;\n this.nextPanelElement = null;\n this.prevPanelSize = null;\n this.nextPanelSize = null;\n this.gutterElement = null;\n this.prevPanelIndex = null;\n },\n isStateful: function isStateful() {\n return this.stateKey != null;\n },\n getStorage: function getStorage() {\n switch (this.stateStorage) {\n case 'local':\n return window.localStorage;\n case 'session':\n return window.sessionStorage;\n default:\n throw new Error(this.stateStorage + ' is not a valid value for the state storage, supported values are \"local\" and \"session\".');\n }\n },\n saveState: function saveState() {\n if (isArray(this.panelSizes)) {\n this.getStorage().setItem(this.stateKey, JSON.stringify(this.panelSizes));\n }\n },\n restoreState: function restoreState() {\n var _this5 = this;\n var storage = this.getStorage();\n var stateString = storage.getItem(this.stateKey);\n if (stateString) {\n this.panelSizes = JSON.parse(stateString);\n var children = _toConsumableArray(this.$el.children).filter(function (child) {\n return child.getAttribute('data-pc-name') === 'splitterpanel';\n });\n children.forEach(function (child, i) {\n child.style.flexBasis = 'calc(' + _this5.panelSizes[i] + '% - ' + (_this5.panels.length - 1) * _this5.gutterSize + 'px)';\n });\n return true;\n }\n return false;\n },\n resetState: function resetState() {\n this.initializePanels();\n }\n },\n computed: {\n panels: function panels() {\n var _this6 = this;\n var panels = [];\n this.$slots[\"default\"]().forEach(function (child) {\n if (_this6.isSplitterPanel(child)) {\n panels.push(child);\n } else if (child.children instanceof Array) {\n child.children.forEach(function (nestedChild) {\n if (_this6.isSplitterPanel(nestedChild)) {\n panels.push(nestedChild);\n }\n });\n }\n });\n return panels;\n },\n gutterStyle: function gutterStyle() {\n if (this.horizontal) return {\n width: this.gutterSize + 'px'\n };else return {\n height: this.gutterSize + 'px'\n };\n },\n horizontal: function horizontal() {\n return this.layout === 'horizontal';\n },\n getPTOptions: function getPTOptions() {\n var _this$$parentInstance;\n return {\n context: {\n nested: (_this$$parentInstance = this.$parentInstance) === null || _this$$parentInstance === void 0 ? void 0 : _this$$parentInstance.nestedState\n }\n };\n }\n }\n};\n\nvar _hoisted_1 = [\"onMousedown\", \"onTouchstart\", \"onTouchmove\", \"onTouchend\"];\nvar _hoisted_2 = [\"aria-orientation\", \"aria-valuenow\", \"onKeydown\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root'),\n style: _ctx.sx('root'),\n \"data-p-resizing\": false\n }, _ctx.ptmi('root', $options.getPTOptions)), [(openBlock(true), createElementBlock(Fragment, null, renderList($options.panels, function (panel, i) {\n return openBlock(), createElementBlock(Fragment, {\n key: i\n }, [(openBlock(), createBlock(resolveDynamicComponent(panel), {\n tabindex: \"-1\"\n })), i !== $options.panels.length - 1 ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n ref_for: true,\n ref: \"gutter\",\n \"class\": _ctx.cx('gutter'),\n role: \"separator\",\n tabindex: \"-1\",\n onMousedown: function onMousedown($event) {\n return $options.onGutterMouseDown($event, i);\n },\n onTouchstart: function onTouchstart($event) {\n return $options.onGutterTouchStart($event, i);\n },\n onTouchmove: function onTouchmove($event) {\n return $options.onGutterTouchMove($event, i);\n },\n onTouchend: function onTouchend($event) {\n return $options.onGutterTouchEnd($event, i);\n },\n \"data-p-gutter-resizing\": false\n }, _ctx.ptm('gutter')), [createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('gutterHandle'),\n tabindex: \"0\",\n style: [$options.gutterStyle],\n \"aria-orientation\": _ctx.layout,\n \"aria-valuenow\": $data.prevSize,\n onKeyup: _cache[0] || (_cache[0] = function () {\n return $options.onGutterKeyUp && $options.onGutterKeyUp.apply($options, arguments);\n }),\n onKeydown: function onKeydown($event) {\n return $options.onGutterKeyDown($event, i);\n },\n ref_for: true\n }, _ctx.ptm('gutterHandle')), null, 16, _hoisted_2)], 16, _hoisted_1)) : createCommentVNode(\"\", true)], 64);\n }), 128))], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar classes = {\n root: function root(_ref) {\n var instance = _ref.instance;\n return ['p-splitterpanel', {\n 'p-splitterpanel-nested': instance.isNested\n }];\n }\n};\nvar SplitterPanelStyle = BaseStyle.extend({\n name: 'splitterpanel',\n classes: classes\n});\n\nexport { SplitterPanelStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseComponent from '@primevue/core/basecomponent';\nimport SplitterPanelStyle from 'primevue/splitterpanel/style';\nimport { openBlock, createElementBlock, mergeProps, renderSlot } from 'vue';\n\nvar script$1 = {\n name: 'BaseSplitterPanel',\n \"extends\": BaseComponent,\n props: {\n size: {\n type: Number,\n \"default\": null\n },\n minSize: {\n type: Number,\n \"default\": null\n }\n },\n style: SplitterPanelStyle,\n provide: function provide() {\n return {\n $pcSplitterPanel: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'SplitterPanel',\n \"extends\": script$1,\n inheritAttrs: false,\n data: function data() {\n return {\n nestedState: null\n };\n },\n computed: {\n isNested: function isNested() {\n var _this = this;\n return this.$slots[\"default\"]().some(function (child) {\n _this.nestedState = child.type.name === 'Splitter' ? true : null;\n return _this.nestedState;\n });\n },\n getPTOptions: function getPTOptions() {\n return {\n context: {\n nested: this.isNested\n }\n };\n }\n }\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n ref: \"container\",\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root', $options.getPTOptions)), [renderSlot(_ctx.$slots, \"default\")], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","\n\n\n\n\n\n\n","import { isNotEmpty } from '@primeuix/utils/object';\nimport BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\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 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-container {\\n overflow: auto;\\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):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-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\");\n};\nvar inlineStyles = {\n root: {\n position: 'relative'\n }\n};\nvar classes = {\n root: function root(_ref2) {\n var instance = _ref2.instance,\n props = _ref2.props;\n return ['p-autocomplete p-component p-inputwrapper', {\n 'p-disabled': props.disabled,\n 'p-invalid': props.invalid,\n 'p-focus': instance.focused,\n 'p-inputwrapper-filled': props.modelValue || isNotEmpty(instance.inputValue),\n 'p-inputwrapper-focus': instance.focused,\n 'p-autocomplete-open': instance.overlayVisible,\n 'p-autocomplete-fluid': instance.hasFluid\n }];\n },\n pcInputText: 'p-autocomplete-input',\n inputMultiple: function inputMultiple(_ref3) {\n var props = _ref3.props,\n instance = _ref3.instance;\n return ['p-autocomplete-input-multiple', {\n 'p-variant-filled': props.variant ? props.variant === 'filled' : instance.$primevue.config.inputStyle === 'filled' || instance.$primevue.config.inputVariant === 'filled'\n }];\n },\n chipItem: function chipItem(_ref4) {\n var instance = _ref4.instance,\n i = _ref4.i;\n return ['p-autocomplete-chip-item', {\n 'p-focus': instance.focusedMultipleOptionIndex === i\n }];\n },\n pcChip: 'p-autocomplete-chip',\n chipIcon: 'p-autocomplete-chip-icon',\n inputChip: 'p-autocomplete-input-chip',\n loader: 'p-autocomplete-loader',\n dropdown: 'p-autocomplete-dropdown',\n overlay: 'p-autocomplete-overlay p-component',\n listContainer: 'p-autocomplete-list-container',\n list: 'p-autocomplete-list',\n optionGroup: 'p-autocomplete-option-group',\n option: function option(_ref5) {\n var instance = _ref5.instance,\n _option = _ref5.option,\n i = _ref5.i,\n getItemOptions = _ref5.getItemOptions;\n return ['p-autocomplete-option', {\n 'p-autocomplete-option-selected': instance.isSelected(_option),\n 'p-focus': instance.focusedOptionIndex === instance.getOptionIndex(i, getItemOptions),\n 'p-disabled': instance.isOptionDisabled(_option)\n }];\n },\n emptyMessage: 'p-autocomplete-empty-message'\n};\nvar AutoCompleteStyle = BaseStyle.extend({\n name: 'autocomplete',\n theme: theme,\n classes: classes,\n inlineStyles: inlineStyles\n});\n\nexport { AutoCompleteStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { focus, addStyle, relativePosition, getOuterWidth, absolutePosition, isTouchDevice, findSingle } from '@primeuix/utils/dom';\nimport { resolveFieldData, isEmpty, isNotEmpty, equals, findLastIndex } from '@primeuix/utils/object';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { UniqueComponentId, ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport SpinnerIcon from '@primevue/icons/spinner';\nimport Chip from 'primevue/chip';\nimport InputText from 'primevue/inputtext';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport Ripple from 'primevue/ripple';\nimport VirtualScroller from 'primevue/virtualscroller';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport AutoCompleteStyle from 'primevue/autocomplete/style';\nimport { resolveComponent, resolveDirective, openBlock, createElementBlock, mergeProps, createBlock, normalizeClass, normalizeStyle, createCommentVNode, Fragment, renderList, renderSlot, createVNode, withCtx, createElementVNode, resolveDynamicComponent, toDisplayString, Transition, createSlots, createTextVNode, withDirectives } from 'vue';\n\nvar script$1 = {\n name: 'BaseAutoComplete',\n \"extends\": BaseComponent,\n props: {\n modelValue: null,\n suggestions: {\n type: Array,\n \"default\": null\n },\n optionLabel: null,\n optionDisabled: null,\n optionGroupLabel: null,\n optionGroupChildren: null,\n scrollHeight: {\n type: String,\n \"default\": '14rem'\n },\n dropdown: {\n type: Boolean,\n \"default\": false\n },\n dropdownMode: {\n type: String,\n \"default\": 'blank'\n },\n multiple: {\n type: Boolean,\n \"default\": false\n },\n loading: {\n type: Boolean,\n \"default\": false\n },\n variant: {\n type: String,\n \"default\": null\n },\n invalid: {\n type: Boolean,\n \"default\": false\n },\n disabled: {\n type: Boolean,\n \"default\": false\n },\n placeholder: {\n type: String,\n \"default\": null\n },\n dataKey: {\n type: String,\n \"default\": null\n },\n minLength: {\n type: Number,\n \"default\": 1\n },\n delay: {\n type: Number,\n \"default\": 300\n },\n appendTo: {\n type: [String, Object],\n \"default\": 'body'\n },\n forceSelection: {\n type: Boolean,\n \"default\": false\n },\n completeOnFocus: {\n type: Boolean,\n \"default\": false\n },\n inputId: {\n type: String,\n \"default\": null\n },\n inputStyle: {\n type: Object,\n \"default\": null\n },\n inputClass: {\n type: [String, Object],\n \"default\": null\n },\n panelStyle: {\n type: Object,\n \"default\": null\n },\n panelClass: {\n type: [String, Object],\n \"default\": null\n },\n overlayStyle: {\n type: Object,\n \"default\": null\n },\n overlayClass: {\n type: [String, Object],\n \"default\": null\n },\n dropdownIcon: {\n type: String,\n \"default\": null\n },\n dropdownClass: {\n type: [String, Object],\n \"default\": null\n },\n loader: {\n type: String,\n \"default\": null\n },\n loadingIcon: {\n type: String,\n \"default\": null\n },\n removeTokenIcon: {\n type: String,\n \"default\": null\n },\n chipIcon: {\n type: String,\n \"default\": null\n },\n virtualScrollerOptions: {\n type: Object,\n \"default\": null\n },\n autoOptionFocus: {\n type: Boolean,\n \"default\": false\n },\n selectOnFocus: {\n type: Boolean,\n \"default\": false\n },\n focusOnHover: {\n type: Boolean,\n \"default\": true\n },\n searchLocale: {\n type: String,\n \"default\": undefined\n },\n searchMessage: {\n type: String,\n \"default\": null\n },\n selectionMessage: {\n type: String,\n \"default\": null\n },\n emptySelectionMessage: {\n type: String,\n \"default\": null\n },\n emptySearchMessage: {\n type: String,\n \"default\": null\n },\n tabindex: {\n type: Number,\n \"default\": 0\n },\n typeahead: {\n type: Boolean,\n \"default\": true\n },\n ariaLabel: {\n type: String,\n \"default\": null\n },\n ariaLabelledby: {\n type: String,\n \"default\": null\n },\n fluid: {\n type: Boolean,\n \"default\": null\n }\n },\n style: AutoCompleteStyle,\n provide: function provide() {\n return {\n $pcAutoComplete: this,\n $parentInstance: this\n };\n }\n};\n\nfunction _typeof$1(o) { \"@babel/helpers - typeof\"; return _typeof$1 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof$1(o); }\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _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.\"); }\nfunction _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; } }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _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; }\nvar script = {\n name: 'AutoComplete',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['update:modelValue', 'change', 'focus', 'blur', 'item-select', 'item-unselect', 'option-select', 'option-unselect', 'dropdown-click', 'clear', 'complete', 'before-show', 'before-hide', 'show', 'hide'],\n inject: {\n $pcFluid: {\n \"default\": null\n }\n },\n outsideClickListener: null,\n resizeListener: null,\n scrollHandler: null,\n overlay: null,\n virtualScroller: null,\n searchTimeout: null,\n dirty: false,\n data: function data() {\n return {\n id: this.$attrs.id,\n clicked: false,\n focused: false,\n focusedOptionIndex: -1,\n focusedMultipleOptionIndex: -1,\n overlayVisible: false,\n searching: false\n };\n },\n watch: {\n '$attrs.id': function $attrsId(newValue) {\n this.id = newValue || UniqueComponentId();\n },\n suggestions: function suggestions() {\n if (this.searching) {\n this.show();\n this.focusedOptionIndex = this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n this.searching = false;\n }\n this.autoUpdateModel();\n }\n },\n mounted: function mounted() {\n this.id = this.id || UniqueComponentId();\n this.autoUpdateModel();\n },\n updated: function updated() {\n if (this.overlayVisible) {\n this.alignOverlay();\n }\n },\n beforeUnmount: function beforeUnmount() {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n if (this.overlay) {\n ZIndex.clear(this.overlay);\n this.overlay = null;\n }\n },\n methods: {\n getOptionIndex: function getOptionIndex(index, fn) {\n return this.virtualScrollerDisabled ? index : fn && fn(index)['index'];\n },\n getOptionLabel: function getOptionLabel(option) {\n return this.optionLabel ? resolveFieldData(option, this.optionLabel) : option;\n },\n getOptionValue: function getOptionValue(option) {\n return option; // TODO: The 'optionValue' properties can be added.\n },\n getOptionRenderKey: function getOptionRenderKey(option, index) {\n return (this.dataKey ? resolveFieldData(option, this.dataKey) : this.getOptionLabel(option)) + '_' + index;\n },\n getPTOptions: function getPTOptions(option, itemOptions, index, key) {\n return this.ptm(key, {\n context: {\n selected: this.isSelected(option),\n focused: this.focusedOptionIndex === this.getOptionIndex(index, itemOptions),\n disabled: this.isOptionDisabled(option)\n }\n });\n },\n isOptionDisabled: function isOptionDisabled(option) {\n return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : false;\n },\n isOptionGroup: function isOptionGroup(option) {\n return this.optionGroupLabel && option.optionGroup && option.group;\n },\n getOptionGroupLabel: function getOptionGroupLabel(optionGroup) {\n return resolveFieldData(optionGroup, this.optionGroupLabel);\n },\n getOptionGroupChildren: function getOptionGroupChildren(optionGroup) {\n return resolveFieldData(optionGroup, this.optionGroupChildren);\n },\n getAriaPosInset: function getAriaPosInset(index) {\n var _this = this;\n return (this.optionGroupLabel ? index - this.visibleOptions.slice(0, index).filter(function (option) {\n return _this.isOptionGroup(option);\n }).length : index) + 1;\n },\n show: function show(isFocus) {\n this.$emit('before-show');\n this.dirty = true;\n this.overlayVisible = true;\n this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n isFocus && focus(this.multiple ? this.$refs.focusInput : this.$refs.focusInput.$el);\n },\n hide: function hide(isFocus) {\n var _this2 = this;\n var _hide = function _hide() {\n _this2.$emit('before-hide');\n _this2.dirty = isFocus;\n _this2.overlayVisible = false;\n _this2.clicked = false;\n _this2.focusedOptionIndex = -1;\n isFocus && focus(_this2.multiple ? _this2.$refs.focusInput : _this2.$refs.focusInput.$el);\n };\n setTimeout(function () {\n _hide();\n }, 0); // For ScreenReaders\n },\n onFocus: function onFocus(event) {\n if (this.disabled) {\n // For ScreenReaders\n return;\n }\n if (!this.dirty && this.completeOnFocus) {\n this.search(event, event.target.value, 'focus');\n }\n this.dirty = true;\n this.focused = true;\n if (this.overlayVisible) {\n this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n this.scrollInView(this.focusedOptionIndex);\n }\n this.$emit('focus', event);\n },\n onBlur: function onBlur(event) {\n this.dirty = false;\n this.focused = false;\n this.focusedOptionIndex = -1;\n this.$emit('blur', event);\n },\n onKeyDown: function onKeyDown(event) {\n if (this.disabled) {\n event.preventDefault();\n return;\n }\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n case 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n case 'ArrowRight':\n this.onArrowRightKey(event);\n break;\n case 'Home':\n this.onHomeKey(event);\n break;\n case 'End':\n this.onEndKey(event);\n break;\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n case 'Escape':\n this.onEscapeKey(event);\n break;\n case 'Tab':\n this.onTabKey(event);\n break;\n case 'Backspace':\n this.onBackspaceKey(event);\n break;\n }\n this.clicked = false;\n },\n onInput: function onInput(event) {\n var _this3 = this;\n if (this.typeahead) {\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n var query = event.target.value;\n if (!this.multiple) {\n this.updateModel(event, query);\n }\n if (query.length === 0) {\n this.hide();\n this.$emit('clear');\n } else {\n if (query.length >= this.minLength) {\n this.focusedOptionIndex = -1;\n this.searchTimeout = setTimeout(function () {\n _this3.search(event, query, 'input');\n }, this.delay);\n } else {\n this.hide();\n }\n }\n }\n },\n onChange: function onChange(event) {\n var _this4 = this;\n if (this.forceSelection) {\n var valid = false;\n\n // when forceSelection is on, prevent called twice onOptionSelect()\n if (this.visibleOptions && !this.multiple) {\n var value = this.multiple ? this.$refs.focusInput.value : this.$refs.focusInput.$el.value;\n var matchedValue = this.visibleOptions.find(function (option) {\n return _this4.isOptionMatched(option, value || '');\n });\n if (matchedValue !== undefined) {\n valid = true;\n !this.isSelected(matchedValue) && this.onOptionSelect(event, matchedValue);\n }\n }\n if (!valid) {\n if (this.multiple) this.$refs.focusInput.value = '';else this.$refs.focusInput.$el.value = '';\n this.$emit('clear');\n !this.multiple && this.updateModel(event, null);\n }\n }\n },\n onMultipleContainerFocus: function onMultipleContainerFocus() {\n if (this.disabled) {\n // For ScreenReaders\n return;\n }\n this.focused = true;\n },\n onMultipleContainerBlur: function onMultipleContainerBlur() {\n this.focusedMultipleOptionIndex = -1;\n this.focused = false;\n },\n onMultipleContainerKeyDown: function onMultipleContainerKeyDown(event) {\n if (this.disabled) {\n event.preventDefault();\n return;\n }\n switch (event.code) {\n case 'ArrowLeft':\n this.onArrowLeftKeyOnMultiple(event);\n break;\n case 'ArrowRight':\n this.onArrowRightKeyOnMultiple(event);\n break;\n case 'Backspace':\n this.onBackspaceKeyOnMultiple(event);\n break;\n }\n },\n onContainerClick: function onContainerClick(event) {\n this.clicked = true;\n if (this.disabled || this.searching || this.loading || this.isDropdownClicked(event)) {\n return;\n }\n if (!this.overlay || !this.overlay.contains(event.target)) {\n focus(this.multiple ? this.$refs.focusInput : this.$refs.focusInput.$el);\n }\n },\n onDropdownClick: function onDropdownClick(event) {\n var query = undefined;\n if (this.overlayVisible) {\n this.hide(true);\n } else {\n var target = this.multiple ? this.$refs.focusInput : this.$refs.focusInput.$el;\n focus(target);\n query = target.value;\n if (this.dropdownMode === 'blank') this.search(event, '', 'dropdown');else if (this.dropdownMode === 'current') this.search(event, query, 'dropdown');\n }\n this.$emit('dropdown-click', {\n originalEvent: event,\n query: query\n });\n },\n onOptionSelect: function onOptionSelect(event, option) {\n var isHide = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var value = this.getOptionValue(option);\n if (this.multiple) {\n this.$refs.focusInput.value = '';\n if (!this.isSelected(option)) {\n this.updateModel(event, [].concat(_toConsumableArray(this.modelValue || []), [value]));\n }\n } else {\n this.updateModel(event, value);\n }\n this.$emit('item-select', {\n originalEvent: event,\n value: option\n });\n this.$emit('option-select', {\n originalEvent: event,\n value: option\n });\n isHide && this.hide(true);\n },\n onOptionMouseMove: function onOptionMouseMove(event, index) {\n if (this.focusOnHover) {\n this.changeFocusedOptionIndex(event, index);\n }\n },\n onOverlayClick: function onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.$el\n });\n },\n onOverlayKeyDown: function onOverlayKeyDown(event) {\n switch (event.code) {\n case 'Escape':\n this.onEscapeKey(event);\n break;\n }\n },\n onArrowDownKey: function onArrowDownKey(event) {\n if (!this.overlayVisible) {\n return;\n }\n var optionIndex = this.focusedOptionIndex !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex) : this.clicked ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex();\n this.changeFocusedOptionIndex(event, optionIndex);\n event.preventDefault();\n },\n onArrowUpKey: function onArrowUpKey(event) {\n if (!this.overlayVisible) {\n return;\n }\n if (event.altKey) {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n this.overlayVisible && this.hide();\n event.preventDefault();\n } else {\n var optionIndex = this.focusedOptionIndex !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex) : this.clicked ? this.findLastOptionIndex() : this.findLastFocusedOptionIndex();\n this.changeFocusedOptionIndex(event, optionIndex);\n event.preventDefault();\n }\n },\n onArrowLeftKey: function onArrowLeftKey(event) {\n var target = event.currentTarget;\n this.focusedOptionIndex = -1;\n if (this.multiple) {\n if (isEmpty(target.value) && this.hasSelectedOption) {\n focus(this.$refs.multiContainer);\n this.focusedMultipleOptionIndex = this.modelValue.length;\n } else {\n event.stopPropagation(); // To prevent onArrowLeftKeyOnMultiple method\n }\n }\n },\n onArrowRightKey: function onArrowRightKey(event) {\n this.focusedOptionIndex = -1;\n this.multiple && event.stopPropagation(); // To prevent onArrowRightKeyOnMultiple method\n },\n onHomeKey: function onHomeKey(event) {\n var currentTarget = event.currentTarget;\n var len = currentTarget.value.length;\n currentTarget.setSelectionRange(0, event.shiftKey ? len : 0);\n this.focusedOptionIndex = -1;\n event.preventDefault();\n },\n onEndKey: function onEndKey(event) {\n var currentTarget = event.currentTarget;\n var len = currentTarget.value.length;\n currentTarget.setSelectionRange(event.shiftKey ? 0 : len, len);\n this.focusedOptionIndex = -1;\n event.preventDefault();\n },\n onPageUpKey: function onPageUpKey(event) {\n this.scrollInView(0);\n event.preventDefault();\n },\n onPageDownKey: function onPageDownKey(event) {\n this.scrollInView(this.visibleOptions.length - 1);\n event.preventDefault();\n },\n onEnterKey: function onEnterKey(event) {\n if (!this.typeahead) {\n if (this.multiple) {\n this.updateModel(event, [].concat(_toConsumableArray(this.modelValue || []), [event.target.value]));\n this.$refs.focusInput.value = '';\n }\n } else {\n if (!this.overlayVisible) {\n this.focusedOptionIndex = -1; // reset\n this.onArrowDownKey(event);\n } else {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n this.hide();\n }\n }\n },\n onEscapeKey: function onEscapeKey(event) {\n this.overlayVisible && this.hide(true);\n event.preventDefault();\n },\n onTabKey: function onTabKey(event) {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n this.overlayVisible && this.hide();\n },\n onBackspaceKey: function onBackspaceKey(event) {\n if (this.multiple) {\n if (isNotEmpty(this.modelValue) && !this.$refs.focusInput.value) {\n var removedValue = this.modelValue[this.modelValue.length - 1];\n var newValue = this.modelValue.slice(0, -1);\n this.$emit('update:modelValue', newValue);\n this.$emit('item-unselect', {\n originalEvent: event,\n value: removedValue\n });\n this.$emit('option-unselect', {\n originalEvent: event,\n value: removedValue\n });\n }\n event.stopPropagation(); // To prevent onBackspaceKeyOnMultiple method\n }\n },\n onArrowLeftKeyOnMultiple: function onArrowLeftKeyOnMultiple() {\n this.focusedMultipleOptionIndex = this.focusedMultipleOptionIndex < 1 ? 0 : this.focusedMultipleOptionIndex - 1;\n },\n onArrowRightKeyOnMultiple: function onArrowRightKeyOnMultiple() {\n this.focusedMultipleOptionIndex++;\n if (this.focusedMultipleOptionIndex > this.modelValue.length - 1) {\n this.focusedMultipleOptionIndex = -1;\n focus(this.$refs.focusInput);\n }\n },\n onBackspaceKeyOnMultiple: function onBackspaceKeyOnMultiple(event) {\n if (this.focusedMultipleOptionIndex !== -1) {\n this.removeOption(event, this.focusedMultipleOptionIndex);\n }\n },\n onOverlayEnter: function onOverlayEnter(el) {\n ZIndex.set('overlay', el, this.$primevue.config.zIndex.overlay);\n addStyle(el, {\n position: 'absolute',\n top: '0',\n left: '0'\n });\n this.alignOverlay();\n },\n onOverlayAfterEnter: function onOverlayAfterEnter() {\n this.bindOutsideClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n this.$emit('show');\n },\n onOverlayLeave: function onOverlayLeave() {\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n this.$emit('hide');\n this.overlay = null;\n },\n onOverlayAfterLeave: function onOverlayAfterLeave(el) {\n ZIndex.clear(el);\n },\n alignOverlay: function alignOverlay() {\n var target = this.multiple ? this.$refs.multiContainer : this.$refs.focusInput.$el;\n if (this.appendTo === 'self') {\n relativePosition(this.overlay, target);\n } else {\n this.overlay.style.minWidth = getOuterWidth(target) + 'px';\n absolutePosition(this.overlay, target);\n }\n },\n bindOutsideClickListener: function bindOutsideClickListener() {\n var _this5 = this;\n if (!this.outsideClickListener) {\n this.outsideClickListener = function (event) {\n if (_this5.overlayVisible && _this5.overlay && _this5.isOutsideClicked(event)) {\n _this5.hide();\n }\n };\n document.addEventListener('click', this.outsideClickListener);\n }\n },\n unbindOutsideClickListener: function unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener: function bindScrollListener() {\n var _this6 = this;\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.container, function () {\n if (_this6.overlayVisible) {\n _this6.hide();\n }\n });\n }\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener: function unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener: function bindResizeListener() {\n var _this7 = this;\n if (!this.resizeListener) {\n this.resizeListener = function () {\n if (_this7.overlayVisible && !isTouchDevice()) {\n _this7.hide();\n }\n };\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener: function unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n isOutsideClicked: function isOutsideClicked(event) {\n return !this.overlay.contains(event.target) && !this.isInputClicked(event) && !this.isDropdownClicked(event);\n },\n isInputClicked: function isInputClicked(event) {\n if (this.multiple) return event.target === this.$refs.multiContainer || this.$refs.multiContainer.contains(event.target);else return event.target === this.$refs.focusInput.$el;\n },\n isDropdownClicked: function isDropdownClicked(event) {\n return this.$refs.dropdownButton ? event.target === this.$refs.dropdownButton || this.$refs.dropdownButton.contains(event.target) : false;\n },\n isOptionMatched: function isOptionMatched(option, value) {\n var _this$getOptionLabel;\n return this.isValidOption(option) && ((_this$getOptionLabel = this.getOptionLabel(option)) === null || _this$getOptionLabel === void 0 ? void 0 : _this$getOptionLabel.toLocaleLowerCase(this.searchLocale)) === value.toLocaleLowerCase(this.searchLocale);\n },\n isValidOption: function isValidOption(option) {\n return isNotEmpty(option) && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n },\n isValidSelectedOption: function isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n },\n isEquals: function isEquals(value1, value2) {\n return equals(value1, value2, this.equalityKey);\n },\n isSelected: function isSelected(option) {\n var _this8 = this;\n var optionValue = this.getOptionValue(option);\n return this.multiple ? (this.modelValue || []).some(function (value) {\n return _this8.isEquals(value, optionValue);\n }) : this.isEquals(this.modelValue, this.getOptionValue(option));\n },\n findFirstOptionIndex: function findFirstOptionIndex() {\n var _this9 = this;\n return this.visibleOptions.findIndex(function (option) {\n return _this9.isValidOption(option);\n });\n },\n findLastOptionIndex: function findLastOptionIndex() {\n var _this10 = this;\n return findLastIndex(this.visibleOptions, function (option) {\n return _this10.isValidOption(option);\n });\n },\n findNextOptionIndex: function findNextOptionIndex(index) {\n var _this11 = this;\n var matchedOptionIndex = index < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index + 1).findIndex(function (option) {\n return _this11.isValidOption(option);\n }) : -1;\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;\n },\n findPrevOptionIndex: function findPrevOptionIndex(index) {\n var _this12 = this;\n var matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions.slice(0, index), function (option) {\n return _this12.isValidOption(option);\n }) : -1;\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n },\n findSelectedOptionIndex: function findSelectedOptionIndex() {\n var _this13 = this;\n return this.hasSelectedOption ? this.visibleOptions.findIndex(function (option) {\n return _this13.isValidSelectedOption(option);\n }) : -1;\n },\n findFirstFocusedOptionIndex: function findFirstFocusedOptionIndex() {\n var selectedIndex = this.findSelectedOptionIndex();\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n },\n findLastFocusedOptionIndex: function findLastFocusedOptionIndex() {\n var selectedIndex = this.findSelectedOptionIndex();\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n },\n search: function search(event, query, source) {\n //allow empty string but not undefined or null\n if (query === undefined || query === null) {\n return;\n }\n\n //do not search blank values on input change\n if (source === 'input' && query.trim().length === 0) {\n return;\n }\n this.searching = true;\n this.$emit('complete', {\n originalEvent: event,\n query: query\n });\n },\n removeOption: function removeOption(event, index) {\n var _this14 = this;\n var removedOption = this.modelValue[index];\n var value = this.modelValue.filter(function (_, i) {\n return i !== index;\n }).map(function (option) {\n return _this14.getOptionValue(option);\n });\n this.updateModel(event, value);\n this.$emit('item-unselect', {\n originalEvent: event,\n value: removedOption\n });\n this.$emit('option-unselect', {\n originalEvent: event,\n value: removedOption\n });\n this.dirty = true;\n focus(this.multiple ? this.$refs.focusInput : this.$refs.focusInput.$el);\n },\n changeFocusedOptionIndex: function changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex !== index) {\n this.focusedOptionIndex = index;\n this.scrollInView();\n if (this.selectOnFocus) {\n this.onOptionSelect(event, this.visibleOptions[index], false);\n }\n }\n },\n scrollInView: function scrollInView() {\n var _this15 = this;\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;\n this.$nextTick(function () {\n var id = index !== -1 ? \"\".concat(_this15.id, \"_\").concat(index) : _this15.focusedOptionId;\n var element = findSingle(_this15.list, \"li[id=\\\"\".concat(id, \"\\\"]\"));\n if (element) {\n element.scrollIntoView && element.scrollIntoView({\n block: 'nearest',\n inline: 'start'\n });\n } else if (!_this15.virtualScrollerDisabled) {\n _this15.virtualScroller && _this15.virtualScroller.scrollToIndex(index !== -1 ? index : _this15.focusedOptionIndex);\n }\n });\n },\n autoUpdateModel: function autoUpdateModel() {\n if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption) {\n this.focusedOptionIndex = this.findFirstFocusedOptionIndex();\n this.onOptionSelect(null, this.visibleOptions[this.focusedOptionIndex], false);\n }\n },\n updateModel: function updateModel(event, value) {\n this.$emit('update:modelValue', value);\n this.$emit('change', {\n originalEvent: event,\n value: value\n });\n },\n flatOptions: function flatOptions(options) {\n var _this16 = this;\n return (options || []).reduce(function (result, option, index) {\n result.push({\n optionGroup: option,\n group: true,\n index: index\n });\n var optionGroupChildren = _this16.getOptionGroupChildren(option);\n optionGroupChildren && optionGroupChildren.forEach(function (o) {\n return result.push(o);\n });\n return result;\n }, []);\n },\n overlayRef: function overlayRef(el) {\n this.overlay = el;\n },\n listRef: function listRef(el, contentRef) {\n this.list = el;\n contentRef && contentRef(el); // For VirtualScroller\n },\n virtualScrollerRef: function virtualScrollerRef(el) {\n this.virtualScroller = el;\n }\n },\n computed: {\n visibleOptions: function visibleOptions() {\n return this.optionGroupLabel ? this.flatOptions(this.suggestions) : this.suggestions || [];\n },\n inputValue: function inputValue() {\n if (isNotEmpty(this.modelValue)) {\n if (_typeof$1(this.modelValue) === 'object') {\n var label = this.getOptionLabel(this.modelValue);\n return label != null ? label : this.modelValue;\n } else {\n return this.modelValue;\n }\n } else {\n return '';\n }\n },\n hasSelectedOption: function hasSelectedOption() {\n return isNotEmpty(this.modelValue);\n },\n equalityKey: function equalityKey() {\n return this.dataKey; // TODO: The 'optionValue' properties can be added.\n },\n searchResultMessageText: function searchResultMessageText() {\n return isNotEmpty(this.visibleOptions) && this.overlayVisible ? this.searchMessageText.replaceAll('{0}', this.visibleOptions.length) : this.emptySearchMessageText;\n },\n searchMessageText: function searchMessageText() {\n return this.searchMessage || this.$primevue.config.locale.searchMessage || '';\n },\n emptySearchMessageText: function emptySearchMessageText() {\n return this.emptySearchMessage || this.$primevue.config.locale.emptySearchMessage || '';\n },\n selectionMessageText: function selectionMessageText() {\n return this.selectionMessage || this.$primevue.config.locale.selectionMessage || '';\n },\n emptySelectionMessageText: function emptySelectionMessageText() {\n return this.emptySelectionMessage || this.$primevue.config.locale.emptySelectionMessage || '';\n },\n selectedMessageText: function selectedMessageText() {\n return this.hasSelectedOption ? this.selectionMessageText.replaceAll('{0}', this.multiple ? this.modelValue.length : '1') : this.emptySelectionMessageText;\n },\n listAriaLabel: function listAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.listLabel : undefined;\n },\n focusedOptionId: function focusedOptionId() {\n return this.focusedOptionIndex !== -1 ? \"\".concat(this.id, \"_\").concat(this.focusedOptionIndex) : null;\n },\n focusedMultipleOptionId: function focusedMultipleOptionId() {\n return this.focusedMultipleOptionIndex !== -1 ? \"\".concat(this.id, \"_multiple_option_\").concat(this.focusedMultipleOptionIndex) : null;\n },\n ariaSetSize: function ariaSetSize() {\n var _this17 = this;\n return this.visibleOptions.filter(function (option) {\n return !_this17.isOptionGroup(option);\n }).length;\n },\n virtualScrollerDisabled: function virtualScrollerDisabled() {\n return !this.virtualScrollerOptions;\n },\n panelId: function panelId() {\n return this.id + '_panel';\n },\n hasFluid: function hasFluid() {\n return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid;\n }\n },\n components: {\n InputText: InputText,\n VirtualScroller: VirtualScroller,\n Portal: Portal,\n ChevronDownIcon: ChevronDownIcon,\n SpinnerIcon: SpinnerIcon,\n Chip: Chip\n },\n directives: {\n ripple: Ripple\n }\n};\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _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); }\nvar _hoisted_1 = [\"aria-activedescendant\"];\nvar _hoisted_2 = [\"id\", \"aria-label\", \"aria-setsize\", \"aria-posinset\"];\nvar _hoisted_3 = [\"id\", \"placeholder\", \"tabindex\", \"disabled\", \"aria-label\", \"aria-labelledby\", \"aria-expanded\", \"aria-controls\", \"aria-activedescendant\", \"aria-invalid\"];\nvar _hoisted_4 = [\"disabled\", \"aria-expanded\", \"aria-controls\"];\nvar _hoisted_5 = [\"id\"];\nvar _hoisted_6 = [\"id\", \"aria-label\"];\nvar _hoisted_7 = [\"id\"];\nvar _hoisted_8 = [\"id\", \"aria-label\", \"aria-selected\", \"aria-disabled\", \"aria-setsize\", \"aria-posinset\", \"onClick\", \"onMousemove\", \"data-p-selected\", \"data-p-focus\", \"data-p-disabled\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_InputText = resolveComponent(\"InputText\");\n var _component_Chip = resolveComponent(\"Chip\");\n var _component_SpinnerIcon = resolveComponent(\"SpinnerIcon\");\n var _component_VirtualScroller = resolveComponent(\"VirtualScroller\");\n var _component_Portal = resolveComponent(\"Portal\");\n var _directive_ripple = resolveDirective(\"ripple\");\n return openBlock(), createElementBlock(\"div\", mergeProps({\n ref: \"container\",\n \"class\": _ctx.cx('root'),\n style: _ctx.sx('root'),\n onClick: _cache[11] || (_cache[11] = function () {\n return $options.onContainerClick && $options.onContainerClick.apply($options, arguments);\n })\n }, _ctx.ptmi('root')), [!_ctx.multiple ? (openBlock(), createBlock(_component_InputText, {\n key: 0,\n ref: \"focusInput\",\n id: _ctx.inputId,\n type: \"text\",\n \"class\": normalizeClass([_ctx.cx('pcInputText'), _ctx.inputClass]),\n style: normalizeStyle(_ctx.inputStyle),\n value: $options.inputValue,\n placeholder: _ctx.placeholder,\n tabindex: !_ctx.disabled ? _ctx.tabindex : -1,\n fluid: $options.hasFluid,\n disabled: _ctx.disabled,\n invalid: _ctx.invalid,\n variant: _ctx.variant,\n autocomplete: \"off\",\n role: \"combobox\",\n \"aria-label\": _ctx.ariaLabel,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-haspopup\": \"listbox\",\n \"aria-autocomplete\": \"list\",\n \"aria-expanded\": $data.overlayVisible,\n \"aria-controls\": $options.panelId,\n \"aria-activedescendant\": $data.focused ? $options.focusedOptionId : undefined,\n onFocus: $options.onFocus,\n onBlur: $options.onBlur,\n onKeydown: $options.onKeyDown,\n onInput: $options.onInput,\n onChange: $options.onChange,\n unstyled: _ctx.unstyled,\n pt: _ctx.ptm('pcInputText')\n }, 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({\n key: 1,\n ref: \"multiContainer\",\n \"class\": _ctx.cx('inputMultiple'),\n tabindex: \"-1\",\n role: \"listbox\",\n \"aria-orientation\": \"horizontal\",\n \"aria-activedescendant\": $data.focused ? $options.focusedMultipleOptionId : undefined,\n onFocus: _cache[5] || (_cache[5] = function () {\n return $options.onMultipleContainerFocus && $options.onMultipleContainerFocus.apply($options, arguments);\n }),\n onBlur: _cache[6] || (_cache[6] = function () {\n return $options.onMultipleContainerBlur && $options.onMultipleContainerBlur.apply($options, arguments);\n }),\n onKeydown: _cache[7] || (_cache[7] = function () {\n return $options.onMultipleContainerKeyDown && $options.onMultipleContainerKeyDown.apply($options, arguments);\n })\n }, _ctx.ptm('inputMultiple')), [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.modelValue, function (option, i) {\n return openBlock(), createElementBlock(\"li\", mergeProps({\n key: \"\".concat(i, \"_\").concat($options.getOptionLabel(option)),\n id: $data.id + '_multiple_option_' + i,\n \"class\": _ctx.cx('chipItem', {\n i: i\n }),\n role: \"option\",\n \"aria-label\": $options.getOptionLabel(option),\n \"aria-selected\": true,\n \"aria-setsize\": _ctx.modelValue.length,\n \"aria-posinset\": i + 1,\n ref_for: true\n }, _ctx.ptm('chipItem')), [renderSlot(_ctx.$slots, \"chip\", mergeProps({\n \"class\": _ctx.cx('pcChip'),\n value: option,\n index: i,\n removeCallback: function removeCallback(event) {\n return $options.removeOption(event, i);\n },\n ref_for: true\n }, _ctx.ptm('pcChip')), function () {\n return [createVNode(_component_Chip, {\n \"class\": normalizeClass(_ctx.cx('pcChip')),\n label: $options.getOptionLabel(option),\n removeIcon: _ctx.chipIcon || _ctx.removeTokenIcon,\n removable: \"\",\n unstyled: _ctx.unstyled,\n onRemove: function onRemove($event) {\n return $options.removeOption($event, i);\n },\n pt: _ctx.ptm('pcChip')\n }, {\n removeicon: withCtx(function () {\n return [renderSlot(_ctx.$slots, _ctx.$slots.chipicon ? 'chipicon' : 'removetokenicon', {\n \"class\": normalizeClass(_ctx.cx('chipIcon')),\n index: i,\n removeCallback: function removeCallback(event) {\n return $options.removeOption(event, i);\n }\n })];\n }),\n _: 2\n }, 1032, [\"class\", \"label\", \"removeIcon\", \"unstyled\", \"onRemove\", \"pt\"])];\n })], 16, _hoisted_2);\n }), 128)), createElementVNode(\"li\", mergeProps({\n \"class\": _ctx.cx('inputChip'),\n role: \"option\"\n }, _ctx.ptm('inputChip')), [createElementVNode(\"input\", mergeProps({\n ref: \"focusInput\",\n id: _ctx.inputId,\n type: \"text\",\n style: _ctx.inputStyle,\n \"class\": _ctx.inputClass,\n placeholder: _ctx.placeholder,\n tabindex: !_ctx.disabled ? _ctx.tabindex : -1,\n disabled: _ctx.disabled,\n autocomplete: \"off\",\n role: \"combobox\",\n \"aria-label\": _ctx.ariaLabel,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-haspopup\": \"listbox\",\n \"aria-autocomplete\": \"list\",\n \"aria-expanded\": $data.overlayVisible,\n \"aria-controls\": $data.id + '_list',\n \"aria-activedescendant\": $data.focused ? $options.focusedOptionId : undefined,\n \"aria-invalid\": _ctx.invalid || undefined,\n onFocus: _cache[0] || (_cache[0] = function () {\n return $options.onFocus && $options.onFocus.apply($options, arguments);\n }),\n onBlur: _cache[1] || (_cache[1] = function () {\n return $options.onBlur && $options.onBlur.apply($options, arguments);\n }),\n onKeydown: _cache[2] || (_cache[2] = function () {\n return $options.onKeyDown && $options.onKeyDown.apply($options, arguments);\n }),\n onInput: _cache[3] || (_cache[3] = function () {\n return $options.onInput && $options.onInput.apply($options, arguments);\n }),\n onChange: _cache[4] || (_cache[4] = function () {\n return $options.onChange && $options.onChange.apply($options, arguments);\n })\n }, _ctx.ptm('input')), null, 16, _hoisted_3)], 16)], 16, _hoisted_1)) : createCommentVNode(\"\", true), $data.searching || _ctx.loading ? renderSlot(_ctx.$slots, _ctx.$slots.loader ? 'loader' : 'loadingicon', {\n key: 2,\n \"class\": normalizeClass(_ctx.cx('loader'))\n }, function () {\n return [_ctx.loader || _ctx.loadingIcon ? (openBlock(), createElementBlock(\"i\", mergeProps({\n key: 0,\n \"class\": ['pi-spin', _ctx.cx('loader'), _ctx.loader, _ctx.loadingIcon],\n \"aria-hidden\": \"true\"\n }, _ctx.ptm('loader')), null, 16)) : (openBlock(), createBlock(_component_SpinnerIcon, mergeProps({\n key: 1,\n \"class\": _ctx.cx('loader'),\n spin: \"\",\n \"aria-hidden\": \"true\"\n }, _ctx.ptm('loader')), null, 16, [\"class\"]))];\n }) : createCommentVNode(\"\", true), renderSlot(_ctx.$slots, _ctx.$slots.dropdown ? 'dropdown' : 'dropdownbutton', {\n toggleCallback: function toggleCallback(event) {\n return $options.onDropdownClick(event);\n }\n }, function () {\n return [_ctx.dropdown ? (openBlock(), createElementBlock(\"button\", mergeProps({\n key: 0,\n ref: \"dropdownButton\",\n type: \"button\",\n \"class\": [_ctx.cx('dropdown'), _ctx.dropdownClass],\n disabled: _ctx.disabled,\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": $data.overlayVisible,\n \"aria-controls\": $options.panelId,\n onClick: _cache[8] || (_cache[8] = function () {\n return $options.onDropdownClick && $options.onDropdownClick.apply($options, arguments);\n })\n }, _ctx.ptm('dropdown')), [renderSlot(_ctx.$slots, \"dropdownicon\", {\n \"class\": normalizeClass(_ctx.dropdownIcon)\n }, function () {\n return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.dropdownIcon ? 'span' : 'ChevronDownIcon'), mergeProps({\n \"class\": _ctx.dropdownIcon\n }, _ctx.ptm('dropdownIcon')), null, 16, [\"class\"]))];\n })], 16, _hoisted_4)) : createCommentVNode(\"\", true)];\n }), createElementVNode(\"span\", mergeProps({\n role: \"status\",\n \"aria-live\": \"polite\",\n \"class\": \"p-hidden-accessible\"\n }, _ctx.ptm('hiddenSearchResult'), {\n \"data-p-hidden-accessible\": true\n }), toDisplayString($options.searchResultMessageText), 17), createVNode(_component_Portal, {\n appendTo: _ctx.appendTo\n }, {\n \"default\": withCtx(function () {\n return [createVNode(Transition, mergeProps({\n name: \"p-connected-overlay\",\n onEnter: $options.onOverlayEnter,\n onAfterEnter: $options.onOverlayAfterEnter,\n onLeave: $options.onOverlayLeave,\n onAfterLeave: $options.onOverlayAfterLeave\n }, _ctx.ptm('transition')), {\n \"default\": withCtx(function () {\n return [$data.overlayVisible ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n ref: $options.overlayRef,\n id: $options.panelId,\n \"class\": [_ctx.cx('overlay'), _ctx.panelClass, _ctx.overlayClass],\n style: _objectSpread(_objectSpread({}, _ctx.panelStyle), _ctx.overlayStyle),\n onClick: _cache[9] || (_cache[9] = function () {\n return $options.onOverlayClick && $options.onOverlayClick.apply($options, arguments);\n }),\n onKeydown: _cache[10] || (_cache[10] = function () {\n return $options.onOverlayKeyDown && $options.onOverlayKeyDown.apply($options, arguments);\n })\n }, _ctx.ptm('overlay')), [renderSlot(_ctx.$slots, \"header\", {\n value: _ctx.modelValue,\n suggestions: $options.visibleOptions\n }), createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('listContainer'),\n style: {\n 'max-height': $options.virtualScrollerDisabled ? _ctx.scrollHeight : ''\n }\n }, _ctx.ptm('listContainer')), [createVNode(_component_VirtualScroller, mergeProps({\n ref: $options.virtualScrollerRef\n }, _ctx.virtualScrollerOptions, {\n style: {\n height: _ctx.scrollHeight\n },\n items: $options.visibleOptions,\n tabindex: -1,\n disabled: $options.virtualScrollerDisabled,\n pt: _ctx.ptm('virtualScroller')\n }), createSlots({\n content: withCtx(function (_ref) {\n var styleClass = _ref.styleClass,\n contentRef = _ref.contentRef,\n items = _ref.items,\n getItemOptions = _ref.getItemOptions,\n contentStyle = _ref.contentStyle,\n itemSize = _ref.itemSize;\n return [createElementVNode(\"ul\", mergeProps({\n ref: function ref(el) {\n return $options.listRef(el, contentRef);\n },\n id: $data.id + '_list',\n \"class\": [_ctx.cx('list'), styleClass],\n style: contentStyle,\n role: \"listbox\",\n \"aria-label\": $options.listAriaLabel\n }, _ctx.ptm('list')), [(openBlock(true), createElementBlock(Fragment, null, renderList(items, function (option, i) {\n return openBlock(), createElementBlock(Fragment, {\n key: $options.getOptionRenderKey(option, $options.getOptionIndex(i, getItemOptions))\n }, [$options.isOptionGroup(option) ? (openBlock(), createElementBlock(\"li\", mergeProps({\n key: 0,\n id: $data.id + '_' + $options.getOptionIndex(i, getItemOptions),\n style: {\n height: itemSize ? itemSize + 'px' : undefined\n },\n \"class\": _ctx.cx('optionGroup'),\n role: \"option\",\n ref_for: true\n }, _ctx.ptm('optionGroup')), [renderSlot(_ctx.$slots, \"optiongroup\", {\n option: option.optionGroup,\n index: $options.getOptionIndex(i, getItemOptions)\n }, function () {\n return [createTextVNode(toDisplayString($options.getOptionGroupLabel(option.optionGroup)), 1)];\n })], 16, _hoisted_7)) : withDirectives((openBlock(), createElementBlock(\"li\", mergeProps({\n key: 1,\n id: $data.id + '_' + $options.getOptionIndex(i, getItemOptions),\n style: {\n height: itemSize ? itemSize + 'px' : undefined\n },\n \"class\": _ctx.cx('option', {\n option: option,\n i: i,\n getItemOptions: getItemOptions\n }),\n role: \"option\",\n \"aria-label\": $options.getOptionLabel(option),\n \"aria-selected\": $options.isSelected(option),\n \"aria-disabled\": $options.isOptionDisabled(option),\n \"aria-setsize\": $options.ariaSetSize,\n \"aria-posinset\": $options.getAriaPosInset($options.getOptionIndex(i, getItemOptions)),\n onClick: function onClick($event) {\n return $options.onOptionSelect($event, option);\n },\n onMousemove: function onMousemove($event) {\n return $options.onOptionMouseMove($event, $options.getOptionIndex(i, getItemOptions));\n },\n \"data-p-selected\": $options.isSelected(option),\n \"data-p-focus\": $data.focusedOptionIndex === $options.getOptionIndex(i, getItemOptions),\n \"data-p-disabled\": $options.isOptionDisabled(option),\n ref_for: true\n }, $options.getPTOptions(option, getItemOptions, i, 'option')), [renderSlot(_ctx.$slots, \"option\", {\n option: option,\n index: $options.getOptionIndex(i, getItemOptions)\n }, function () {\n return [createTextVNode(toDisplayString($options.getOptionLabel(option)), 1)];\n })], 16, _hoisted_8)), [[_directive_ripple]])], 64);\n }), 128)), !items || items && items.length === 0 ? (openBlock(), createElementBlock(\"li\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('emptyMessage'),\n role: \"option\"\n }, _ctx.ptm('emptyMessage')), [renderSlot(_ctx.$slots, \"empty\", {}, function () {\n return [createTextVNode(toDisplayString($options.searchResultMessageText), 1)];\n })], 16)) : createCommentVNode(\"\", true)], 16, _hoisted_6)];\n }),\n _: 2\n }, [_ctx.$slots.loader ? {\n name: \"loader\",\n fn: withCtx(function (_ref2) {\n var options = _ref2.options;\n return [renderSlot(_ctx.$slots, \"loader\", {\n options: options\n })];\n }),\n key: \"0\"\n } : undefined]), 1040, [\"style\", \"items\", \"disabled\", \"pt\"])], 16), renderSlot(_ctx.$slots, \"footer\", {\n value: _ctx.modelValue,\n suggestions: $options.visibleOptions\n }), createElementVNode(\"span\", mergeProps({\n role: \"status\",\n \"aria-live\": \"polite\",\n \"class\": \"p-hidden-accessible\"\n }, _ctx.ptm('hiddenSelectedMessage'), {\n \"data-p-hidden-accessible\": true\n }), toDisplayString($options.selectedMessageText), 17)], 16, _hoisted_5)) : createCommentVNode(\"\", true)];\n }),\n _: 3\n }, 16, [\"onEnter\", \"onAfterEnter\", \"onLeave\", \"onAfterLeave\"])];\n }),\n _: 3\n }, 8, [\"appendTo\"])], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","\n\n","\n\n\n\n\n","\n\n\n\n\n","// @ts-strict-ignore\nimport type {\n ConnectingLink,\n LGraphNode,\n Vector2,\n INodeInputSlot,\n INodeOutputSlot,\n INodeSlot\n} from '@comfyorg/litegraph'\nimport type { ISlotType } from '@comfyorg/litegraph'\nimport { LiteGraph } from '@comfyorg/litegraph'\n\nexport class ConnectingLinkImpl implements ConnectingLink {\n node: LGraphNode\n slot: number\n input: INodeInputSlot | null\n output: INodeOutputSlot | null\n pos: Vector2\n\n constructor(\n node: LGraphNode,\n slot: number,\n input: INodeInputSlot | null,\n output: INodeOutputSlot | null,\n pos: Vector2\n ) {\n this.node = node\n this.slot = slot\n this.input = input\n this.output = output\n this.pos = pos\n }\n\n static createFromPlainObject(obj: ConnectingLink) {\n return new ConnectingLinkImpl(\n obj.node,\n obj.slot,\n obj.input,\n obj.output,\n obj.pos\n )\n }\n\n get type(): ISlotType | null {\n const result = this.input ? this.input.type : this.output.type\n return result === -1 ? null : result\n }\n\n /**\n * Which slot type is release and need to be reconnected.\n * - 'output' means we need a new node's outputs slot to connect with this link\n */\n get releaseSlotType(): 'input' | 'output' {\n return this.output ? 'input' : 'output'\n }\n\n connectTo(newNode: LGraphNode) {\n const newNodeSlots =\n this.releaseSlotType === 'output' ? newNode.outputs : newNode.inputs\n if (!newNodeSlots) return\n\n const newNodeSlot = newNodeSlots.findIndex((slot: INodeSlot) =>\n LiteGraph.isValidConnection(slot.type, this.type)\n )\n\n if (newNodeSlot === -1) {\n console.warn(\n `Could not find slot with type ${this.type} on node ${newNode.title}. This should never happen`\n )\n return\n }\n\n if (this.releaseSlotType === 'input') {\n this.node.connect(this.slot, newNode, newNodeSlot)\n } else {\n newNode.connect(newNodeSlot, this.node, this.slot)\n }\n }\n}\n\nexport type CanvasDragAndDropData = {\n type: 'add-node'\n data: T\n}\n","\n\n\n\n\n","\n\n\n\n\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n _ref.dt;\n 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\";\n};\nvar classes = {\n root: 'p-buttongroup p-component'\n};\nvar ButtonGroupStyle = BaseStyle.extend({\n name: 'buttongroup',\n theme: theme,\n classes: classes\n});\n\nexport { ButtonGroupStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseComponent from '@primevue/core/basecomponent';\nimport ButtonGroupStyle from 'primevue/buttongroup/style';\nimport { openBlock, createElementBlock, mergeProps, renderSlot } from 'vue';\n\nvar script$1 = {\n name: 'BaseButtonGroup',\n \"extends\": BaseComponent,\n style: ButtonGroupStyle,\n provide: function provide() {\n return {\n $pcButtonGroup: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'ButtonGroup',\n \"extends\": script$1,\n inheritAttrs: false\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps({\n \"class\": _ctx.cx('root'),\n role: \"group\"\n }, _ctx.ptmi('root')), [renderSlot(_ctx.$slots, \"default\")], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","\n\n\n\n\n","\n\n\n","import BaseStyle from '@primevue/core/base/style';\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _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); }\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\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-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\");\n};\n\n// Position\nvar inlineStyles = {\n root: function root(_ref2) {\n var position = _ref2.position;\n return {\n position: 'fixed',\n top: position === 'top-right' || position === 'top-left' || position === 'top-center' ? '20px' : position === 'center' ? '50%' : null,\n right: (position === 'top-right' || position === 'bottom-right') && '20px',\n bottom: (position === 'bottom-left' || position === 'bottom-right' || position === 'bottom-center') && '20px',\n left: position === 'top-left' || position === 'bottom-left' ? '20px' : position === 'center' || position === 'top-center' || position === 'bottom-center' ? '50%' : null\n };\n }\n};\nvar classes = {\n root: function root(_ref3) {\n var props = _ref3.props;\n return ['p-toast p-component p-toast-' + props.position];\n },\n message: function message(_ref4) {\n var props = _ref4.props;\n return ['p-toast-message', {\n 'p-toast-message-info': props.message.severity === 'info' || props.message.severity === undefined,\n 'p-toast-message-warn': props.message.severity === 'warn',\n 'p-toast-message-error': props.message.severity === 'error',\n 'p-toast-message-success': props.message.severity === 'success',\n 'p-toast-message-secondary': props.message.severity === 'secondary',\n 'p-toast-message-contrast': props.message.severity === 'contrast'\n }];\n },\n messageContent: 'p-toast-message-content',\n messageIcon: function messageIcon(_ref5) {\n var props = _ref5.props;\n return ['p-toast-message-icon', _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, props.infoIcon, props.message.severity === 'info'), props.warnIcon, props.message.severity === 'warn'), props.errorIcon, props.message.severity === 'error'), props.successIcon, props.message.severity === 'success')];\n },\n messageText: 'p-toast-message-text',\n summary: 'p-toast-summary',\n detail: 'p-toast-detail',\n closeButton: 'p-toast-close-button',\n closeIcon: 'p-toast-close-icon'\n};\nvar ToastStyle = BaseStyle.extend({\n name: 'toast',\n theme: theme,\n classes: classes,\n inlineStyles: inlineStyles\n});\n\nexport { ToastStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'ExclamationTriangleIcon',\n \"extends\": BaseIcon\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _cache[0] || (_cache[0] = [createElementVNode(\"path\", {\n 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\",\n fill: \"currentColor\"\n }, null, -1), createElementVNode(\"path\", {\n 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\",\n fill: \"currentColor\"\n }, null, -1), createElementVNode(\"path\", {\n 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\",\n fill: \"currentColor\"\n }, null, -1)]), 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'InfoCircleIcon',\n \"extends\": BaseIcon\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _cache[0] || (_cache[0] = [createElementVNode(\"path\", {\n \"fill-rule\": \"evenodd\",\n \"clip-rule\": \"evenodd\",\n d: \"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\",\n fill: \"currentColor\"\n }, null, -1)]), 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import { setAttribute } from '@primeuix/utils/dom';\nimport { isEmpty } from '@primeuix/utils/object';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport Portal from 'primevue/portal';\nimport ToastEventBus from 'primevue/toasteventbus';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport ToastStyle from 'primevue/toast/style';\nimport CheckIcon from '@primevue/icons/check';\nimport ExclamationTriangleIcon from '@primevue/icons/exclamationtriangle';\nimport InfoCircleIcon from '@primevue/icons/infocircle';\nimport TimesIcon from '@primevue/icons/times';\nimport TimesCircleIcon from '@primevue/icons/timescircle';\nimport Ripple from 'primevue/ripple';\nimport { resolveDirective, openBlock, createElementBlock, mergeProps, createBlock, resolveDynamicComponent, Fragment, createElementVNode, toDisplayString, normalizeProps, withDirectives, createCommentVNode, resolveComponent, withCtx, createVNode, TransitionGroup, renderList } from 'vue';\n\nvar script$2 = {\n name: 'BaseToast',\n \"extends\": BaseComponent,\n props: {\n group: {\n type: String,\n \"default\": null\n },\n position: {\n type: String,\n \"default\": 'top-right'\n },\n autoZIndex: {\n type: Boolean,\n \"default\": true\n },\n baseZIndex: {\n type: Number,\n \"default\": 0\n },\n breakpoints: {\n type: Object,\n \"default\": null\n },\n closeIcon: {\n type: String,\n \"default\": undefined\n },\n infoIcon: {\n type: String,\n \"default\": undefined\n },\n warnIcon: {\n type: String,\n \"default\": undefined\n },\n errorIcon: {\n type: String,\n \"default\": undefined\n },\n successIcon: {\n type: String,\n \"default\": undefined\n },\n closeButtonProps: {\n type: null,\n \"default\": null\n }\n },\n style: ToastStyle,\n provide: function provide() {\n return {\n $pcToast: this,\n $parentInstance: this\n };\n }\n};\n\nvar script$1 = {\n name: 'ToastMessage',\n hostName: 'Toast',\n \"extends\": BaseComponent,\n emits: ['close'],\n closeTimeout: null,\n props: {\n message: {\n type: null,\n \"default\": null\n },\n templates: {\n type: Object,\n \"default\": null\n },\n closeIcon: {\n type: String,\n \"default\": null\n },\n infoIcon: {\n type: String,\n \"default\": null\n },\n warnIcon: {\n type: String,\n \"default\": null\n },\n errorIcon: {\n type: String,\n \"default\": null\n },\n successIcon: {\n type: String,\n \"default\": null\n },\n closeButtonProps: {\n type: null,\n \"default\": null\n }\n },\n mounted: function mounted() {\n var _this = this;\n if (this.message.life) {\n this.closeTimeout = setTimeout(function () {\n _this.close({\n message: _this.message,\n type: 'life-end'\n });\n }, this.message.life);\n }\n },\n beforeUnmount: function beforeUnmount() {\n this.clearCloseTimeout();\n },\n methods: {\n close: function close(params) {\n this.$emit('close', params);\n },\n onCloseClick: function onCloseClick() {\n this.clearCloseTimeout();\n this.close({\n message: this.message,\n type: 'close'\n });\n },\n clearCloseTimeout: function clearCloseTimeout() {\n if (this.closeTimeout) {\n clearTimeout(this.closeTimeout);\n this.closeTimeout = null;\n }\n }\n },\n computed: {\n iconComponent: function iconComponent() {\n return {\n info: !this.infoIcon && InfoCircleIcon,\n success: !this.successIcon && CheckIcon,\n warn: !this.warnIcon && ExclamationTriangleIcon,\n error: !this.errorIcon && TimesCircleIcon\n }[this.message.severity];\n },\n closeAriaLabel: function closeAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined;\n }\n },\n components: {\n TimesIcon: TimesIcon,\n InfoCircleIcon: InfoCircleIcon,\n CheckIcon: CheckIcon,\n ExclamationTriangleIcon: ExclamationTriangleIcon,\n TimesCircleIcon: TimesCircleIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n\nfunction _typeof$1(o) { \"@babel/helpers - typeof\"; return _typeof$1 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof$1(o); }\nfunction ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty$1(e, r, t) { return (r = _toPropertyKey$1(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey$1(t) { var i = _toPrimitive$1(t, \"string\"); return \"symbol\" == _typeof$1(i) ? i : i + \"\"; }\nfunction _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); }\nvar _hoisted_1 = [\"aria-label\"];\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n var _directive_ripple = resolveDirective(\"ripple\");\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": [_ctx.cx('message'), $props.message.styleClass],\n role: \"alert\",\n \"aria-live\": \"assertive\",\n \"aria-atomic\": \"true\"\n }, _ctx.ptm('message')), [$props.templates.container ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.container), {\n key: 0,\n message: $props.message,\n closeCallback: $options.onCloseClick\n }, null, 8, [\"message\", \"closeCallback\"])) : (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 1,\n \"class\": [_ctx.cx('messageContent'), $props.message.contentStyleClass]\n }, _ctx.ptm('messageContent')), [!$props.templates.message ? (openBlock(), createElementBlock(Fragment, {\n key: 0\n }, [(openBlock(), createBlock(resolveDynamicComponent($props.templates.messageicon ? $props.templates.messageicon : $props.templates.icon ? $props.templates.icon : $options.iconComponent && $options.iconComponent.name ? $options.iconComponent : 'span'), mergeProps({\n \"class\": _ctx.cx('messageIcon')\n }, _ctx.ptm('messageIcon')), null, 16, [\"class\"])), createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('messageText')\n }, _ctx.ptm('messageText')), [createElementVNode(\"span\", mergeProps({\n \"class\": _ctx.cx('summary')\n }, _ctx.ptm('summary')), toDisplayString($props.message.summary), 17), createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('detail')\n }, _ctx.ptm('detail')), toDisplayString($props.message.detail), 17)], 16)], 64)) : (openBlock(), createBlock(resolveDynamicComponent($props.templates.message), {\n key: 1,\n message: $props.message\n }, null, 8, [\"message\"])), $props.message.closable !== false ? (openBlock(), createElementBlock(\"div\", normalizeProps(mergeProps({\n key: 2\n }, _ctx.ptm('buttonContainer'))), [withDirectives((openBlock(), createElementBlock(\"button\", mergeProps({\n \"class\": _ctx.cx('closeButton'),\n type: \"button\",\n \"aria-label\": $options.closeAriaLabel,\n onClick: _cache[0] || (_cache[0] = function () {\n return $options.onCloseClick && $options.onCloseClick.apply($options, arguments);\n }),\n autofocus: \"\"\n }, _objectSpread$1(_objectSpread$1({}, $props.closeButtonProps), _ctx.ptm('closeButton'))), [(openBlock(), createBlock(resolveDynamicComponent($props.templates.closeicon || 'TimesIcon'), mergeProps({\n \"class\": [_ctx.cx('closeIcon'), $props.closeIcon]\n }, _ctx.ptm('closeIcon')), null, 16, [\"class\"]))], 16, _hoisted_1)), [[_directive_ripple]])], 16)) : createCommentVNode(\"\", true)], 16))], 16);\n}\n\nscript$1.render = render$1;\n\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _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.\"); }\nfunction _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; } }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _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; }\nvar messageIdx = 0;\nvar script = {\n name: 'Toast',\n \"extends\": script$2,\n inheritAttrs: false,\n emits: ['close', 'life-end'],\n data: function data() {\n return {\n messages: []\n };\n },\n styleElement: null,\n mounted: function mounted() {\n ToastEventBus.on('add', this.onAdd);\n ToastEventBus.on('remove', this.onRemove);\n ToastEventBus.on('remove-group', this.onRemoveGroup);\n ToastEventBus.on('remove-all-groups', this.onRemoveAllGroups);\n if (this.breakpoints) {\n this.createStyle();\n }\n },\n beforeUnmount: function beforeUnmount() {\n this.destroyStyle();\n if (this.$refs.container && this.autoZIndex) {\n ZIndex.clear(this.$refs.container);\n }\n ToastEventBus.off('add', this.onAdd);\n ToastEventBus.off('remove', this.onRemove);\n ToastEventBus.off('remove-group', this.onRemoveGroup);\n ToastEventBus.off('remove-all-groups', this.onRemoveAllGroups);\n },\n methods: {\n add: function add(message) {\n if (message.id == null) {\n message.id = messageIdx++;\n }\n this.messages = [].concat(_toConsumableArray(this.messages), [message]);\n },\n remove: function remove(params) {\n var index = this.messages.findIndex(function (m) {\n return m.id === params.message.id;\n });\n if (index !== -1) {\n this.messages.splice(index, 1);\n this.$emit(params.type, {\n message: params.message\n });\n }\n },\n onAdd: function onAdd(message) {\n if (this.group == message.group) {\n this.add(message);\n }\n },\n onRemove: function onRemove(message) {\n this.remove({\n message: message,\n type: 'close'\n });\n },\n onRemoveGroup: function onRemoveGroup(group) {\n if (this.group === group) {\n this.messages = [];\n }\n },\n onRemoveAllGroups: function onRemoveAllGroups() {\n this.messages = [];\n },\n onEnter: function onEnter() {\n if (this.autoZIndex) {\n ZIndex.set('modal', this.$refs.container, this.baseZIndex || this.$primevue.config.zIndex.modal);\n }\n },\n onLeave: function onLeave() {\n var _this = this;\n if (this.$refs.container && this.autoZIndex && isEmpty(this.messages)) {\n setTimeout(function () {\n ZIndex.clear(_this.$refs.container);\n }, 200);\n }\n },\n createStyle: function createStyle() {\n if (!this.styleElement && !this.isUnstyled) {\n var _this$$primevue;\n this.styleElement = document.createElement('style');\n this.styleElement.type = 'text/css';\n 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);\n document.head.appendChild(this.styleElement);\n var innerHTML = '';\n for (var breakpoint in this.breakpoints) {\n var breakpointStyle = '';\n for (var styleProp in this.breakpoints[breakpoint]) {\n breakpointStyle += styleProp + ':' + this.breakpoints[breakpoint][styleProp] + '!important;';\n }\n innerHTML += \"\\n @media screen and (max-width: \".concat(breakpoint, \") {\\n .p-toast[\").concat(this.$attrSelector, \"] {\\n \").concat(breakpointStyle, \"\\n }\\n }\\n \");\n }\n this.styleElement.innerHTML = innerHTML;\n }\n },\n destroyStyle: function destroyStyle() {\n if (this.styleElement) {\n document.head.removeChild(this.styleElement);\n this.styleElement = null;\n }\n }\n },\n components: {\n ToastMessage: script$1,\n Portal: Portal\n }\n};\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _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); }\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_ToastMessage = resolveComponent(\"ToastMessage\");\n var _component_Portal = resolveComponent(\"Portal\");\n return openBlock(), createBlock(_component_Portal, null, {\n \"default\": withCtx(function () {\n return [createElementVNode(\"div\", mergeProps({\n ref: \"container\",\n \"class\": _ctx.cx('root'),\n style: _ctx.sx('root', true, {\n position: _ctx.position\n })\n }, _ctx.ptmi('root')), [createVNode(TransitionGroup, mergeProps({\n name: \"p-toast-message\",\n tag: \"div\",\n onEnter: $options.onEnter,\n onLeave: $options.onLeave\n }, _objectSpread({}, _ctx.ptm('transition'))), {\n \"default\": withCtx(function () {\n return [(openBlock(true), createElementBlock(Fragment, null, renderList($data.messages, function (msg) {\n return openBlock(), createBlock(_component_ToastMessage, {\n key: msg.id,\n message: msg,\n templates: _ctx.$slots,\n closeIcon: _ctx.closeIcon,\n infoIcon: _ctx.infoIcon,\n warnIcon: _ctx.warnIcon,\n errorIcon: _ctx.errorIcon,\n successIcon: _ctx.successIcon,\n closeButtonProps: _ctx.closeButtonProps,\n unstyled: _ctx.unstyled,\n onClose: _cache[0] || (_cache[0] = function ($event) {\n return $options.remove($event);\n }),\n pt: _ctx.pt\n }, null, 8, [\"message\", \"templates\", \"closeIcon\", \"infoIcon\", \"warnIcon\", \"errorIcon\", \"successIcon\", \"closeButtonProps\", \"unstyled\", \"pt\"]);\n }), 128))];\n }),\n _: 1\n }, 16, [\"onEnter\", \"onLeave\"])], 16)];\n }),\n _: 1\n });\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","\n\n\n","\n\n\n","\n\n\n","\n\n\n\n\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\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-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\");\n};\nvar inlineStyles = {\n submenu: function submenu(_ref2) {\n var instance = _ref2.instance,\n processedItem = _ref2.processedItem;\n return {\n display: instance.isItemActive(processedItem) ? 'flex' : 'none'\n };\n }\n};\nvar classes = {\n root: function root(_ref3) {\n var instance = _ref3.instance;\n return ['p-menubar p-component', {\n 'p-menubar-mobile': instance.queryMatches,\n 'p-menubar-mobile-active': instance.mobileActive\n }];\n },\n start: 'p-menubar-start',\n button: 'p-menubar-button',\n rootList: 'p-menubar-root-list',\n item: function item(_ref4) {\n var instance = _ref4.instance,\n processedItem = _ref4.processedItem;\n return ['p-menubar-item', {\n 'p-menubar-item-active': instance.isItemActive(processedItem),\n 'p-focus': instance.isItemFocused(processedItem),\n 'p-disabled': instance.isItemDisabled(processedItem)\n }];\n },\n itemContent: 'p-menubar-item-content',\n itemLink: 'p-menubar-item-link',\n itemIcon: 'p-menubar-item-icon',\n itemLabel: 'p-menubar-item-label',\n submenuIcon: 'p-menubar-submenu-icon',\n submenu: 'p-menubar-submenu',\n separator: 'p-menubar-separator',\n end: 'p-menubar-end'\n};\nvar MenubarStyle = BaseStyle.extend({\n name: 'menubar',\n theme: theme,\n classes: classes,\n inlineStyles: inlineStyles\n});\n\nexport { MenubarStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { UniqueComponentId } from '@primevue/core/utils';\nimport { focus, findSingle, isTouchDevice } from '@primeuix/utils/dom';\nimport { resolve, isNotEmpty, isPrintableCharacter, isEmpty, findLastIndex } from '@primeuix/utils/object';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport BarsIcon from '@primevue/icons/bars';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport MenubarStyle from 'primevue/menubar/style';\nimport AngleDownIcon from '@primevue/icons/angledown';\nimport AngleRightIcon from '@primevue/icons/angleright';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps, resolveComponent, resolveDirective, openBlock, createElementBlock, Fragment, renderList, createElementVNode, withDirectives, createBlock, resolveDynamicComponent, normalizeClass, createCommentVNode, toDisplayString, normalizeStyle, renderSlot, createVNode, normalizeProps, guardReactiveProps } from 'vue';\n\nvar script$2 = {\n name: 'BaseMenubar',\n \"extends\": BaseComponent,\n props: {\n model: {\n type: Array,\n \"default\": null\n },\n buttonProps: {\n type: null,\n \"default\": null\n },\n breakpoint: {\n type: String,\n \"default\": '960px'\n },\n ariaLabelledby: {\n type: String,\n \"default\": null\n },\n ariaLabel: {\n type: String,\n \"default\": null\n }\n },\n style: MenubarStyle,\n provide: function provide() {\n return {\n $pcMenubar: this,\n $parentInstance: this\n };\n }\n};\n\nvar script$1 = {\n name: 'MenubarSub',\n hostName: 'Menubar',\n \"extends\": BaseComponent,\n emits: ['item-mouseenter', 'item-click', 'item-mousemove'],\n props: {\n items: {\n type: Array,\n \"default\": null\n },\n root: {\n type: Boolean,\n \"default\": false\n },\n popup: {\n type: Boolean,\n \"default\": false\n },\n mobileActive: {\n type: Boolean,\n \"default\": false\n },\n templates: {\n type: Object,\n \"default\": null\n },\n level: {\n type: Number,\n \"default\": 0\n },\n menuId: {\n type: String,\n \"default\": null\n },\n focusedItemId: {\n type: String,\n \"default\": null\n },\n activeItemPath: {\n type: Object,\n \"default\": null\n }\n },\n list: null,\n methods: {\n getItemId: function getItemId(processedItem) {\n return \"\".concat(this.menuId, \"_\").concat(processedItem.key);\n },\n getItemKey: function getItemKey(processedItem) {\n return this.getItemId(processedItem);\n },\n getItemProp: function getItemProp(processedItem, name, params) {\n return processedItem && processedItem.item ? resolve(processedItem.item[name], params) : undefined;\n },\n getItemLabel: function getItemLabel(processedItem) {\n return this.getItemProp(processedItem, 'label');\n },\n getItemLabelId: function getItemLabelId(processedItem) {\n return \"\".concat(this.menuId, \"_\").concat(processedItem.key, \"_label\");\n },\n getPTOptions: function getPTOptions(processedItem, index, key) {\n return this.ptm(key, {\n context: {\n item: processedItem.item,\n index: index,\n active: this.isItemActive(processedItem),\n focused: this.isItemFocused(processedItem),\n disabled: this.isItemDisabled(processedItem),\n level: this.level\n }\n });\n },\n isItemActive: function isItemActive(processedItem) {\n return this.activeItemPath.some(function (path) {\n return path.key === processedItem.key;\n });\n },\n isItemVisible: function isItemVisible(processedItem) {\n return this.getItemProp(processedItem, 'visible') !== false;\n },\n isItemDisabled: function isItemDisabled(processedItem) {\n return this.getItemProp(processedItem, 'disabled');\n },\n isItemFocused: function isItemFocused(processedItem) {\n return this.focusedItemId === this.getItemId(processedItem);\n },\n isItemGroup: function isItemGroup(processedItem) {\n return isNotEmpty(processedItem.items);\n },\n onItemClick: function onItemClick(event, processedItem) {\n this.getItemProp(processedItem, 'command', {\n originalEvent: event,\n item: processedItem.item\n });\n this.$emit('item-click', {\n originalEvent: event,\n processedItem: processedItem,\n isFocus: true\n });\n },\n onItemMouseEnter: function onItemMouseEnter(event, processedItem) {\n this.$emit('item-mouseenter', {\n originalEvent: event,\n processedItem: processedItem\n });\n },\n onItemMouseMove: function onItemMouseMove(event, processedItem) {\n this.$emit('item-mousemove', {\n originalEvent: event,\n processedItem: processedItem\n });\n },\n getAriaPosInset: function getAriaPosInset(index) {\n return index - this.calculateAriaSetSize.slice(0, index).length + 1;\n },\n getMenuItemProps: function getMenuItemProps(processedItem, index) {\n return {\n action: mergeProps({\n \"class\": this.cx('itemLink'),\n tabindex: -1,\n 'aria-hidden': true\n }, this.getPTOptions(processedItem, index, 'itemLink')),\n icon: mergeProps({\n \"class\": [this.cx('itemIcon'), this.getItemProp(processedItem, 'icon')]\n }, this.getPTOptions(processedItem, index, 'itemIcon')),\n label: mergeProps({\n \"class\": this.cx('itemLabel')\n }, this.getPTOptions(processedItem, index, 'itemLabel')),\n submenuicon: mergeProps({\n \"class\": this.cx('submenuIcon')\n }, this.getPTOptions(processedItem, index, 'submenuIcon'))\n };\n }\n },\n computed: {\n calculateAriaSetSize: function calculateAriaSetSize() {\n var _this = this;\n return this.items.filter(function (processedItem) {\n return _this.isItemVisible(processedItem) && _this.getItemProp(processedItem, 'separator');\n });\n },\n getAriaSetSize: function getAriaSetSize() {\n var _this2 = this;\n return this.items.filter(function (processedItem) {\n return _this2.isItemVisible(processedItem) && !_this2.getItemProp(processedItem, 'separator');\n }).length;\n }\n },\n components: {\n AngleRightIcon: AngleRightIcon,\n AngleDownIcon: AngleDownIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n\nvar _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\"];\nvar _hoisted_2 = [\"onClick\", \"onMouseenter\", \"onMousemove\"];\nvar _hoisted_3 = [\"href\", \"target\"];\nvar _hoisted_4 = [\"id\"];\nvar _hoisted_5 = [\"id\"];\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_MenubarSub = resolveComponent(\"MenubarSub\", true);\n var _directive_ripple = resolveDirective(\"ripple\");\n return openBlock(), createElementBlock(\"ul\", mergeProps({\n \"class\": $props.level === 0 ? _ctx.cx('rootList') : _ctx.cx('submenu')\n }, $props.level === 0 ? _ctx.ptm('rootList') : _ctx.ptm('submenu')), [(openBlock(true), createElementBlock(Fragment, null, renderList($props.items, function (processedItem, index) {\n return openBlock(), createElementBlock(Fragment, {\n key: $options.getItemKey(processedItem)\n }, [$options.isItemVisible(processedItem) && !$options.getItemProp(processedItem, 'separator') ? (openBlock(), createElementBlock(\"li\", mergeProps({\n key: 0,\n id: $options.getItemId(processedItem),\n style: $options.getItemProp(processedItem, 'style'),\n \"class\": [_ctx.cx('item', {\n processedItem: processedItem\n }), $options.getItemProp(processedItem, 'class')],\n role: \"menuitem\",\n \"aria-label\": $options.getItemLabel(processedItem),\n \"aria-disabled\": $options.isItemDisabled(processedItem) || undefined,\n \"aria-expanded\": $options.isItemGroup(processedItem) ? $options.isItemActive(processedItem) : undefined,\n \"aria-haspopup\": $options.isItemGroup(processedItem) && !$options.getItemProp(processedItem, 'to') ? 'menu' : undefined,\n \"aria-level\": $props.level + 1,\n \"aria-setsize\": $options.getAriaSetSize,\n \"aria-posinset\": $options.getAriaPosInset(index),\n ref_for: true\n }, $options.getPTOptions(processedItem, index, 'item'), {\n \"data-p-active\": $options.isItemActive(processedItem),\n \"data-p-focused\": $options.isItemFocused(processedItem),\n \"data-p-disabled\": $options.isItemDisabled(processedItem)\n }), [createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('itemContent'),\n onClick: function onClick($event) {\n return $options.onItemClick($event, processedItem);\n },\n onMouseenter: function onMouseenter($event) {\n return $options.onItemMouseEnter($event, processedItem);\n },\n onMousemove: function onMousemove($event) {\n return $options.onItemMouseMove($event, processedItem);\n },\n ref_for: true\n }, $options.getPTOptions(processedItem, index, 'itemContent')), [!$props.templates.item ? withDirectives((openBlock(), createElementBlock(\"a\", mergeProps({\n key: 0,\n href: $options.getItemProp(processedItem, 'url'),\n \"class\": _ctx.cx('itemLink'),\n target: $options.getItemProp(processedItem, 'target'),\n tabindex: \"-1\",\n ref_for: true\n }, $options.getPTOptions(processedItem, index, 'itemLink')), [$props.templates.itemicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.itemicon), {\n key: 0,\n item: processedItem.item,\n \"class\": normalizeClass(_ctx.cx('itemIcon'))\n }, null, 8, [\"item\", \"class\"])) : $options.getItemProp(processedItem, 'icon') ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 1,\n \"class\": [_ctx.cx('itemIcon'), $options.getItemProp(processedItem, 'icon')],\n ref_for: true\n }, $options.getPTOptions(processedItem, index, 'itemIcon')), null, 16)) : createCommentVNode(\"\", true), createElementVNode(\"span\", mergeProps({\n id: $options.getItemLabelId(processedItem),\n \"class\": _ctx.cx('itemLabel'),\n ref_for: true\n }, $options.getPTOptions(processedItem, index, 'itemLabel')), toDisplayString($options.getItemLabel(processedItem)), 17, _hoisted_4), $options.getItemProp(processedItem, 'items') ? (openBlock(), createElementBlock(Fragment, {\n key: 2\n }, [$props.templates.submenuicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.submenuicon), {\n key: 0,\n root: $props.root,\n active: $options.isItemActive(processedItem),\n \"class\": normalizeClass(_ctx.cx('submenuIcon'))\n }, null, 8, [\"root\", \"active\", \"class\"])) : (openBlock(), createBlock(resolveDynamicComponent($props.root ? 'AngleDownIcon' : 'AngleRightIcon'), mergeProps({\n key: 1,\n \"class\": _ctx.cx('submenuIcon'),\n ref_for: true\n }, $options.getPTOptions(processedItem, index, 'submenuIcon')), null, 16, [\"class\"]))], 64)) : createCommentVNode(\"\", true)], 16, _hoisted_3)), [[_directive_ripple]]) : (openBlock(), createBlock(resolveDynamicComponent($props.templates.item), {\n key: 1,\n item: processedItem.item,\n root: $props.root,\n hasSubmenu: $options.getItemProp(processedItem, 'items'),\n label: $options.getItemLabel(processedItem),\n props: $options.getMenuItemProps(processedItem, index)\n }, null, 8, [\"item\", \"root\", \"hasSubmenu\", \"label\", \"props\"]))], 16, _hoisted_2), $options.isItemVisible(processedItem) && $options.isItemGroup(processedItem) ? (openBlock(), createBlock(_component_MenubarSub, {\n key: 0,\n id: $options.getItemId(processedItem) + '_list',\n menuId: $props.menuId,\n role: \"menu\",\n style: normalizeStyle(_ctx.sx('submenu', true, {\n processedItem: processedItem\n })),\n focusedItemId: $props.focusedItemId,\n items: processedItem.items,\n mobileActive: $props.mobileActive,\n activeItemPath: $props.activeItemPath,\n templates: $props.templates,\n level: $props.level + 1,\n \"aria-labelledby\": $options.getItemLabelId(processedItem),\n pt: _ctx.pt,\n unstyled: _ctx.unstyled,\n onItemClick: _cache[0] || (_cache[0] = function ($event) {\n return _ctx.$emit('item-click', $event);\n }),\n onItemMouseenter: _cache[1] || (_cache[1] = function ($event) {\n return _ctx.$emit('item-mouseenter', $event);\n }),\n onItemMousemove: _cache[2] || (_cache[2] = function ($event) {\n return _ctx.$emit('item-mousemove', $event);\n })\n }, 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({\n key: 1,\n id: $options.getItemId(processedItem),\n \"class\": [_ctx.cx('separator'), $options.getItemProp(processedItem, 'class')],\n style: $options.getItemProp(processedItem, 'style'),\n role: \"separator\",\n ref_for: true\n }, _ctx.ptm('separator')), null, 16, _hoisted_5)) : createCommentVNode(\"\", true)], 64);\n }), 128))], 16);\n}\n\nscript$1.render = render$1;\n\nvar script = {\n name: 'Menubar',\n \"extends\": script$2,\n inheritAttrs: false,\n emits: ['focus', 'blur'],\n matchMediaListener: null,\n data: function data() {\n return {\n id: this.$attrs.id,\n mobileActive: false,\n focused: false,\n focusedItemInfo: {\n index: -1,\n level: 0,\n parentKey: ''\n },\n activeItemPath: [],\n dirty: false,\n query: null,\n queryMatches: false\n };\n },\n watch: {\n '$attrs.id': function $attrsId(newValue) {\n this.id = newValue || UniqueComponentId();\n },\n activeItemPath: function activeItemPath(newPath) {\n if (isNotEmpty(newPath)) {\n this.bindOutsideClickListener();\n this.bindResizeListener();\n } else {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n }\n }\n },\n outsideClickListener: null,\n container: null,\n menubar: null,\n mounted: function mounted() {\n this.id = this.id || UniqueComponentId();\n this.bindMatchMediaListener();\n },\n beforeUnmount: function beforeUnmount() {\n this.mobileActive = false;\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n this.unbindMatchMediaListener();\n if (this.container) {\n ZIndex.clear(this.container);\n }\n this.container = null;\n },\n methods: {\n getItemProp: function getItemProp(item, name) {\n return item ? resolve(item[name]) : undefined;\n },\n getItemLabel: function getItemLabel(item) {\n return this.getItemProp(item, 'label');\n },\n isItemDisabled: function isItemDisabled(item) {\n return this.getItemProp(item, 'disabled');\n },\n isItemVisible: function isItemVisible(item) {\n return this.getItemProp(item, 'visible') !== false;\n },\n isItemGroup: function isItemGroup(item) {\n return isNotEmpty(this.getItemProp(item, 'items'));\n },\n isItemSeparator: function isItemSeparator(item) {\n return this.getItemProp(item, 'separator');\n },\n getProccessedItemLabel: function getProccessedItemLabel(processedItem) {\n return processedItem ? this.getItemLabel(processedItem.item) : undefined;\n },\n isProccessedItemGroup: function isProccessedItemGroup(processedItem) {\n return processedItem && isNotEmpty(processedItem.items);\n },\n toggle: function toggle(event) {\n var _this = this;\n if (this.mobileActive) {\n this.mobileActive = false;\n ZIndex.clear(this.menubar);\n this.hide();\n } else {\n this.mobileActive = true;\n ZIndex.set('menu', this.menubar, this.$primevue.config.zIndex.menu);\n setTimeout(function () {\n _this.show();\n }, 1);\n }\n this.bindOutsideClickListener();\n event.preventDefault();\n },\n show: function show() {\n focus(this.menubar);\n },\n hide: function hide(event, isFocus) {\n var _this2 = this;\n if (this.mobileActive) {\n this.mobileActive = false;\n setTimeout(function () {\n focus(_this2.$refs.menubutton);\n }, 0);\n }\n this.activeItemPath = [];\n this.focusedItemInfo = {\n index: -1,\n level: 0,\n parentKey: ''\n };\n isFocus && focus(this.menubar);\n this.dirty = false;\n },\n onFocus: function onFocus(event) {\n this.focused = true;\n this.focusedItemInfo = this.focusedItemInfo.index !== -1 ? this.focusedItemInfo : {\n index: this.findFirstFocusedItemIndex(),\n level: 0,\n parentKey: ''\n };\n this.$emit('focus', event);\n },\n onBlur: function onBlur(event) {\n this.focused = false;\n this.focusedItemInfo = {\n index: -1,\n level: 0,\n parentKey: ''\n };\n this.searchValue = '';\n this.dirty = false;\n this.$emit('blur', event);\n },\n onKeyDown: function onKeyDown(event) {\n var metaKey = event.metaKey || event.ctrlKey;\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n case 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n case 'ArrowRight':\n this.onArrowRightKey(event);\n break;\n case 'Home':\n this.onHomeKey(event);\n break;\n case 'End':\n this.onEndKey(event);\n break;\n case 'Space':\n this.onSpaceKey(event);\n break;\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n case 'Escape':\n this.onEscapeKey(event);\n break;\n case 'Tab':\n this.onTabKey(event);\n break;\n case 'PageDown':\n case 'PageUp':\n case 'Backspace':\n case 'ShiftLeft':\n case 'ShiftRight':\n //NOOP\n break;\n default:\n if (!metaKey && isPrintableCharacter(event.key)) {\n this.searchItems(event, event.key);\n }\n break;\n }\n },\n onItemChange: function onItemChange(event) {\n var processedItem = event.processedItem,\n isFocus = event.isFocus;\n if (isEmpty(processedItem)) return;\n var index = processedItem.index,\n key = processedItem.key,\n level = processedItem.level,\n parentKey = processedItem.parentKey,\n items = processedItem.items;\n var grouped = isNotEmpty(items);\n var activeItemPath = this.activeItemPath.filter(function (p) {\n return p.parentKey !== parentKey && p.parentKey !== key;\n });\n grouped && activeItemPath.push(processedItem);\n this.focusedItemInfo = {\n index: index,\n level: level,\n parentKey: parentKey\n };\n this.activeItemPath = activeItemPath;\n grouped && (this.dirty = true);\n isFocus && focus(this.menubar);\n },\n onItemClick: function onItemClick(event) {\n var originalEvent = event.originalEvent,\n processedItem = event.processedItem;\n var grouped = this.isProccessedItemGroup(processedItem);\n var root = isEmpty(processedItem.parent);\n var selected = this.isSelected(processedItem);\n if (selected) {\n var index = processedItem.index,\n key = processedItem.key,\n level = processedItem.level,\n parentKey = processedItem.parentKey;\n this.activeItemPath = this.activeItemPath.filter(function (p) {\n return key !== p.key && key.startsWith(p.key);\n });\n this.focusedItemInfo = {\n index: index,\n level: level,\n parentKey: parentKey\n };\n this.dirty = !root;\n focus(this.menubar);\n } else {\n if (grouped) {\n this.onItemChange(event);\n } else {\n var rootProcessedItem = root ? processedItem : this.activeItemPath.find(function (p) {\n return p.parentKey === '';\n });\n this.hide(originalEvent);\n this.changeFocusedItemIndex(originalEvent, rootProcessedItem ? rootProcessedItem.index : -1);\n this.mobileActive = false;\n focus(this.menubar);\n }\n }\n },\n onItemMouseEnter: function onItemMouseEnter(event) {\n if (this.dirty) {\n this.onItemChange(event);\n }\n },\n onItemMouseMove: function onItemMouseMove(event) {\n if (this.focused) {\n this.changeFocusedItemIndex(event, event.processedItem.index);\n }\n },\n menuButtonClick: function menuButtonClick(event) {\n this.toggle(event);\n },\n menuButtonKeydown: function menuButtonKeydown(event) {\n (event.code === 'Enter' || event.code === 'NumpadEnter' || event.code === 'Space') && this.menuButtonClick(event);\n },\n onArrowDownKey: function onArrowDownKey(event) {\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var root = processedItem ? isEmpty(processedItem.parent) : null;\n if (root) {\n var grouped = this.isProccessedItemGroup(processedItem);\n if (grouped) {\n this.onItemChange({\n originalEvent: event,\n processedItem: processedItem\n });\n this.focusedItemInfo = {\n index: -1,\n parentKey: processedItem.key\n };\n this.onArrowRightKey(event);\n }\n } else {\n var itemIndex = this.focusedItemInfo.index !== -1 ? this.findNextItemIndex(this.focusedItemInfo.index) : this.findFirstFocusedItemIndex();\n this.changeFocusedItemIndex(event, itemIndex);\n }\n event.preventDefault();\n },\n onArrowUpKey: function onArrowUpKey(event) {\n var _this3 = this;\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var root = isEmpty(processedItem.parent);\n if (root) {\n var grouped = this.isProccessedItemGroup(processedItem);\n if (grouped) {\n this.onItemChange({\n originalEvent: event,\n processedItem: processedItem\n });\n this.focusedItemInfo = {\n index: -1,\n parentKey: processedItem.key\n };\n var itemIndex = this.findLastItemIndex();\n this.changeFocusedItemIndex(event, itemIndex);\n }\n } else {\n var parentItem = this.activeItemPath.find(function (p) {\n return p.key === processedItem.parentKey;\n });\n if (this.focusedItemInfo.index === 0) {\n this.focusedItemInfo = {\n index: -1,\n parentKey: parentItem ? parentItem.parentKey : ''\n };\n this.searchValue = '';\n this.onArrowLeftKey(event);\n this.activeItemPath = this.activeItemPath.filter(function (p) {\n return p.parentKey !== _this3.focusedItemInfo.parentKey;\n });\n } else {\n var _itemIndex = this.focusedItemInfo.index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo.index) : this.findLastFocusedItemIndex();\n this.changeFocusedItemIndex(event, _itemIndex);\n }\n }\n event.preventDefault();\n },\n onArrowLeftKey: function onArrowLeftKey(event) {\n var _this4 = this;\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var parentItem = processedItem ? this.activeItemPath.find(function (p) {\n return p.key === processedItem.parentKey;\n }) : null;\n if (parentItem) {\n this.onItemChange({\n originalEvent: event,\n processedItem: parentItem\n });\n this.activeItemPath = this.activeItemPath.filter(function (p) {\n return p.parentKey !== _this4.focusedItemInfo.parentKey;\n });\n event.preventDefault();\n } else {\n var itemIndex = this.focusedItemInfo.index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo.index) : this.findLastFocusedItemIndex();\n this.changeFocusedItemIndex(event, itemIndex);\n event.preventDefault();\n }\n },\n onArrowRightKey: function onArrowRightKey(event) {\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var parentItem = processedItem ? this.activeItemPath.find(function (p) {\n return p.key === processedItem.parentKey;\n }) : null;\n if (parentItem) {\n var grouped = this.isProccessedItemGroup(processedItem);\n if (grouped) {\n this.onItemChange({\n originalEvent: event,\n processedItem: processedItem\n });\n this.focusedItemInfo = {\n index: -1,\n parentKey: processedItem.key\n };\n this.onArrowDownKey(event);\n }\n } else {\n var itemIndex = this.focusedItemInfo.index !== -1 ? this.findNextItemIndex(this.focusedItemInfo.index) : this.findFirstFocusedItemIndex();\n this.changeFocusedItemIndex(event, itemIndex);\n event.preventDefault();\n }\n },\n onHomeKey: function onHomeKey(event) {\n this.changeFocusedItemIndex(event, this.findFirstItemIndex());\n event.preventDefault();\n },\n onEndKey: function onEndKey(event) {\n this.changeFocusedItemIndex(event, this.findLastItemIndex());\n event.preventDefault();\n },\n onEnterKey: function onEnterKey(event) {\n if (this.focusedItemInfo.index !== -1) {\n var element = findSingle(this.menubar, \"li[id=\\\"\".concat(\"\".concat(this.focusedItemId), \"\\\"]\"));\n var anchorElement = element && findSingle(element, 'a[data-pc-section=\"itemlink\"]');\n anchorElement ? anchorElement.click() : element && element.click();\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var grouped = this.isProccessedItemGroup(processedItem);\n !grouped && (this.focusedItemInfo.index = this.findFirstFocusedItemIndex());\n }\n event.preventDefault();\n },\n onSpaceKey: function onSpaceKey(event) {\n this.onEnterKey(event);\n },\n onEscapeKey: function onEscapeKey(event) {\n if (this.focusedItemInfo.level !== 0) {\n var _focusedItemInfo = this.focusedItemInfo;\n this.hide(event, false);\n this.focusedItemInfo = {\n index: Number(_focusedItemInfo.parentKey.split('_')[0]),\n level: 0,\n parentKey: ''\n };\n }\n event.preventDefault();\n },\n onTabKey: function onTabKey(event) {\n if (this.focusedItemInfo.index !== -1) {\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var grouped = this.isProccessedItemGroup(processedItem);\n !grouped && this.onItemChange({\n originalEvent: event,\n processedItem: processedItem\n });\n }\n this.hide();\n },\n bindOutsideClickListener: function bindOutsideClickListener() {\n var _this5 = this;\n if (!this.outsideClickListener) {\n this.outsideClickListener = function (event) {\n var isOutsideContainer = _this5.container && !_this5.container.contains(event.target);\n var isOutsideTarget = !(_this5.target && (_this5.target === event.target || _this5.target.contains(event.target)));\n if (isOutsideContainer && isOutsideTarget) {\n _this5.hide();\n }\n };\n document.addEventListener('click', this.outsideClickListener);\n }\n },\n unbindOutsideClickListener: function unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener);\n this.outsideClickListener = null;\n }\n },\n bindResizeListener: function bindResizeListener() {\n var _this6 = this;\n if (!this.resizeListener) {\n this.resizeListener = function (event) {\n if (!isTouchDevice()) {\n _this6.hide(event, true);\n }\n _this6.mobileActive = false;\n };\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener: function unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n bindMatchMediaListener: function bindMatchMediaListener() {\n var _this7 = this;\n if (!this.matchMediaListener) {\n var query = matchMedia(\"(max-width: \".concat(this.breakpoint, \")\"));\n this.query = query;\n this.queryMatches = query.matches;\n this.matchMediaListener = function () {\n _this7.queryMatches = query.matches;\n _this7.mobileActive = false;\n };\n this.query.addEventListener('change', this.matchMediaListener);\n }\n },\n unbindMatchMediaListener: function unbindMatchMediaListener() {\n if (this.matchMediaListener) {\n this.query.removeEventListener('change', this.matchMediaListener);\n this.matchMediaListener = null;\n }\n },\n isItemMatched: function isItemMatched(processedItem) {\n var _this$getProccessedIt;\n return this.isValidItem(processedItem) && ((_this$getProccessedIt = this.getProccessedItemLabel(processedItem)) === null || _this$getProccessedIt === void 0 ? void 0 : _this$getProccessedIt.toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase()));\n },\n isValidItem: function isValidItem(processedItem) {\n return !!processedItem && !this.isItemDisabled(processedItem.item) && !this.isItemSeparator(processedItem.item) && this.isItemVisible(processedItem.item);\n },\n isValidSelectedItem: function isValidSelectedItem(processedItem) {\n return this.isValidItem(processedItem) && this.isSelected(processedItem);\n },\n isSelected: function isSelected(processedItem) {\n return this.activeItemPath.some(function (p) {\n return p.key === processedItem.key;\n });\n },\n findFirstItemIndex: function findFirstItemIndex() {\n var _this8 = this;\n return this.visibleItems.findIndex(function (processedItem) {\n return _this8.isValidItem(processedItem);\n });\n },\n findLastItemIndex: function findLastItemIndex() {\n var _this9 = this;\n return findLastIndex(this.visibleItems, function (processedItem) {\n return _this9.isValidItem(processedItem);\n });\n },\n findNextItemIndex: function findNextItemIndex(index) {\n var _this10 = this;\n var matchedItemIndex = index < this.visibleItems.length - 1 ? this.visibleItems.slice(index + 1).findIndex(function (processedItem) {\n return _this10.isValidItem(processedItem);\n }) : -1;\n return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index;\n },\n findPrevItemIndex: function findPrevItemIndex(index) {\n var _this11 = this;\n var matchedItemIndex = index > 0 ? findLastIndex(this.visibleItems.slice(0, index), function (processedItem) {\n return _this11.isValidItem(processedItem);\n }) : -1;\n return matchedItemIndex > -1 ? matchedItemIndex : index;\n },\n findSelectedItemIndex: function findSelectedItemIndex() {\n var _this12 = this;\n return this.visibleItems.findIndex(function (processedItem) {\n return _this12.isValidSelectedItem(processedItem);\n });\n },\n findFirstFocusedItemIndex: function findFirstFocusedItemIndex() {\n var selectedIndex = this.findSelectedItemIndex();\n return selectedIndex < 0 ? this.findFirstItemIndex() : selectedIndex;\n },\n findLastFocusedItemIndex: function findLastFocusedItemIndex() {\n var selectedIndex = this.findSelectedItemIndex();\n return selectedIndex < 0 ? this.findLastItemIndex() : selectedIndex;\n },\n searchItems: function searchItems(event, _char) {\n var _this13 = this;\n this.searchValue = (this.searchValue || '') + _char;\n var itemIndex = -1;\n var matched = false;\n if (this.focusedItemInfo.index !== -1) {\n itemIndex = this.visibleItems.slice(this.focusedItemInfo.index).findIndex(function (processedItem) {\n return _this13.isItemMatched(processedItem);\n });\n itemIndex = itemIndex === -1 ? this.visibleItems.slice(0, this.focusedItemInfo.index).findIndex(function (processedItem) {\n return _this13.isItemMatched(processedItem);\n }) : itemIndex + this.focusedItemInfo.index;\n } else {\n itemIndex = this.visibleItems.findIndex(function (processedItem) {\n return _this13.isItemMatched(processedItem);\n });\n }\n if (itemIndex !== -1) {\n matched = true;\n }\n if (itemIndex === -1 && this.focusedItemInfo.index === -1) {\n itemIndex = this.findFirstFocusedItemIndex();\n }\n if (itemIndex !== -1) {\n this.changeFocusedItemIndex(event, itemIndex);\n }\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n this.searchTimeout = setTimeout(function () {\n _this13.searchValue = '';\n _this13.searchTimeout = null;\n }, 500);\n return matched;\n },\n changeFocusedItemIndex: function changeFocusedItemIndex(event, index) {\n if (this.focusedItemInfo.index !== index) {\n this.focusedItemInfo.index = index;\n this.scrollInView();\n }\n },\n scrollInView: function scrollInView() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;\n var id = index !== -1 ? \"\".concat(this.id, \"_\").concat(index) : this.focusedItemId;\n var element = findSingle(this.menubar, \"li[id=\\\"\".concat(id, \"\\\"]\"));\n if (element) {\n element.scrollIntoView && element.scrollIntoView({\n block: 'nearest',\n inline: 'start'\n });\n }\n },\n createProcessedItems: function createProcessedItems(items) {\n var _this14 = this;\n var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var parentKey = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var processedItems = [];\n items && items.forEach(function (item, index) {\n var key = (parentKey !== '' ? parentKey + '_' : '') + index;\n var newItem = {\n item: item,\n index: index,\n level: level,\n key: key,\n parent: parent,\n parentKey: parentKey\n };\n newItem['items'] = _this14.createProcessedItems(item.items, level + 1, newItem, key);\n processedItems.push(newItem);\n });\n return processedItems;\n },\n containerRef: function containerRef(el) {\n this.container = el;\n },\n menubarRef: function menubarRef(el) {\n this.menubar = el ? el.$el : undefined;\n }\n },\n computed: {\n processedItems: function processedItems() {\n return this.createProcessedItems(this.model || []);\n },\n visibleItems: function visibleItems() {\n var _this15 = this;\n var processedItem = this.activeItemPath.find(function (p) {\n return p.key === _this15.focusedItemInfo.parentKey;\n });\n return processedItem ? processedItem.items : this.processedItems;\n },\n focusedItemId: function focusedItemId() {\n return this.focusedItemInfo.index !== -1 ? \"\".concat(this.id).concat(isNotEmpty(this.focusedItemInfo.parentKey) ? '_' + this.focusedItemInfo.parentKey : '', \"_\").concat(this.focusedItemInfo.index) : null;\n }\n },\n components: {\n MenubarSub: script$1,\n BarsIcon: BarsIcon\n }\n};\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _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); }\nvar _hoisted_1 = [\"aria-haspopup\", \"aria-expanded\", \"aria-controls\", \"aria-label\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_BarsIcon = resolveComponent(\"BarsIcon\");\n var _component_MenubarSub = resolveComponent(\"MenubarSub\");\n return openBlock(), createElementBlock(\"div\", mergeProps({\n ref: $options.containerRef,\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [_ctx.$slots.start ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('start')\n }, _ctx.ptm('start')), [renderSlot(_ctx.$slots, \"start\")], 16)) : createCommentVNode(\"\", true), renderSlot(_ctx.$slots, _ctx.$slots.button ? 'button' : 'menubutton', {\n id: $data.id,\n \"class\": normalizeClass(_ctx.cx('button')),\n toggleCallback: function toggleCallback(event) {\n return $options.menuButtonClick(event);\n }\n }, function () {\n var _ctx$$primevue$config;\n return [_ctx.model && _ctx.model.length > 0 ? (openBlock(), createElementBlock(\"a\", mergeProps({\n key: 0,\n ref: \"menubutton\",\n role: \"button\",\n tabindex: \"0\",\n \"class\": _ctx.cx('button'),\n \"aria-haspopup\": _ctx.model.length && _ctx.model.length > 0 ? true : false,\n \"aria-expanded\": $data.mobileActive,\n \"aria-controls\": $data.id,\n \"aria-label\": (_ctx$$primevue$config = _ctx.$primevue.config.locale.aria) === null || _ctx$$primevue$config === void 0 ? void 0 : _ctx$$primevue$config.navigation,\n onClick: _cache[0] || (_cache[0] = function ($event) {\n return $options.menuButtonClick($event);\n }),\n onKeydown: _cache[1] || (_cache[1] = function ($event) {\n return $options.menuButtonKeydown($event);\n })\n }, _objectSpread(_objectSpread({}, _ctx.buttonProps), _ctx.ptm('button'))), [renderSlot(_ctx.$slots, _ctx.$slots.buttonicon ? 'buttonicon' : 'menubuttonicon', {}, function () {\n return [createVNode(_component_BarsIcon, normalizeProps(guardReactiveProps(_ctx.ptm('buttonicon'))), null, 16)];\n })], 16, _hoisted_1)) : createCommentVNode(\"\", true)];\n }), createVNode(_component_MenubarSub, {\n ref: $options.menubarRef,\n id: $data.id + '_list',\n role: \"menubar\",\n items: $options.processedItems,\n templates: _ctx.$slots,\n root: true,\n mobileActive: $data.mobileActive,\n tabindex: \"0\",\n \"aria-activedescendant\": $data.focused ? $options.focusedItemId : undefined,\n menuId: $data.id,\n focusedItemId: $data.focused ? $options.focusedItemId : undefined,\n activeItemPath: $data.activeItemPath,\n level: 0,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-label\": _ctx.ariaLabel,\n pt: _ctx.pt,\n unstyled: _ctx.unstyled,\n onFocus: $options.onFocus,\n onBlur: $options.onBlur,\n onKeydown: $options.onKeyDown,\n onItemClick: $options.onItemClick,\n onItemMouseenter: $options.onItemMouseEnter,\n onItemMousemove: $options.onItemMouseMove\n }, null, 8, [\"id\", \"items\", \"templates\", \"mobileActive\", \"aria-activedescendant\", \"menuId\", \"focusedItemId\", \"activeItemPath\", \"aria-labelledby\", \"aria-label\", \"pt\", \"unstyled\", \"onFocus\", \"onBlur\", \"onKeydown\", \"onItemClick\", \"onItemMouseenter\", \"onItemMousemove\"]), _ctx.$slots.end ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 1,\n \"class\": _ctx.cx('end')\n }, _ctx.ptm('end')), [renderSlot(_ctx.$slots, \"end\")], 16)) : createCommentVNode(\"\", true)], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","\n\n\n\n\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-panel {\\n border: 1px solid \".concat(dt('panel.border.color'), \";\\n border-radius: \").concat(dt('panel.border.radius'), \";\\n background: \").concat(dt('panel.background'), \";\\n color: \").concat(dt('panel.color'), \";\\n}\\n\\n.p-panel-header {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n padding: \").concat(dt('panel.header.padding'), \";\\n background: \").concat(dt('panel.header.background'), \";\\n color: \").concat(dt('panel.header.color'), \";\\n border-style: solid;\\n border-width: \").concat(dt('panel.header.border.width'), \";\\n border-color: \").concat(dt('panel.header.border.color'), \";\\n border-radius: \").concat(dt('panel.header.border.radius'), \";\\n}\\n\\n.p-panel-toggleable .p-panel-header {\\n padding: \").concat(dt('panel.toggleable.header.padding'), \";\\n}\\n\\n.p-panel-title {\\n line-height: 1;\\n font-weight: \").concat(dt('panel.title.font.weight'), \";\\n}\\n\\n.p-panel-content {\\n padding: \").concat(dt('panel.content.padding'), \";\\n}\\n\\n.p-panel-footer {\\n padding: \").concat(dt('panel.footer.padding'), \";\\n}\\n\");\n};\nvar classes = {\n root: function root(_ref2) {\n var props = _ref2.props;\n return ['p-panel p-component', {\n 'p-panel-toggleable': props.toggleable\n }];\n },\n header: 'p-panel-header',\n title: 'p-panel-title',\n headerActions: 'p-panel-header-actions',\n pcToggleButton: 'p-panel-toggle-button',\n contentContainer: 'p-panel-content-container',\n content: 'p-panel-content',\n footer: 'p-panel-footer'\n};\nvar PanelStyle = BaseStyle.extend({\n name: 'panel',\n theme: theme,\n classes: classes\n});\n\nexport { PanelStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { UniqueComponentId } from '@primevue/core/utils';\nimport MinusIcon from '@primevue/icons/minus';\nimport PlusIcon from '@primevue/icons/plus';\nimport Button from 'primevue/button';\nimport Ripple from 'primevue/ripple';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport PanelStyle from 'primevue/panel/style';\nimport { resolveComponent, openBlock, createElementBlock, mergeProps, createElementVNode, renderSlot, normalizeClass, toDisplayString, createCommentVNode, createBlock, withCtx, resolveDynamicComponent, createVNode, Transition, withDirectives, vShow } from 'vue';\n\nvar script$1 = {\n name: 'BasePanel',\n \"extends\": BaseComponent,\n props: {\n header: String,\n toggleable: Boolean,\n collapsed: Boolean,\n toggleButtonProps: {\n type: Object,\n \"default\": function _default() {\n return {\n severity: 'secondary',\n text: true,\n rounded: true\n };\n }\n }\n },\n style: PanelStyle,\n provide: function provide() {\n return {\n $pcPanel: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'Panel',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['update:collapsed', 'toggle'],\n data: function data() {\n return {\n id: this.$attrs.id,\n d_collapsed: this.collapsed\n };\n },\n watch: {\n '$attrs.id': function $attrsId(newValue) {\n this.id = newValue || UniqueComponentId();\n },\n collapsed: function collapsed(newValue) {\n this.d_collapsed = newValue;\n }\n },\n mounted: function mounted() {\n this.id = this.id || UniqueComponentId();\n },\n methods: {\n toggle: function toggle(event) {\n this.d_collapsed = !this.d_collapsed;\n this.$emit('update:collapsed', this.d_collapsed);\n this.$emit('toggle', {\n originalEvent: event,\n value: this.d_collapsed\n });\n },\n onKeyDown: function onKeyDown(event) {\n if (event.code === 'Enter' || event.code === 'NumpadEnter' || event.code === 'Space') {\n this.toggle(event);\n event.preventDefault();\n }\n }\n },\n computed: {\n buttonAriaLabel: function buttonAriaLabel() {\n return this.toggleButtonProps && this.toggleButtonProps.ariaLabel ? this.toggleButtonProps.ariaLabel : this.header;\n }\n },\n components: {\n PlusIcon: PlusIcon,\n MinusIcon: MinusIcon,\n Button: Button\n },\n directives: {\n ripple: Ripple\n }\n};\n\nvar _hoisted_1 = [\"id\"];\nvar _hoisted_2 = [\"id\", \"aria-labelledby\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_Button = resolveComponent(\"Button\");\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('header')\n }, _ctx.ptm('header')), [renderSlot(_ctx.$slots, \"header\", {\n id: $data.id + '_header',\n \"class\": normalizeClass(_ctx.cx('title'))\n }, function () {\n return [_ctx.header ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 0,\n id: $data.id + '_header',\n \"class\": _ctx.cx('title')\n }, _ctx.ptm('title')), toDisplayString(_ctx.header), 17, _hoisted_1)) : createCommentVNode(\"\", true)];\n }), createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('headerActions')\n }, _ctx.ptm('headerActions')), [renderSlot(_ctx.$slots, \"icons\"), _ctx.toggleable ? (openBlock(), createBlock(_component_Button, mergeProps({\n key: 0,\n id: $data.id + '_header',\n \"class\": _ctx.cx('pcToggleButton'),\n \"aria-label\": $options.buttonAriaLabel,\n \"aria-controls\": $data.id + '_content',\n \"aria-expanded\": !$data.d_collapsed,\n unstyled: _ctx.unstyled,\n onClick: $options.toggle,\n onKeydown: $options.onKeyDown\n }, _ctx.toggleButtonProps, {\n pt: _ctx.ptm('pcToggleButton')\n }), {\n icon: withCtx(function (slotProps) {\n return [renderSlot(_ctx.$slots, _ctx.$slots.toggleicon ? 'toggleicon' : 'togglericon', {\n collapsed: $data.d_collapsed\n }, function () {\n return [(openBlock(), createBlock(resolveDynamicComponent($data.d_collapsed ? 'PlusIcon' : 'MinusIcon'), mergeProps({\n \"class\": slotProps[\"class\"]\n }, _ctx.ptm('pcToggleButton')['icon']), null, 16, [\"class\"]))];\n })];\n }),\n _: 3\n }, 16, [\"id\", \"class\", \"aria-label\", \"aria-controls\", \"aria-expanded\", \"unstyled\", \"onClick\", \"onKeydown\", \"pt\"])) : createCommentVNode(\"\", true)], 16)], 16), createVNode(Transition, mergeProps({\n name: \"p-toggleable-content\"\n }, _ctx.ptm('transition')), {\n \"default\": withCtx(function () {\n return [withDirectives(createElementVNode(\"div\", mergeProps({\n id: $data.id + '_content',\n \"class\": _ctx.cx('contentContainer'),\n role: \"region\",\n \"aria-labelledby\": $data.id + '_header'\n }, _ctx.ptm('contentContainer')), [createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('content')\n }, _ctx.ptm('content')), [renderSlot(_ctx.$slots, \"default\")], 16), _ctx.$slots.footer ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('footer')\n }, _ctx.ptm('footer')), [renderSlot(_ctx.$slots, \"footer\")], 16)) : createCommentVNode(\"\", true)], 16, _hoisted_2), [[vShow, !$data.d_collapsed]])];\n }),\n _: 3\n }, 16)], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\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-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\\n.p-tieredmenu-mobile {\\n position: relative;\\n}\\n\\n.p-tieredmenu-mobile .p-tieredmenu-button {\\n display: flex;\\n}\\n\\n.p-tieredmenu-mobile .p-tieredmenu-root-list > .p-tieredmenu-item > .p-tieredmenu-item-content > .p-tieredmenu-item-link {\\n padding: \").concat(dt('tieredmenu.item.padding'), \";\\n}\\n\\n.p-tieredmenu-mobile .p-tieredmenu-root-list .p-tieredmenu-separator {\\n border-top: 1px solid \").concat(dt('tieredmenu.separator.border.color'), \";\\n}\\n\\n.p-tieredmenu-mobile .p-tieredmenu-root-list > .p-tieredmenu-item > .p-tieredmenu-item-content .p-tieredmenu-submenu-icon {\\n margin-left: auto;\\n transition: transform 0.2s;\\n}\\n\\n.p-tieredmenu-mobile .p-tieredmenu-root-list > .p-tieredmenu-item-active > .p-tieredmenu-item-content .p-tieredmenu-submenu-icon {\\n transform: rotate(-90deg);\\n}\\n\\n.p-tieredmenu-mobile .p-tieredmenu-submenu .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\\n.p-tieredmenu-mobile .p-tieredmenu-submenu {\\n position: static;\\n box-shadow: none;\\n border: 0 none;\\n padding-left: \").concat(dt('tieredmenu.submenu.mobile.indent'), \";\\n}\\n\");\n};\nvar inlineStyles = {\n submenu: function submenu(_ref2) {\n var instance = _ref2.instance,\n processedItem = _ref2.processedItem;\n return {\n display: instance.isItemActive(processedItem) ? 'flex' : 'none'\n };\n }\n};\nvar classes = {\n root: function root(_ref3) {\n var props = _ref3.props,\n instance = _ref3.instance;\n return ['p-tieredmenu p-component', {\n 'p-tieredmenu-overlay': props.popup,\n 'p-tieredmenu-mobile': instance.queryMatches\n }];\n },\n start: 'p-tieredmenu-start',\n rootList: 'p-tieredmenu-root-list',\n item: function item(_ref4) {\n var instance = _ref4.instance,\n processedItem = _ref4.processedItem;\n return ['p-tieredmenu-item', {\n 'p-tieredmenu-item-active': instance.isItemActive(processedItem),\n 'p-focus': instance.isItemFocused(processedItem),\n 'p-disabled': instance.isItemDisabled(processedItem)\n }];\n },\n itemContent: 'p-tieredmenu-item-content',\n itemLink: 'p-tieredmenu-item-link',\n itemIcon: 'p-tieredmenu-item-icon',\n itemLabel: 'p-tieredmenu-item-label',\n submenuIcon: 'p-tieredmenu-submenu-icon',\n submenu: 'p-tieredmenu-submenu',\n separator: 'p-tieredmenu-separator',\n end: 'p-tieredmenu-end'\n};\nvar TieredMenuStyle = BaseStyle.extend({\n name: 'tieredmenu',\n theme: theme,\n classes: classes,\n inlineStyles: inlineStyles\n});\n\nexport { TieredMenuStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { nestedPosition, focus, findSingle, addStyle, absolutePosition, getOuterWidth, isTouchDevice } from '@primeuix/utils/dom';\nimport { resolve, isNotEmpty, isPrintableCharacter, isEmpty, findLastIndex } from '@primeuix/utils/object';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { UniqueComponentId, ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport TieredMenuStyle from 'primevue/tieredmenu/style';\nimport AngleRightIcon from '@primevue/icons/angleright';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps, resolveComponent, resolveDirective, openBlock, createBlock, Transition, withCtx, createElementBlock, Fragment, renderList, createElementVNode, withDirectives, resolveDynamicComponent, normalizeClass, createCommentVNode, toDisplayString, createVNode, renderSlot } from 'vue';\n\nvar script$2 = {\n name: 'BaseTieredMenu',\n \"extends\": BaseComponent,\n props: {\n popup: {\n type: Boolean,\n \"default\": false\n },\n model: {\n type: Array,\n \"default\": null\n },\n appendTo: {\n type: [String, Object],\n \"default\": 'body'\n },\n breakpoint: {\n type: String,\n \"default\": '960px'\n },\n autoZIndex: {\n type: Boolean,\n \"default\": true\n },\n baseZIndex: {\n type: Number,\n \"default\": 0\n },\n disabled: {\n type: Boolean,\n \"default\": false\n },\n tabindex: {\n type: Number,\n \"default\": 0\n },\n ariaLabelledby: {\n type: String,\n \"default\": null\n },\n ariaLabel: {\n type: String,\n \"default\": null\n }\n },\n style: TieredMenuStyle,\n provide: function provide() {\n return {\n $pcTieredMenu: this,\n $parentInstance: this\n };\n }\n};\n\nvar script$1 = {\n name: 'TieredMenuSub',\n hostName: 'TieredMenu',\n \"extends\": BaseComponent,\n emits: ['item-click', 'item-mouseenter', 'item-mousemove'],\n container: null,\n props: {\n menuId: {\n type: String,\n \"default\": null\n },\n focusedItemId: {\n type: String,\n \"default\": null\n },\n items: {\n type: Array,\n \"default\": null\n },\n visible: {\n type: Boolean,\n \"default\": false\n },\n level: {\n type: Number,\n \"default\": 0\n },\n templates: {\n type: Object,\n \"default\": null\n },\n activeItemPath: {\n type: Object,\n \"default\": null\n },\n tabindex: {\n type: Number,\n \"default\": 0\n }\n },\n methods: {\n getItemId: function getItemId(processedItem) {\n return \"\".concat(this.menuId, \"_\").concat(processedItem.key);\n },\n getItemKey: function getItemKey(processedItem) {\n return this.getItemId(processedItem);\n },\n getItemProp: function getItemProp(processedItem, name, params) {\n return processedItem && processedItem.item ? resolve(processedItem.item[name], params) : undefined;\n },\n getItemLabel: function getItemLabel(processedItem) {\n return this.getItemProp(processedItem, 'label');\n },\n getItemLabelId: function getItemLabelId(processedItem) {\n return \"\".concat(this.menuId, \"_\").concat(processedItem.key, \"_label\");\n },\n getPTOptions: function getPTOptions(processedItem, index, key) {\n return this.ptm(key, {\n context: {\n item: processedItem.item,\n index: index,\n active: this.isItemActive(processedItem),\n focused: this.isItemFocused(processedItem),\n disabled: this.isItemDisabled(processedItem)\n }\n });\n },\n isItemActive: function isItemActive(processedItem) {\n return this.activeItemPath.some(function (path) {\n return path.key === processedItem.key;\n });\n },\n isItemVisible: function isItemVisible(processedItem) {\n return this.getItemProp(processedItem, 'visible') !== false;\n },\n isItemDisabled: function isItemDisabled(processedItem) {\n return this.getItemProp(processedItem, 'disabled');\n },\n isItemFocused: function isItemFocused(processedItem) {\n return this.focusedItemId === this.getItemId(processedItem);\n },\n isItemGroup: function isItemGroup(processedItem) {\n return isNotEmpty(processedItem.items);\n },\n onEnter: function onEnter() {\n nestedPosition(this.container, this.level);\n },\n onItemClick: function onItemClick(event, processedItem) {\n this.getItemProp(processedItem, 'command', {\n originalEvent: event,\n item: processedItem.item\n });\n this.$emit('item-click', {\n originalEvent: event,\n processedItem: processedItem,\n isFocus: true\n });\n },\n onItemMouseEnter: function onItemMouseEnter(event, processedItem) {\n this.$emit('item-mouseenter', {\n originalEvent: event,\n processedItem: processedItem\n });\n },\n onItemMouseMove: function onItemMouseMove(event, processedItem) {\n this.$emit('item-mousemove', {\n originalEvent: event,\n processedItem: processedItem\n });\n },\n getAriaSetSize: function getAriaSetSize() {\n var _this = this;\n return this.items.filter(function (processedItem) {\n return _this.isItemVisible(processedItem) && !_this.getItemProp(processedItem, 'separator');\n }).length;\n },\n getAriaPosInset: function getAriaPosInset(index) {\n var _this2 = this;\n return index - this.items.slice(0, index).filter(function (processedItem) {\n return _this2.isItemVisible(processedItem) && _this2.getItemProp(processedItem, 'separator');\n }).length + 1;\n },\n getMenuItemProps: function getMenuItemProps(processedItem, index) {\n return {\n action: mergeProps({\n \"class\": this.cx('itemLink'),\n tabindex: -1,\n 'aria-hidden': true\n }, this.getPTOptions(processedItem, index, 'itemLink')),\n icon: mergeProps({\n \"class\": [this.cx('itemIcon'), this.getItemProp(processedItem, 'icon')]\n }, this.getPTOptions(processedItem, index, 'itemIcon')),\n label: mergeProps({\n \"class\": this.cx('itemLabel')\n }, this.getPTOptions(processedItem, index, 'itemLabel')),\n submenuicon: mergeProps({\n \"class\": this.cx('submenuIcon')\n }, this.getPTOptions(processedItem, index, 'submenuIcon'))\n };\n },\n containerRef: function containerRef(el) {\n this.container = el;\n }\n },\n components: {\n AngleRightIcon: AngleRightIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n\nvar _hoisted_1$1 = [\"tabindex\"];\nvar _hoisted_2 = [\"id\", \"aria-label\", \"aria-disabled\", \"aria-expanded\", \"aria-haspopup\", \"aria-level\", \"aria-setsize\", \"aria-posinset\", \"data-p-active\", \"data-p-focused\", \"data-p-disabled\"];\nvar _hoisted_3 = [\"onClick\", \"onMouseenter\", \"onMousemove\"];\nvar _hoisted_4 = [\"href\", \"target\"];\nvar _hoisted_5 = [\"id\"];\nvar _hoisted_6 = [\"id\"];\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_AngleRightIcon = resolveComponent(\"AngleRightIcon\");\n var _component_TieredMenuSub = resolveComponent(\"TieredMenuSub\", true);\n var _directive_ripple = resolveDirective(\"ripple\");\n return openBlock(), createBlock(Transition, mergeProps({\n name: \"p-tieredmenu\",\n onEnter: $options.onEnter\n }, _ctx.ptm('menu.transition')), {\n \"default\": withCtx(function () {\n return [($props.level === 0 ? true : $props.visible) ? (openBlock(), createElementBlock(\"ul\", {\n key: 0,\n ref: $options.containerRef,\n tabindex: $props.tabindex\n }, [(openBlock(true), createElementBlock(Fragment, null, renderList($props.items, function (processedItem, index) {\n return openBlock(), createElementBlock(Fragment, {\n key: $options.getItemKey(processedItem)\n }, [$options.isItemVisible(processedItem) && !$options.getItemProp(processedItem, 'separator') ? (openBlock(), createElementBlock(\"li\", mergeProps({\n key: 0,\n id: $options.getItemId(processedItem),\n style: $options.getItemProp(processedItem, 'style'),\n \"class\": [_ctx.cx('item', {\n processedItem: processedItem\n }), $options.getItemProp(processedItem, 'class')],\n role: \"menuitem\",\n \"aria-label\": $options.getItemLabel(processedItem),\n \"aria-disabled\": $options.isItemDisabled(processedItem) || undefined,\n \"aria-expanded\": $options.isItemGroup(processedItem) ? $options.isItemActive(processedItem) : undefined,\n \"aria-haspopup\": $options.isItemGroup(processedItem) && !$options.getItemProp(processedItem, 'to') ? 'menu' : undefined,\n \"aria-level\": $props.level + 1,\n \"aria-setsize\": $options.getAriaSetSize(),\n \"aria-posinset\": $options.getAriaPosInset(index),\n ref_for: true\n }, $options.getPTOptions(processedItem, index, 'item'), {\n \"data-p-active\": $options.isItemActive(processedItem),\n \"data-p-focused\": $options.isItemFocused(processedItem),\n \"data-p-disabled\": $options.isItemDisabled(processedItem)\n }), [createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('itemContent'),\n onClick: function onClick($event) {\n return $options.onItemClick($event, processedItem);\n },\n onMouseenter: function onMouseenter($event) {\n return $options.onItemMouseEnter($event, processedItem);\n },\n onMousemove: function onMousemove($event) {\n return $options.onItemMouseMove($event, processedItem);\n },\n ref_for: true\n }, $options.getPTOptions(processedItem, index, 'itemContent')), [!$props.templates.item ? withDirectives((openBlock(), createElementBlock(\"a\", mergeProps({\n key: 0,\n href: $options.getItemProp(processedItem, 'url'),\n \"class\": _ctx.cx('itemLink'),\n target: $options.getItemProp(processedItem, 'target'),\n tabindex: \"-1\",\n ref_for: true\n }, $options.getPTOptions(processedItem, index, 'itemLink')), [$props.templates.itemicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.itemicon), {\n key: 0,\n item: processedItem.item,\n \"class\": normalizeClass(_ctx.cx('itemIcon'))\n }, null, 8, [\"item\", \"class\"])) : $options.getItemProp(processedItem, 'icon') ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 1,\n \"class\": [_ctx.cx('itemIcon'), $options.getItemProp(processedItem, 'icon')],\n ref_for: true\n }, $options.getPTOptions(processedItem, index, 'itemIcon')), null, 16)) : createCommentVNode(\"\", true), createElementVNode(\"span\", mergeProps({\n id: $options.getItemLabelId(processedItem),\n \"class\": _ctx.cx('itemLabel'),\n ref_for: true\n }, $options.getPTOptions(processedItem, index, 'itemLabel')), toDisplayString($options.getItemLabel(processedItem)), 17, _hoisted_5), $options.getItemProp(processedItem, 'items') ? (openBlock(), createElementBlock(Fragment, {\n key: 2\n }, [$props.templates.submenuicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.submenuicon), mergeProps({\n key: 0,\n \"class\": _ctx.cx('submenuIcon'),\n active: $options.isItemActive(processedItem),\n ref_for: true\n }, $options.getPTOptions(processedItem, index, 'submenuIcon')), null, 16, [\"class\", \"active\"])) : (openBlock(), createBlock(_component_AngleRightIcon, mergeProps({\n key: 1,\n \"class\": _ctx.cx('submenuIcon'),\n ref_for: true\n }, $options.getPTOptions(processedItem, index, 'submenuIcon')), null, 16, [\"class\"]))], 64)) : createCommentVNode(\"\", true)], 16, _hoisted_4)), [[_directive_ripple]]) : (openBlock(), createBlock(resolveDynamicComponent($props.templates.item), {\n key: 1,\n item: processedItem.item,\n hasSubmenu: $options.getItemProp(processedItem, 'items'),\n label: $options.getItemLabel(processedItem),\n props: $options.getMenuItemProps(processedItem, index)\n }, null, 8, [\"item\", \"hasSubmenu\", \"label\", \"props\"]))], 16, _hoisted_3), $options.isItemVisible(processedItem) && $options.isItemGroup(processedItem) ? (openBlock(), createBlock(_component_TieredMenuSub, mergeProps({\n key: 0,\n id: $options.getItemId(processedItem) + '_list',\n \"class\": _ctx.cx('submenu'),\n style: _ctx.sx('submenu', true, {\n processedItem: processedItem\n }),\n \"aria-labelledby\": $options.getItemLabelId(processedItem),\n role: \"menu\",\n menuId: $props.menuId,\n focusedItemId: $props.focusedItemId,\n items: processedItem.items,\n templates: $props.templates,\n activeItemPath: $props.activeItemPath,\n level: $props.level + 1,\n visible: $options.isItemActive(processedItem) && $options.isItemGroup(processedItem),\n pt: _ctx.pt,\n unstyled: _ctx.unstyled,\n onItemClick: _cache[0] || (_cache[0] = function ($event) {\n return _ctx.$emit('item-click', $event);\n }),\n onItemMouseenter: _cache[1] || (_cache[1] = function ($event) {\n return _ctx.$emit('item-mouseenter', $event);\n }),\n onItemMousemove: _cache[2] || (_cache[2] = function ($event) {\n return _ctx.$emit('item-mousemove', $event);\n }),\n ref_for: true\n }, _ctx.ptm('submenu')), null, 16, [\"id\", \"class\", \"style\", \"aria-labelledby\", \"menuId\", \"focusedItemId\", \"items\", \"templates\", \"activeItemPath\", \"level\", \"visible\", \"pt\", \"unstyled\"])) : createCommentVNode(\"\", true)], 16, _hoisted_2)) : createCommentVNode(\"\", true), $options.isItemVisible(processedItem) && $options.getItemProp(processedItem, 'separator') ? (openBlock(), createElementBlock(\"li\", mergeProps({\n key: 1,\n id: $options.getItemId(processedItem),\n style: $options.getItemProp(processedItem, 'style'),\n \"class\": [_ctx.cx('separator'), $options.getItemProp(processedItem, 'class')],\n role: \"separator\",\n ref_for: true\n }, _ctx.ptm('separator')), null, 16, _hoisted_6)) : createCommentVNode(\"\", true)], 64);\n }), 128))], 8, _hoisted_1$1)) : createCommentVNode(\"\", true)];\n }),\n _: 1\n }, 16, [\"onEnter\"]);\n}\n\nscript$1.render = render$1;\n\nvar script = {\n name: 'TieredMenu',\n \"extends\": script$2,\n inheritAttrs: false,\n emits: ['focus', 'blur', 'before-show', 'before-hide', 'hide', 'show'],\n outsideClickListener: null,\n matchMediaListener: null,\n scrollHandler: null,\n resizeListener: null,\n target: null,\n container: null,\n menubar: null,\n searchTimeout: null,\n searchValue: null,\n data: function data() {\n return {\n id: this.$attrs.id,\n focused: false,\n focusedItemInfo: {\n index: -1,\n level: 0,\n parentKey: ''\n },\n activeItemPath: [],\n visible: !this.popup,\n submenuVisible: false,\n dirty: false,\n query: null,\n queryMatches: false\n };\n },\n watch: {\n '$attrs.id': function $attrsId(newValue) {\n this.id = newValue || UniqueComponentId();\n },\n activeItemPath: function activeItemPath(newPath) {\n if (!this.popup) {\n if (isNotEmpty(newPath)) {\n this.bindOutsideClickListener();\n this.bindResizeListener();\n } else {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n }\n }\n }\n },\n mounted: function mounted() {\n this.id = this.id || UniqueComponentId();\n this.bindMatchMediaListener();\n },\n beforeUnmount: function beforeUnmount() {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n this.unbindMatchMediaListener();\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n if (this.container && this.autoZIndex) {\n ZIndex.clear(this.container);\n }\n this.target = null;\n this.container = null;\n },\n methods: {\n getItemProp: function getItemProp(item, name) {\n return item ? resolve(item[name]) : undefined;\n },\n getItemLabel: function getItemLabel(item) {\n return this.getItemProp(item, 'label');\n },\n isItemDisabled: function isItemDisabled(item) {\n return this.getItemProp(item, 'disabled');\n },\n isItemVisible: function isItemVisible(item) {\n return this.getItemProp(item, 'visible') !== false;\n },\n isItemGroup: function isItemGroup(item) {\n return isNotEmpty(this.getItemProp(item, 'items'));\n },\n isItemSeparator: function isItemSeparator(item) {\n return this.getItemProp(item, 'separator');\n },\n getProccessedItemLabel: function getProccessedItemLabel(processedItem) {\n return processedItem ? this.getItemLabel(processedItem.item) : undefined;\n },\n isProccessedItemGroup: function isProccessedItemGroup(processedItem) {\n return processedItem && isNotEmpty(processedItem.items);\n },\n toggle: function toggle(event) {\n this.visible ? this.hide(event, true) : this.show(event);\n },\n show: function show(event, isFocus) {\n if (this.popup) {\n this.$emit('before-show');\n this.visible = true;\n this.target = this.target || event.currentTarget;\n this.relatedTarget = event.relatedTarget || null;\n }\n isFocus && focus(this.menubar);\n },\n hide: function hide(event, isFocus) {\n if (this.popup) {\n this.$emit('before-hide');\n this.visible = false;\n }\n this.activeItemPath = [];\n this.focusedItemInfo = {\n index: -1,\n level: 0,\n parentKey: ''\n };\n isFocus && focus(this.relatedTarget || this.target || this.menubar);\n this.dirty = false;\n },\n onFocus: function onFocus(event) {\n this.focused = true;\n if (!this.popup) {\n this.focusedItemInfo = this.focusedItemInfo.index !== -1 ? this.focusedItemInfo : {\n index: this.findFirstFocusedItemIndex(),\n level: 0,\n parentKey: ''\n };\n }\n this.$emit('focus', event);\n },\n onBlur: function onBlur(event) {\n this.focused = false;\n this.focusedItemInfo = {\n index: -1,\n level: 0,\n parentKey: ''\n };\n this.searchValue = '';\n this.dirty = false;\n this.$emit('blur', event);\n },\n onKeyDown: function onKeyDown(event) {\n if (this.disabled) {\n event.preventDefault();\n return;\n }\n var metaKey = event.metaKey || event.ctrlKey;\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n case 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n case 'ArrowRight':\n this.onArrowRightKey(event);\n break;\n case 'Home':\n this.onHomeKey(event);\n break;\n case 'End':\n this.onEndKey(event);\n break;\n case 'Space':\n this.onSpaceKey(event);\n break;\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n case 'Escape':\n this.onEscapeKey(event);\n break;\n case 'Tab':\n this.onTabKey(event);\n break;\n case 'PageDown':\n case 'PageUp':\n case 'Backspace':\n case 'ShiftLeft':\n case 'ShiftRight':\n //NOOP\n break;\n default:\n if (!metaKey && isPrintableCharacter(event.key)) {\n this.searchItems(event, event.key);\n }\n break;\n }\n },\n onItemChange: function onItemChange(event) {\n var processedItem = event.processedItem,\n isFocus = event.isFocus;\n if (isEmpty(processedItem)) return;\n var index = processedItem.index,\n key = processedItem.key,\n level = processedItem.level,\n parentKey = processedItem.parentKey,\n items = processedItem.items;\n var grouped = isNotEmpty(items);\n var activeItemPath = this.activeItemPath.filter(function (p) {\n return p.parentKey !== parentKey && p.parentKey !== key;\n });\n if (grouped) {\n activeItemPath.push(processedItem);\n this.submenuVisible = true;\n }\n this.focusedItemInfo = {\n index: index,\n level: level,\n parentKey: parentKey\n };\n this.activeItemPath = activeItemPath;\n grouped && (this.dirty = true);\n isFocus && focus(this.menubar);\n },\n onOverlayClick: function onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.target\n });\n },\n onItemClick: function onItemClick(event) {\n var originalEvent = event.originalEvent,\n processedItem = event.processedItem;\n var grouped = this.isProccessedItemGroup(processedItem);\n var root = isEmpty(processedItem.parent);\n var selected = this.isSelected(processedItem);\n if (selected) {\n var index = processedItem.index,\n key = processedItem.key,\n level = processedItem.level,\n parentKey = processedItem.parentKey;\n this.activeItemPath = this.activeItemPath.filter(function (p) {\n return key !== p.key && key.startsWith(p.key);\n });\n this.focusedItemInfo = {\n index: index,\n level: level,\n parentKey: parentKey\n };\n this.dirty = !root;\n focus(this.menubar);\n } else {\n if (grouped) {\n this.onItemChange(event);\n } else {\n var rootProcessedItem = root ? processedItem : this.activeItemPath.find(function (p) {\n return p.parentKey === '';\n });\n this.hide(originalEvent);\n this.changeFocusedItemIndex(originalEvent, rootProcessedItem ? rootProcessedItem.index : -1);\n focus(this.menubar);\n }\n }\n },\n onItemMouseEnter: function onItemMouseEnter(event) {\n if (this.dirty) {\n this.onItemChange(event);\n }\n },\n onItemMouseMove: function onItemMouseMove(event) {\n if (this.focused) {\n this.changeFocusedItemIndex(event, event.processedItem.index);\n }\n },\n onArrowDownKey: function onArrowDownKey(event) {\n var itemIndex = this.focusedItemInfo.index !== -1 ? this.findNextItemIndex(this.focusedItemInfo.index) : this.findFirstFocusedItemIndex();\n this.changeFocusedItemIndex(event, itemIndex);\n event.preventDefault();\n },\n onArrowUpKey: function onArrowUpKey(event) {\n if (event.altKey) {\n if (this.focusedItemInfo.index !== -1) {\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var grouped = this.isProccessedItemGroup(processedItem);\n !grouped && this.onItemChange({\n originalEvent: event,\n processedItem: processedItem\n });\n }\n this.popup && this.hide(event, true);\n event.preventDefault();\n } else {\n var itemIndex = this.focusedItemInfo.index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo.index) : this.findLastFocusedItemIndex();\n this.changeFocusedItemIndex(event, itemIndex);\n event.preventDefault();\n }\n },\n onArrowLeftKey: function onArrowLeftKey(event) {\n var _this = this;\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var parentItem = this.activeItemPath.find(function (p) {\n return p.key === processedItem.parentKey;\n });\n var root = isEmpty(processedItem.parent);\n if (!root) {\n this.focusedItemInfo = {\n index: -1,\n parentKey: parentItem ? parentItem.parentKey : ''\n };\n this.searchValue = '';\n this.onArrowDownKey(event);\n }\n this.activeItemPath = this.activeItemPath.filter(function (p) {\n return p.parentKey !== _this.focusedItemInfo.parentKey;\n });\n event.preventDefault();\n },\n onArrowRightKey: function onArrowRightKey(event) {\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var grouped = this.isProccessedItemGroup(processedItem);\n if (grouped) {\n this.onItemChange({\n originalEvent: event,\n processedItem: processedItem\n });\n this.focusedItemInfo = {\n index: -1,\n parentKey: processedItem.key\n };\n this.searchValue = '';\n this.onArrowDownKey(event);\n }\n event.preventDefault();\n },\n onHomeKey: function onHomeKey(event) {\n this.changeFocusedItemIndex(event, this.findFirstItemIndex());\n event.preventDefault();\n },\n onEndKey: function onEndKey(event) {\n this.changeFocusedItemIndex(event, this.findLastItemIndex());\n event.preventDefault();\n },\n onEnterKey: function onEnterKey(event) {\n if (this.focusedItemInfo.index !== -1) {\n var element = findSingle(this.menubar, \"li[id=\\\"\".concat(\"\".concat(this.focusedItemId), \"\\\"]\"));\n var anchorElement = element && findSingle(element, '[data-pc-section=\"itemlink\"]');\n anchorElement ? anchorElement.click() : element && element.click();\n if (!this.popup) {\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var grouped = this.isProccessedItemGroup(processedItem);\n !grouped && (this.focusedItemInfo.index = this.findFirstFocusedItemIndex());\n }\n }\n event.preventDefault();\n },\n onSpaceKey: function onSpaceKey(event) {\n this.onEnterKey(event);\n },\n onEscapeKey: function onEscapeKey(event) {\n if (this.popup || this.focusedItemInfo.level !== 0) {\n var _focusedItemInfo = this.focusedItemInfo;\n this.hide(event, false);\n this.focusedItemInfo = {\n index: Number(_focusedItemInfo.parentKey.split('_')[0]),\n level: 0,\n parentKey: ''\n };\n this.popup && focus(this.target);\n }\n event.preventDefault();\n },\n onTabKey: function onTabKey(event) {\n if (this.focusedItemInfo.index !== -1) {\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var grouped = this.isProccessedItemGroup(processedItem);\n !grouped && this.onItemChange({\n originalEvent: event,\n processedItem: processedItem\n });\n }\n this.hide();\n },\n onEnter: function onEnter(el) {\n if (this.autoZIndex) {\n ZIndex.set('menu', el, this.baseZIndex + this.$primevue.config.zIndex.menu);\n }\n addStyle(el, {\n position: 'absolute',\n top: '0',\n left: '0'\n });\n this.alignOverlay();\n focus(this.menubar);\n this.scrollInView();\n },\n onAfterEnter: function onAfterEnter() {\n this.bindOutsideClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n this.$emit('show');\n },\n onLeave: function onLeave() {\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n this.$emit('hide');\n this.container = null;\n this.dirty = false;\n },\n onAfterLeave: function onAfterLeave(el) {\n if (this.autoZIndex) {\n ZIndex.clear(el);\n }\n },\n alignOverlay: function alignOverlay() {\n absolutePosition(this.container, this.target);\n var targetWidth = getOuterWidth(this.target);\n if (targetWidth > getOuterWidth(this.container)) {\n this.container.style.minWidth = getOuterWidth(this.target) + 'px';\n }\n },\n bindOutsideClickListener: function bindOutsideClickListener() {\n var _this2 = this;\n if (!this.outsideClickListener) {\n this.outsideClickListener = function (event) {\n var isOutsideContainer = _this2.container && !_this2.container.contains(event.target);\n var isOutsideTarget = _this2.popup ? !(_this2.target && (_this2.target === event.target || _this2.target.contains(event.target))) : true;\n if (isOutsideContainer && isOutsideTarget) {\n _this2.hide();\n }\n };\n document.addEventListener('click', this.outsideClickListener);\n }\n },\n unbindOutsideClickListener: function unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener: function bindScrollListener() {\n var _this3 = this;\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, function (event) {\n _this3.hide(event, true);\n });\n }\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener: function unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener: function bindResizeListener() {\n var _this4 = this;\n if (!this.resizeListener) {\n this.resizeListener = function (event) {\n if (!isTouchDevice()) {\n _this4.hide(event, true);\n }\n };\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener: function unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n bindMatchMediaListener: function bindMatchMediaListener() {\n var _this5 = this;\n if (!this.matchMediaListener) {\n var query = matchMedia(\"(max-width: \".concat(this.breakpoint, \")\"));\n this.query = query;\n this.queryMatches = query.matches;\n this.matchMediaListener = function () {\n _this5.queryMatches = query.matches;\n };\n this.query.addEventListener('change', this.matchMediaListener);\n }\n },\n unbindMatchMediaListener: function unbindMatchMediaListener() {\n if (this.matchMediaListener) {\n this.query.removeEventListener('change', this.matchMediaListener);\n this.matchMediaListener = null;\n }\n },\n isItemMatched: function isItemMatched(processedItem) {\n var _this$getProccessedIt;\n return this.isValidItem(processedItem) && ((_this$getProccessedIt = this.getProccessedItemLabel(processedItem)) === null || _this$getProccessedIt === void 0 ? void 0 : _this$getProccessedIt.toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase()));\n },\n isValidItem: function isValidItem(processedItem) {\n return !!processedItem && !this.isItemDisabled(processedItem.item) && !this.isItemSeparator(processedItem.item) && this.isItemVisible(processedItem.item);\n },\n isValidSelectedItem: function isValidSelectedItem(processedItem) {\n return this.isValidItem(processedItem) && this.isSelected(processedItem);\n },\n isSelected: function isSelected(processedItem) {\n return this.activeItemPath.some(function (p) {\n return p.key === processedItem.key;\n });\n },\n findFirstItemIndex: function findFirstItemIndex() {\n var _this6 = this;\n return this.visibleItems.findIndex(function (processedItem) {\n return _this6.isValidItem(processedItem);\n });\n },\n findLastItemIndex: function findLastItemIndex() {\n var _this7 = this;\n return findLastIndex(this.visibleItems, function (processedItem) {\n return _this7.isValidItem(processedItem);\n });\n },\n findNextItemIndex: function findNextItemIndex(index) {\n var _this8 = this;\n var matchedItemIndex = index < this.visibleItems.length - 1 ? this.visibleItems.slice(index + 1).findIndex(function (processedItem) {\n return _this8.isValidItem(processedItem);\n }) : -1;\n return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index;\n },\n findPrevItemIndex: function findPrevItemIndex(index) {\n var _this9 = this;\n var matchedItemIndex = index > 0 ? findLastIndex(this.visibleItems.slice(0, index), function (processedItem) {\n return _this9.isValidItem(processedItem);\n }) : -1;\n return matchedItemIndex > -1 ? matchedItemIndex : index;\n },\n findSelectedItemIndex: function findSelectedItemIndex() {\n var _this10 = this;\n return this.visibleItems.findIndex(function (processedItem) {\n return _this10.isValidSelectedItem(processedItem);\n });\n },\n findFirstFocusedItemIndex: function findFirstFocusedItemIndex() {\n var selectedIndex = this.findSelectedItemIndex();\n return selectedIndex < 0 ? this.findFirstItemIndex() : selectedIndex;\n },\n findLastFocusedItemIndex: function findLastFocusedItemIndex() {\n var selectedIndex = this.findSelectedItemIndex();\n return selectedIndex < 0 ? this.findLastItemIndex() : selectedIndex;\n },\n searchItems: function searchItems(event, _char) {\n var _this11 = this;\n this.searchValue = (this.searchValue || '') + _char;\n var itemIndex = -1;\n var matched = false;\n if (this.focusedItemInfo.index !== -1) {\n itemIndex = this.visibleItems.slice(this.focusedItemInfo.index).findIndex(function (processedItem) {\n return _this11.isItemMatched(processedItem);\n });\n itemIndex = itemIndex === -1 ? this.visibleItems.slice(0, this.focusedItemInfo.index).findIndex(function (processedItem) {\n return _this11.isItemMatched(processedItem);\n }) : itemIndex + this.focusedItemInfo.index;\n } else {\n itemIndex = this.visibleItems.findIndex(function (processedItem) {\n return _this11.isItemMatched(processedItem);\n });\n }\n if (itemIndex !== -1) {\n matched = true;\n }\n if (itemIndex === -1 && this.focusedItemInfo.index === -1) {\n itemIndex = this.findFirstFocusedItemIndex();\n }\n if (itemIndex !== -1) {\n this.changeFocusedItemIndex(event, itemIndex);\n }\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n this.searchTimeout = setTimeout(function () {\n _this11.searchValue = '';\n _this11.searchTimeout = null;\n }, 500);\n return matched;\n },\n changeFocusedItemIndex: function changeFocusedItemIndex(event, index) {\n if (this.focusedItemInfo.index !== index) {\n this.focusedItemInfo.index = index;\n this.scrollInView();\n }\n },\n scrollInView: function scrollInView() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;\n var id = index !== -1 ? \"\".concat(this.id, \"_\").concat(index) : this.focusedItemId;\n var element = findSingle(this.menubar, \"li[id=\\\"\".concat(id, \"\\\"]\"));\n if (element) {\n element.scrollIntoView && element.scrollIntoView({\n block: 'nearest',\n inline: 'start'\n });\n }\n },\n createProcessedItems: function createProcessedItems(items) {\n var _this12 = this;\n var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var parentKey = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var processedItems = [];\n items && items.forEach(function (item, index) {\n var key = (parentKey !== '' ? parentKey + '_' : '') + index;\n var newItem = {\n item: item,\n index: index,\n level: level,\n key: key,\n parent: parent,\n parentKey: parentKey\n };\n newItem['items'] = _this12.createProcessedItems(item.items, level + 1, newItem, key);\n processedItems.push(newItem);\n });\n return processedItems;\n },\n containerRef: function containerRef(el) {\n this.container = el;\n },\n menubarRef: function menubarRef(el) {\n this.menubar = el ? el.$el : undefined;\n }\n },\n computed: {\n processedItems: function processedItems() {\n return this.createProcessedItems(this.model || []);\n },\n visibleItems: function visibleItems() {\n var _this13 = this;\n var processedItem = this.activeItemPath.find(function (p) {\n return p.key === _this13.focusedItemInfo.parentKey;\n });\n return processedItem ? processedItem.items : this.processedItems;\n },\n focusedItemId: function focusedItemId() {\n return this.focusedItemInfo.index !== -1 ? \"\".concat(this.id).concat(isNotEmpty(this.focusedItemInfo.parentKey) ? '_' + this.focusedItemInfo.parentKey : '', \"_\").concat(this.focusedItemInfo.index) : null;\n }\n },\n components: {\n TieredMenuSub: script$1,\n Portal: Portal\n }\n};\n\nvar _hoisted_1 = [\"id\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_TieredMenuSub = resolveComponent(\"TieredMenuSub\");\n var _component_Portal = resolveComponent(\"Portal\");\n return openBlock(), createBlock(_component_Portal, {\n appendTo: _ctx.appendTo,\n disabled: !_ctx.popup\n }, {\n \"default\": withCtx(function () {\n return [createVNode(Transition, mergeProps({\n name: \"p-connected-overlay\",\n onEnter: $options.onEnter,\n onAfterEnter: $options.onAfterEnter,\n onLeave: $options.onLeave,\n onAfterLeave: $options.onAfterLeave\n }, _ctx.ptm('transition')), {\n \"default\": withCtx(function () {\n return [$data.visible ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n ref: $options.containerRef,\n id: $data.id,\n \"class\": _ctx.cx('root'),\n onClick: _cache[0] || (_cache[0] = function () {\n return $options.onOverlayClick && $options.onOverlayClick.apply($options, arguments);\n })\n }, _ctx.ptmi('root')), [_ctx.$slots.start ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('start')\n }, _ctx.ptm('start')), [renderSlot(_ctx.$slots, \"start\")], 16)) : createCommentVNode(\"\", true), createVNode(_component_TieredMenuSub, mergeProps({\n ref: $options.menubarRef,\n id: $data.id + '_list',\n \"class\": _ctx.cx('rootList'),\n tabindex: !_ctx.disabled ? _ctx.tabindex : -1,\n role: \"menubar\",\n \"aria-label\": _ctx.ariaLabel,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-disabled\": _ctx.disabled || undefined,\n \"aria-orientation\": \"vertical\",\n \"aria-activedescendant\": $data.focused ? $options.focusedItemId : undefined,\n menuId: $data.id,\n focusedItemId: $data.focused ? $options.focusedItemId : undefined,\n items: $options.processedItems,\n templates: _ctx.$slots,\n activeItemPath: $data.activeItemPath,\n level: 0,\n visible: $data.submenuVisible,\n pt: _ctx.pt,\n unstyled: _ctx.unstyled,\n onFocus: $options.onFocus,\n onBlur: $options.onBlur,\n onKeydown: $options.onKeyDown,\n onItemClick: $options.onItemClick,\n onItemMouseenter: $options.onItemMouseEnter,\n onItemMousemove: $options.onItemMouseMove\n }, _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({\n key: 1,\n \"class\": _ctx.cx('end')\n }, _ctx.ptm('end')), [renderSlot(_ctx.$slots, \"end\")], 16)) : createCommentVNode(\"\", true)], 16, _hoisted_1)) : createCommentVNode(\"\", true)];\n }),\n _: 3\n }, 16, [\"onEnter\", \"onAfterEnter\", \"onLeave\", \"onAfterLeave\"])];\n }),\n _: 3\n }, 8, [\"appendTo\", \"disabled\"]);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\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-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\");\n};\nvar classes = {\n root: function root(_ref2) {\n var instance = _ref2.instance,\n props = _ref2.props;\n return ['p-splitbutton p-component', {\n 'p-splitbutton-raised': props.raised,\n 'p-splitbutton-rounded': props.rounded,\n 'p-splitbutton-fluid': instance.hasFluid\n }];\n },\n pcButton: 'p-splitbutton-button',\n pcDropdown: 'p-splitbutton-dropdown'\n};\nvar SplitButtonStyle = BaseStyle.extend({\n name: 'splitbutton',\n theme: theme,\n classes: classes\n});\n\nexport { SplitButtonStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { isEmpty } from '@primeuix/utils/object';\nimport { UniqueComponentId } from '@primevue/core/utils';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport Button from 'primevue/button';\nimport TieredMenu from 'primevue/tieredmenu';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport SplitButtonStyle from 'primevue/splitbutton/style';\nimport { resolveComponent, openBlock, createElementBlock, mergeProps, createVNode, createSlots, withCtx, renderSlot, normalizeClass, createElementVNode, createBlock, resolveDynamicComponent } from 'vue';\n\nvar script$1 = {\n name: 'BaseSplitButton',\n \"extends\": BaseComponent,\n props: {\n label: {\n type: String,\n \"default\": null\n },\n icon: {\n type: String,\n \"default\": null\n },\n model: {\n type: Array,\n \"default\": null\n },\n autoZIndex: {\n type: Boolean,\n \"default\": true\n },\n baseZIndex: {\n type: Number,\n \"default\": 0\n },\n appendTo: {\n type: [String, Object],\n \"default\": 'body'\n },\n disabled: {\n type: Boolean,\n \"default\": false\n },\n fluid: {\n type: Boolean,\n \"default\": null\n },\n \"class\": {\n type: null,\n \"default\": null\n },\n style: {\n type: null,\n \"default\": null\n },\n buttonProps: {\n type: null,\n \"default\": null\n },\n menuButtonProps: {\n type: null,\n \"default\": null\n },\n menuButtonIcon: {\n type: String,\n \"default\": undefined\n },\n dropdownIcon: {\n type: String,\n \"default\": undefined\n },\n severity: {\n type: String,\n \"default\": null\n },\n raised: {\n type: Boolean,\n \"default\": false\n },\n rounded: {\n type: Boolean,\n \"default\": false\n },\n text: {\n type: Boolean,\n \"default\": false\n },\n outlined: {\n type: Boolean,\n \"default\": false\n },\n size: {\n type: String,\n \"default\": null\n },\n plain: {\n type: Boolean,\n \"default\": false\n }\n },\n style: SplitButtonStyle,\n provide: function provide() {\n return {\n $pcSplitButton: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'SplitButton',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['click'],\n inject: {\n $pcFluid: {\n \"default\": null\n }\n },\n data: function data() {\n return {\n id: this.$attrs.id,\n isExpanded: false\n };\n },\n watch: {\n '$attrs.id': function $attrsId(newValue) {\n this.id = newValue || UniqueComponentId();\n }\n },\n mounted: function mounted() {\n var _this = this;\n this.id = this.id || UniqueComponentId();\n this.$watch('$refs.menu.visible', function (newValue) {\n _this.isExpanded = newValue;\n });\n },\n methods: {\n onDropdownButtonClick: function onDropdownButtonClick(event) {\n if (event) {\n event.preventDefault();\n }\n this.$refs.menu.toggle({\n currentTarget: this.$el,\n relatedTarget: this.$refs.button.$el\n });\n this.isExpanded = this.$refs.menu.visible;\n },\n onDropdownKeydown: function onDropdownKeydown(event) {\n if (event.code === 'ArrowDown' || event.code === 'ArrowUp') {\n this.onDropdownButtonClick();\n event.preventDefault();\n }\n },\n onDefaultButtonClick: function onDefaultButtonClick(event) {\n if (this.isExpanded) {\n this.$refs.menu.hide(event);\n }\n this.$emit('click', event);\n }\n },\n computed: {\n containerClass: function containerClass() {\n return [this.cx('root'), this[\"class\"]];\n },\n hasFluid: function hasFluid() {\n return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid;\n }\n },\n components: {\n PVSButton: Button,\n PVSMenu: TieredMenu,\n ChevronDownIcon: ChevronDownIcon\n }\n};\n\nvar _hoisted_1 = [\"data-p-severity\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_PVSButton = resolveComponent(\"PVSButton\");\n var _component_PVSMenu = resolveComponent(\"PVSMenu\");\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": $options.containerClass,\n style: _ctx.style\n }, _ctx.ptmi('root'), {\n \"data-p-severity\": _ctx.severity\n }), [createVNode(_component_PVSButton, mergeProps({\n type: \"button\",\n \"class\": _ctx.cx('pcButton'),\n label: _ctx.label,\n disabled: _ctx.disabled,\n severity: _ctx.severity,\n text: _ctx.text,\n icon: _ctx.icon,\n outlined: _ctx.outlined,\n size: _ctx.size,\n fluid: _ctx.fluid,\n \"aria-label\": _ctx.label,\n onClick: $options.onDefaultButtonClick\n }, _ctx.buttonProps, {\n pt: _ctx.ptm('pcButton'),\n unstyled: _ctx.unstyled\n }), createSlots({\n \"default\": withCtx(function () {\n return [renderSlot(_ctx.$slots, \"default\")];\n }),\n _: 2\n }, [_ctx.$slots.icon ? {\n name: \"icon\",\n fn: withCtx(function (slotProps) {\n return [renderSlot(_ctx.$slots, \"icon\", {\n \"class\": normalizeClass(slotProps[\"class\"])\n }, function () {\n return [createElementVNode(\"span\", mergeProps({\n \"class\": [_ctx.icon, slotProps[\"class\"]]\n }, _ctx.ptm('pcButton')['icon'], {\n \"data-pc-section\": \"buttonicon\"\n }), null, 16)];\n })];\n }),\n key: \"0\"\n } : undefined]), 1040, [\"class\", \"label\", \"disabled\", \"severity\", \"text\", \"icon\", \"outlined\", \"size\", \"fluid\", \"aria-label\", \"onClick\", \"pt\", \"unstyled\"]), createVNode(_component_PVSButton, mergeProps({\n ref: \"button\",\n type: \"button\",\n \"class\": _ctx.cx('pcDropdown'),\n disabled: _ctx.disabled,\n \"aria-haspopup\": \"true\",\n \"aria-expanded\": $data.isExpanded,\n \"aria-controls\": $data.id + '_overlay',\n onClick: $options.onDropdownButtonClick,\n onKeydown: $options.onDropdownKeydown,\n severity: _ctx.severity,\n text: _ctx.text,\n outlined: _ctx.outlined,\n size: _ctx.size,\n unstyled: _ctx.unstyled\n }, _ctx.menuButtonProps, {\n pt: _ctx.ptm('pcDropdown')\n }), {\n icon: withCtx(function (slotProps) {\n return [renderSlot(_ctx.$slots, _ctx.$slots.dropdownicon ? 'dropdownicon' : 'menubuttonicon', {\n \"class\": normalizeClass(slotProps[\"class\"])\n }, function () {\n return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.menuButtonIcon || _ctx.dropdownIcon ? 'span' : 'ChevronDownIcon'), mergeProps({\n \"class\": [_ctx.dropdownIcon || _ctx.menuButtonIcon, slotProps[\"class\"]]\n }, _ctx.ptm('pcDropdown')['icon'], {\n \"data-pc-section\": \"menubuttonicon\"\n }), null, 16, [\"class\"]))];\n })];\n }),\n _: 3\n }, 16, [\"class\", \"disabled\", \"aria-expanded\", \"aria-controls\", \"onClick\", \"onKeydown\", \"severity\", \"text\", \"outlined\", \"size\", \"unstyled\", \"pt\"]), createVNode(_component_PVSMenu, {\n ref: \"menu\",\n id: $data.id + '_overlay',\n model: _ctx.model,\n popup: true,\n autoZIndex: _ctx.autoZIndex,\n baseZIndex: _ctx.baseZIndex,\n appendTo: _ctx.appendTo,\n unstyled: _ctx.unstyled,\n pt: _ctx.ptm('pcMenu')\n }, createSlots({\n _: 2\n }, [_ctx.$slots.menuitemicon ? {\n name: \"itemicon\",\n fn: withCtx(function (slotProps) {\n return [renderSlot(_ctx.$slots, \"menuitemicon\", {\n item: slotProps.item,\n \"class\": normalizeClass(slotProps[\"class\"])\n })];\n }),\n key: \"0\"\n } : undefined, _ctx.$slots.item ? {\n name: \"item\",\n fn: withCtx(function (slotProps) {\n return [renderSlot(_ctx.$slots, \"item\", {\n item: slotProps.item,\n hasSubmenu: slotProps.hasSubmenu,\n label: slotProps.label,\n props: slotProps.props\n })];\n }),\n key: \"1\"\n } : undefined]), 1032, [\"id\", \"model\", \"autoZIndex\", \"baseZIndex\", \"appendTo\", \"unstyled\", \"pt\"])], 16, _hoisted_1);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","import {\n useQueueSettingsStore,\n useQueuePendingTaskCountStore\n} from '@/stores/queueStore'\nimport { app } from '@/scripts/app'\nimport { api } from '@/scripts/api'\n\nexport function setupAutoQueueHandler() {\n const queueCountStore = useQueuePendingTaskCountStore()\n const queueSettingsStore = useQueueSettingsStore()\n\n let graphHasChanged = false\n let internalCount = 0 // Use an internal counter here so it is instantly updated when re-queuing\n api.addEventListener('graphChanged', () => {\n if (queueSettingsStore.mode === 'change') {\n if (internalCount) {\n graphHasChanged = true\n } else {\n graphHasChanged = false\n app.queuePrompt(0, queueSettingsStore.batchCount)\n internalCount++\n }\n }\n })\n\n queueCountStore.$subscribe(\n () => {\n internalCount = queueCountStore.count\n if (!internalCount && !app.lastExecutionError) {\n if (\n queueSettingsStore.mode === 'instant' ||\n (queueSettingsStore.mode === 'change' && graphHasChanged)\n ) {\n graphHasChanged = false\n app.queuePrompt(0, queueSettingsStore.batchCount)\n }\n }\n },\n { detached: true }\n )\n}\n","\n\n\n"],"names":["theme","classes","script$1","Badge","provide","script","render","item","inlineStyles","root","BaseComponent","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","_arrayLikeToArray","panels","_hoisted_1","_hoisted_2","createElementVNode","data","getPTOptions","_typeof$1","o","mounted","beforeUnmount","option","_hide","InputText","VirtualScroller","Portal","ChevronDownIcon","SpinnerIcon","Chip","_typeof","ownKeys","r","_objectSpread","_defineProperty","_toPropertyKey","_toPrimitive","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","onRemove","ref","_sfc_main","AutoComplete","suggestions","search","comfyApp","repeat","widget","BaseIcon","script$2","InfoCircleIcon","CheckIcon","ExclamationTriangleIcon","TimesCircleIcon","TimesIcon","render$1","message","getAriaPosInset","AngleRightIcon","AngleDownIcon","_hoisted_1$1","$attrsId","getItemProp","getItemLabel","isItemDisabled","isItemVisible","isItemGroup","show","hide","onFocus","onBlur","onKeyDown","activeItemPath","onItemClick","onItemMouseEnter","onItemMouseMove","onArrowDownKey","onArrowUpKey","onArrowLeftKey","onArrowRightKey","onHomeKey","onEndKey","onEnterKey","onEscapeKey","onTabKey","bindOutsideClickListener","unbindOutsideClickListener","bindResizeListener","unbindResizeListener","isSelected","scrollInView","processedItems","BarsIcon","toggle","PlusIcon","MinusIcon","Button","submenu","getItemId","getItemKey","getItemLabelId","isItemActive","isItemFocused","onEnter","getAriaSetSize","getMenuItemProps","containerRef","isItemSeparator","getProccessedItemLabel","isProccessedItemGroup","onItemChange","onOverlayClick","onSpaceKey","onLeave","alignOverlay","bindScrollListener","unbindScrollListener","bindMatchMediaListener","unbindMatchMediaListener","isItemMatched","isValidItem","isValidSelectedItem","findFirstItemIndex","findLastItemIndex","findNextItemIndex","findPrevItemIndex","findSelectedItemIndex","findFirstFocusedItemIndex","findLastFocusedItemIndex","searchItems","changeFocusedItemIndex","createProcessedItems","menubarRef","visibleItems","focusedItemId","hasFluid","TieredMenu","clamp"],"mappings":"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","x_google_ignoreList":[1,2,7,8,9,10,12,13,20,21,24,25,26,27,32,33,35,36,37,38,39,40]} \ No newline at end of file diff --git a/comfy/web/assets/KeybindingPanel-Cwwh2R-I.js b/comfy/web/assets/KeybindingPanel-DU4DXDix.js similarity index 93% rename from comfy/web/assets/KeybindingPanel-Cwwh2R-I.js rename to comfy/web/assets/KeybindingPanel-DU4DXDix.js index e86048611..01b1cf1e7 100644 --- a/comfy/web/assets/KeybindingPanel-Cwwh2R-I.js +++ b/comfy/web/assets/KeybindingPanel-DU4DXDix.js @@ -1,8 +1,8 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { d as defineComponent, q as computed, g as openBlock, h as createElementBlock, M as Fragment, N as renderList, i as createVNode, y as withCtx, an as createTextVNode, ak as toDisplayString, z as unref, ar as script, j as createCommentVNode, r as ref, bG as FilterMatchMode, K as useKeybindingStore, F as useCommandStore, aA as watchEffect, aY as useToast, t as resolveDirective, bH as SearchBox, A as createBaseVNode, D as script$2, x as createBlock, ad as script$4, b1 as withModifiers, ay as script$6, v as withDirectives, bx as KeyComboImpl, bI as KeybindingImpl, _ as _export_sfc } from "./index-CFrRuGBA.js"; -import { s as script$1, a as script$3, b as script$5 } from "./index-CN90wNx3.js"; -import "./index-CaUteDIK.js"; +import { d as defineComponent, q as computed, g as openBlock, h as createElementBlock, N as Fragment, O as renderList, i as createVNode, y as withCtx, au as createTextVNode, a4 as toDisplayString, z as unref, ay as script, j as createCommentVNode, r as ref, bN as FilterMatchMode, M as useKeybindingStore, F as useCommandStore, aH as watchEffect, b8 as useToast, t as resolveDirective, bO as SearchBox, A as createBaseVNode, D as script$2, x as createBlock, am as script$4, bd as withModifiers, aF as script$6, v as withDirectives, bJ as KeyComboImpl, bP as KeybindingImpl, _ as _export_sfc } from "./index-BNX_XOqh.js"; +import { s as script$1, a as script$3, b as script$5 } from "./index-B_uZlOM8.js"; +import "./index-nMMCMbCV.js"; const _hoisted_1$1 = { key: 0, class: "px-2" @@ -260,4 +260,4 @@ const KeybindingPanel = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "d export { KeybindingPanel as default }; -//# sourceMappingURL=KeybindingPanel-Cwwh2R-I.js.map +//# sourceMappingURL=KeybindingPanel-DU4DXDix.js.map diff --git a/comfy/web/assets/KeybindingPanel-Cwwh2R-I.js.map b/comfy/web/assets/KeybindingPanel-DU4DXDix.js.map similarity index 99% rename from comfy/web/assets/KeybindingPanel-Cwwh2R-I.js.map rename to comfy/web/assets/KeybindingPanel-DU4DXDix.js.map index 26b347a2d..7a403f5d1 100644 --- a/comfy/web/assets/KeybindingPanel-Cwwh2R-I.js.map +++ b/comfy/web/assets/KeybindingPanel-DU4DXDix.js.map @@ -1 +1 @@ -{"version":3,"file":"KeybindingPanel-Cwwh2R-I.js","sources":["../../src/components/dialog/content/setting/keybinding/KeyComboDisplay.vue","../../src/components/dialog/content/setting/KeybindingPanel.vue"],"sourcesContent":["\n\n\n","\n\n\n\n\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAgBA,UAAM,QAAQ;AAUd,UAAM,eAAe,SAAS,MAAM,MAAM,SAAS,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;AC8FpE,UAAM,UAAU,IAAI;AAAA,MAClB,QAAQ,EAAE,OAAO,IAAI,WAAW,gBAAgB,SAAS;AAAA,IAAA,CAC1D;AAED,UAAM,kBAAkB;AACxB,UAAM,eAAe;AAOf,UAAA,eAAe,SAAyB,MAAM;AAClD,aAAO,OAAO,OAAO,aAAa,QAAQ,EAAE,IAAI,CAAC,aAAa;AAAA,QAC5D,IAAI,QAAQ;AAAA,QACZ,YAAY,gBAAgB,yBAAyB,QAAQ,EAAE;AAAA,MAC/D,EAAA;AAAA,IAAA,CACH;AAEK,UAAA,sBAAsB,IAAyB,IAAI;AACnD,UAAA,oBAAoB,IAAI,KAAK;AAC7B,UAAA,qBAAqB,IAAyB,IAAI;AAClD,UAAA,wBAAwB,IAAyB,IAAI;AACrD,UAAA,kBAAkB,IAAI,IAAI;AAE1B,UAAA,4BAA4B,SAAgC,MAAM;AAClE,UAAA,CAAC,sBAAsB,OAAO;AACzB,eAAA;AAAA,MACT;AAIE,UAAA,sBAAsB,MAAM,YAAY,OAAO;AAAA,QAC7C,mBAAmB;AAAA,MAAA,GAErB;AACO,eAAA;AAAA,MACT;AAEI,UAAA,CAAC,mBAAmB,OAAO;AACtB,eAAA;AAAA,MACT;AAEO,aAAA,gBAAgB,cAAc,mBAAmB,KAAK;AAAA,IAAA,CAC9D;AAED,aAAS,eAAe,aAA2B;AACjD,4BAAsB,QAAQ;AAC9B,yBAAmB,QAAQ,YAAY,aACnC,YAAY,WAAW,QACvB;AACJ,wBAAkB,QAAQ;AAAA,IAC5B;AANS;AAQT,gBAAY,MAAM;AAChB,UAAI,kBAAkB,OAAO;AAE3B,mBAAW,MAAM;AACC,0BAAA,OAAO,KAAK;WAC3B,GAAG;AAAA,MACR;AAAA,IAAA,CACD;AAED,aAAS,iBAAiB,aAA2B;AACnD,UAAI,YAAY,YAAY;AACV,wBAAA,gBAAgB,YAAY,UAAU;AACtD,wBAAgB,uBAAuB;AAAA,MACzC;AAAA,IACF;AALS;AAOT,aAAS,kBAAkB,OAAsB;AACzC,YAAA,WAAW,aAAa,UAAU,KAAK;AAC7C,yBAAmB,QAAQ;AAAA,IAC7B;AAHS;AAKT,aAAS,aAAa;AACpB,wBAAkB,QAAQ;AAC1B,4BAAsB,QAAQ;AAC9B,yBAAmB,QAAQ;AAAA,IAC7B;AAJS;AAMT,aAAS,iBAAiB;AACpB,UAAA,sBAAsB,SAAS,mBAAmB,OAAO;AAC3D,cAAM,UAAU,gBAAgB;AAAA,UAC9B,IAAI,eAAe;AAAA,YACjB,WAAW,sBAAsB,MAAM;AAAA,YACvC,OAAO,mBAAmB;AAAA,UAAA,CAC3B;AAAA,QAAA;AAEH,YAAI,SAAS;AACX,0BAAgB,uBAAuB;AAAA,QACzC;AAAA,MACF;AACW;IACb;AAbS;AAeT,UAAM,QAAQ;AACd,mBAAe,mBAAmB;AAChC,sBAAgB,iBAAiB;AACjC,YAAM,gBAAgB;AACtB,YAAM,IAAI;AAAA,QACR,UAAU;AAAA,QACV,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,MAAM;AAAA,MAAA,CACP;AAAA,IACH;AATe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"KeybindingPanel-DU4DXDix.js","sources":["../../src/components/dialog/content/setting/keybinding/KeyComboDisplay.vue","../../src/components/dialog/content/setting/KeybindingPanel.vue"],"sourcesContent":["\n\n\n","\n\n\n\n\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAgBA,UAAM,QAAQ;AAUd,UAAM,eAAe,SAAS,MAAM,MAAM,SAAS,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;AC8FpE,UAAM,UAAU,IAAI;AAAA,MAClB,QAAQ,EAAE,OAAO,IAAI,WAAW,gBAAgB,SAAS;AAAA,IAAA,CAC1D;AAED,UAAM,kBAAkB;AACxB,UAAM,eAAe;AAOf,UAAA,eAAe,SAAyB,MAAM;AAClD,aAAO,OAAO,OAAO,aAAa,QAAQ,EAAE,IAAI,CAAC,aAAa;AAAA,QAC5D,IAAI,QAAQ;AAAA,QACZ,YAAY,gBAAgB,yBAAyB,QAAQ,EAAE;AAAA,MAC/D,EAAA;AAAA,IAAA,CACH;AAEK,UAAA,sBAAsB,IAAyB,IAAI;AACnD,UAAA,oBAAoB,IAAI,KAAK;AAC7B,UAAA,qBAAqB,IAAyB,IAAI;AAClD,UAAA,wBAAwB,IAAyB,IAAI;AACrD,UAAA,kBAAkB,IAAI,IAAI;AAE1B,UAAA,4BAA4B,SAAgC,MAAM;AAClE,UAAA,CAAC,sBAAsB,OAAO;AACzB,eAAA;AAAA,MACT;AAIE,UAAA,sBAAsB,MAAM,YAAY,OAAO;AAAA,QAC7C,mBAAmB;AAAA,MAAA,GAErB;AACO,eAAA;AAAA,MACT;AAEI,UAAA,CAAC,mBAAmB,OAAO;AACtB,eAAA;AAAA,MACT;AAEO,aAAA,gBAAgB,cAAc,mBAAmB,KAAK;AAAA,IAAA,CAC9D;AAED,aAAS,eAAe,aAA2B;AACjD,4BAAsB,QAAQ;AAC9B,yBAAmB,QAAQ,YAAY,aACnC,YAAY,WAAW,QACvB;AACJ,wBAAkB,QAAQ;AAAA,IAC5B;AANS;AAQT,gBAAY,MAAM;AAChB,UAAI,kBAAkB,OAAO;AAE3B,mBAAW,MAAM;AACC,0BAAA,OAAO,KAAK;WAC3B,GAAG;AAAA,MACR;AAAA,IAAA,CACD;AAED,aAAS,iBAAiB,aAA2B;AACnD,UAAI,YAAY,YAAY;AACV,wBAAA,gBAAgB,YAAY,UAAU;AACtD,wBAAgB,uBAAuB;AAAA,MACzC;AAAA,IACF;AALS;AAOT,aAAS,kBAAkB,OAAsB;AACzC,YAAA,WAAW,aAAa,UAAU,KAAK;AAC7C,yBAAmB,QAAQ;AAAA,IAC7B;AAHS;AAKT,aAAS,aAAa;AACpB,wBAAkB,QAAQ;AAC1B,4BAAsB,QAAQ;AAC9B,yBAAmB,QAAQ;AAAA,IAC7B;AAJS;AAMT,aAAS,iBAAiB;AACpB,UAAA,sBAAsB,SAAS,mBAAmB,OAAO;AAC3D,cAAM,UAAU,gBAAgB;AAAA,UAC9B,IAAI,eAAe;AAAA,YACjB,WAAW,sBAAsB,MAAM;AAAA,YACvC,OAAO,mBAAmB;AAAA,UAAA,CAC3B;AAAA,QAAA;AAEH,YAAI,SAAS;AACX,0BAAgB,uBAAuB;AAAA,QACzC;AAAA,MACF;AACW;IACb;AAbS;AAeT,UAAM,QAAQ;AACd,mBAAe,mBAAmB;AAChC,sBAAgB,iBAAiB;AACjC,YAAM,gBAAgB;AACtB,YAAM,IAAI;AAAA,QACR,UAAU;AAAA,QACV,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,MAAM;AAAA,MAAA,CACP;AAAA,IACH;AATe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/comfy/web/assets/index-CFrRuGBA.js b/comfy/web/assets/index-BNX_XOqh.js similarity index 98% rename from comfy/web/assets/index-CFrRuGBA.js rename to comfy/web/assets/index-BNX_XOqh.js index a52cbd991..be0c51c9f 100644 --- a/comfy/web/assets/index-CFrRuGBA.js +++ b/comfy/web/assets/index-BNX_XOqh.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./KeybindingPanel-Cwwh2R-I.js","./index-CN90wNx3.js","./index-CaUteDIK.js","./KeybindingPanel-BNYKhW1k.css","./ExtensionPanel-DSQ2O8Z9.js","./index-DTOGNau5.js","./widgetInputs-B4bHTYzE.js","./index-DjWyclij.css","./userSelection-vhU1ykfH.js","./userSelection-5XIfeQVB.css","./GraphView-vodtEF4p.js","./GraphView-DCFfls4D.css"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./KeybindingPanel-DU4DXDix.js","./index-B_uZlOM8.js","./index-nMMCMbCV.js","./KeybindingPanel-BNYKhW1k.css","./ExtensionPanel-BNXC3_Y5.js","./index-DNRGG-ix.js","./widgetInputs-B62b6cfl.js","./index-DjWyclij.css","./userSelection-C7IbQlVC.js","./userSelection-5XIfeQVB.css","./GraphView-BumSctau.js","./GraphView-DI5ePCmV.css"])))=>i.map(i=>d[i]); var __defProp2 = Object.defineProperty; var __name = (target, value3) => __defProp2(target, "name", { value: value3, configurable: true }); (/* @__PURE__ */ __name(function polyfill() { @@ -13153,7 +13153,7 @@ const vue_runtime_esmBundler = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Obj }, Symbol.toStringTag, { value: "Module" })); const config = { app_title: "ComfyUI", - app_version: "1.3.19" + app_version: "1.3.26" }; var isVue2 = false; var isVue3 = true; @@ -14880,26 +14880,35 @@ const PiniaVuePlugin = /* @__PURE__ */ __name(function(_Vue) { } }); }, "PiniaVuePlugin"); -const useToastStore = /* @__PURE__ */ defineStore("toast", { - state: /* @__PURE__ */ __name(() => ({ - messagesToAdd: [], - messagesToRemove: [], - removeAllRequested: false - }), "state"), - actions: { - add(message2) { - this.messagesToAdd = [...this.messagesToAdd, message2]; - }, - remove(message2) { - this.messagesToRemove = [...this.messagesToRemove, message2]; - }, - removeAll() { - this.removeAllRequested = true; - }, - addAlert(message2) { - this.add({ severity: "warn", summary: "Alert", detail: message2 }); - } +const useToastStore = /* @__PURE__ */ defineStore("toast", () => { + const messagesToAdd = ref([]); + const messagesToRemove = ref([]); + const removeAllRequested = ref(false); + function add2(message2) { + messagesToAdd.value = [...messagesToAdd.value, message2]; } + __name(add2, "add"); + function remove4(message2) { + messagesToRemove.value = [...messagesToRemove.value, message2]; + } + __name(remove4, "remove"); + function removeAll() { + removeAllRequested.value = true; + } + __name(removeAll, "removeAll"); + function addAlert(message2) { + add2({ severity: "warn", summary: "Alert", detail: message2 }); + } + __name(addAlert, "addAlert"); + return { + messagesToAdd, + messagesToRemove, + removeAllRequested, + add: add2, + remove: remove4, + removeAll, + addAlert + }; }); var util; (function(util2) { @@ -19492,7 +19501,8 @@ const zExecutingWsMessage = z.object({ prompt_id: zPromptId }); const zExecutedWsMessage = zExecutingWsMessage.extend({ - outputs: zOutputs + output: zOutputs, + merge: z.boolean().optional() }); const zExecutionWsMessageBase = z.object({ prompt_id: zPromptId, @@ -19518,13 +19528,6 @@ const zExecutionErrorWsMessage = zExecutionWsMessageBase.extend({ current_inputs: z.any(), current_outputs: z.any() }); -const zDownloadModelStatus = z.object({ - status: z.string(), - progress_percentage: z.number(), - message: z.string(), - download_path: z.string(), - already_existed: z.boolean() -}); const zPromptInputItem = z.object({ inputs: z.record(z.string(), z.any()), class_type: zNodeType @@ -19862,7 +19865,8 @@ const zSettings = z.record(z.any()).and( "Comfy.Keybinding.UnsetBindings": z.array(zKeybinding), "Comfy.Keybinding.NewBindings": z.array(zKeybinding), "Comfy.Extension.Disabled": z.array(z.string()), - "Comfy.Settings.ExtensionPanel": z.boolean() + "Comfy.Settings.ExtensionPanel": z.boolean(), + "Comfy.LinkRenderMode": z.number() }).optional() ); "use strict"; @@ -22378,13 +22382,20 @@ class ComfyApi extends EventTarget { #registered = /* @__PURE__ */ new Set(); api_host; api_base; + /** + * The client id from the initial session storage. + */ initialClientId; - user; - socket; + /** + * The current client id from websocket status updates. + */ clientId; + user; + socket = null; reportedUnknownMessageTypes = /* @__PURE__ */ new Set(); constructor() { super(); + this.user = ""; this.api_host = location.host; this.api_base = location.pathname.split("/").slice(0, -1).join("/"); console.log("Running on", this.api_host); @@ -22409,7 +22420,13 @@ class ComfyApi extends EventTarget { if (!options3.cache) { options3.cache = "no-cache"; } - options3.headers["Comfy-User"] = this.user; + if (Array.isArray(options3.headers)) { + options3.headers.push(["Comfy-User", this.user]); + } else if (options3.headers instanceof Headers) { + options3.headers.set("Comfy-User", this.user); + } else { + options3.headers["Comfy-User"] = this.user; + } return fetch(this.apiURL(route), options3); } addEventListener(type, callback, options3) { @@ -22525,9 +22542,10 @@ class ComfyApi extends EventTarget { switch (msg.type) { case "status": if (msg.data.sid) { - this.clientId = msg.data.sid; - window.name = this.clientId; - sessionStorage.setItem("clientId", this.clientId); + const clientId = msg.data.sid; + this.clientId = clientId; + window.name = clientId; + sessionStorage.setItem("clientId", clientId); } this.dispatchEvent( new CustomEvent("status", { detail: msg.data.status }) @@ -22570,11 +22588,6 @@ class ComfyApi extends EventTarget { new CustomEvent("execution_cached", { detail: msg.data }) ); break; - case "download_progress": - this.dispatchEvent( - new CustomEvent("download_progress", { detail: msg.data }) - ); - break; default: if (this.#registered.has(msg.type)) { this.dispatchEvent( @@ -22644,9 +22657,13 @@ class ComfyApi extends EventTarget { * @param {number} number The index at which to queue the prompt, passing -1 will insert the prompt at the front of the queue * @param {object} prompt The prompt data to queue */ - async queuePrompt(number2, { output, workflow }) { + async queuePrompt(number2, { + output, + workflow + }) { const body = { - client_id: this.clientId, + client_id: this.clientId ?? "", + // TODO: Unify clientId access prompt: output, extra_data: { extra_pnginfo: { workflow } } }; @@ -22676,9 +22693,12 @@ class ComfyApi extends EventTarget { async getModelFolders() { const res = await this.fetchApi(`/models`); if (res.status === 404) { - return null; + return []; } - return await res.json(); + const folderBlacklist = ["configs", "custom_nodes"]; + return (await res.json()).filter( + (folder) => !folderBlacklist.includes(folder) + ); } /** * Gets a list of models in the specified folder @@ -22688,7 +22708,7 @@ class ComfyApi extends EventTarget { async getModels(folder) { const res = await this.fetchApi(`/models/${folder}`); if (res.status === 404) { - return null; + return []; } return await res.json(); } @@ -22719,29 +22739,6 @@ class ComfyApi extends EventTarget { return null; } } - /** - * Tells the server to download a model from the specified URL to the specified directory and filename - * @param {string} url The URL to download the model from - * @param {string} model_directory The main directory (eg 'checkpoints') to save the model to - * @param {string} model_filename The filename to save the model as - * @param {number} progress_interval The interval in seconds at which to report download progress (via 'download_progress' event) - */ - async internalDownloadModel(url, model_directory, model_filename, progress_interval, folder_path) { - const res = await this.fetchApi("/internal/models/download", { - method: "POST", - headers: { - "Content-Type": "application/json" - }, - body: JSON.stringify({ - url, - model_directory, - model_filename, - progress_interval, - folder_path - }) - }); - return await res.json(); - } /** * Loads a list of items (queue or history) * @param {string} type The type of items to load, queue or history @@ -22950,12 +22947,15 @@ class ComfyApi extends EventTarget { ); return resp; } + /** + * @deprecated Use `listUserDataFullInfo` instead. + */ async listUserData(dir, recurse, split) { const resp = await this.fetchApi( `/userdata?${new URLSearchParams({ - recurse, + recurse: recurse ? "true" : "false", dir, - split + split: split ? "true" : "false" })}` ); if (resp.status === 404) return []; @@ -29071,16 +29071,16 @@ class ResultItemImpl { if (!this.isVhsFormat) { return defaultType; } - if (this.format.endsWith("webm")) { + if (this.format?.endsWith("webm")) { return "video/webm"; } - if (this.format.endsWith("mp4")) { + if (this.format?.endsWith("mp4")) { return "video/mp4"; } return defaultType; } get isVideo() { - return !this.isImage && this.format && this.format.startsWith("video/"); + return !this.isImage && !!this.format?.startsWith("video/"); } get isGif() { return this.filename.endsWith(".gif"); @@ -29108,7 +29108,7 @@ class TaskItemImpl { this.taskType = taskType; this.prompt = prompt; this.status = status; - this.outputs = outputs; + this.outputs = outputs ?? {}; this.flatOutputs = flatOutputs ?? this.calculateFlatOutputs(); } calculateFlatOutputs() { @@ -29262,79 +29262,85 @@ class TaskItemImpl { ); } } -const useQueueStore = /* @__PURE__ */ defineStore("queue", { - state: /* @__PURE__ */ __name(() => ({ - runningTasks: [], - pendingTasks: [], - historyTasks: [], - maxHistoryItems: 64, - isLoading: false - }), "state"), - getters: { - tasks(state) { - return [ - ...state.pendingTasks, - ...state.runningTasks, - ...state.historyTasks - ]; - }, - flatTasks() { - return this.tasks.flatMap((task) => task.flatten()); - }, - lastHistoryQueueIndex(state) { - return state.historyTasks.length ? state.historyTasks[0].queueIndex : -1; - }, - hasPendingTasks(state) { - return state.pendingTasks.length > 0; +const useQueueStore = /* @__PURE__ */ defineStore("queue", () => { + const runningTasks = ref([]); + const pendingTasks = ref([]); + const historyTasks = ref([]); + const maxHistoryItems = ref(64); + const isLoading = ref(false); + const tasks = computed( + () => [ + ...pendingTasks.value, + ...runningTasks.value, + ...historyTasks.value + ] + ); + const flatTasks = computed( + () => tasks.value.flatMap((task) => task.flatten()) + ); + const lastHistoryQueueIndex = computed( + () => historyTasks.value.length ? historyTasks.value[0].queueIndex : -1 + ); + const hasPendingTasks = computed(() => pendingTasks.value.length > 0); + const update = /* @__PURE__ */ __name(async () => { + isLoading.value = true; + try { + const [queue2, history2] = await Promise.all([ + api.getQueue(), + api.getHistory(maxHistoryItems.value) + ]); + const toClassAll = /* @__PURE__ */ __name((tasks2) => tasks2.map( + (task) => new TaskItemImpl( + task.taskType, + task.prompt, + // status and outputs only exist on history tasks + "status" in task ? task.status : void 0, + "outputs" in task ? task.outputs : void 0 + ) + ).sort((a, b) => b.queueIndex - a.queueIndex), "toClassAll"); + runningTasks.value = toClassAll(queue2.Running); + pendingTasks.value = toClassAll(queue2.Pending); + const allIndex = new Set( + history2.History.map((item2) => item2.prompt[0]) + ); + const newHistoryItems = toClassAll( + history2.History.filter( + (item2) => item2.prompt[0] > lastHistoryQueueIndex.value + ) + ); + const existingHistoryItems = historyTasks.value.filter( + (item2) => allIndex.has(item2.queueIndex) + ); + historyTasks.value = [...newHistoryItems, ...existingHistoryItems].slice(0, maxHistoryItems.value).sort((a, b) => b.queueIndex - a.queueIndex); + } finally { + isLoading.value = false; } - }, - actions: { - // Fetch the queue data from the API - async update() { - this.isLoading = true; - try { - const [queue2, history2] = await Promise.all([ - api.getQueue(), - api.getHistory(this.maxHistoryItems) - ]); - const toClassAll = /* @__PURE__ */ __name((tasks) => tasks.map( - (task) => new TaskItemImpl( - task.taskType, - task.prompt, - task["status"], - task["outputs"] || {} - ) - ).sort((a, b) => b.queueIndex - a.queueIndex), "toClassAll"); - this.runningTasks = toClassAll(queue2.Running); - this.pendingTasks = toClassAll(queue2.Pending); - const allIndex = new Set( - history2.History.map((item2) => item2.prompt[0]) - ); - const newHistoryItems = toClassAll( - history2.History.filter( - (item2) => item2.prompt[0] > this.lastHistoryQueueIndex - ) - ); - const existingHistoryItems = this.historyTasks.filter( - (item2) => allIndex.has(item2.queueIndex) - ); - this.historyTasks = [...newHistoryItems, ...existingHistoryItems].slice(0, this.maxHistoryItems).sort((a, b) => b.queueIndex - a.queueIndex); - } finally { - this.isLoading = false; - } - }, - async clear(targets = ["queue", "history"]) { - if (targets.length === 0) { - return; - } - await Promise.all(targets.map((type) => api.clearItems(type))); - await this.update(); - }, - async delete(task) { - await api.deleteItem(task.apiTaskType, task.promptId); - await this.update(); + }, "update"); + const clear2 = /* @__PURE__ */ __name(async (targets = ["queue", "history"]) => { + if (targets.length === 0) { + return; } - } + await Promise.all(targets.map((type) => api.clearItems(type))); + await update(); + }, "clear"); + const deleteTask = /* @__PURE__ */ __name(async (task) => { + await api.deleteItem(task.apiTaskType, task.promptId); + await update(); + }, "deleteTask"); + return { + runningTasks, + pendingTasks, + historyTasks, + maxHistoryItems, + isLoading, + tasks, + flatTasks, + lastHistoryQueueIndex, + hasPendingTasks, + update, + clear: clear2, + delete: deleteTask + }; }); const useQueuePendingTaskCountStore = /* @__PURE__ */ defineStore( "queuePendingTaskCount", @@ -29598,31500 +29604,12 @@ const findNodeByKey = /* @__PURE__ */ __name((root23, key) => { } return null; }, "findNodeByKey"); -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.NodeSearchBoxImpl.LinkReleaseTrigger", - category: ["Comfy", "Node Search Box", "LinkReleaseTrigger"], - name: "Trigger on link release", - type: "hidden", - options: Object.values(LinkReleaseTriggerMode), - defaultValue: LinkReleaseTriggerMode.ALWAYS, - deprecated: true - }, - { - id: "Comfy.LinkRelease.Action", - name: "Action on link release (No modifier)", - type: "combo", - options: Object.values(LinkReleaseTriggerAction), - defaultValue: LinkReleaseTriggerAction.CONTEXT_MENU - }, - { - id: "Comfy.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: ["Comfy", "Sidebar", "Location"], - name: "Sidebar location", - type: "combo", - options: ["left", "right"], - defaultValue: "left" - }, - { - id: "Comfy.Sidebar.Size", - category: ["Comfy", "Sidebar", "Size"], - name: "Sidebar size", - type: "combo", - options: ["normal", "small"], - defaultValue: window.innerWidth < 1600 ? "small" : "normal" - }, - { - id: "Comfy.TextareaWidget.FontSize", - category: ["Comfy", "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", - name: "Show canvas info (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", - 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", - 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", - name: "Group selected nodes padding", - type: "slider", - defaultValue: 10, - attrs: { - min: 0, - max: 100 - } - }, - { - id: "Comfy.Node.DoubleClickTitleToEdit", - name: "Double click node title to edit", - type: "boolean", - defaultValue: true - }, - { - id: "Comfy.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: false - }, - { - id: "Comfy.TreeExplorer.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: "Locale", - type: "combo", - options: ["en", "zh", "ru"], - defaultValue: navigator.language.split("-")[0] || "en" - }, - { - id: "Comfy.NodeBadge.NodeSourceBadgeMode", - name: "Node source badge mode", - type: "combo", - options: Object.values(NodeBadgeMode), - defaultValue: NodeBadgeMode.HideBuiltIn - }, - { - id: "Comfy.NodeBadge.NodeIdBadgeMode", - name: "Node ID badge mode", - type: "combo", - options: [NodeBadgeMode.None, NodeBadgeMode.ShowAll], - defaultValue: NodeBadgeMode.ShowAll - }, - { - id: "Comfy.NodeBadge.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: ["Comfy", "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: ["Comfy", "Node Widget", "DisableSliders"], - name: "Disable node widget sliders", - type: "boolean", - defaultValue: false - }, - { - id: "Comfy.DisableFloatRounding", - category: ["Comfy", "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: ["Comfy", "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: ["Comfy", "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((value3) => { - const element = document.getElementById("comfy-dev-save-api-button"); - if (element) { - element.style.display = value3 ? "flex" : "none"; - } - }, "onChange") - }, - { - id: "Comfy.UseNewMenu", - category: ["Comfy", "Menu", "UseNewMenu"], - defaultValue: "Disabled", - name: "Use new menu and workflow management.", - experimental: true, - type: "combo", - options: ["Disabled", "Top", "Bottom"], - migrateDeprecatedValue: /* @__PURE__ */ __name((value3) => { - if (value3 === "Floating") { - return "Top"; - } - return value3; - }, "migrateDeprecatedValue") - }, - { - id: "Comfy.Workflow.WorkflowTabsPosition", - name: "Opened workflows position", - type: "combo", - options: ["Sidebar", "Topbar"], - defaultValue: "Sidebar" - }, - { - id: "Comfy.Graph.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" - }, - { - 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.Settings.ExtensionPanel", - name: "Show extension panel in settings dialog", - type: "boolean", - defaultValue: false, - experimental: true, - 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" - } -]; -const useSettingStore = /* @__PURE__ */ defineStore("setting", { - state: /* @__PURE__ */ __name(() => ({ - settingValues: {}, - settings: {} - }), "state"), - getters: { - // Setting tree structure used for the settings dialog display. - settingTree() { - const root23 = buildTree( - Object.values(this.settings).filter( - (setting) => setting.type !== "hidden" - ), - (setting) => setting.category || setting.id.split(".") - ); - const floatingSettings = root23.children.filter((node3) => node3.leaf); - if (floatingSettings.length) { - root23.children = root23.children.filter((node3) => !node3.leaf); - root23.children.push({ - key: "Other", - label: "Other", - leaf: false, - children: floatingSettings - }); - } - return root23; - } - }, - actions: { - addSettings(settings) { - for (const id3 in settings.settingsLookup) { - const value3 = settings.getSettingValue(id3); - this.settingValues[id3] = value3; - } - this.settings = settings.settingsParamLookup; - CORE_SETTINGS.forEach((setting) => { - settings.addSetting(setting); - }); - }, - async set(key, value3) { - this.settingValues[key] = value3; - await app$1.ui.settings.setSettingValueAsync(key, value3); - }, - get(key) { - return this.settingValues[key] ?? app$1.ui.settings.getSettingDefaultValue(key); - } - } -}); -class ComfySettingsDialog extends ComfyDialog$1 { - static { - __name(this, "ComfySettingsDialog"); - } - app; - settingsValues; - settingsLookup; - settingsParamLookup; - constructor(app2) { - super(); - const frontendVersion = window["__COMFYUI_FRONTEND_VERSION__"]; - this.app = app2; - this.settingsValues = {}; - this.settingsLookup = {}; - this.settingsParamLookup = {}; - this.element = $el( - "dialog", - { - id: "comfy-settings-dialog", - parent: document.body - }, - [ - $el("table.comfy-modal-content.comfy-table", [ - $el( - "caption", - { textContent: `Settings (v${frontendVersion})` }, - $el("button.comfy-btn", { - type: "button", - textContent: "×", - onclick: /* @__PURE__ */ __name(() => { - this.element.close(); - }, "onclick") - }) - ), - $el("tbody", { $: /* @__PURE__ */ __name((tbody) => this.textElement = tbody, "$") }), - $el("button", { - type: "button", - textContent: "Close", - style: { - cursor: "pointer" - }, - onclick: /* @__PURE__ */ __name(() => { - this.element.close(); - }, "onclick") - }) - ]) - ] - ); - } - get settings() { - return Object.values(this.settingsLookup); - } - tryMigrateDeprecatedValue(id3, value3) { - if (this.app.vueAppReady) { - const settingStore = useSettingStore(); - const setting = settingStore.settings[id3]; - if (setting?.migrateDeprecatedValue) { - return setting.migrateDeprecatedValue(value3); - } - } - return value3; - } - #dispatchChange(id3, value3, oldValue) { - if (this.app.vueAppReady) { - useSettingStore().settingValues[id3] = value3; - } - this.dispatchEvent( - new CustomEvent(id3 + ".change", { - detail: { - value: value3, - oldValue - } - }) - ); - } - async load() { - if (this.app.storageLocation === "browser") { - this.settingsValues = localStorage; - } else { - this.settingsValues = await api.getSettings(); - } - for (const id3 in this.settingsLookup) { - const compatId = this.getId(id3); - this.settingsValues[compatId] = this.tryMigrateDeprecatedValue( - id3, - this.settingsValues[compatId] - ); - const value3 = this.settingsValues[compatId]; - this.settingsLookup[id3].onChange?.(value3); - this.#dispatchChange(id3, value3); - } - } - getId(id3) { - if (this.app.storageLocation === "browser") { - id3 = "Comfy.Settings." + id3; - } - return id3; - } - getSettingValue(id3, defaultValue) { - let value3 = this.settingsValues[this.getId(id3)]; - if (value3 != null) { - if (this.app.storageLocation === "browser") { - try { - value3 = JSON.parse(value3); - } catch (error) { - } - } - } - return value3 ?? defaultValue; - } - getSettingDefaultValue(id3) { - const param = this.settingsParamLookup[id3]; - return param?.defaultValue; - } - async setSettingValueAsync(id3, value3) { - value3 = this.tryMigrateDeprecatedValue(id3, value3); - const json = JSON.stringify(value3); - localStorage["Comfy.Settings." + id3] = json; - let oldValue = this.getSettingValue(id3, void 0); - this.settingsValues[this.getId(id3)] = value3; - if (id3 in this.settingsLookup) { - this.settingsLookup[id3].onChange?.(value3, oldValue); - } - this.#dispatchChange(id3, value3, oldValue); - await api.storeSetting(id3, value3); - } - setSettingValue(id3, value3) { - this.setSettingValueAsync(id3, value3).catch((err) => { - useToastStore().addAlert(`Error saving setting '${id3}': ${err}`); - }); - } - refreshSetting(id3) { - const value3 = this.getSettingValue(id3); - this.settingsLookup[id3].onChange?.(value3); - this.#dispatchChange(id3, value3); - } - addSetting(params) { - const { - id: id3, - name, - type, - defaultValue, - onChange: onChange4, - attrs: attrs3 = {}, - tooltip = "", - options: options3 = void 0 - } = params; - if (!id3) { - throw new Error("Settings must have an ID"); - } - if (id3 in this.settingsLookup) { - throw new Error(`Setting ${id3} of type ${type} must have a unique ID.`); - } - let skipOnChange = false; - let value3 = this.getSettingValue(id3); - if (value3 == null) { - if (this.app.isNewUserSession) { - const localValue = localStorage["Comfy.Settings." + id3]; - if (localValue) { - value3 = JSON.parse(localValue); - this.setSettingValue(id3, value3); - } - } - if (value3 == null) { - value3 = defaultValue; - } - } - if (!skipOnChange) { - onChange4?.(value3, void 0); - this.#dispatchChange(id3, value3); - } - this.settingsParamLookup[id3] = params; - if (this.app.vueAppReady) { - useSettingStore().settings[id3] = params; - } - this.settingsLookup[id3] = { - id: id3, - onChange: onChange4, - name, - render: /* @__PURE__ */ __name(() => { - if (type === "hidden") return; - const setter = /* @__PURE__ */ __name((v2) => { - if (onChange4) { - onChange4(v2, value3); - } - this.setSettingValue(id3, v2); - value3 = v2; - }, "setter"); - value3 = this.getSettingValue(id3, defaultValue); - let element; - const htmlID = id3.replaceAll(".", "-"); - const labelCell = $el("td", [ - $el("label", { - for: htmlID, - classList: [tooltip !== "" ? "comfy-tooltip-indicator" : ""], - textContent: name - }) - ]); - if (typeof type === "function") { - element = type(name, setter, value3, attrs3); - } else { - switch (type) { - case "boolean": - element = $el("tr", [ - labelCell, - $el("td", [ - $el("input", { - id: htmlID, - type: "checkbox", - checked: value3, - onchange: /* @__PURE__ */ __name((event2) => { - const isChecked2 = event2.target.checked; - if (onChange4 !== void 0) { - onChange4(isChecked2); - } - this.setSettingValue(id3, isChecked2); - }, "onchange") - }) - ]) - ]); - break; - case "number": - element = $el("tr", [ - labelCell, - $el("td", [ - $el("input", { - type, - value: value3, - id: htmlID, - oninput: /* @__PURE__ */ __name((e) => { - setter(e.target.value); - }, "oninput"), - ...attrs3 - }) - ]) - ]); - break; - case "slider": - element = $el("tr", [ - labelCell, - $el("td", [ - $el( - "div", - { - style: { - display: "grid", - gridAutoFlow: "column" - } - }, - [ - $el("input", { - ...attrs3, - value: value3, - type: "range", - oninput: /* @__PURE__ */ __name((e) => { - setter(e.target.value); - e.target.nextElementSibling.value = e.target.value; - }, "oninput") - }), - $el("input", { - ...attrs3, - value: value3, - id: htmlID, - type: "number", - style: { maxWidth: "4rem" }, - oninput: /* @__PURE__ */ __name((e) => { - setter(e.target.value); - e.target.previousElementSibling.value = e.target.value; - }, "oninput") - }) - ] - ) - ]) - ]); - break; - case "combo": - element = $el("tr", [ - labelCell, - $el("td", [ - $el( - "select", - { - oninput: /* @__PURE__ */ __name((e) => { - setter(e.target.value); - }, "oninput") - }, - (typeof options3 === "function" ? options3(value3) : options3 || []).map((opt) => { - if (typeof opt === "string") { - opt = { text: opt }; - } - const v2 = opt.value ?? opt.text; - return $el("option", { - value: v2, - textContent: opt.text, - selected: value3 + "" === v2 + "" - }); - }) - ) - ]) - ]); - break; - case "text": - default: - if (type !== "text") { - console.warn( - `Unsupported setting type '${type}, defaulting to text` - ); - } - element = $el("tr", [ - labelCell, - $el("td", [ - $el("input", { - value: value3, - id: htmlID, - oninput: /* @__PURE__ */ __name((e) => { - setter(e.target.value); - }, "oninput"), - ...attrs3 - }) - ]) - ]); - break; - } - } - if (tooltip) { - element.title = tooltip; - } - return element; - }, "render") - }; - const self2 = this; - return { - get value() { - return self2.getSettingValue(id3, defaultValue); - }, - set value(v2) { - self2.setSettingValue(id3, v2); - } - }; - } - show() { - this.textElement.replaceChildren( - $el( - "tr", - { - style: { display: "none" } - }, - [$el("th"), $el("th", { style: { width: "33%" } })] - ), - ...this.settings.sort((a, b) => a.name.localeCompare(b.name)).map((s) => s.render()).filter(Boolean) - ); - this.element.showModal(); - } -} -window.comfyAPI = window.comfyAPI || {}; -window.comfyAPI.settings = window.comfyAPI.settings || {}; -window.comfyAPI.settings.ComfySettingsDialog = ComfySettingsDialog; -const useDialogStore = /* @__PURE__ */ defineStore("dialog", { - state: /* @__PURE__ */ __name(() => ({ - isVisible: false, - title: "", - headerComponent: null, - component: null, - props: {}, - dialogComponentProps: {} - }), "state"), - actions: { - showDialog(options3) { - this.isVisible = true; - nextTick(() => { - this.title = options3.title ?? ""; - this.headerComponent = options3.headerComponent ? markRaw(options3.headerComponent) : null; - this.component = markRaw(options3.component); - this.props = options3.props || {}; - this.dialogComponentProps = options3.dialogComponentProps || {}; - }); - }, - closeDialog() { - if (this.dialogComponentProps.onClose) { - this.dialogComponentProps.onClose(); - } - this.isVisible = false; - } - } -}); -function hasClass(element, className) { - if (element) { - if (element.classList) return element.classList.contains(className); - else return new RegExp("(^| )" + className + "( |$)", "gi").test(element.className); - } - return false; -} -__name(hasClass, "hasClass"); -function addClass(element, className) { - if (element && className) { - const fn = /* @__PURE__ */ __name((_className) => { - if (!hasClass(element, _className)) { - if (element.classList) element.classList.add(_className); - else element.className += " " + _className; - } - }, "fn"); - [className].flat().filter(Boolean).forEach((_classNames) => _classNames.split(" ").forEach(fn)); - } -} -__name(addClass, "addClass"); -function calculateBodyScrollbarWidth() { - return window.innerWidth - document.documentElement.offsetWidth; -} -__name(calculateBodyScrollbarWidth, "calculateBodyScrollbarWidth"); -function getCSSVariableByRegex(variableRegex) { - for (const sheet of document == null ? void 0 : document.styleSheets) { - try { - for (const rule of sheet == null ? void 0 : sheet.cssRules) { - for (const property of rule == null ? void 0 : rule.style) { - if (variableRegex.test(property)) { - return { name: property, value: rule.style.getPropertyValue(property).trim() }; - } - } - } - } catch (e) { - } - } - return null; -} -__name(getCSSVariableByRegex, "getCSSVariableByRegex"); -function blockBodyScroll(className = "p-overflow-hidden") { - const variableData = getCSSVariableByRegex(/-scrollbar-width$/); - (variableData == null ? void 0 : variableData.name) && document.body.style.setProperty(variableData.name, calculateBodyScrollbarWidth() + "px"); - addClass(document.body, className); -} -__name(blockBodyScroll, "blockBodyScroll"); -function saveAs(file) { - if (file) { - let link = document.createElement("a"); - if (link.download !== void 0) { - const { name, src } = file; - link.setAttribute("href", src); - link.setAttribute("download", name); - link.style.display = "none"; - document.body.appendChild(link); - link.click(); - document.body.removeChild(link); - return true; - } - } - return false; -} -__name(saveAs, "saveAs"); -function exportCSV(csv, filename) { - let blob = new Blob([csv], { - type: "application/csv;charset=utf-8;" - }); - if (window.navigator.msSaveOrOpenBlob) { - navigator.msSaveOrOpenBlob(blob, filename + ".csv"); - } else { - const isDownloaded = saveAs({ name: filename + ".csv", src: URL.createObjectURL(blob) }); - if (!isDownloaded) { - csv = "data:text/csv;charset=utf-8," + csv; - window.open(encodeURI(csv)); - } - } -} -__name(exportCSV, "exportCSV"); -function removeClass(element, className) { - if (element && className) { - const fn = /* @__PURE__ */ __name((_className) => { - if (element.classList) element.classList.remove(_className); - else element.className = element.className.replace(new RegExp("(^|\\b)" + _className.split(" ").join("|") + "(\\b|$)", "gi"), " "); - }, "fn"); - [className].flat().filter(Boolean).forEach((_classNames) => _classNames.split(" ").forEach(fn)); - } -} -__name(removeClass, "removeClass"); -function unblockBodyScroll(className = "p-overflow-hidden") { - const variableData = getCSSVariableByRegex(/-scrollbar-width$/); - (variableData == null ? void 0 : variableData.name) && document.body.style.removeProperty(variableData.name); - removeClass(document.body, className); -} -__name(unblockBodyScroll, "unblockBodyScroll"); -function getHiddenElementDimensions(element) { - let dimensions = { width: 0, height: 0 }; - if (element) { - element.style.visibility = "hidden"; - element.style.display = "block"; - dimensions.width = element.offsetWidth; - dimensions.height = element.offsetHeight; - element.style.display = "none"; - element.style.visibility = "visible"; - } - return dimensions; -} -__name(getHiddenElementDimensions, "getHiddenElementDimensions"); -function getViewport() { - let win = window, d = document, e = d.documentElement, g = d.getElementsByTagName("body")[0], w2 = win.innerWidth || e.clientWidth || g.clientWidth, h2 = win.innerHeight || e.clientHeight || g.clientHeight; - return { width: w2, height: h2 }; -} -__name(getViewport, "getViewport"); -function getWindowScrollLeft() { - let doc2 = document.documentElement; - return (window.pageXOffset || doc2.scrollLeft) - (doc2.clientLeft || 0); -} -__name(getWindowScrollLeft, "getWindowScrollLeft"); -function getWindowScrollTop() { - let doc2 = document.documentElement; - return (window.pageYOffset || doc2.scrollTop) - (doc2.clientTop || 0); -} -__name(getWindowScrollTop, "getWindowScrollTop"); -function absolutePosition(element, target, gutter = true) { - var _a, _b, _c, _d; - if (element) { - const elementDimensions = element.offsetParent ? { width: element.offsetWidth, height: element.offsetHeight } : getHiddenElementDimensions(element); - const elementOuterHeight = elementDimensions.height; - const elementOuterWidth = elementDimensions.width; - const targetOuterHeight = target.offsetHeight; - const targetOuterWidth = target.offsetWidth; - const targetOffset = target.getBoundingClientRect(); - const windowScrollTop = getWindowScrollTop(); - const windowScrollLeft = getWindowScrollLeft(); - const viewport = getViewport(); - let top, left, origin2 = "top"; - if (targetOffset.top + targetOuterHeight + elementOuterHeight > viewport.height) { - top = targetOffset.top + windowScrollTop - elementOuterHeight; - origin2 = "bottom"; - if (top < 0) { - top = windowScrollTop; - } - } else { - top = targetOuterHeight + targetOffset.top + windowScrollTop; - } - if (targetOffset.left + elementOuterWidth > viewport.width) left = Math.max(0, targetOffset.left + windowScrollLeft + targetOuterWidth - elementOuterWidth); - else left = targetOffset.left + windowScrollLeft; - element.style.top = top + "px"; - element.style.left = left + "px"; - element.style.transformOrigin = origin2; - gutter && (element.style.marginTop = origin2 === "bottom" ? `calc(${(_b = (_a = getCSSVariableByRegex(/-anchor-gutter$/)) == null ? void 0 : _a.value) != null ? _b : "2px"} * -1)` : (_d = (_c = getCSSVariableByRegex(/-anchor-gutter$/)) == null ? void 0 : _c.value) != null ? _d : ""); - } -} -__name(absolutePosition, "absolutePosition"); -function addStyle(element, style) { - if (element) { - if (typeof style === "string") { - element.style.cssText = style; - } else { - Object.entries(style || {}).forEach(([key, value3]) => element.style[key] = value3); - } - } -} -__name(addStyle, "addStyle"); -function getOuterWidth(element, margin) { - if (element instanceof HTMLElement) { - let width2 = element.offsetWidth; - if (margin) { - let style = getComputedStyle(element); - width2 += parseFloat(style.marginLeft) + parseFloat(style.marginRight); - } - return width2; - } - return 0; -} -__name(getOuterWidth, "getOuterWidth"); -function relativePosition(element, target, gutter = true) { - var _a, _b, _c, _d; - if (element) { - const elementDimensions = element.offsetParent ? { width: element.offsetWidth, height: element.offsetHeight } : getHiddenElementDimensions(element); - const targetHeight = target.offsetHeight; - const targetOffset = target.getBoundingClientRect(); - const viewport = getViewport(); - let top, left, origin2 = "top"; - if (targetOffset.top + targetHeight + elementDimensions.height > viewport.height) { - top = -1 * elementDimensions.height; - origin2 = "bottom"; - if (targetOffset.top + top < 0) { - top = -1 * targetOffset.top; - } - } else { - top = targetHeight; - } - if (elementDimensions.width > viewport.width) { - left = targetOffset.left * -1; - } else if (targetOffset.left + elementDimensions.width > viewport.width) { - left = (targetOffset.left + elementDimensions.width - viewport.width) * -1; - } else { - left = 0; - } - element.style.top = top + "px"; - element.style.left = left + "px"; - element.style.transformOrigin = origin2; - gutter && (element.style.marginTop = origin2 === "bottom" ? `calc(${(_b = (_a = getCSSVariableByRegex(/-anchor-gutter$/)) == null ? void 0 : _a.value) != null ? _b : "2px"} * -1)` : (_d = (_c = getCSSVariableByRegex(/-anchor-gutter$/)) == null ? void 0 : _c.value) != null ? _d : ""); - } -} -__name(relativePosition, "relativePosition"); -function alignOverlay(overlay, target, appendTo, calculateMinWidth = true) { - if (overlay && target) { - if (appendTo === "self") { - relativePosition(overlay, target); - } else { - calculateMinWidth && (overlay.style.minWidth = getOuterWidth(target) + "px"); - absolutePosition(overlay, target); - } - } -} -__name(alignOverlay, "alignOverlay"); -function isElement(element) { - return typeof HTMLElement === "object" ? element instanceof HTMLElement : element && typeof element === "object" && element !== null && element.nodeType === 1 && typeof element.nodeName === "string"; -} -__name(isElement, "isElement"); -function toElement(element) { - let target = element; - if (element && typeof element === "object") { - if (element.hasOwnProperty("current")) { - target = element.current; - } else if (element.hasOwnProperty("el")) { - if (element.el.hasOwnProperty("nativeElement")) { - target = element.el.nativeElement; - } else { - target = element.el; - } - } - } - return isElement(target) ? target : void 0; -} -__name(toElement, "toElement"); -function appendChild(element, child) { - const target = toElement(element); - if (target) target.appendChild(child); - else throw new Error("Cannot append " + child + " to " + element); -} -__name(appendChild, "appendChild"); -var calculatedScrollbarHeight = void 0; -function calculateScrollbarHeight(element) { - if (element) { - let style = getComputedStyle(element); - return element.offsetHeight - element.clientHeight - parseFloat(style.borderTopWidth) - parseFloat(style.borderBottomWidth); - } else { - if (calculatedScrollbarHeight != null) return calculatedScrollbarHeight; - let scrollDiv = document.createElement("div"); - addStyle(scrollDiv, { - width: "100px", - height: "100px", - overflow: "scroll", - position: "absolute", - top: "-9999px" - }); - document.body.appendChild(scrollDiv); - let scrollbarHeight = scrollDiv.offsetHeight - scrollDiv.clientHeight; - document.body.removeChild(scrollDiv); - calculatedScrollbarHeight = scrollbarHeight; - return scrollbarHeight; - } -} -__name(calculateScrollbarHeight, "calculateScrollbarHeight"); -var calculatedScrollbarWidth = void 0; -function calculateScrollbarWidth(element) { - if (element) { - let style = getComputedStyle(element); - return element.offsetWidth - element.clientWidth - parseFloat(style.borderLeftWidth) - parseFloat(style.borderRightWidth); - } else { - if (calculatedScrollbarWidth != null) return calculatedScrollbarWidth; - let scrollDiv = document.createElement("div"); - addStyle(scrollDiv, { - width: "100px", - height: "100px", - overflow: "scroll", - position: "absolute", - top: "-9999px" - }); - document.body.appendChild(scrollDiv); - let scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth; - document.body.removeChild(scrollDiv); - calculatedScrollbarWidth = scrollbarWidth; - return scrollbarWidth; - } -} -__name(calculateScrollbarWidth, "calculateScrollbarWidth"); -function clearSelection() { - if (window.getSelection) { - const selection = window.getSelection() || {}; - if (selection.empty) { - selection.empty(); - } else if (selection.removeAllRanges && selection.rangeCount > 0 && selection.getRangeAt(0).getClientRects().length > 0) { - selection.removeAllRanges(); - } - } -} -__name(clearSelection, "clearSelection"); -function setAttributes(element, attributes = {}) { - if (isElement(element)) { - const computedStyles = /* @__PURE__ */ __name((rule, value3) => { - var _a, _b; - const styles = ((_a = element == null ? void 0 : element.$attrs) == null ? void 0 : _a[rule]) ? [(_b = element == null ? void 0 : element.$attrs) == null ? void 0 : _b[rule]] : []; - return [value3].flat().reduce((cv, v2) => { - if (v2 !== null && v2 !== void 0) { - const type = typeof v2; - if (type === "string" || type === "number") { - cv.push(v2); - } else if (type === "object") { - const _cv = Array.isArray(v2) ? computedStyles(rule, v2) : Object.entries(v2).map(([_k, _v]) => rule === "style" && (!!_v || _v === 0) ? `${_k.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}:${_v}` : !!_v ? _k : void 0); - cv = _cv.length ? cv.concat(_cv.filter((c) => !!c)) : cv; - } - } - return cv; - }, styles); - }, "computedStyles"); - Object.entries(attributes).forEach(([key, value3]) => { - if (value3 !== void 0 && value3 !== null) { - const matchedEvent = key.match(/^on(.+)/); - if (matchedEvent) { - element.addEventListener(matchedEvent[1].toLowerCase(), value3); - } else if (key === "p-bind") { - setAttributes(element, value3); - } else { - value3 = key === "class" ? [...new Set(computedStyles("class", value3))].join(" ").trim() : key === "style" ? computedStyles("style", value3).join(";").trim() : value3; - (element.$attrs = element.$attrs || {}) && (element.$attrs[key] = value3); - element.setAttribute(key, value3); - } - } - }); - } -} -__name(setAttributes, "setAttributes"); -function createElement(type, attributes = {}, ...children) { - if (type) { - const element = document.createElement(type); - setAttributes(element, attributes); - element.append(...children); - return element; - } - return void 0; -} -__name(createElement, "createElement"); -function createStyleAsString(css3, options3 = {}) { - return css3 ? `''` : ""; -} -__name(createStyleAsString, "createStyleAsString"); -function createStyleTag(attributes = {}, container) { - let element = document.createElement("style"); - setAttributes(element, attributes); - if (!container) { - container = document.head; - } - container.appendChild(element); - return element; -} -__name(createStyleTag, "createStyleTag"); -function fadeIn(element, duration) { - if (element) { - element.style.opacity = "0"; - let last = +/* @__PURE__ */ new Date(); - let opacity = "0"; - let tick = /* @__PURE__ */ __name(function() { - opacity = `${+element.style.opacity + ((/* @__PURE__ */ new Date()).getTime() - last) / duration}`; - element.style.opacity = opacity; - last = +/* @__PURE__ */ new Date(); - if (+opacity < 1) { - !!window.requestAnimationFrame && requestAnimationFrame(tick) || setTimeout(tick, 16); - } - }, "tick"); - tick(); - } -} -__name(fadeIn, "fadeIn"); -function fadeOut(element, duration) { - if (element) { - let opacity = 1, interval = 50, gap = interval / duration; - let fading = setInterval(() => { - opacity -= gap; - if (opacity <= 0) { - opacity = 0; - clearInterval(fading); - } - element.style.opacity = opacity.toString(); - }, interval); - } -} -__name(fadeOut, "fadeOut"); -function find(element, selector) { - return isElement(element) ? Array.from(element.querySelectorAll(selector)) : []; -} -__name(find, "find"); -function findSingle(element, selector) { - return isElement(element) ? element.matches(selector) ? element : element.querySelector(selector) : null; -} -__name(findSingle, "findSingle"); -function focus(element, options3) { - element && document.activeElement !== element && element.focus(options3); -} -__name(focus, "focus"); -function getAttribute(element, name) { - if (isElement(element)) { - const value3 = element.getAttribute(name); - if (!isNaN(value3)) { - return +value3; - } - if (value3 === "true" || value3 === "false") { - return value3 === "true"; - } - return value3; - } - return void 0; -} -__name(getAttribute, "getAttribute"); -function resolveUserAgent() { - let ua = navigator.userAgent.toLowerCase(); - let match = /(chrome)[ ]([\w.]+)/.exec(ua) || /(webkit)[ ]([\w.]+)/.exec(ua) || /(opera)(?:.*version|)[ ]([\w.]+)/.exec(ua) || /(msie) ([\w.]+)/.exec(ua) || ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || []; - return { - browser: match[1] || "", - version: match[2] || "0" - }; -} -__name(resolveUserAgent, "resolveUserAgent"); -var browser = null; -function getBrowser() { - if (!browser) { - browser = {}; - let matched = resolveUserAgent(); - if (matched.browser) { - browser[matched.browser] = true; - browser["version"] = matched.version; - } - if (browser["chrome"]) { - browser["webkit"] = true; - } else if (browser["webkit"]) { - browser["safari"] = true; - } - } - return browser; -} -__name(getBrowser, "getBrowser"); -function getBrowserLanguage() { - return navigator.languages && navigator.languages.length && navigator.languages[0] || navigator.language || "en"; -} -__name(getBrowserLanguage, "getBrowserLanguage"); -function getCursorOffset(element, prevText, nextText, currentText) { - if (element) { - let style = getComputedStyle(element); - let ghostDiv = document.createElement("div"); - ghostDiv.style.position = "absolute"; - ghostDiv.style.top = "0px"; - ghostDiv.style.left = "0px"; - ghostDiv.style.visibility = "hidden"; - ghostDiv.style.pointerEvents = "none"; - ghostDiv.style.overflow = style.overflow; - ghostDiv.style.width = style.width; - ghostDiv.style.height = style.height; - ghostDiv.style.padding = style.padding; - ghostDiv.style.border = style.border; - ghostDiv.style.overflowWrap = style.overflowWrap; - ghostDiv.style.whiteSpace = style.whiteSpace; - ghostDiv.style.lineHeight = style.lineHeight; - ghostDiv.innerHTML = prevText.replace(/\r\n|\r|\n/g, "
"); - let ghostSpan = document.createElement("span"); - ghostSpan.textContent = currentText; - ghostDiv.appendChild(ghostSpan); - let text = document.createTextNode(nextText); - ghostDiv.appendChild(text); - document.body.appendChild(ghostDiv); - const { offsetLeft, offsetTop, clientHeight } = ghostSpan; - document.body.removeChild(ghostDiv); - return { - left: Math.abs(offsetLeft - element.scrollLeft), - top: Math.abs(offsetTop - element.scrollTop) + clientHeight - }; - } - return { - top: "auto", - left: "auto" - }; -} -__name(getCursorOffset, "getCursorOffset"); -function getFocusableElements(element, selector = "") { - let focusableElements = find( - element, - `button:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}, - [href][clientHeight][clientWidth]:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}, - input:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}, - select:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}, - textarea:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}, - [tabIndex]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}, - [contenteditable]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}` - ); - let visibleFocusableElements = []; - for (let focusableElement of focusableElements) { - if (getComputedStyle(focusableElement).display != "none" && getComputedStyle(focusableElement).visibility != "hidden") visibleFocusableElements.push(focusableElement); - } - return visibleFocusableElements; -} -__name(getFocusableElements, "getFocusableElements"); -function getFirstFocusableElement(element, selector) { - const focusableElements = getFocusableElements(element, selector); - return focusableElements.length > 0 ? focusableElements[0] : null; -} -__name(getFirstFocusableElement, "getFirstFocusableElement"); -function getHeight(element) { - if (element) { - let height = element.offsetHeight; - let style = getComputedStyle(element); - height -= parseFloat(style.paddingTop) + parseFloat(style.paddingBottom) + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth); - return height; - } - return 0; -} -__name(getHeight, "getHeight"); -function getHiddenElementOuterHeight(element) { - if (element) { - element.style.visibility = "hidden"; - element.style.display = "block"; - let elementHeight = element.offsetHeight; - element.style.display = "none"; - element.style.visibility = "visible"; - return elementHeight; - } - return 0; -} -__name(getHiddenElementOuterHeight, "getHiddenElementOuterHeight"); -function getHiddenElementOuterWidth(element) { - if (element) { - element.style.visibility = "hidden"; - element.style.display = "block"; - let elementWidth = element.offsetWidth; - element.style.display = "none"; - element.style.visibility = "visible"; - return elementWidth; - } - return 0; -} -__name(getHiddenElementOuterWidth, "getHiddenElementOuterWidth"); -function getParentNode(element) { - if (element) { - let parent = element.parentNode; - if (parent && parent instanceof ShadowRoot && parent.host) { - parent = parent.host; - } - return parent; - } - return null; -} -__name(getParentNode, "getParentNode"); -function getIndex(element) { - var _a; - if (element) { - let children = (_a = getParentNode(element)) == null ? void 0 : _a.childNodes; - let num = 0; - if (children) { - for (let i2 = 0; i2 < children.length; i2++) { - if (children[i2] === element) return num; - if (children[i2].nodeType === 1) num++; - } - } - } - return -1; -} -__name(getIndex, "getIndex"); -function getInnerWidth(element) { - if (element) { - let width2 = element.offsetWidth; - let style = getComputedStyle(element); - width2 -= parseFloat(style.borderLeft) + parseFloat(style.borderRight); - return width2; - } - return 0; -} -__name(getInnerWidth, "getInnerWidth"); -function getLastFocusableElement(element, selector) { - const focusableElements = getFocusableElements(element, selector); - return focusableElements.length > 0 ? focusableElements[focusableElements.length - 1] : null; -} -__name(getLastFocusableElement, "getLastFocusableElement"); -function getNextElementSibling(element, selector) { - let nextElement = element.nextElementSibling; - while (nextElement) { - if (nextElement.matches(selector)) { - return nextElement; - } else { - nextElement = nextElement.nextElementSibling; - } - } - return null; -} -__name(getNextElementSibling, "getNextElementSibling"); -function getNextFocusableElement(container, element, selector) { - const focusableElements = getFocusableElements(container, selector); - const index2 = focusableElements.length > 0 ? focusableElements.findIndex((el) => el === element) : -1; - const nextIndex = index2 > -1 && focusableElements.length >= index2 + 1 ? index2 + 1 : -1; - return nextIndex > -1 ? focusableElements[nextIndex] : null; -} -__name(getNextFocusableElement, "getNextFocusableElement"); -function getOffset(element) { - if (element) { - let rect = element.getBoundingClientRect(); - return { - top: rect.top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0), - left: rect.left + (window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0) - }; - } - return { - top: "auto", - left: "auto" - }; -} -__name(getOffset, "getOffset"); -function getOuterHeight(element, margin) { - if (element) { - let height = element.offsetHeight; - if (margin) { - let style = getComputedStyle(element); - height += parseFloat(style.marginTop) + parseFloat(style.marginBottom); - } - return height; - } - return 0; -} -__name(getOuterHeight, "getOuterHeight"); -function getParents(element, parents = []) { - const parent = getParentNode(element); - return parent === null ? parents : getParents(parent, parents.concat([parent])); -} -__name(getParents, "getParents"); -function getPreviousElementSibling(element, selector) { - let previousElement = element.previousElementSibling; - while (previousElement) { - if (previousElement.matches(selector)) { - return previousElement; - } else { - previousElement = previousElement.previousElementSibling; - } - } - return null; -} -__name(getPreviousElementSibling, "getPreviousElementSibling"); -function getScrollableParents(element) { - let scrollableParents = []; - if (element) { - let parents = getParents(element); - const overflowRegex = /(auto|scroll)/; - const overflowCheck = /* @__PURE__ */ __name((node3) => { - try { - let styleDeclaration = window["getComputedStyle"](node3, null); - return overflowRegex.test(styleDeclaration.getPropertyValue("overflow")) || overflowRegex.test(styleDeclaration.getPropertyValue("overflowX")) || overflowRegex.test(styleDeclaration.getPropertyValue("overflowY")); - } catch (err) { - return false; - } - }, "overflowCheck"); - for (let parent of parents) { - let scrollSelectors = parent.nodeType === 1 && parent.dataset["scrollselectors"]; - if (scrollSelectors) { - let selectors = scrollSelectors.split(","); - for (let selector of selectors) { - let el = findSingle(parent, selector); - if (el && overflowCheck(el)) { - scrollableParents.push(el); - } - } - } - if (parent.nodeType !== 9 && overflowCheck(parent)) { - scrollableParents.push(parent); - } - } - } - return scrollableParents; -} -__name(getScrollableParents, "getScrollableParents"); -function getSelection() { - if (window.getSelection) return window.getSelection().toString(); - else if (document.getSelection) return document.getSelection().toString(); - return void 0; -} -__name(getSelection, "getSelection"); -function isExist(element) { - return !!(element !== null && typeof element !== "undefined" && element.nodeName && getParentNode(element)); -} -__name(isExist, "isExist"); -function getTargetElement(target, currentElement) { - var _a; - if (!target) return void 0; - switch (target) { - case "document": - return document; - case "window": - return window; - case "body": - return document.body; - case "@next": - return currentElement == null ? void 0 : currentElement.nextElementSibling; - case "@prev": - return currentElement == null ? void 0 : currentElement.previousElementSibling; - case "@parent": - return currentElement == null ? void 0 : currentElement.parentElement; - case "@grandparent": - return (_a = currentElement == null ? void 0 : currentElement.parentElement) == null ? void 0 : _a.parentElement; - default: - if (typeof target === "string") { - return document.querySelector(target); - } - const isFunction2 = /* @__PURE__ */ __name((obj) => !!(obj && obj.constructor && obj.call && obj.apply), "isFunction"); - const element = toElement(isFunction2(target) ? target() : target); - return (element == null ? void 0 : element.nodeType) === 9 || isExist(element) ? element : void 0; - } -} -__name(getTargetElement, "getTargetElement"); -function getUserAgent() { - return navigator.userAgent; -} -__name(getUserAgent, "getUserAgent"); -function getWidth(element) { - if (element) { - let width2 = element.offsetWidth; - let style = getComputedStyle(element); - width2 -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight) + parseFloat(style.borderLeftWidth) + parseFloat(style.borderRightWidth); - return width2; - } - return 0; -} -__name(getWidth, "getWidth"); -function hasCSSAnimation(element) { - if (element) { - const style = getComputedStyle(element); - const animationDuration = parseFloat(style.getPropertyValue("animation-duration") || "0"); - return animationDuration > 0; - } - return false; -} -__name(hasCSSAnimation, "hasCSSAnimation"); -function hasCSSTransition(element) { - if (element) { - const style = getComputedStyle(element); - const transitionDuration = parseFloat(style.getPropertyValue("transition-duration") || "0"); - return transitionDuration > 0; - } - return false; -} -__name(hasCSSTransition, "hasCSSTransition"); -function invokeElementMethod(element, methodName, args) { - element[methodName].apply(element, args); -} -__name(invokeElementMethod, "invokeElementMethod"); -function isAndroid$1() { - return /(android)/i.test(navigator.userAgent); -} -__name(isAndroid$1, "isAndroid$1"); -function isAttributeEquals(element, name, value3) { - return isElement(element) ? getAttribute(element, name) === value3 : false; -} -__name(isAttributeEquals, "isAttributeEquals"); -function isAttributeNotEquals(element, name, value3) { - return !isAttributeEquals(element, name, value3); -} -__name(isAttributeNotEquals, "isAttributeNotEquals"); -function isClickable(element) { - if (element) { - const targetNode = element.nodeName; - const parentNode = element.parentElement && element.parentElement.nodeName; - return targetNode === "INPUT" || targetNode === "TEXTAREA" || targetNode === "BUTTON" || targetNode === "A" || parentNode === "INPUT" || parentNode === "TEXTAREA" || parentNode === "BUTTON" || parentNode === "A" || !!element.closest(".p-button, .p-checkbox, .p-radiobutton"); - } - return false; -} -__name(isClickable, "isClickable"); -function isClient$1() { - return !!(typeof window !== "undefined" && window.document && window.document.createElement); -} -__name(isClient$1, "isClient$1"); -function isFocusableElement(element, selector = "") { - return isElement(element) ? element.matches(`button:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}, - [href][clientHeight][clientWidth]:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}, - input:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}, - select:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}, - textarea:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}, - [tabIndex]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}, - [contenteditable]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}`) : false; -} -__name(isFocusableElement, "isFocusableElement"); -function isVisible(element) { - return !!(element && element.offsetParent != null); -} -__name(isVisible, "isVisible"); -function isHidden(element) { - return !isVisible(element); -} -__name(isHidden, "isHidden"); -function isIOS$1() { - return /iPad|iPhone|iPod/.test(navigator.userAgent) && !window["MSStream"]; -} -__name(isIOS$1, "isIOS$1"); -function isServer() { - return !isClient$1(); -} -__name(isServer, "isServer"); -function isTouchDevice() { - return "ontouchstart" in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0; -} -__name(isTouchDevice, "isTouchDevice"); -function nestedPosition(element, level) { - var _a; - if (element) { - const parentItem = element.parentElement; - const elementOffset = getOffset(parentItem); - const viewport = getViewport(); - const sublistWidth = element.offsetParent ? element.offsetWidth : getHiddenElementOuterWidth(element); - const itemOuterWidth = getOuterWidth((_a = parentItem == null ? void 0 : parentItem.children) == null ? void 0 : _a[0]); - let left = ""; - if (elementOffset.left + itemOuterWidth + sublistWidth > viewport.width - calculateScrollbarWidth()) { - if (elementOffset.left < sublistWidth) { - if (level % 2 === 1) { - left = elementOffset.left ? "-" + elementOffset.left + "px" : "100%"; - } else if (level % 2 === 0) { - left = viewport.width - sublistWidth - calculateScrollbarWidth() + "px"; - } - } else { - left = "-100%"; - } - } else { - left = "100%"; - } - element.style.top = "0px"; - element.style.left = left; - } -} -__name(nestedPosition, "nestedPosition"); -function remove(element) { - var _a; - if (element) { - if (!("remove" in Element.prototype)) (_a = element.parentNode) == null ? void 0 : _a.removeChild(element); - else element.remove(); - } -} -__name(remove, "remove"); -function removeChild(element, child) { - const target = toElement(element); - if (target) target.removeChild(child); - else throw new Error("Cannot remove " + child + " from " + element); -} -__name(removeChild, "removeChild"); -function removeStyleTag(element) { - var _a; - if (isExist(element)) { - try { - (_a = element.parentNode) == null ? void 0 : _a.removeChild(element); - } catch (error) { - } - return null; - } - return element; -} -__name(removeStyleTag, "removeStyleTag"); -function scrollInView(container, item2) { - let borderTopValue = getComputedStyle(container).getPropertyValue("borderTopWidth"); - let borderTop = borderTopValue ? parseFloat(borderTopValue) : 0; - let paddingTopValue = getComputedStyle(container).getPropertyValue("paddingTop"); - let paddingTop = paddingTopValue ? parseFloat(paddingTopValue) : 0; - let containerRect = container.getBoundingClientRect(); - let itemRect = item2.getBoundingClientRect(); - let offset = itemRect.top + document.body.scrollTop - (containerRect.top + document.body.scrollTop) - borderTop - paddingTop; - let scroll = container.scrollTop; - let elementHeight = container.clientHeight; - let itemHeight = getOuterHeight(item2); - if (offset < 0) { - container.scrollTop = scroll + offset; - } else if (offset + itemHeight > elementHeight) { - container.scrollTop = scroll + offset - elementHeight + itemHeight; - } -} -__name(scrollInView, "scrollInView"); -function setAttribute(element, attribute = "", value3) { - if (isElement(element) && value3 !== null && value3 !== void 0) { - element.setAttribute(attribute, value3); - } -} -__name(setAttribute, "setAttribute"); var __defProp$3 = Object.defineProperty; -var __getOwnPropSymbols$2 = Object.getOwnPropertySymbols; -var __hasOwnProp$2 = Object.prototype.hasOwnProperty; -var __propIsEnum$2 = Object.prototype.propertyIsEnumerable; -var __defNormalProp$3 = /* @__PURE__ */ __name((obj, key, value3) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value: value3 }) : obj[key] = value3, "__defNormalProp$3"); -var __spreadValues$2 = /* @__PURE__ */ __name((a, b) => { - for (var prop2 in b || (b = {})) - if (__hasOwnProp$2.call(b, prop2)) - __defNormalProp$3(a, prop2, b[prop2]); - if (__getOwnPropSymbols$2) - for (var prop2 of __getOwnPropSymbols$2(b)) { - if (__propIsEnum$2.call(b, prop2)) - __defNormalProp$3(a, prop2, b[prop2]); - } - return a; -}, "__spreadValues$2"); -function isEmpty(value3) { - return value3 === null || value3 === void 0 || value3 === "" || Array.isArray(value3) && value3.length === 0 || !(value3 instanceof Date) && typeof value3 === "object" && Object.keys(value3).length === 0; -} -__name(isEmpty, "isEmpty"); -function compare(value1, value22, comparator, order = 1) { - let result = -1; - const emptyValue1 = isEmpty(value1); - const emptyValue2 = isEmpty(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 = comparator(value1, value22); - else result = value1 < value22 ? -1 : value1 > value22 ? 1 : 0; - return result; -} -__name(compare, "compare"); -function _deepEquals(obj1, obj2, visited = /* @__PURE__ */ new WeakSet()) { - if (obj1 === obj2) return true; - 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(obj1[i2], obj2[i2], visited)) return false; - return true; - } - 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(obj1[key], obj2[key], visited)) return false; - } - return true; -} -__name(_deepEquals, "_deepEquals"); -function deepEquals(obj1, obj2) { - return _deepEquals(obj1, obj2); -} -__name(deepEquals, "deepEquals"); -function isFunction$2(value3) { - return !!(value3 && value3.constructor && value3.call && value3.apply); -} -__name(isFunction$2, "isFunction$2"); -function isNotEmpty(value3) { - return !isEmpty(value3); -} -__name(isNotEmpty, "isNotEmpty"); -function resolveFieldData(data21, field) { - if (!data21 || !field) { - return null; - } - try { - const value3 = data21[field]; - if (isNotEmpty(value3)) return value3; - } catch (e) { - } - if (Object.keys(data21).length) { - if (isFunction$2(field)) { - return field(data21); - } else if (field.indexOf(".") === -1) { - return data21[field]; - } else { - let fields = field.split("."); - let value3 = data21; - for (let i2 = 0, len = fields.length; i2 < len; ++i2) { - if (value3 == null) { - return null; - } - value3 = value3[fields[i2]]; - } - return value3; - } - } - 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(equals, "equals"); -function contains(value3, list) { - if (value3 != null && list && list.length) { - for (let val of list) { - if (equals(value3, val)) return true; - } - } - return false; -} -__name(contains, "contains"); -function filter(value3, fields, filterValue) { - let filteredItems = []; - if (value3) { - for (let item2 of value3) { - for (let field of fields) { - if (String(resolveFieldData(item2, field)).toLowerCase().indexOf(filterValue.toLowerCase()) > -1) { - filteredItems.push(item2); - break; - } - } - } - } - return filteredItems; -} -__name(filter, "filter"); -function findIndexInList(value3, list) { - let index2 = -1; - if (list) { - for (let i2 = 0; i2 < list.length; i2++) { - if (list[i2] === value3) { - index2 = i2; - break; - } - } - } - return index2; -} -__name(findIndexInList, "findIndexInList"); -function findLast$1(arr, callback) { - let item2; - if (isNotEmpty(arr)) { - try { - item2 = arr.findLast(callback); - } catch (e) { - item2 = [...arr].reverse().find(callback); - } - } - return item2; -} -__name(findLast$1, "findLast$1"); -function findLastIndex(arr, callback) { - let index2 = -1; - if (isNotEmpty(arr)) { - try { - index2 = arr.findLastIndex(callback); - } catch (e) { - index2 = arr.lastIndexOf([...arr].reverse().find(callback)); - } - } - return index2; -} -__name(findLastIndex, "findLastIndex"); -function isObject$4(value3, empty = true) { - return value3 instanceof Object && value3.constructor === Object && (empty || Object.keys(value3).length !== 0); -} -__name(isObject$4, "isObject$4"); -function resolve(obj, ...params) { - return isFunction$2(obj) ? obj(...params) : obj; -} -__name(resolve, "resolve"); -function isString$3(value3, empty = true) { - return typeof value3 === "string" && (empty || value3 !== ""); -} -__name(isString$3, "isString$3"); -function toFlatCase(str) { - return isString$3(str) ? str.replace(/(-|_)/g, "").toLowerCase() : str; -} -__name(toFlatCase, "toFlatCase"); -function getKeyValue(obj, key = "", params = {}) { - const fKeys = toFlatCase(key).split("."); - const fKey = fKeys.shift(); - return fKey ? isObject$4(obj) ? getKeyValue(resolve(obj[Object.keys(obj).find((k) => toFlatCase(k) === fKey) || ""], params), fKeys.join("."), params) : void 0 : resolve(obj, params); -} -__name(getKeyValue, "getKeyValue"); -function insertIntoOrderedArray(item2, index2, arr, sourceArr) { - if (arr.length > 0) { - let injected = false; - for (let i2 = 0; i2 < arr.length; i2++) { - let currentItemIndex = findIndexInList(arr[i2], sourceArr); - if (currentItemIndex > index2) { - arr.splice(i2, 0, item2); - injected = true; - break; - } - } - if (!injected) { - arr.push(item2); - } - } else { - arr.push(item2); - } -} -__name(insertIntoOrderedArray, "insertIntoOrderedArray"); -function isArray$3(value3, empty = true) { - return Array.isArray(value3) && (empty || value3.length !== 0); -} -__name(isArray$3, "isArray$3"); -function isDate$1(value3) { - return value3 instanceof Date && value3.constructor === Date; -} -__name(isDate$1, "isDate$1"); -function isLetter(char) { - return /^[a-zA-Z\u00C0-\u017F]$/.test(char); -} -__name(isLetter, "isLetter"); -function isNumber$2(value3) { - return isNotEmpty(value3) && !isNaN(value3); -} -__name(isNumber$2, "isNumber$2"); -function isPrintableCharacter(char = "") { - return isNotEmpty(char) && char.length === 1 && !!char.match(/\S| /); -} -__name(isPrintableCharacter, "isPrintableCharacter"); -function isScalar(value3) { - return value3 != null && (typeof value3 === "string" || typeof value3 === "number" || typeof value3 === "bigint" || typeof value3 === "boolean"); -} -__name(isScalar, "isScalar"); -function localeComparator() { - return new Intl.Collator(void 0, { numeric: true }).compare; -} -__name(localeComparator, "localeComparator"); -function matchRegex(str, regex) { - if (regex) { - const match = regex.test(str); - regex.lastIndex = 0; - return match; - } - return false; -} -__name(matchRegex, "matchRegex"); -function mergeKeys(...args) { - const _mergeKeys = /* @__PURE__ */ __name((target = {}, source = {}) => { - const mergedObj = __spreadValues$2({}, target); - Object.keys(source).forEach((key) => { - if (isObject$4(source[key]) && key in target && isObject$4(target[key])) { - mergedObj[key] = _mergeKeys(target[key], source[key]); - } else { - mergedObj[key] = source[key]; - } - }); - return mergedObj; - }, "_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(minifyCSS, "minifyCSS"); -function nestedKeys(obj = {}, parentKey = "") { - return Object.entries(obj).reduce((o, [key, value3]) => { - const currentKey = parentKey ? `${parentKey}.${key}` : key; - isObject$4(value3) ? o = o.concat(nestedKeys(value3, currentKey)) : o.push(currentKey); - return o; - }, []); -} -__name(nestedKeys, "nestedKeys"); -function omit$1(obj, ...keys2) { - if (!isObject$4(obj)) return obj; - const copy = __spreadValues$2({}, obj); - keys2 == null ? void 0 : keys2.flat().forEach((key) => delete copy[key]); - return copy; -} -__name(omit$1, "omit$1"); -function removeAccents(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(value3, from, to) { - if (value3 && from !== to) { - if (to >= value3.length) { - to %= value3.length; - from %= value3.length; - } - value3.splice(to, 0, value3.splice(from, 1)[0]); - } -} -__name(reorderArray, "reorderArray"); -function sort(value1, value22, order = 1, comparator, nullSortOrder = 1) { - const result = compare(value1, value22, comparator, order); - let finalSortOrder = order; - if (isEmpty(value1) || isEmpty(value22)) { - finalSortOrder = nullSortOrder === 1 ? order : nullSortOrder; - } - return finalSortOrder * result; -} -__name(sort, "sort"); -function stringify$1(value3, indent = 2, currentIndent = 0) { - const currentIndentStr = " ".repeat(currentIndent); - const nextIndentStr = " ".repeat(currentIndent + indent); - if (isArray$3(value3)) { - return "[" + value3.map((v2) => stringify$1(v2, indent, currentIndent + indent)).join(", ") + "]"; - } else if (isDate$1(value3)) { - return value3.toISOString(); - } else if (isFunction$2(value3)) { - return value3.toString(); - } else if (isObject$4(value3)) { - return "{\n" + Object.entries(value3).map(([k, v2]) => `${nextIndentStr}${k}: ${stringify$1(v2, indent, currentIndent + indent)}`).join(",\n") + ` -${currentIndentStr}}`; - } else { - return JSON.stringify(value3); - } -} -__name(stringify$1, "stringify$1"); -function toCapitalCase(str) { - return isString$3(str, false) ? str[0].toUpperCase() + str.slice(1) : str; -} -__name(toCapitalCase, "toCapitalCase"); -function toKebabCase(str) { - return isString$3(str) ? str.replace(/(_)/g, "-").replace(/[A-Z]/g, (c, i2) => i2 === 0 ? c : "-" + c.toLowerCase()).toLowerCase() : str; -} -__name(toKebabCase, "toKebabCase"); -function toTokenKey$1(str) { - return isString$3(str) ? str.replace(/[A-Z]/g, (c, i2) => i2 === 0 ? c : "." + c.toLowerCase()).toLowerCase() : str; -} -__name(toTokenKey$1, "toTokenKey$1"); -function toValue$2(value3) { - if (value3 && typeof value3 === "object") { - if (value3.hasOwnProperty("current")) { - return value3.current; - } else if (value3.hasOwnProperty("value")) { - return value3.value; - } - } - return resolve(value3); -} -__name(toValue$2, "toValue$2"); -var FilterMatchMode = { - STARTS_WITH: "startsWith", - CONTAINS: "contains", - NOT_CONTAINS: "notContains", - ENDS_WITH: "endsWith", - EQUALS: "equals", - NOT_EQUALS: "notEquals", - IN: "in", - LESS_THAN: "lt", - LESS_THAN_OR_EQUAL_TO: "lte", - GREATER_THAN: "gt", - GREATER_THAN_OR_EQUAL_TO: "gte", - BETWEEN: "between", - DATE_IS: "dateIs", - DATE_IS_NOT: "dateIsNot", - DATE_BEFORE: "dateBefore", - DATE_AFTER: "dateAfter" -}; -var FilterOperator = { - AND: "and", - OR: "or" -}; -function _createForOfIteratorHelper$4(r, e) { - var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; - if (!t) { - if (Array.isArray(r) || (t = _unsupportedIterableToArray$i(r)) || e) { - t && (r = t); - 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() { - t = t.call(r); - }, "s"), n: /* @__PURE__ */ __name(function n() { - var r2 = t.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 == t["return"] || t["return"](); - } finally { - if (u) throw o; - } - }, "f") }; -} -__name(_createForOfIteratorHelper$4, "_createForOfIteratorHelper$4"); -function _unsupportedIterableToArray$i(r, a) { - if (r) { - if ("string" == typeof r) return _arrayLikeToArray$i(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$i(r, a) : void 0; - } -} -__name(_unsupportedIterableToArray$i, "_unsupportedIterableToArray$i"); -function _arrayLikeToArray$i(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$i, "_arrayLikeToArray$i"); -var FilterService = { - filter: /* @__PURE__ */ __name(function filter3(value3, fields, filterValue, filterMatchMode, filterLocale) { - var filteredItems = []; - if (!value3) { - return filteredItems; - } - var _iterator = _createForOfIteratorHelper$4(value3), _step; - try { - for (_iterator.s(); !(_step = _iterator.n()).done; ) { - var item2 = _step.value; - if (typeof item2 === "string") { - if (this.filters[filterMatchMode](item2, filterValue, filterLocale)) { - filteredItems.push(item2); - continue; - } - } else { - var _iterator2 = _createForOfIteratorHelper$4(fields), _step2; - try { - for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) { - var field = _step2.value; - var fieldValue = resolveFieldData(item2, field); - if (this.filters[filterMatchMode](fieldValue, filterValue, filterLocale)) { - filteredItems.push(item2); - break; - } - } - } catch (err) { - _iterator2.e(err); - } finally { - _iterator2.f(); - } - } - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - return filteredItems; - }, "filter"), - filters: { - startsWith: /* @__PURE__ */ __name(function startsWith(value3, filter4, filterLocale) { - if (filter4 === void 0 || filter4 === null || filter4 === "") { - return true; - } - if (value3 === void 0 || value3 === null) { - return false; - } - var filterValue = removeAccents(filter4.toString()).toLocaleLowerCase(filterLocale); - var stringValue = removeAccents(value3.toString()).toLocaleLowerCase(filterLocale); - return stringValue.slice(0, filterValue.length) === filterValue; - }, "startsWith"), - contains: /* @__PURE__ */ __name(function contains2(value3, filter4, filterLocale) { - if (filter4 === void 0 || filter4 === null || filter4 === "") { - return true; - } - if (value3 === void 0 || value3 === null) { - return false; - } - var filterValue = removeAccents(filter4.toString()).toLocaleLowerCase(filterLocale); - var stringValue = removeAccents(value3.toString()).toLocaleLowerCase(filterLocale); - return stringValue.indexOf(filterValue) !== -1; - }, "contains"), - notContains: /* @__PURE__ */ __name(function notContains(value3, filter4, filterLocale) { - if (filter4 === void 0 || filter4 === null || filter4 === "") { - return true; - } - if (value3 === void 0 || value3 === null) { - return false; - } - var filterValue = removeAccents(filter4.toString()).toLocaleLowerCase(filterLocale); - var stringValue = removeAccents(value3.toString()).toLocaleLowerCase(filterLocale); - return stringValue.indexOf(filterValue) === -1; - }, "notContains"), - endsWith: /* @__PURE__ */ __name(function endsWith2(value3, filter4, filterLocale) { - if (filter4 === void 0 || filter4 === null || filter4 === "") { - return true; - } - if (value3 === void 0 || value3 === null) { - return false; - } - var filterValue = removeAccents(filter4.toString()).toLocaleLowerCase(filterLocale); - var stringValue = removeAccents(value3.toString()).toLocaleLowerCase(filterLocale); - return stringValue.indexOf(filterValue, stringValue.length - filterValue.length) !== -1; - }, "endsWith"), - equals: /* @__PURE__ */ __name(function equals2(value3, filter4, filterLocale) { - if (filter4 === void 0 || filter4 === null || filter4 === "") { - return true; - } - if (value3 === void 0 || value3 === null) { - return false; - } - if (value3.getTime && filter4.getTime) return value3.getTime() === filter4.getTime(); - else return removeAccents(value3.toString()).toLocaleLowerCase(filterLocale) == removeAccents(filter4.toString()).toLocaleLowerCase(filterLocale); - }, "equals"), - notEquals: /* @__PURE__ */ __name(function notEquals(value3, filter4, filterLocale) { - if (filter4 === void 0 || filter4 === null || filter4 === "") { - return false; - } - if (value3 === void 0 || value3 === null) { - return true; - } - if (value3.getTime && filter4.getTime) return value3.getTime() !== filter4.getTime(); - else return removeAccents(value3.toString()).toLocaleLowerCase(filterLocale) != removeAccents(filter4.toString()).toLocaleLowerCase(filterLocale); - }, "notEquals"), - "in": /* @__PURE__ */ __name(function _in(value3, filter4) { - if (filter4 === void 0 || filter4 === null || filter4.length === 0) { - return true; - } - for (var i2 = 0; i2 < filter4.length; i2++) { - if (equals(value3, filter4[i2])) { - return true; - } - } - return false; - }, "_in"), - between: /* @__PURE__ */ __name(function between(value3, filter4) { - if (filter4 == null || filter4[0] == null || filter4[1] == null) { - return true; - } - if (value3 === void 0 || value3 === null) { - return false; - } - if (value3.getTime) return filter4[0].getTime() <= value3.getTime() && value3.getTime() <= filter4[1].getTime(); - else return filter4[0] <= value3 && value3 <= filter4[1]; - }, "between"), - lt: /* @__PURE__ */ __name(function lt(value3, filter4) { - if (filter4 === void 0 || filter4 === null) { - return true; - } - if (value3 === void 0 || value3 === null) { - return false; - } - if (value3.getTime && filter4.getTime) return value3.getTime() < filter4.getTime(); - else return value3 < filter4; - }, "lt"), - lte: /* @__PURE__ */ __name(function lte(value3, filter4) { - if (filter4 === void 0 || filter4 === null) { - return true; - } - if (value3 === void 0 || value3 === null) { - return false; - } - if (value3.getTime && filter4.getTime) return value3.getTime() <= filter4.getTime(); - else return value3 <= filter4; - }, "lte"), - gt: /* @__PURE__ */ __name(function gt(value3, filter4) { - if (filter4 === void 0 || filter4 === null) { - return true; - } - if (value3 === void 0 || value3 === null) { - return false; - } - if (value3.getTime && filter4.getTime) return value3.getTime() > filter4.getTime(); - else return value3 > filter4; - }, "gt"), - gte: /* @__PURE__ */ __name(function gte(value3, filter4) { - if (filter4 === void 0 || filter4 === null) { - return true; - } - if (value3 === void 0 || value3 === null) { - return false; - } - if (value3.getTime && filter4.getTime) return value3.getTime() >= filter4.getTime(); - else return value3 >= filter4; - }, "gte"), - dateIs: /* @__PURE__ */ __name(function dateIs(value3, filter4) { - if (filter4 === void 0 || filter4 === null) { - return true; - } - if (value3 === void 0 || value3 === null) { - return false; - } - return value3.toDateString() === filter4.toDateString(); - }, "dateIs"), - dateIsNot: /* @__PURE__ */ __name(function dateIsNot(value3, filter4) { - if (filter4 === void 0 || filter4 === null) { - return true; - } - if (value3 === void 0 || value3 === null) { - return false; - } - return value3.toDateString() !== filter4.toDateString(); - }, "dateIsNot"), - dateBefore: /* @__PURE__ */ __name(function dateBefore(value3, filter4) { - if (filter4 === void 0 || filter4 === null) { - return true; - } - if (value3 === void 0 || value3 === null) { - return false; - } - return value3.getTime() < filter4.getTime(); - }, "dateBefore"), - dateAfter: /* @__PURE__ */ __name(function dateAfter(value3, filter4) { - if (filter4 === void 0 || filter4 === null) { - return true; - } - if (value3 === void 0 || value3 === null) { - return false; - } - return value3.getTime() > filter4.getTime(); - }, "dateAfter") - }, - register: /* @__PURE__ */ __name(function register2(rule, fn) { - this.filters[rule] = fn; - }, "register") -}; -var PrimeIcons = { - ALIGN_CENTER: "pi pi-align-center", - ALIGN_JUSTIFY: "pi pi-align-justify", - ALIGN_LEFT: "pi pi-align-left", - ALIGN_RIGHT: "pi pi-align-right", - AMAZON: "pi pi-amazon", - ANDROID: "pi pi-android", - ANGLE_DOUBLE_DOWN: "pi pi-angle-double-down", - ANGLE_DOUBLE_LEFT: "pi pi-angle-double-left", - ANGLE_DOUBLE_RIGHT: "pi pi-angle-double-right", - ANGLE_DOUBLE_UP: "pi pi-angle-double-up", - ANGLE_DOWN: "pi pi-angle-down", - ANGLE_LEFT: "pi pi-angle-left", - ANGLE_RIGHT: "pi pi-angle-right", - ANGLE_UP: "pi pi-angle-up", - APPLE: "pi pi-apple", - ARROW_CIRCLE_DOWN: "pi pi-arrow-circle-down", - ARROW_CIRCLE_LEFT: "pi pi-arrow-circle-left", - ARROW_CIRCLE_RIGHT: "pi pi-arrow-circle-right", - ARROW_CIRCLE_UP: "pi pi-arrow-circle-up", - ARROW_DOWN: "pi pi-arrow-down", - ARROW_DOWN_LEFT: "pi pi-arrow-down-left", - ARROW_DOWN_RIGHT: "pi pi-arrow-down-right", - ARROW_LEFT: "pi pi-arrow-left", - ARROW_RIGHT: "pi pi-arrow-right", - ARROW_RIGHT_ARROW_LEFT: "pi pi-arrow-right-arrow-left", - ARROW_UP: "pi pi-arrow-up", - ARROW_UP_LEFT: "pi pi-arrow-up-left", - ARROW_UP_RIGHT: "pi pi-arrow-up-right", - ARROWS_H: "pi pi-arrows-h", - ARROWS_V: "pi pi-arrows-v", - ARROWS_ALT: "pi pi-arrows-alt", - AT: "pi pi-at", - BACKWARD: "pi pi-backward", - BAN: "pi pi-ban", - BARS: "pi pi-bars", - BELL: "pi pi-bell", - BITCOIN: "pi pi-bitcoin", - BOLT: "pi pi-bolt", - BOOK: "pi pi-book", - BOOKMARK: "pi pi-bookmark", - BOOKMARK_FILL: "pi pi-bookmark-fill", - BOX: "pi pi-box", - BRIEFCASE: "pi pi-briefcase", - BUILDING: "pi pi-building", - CALENDAR: "pi pi-calendar", - CALENDAR_MINUS: "pi pi-calendar-minus", - CALENDAR_PLUS: "pi pi-calendar-plus", - CALENDAR_TIMES: "pi pi-calendar-times", - CALCULATOR: "pi pi-calculator", - CAMERA: "pi pi-camera", - CAR: "pi pi-car", - CARET_DOWN: "pi pi-caret-down", - CARET_LEFT: "pi pi-caret-left", - CARET_RIGHT: "pi pi-caret-right", - CARET_UP: "pi pi-caret-up", - CART_PLUS: "pi pi-cart-plus", - CHART_BAR: "pi pi-chart-bar", - CHART_LINE: "pi pi-chart-line", - CHART_PIE: "pi pi-chart-pie", - CHECK: "pi pi-check", - CHECK_CIRCLE: "pi pi-check-circle", - CHECK_SQUARE: "pi pi-check-square", - CHEVRON_CIRCLE_DOWN: "pi pi-chevron-circle-down", - CHEVRON_CIRCLE_LEFT: "pi pi-chevron-circle-left", - CHEVRON_CIRCLE_RIGHT: "pi pi-chevron-circle-right", - CHEVRON_CIRCLE_UP: "pi pi-chevron-circle-up", - CHEVRON_DOWN: "pi pi-chevron-down", - CHEVRON_LEFT: "pi pi-chevron-left", - CHEVRON_RIGHT: "pi pi-chevron-right", - CHEVRON_UP: "pi pi-chevron-up", - CIRCLE: "pi pi-circle", - CIRCLE_FILL: "pi pi-circle-fill", - CLOCK: "pi pi-clock", - CLONE: "pi pi-clone", - CLOUD: "pi pi-cloud", - CLOUD_DOWNLOAD: "pi pi-cloud-download", - CLOUD_UPLOAD: "pi pi-cloud-upload", - CODE: "pi pi-code", - COG: "pi pi-cog", - COMMENT: "pi pi-comment", - COMMENTS: "pi pi-comments", - COMPASS: "pi pi-compass", - COPY: "pi pi-copy", - CREDIT_CARD: "pi pi-credit-card", - DATABASE: "pi pi-database", - DELETELEFT: "pi pi-delete-left", - DESKTOP: "pi pi-desktop", - DIRECTIONS: "pi pi-directions", - DIRECTIONS_ALT: "pi pi-directions-alt", - DISCORD: "pi pi-discord", - DOLLAR: "pi pi-dollar", - DOWNLOAD: "pi pi-download", - EJECT: "pi pi-eject", - ELLIPSIS_H: "pi pi-ellipsis-h", - ELLIPSIS_V: "pi pi-ellipsis-v", - ENVELOPE: "pi pi-envelope", - ERASER: "pi pi-eraser", - EURO: "pi pi-euro", - EXCLAMATION_CIRCLE: "pi pi-exclamation-circle", - EXCLAMATION_TRIANGLE: "pi pi-exclamation-triangle", - EXTERNAL_LINK: "pi pi-external-link", - EYE: "pi pi-eye", - EYE_SLASH: "pi pi-eye-slash", - FACEBOOK: "pi pi-facebook", - FAST_BACKWARD: "pi pi-fast-backward", - FAST_FORWARD: "pi pi-fast-forward", - FILE: "pi pi-file", - FILE_EDIT: "pi pi-file-edit", - FILE_EXCEL: "pi pi-file-excel", - FILE_EXPORT: "pi pi-file-export", - FILE_IMPORT: "pi pi-file-import", - FILE_PDF: "pi pi-file-pdf", - FILE_WORD: "pi pi-file-word", - FILTER: "pi pi-filter", - FILTER_FILL: "pi pi-filter-fill", - FILTER_SLASH: "pi pi-filter-slash", - FLAG: "pi pi-flag", - FLAG_FILL: "pi pi-flag-fill", - FOLDER: "pi pi-folder", - FOLDER_OPEN: "pi pi-folder-open", - FORWARD: "pi pi-forward", - GIFT: "pi pi-gift", - GITHUB: "pi pi-github", - GLOBE: "pi pi-globe", - GOOGLE: "pi pi-google", - HASHTAG: "pi pi-hashtag", - HEART: "pi pi-heart", - HEART_FILL: "pi pi-heart-fill", - HISTORY: "pi pi-history", - HOURGLASS: "pi pi-hourglass", - HOME: "pi pi-home", - ID_CARD: "pi pi-id-card", - IMAGE: "pi pi-image", - IMAGES: "pi pi-images", - INBOX: "pi pi-inbox", - INFO: "pi pi-info", - INFO_CIRCLE: "pi pi-info-circle", - INSTAGRAM: "pi pi-instagram", - KEY: "pi pi-key", - LANGUAGE: "pi pi-language", - LINK: "pi pi-link", - LINKEDIN: "pi pi-linkedin", - LIST: "pi pi-list", - LOCK: "pi pi-lock", - LOCK_OPEN: "pi pi-lock-open", - MAP: "pi pi-map", - MAP_MARKER: "pi pi-map-marker", - MEGAPHONE: "pi pi-megaphone", - MICROPHONE: "pi pi-microphone", - MICROSOFT: "pi pi-microsoft", - MINUS: "pi pi-minus", - MINUS_CIRCLE: "pi pi-minus-circle", - MOBILE: "pi pi-mobile", - MONEY_BILL: "pi pi-money-bill", - MOON: "pi pi-moon", - PALETTE: "pi pi-palette", - PAPERCLIP: "pi pi-paperclip", - PAUSE: "pi pi-pause", - PAYPAL: "pi pi-paypal", - PENCIL: "pi pi-pencil", - PERCENTAGE: "pi pi-percentage", - PHONE: "pi pi-phone", - PLAY: "pi pi-play", - PLUS: "pi pi-plus", - PLUS_CIRCLE: "pi pi-plus-circle", - POUND: "pi pi-pound", - POWER_OFF: "pi pi-power-off", - PRIME: "pi pi-prime", - PRINT: "pi pi-print", - QRCODE: "pi pi-qrcode", - QUESTION: "pi pi-question", - QUESTION_CIRCLE: "pi pi-question-circle", - REDDIT: "pi pi-reddit", - REFRESH: "pi pi-refresh", - REPLAY: "pi pi-replay", - REPLY: "pi pi-reply", - SAVE: "pi pi-save", - SEARCH: "pi pi-search", - SEARCH_MINUS: "pi pi-search-minus", - SEARCH_PLUS: "pi pi-search-plus", - SEND: "pi pi-send", - SERVER: "pi pi-server", - SHARE_ALT: "pi pi-share-alt", - SHIELD: "pi pi-shield", - SHOPPING_BAG: "pi pi-shopping-bag", - SHOPPING_CART: "pi pi-shopping-cart", - SIGN_IN: "pi pi-sign-in", - SIGN_OUT: "pi pi-sign-out", - SITEMAP: "pi pi-sitemap", - SLACK: "pi pi-slack", - SLIDERS_H: "pi pi-sliders-h", - SLIDERS_V: "pi pi-sliders-v", - SORT: "pi pi-sort", - SORT_ALPHA_DOWN: "pi pi-sort-alpha-down", - SORT_ALPHA_DOWN_ALT: "pi pi-sort-alpha-down-alt", - SORT_ALPHA_UP: "pi pi-sort-alpha-up", - SORT_ALPHA_UP_ALT: "pi pi-sort-alpha-up-alt", - SORT_ALT: "pi pi-sort-alt", - SORT_ALT_SLASH: "pi pi-sort-alt-slash", - SORT_AMOUNT_DOWN: "pi pi-sort-amount-down", - SORT_AMOUNT_DOWN_ALT: "pi pi-sort-amount-down-alt", - SORT_AMOUNT_UP: "pi pi-sort-amount-up", - SORT_AMOUNT_UP_ALT: "pi pi-sort-amount-up-alt", - SORT_DOWN: "pi pi-sort-down", - SORT_NUMERIC_DOWN: "pi pi-sort-numeric-down", - SORT_NUMERIC_DOWN_ALT: "pi pi-sort-numeric-down-alt", - SORT_NUMERIC_UP: "pi pi-sort-numeric-up", - SORT_NUMERIC_UP_ALT: "pi pi-sort-numeric-up-alt", - SORT_UP: "pi pi-sort-up", - SPINNER: "pi pi-spinner", - STAR: "pi pi-star", - STAR_FILL: "pi pi-star-fill", - STEP_BACKWARD: "pi pi-step-backward", - STEP_BACKWARD_ALT: "pi pi-step-backward-alt", - STEP_FORWARD: "pi pi-step-forward", - STEP_FORWARD_ALT: "pi pi-step-forward-alt", - STOP: "pi pi-stop", - STOPWATCH: "pi pi-stopwatch", - STOP_CIRCLE: "pi pi-stop-circle", - SUN: "pi pi-sun", - SYNC: "pi pi-sync", - TABLE: "pi pi-table", - TABLET: "pi pi-tablet", - TAG: "pi pi-tag", - TAGS: "pi pi-tags", - TELEGRAM: "pi pi-telegram", - TH_LARGE: "pi pi-th-large", - THUMBS_DOWN: "pi pi-thumbs-down", - THUMBS_DOWN_FILL: "pi pi-thumbs-down-fill", - THUMBS_UP: "pi pi-thumbs-up", - THUMBS_UP_FILL: "pi pi-thumbs-up-fill", - TICKET: "pi pi-ticket", - TIMES: "pi pi-times", - TIMES_CIRCLE: "pi pi-times-circle", - TRASH: "pi pi-trash", - TRUCK: "pi pi-truck", - TWITTER: "pi pi-twitter", - UNDO: "pi pi-undo", - UNLOCK: "pi pi-unlock", - UPLOAD: "pi pi-upload", - USER: "pi pi-user", - USER_EDIT: "pi pi-user-edit", - USER_MINUS: "pi pi-user-minus", - USER_PLUS: "pi pi-user-plus", - USERS: "pi pi-users", - VERIFIED: "pi pi-verified", - VIDEO: "pi pi-video", - VIMEO: "pi pi-vimeo", - VOLUME_DOWN: "pi pi-volume-down", - VOLUME_OFF: "pi pi-volume-off", - VOLUME_UP: "pi pi-volume-up", - WALLET: "pi pi-wallet", - WHATSAPP: "pi pi-whatsapp", - WIFI: "pi pi-wifi", - WINDOW_MAXIMIZE: "pi pi-window-maximize", - WINDOW_MINIMIZE: "pi pi-window-minimize", - WRENCH: "pi pi-wrench", - YOUTUBE: "pi pi-youtube" -}; -var ToastSeverities = { - INFO: "info", - WARN: "warn", - ERROR: "error", - SUCCESS: "success" -}; -function classNames(...args) { - if (args) { - let classes2 = []; - for (let i2 = 0; i2 < args.length; i2++) { - let className = args[i2]; - if (!className) { - continue; - } - const type = typeof className; - if (type === "string" || type === "number") { - classes2.push(className); - } else if (type === "object") { - const _classes = Array.isArray(className) ? [classNames(...className)] : Object.entries(className).map(([key, value3]) => value3 ? key : void 0); - classes2 = _classes.length ? classes2.concat(_classes.filter((c) => !!c)) : classes2; - } - } - return classes2.join(" ").trim(); - } - return void 0; -} -__name(classNames, "classNames"); -function EventBus() { - const allHandlers = /* @__PURE__ */ new Map(); - return { - on(type, handler6) { - let handlers2 = allHandlers.get(type); - if (!handlers2) handlers2 = [handler6]; - else handlers2.push(handler6); - allHandlers.set(type, handlers2); - return this; - }, - off(type, handler6) { - let handlers2 = allHandlers.get(type); - if (handlers2) { - handlers2.splice(handlers2.indexOf(handler6) >>> 0, 1); - } - return this; - }, - emit(type, evt) { - let handlers2 = allHandlers.get(type); - if (handlers2) { - handlers2.slice().map((handler6) => { - handler6(evt); - }); - } - }, - clear() { - allHandlers.clear(); - } - }; -} -__name(EventBus, "EventBus"); -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, value3) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value: value3 }) : obj[key] = value3, "__defNormalProp$2"); -var __spreadValues$1 = /* @__PURE__ */ __name((a, b) => { - for (var prop2 in b || (b = {})) - if (__hasOwnProp$1.call(b, prop2)) - __defNormalProp$2(a, prop2, b[prop2]); - if (__getOwnPropSymbols$1) - for (var prop2 of __getOwnPropSymbols$1(b)) { - if (__propIsEnum$1.call(b, prop2)) - __defNormalProp$2(a, prop2, b[prop2]); - } - return a; -}, "__spreadValues$1"); -function isFunction$1(value3) { - return !!(value3 && value3.constructor && value3.call && value3.apply); -} -__name(isFunction$1, "isFunction$1"); -function mergeProps(...props) { - return props == null ? void 0 : props.reduce((merged, ps = {}) => { - for (const key in ps) { - const value3 = ps[key]; - if (key === "style") { - merged["style"] = __spreadValues$1(__spreadValues$1({}, merged["style"]), ps["style"]); - } else if (key === "class") { - merged["class"] = [merged["class"], ps["class"]].join(" ").trim() || void 0; - } else if (key === "className") { - merged["className"] = [merged["className"], ps["className"]].join(" ").trim() || void 0; - } else if (isFunction$1(value3)) { - const fn = merged[key]; - merged[key] = fn ? (...args) => { - fn(...args); - value3(...args); - } : value3; - } else { - merged[key] = value3; - } - } - return merged; - }, {}); -} -__name(mergeProps, "mergeProps"); -var lastIds = {}; -function uuid(prefix2 = "pui_id_") { - if (!lastIds.hasOwnProperty(prefix2)) { - lastIds[prefix2] = 0; - } - lastIds[prefix2]++; - return `${prefix2}${lastIds[prefix2]}`; -} -__name(uuid, "uuid"); -function handler() { - let zIndexes = []; - const generateZIndex = /* @__PURE__ */ __name((key, autoZIndex, baseZIndex = 999) => { - const lastZIndex = getLastZIndex(key, autoZIndex, baseZIndex); - const newZIndex = lastZIndex.value + (lastZIndex.key === key ? 0 : baseZIndex) + 1; - zIndexes.push({ key, value: newZIndex }); - return newZIndex; - }, "generateZIndex"); - const revertZIndex = /* @__PURE__ */ __name((zIndex) => { - zIndexes = zIndexes.filter((obj) => obj.value !== zIndex); - }, "revertZIndex"); - const getCurrentZIndex = /* @__PURE__ */ __name((key, autoZIndex) => { - return getLastZIndex(key, autoZIndex).value; - }, "getCurrentZIndex"); - const getLastZIndex = /* @__PURE__ */ __name((key, autoZIndex, baseZIndex = 0) => { - return [...zIndexes].reverse().find((obj) => autoZIndex ? true : obj.key === key) || { key, value: baseZIndex }; - }, "getLastZIndex"); - const getZIndex = /* @__PURE__ */ __name((element) => { - return element ? parseInt(element.style.zIndex, 10) || 0 : 0; - }, "getZIndex"); - return { - get: getZIndex, - set: /* @__PURE__ */ __name((key, element, baseZIndex) => { - if (element) { - element.style.zIndex = String(generateZIndex(key, true, baseZIndex)); - } - }, "set"), - clear: /* @__PURE__ */ __name((element) => { - if (element) { - revertZIndex(getZIndex(element)); - element.style.zIndex = ""; - } - }, "clear"), - getCurrent: /* @__PURE__ */ __name((key) => getCurrentZIndex(key, true), "getCurrent") - }; -} -__name(handler, "handler"); -var ZIndex = handler(); -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 _classCallCheck$1(a, n) { - if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); -} -__name(_classCallCheck$1, "_classCallCheck$1"); -function _defineProperties$1(e, r) { - for (var t = 0; t < r.length; t++) { - var o = r[t]; - o.enumerable = o.enumerable || false, o.configurable = true, "value" in o && (o.writable = true), Object.defineProperty(e, _toPropertyKey$1$3(o.key), o); - } -} -__name(_defineProperties$1, "_defineProperties$1"); -function _createClass$1(e, r, t) { - return r && _defineProperties$1(e.prototype, r), Object.defineProperty(e, "prototype", { writable: false }), e; -} -__name(_createClass$1, "_createClass$1"); -function _toPropertyKey$1$3(t) { - var i2 = _toPrimitive$1$3(t, "string"); - return "symbol" == _typeof$1$3(i2) ? i2 : i2 + ""; -} -__name(_toPropertyKey$1$3, "_toPropertyKey$1$3"); -function _toPrimitive$1$3(t, r) { - if ("object" != _typeof$1$3(t) || !t) return t; - var e = t[Symbol.toPrimitive]; - if (void 0 !== e) { - var i2 = e.call(t, r); - if ("object" != _typeof$1$3(i2)) return i2; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return String(t); -} -__name(_toPrimitive$1$3, "_toPrimitive$1$3"); -var ConnectedOverlayScrollHandler = /* @__PURE__ */ function() { - function ConnectedOverlayScrollHandler2(element) { - var listener = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : function() { - }; - _classCallCheck$1(this, ConnectedOverlayScrollHandler2); - this.element = element; - this.listener = listener; - } - __name(ConnectedOverlayScrollHandler2, "ConnectedOverlayScrollHandler"); - return _createClass$1(ConnectedOverlayScrollHandler2, [{ - key: "bindScrollListener", - value: /* @__PURE__ */ __name(function bindScrollListener6() { - this.scrollableParents = getScrollableParents(this.element); - for (var i2 = 0; i2 < this.scrollableParents.length; i2++) { - this.scrollableParents[i2].addEventListener("scroll", this.listener); - } - }, "bindScrollListener") - }, { - key: "unbindScrollListener", - value: /* @__PURE__ */ __name(function unbindScrollListener6() { - if (this.scrollableParents) { - for (var i2 = 0; i2 < this.scrollableParents.length; i2++) { - this.scrollableParents[i2].removeEventListener("scroll", this.listener); - } - } - }, "unbindScrollListener") - }, { - key: "destroy", - value: /* @__PURE__ */ __name(function destroy() { - this.unbindScrollListener(); - this.element = null; - this.listener = null; - this.scrollableParents = null; - }, "destroy") - }]); -}(); -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 _toConsumableArray$b(r) { - return _arrayWithoutHoles$b(r) || _iterableToArray$c(r) || _unsupportedIterableToArray$h(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$h(r, a) { - if (r) { - if ("string" == typeof r) return _arrayLikeToArray$h(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$h(r, a) : void 0; - } -} -__name(_unsupportedIterableToArray$h, "_unsupportedIterableToArray$h"); -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$b(r) { - if (Array.isArray(r)) return _arrayLikeToArray$h(r); -} -__name(_arrayWithoutHoles$b, "_arrayWithoutHoles$b"); -function _arrayLikeToArray$h(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$h, "_arrayLikeToArray$h"); -function _classCallCheck(a, n) { - if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); -} -__name(_classCallCheck, "_classCallCheck"); -function _defineProperties(e, r) { - for (var t = 0; t < r.length; t++) { - var o = r[t]; - o.enumerable = o.enumerable || false, o.configurable = true, "value" in o && (o.writable = true), Object.defineProperty(e, _toPropertyKey$k(o.key), o); - } -} -__name(_defineProperties, "_defineProperties"); -function _createClass(e, r, t) { - return r && _defineProperties(e.prototype, r), Object.defineProperty(e, "prototype", { writable: false }), e; -} -__name(_createClass, "_createClass"); -function _defineProperty$k(e, r, t) { - return (r = _toPropertyKey$k(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; -} -__name(_defineProperty$k, "_defineProperty$k"); -function _toPropertyKey$k(t) { - var i2 = _toPrimitive$k(t, "string"); - return "symbol" == _typeof$k(i2) ? i2 : i2 + ""; -} -__name(_toPropertyKey$k, "_toPropertyKey$k"); -function _toPrimitive$k(t, r) { - if ("object" != _typeof$k(t) || !t) return t; - var e = t[Symbol.toPrimitive]; - if (void 0 !== e) { - var i2 = e.call(t, r); - if ("object" != _typeof$k(i2)) return i2; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return String(t); -} -__name(_toPrimitive$k, "_toPrimitive$k"); -var _default = /* @__PURE__ */ function() { - function _default4(_ref) { - var init2 = _ref.init, type = _ref.type; - _classCallCheck(this, _default4); - _defineProperty$k(this, "helpers", void 0); - _defineProperty$k(this, "type", void 0); - this.helpers = new Set(init2); - this.type = type; - } - __name(_default4, "_default"); - return _createClass(_default4, [{ - key: "add", - value: /* @__PURE__ */ __name(function add2(instance) { - this.helpers.add(instance); - }, "add") - }, { - key: "update", - value: /* @__PURE__ */ __name(function update() { - }, "update") - }, { - key: "delete", - value: /* @__PURE__ */ __name(function _delete(instance) { - this.helpers["delete"](instance); - }, "_delete") - }, { - key: "clear", - value: /* @__PURE__ */ __name(function clear2() { - this.helpers.clear(); - }, "clear") - }, { - key: "get", - value: /* @__PURE__ */ __name(function get2(parentInstance, slots) { - var children = this._get(parentInstance, slots); - var computed2 = children ? this._recursive(_toConsumableArray$b(this.helpers), children) : null; - return isNotEmpty(computed2) ? computed2 : null; - }, "get") - }, { - key: "_isMatched", - value: /* @__PURE__ */ __name(function _isMatched(instance, key) { - var _parent$vnode; - var parent = instance === null || instance === void 0 ? void 0 : instance.parent; - return (parent === null || parent === void 0 || (_parent$vnode = parent.vnode) === null || _parent$vnode === void 0 ? void 0 : _parent$vnode.key) === key || parent && this._isMatched(parent, key) || false; - }, "_isMatched") - }, { - key: "_get", - value: /* @__PURE__ */ __name(function _get(parentInstance, slots) { - var _ref2, _ref2$default; - return ((_ref2 = slots || (parentInstance === null || parentInstance === void 0 ? void 0 : parentInstance.$slots)) === null || _ref2 === void 0 || (_ref2$default = _ref2["default"]) === null || _ref2$default === void 0 ? void 0 : _ref2$default.call(_ref2)) || null; - }, "_get") - }, { - key: "_recursive", - value: /* @__PURE__ */ __name(function _recursive() { - var _this = this; - var helpers = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : []; - var children = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : []; - var components = []; - children.forEach(function(child) { - if (child.children instanceof Array) { - components = components.concat(_this._recursive(components, child.children)); - } else if (child.type.name === _this.type) { - components.push(child); - } else if (isNotEmpty(child.key)) { - components = components.concat(helpers.filter(function(c) { - return _this._isMatched(c, child.key); - }).map(function(c) { - return c.vnode; - })); - } - }); - return components; - }, "_recursive") - }]); -}(); -function UniqueComponentId() { - var prefix2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "pv_id_"; - return uuid(prefix2); -} -__name(UniqueComponentId, "UniqueComponentId"); -function getVNodeProp(vnode, prop2) { - if (vnode) { - var props = vnode.props; - if (props) { - var kebabProp = prop2.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase(); - var propName = Object.prototype.hasOwnProperty.call(props, kebabProp) ? kebabProp : prop2; - return vnode.type["extends"].props[prop2].type === Boolean && props[propName] === "" ? true : props[propName]; - } - } - return null; -} -__name(getVNodeProp, "getVNodeProp"); -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, value3) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value: value3 }) : obj[key] = value3, "__defNormalProp$1"); -var __spreadValues = /* @__PURE__ */ __name((a, b) => { - for (var prop2 in b || (b = {})) - if (__hasOwnProp.call(b, prop2)) - __defNormalProp$1(a, prop2, b[prop2]); - if (__getOwnPropSymbols) - for (var prop2 of __getOwnPropSymbols(b)) { - if (__propIsEnum.call(b, prop2)) - __defNormalProp$1(a, prop2, b[prop2]); - } - return a; -}, "__spreadValues"); -var __spreadProps = /* @__PURE__ */ __name((a, b) => __defProps(a, __getOwnPropDescs(b)), "__spreadProps"); -var __objRest = /* @__PURE__ */ __name((source, exclude) => { - var target = {}; - 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]; - } - return target; -}, "__objRest"); -function definePreset(...presets) { - return mergeKeys(...presets); -} -__name(definePreset, "definePreset"); -var ThemeService = EventBus(); -var service_default = ThemeService; -function toTokenKey(str) { - return isString$3(str) ? str.replace(/[A-Z]/g, (c, i2) => i2 === 0 ? c : "." + c.toLowerCase()).toLowerCase() : str; -} -__name(toTokenKey, "toTokenKey"); -function merge(value1, value22) { - if (isArray$3(value1)) { - value1.push(...value22 || []); - } else if (isObject$4(value1)) { - Object.assign(value1, value22); - } -} -__name(merge, "merge"); -function toValue$1(value3) { - return isObject$4(value3) && value3.hasOwnProperty("value") && value3.hasOwnProperty("type") ? value3.value : value3; -} -__name(toValue$1, "toValue$1"); -function toUnit(value3, 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 = `${value3}`.trim(); - const valArr = val.split(" "); - return valArr.map((v2) => isNumber$2(v2) ? `${v2}px` : v2).join(" "); - } - return value3; -} -__name(toUnit, "toUnit"); -function toNormalizePrefix(prefix2) { - return prefix2.replaceAll(/ /g, "").replace(/[^\w]/g, "-"); -} -__name(toNormalizePrefix, "toNormalizePrefix"); -function toNormalizeVariable(prefix2 = "", variable = "") { - return toNormalizePrefix(`${isString$3(prefix2, false) && isString$3(variable, false) ? `${prefix2}-` : prefix2}${variable}`); -} -__name(toNormalizeVariable, "toNormalizeVariable"); -function getVariableName(prefix2 = "", variable = "") { - return `--${toNormalizeVariable(prefix2, variable)}`; -} -__name(getVariableName, "getVariableName"); -function getVariableValue(value3, variable = "", prefix2 = "", excludedKeyRegexes = [], fallback) { - if (isString$3(value3)) { - const regex = /{([^}]*)}/g; - const val = value3.trim(); - if (matchRegex(val, regex)) { - const _val = val.replaceAll(regex, (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 calculationRegex = /(\d+\s+[\+\-\*\/]\s+\d+)/g; - const cleanedVarRegex = /var\([^)]+\)/g; - return matchRegex(_val.replace(cleanedVarRegex, "0"), calculationRegex) ? `calc(${_val})` : _val; - } - return toUnit(val, variable); - } else if (isNumber$2(value3)) { - return toUnit(value3, variable); - } - return void 0; -} -__name(getVariableValue, "getVariableValue"); -function getComputedValue(obj = {}, value3) { - if (isString$3(value3)) { - const regex = /{([^}]*)}/g; - const val = value3.trim(); - return matchRegex(val, regex) ? val.replaceAll(regex, (v2) => getKeyValue(obj, v2.replace(/{|}/g, ""))) : val; - } else if (isNumber$2(value3)) { - return value3; - } - return void 0; -} -__name(getComputedValue, "getComputedValue"); -function setProperty(properties, key, value3) { - if (isString$3(key, false)) { - properties.push(`${key}:${value3};`); - } -} -__name(setProperty, "setProperty"); -function getRule(selector, properties) { - if (selector) { - return `${selector}{${properties}}`; - } - return ""; -} -__name(getRule, "getRule"); -function normalizeColor(color) { - if (color.length === 4) { - return `#${color[1]}${color[1]}${color[2]}${color[2]}${color[3]}${color[3]}`; - } - return color; -} -__name(normalizeColor, "normalizeColor"); -function hexToRgb$1(hex) { - var bigint = parseInt(hex.substring(1), 16); - var r = bigint >> 16 & 255; - var g = bigint >> 8 & 255; - var b = bigint & 255; - return { r, g, b }; -} -__name(hexToRgb$1, "hexToRgb$1"); -function rgbToHex(r, g, b) { - return `#${r.toString(16).padStart(2, "0")}${g.toString(16).padStart(2, "0")}${b.toString(16).padStart(2, "0")}`; -} -__name(rgbToHex, "rgbToHex"); -var mix_default = /* @__PURE__ */ __name((color1, color2, weight) => { - color1 = normalizeColor(color1); - color2 = normalizeColor(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 r = Math.round(rgb1.r * w1 + rgb2.r * w22); - var g = Math.round(rgb1.g * w1 + rgb2.g * w22); - var b = Math.round(rgb1.b * w1 + rgb2.b * w22); - return rgbToHex(r, g, b); -}, "mix_default"); -var shade_default = /* @__PURE__ */ __name((color, percent) => mix_default("#000000", color, percent), "shade_default"); -var tint_default = /* @__PURE__ */ __name((color, percent) => mix_default("#ffffff", color, percent), "tint_default"); -var scales = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950]; -var palette_default = /* @__PURE__ */ __name((color) => { - if (/{([^}]*)}/g.test(color)) { - const token = color.replace(/{|}/g, ""); - return scales.reduce((acc, scale) => (acc[scale] = `{${token}.${scale}}`, acc), {}); - } - return typeof color === "string" ? scales.reduce((acc, scale, i2) => (acc[scale] = i2 <= 5 ? tint_default(color, (5 - i2) * 19) : shade_default(color, (i2 - 5) * 15), acc), {}) : color; -}, "palette_default"); -var $dt = /* @__PURE__ */ __name((tokenPath) => { - var _a; - const theme36 = config_default.getTheme(); - const variable = dtwt(theme36, tokenPath, void 0, "variable"); - const name = (_a = variable == null ? void 0 : variable.match(/--[\w-]+/g)) == null ? void 0 : _a[0]; - const value3 = dtwt(theme36, tokenPath, void 0, "value"); - return { - name, - variable, - value: value3 - }; -}, "$dt"); -var dt = /* @__PURE__ */ __name((...args) => { - return dtwt(config_default.getTheme(), ...args); -}, "dt"); -var dtwt = /* @__PURE__ */ __name((theme36 = {}, tokenPath, fallback, type) => { - if (tokenPath) { - const { variable: VARIABLE, options: OPTIONS } = config_default.defaults || {}; - const { prefix: prefix2, transform: transform2 } = (theme36 == null ? void 0 : theme36.options) || OPTIONS || {}; - const regex = /{([^}]*)}/g; - const token = matchRegex(tokenPath, regex) ? tokenPath : `{${tokenPath}}`; - const isStrictTransform = type === "value" || isEmpty(type) && transform2 === "strict"; - return isStrictTransform ? config_default.getTokenValue(tokenPath) : getVariableValue(token, void 0, prefix2, [VARIABLE.excludedKeyRegex], fallback); - } - return ""; -}, "dtwt"); -function css$3(style) { - return resolve(style, { dt }); -} -__name(css$3, "css$3"); -var $t = /* @__PURE__ */ __name((theme36 = {}) => { - let { preset: _preset, options: _options } = theme36; - return { - preset(value3) { - _preset = _preset ? mergeKeys(_preset, value3) : value3; - return this; - }, - options(value3) { - _options = _options ? __spreadValues(__spreadValues({}, _options), value3) : value3; - return this; - }, - // features - primaryPalette(primary) { - const { semantic } = _preset || {}; - _preset = __spreadProps(__spreadValues({}, _preset), { semantic: __spreadProps(__spreadValues({}, semantic), { primary }) }); - return this; - }, - surfacePalette(surface) { - var _a, _b; - const { semantic } = _preset || {}; - const lightSurface = (surface == null ? void 0 : surface.hasOwnProperty("light")) ? surface == null ? void 0 : surface.light : surface; - const darkSurface = (surface == null ? void 0 : surface.hasOwnProperty("dark")) ? surface == null ? void 0 : surface.dark : surface; - const newColorScheme = { - colorScheme: { - light: __spreadValues(__spreadValues({}, (_a = semantic == null ? void 0 : semantic.colorScheme) == null ? void 0 : _a.light), !!lightSurface && { surface: lightSurface }), - dark: __spreadValues(__spreadValues({}, (_b = semantic == null ? void 0 : semantic.colorScheme) == null ? void 0 : _b.dark), !!darkSurface && { surface: darkSurface }) - } - }; - _preset = __spreadProps(__spreadValues({}, _preset), { semantic: __spreadValues(__spreadValues({}, semantic), newColorScheme) }); - return this; - }, - // actions - define({ useDefaultPreset = false, useDefaultOptions = false } = {}) { - return { - preset: useDefaultPreset ? config_default.getPreset() : _preset, - options: useDefaultOptions ? config_default.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 - }; - config_default.setTheme(newTheme); - return newTheme; - }, - use(options3) { - const newTheme = this.define(options3); - config_default.setTheme(newTheme); - return newTheme; - } - }; -}, "$t"); -function toVariables_default(theme36, options3 = {}) { - const VARIABLE = config_default.defaults.variable; - const { prefix: prefix2 = VARIABLE.prefix, selector = VARIABLE.selector, excludedKeyRegex = VARIABLE.excludedKeyRegex } = options3; - const _toVariables = /* @__PURE__ */ __name((_theme, _prefix = "") => { - return Object.entries(_theme).reduce( - (acc, [key, value3]) => { - const px = matchRegex(key, excludedKeyRegex) ? toNormalizeVariable(_prefix) : toNormalizeVariable(_prefix, toKebabCase(key)); - const v2 = toValue$1(value3); - if (isObject$4(v2)) { - const { variables: variables2, tokens: tokens2 } = _toVariables(v2, px); - merge(acc["tokens"], tokens2); - merge(acc["variables"], variables2); - } else { - acc["tokens"].push((prefix2 ? px.replace(`${prefix2}-`, "") : px).replaceAll("-", ".")); - setProperty(acc["variables"], getVariableName(px), getVariableValue(v2, px, prefix2, [excludedKeyRegex])); - } - return acc; - }, - { variables: [], tokens: [] } - ); - }, "_toVariables"); - const { variables, tokens } = _toVariables(theme36, prefix2); - return { - value: variables, - tokens, - declarations: variables.join(""), - css: getRule(selector, variables.join("")) - }; -} -__name(toVariables_default, "toVariables_default"); -var themeUtils_default = { - regex: { - rules: { - class: { - pattern: /^\.([a-zA-Z][\w-]*)$/, - resolve(value3) { - return { type: "class", selector: value3, matched: this.pattern.test(value3.trim()) }; - } - }, - attr: { - pattern: /^\[(.*)\]$/, - resolve(value3) { - return { type: "attr", selector: `:root${value3}`, matched: this.pattern.test(value3.trim()) }; - } - }, - media: { - pattern: /^@media (.*)$/, - resolve(value3) { - return { type: "media", selector: `${value3}{:root{[CSS]}}`, matched: this.pattern.test(value3.trim()) }; - } - }, - system: { - pattern: /^system$/, - resolve(value3) { - return { type: "system", selector: "@media (prefers-color-scheme: dark){:root{[CSS]}}", matched: this.pattern.test(value3.trim()) }; - } - }, - custom: { - resolve(value3) { - return { type: "custom", selector: value3, matched: true }; - } - } - }, - resolve(value3) { - const rules = Object.keys(this.rules).filter((k) => k !== "custom").map((r) => this.rules[r]); - return [value3].flat().map((v2) => { - var _a; - return (_a = rules.map((r) => r.resolve(v2)).find((rr) => rr.matched)) != null ? _a : this.rules.custom.resolve(v2); - }); - } - }, - _toVariables(theme36, options3) { - return toVariables_default(theme36, { prefix: options3 == null ? void 0 : options3.prefix }); - }, - getCommon({ name = "", theme: theme36 = {}, params, set: set2, defaults: defaults2 }) { - var _e, _f, _g, _h, _i, _j, _k; - const { preset, options: options3 } = theme36; - let primitive_css, primitive_tokens, semantic_css, semantic_tokens, global_css, global_tokens, style; - if (isNotEmpty(preset) && options3.transform !== "strict") { - const { primitive, semantic, extend: extend4 } = preset; - const _a = semantic || {}, { colorScheme } = _a, sRest = __objRest(_a, ["colorScheme"]); - const _b = extend4 || {}, { colorScheme: eColorScheme } = _b, eRest = __objRest(_b, ["colorScheme"]); - const _c = colorScheme || {}, { dark } = _c, csRest = __objRest(_c, ["dark"]); - const _d = eColorScheme || {}, { dark: eDark } = _d, ecsRest = __objRest(_d, ["dark"]); - const prim_var = isNotEmpty(primitive) ? this._toVariables({ primitive }, options3) : {}; - const sRest_var = isNotEmpty(sRest) ? this._toVariables({ semantic: sRest }, options3) : {}; - const csRest_var = isNotEmpty(csRest) ? this._toVariables({ light: csRest }, options3) : {}; - const csDark_var = isNotEmpty(dark) ? this._toVariables({ dark }, options3) : {}; - const eRest_var = isNotEmpty(eRest) ? this._toVariables({ semantic: eRest }, options3) : {}; - const ecsRest_var = isNotEmpty(ecsRest) ? this._toVariables({ light: ecsRest }, options3) : {}; - const ecsDark_var = isNotEmpty(eDark) ? this._toVariables({ dark: eDark }, options3) : {}; - 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(name, prim_css, "light", "variable", options3, set2, defaults2); - primitive_tokens = prim_tokens; - const semantic_light_css = this.transformCSS(name, `${sRest_css}${csRest_css}`, "light", "variable", options3, set2, defaults2); - const semantic_dark_css = this.transformCSS(name, `${csDark_css}`, "dark", "variable", options3, set2, defaults2); - semantic_css = `${semantic_light_css}${semantic_dark_css}`; - semantic_tokens = [.../* @__PURE__ */ new Set([...sRest_tokens, ...csRest_tokens, ...csDark_tokens])]; - const global_light_css = this.transformCSS(name, `${eRest_css}${ecsRest_css}color-scheme:light`, "light", "variable", options3, set2, defaults2); - const global_dark_css = this.transformCSS(name, `${ecsDark_css}color-scheme:dark`, "dark", "variable", options3, set2, defaults2); - global_css = `${global_light_css}${global_dark_css}`; - global_tokens = [.../* @__PURE__ */ new Set([...eRest_tokens, ...ecsRest_tokens, ...ecsDark_tokens])]; - style = resolve(preset.css, { dt }); - } - return { - primitive: { - css: primitive_css, - tokens: primitive_tokens - }, - semantic: { - css: semantic_css, - tokens: semantic_tokens - }, - global: { - css: global_css, - tokens: global_tokens - }, - style - }; - }, - getPreset({ name = "", preset = {}, options: options3, params, set: set2, defaults: defaults2, selector }) { - var _e, _f, _g; - let p_css, p_tokens, p_style; - if (isNotEmpty(preset) && options3.transform !== "strict") { - const _name = name.replace("-directive", ""); - const _a = preset, { colorScheme, extend: extend4, css: css22 } = _a, vRest = __objRest(_a, ["colorScheme", "extend", "css"]); - const _b = extend4 || {}, { colorScheme: eColorScheme } = _b, evRest = __objRest(_b, ["colorScheme"]); - const _c = colorScheme || {}, { dark } = _c, csRest = __objRest(_c, ["dark"]); - const _d = eColorScheme || {}, { dark: ecsDark } = _d, ecsRest = __objRest(_d, ["dark"]); - const vRest_var = isNotEmpty(vRest) ? this._toVariables({ [_name]: __spreadValues(__spreadValues({}, vRest), evRest) }, options3) : {}; - const csRest_var = isNotEmpty(csRest) ? this._toVariables({ [_name]: __spreadValues(__spreadValues({}, csRest), ecsRest) }, options3) : {}; - const csDark_var = isNotEmpty(dark) ? this._toVariables({ [_name]: __spreadValues(__spreadValues({}, dark), ecsDark) }, options3) : {}; - 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", options3, set2, defaults2, selector); - const dark_variable_css = this.transformCSS(_name, csDark_css, "dark", "variable", options3, set2, defaults2, selector); - p_css = `${light_variable_css}${dark_variable_css}`; - p_tokens = [.../* @__PURE__ */ new Set([...vRest_tokens, ...csRest_tokens, ...csDark_tokens])]; - p_style = resolve(css22, { dt }); - } - return { - css: p_css, - tokens: p_tokens, - style: p_style - }; - }, - getPresetC({ name = "", theme: theme36 = {}, params, set: set2, defaults: defaults2 }) { - var _a; - const { preset, options: options3 } = theme36; - const cPreset = (_a = preset == null ? void 0 : preset.components) == null ? void 0 : _a[name]; - return this.getPreset({ name, preset: cPreset, options: options3, params, set: set2, defaults: defaults2 }); - }, - getPresetD({ name = "", theme: theme36 = {}, params, set: set2, defaults: defaults2 }) { - var _a; - const dName = name.replace("-directive", ""); - const { preset, options: options3 } = theme36; - const dPreset = (_a = preset == null ? void 0 : preset.directives) == null ? void 0 : _a[dName]; - return this.getPreset({ name: dName, preset: dPreset, options: options3, params, set: set2, defaults: defaults2 }); - }, - applyDarkColorScheme(options3) { - return !(options3.darkModeSelector === "none" || options3.darkModeSelector === false); - }, - getColorSchemeOption(options3, defaults2) { - var _a; - return this.applyDarkColorScheme(options3) ? this.regex.resolve(options3.darkModeSelector === true ? defaults2.options.darkModeSelector : (_a = options3.darkModeSelector) != null ? _a : defaults2.options.darkModeSelector) : []; - }, - getLayerOrder(name, options3 = {}, params, defaults2) { - const { cssLayer } = options3; - if (cssLayer) { - const order = resolve(cssLayer.order || "primeui", params); - return `@layer ${order}`; - } - return ""; - }, - getCommonStyleSheet({ name = "", theme: theme36 = {}, params, props = {}, set: set2, defaults: defaults2 }) { - const common = this.getCommon({ name, theme: theme36, params, set: set2, defaults: defaults2 }); - const _props = Object.entries(props).reduce((acc, [k, v2]) => acc.push(`${k}="${v2}"`) && acc, []).join(" "); - return Object.entries(common || {}).reduce((acc, [key, value3]) => { - if (value3 == null ? void 0 : value3.css) { - const _css = minifyCSS(value3 == null ? void 0 : value3.css); - const id3 = `${key}-variables`; - acc.push(``); - } - return acc; - }, []).join(""); - }, - getStyleSheet({ name = "", theme: theme36 = {}, params, props = {}, set: set2, defaults: defaults2 }) { - var _a; - const options3 = { name, theme: theme36, params, set: set2, defaults: defaults2 }; - const preset_css = (_a = name.includes("-directive") ? this.getPresetD(options3) : this.getPresetC(options3)) == null ? void 0 : _a.css; - const _props = Object.entries(props).reduce((acc, [k, v2]) => acc.push(`${k}="${v2}"`) && acc, []).join(" "); - return preset_css ? `` : ""; - }, - createTokens(obj = {}, defaults2, parentKey = "", parentPath = "", tokens = {}) { - Object.entries(obj).forEach(([key, value3]) => { - const currentKey = matchRegex(key, defaults2.variable.excludedKeyRegex) ? parentKey : parentKey ? `${parentKey}.${toTokenKey$1(key)}` : toTokenKey$1(key); - const currentPath = parentPath ? `${parentPath}.${key}` : key; - if (isObject$4(value3)) { - this.createTokens(value3, defaults2, currentKey, currentPath, tokens); - } else { - tokens[currentKey] || (tokens[currentKey] = { - paths: [], - computed(colorScheme, tokenPathMap = {}) { - var _a, _b; - if (this.paths.length === 1) { - return (_a = this.paths[0]) == null ? void 0 : _a.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])); - } - }); - tokens[currentKey].paths.push({ - path: currentPath, - value: value3, - scheme: currentPath.includes("colorScheme.light") ? "light" : currentPath.includes("colorScheme.dark") ? "dark" : "none", - computed(colorScheme, tokenPathMap = {}) { - const regex = /{([^}]*)}/g; - let computedValue = value3; - tokenPathMap["name"] = this.path; - tokenPathMap["binding"] || (tokenPathMap["binding"] = {}); - if (matchRegex(value3, regex)) { - const val = value3.trim(); - const _val = val.replaceAll(regex, (v2) => { - var _a; - const path = v2.replace(/{|}/g, ""); - const computed2 = (_a = tokens[path]) == null ? void 0 : _a.computed(colorScheme, tokenPathMap); - return isArray$3(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; - } - isEmpty(tokenPathMap["binding"]) && delete tokenPathMap["binding"]; - return { - colorScheme, - path: this.path, - paths: tokenPathMap, - value: computedValue.includes("undefined") ? void 0 : computedValue - }; - } - }); - } - }); - return tokens; - }, - getTokenValue(tokens, path, defaults2) { - var _a; - const normalizePath = /* @__PURE__ */ __name((str) => { - const strArr = str.split("."); - return strArr.filter((s) => !matchRegex(s.toLowerCase(), defaults2.variable.excludedKeyRegex)).join("."); - }, "normalizePath"); - const token = normalizePath(path); - const colorScheme = path.includes("colorScheme.light") ? "light" : path.includes("colorScheme.dark") ? "dark" : void 0; - const computedValues = [(_a = tokens[token]) == null ? void 0 : _a.computed(colorScheme)].flat().filter((computed2) => computed2); - return computedValues.length === 1 ? computedValues[0].value : computedValues.reduce((acc = {}, computed2) => { - const _a2 = computed2, { colorScheme: cs } = _a2, rest = __objRest(_a2, ["colorScheme"]); - acc[cs] = rest; - return acc; - }, void 0); - }, - getSelectorRule(selector1, selector2, type, css22) { - return type === "class" || type === "attr" ? getRule(isNotEmpty(selector2) ? `${selector1}${selector2},${selector1} ${selector2}` : selector1, css22) : getRule(selector1, isNotEmpty(selector2) ? getRule(selector2, css22) : css22); - }, - transformCSS(name, css22, mode2, type, options3 = {}, set2, defaults2, selector) { - if (isNotEmpty(css22)) { - const { cssLayer } = options3; - if (type !== "style") { - const colorSchemeOption = this.getColorSchemeOption(options3, defaults2); - css22 = mode2 === "dark" ? colorSchemeOption.reduce((acc, { type: type2, selector: _selector }) => { - if (isNotEmpty(_selector)) { - acc += _selector.includes("[CSS]") ? _selector.replace("[CSS]", css22) : this.getSelectorRule(_selector, selector, type2, css22); - } - return acc; - }, "") : getRule(selector != null ? selector : ":root", css22); - } - if (cssLayer) { - const layerOptions = { - name: "primeui", - order: "primeui" - }; - isObject$4(cssLayer) && (layerOptions.name = resolve(cssLayer.name, { name, type })); - if (isNotEmpty(layerOptions.name)) { - css22 = getRule(`@layer ${layerOptions.name}`, css22); - set2 == null ? void 0 : set2.layerNames(layerOptions.name); - } - } - return css22; - } - return ""; - } -}; -var config_default = { - defaults: { - variable: { - prefix: "p", - selector: ":root", - excludedKeyRegex: /^(primitive|semantic|components|directives|variables|colorscheme|light|dark|common|root|states|extend|css)$/gi - }, - options: { - prefix: "p", - darkModeSelector: "system", - cssLayer: false - } - }, - _theme: void 0, - _layerNames: /* @__PURE__ */ new Set(), - _loadedStyleNames: /* @__PURE__ */ new Set(), - _loadingStyles: /* @__PURE__ */ new Set(), - _tokens: {}, - update(newValues = {}) { - const { theme: theme36 } = newValues; - if (theme36) { - this._theme = __spreadProps(__spreadValues({}, theme36), { - options: __spreadValues(__spreadValues({}, this.defaults.options), theme36.options) - }); - this._tokens = themeUtils_default.createTokens(this.preset, this.defaults); - this.clearLoadedStyleNames(); - } - }, - get theme() { - return this._theme; - }, - get preset() { - var _a; - return ((_a = this.theme) == null ? void 0 : _a.preset) || {}; - }, - get options() { - var _a; - return ((_a = this.theme) == null ? void 0 : _a.options) || {}; - }, - get tokens() { - return this._tokens; - }, - getTheme() { - return this.theme; - }, - setTheme(newValue) { - this.update({ theme: newValue }); - service_default.emit("theme:change", newValue); - }, - getPreset() { - return this.preset; - }, - setPreset(newValue) { - this._theme = __spreadProps(__spreadValues({}, this.theme), { preset: newValue }); - this._tokens = themeUtils_default.createTokens(newValue, this.defaults); - this.clearLoadedStyleNames(); - service_default.emit("preset:change", newValue); - service_default.emit("theme:change", this.theme); - }, - getOptions() { - return this.options; - }, - setOptions(newValue) { - this._theme = __spreadProps(__spreadValues({}, this.theme), { options: newValue }); - this.clearLoadedStyleNames(); - service_default.emit("options:change", newValue); - service_default.emit("theme:change", this.theme); - }, - getLayerNames() { - return [...this._layerNames]; - }, - setLayerNames(layerName) { - this._layerNames.add(layerName); - }, - getLoadedStyleNames() { - return this._loadedStyleNames; - }, - isStyleNameLoaded(name) { - return this._loadedStyleNames.has(name); - }, - setLoadedStyleName(name) { - this._loadedStyleNames.add(name); - }, - deleteLoadedStyleName(name) { - this._loadedStyleNames.delete(name); - }, - clearLoadedStyleNames() { - this._loadedStyleNames.clear(); - }, - getTokenValue(tokenPath) { - return themeUtils_default.getTokenValue(this.tokens, tokenPath, this.defaults); - }, - getCommon(name = "", params) { - return themeUtils_default.getCommon({ name, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } }); - }, - getComponent(name = "", params) { - const options3 = { name, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } }; - return themeUtils_default.getPresetC(options3); - }, - getDirective(name = "", params) { - const options3 = { name, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } }; - return themeUtils_default.getPresetD(options3); - }, - getCustomPreset(name = "", preset, selector, params) { - const options3 = { name, preset, options: this.options, selector, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } }; - return themeUtils_default.getPreset(options3); - }, - getLayerOrderCSS(name = "") { - return themeUtils_default.getLayerOrder(name, this.options, { names: this.getLayerNames() }, this.defaults); - }, - transformCSS(name = "", css22, type = "style", mode2) { - return themeUtils_default.transformCSS(name, css22, mode2, type, this.options, { layerNames: this.setLayerNames.bind(this) }, this.defaults); - }, - getCommonStyleSheet(name = "", params, props = {}) { - return themeUtils_default.getCommonStyleSheet({ name, theme: this.theme, params, props, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } }); - }, - getStyleSheet(name, params, props = {}) { - return themeUtils_default.getStyleSheet({ name, theme: this.theme, params, props, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } }); - }, - onStyleMounted(name) { - this._loadingStyles.add(name); - }, - onStyleUpdated(name) { - this._loadingStyles.add(name); - }, - onStyleLoaded(event2, { name }) { - if (this._loadingStyles.size) { - this._loadingStyles.delete(name); - service_default.emit(`theme:${name}:load`, event2); - !this._loadingStyles.size && service_default.emit("theme:load"); - } - } -}; -function updatePreset(...presets) { - const newPreset = mergeKeys(config_default.getPreset(), ...presets); - config_default.setPreset(newPreset); - return newPreset; -} -__name(updatePreset, "updatePreset"); -function updatePrimaryPalette(primary) { - return $t().primaryPalette(primary).update().preset; -} -__name(updatePrimaryPalette, "updatePrimaryPalette"); -function updateSurfacePalette(palette) { - return $t().surfacePalette(palette).update().preset; -} -__name(updateSurfacePalette, "updateSurfacePalette"); -function usePreset(...presets) { - const newPreset = mergeKeys(...presets); - config_default.setPreset(newPreset); - return newPreset; -} -__name(usePreset, "usePreset"); -function useTheme(theme36) { - return $t(theme36).update({ mergePresets: false }); -} -__name(useTheme, "useTheme"); -var Base = { - _loadedStyleNames: /* @__PURE__ */ new Set(), - getLoadedStyleNames: /* @__PURE__ */ __name(function getLoadedStyleNames() { - return this._loadedStyleNames; - }, "getLoadedStyleNames"), - isStyleNameLoaded: /* @__PURE__ */ __name(function isStyleNameLoaded(name) { - return this._loadedStyleNames.has(name); - }, "isStyleNameLoaded"), - setLoadedStyleName: /* @__PURE__ */ __name(function setLoadedStyleName(name) { - this._loadedStyleNames.add(name); - }, "setLoadedStyleName"), - deleteLoadedStyleName: /* @__PURE__ */ __name(function deleteLoadedStyleName(name) { - this._loadedStyleNames["delete"](name); - }, "deleteLoadedStyleName"), - clearLoadedStyleNames: /* @__PURE__ */ __name(function clearLoadedStyleNames() { - this._loadedStyleNames.clear(); - }, "clearLoadedStyleNames") -}; -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$j(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$j, "ownKeys$j"); -function _objectSpread$j(e) { - for (var r = 1; r < arguments.length; r++) { - var t = null != arguments[r] ? arguments[r] : {}; - r % 2 ? ownKeys$j(Object(t), true).forEach(function(r2) { - _defineProperty$j(e, r2, t[r2]); - }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$j(Object(t)).forEach(function(r2) { - Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); - }); - } - return e; -} -__name(_objectSpread$j, "_objectSpread$j"); -function _defineProperty$j(e, r, t) { - return (r = _toPropertyKey$j(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; -} -__name(_defineProperty$j, "_defineProperty$j"); -function _toPropertyKey$j(t) { - var i2 = _toPrimitive$j(t, "string"); - return "symbol" == _typeof$j(i2) ? i2 : i2 + ""; -} -__name(_toPropertyKey$j, "_toPropertyKey$j"); -function _toPrimitive$j(t, r) { - if ("object" != _typeof$j(t) || !t) return t; - var e = t[Symbol.toPrimitive]; - if (void 0 !== e) { - var i2 = e.call(t, r || "default"); - if ("object" != _typeof$j(i2)) return i2; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return ("string" === r ? String : Number)(t); -} -__name(_toPrimitive$j, "_toPrimitive$j"); -function tryOnMounted$1(fn) { - var sync = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true; - if (getCurrentInstance()) onMounted(fn); - else if (sync) fn(); - else nextTick(fn); -} -__name(tryOnMounted$1, "tryOnMounted$1"); -var _id$1 = 0; -function useStyle(css3) { - var options3 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - var isLoaded = ref(false); - var cssRef = ref(css3); - var styleRef = ref(null); - var defaultDocument2 = isClient$1() ? window.document : void 0; - var _options$document = options3.document, document2 = _options$document === void 0 ? defaultDocument2 : _options$document, _options$immediate = options3.immediate, immediate = _options$immediate === void 0 ? true : _options$immediate, _options$manual = options3.manual, manual = _options$manual === void 0 ? false : _options$manual, _options$name = options3.name, name = _options$name === void 0 ? "style_".concat(++_id$1) : _options$name, _options$id = options3.id, id3 = _options$id === void 0 ? void 0 : _options$id, _options$media = options3.media, media = _options$media === void 0 ? void 0 : _options$media, _options$nonce = options3.nonce, nonce = _options$nonce === void 0 ? void 0 : _options$nonce, _options$first = options3.first, first = _options$first === void 0 ? false : _options$first, _options$onMounted = options3.onMounted, onStyleMounted = _options$onMounted === void 0 ? void 0 : _options$onMounted, _options$onUpdated = options3.onUpdated, onStyleUpdated = _options$onUpdated === void 0 ? void 0 : _options$onUpdated, _options$onLoad = options3.onLoad, onStyleLoaded = _options$onLoad === void 0 ? void 0 : _options$onLoad, _options$props = options3.props, props = _options$props === void 0 ? {} : _options$props; - var stop2 = /* @__PURE__ */ __name(function stop3() { - }, "stop"); - var load2 = /* @__PURE__ */ __name(function load3(_css) { - var _props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - if (!document2) return; - var _styleProps = _objectSpread$j(_objectSpread$j({}, props), _props); - var _name = _styleProps.name || name, _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) { - cssRef.value = _css || css3; - setAttributes(styleRef.value, { - type: "text/css", - id: _id2, - media, - nonce: _nonce - }); - first ? document2.head.prepend(styleRef.value) : document2.head.appendChild(styleRef.value); - setAttribute(styleRef.value, "data-primevue-style-id", _name); - setAttributes(styleRef.value, _styleProps); - styleRef.value.onload = function(event2) { - return onStyleLoaded === null || onStyleLoaded === void 0 ? void 0 : onStyleLoaded(event2, { - name: _name - }); - }; - onStyleMounted === null || onStyleMounted === void 0 || onStyleMounted(_name); - } - if (isLoaded.value) return; - stop2 = watch(cssRef, function(value3) { - styleRef.value.textContent = value3; - onStyleUpdated === null || onStyleUpdated === void 0 || onStyleUpdated(_name); - }, { - immediate: true - }); - isLoaded.value = true; - }, "load"); - var unload = /* @__PURE__ */ __name(function unload2() { - if (!document2 || !isLoaded.value) return; - stop2(); - isExist(styleRef.value) && document2.head.removeChild(styleRef.value); - isLoaded.value = false; - }, "unload"); - if (immediate && !manual) tryOnMounted$1(load2); - return { - id: id3, - name, - el: styleRef, - css: cssRef, - unload, - load: load2, - isLoaded: readonly(isLoaded) - }; -} -__name(useStyle, "useStyle"); -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 _slicedToArray$4(r, e) { - return _arrayWithHoles$4(r) || _iterableToArrayLimit$4(r, e) || _unsupportedIterableToArray$g(r, e) || _nonIterableRest$4(); -} -__name(_slicedToArray$4, "_slicedToArray$4"); -function _nonIterableRest$4() { - 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$4, "_nonIterableRest$4"); -function _unsupportedIterableToArray$g(r, a) { - if (r) { - if ("string" == typeof r) return _arrayLikeToArray$g(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$g(r, a) : void 0; - } -} -__name(_unsupportedIterableToArray$g, "_unsupportedIterableToArray$g"); -function _arrayLikeToArray$g(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$g, "_arrayLikeToArray$g"); -function _iterableToArrayLimit$4(r, l) { - var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; - if (null != t) { - var e, n, i2, u, a = [], f = true, o = false; - try { - if (i2 = (t = t.call(r)).next, 0 === l) ; - else for (; !(f = (e = i2.call(t)).done) && (a.push(e.value), a.length !== l); f = true) ; - } catch (r2) { - o = true, n = r2; - } finally { - try { - if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; - } finally { - if (o) throw n; - } - } - return a; - } -} -__name(_iterableToArrayLimit$4, "_iterableToArrayLimit$4"); -function _arrayWithHoles$4(r) { - if (Array.isArray(r)) return r; -} -__name(_arrayWithHoles$4, "_arrayWithHoles$4"); -function ownKeys$i(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$i, "ownKeys$i"); -function _objectSpread$i(e) { - for (var r = 1; r < arguments.length; r++) { - var t = null != arguments[r] ? arguments[r] : {}; - r % 2 ? ownKeys$i(Object(t), true).forEach(function(r2) { - _defineProperty$i(e, r2, t[r2]); - }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$i(Object(t)).forEach(function(r2) { - Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); - }); - } - return e; -} -__name(_objectSpread$i, "_objectSpread$i"); -function _defineProperty$i(e, r, t) { - return (r = _toPropertyKey$i(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; -} -__name(_defineProperty$i, "_defineProperty$i"); -function _toPropertyKey$i(t) { - var i2 = _toPrimitive$i(t, "string"); - return "symbol" == _typeof$i(i2) ? i2 : i2 + ""; -} -__name(_toPropertyKey$i, "_toPropertyKey$i"); -function _toPrimitive$i(t, r) { - if ("object" != _typeof$i(t) || !t) return t; - var e = t[Symbol.toPrimitive]; - if (void 0 !== e) { - var i2 = e.call(t, r || "default"); - if ("object" != _typeof$i(i2)) return i2; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return ("string" === r ? String : Number)(t); -} -__name(_toPrimitive$i, "_toPrimitive$i"); -var theme$x = /* @__PURE__ */ __name(function theme2(_ref) { - var dt2 = _ref.dt; - return "\n* {\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"); -var css$2 = /* @__PURE__ */ __name(function css2(_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$z = {}; -var inlineStyles$4 = {}; -var BaseStyle = { - name: "base", - css: css$2, - theme: theme$x, - classes: classes$z, - inlineStyles: inlineStyles$4, - load: /* @__PURE__ */ __name(function load(style) { - var options3 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - var transform2 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : function(cs) { - return cs; - }; - var computedStyle = transform2(resolve(style, { - dt - })); - return isNotEmpty(computedStyle) ? useStyle(minifyCSS(computedStyle), _objectSpread$i({ - name: this.name - }, options3)) : {}; - }, "load"), - loadCSS: /* @__PURE__ */ __name(function loadCSS() { - var options3 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; - return this.load(this.css, options3); - }, "loadCSS"), - loadTheme: /* @__PURE__ */ __name(function loadTheme() { - var _this = this; - var options3 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; - var style = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ""; - return this.load(this.theme, options3, function() { - var computedStyle = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ""; - return config_default.transformCSS(options3.name || _this.name, "".concat(computedStyle).concat(style)); - }); - }, "loadTheme"), - getCommonTheme: /* @__PURE__ */ __name(function getCommonTheme(params) { - return config_default.getCommon(this.name, params); - }, "getCommonTheme"), - getComponentTheme: /* @__PURE__ */ __name(function getComponentTheme(params) { - return config_default.getComponent(this.name, params); - }, "getComponentTheme"), - getDirectiveTheme: /* @__PURE__ */ __name(function getDirectiveTheme(params) { - return config_default.getDirective(this.name, params); - }, "getDirectiveTheme"), - getPresetTheme: /* @__PURE__ */ __name(function getPresetTheme(preset, selector, params) { - return config_default.getCustomPreset(this.name, preset, selector, params); - }, "getPresetTheme"), - getLayerOrderThemeCSS: /* @__PURE__ */ __name(function getLayerOrderThemeCSS() { - return config_default.getLayerOrderCSS(this.name); - }, "getLayerOrderThemeCSS"), - getStyleSheet: /* @__PURE__ */ __name(function getStyleSheet() { - var extendedCSS = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ""; - var props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - if (this.css) { - var _css = resolve(this.css, { - dt - }) || ""; - var _style = minifyCSS("".concat(_css).concat(extendedCSS)); - var _props = Object.entries(props).reduce(function(acc, _ref3) { - var _ref4 = _slicedToArray$4(_ref3, 2), k = _ref4[0], v2 = _ref4[1]; - return acc.push("".concat(k, '="').concat(v2, '"')) && acc; - }, []).join(" "); - return isNotEmpty(_style) ? '") : ""; - } - return ""; - }, "getStyleSheet"), - getCommonThemeStyleSheet: /* @__PURE__ */ __name(function getCommonThemeStyleSheet(params) { - var props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - return config_default.getCommonStyleSheet(this.name, params, props); - }, "getCommonThemeStyleSheet"), - getThemeStyleSheet: /* @__PURE__ */ __name(function getThemeStyleSheet(params) { - var props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - var css3 = [config_default.getStyleSheet(this.name, params, props)]; - if (this.theme) { - var name = this.name === "base" ? "global-style" : "".concat(this.name, "-style"); - var _css = resolve(this.theme, { - dt - }); - var _style = minifyCSS(config_default.transformCSS(name, _css)); - var _props = Object.entries(props).reduce(function(acc, _ref5) { - var _ref6 = _slicedToArray$4(_ref5, 2), k = _ref6[0], v2 = _ref6[1]; - return acc.push("".concat(k, '="').concat(v2, '"')) && acc; - }, []).join(" "); - isNotEmpty(_style) && css3.push('")); - } - return css3.join(""); - }, "getThemeStyleSheet"), - extend: /* @__PURE__ */ __name(function extend2(style) { - return _objectSpread$i(_objectSpread$i({}, this), {}, { - css: void 0, - theme: void 0 - }, style); - }, "extend") -}; -var BaseComponentStyle = BaseStyle.extend({ - name: "common" -}); -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 _toArray(r) { - return _arrayWithHoles$3(r) || _iterableToArray$b(r) || _unsupportedIterableToArray$f(r) || _nonIterableRest$3(); -} -__name(_toArray, "_toArray"); -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 _slicedToArray$3(r, e) { - return _arrayWithHoles$3(r) || _iterableToArrayLimit$3(r, e) || _unsupportedIterableToArray$f(r, e) || _nonIterableRest$3(); -} -__name(_slicedToArray$3, "_slicedToArray$3"); -function _nonIterableRest$3() { - 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$3, "_nonIterableRest$3"); -function _unsupportedIterableToArray$f(r, a) { - if (r) { - if ("string" == typeof r) return _arrayLikeToArray$f(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$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$3(r, l) { - var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; - if (null != t) { - var e, n, i2, u, a = [], f = true, o = false; - try { - if (i2 = (t = t.call(r)).next, 0 === l) { - if (Object(t) !== t) return; - f = false; - } else for (; !(f = (e = i2.call(t)).done) && (a.push(e.value), a.length !== l); f = true) ; - } catch (r2) { - o = true, n = r2; - } finally { - try { - if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; - } finally { - if (o) throw n; - } - } - return a; - } -} -__name(_iterableToArrayLimit$3, "_iterableToArrayLimit$3"); -function _arrayWithHoles$3(r) { - if (Array.isArray(r)) return r; -} -__name(_arrayWithHoles$3, "_arrayWithHoles$3"); -function ownKeys$h(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$h, "ownKeys$h"); -function _objectSpread$h(e) { - for (var r = 1; r < arguments.length; r++) { - var t = null != arguments[r] ? arguments[r] : {}; - r % 2 ? ownKeys$h(Object(t), true).forEach(function(r2) { - _defineProperty$h(e, r2, t[r2]); - }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$h(Object(t)).forEach(function(r2) { - Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); - }); - } - return e; -} -__name(_objectSpread$h, "_objectSpread$h"); -function _defineProperty$h(e, r, t) { - return (r = _toPropertyKey$h(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; -} -__name(_defineProperty$h, "_defineProperty$h"); -function _toPropertyKey$h(t) { - var i2 = _toPrimitive$h(t, "string"); - return "symbol" == _typeof$h(i2) ? i2 : i2 + ""; -} -__name(_toPropertyKey$h, "_toPropertyKey$h"); -function _toPrimitive$h(t, r) { - if ("object" != _typeof$h(t) || !t) return t; - var e = t[Symbol.toPrimitive]; - if (void 0 !== e) { - var i2 = e.call(t, r || "default"); - if ("object" != _typeof$h(i2)) return i2; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return ("string" === r ? String : Number)(t); -} -__name(_toPrimitive$h, "_toPrimitive$h"); -var script$U = { - name: "BaseComponent", - props: { - pt: { - type: Object, - "default": void 0 - }, - ptOptions: { - type: Object, - "default": void 0 - }, - unstyled: { - type: Boolean, - "default": void 0 - }, - dt: { - type: Object, - "default": void 0 - } - }, - inject: { - $parentInstance: { - "default": void 0 - } - }, - watch: { - isUnstyled: { - immediate: true, - handler: /* @__PURE__ */ __name(function handler2(newValue) { - if (!newValue) { - this._loadCoreStyles(); - this._themeChangeListener(this._loadCoreStyles); - } - }, "handler") - }, - dt: { - immediate: true, - handler: /* @__PURE__ */ __name(function handler3(newValue) { - var _this = this; - if (newValue) { - this._loadScopedThemeStyles(newValue); - this._themeChangeListener(function() { - return _this._loadScopedThemeStyles(newValue); - }); - } else { - this._unloadScopedThemeStyles(); - } - }, "handler") - } - }, - scopedStyleEl: void 0, - rootEl: void 0, - $attrSelector: void 0, - beforeCreate: /* @__PURE__ */ __name(function beforeCreate() { - var _this$pt, _this$pt2, _this$pt3, _ref, _ref$onBeforeCreate, _this$$primevueConfig, _this$$primevue, _this$$primevue2, _this$$primevue3, _ref2, _ref2$onBeforeCreate; - var _usept = (_this$pt = this.pt) === null || _this$pt === void 0 ? void 0 : _this$pt["_usept"]; - var originalValue = _usept ? (_this$pt2 = this.pt) === null || _this$pt2 === void 0 || (_this$pt2 = _this$pt2.originalValue) === null || _this$pt2 === void 0 ? void 0 : _this$pt2[this.$.type.name] : void 0; - var value3 = _usept ? (_this$pt3 = this.pt) === null || _this$pt3 === void 0 || (_this$pt3 = _this$pt3.value) === null || _this$pt3 === void 0 ? void 0 : _this$pt3[this.$.type.name] : this.pt; - (_ref = value3 || originalValue) === null || _ref === void 0 || (_ref = _ref.hooks) === null || _ref === void 0 || (_ref$onBeforeCreate = _ref["onBeforeCreate"]) === null || _ref$onBeforeCreate === void 0 || _ref$onBeforeCreate.call(_ref); - var _useptInConfig = (_this$$primevueConfig = this.$primevueConfig) === null || _this$$primevueConfig === void 0 || (_this$$primevueConfig = _this$$primevueConfig.pt) === null || _this$$primevueConfig === void 0 ? void 0 : _this$$primevueConfig["_usept"]; - var originalValueInConfig = _useptInConfig ? (_this$$primevue = this.$primevue) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.config) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.pt) === null || _this$$primevue === void 0 ? void 0 : _this$$primevue.originalValue : void 0; - var valueInConfig = _useptInConfig ? (_this$$primevue2 = this.$primevue) === null || _this$$primevue2 === void 0 || (_this$$primevue2 = _this$$primevue2.config) === null || _this$$primevue2 === void 0 || (_this$$primevue2 = _this$$primevue2.pt) === null || _this$$primevue2 === void 0 ? void 0 : _this$$primevue2.value : (_this$$primevue3 = this.$primevue) === null || _this$$primevue3 === void 0 || (_this$$primevue3 = _this$$primevue3.config) === null || _this$$primevue3 === void 0 ? void 0 : _this$$primevue3.pt; - (_ref2 = valueInConfig || originalValueInConfig) === null || _ref2 === void 0 || (_ref2 = _ref2[this.$.type.name]) === null || _ref2 === void 0 || (_ref2 = _ref2.hooks) === null || _ref2 === void 0 || (_ref2$onBeforeCreate = _ref2["onBeforeCreate"]) === null || _ref2$onBeforeCreate === void 0 || _ref2$onBeforeCreate.call(_ref2); - this.$attrSelector = uuid("pc"); - }, "beforeCreate"), - created: /* @__PURE__ */ __name(function created() { - this._hook("onCreated"); - }, "created"), - beforeMount: /* @__PURE__ */ __name(function beforeMount() { - this.rootEl = findSingle(this.$el, '[data-pc-name="'.concat(toFlatCase(this.$.type.name), '"]')); - if (this.rootEl) { - this.$attrSelector && !this.rootEl.hasAttribute(this.$attrSelector) && this.rootEl.setAttribute(this.$attrSelector, ""); - this.rootEl.$pc = _objectSpread$h({ - name: this.$.type.name, - attrSelector: this.$attrSelector - }, this.$params); - } - this._loadStyles(); - this._hook("onBeforeMount"); - }, "beforeMount"), - mounted: /* @__PURE__ */ __name(function mounted() { - this._hook("onMounted"); - }, "mounted"), - beforeUpdate: /* @__PURE__ */ __name(function beforeUpdate() { - this._hook("onBeforeUpdate"); - }, "beforeUpdate"), - updated: /* @__PURE__ */ __name(function updated() { - this._hook("onUpdated"); - }, "updated"), - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount() { - this._hook("onBeforeUnmount"); - }, "beforeUnmount"), - unmounted: /* @__PURE__ */ __name(function unmounted() { - this._unloadScopedThemeStyles(); - this._hook("onUnmounted"); - }, "unmounted"), - methods: { - _hook: /* @__PURE__ */ __name(function _hook(hookName) { - if (!this.$options.hostName) { - var selfHook = this._usePT(this._getPT(this.pt, this.$.type.name), this._getOptionValue, "hooks.".concat(hookName)); - var defaultHook = this._useDefaultPT(this._getOptionValue, "hooks.".concat(hookName)); - selfHook === null || selfHook === void 0 || selfHook(); - defaultHook === null || defaultHook === void 0 || defaultHook(); - } - }, "_hook"), - _mergeProps: /* @__PURE__ */ __name(function _mergeProps(fn) { - for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key2 = 1; _key2 < _len; _key2++) { - args[_key2 - 1] = arguments[_key2]; - } - return isFunction$2(fn) ? fn.apply(void 0, args) : mergeProps$1.apply(void 0, args); - }, "_mergeProps"), - _loadStyles: /* @__PURE__ */ __name(function _loadStyles() { - var _this2 = this; - var _load = /* @__PURE__ */ __name(function _load2() { - if (!Base.isStyleNameLoaded("base")) { - BaseStyle.loadCSS(_this2.$styleOptions); - _this2._loadGlobalStyles(); - Base.setLoadedStyleName("base"); - } - _this2._loadThemeStyles(); - }, "_load"); - _load(); - this._themeChangeListener(_load); - }, "_loadStyles"), - _loadCoreStyles: /* @__PURE__ */ __name(function _loadCoreStyles() { - var _this$$style, _this$$style2; - if (!Base.isStyleNameLoaded((_this$$style = this.$style) === null || _this$$style === void 0 ? void 0 : _this$$style.name) && (_this$$style2 = this.$style) !== null && _this$$style2 !== void 0 && _this$$style2.name) { - BaseComponentStyle.loadCSS(this.$styleOptions); - this.$options.style && this.$style.loadCSS(this.$styleOptions); - Base.setLoadedStyleName(this.$style.name); - } - }, "_loadCoreStyles"), - _loadGlobalStyles: /* @__PURE__ */ __name(function _loadGlobalStyles() { - var globalCSS = this._useGlobalPT(this._getOptionValue, "global.css", this.$params); - isNotEmpty(globalCSS) && BaseStyle.load(globalCSS, _objectSpread$h({ - name: "global" - }, this.$styleOptions)); - }, "_loadGlobalStyles"), - _loadThemeStyles: /* @__PURE__ */ __name(function _loadThemeStyles() { - var _this$$style4, _this$$style5; - if (this.isUnstyled || this.$theme === "none") return; - 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, style = _ref3.style; - BaseStyle.load(primitive === null || primitive === void 0 ? void 0 : primitive.css, _objectSpread$h({ - name: "primitive-variables" - }, this.$styleOptions)); - BaseStyle.load(semantic === null || semantic === void 0 ? void 0 : semantic.css, _objectSpread$h({ - name: "semantic-variables" - }, this.$styleOptions)); - BaseStyle.load(global2 === null || global2 === void 0 ? void 0 : global2.css, _objectSpread$h({ - name: "global-variables" - }, this.$styleOptions)); - BaseStyle.loadTheme(_objectSpread$h({ - name: "global-style" - }, this.$styleOptions), style); - config_default.setLoadedStyleName("common"); - } - 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)) || {}, css3 = _ref4.css, _style = _ref4.style; - (_this$$style7 = this.$style) === null || _this$$style7 === void 0 || _this$$style7.load(css3, _objectSpread$h({ - name: "".concat(this.$style.name, "-variables") - }, this.$styleOptions)); - (_this$$style8 = this.$style) === null || _this$$style8 === void 0 || _this$$style8.loadTheme(_objectSpread$h({ - name: "".concat(this.$style.name, "-style") - }, this.$styleOptions), _style); - config_default.setLoadedStyleName(this.$style.name); - } - 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$h({ - name: "layer-order", - first: true - }, this.$styleOptions)); - config_default.setLoadedStyleName("layer-order"); - } - }, "_loadThemeStyles"), - _loadScopedThemeStyles: /* @__PURE__ */ __name(function _loadScopedThemeStyles(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, "]"))) || {}, css3 = _ref5.css; - var scopedStyle = (_this$$style11 = this.$style) === null || _this$$style11 === void 0 ? void 0 : _this$$style11.load(css3, _objectSpread$h({ - name: "".concat(this.$attrSelector, "-").concat(this.$style.name) - }, this.$styleOptions)); - this.scopedStyleEl = scopedStyle.el; - }, "_loadScopedThemeStyles"), - _unloadScopedThemeStyles: /* @__PURE__ */ __name(function _unloadScopedThemeStyles() { - var _this$scopedStyleEl; - (_this$scopedStyleEl = this.scopedStyleEl) === null || _this$scopedStyleEl === void 0 || (_this$scopedStyleEl = _this$scopedStyleEl.value) === null || _this$scopedStyleEl === void 0 || _this$scopedStyleEl.remove(); - }, "_unloadScopedThemeStyles"), - _themeChangeListener: /* @__PURE__ */ __name(function _themeChangeListener() { - var callback = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function() { - }; - Base.clearLoadedStyleNames(); - service_default.on("theme:change", callback); - }, "_themeChangeListener"), - _getHostInstance: /* @__PURE__ */ __name(function _getHostInstance(instance) { - return instance ? this.$options.hostName ? instance.$.type.name === this.$options.hostName ? instance : this._getHostInstance(instance.$parentInstance) : instance.$parentInstance : void 0; - }, "_getHostInstance"), - _getPropValue: /* @__PURE__ */ __name(function _getPropValue(name) { - var _this$_getHostInstanc; - return this[name] || ((_this$_getHostInstanc = this._getHostInstance(this)) === null || _this$_getHostInstanc === void 0 ? void 0 : _this$_getHostInstanc[name]); - }, "_getPropValue"), - _getOptionValue: /* @__PURE__ */ __name(function _getOptionValue(options3) { - var key = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ""; - var params = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; - return getKeyValue(options3, key, params); - }, "_getOptionValue"), - _getPTValue: /* @__PURE__ */ __name(function _getPTValue() { - var _this$$primevueConfig2; - 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] : {}; - var searchInDefaultPT = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : true; - 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$h(_objectSpread$h({}, params), {}, { - global: global2 || {} - })); - var datasets = this._getPTDatasets(key); - return mergeSections || !mergeSections && self2 ? useMergeProps ? this._mergeProps(useMergeProps, global2, self2, datasets) : _objectSpread$h(_objectSpread$h(_objectSpread$h({}, global2), self2), datasets) : _objectSpread$h(_objectSpread$h({}, self2), datasets); - }, "_getPTValue"), - _getPTSelf: /* @__PURE__ */ __name(function _getPTSelf() { - var obj = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; - for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key3 = 1; _key3 < _len2; _key3++) { - args[_key3 - 1] = arguments[_key3]; - } - return mergeProps$1( - this._usePT.apply(this, [this._getPT(obj, this.$name)].concat(args)), - // Exp; 0 && arguments[0] !== void 0 ? arguments[0] : ""; - var datasetPrefix = "data-pc-"; - var isExtended = key === "root" && isNotEmpty((_this$pt4 = this.pt) === null || _this$pt4 === void 0 ? void 0 : _this$pt4["data-pc-section"]); - return key !== "transition" && _objectSpread$h(_objectSpread$h({}, key === "root" && _objectSpread$h(_objectSpread$h(_defineProperty$h({}, "".concat(datasetPrefix, "name"), toFlatCase(isExtended ? (_this$pt5 = this.pt) === null || _this$pt5 === void 0 ? void 0 : _this$pt5["data-pc-section"] : this.$.type.name)), isExtended && _defineProperty$h({}, "".concat(datasetPrefix, "extend"), toFlatCase(this.$.type.name))), isClient$1() && _defineProperty$h({}, "".concat(this.$attrSelector), ""))), {}, _defineProperty$h({}, "".concat(datasetPrefix, "section"), toFlatCase(key))); - }, "_getPTDatasets"), - _getPTClassValue: /* @__PURE__ */ __name(function _getPTClassValue() { - var value3 = this._getOptionValue.apply(this, arguments); - return isString$3(value3) || isArray$3(value3) ? { - "class": value3 - } : value3; - }, "_getPTClassValue"), - _getPT: /* @__PURE__ */ __name(function _getPT(pt) { - var _this3 = this; - var key = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ""; - var callback = arguments.length > 2 ? arguments[2] : void 0; - var getValue2 = /* @__PURE__ */ __name(function getValue3(value3) { - var _ref9; - var checkSameKey = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; - var computedValue = callback ? callback(value3) : value3; - var _key = toFlatCase(key); - var _cKey = toFlatCase(_this3.$name); - return (_ref9 = checkSameKey ? _key !== _cKey ? computedValue === null || computedValue === void 0 ? void 0 : computedValue[_key] : void 0 : computedValue === null || computedValue === void 0 ? void 0 : computedValue[_key]) !== null && _ref9 !== void 0 ? _ref9 : computedValue; - }, "getValue"); - return pt !== null && pt !== void 0 && pt.hasOwnProperty("_usept") ? { - _usept: pt["_usept"], - originalValue: getValue2(pt.originalValue), - value: getValue2(pt.value) - } : getValue2(pt, true); - }, "_getPT"), - _usePT: /* @__PURE__ */ __name(function _usePT(pt, callback, key, params) { - var fn = /* @__PURE__ */ __name(function fn2(value4) { - return callback(value4, key, params); - }, "fn"); - if (pt !== null && pt !== void 0 && pt.hasOwnProperty("_usept")) { - var _this$$primevueConfig3; - var _ref10 = pt["_usept"] || ((_this$$primevueConfig3 = this.$primevueConfig) === null || _this$$primevueConfig3 === void 0 ? void 0 : _this$$primevueConfig3.ptOptions) || {}, _ref10$mergeSections = _ref10.mergeSections, mergeSections = _ref10$mergeSections === void 0 ? true : _ref10$mergeSections, _ref10$mergeProps = _ref10.mergeProps, useMergeProps = _ref10$mergeProps === void 0 ? false : _ref10$mergeProps; - var originalValue = fn(pt.originalValue); - var value3 = fn(pt.value); - if (originalValue === void 0 && value3 === void 0) return void 0; - else if (isString$3(value3)) return value3; - else if (isString$3(originalValue)) return originalValue; - return mergeSections || !mergeSections && value3 ? useMergeProps ? this._mergeProps(useMergeProps, originalValue, value3) : _objectSpread$h(_objectSpread$h({}, originalValue), value3) : value3; - } - return fn(pt); - }, "_usePT"), - _useGlobalPT: /* @__PURE__ */ __name(function _useGlobalPT(callback, key, params) { - return this._usePT(this.globalPT, callback, key, params); - }, "_useGlobalPT"), - _useDefaultPT: /* @__PURE__ */ __name(function _useDefaultPT(callback, key, params) { - return this._usePT(this.defaultPT, callback, key, params); - }, "_useDefaultPT"), - ptm: /* @__PURE__ */ __name(function ptm() { - 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$h(_objectSpread$h({}, this.$params), params)); - }, "ptm"), - ptmi: /* @__PURE__ */ __name(function ptmi() { - var key = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ""; - var params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - return mergeProps$1(this.$_attrsWithoutPT, this.ptm(key, params)); - }, "ptmi"), - ptmo: /* @__PURE__ */ __name(function ptmo() { - 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$h({ - instance: this - }, params), false); - }, "ptmo"), - cx: /* @__PURE__ */ __name(function cx() { - 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$h(_objectSpread$h({}, this.$params), params)) : void 0; - }, "cx"), - sx: /* @__PURE__ */ __name(function sx() { - 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$h(_objectSpread$h({}, this.$params), params)); - var base = this._getOptionValue(BaseComponentStyle.inlineStyles, key, _objectSpread$h(_objectSpread$h({}, this.$params), params)); - return [base, self2]; - } - return void 0; - }, "sx") - }, - computed: { - globalPT: /* @__PURE__ */ __name(function globalPT() { - var _this$$primevueConfig4, _this4 = this; - return this._getPT((_this$$primevueConfig4 = this.$primevueConfig) === null || _this$$primevueConfig4 === void 0 ? void 0 : _this$$primevueConfig4.pt, void 0, function(value3) { - return resolve(value3, { - instance: _this4 - }); - }); - }, "globalPT"), - defaultPT: /* @__PURE__ */ __name(function defaultPT() { - 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(value3) { - return _this5._getOptionValue(value3, _this5.$name, _objectSpread$h({}, _this5.$params)) || resolve(value3, _objectSpread$h({}, _this5.$params)); - }); - }, "defaultPT"), - isUnstyled: /* @__PURE__ */ __name(function isUnstyled() { - var _this$$primevueConfig6; - return this.unstyled !== void 0 ? this.unstyled : (_this$$primevueConfig6 = this.$primevueConfig) === null || _this$$primevueConfig6 === void 0 ? void 0 : _this$$primevueConfig6.unstyled; - }, "isUnstyled"), - $theme: /* @__PURE__ */ __name(function $theme() { - var _this$$primevueConfig7; - return (_this$$primevueConfig7 = this.$primevueConfig) === null || _this$$primevueConfig7 === void 0 ? void 0 : _this$$primevueConfig7.theme; - }, "$theme"), - $style: /* @__PURE__ */ __name(function $style() { - return _objectSpread$h(_objectSpread$h({ - classes: void 0, - inlineStyles: void 0, - load: /* @__PURE__ */ __name(function load2() { - }, "load"), - loadCSS: /* @__PURE__ */ __name(function loadCSS2() { - }, "loadCSS"), - loadTheme: /* @__PURE__ */ __name(function loadTheme2() { - }, "loadTheme") - }, (this._getHostInstance(this) || {}).$style), this.$options.style); - }, "$style"), - $styleOptions: /* @__PURE__ */ __name(function $styleOptions() { - var _this$$primevueConfig8; - return { - nonce: (_this$$primevueConfig8 = this.$primevueConfig) === null || _this$$primevueConfig8 === void 0 || (_this$$primevueConfig8 = _this$$primevueConfig8.csp) === null || _this$$primevueConfig8 === void 0 ? void 0 : _this$$primevueConfig8.nonce - }; - }, "$styleOptions"), - $primevueConfig: /* @__PURE__ */ __name(function $primevueConfig() { - var _this$$primevue4; - return (_this$$primevue4 = this.$primevue) === null || _this$$primevue4 === void 0 ? void 0 : _this$$primevue4.config; - }, "$primevueConfig"), - $name: /* @__PURE__ */ __name(function $name() { - return this.$options.hostName || this.$.type.name; - }, "$name"), - $params: /* @__PURE__ */ __name(function $params() { - var parentInstance = this._getHostInstance(this) || this.$parent; - return { - instance: this, - props: this.$props, - state: this.$data, - attrs: this.$attrs, - parent: { - instance: parentInstance, - props: parentInstance === null || parentInstance === void 0 ? void 0 : parentInstance.$props, - state: parentInstance === null || parentInstance === void 0 ? void 0 : parentInstance.$data, - attrs: parentInstance === null || parentInstance === void 0 ? void 0 : parentInstance.$attrs - } - }; - }, "$params"), - $_attrsPT: /* @__PURE__ */ __name(function $_attrsPT() { - return Object.entries(this.$attrs || {}).filter(function(_ref11) { - var _ref12 = _slicedToArray$3(_ref11, 1), key = _ref12[0]; - return key === null || key === void 0 ? void 0 : key.startsWith("pt:"); - }).reduce(function(result, _ref13) { - var _ref14 = _slicedToArray$3(_ref13, 2), key = _ref14[0], value3 = _ref14[1]; - var _key$split = key.split(":"), _key$split2 = _toArray(_key$split), rest = _key$split2.slice(1); - rest === null || rest === void 0 || rest.reduce(function(currentObj, nestedKey, index2, array) { - !currentObj[nestedKey] && (currentObj[nestedKey] = index2 === array.length - 1 ? value3 : {}); - return currentObj[nestedKey]; - }, result); - return result; - }, {}); - }, "$_attrsPT"), - $_attrsWithoutPT: /* @__PURE__ */ __name(function $_attrsWithoutPT() { - return Object.entries(this.$attrs || {}).filter(function(_ref15) { - var _ref16 = _slicedToArray$3(_ref15, 1), key = _ref16[0]; - return !(key !== null && key !== void 0 && key.startsWith("pt:")); - }).reduce(function(acc, _ref17) { - var _ref18 = _slicedToArray$3(_ref17, 2), key = _ref18[0], value3 = _ref18[1]; - acc[key] = value3; - return acc; - }, {}); - }, "$_attrsWithoutPT") - } -}; -var css$1 = "\n.p-icon {\n display: inline-block;\n vertical-align: baseline;\n}\n\n.p-icon-spin {\n -webkit-animation: p-icon-spin 2s infinite linear;\n animation: p-icon-spin 2s infinite linear;\n}\n\n@-webkit-keyframes p-icon-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n@keyframes p-icon-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n"; -var BaseIconStyle = BaseStyle.extend({ - name: "baseicon", - css: css$1 -}); -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$g(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$g, "ownKeys$g"); -function _objectSpread$g(e) { - for (var r = 1; r < arguments.length; r++) { - var t = null != arguments[r] ? arguments[r] : {}; - r % 2 ? ownKeys$g(Object(t), true).forEach(function(r2) { - _defineProperty$g(e, r2, t[r2]); - }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$g(Object(t)).forEach(function(r2) { - Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); - }); - } - return e; -} -__name(_objectSpread$g, "_objectSpread$g"); -function _defineProperty$g(e, r, t) { - return (r = _toPropertyKey$g(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; -} -__name(_defineProperty$g, "_defineProperty$g"); -function _toPropertyKey$g(t) { - var i2 = _toPrimitive$g(t, "string"); - return "symbol" == _typeof$g(i2) ? i2 : i2 + ""; -} -__name(_toPropertyKey$g, "_toPropertyKey$g"); -function _toPrimitive$g(t, r) { - if ("object" != _typeof$g(t) || !t) return t; - var e = t[Symbol.toPrimitive]; - if (void 0 !== e) { - var i2 = e.call(t, r || "default"); - if ("object" != _typeof$g(i2)) return i2; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return ("string" === r ? String : Number)(t); -} -__name(_toPrimitive$g, "_toPrimitive$g"); -var script$T = { - name: "BaseIcon", - "extends": script$U, - props: { - label: { - type: String, - "default": void 0 - }, - spin: { - type: Boolean, - "default": false - } - }, - style: BaseIconStyle, - provide: /* @__PURE__ */ __name(function provide2() { - return { - $pcIcon: this, - $parentInstance: this - }; - }, "provide"), - methods: { - pti: /* @__PURE__ */ __name(function pti() { - var isLabelEmpty = isEmpty(this.label); - return _objectSpread$g(_objectSpread$g({}, !this.isUnstyled && { - "class": ["p-icon", { - "p-icon-spin": this.spin - }] - }), {}, { - role: !isLabelEmpty ? "img" : void 0, - "aria-label": !isLabelEmpty ? this.label : void 0, - "aria-hidden": isLabelEmpty - }); - }, "pti") - } -}; -var script$S = { - name: "BlankIcon", - "extends": script$T -}; -function render$R(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("svg", mergeProps$1({ - 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("rect", { - width: "1", - height: "1", - fill: "currentColor", - "fill-opacity": "0" - }, null, -1)]), 16); -} -__name(render$R, "render$R"); -script$S.render = render$R; -var script$R = { - name: "CheckIcon", - "extends": script$T -}; -function render$Q(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("svg", mergeProps$1({ - 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: "M4.86199 11.5948C4.78717 11.5923 4.71366 11.5745 4.64596 11.5426C4.57826 11.5107 4.51779 11.4652 4.46827 11.4091L0.753985 7.69483C0.683167 7.64891 0.623706 7.58751 0.580092 7.51525C0.536478 7.44299 0.509851 7.36177 0.502221 7.27771C0.49459 7.19366 0.506156 7.10897 0.536046 7.03004C0.565935 6.95111 0.613367 6.88 0.674759 6.82208C0.736151 6.76416 0.8099 6.72095 0.890436 6.69571C0.970973 6.67046 1.05619 6.66385 1.13966 6.67635C1.22313 6.68886 1.30266 6.72017 1.37226 6.76792C1.44186 6.81567 1.4997 6.8786 1.54141 6.95197L4.86199 10.2503L12.6397 2.49483C12.7444 2.42694 12.8689 2.39617 12.9932 2.40745C13.1174 2.41873 13.2343 2.47141 13.3251 2.55705C13.4159 2.64268 13.4753 2.75632 13.4938 2.87973C13.5123 3.00315 13.4888 3.1292 13.4271 3.23768L5.2557 11.4091C5.20618 11.4652 5.14571 11.5107 5.07801 11.5426C5.01031 11.5745 4.9368 11.5923 4.86199 11.5948Z", - fill: "currentColor" - }, null, -1)]), 16); -} -__name(render$Q, "render$Q"); -script$R.render = render$Q; -var script$Q = { - name: "SearchIcon", - "extends": script$T -}; -function render$P(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("svg", mergeProps$1({ - 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.67602 11.0265C3.6661 11.688 4.83011 12.0411 6.02086 12.0411C6.81149 12.0411 7.59438 11.8854 8.32483 11.5828C8.87005 11.357 9.37808 11.0526 9.83317 10.6803L12.9769 13.8241C13.0323 13.8801 13.0983 13.9245 13.171 13.9548C13.2438 13.985 13.3219 14.0003 13.4007 14C13.4795 14.0003 13.5575 13.985 13.6303 13.9548C13.7031 13.9245 13.7691 13.8801 13.8244 13.8241C13.9367 13.7116 13.9998 13.5592 13.9998 13.4003C13.9998 13.2414 13.9367 13.089 13.8244 12.9765L10.6807 9.8328C11.053 9.37773 11.3573 8.86972 11.5831 8.32452C11.8857 7.59408 12.0414 6.81119 12.0414 6.02056C12.0414 4.8298 11.6883 3.66579 11.0268 2.67572C10.3652 1.68564 9.42494 0.913972 8.32483 0.45829C7.22472 0.00260857 6.01418 -0.116618 4.84631 0.115686C3.67844 0.34799 2.60568 0.921393 1.76369 1.76338C0.921698 2.60537 0.348296 3.67813 0.115991 4.84601C-0.116313 6.01388 0.00291375 7.22441 0.458595 8.32452C0.914277 9.42464 1.68595 10.3649 2.67602 11.0265ZM3.35565 2.0158C4.14456 1.48867 5.07206 1.20731 6.02086 1.20731C7.29317 1.20731 8.51338 1.71274 9.41304 2.6124C10.3127 3.51206 10.8181 4.73226 10.8181 6.00457C10.8181 6.95337 10.5368 7.88088 10.0096 8.66978C9.48251 9.45868 8.73328 10.0736 7.85669 10.4367C6.98011 10.7997 6.01554 10.8947 5.08496 10.7096C4.15439 10.5245 3.2996 10.0676 2.62869 9.39674C1.95778 8.72583 1.50089 7.87104 1.31579 6.94046C1.13068 6.00989 1.22568 5.04532 1.58878 4.16874C1.95187 3.29215 2.56675 2.54292 3.35565 2.0158Z", - fill: "currentColor" - }, null, -1)]), 16); -} -__name(render$P, "render$P"); -script$Q.render = render$P; -var theme$w = /* @__PURE__ */ __name(function theme3(_ref) { - var dt2 = _ref.dt; - return "\n.p-iconfield {\n position: relative;\n}\n\n.p-inputicon {\n position: absolute;\n top: 50%;\n margin-top: calc(-1 * (".concat(dt2("icon.size"), " / 2));\n color: ").concat(dt2("iconfield.icon.color"), ";\n line-height: 1;\n}\n\n.p-iconfield .p-inputicon:first-child {\n left: ").concat(dt2("form.field.padding.x"), ";\n}\n\n.p-iconfield .p-inputicon:last-child {\n right: ").concat(dt2("form.field.padding.x"), ";\n}\n\n.p-iconfield .p-inputtext:not(:first-child) {\n padding-left: calc((").concat(dt2("form.field.padding.x"), " * 2) + ").concat(dt2("icon.size"), ");\n}\n\n.p-iconfield .p-inputtext:not(:last-child) {\n padding-right: calc((").concat(dt2("form.field.padding.x"), " * 2) + ").concat(dt2("icon.size"), ");\n}\n"); -}, "theme"); -var classes$y = { - root: "p-iconfield" -}; -var IconFieldStyle = BaseStyle.extend({ - name: "iconfield", - theme: theme$w, - classes: classes$y -}); -var script$1$x = { - name: "BaseIconField", - "extends": script$U, - style: IconFieldStyle, - provide: /* @__PURE__ */ __name(function provide3() { - return { - $pcIconField: this, - $parentInstance: this - }; - }, "provide") -}; -var script$P = { - name: "IconField", - "extends": script$1$x, - inheritAttrs: false -}; -function render$O(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("div", mergeProps$1({ - "class": _ctx.cx("root") - }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); -} -__name(render$O, "render$O"); -script$P.render = render$O; -var classes$x = { - root: "p-inputicon" -}; -var InputIconStyle = BaseStyle.extend({ - name: "inputicon", - classes: classes$x -}); -var script$1$w = { - name: "BaseInputIcon", - "extends": script$U, - style: InputIconStyle, - props: { - "class": null - }, - provide: /* @__PURE__ */ __name(function provide4() { - return { - $pcInputIcon: this, - $parentInstance: this - }; - }, "provide") -}; -var script$O = { - name: "InputIcon", - "extends": script$1$w, - inheritAttrs: false, - computed: { - containerClass: /* @__PURE__ */ __name(function containerClass() { - return [this.cx("root"), this["class"]]; - }, "containerClass") - } -}; -function render$N(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("span", mergeProps$1({ - "class": $options.containerClass - }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); -} -__name(render$N, "render$N"); -script$O.render = render$N; -var theme$v = /* @__PURE__ */ __name(function theme4(_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: ").concat(dt2("inputtext.padding.y"), " ").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 border-color: ").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-sm {\n font-size: ").concat(dt2("inputtext.sm.font.size"), ";\n padding: ").concat(dt2("inputtext.sm.padding.y"), " ").concat(dt2("inputtext.sm.padding.x"), ";\n}\n\n.p-inputtext-lg {\n font-size: ").concat(dt2("inputtext.lg.font.size"), ";\n padding: ").concat(dt2("inputtext.lg.padding.y"), " ").concat(dt2("inputtext.lg.padding.x"), ";\n}\n\n.p-inputtext-fluid {\n width: 100%;\n}\n"); -}, "theme"); -var classes$w = { - root: /* @__PURE__ */ __name(function root(_ref2) { - var instance = _ref2.instance, props = _ref2.props; - return ["p-inputtext p-component", { - "p-filled": instance.filled, - "p-inputtext-sm": props.size === "small", - "p-inputtext-lg": props.size === "large", - "p-invalid": props.invalid, - "p-variant-filled": props.variant ? props.variant === "filled" : instance.$primevue.config.inputStyle === "filled" || instance.$primevue.config.inputVariant === "filled", - "p-inputtext-fluid": instance.hasFluid - }]; - }, "root") -}; -var InputTextStyle = BaseStyle.extend({ - name: "inputtext", - theme: theme$v, - classes: classes$w -}); -var script$1$v = { - name: "BaseInputText", - "extends": script$U, - props: { - modelValue: null, - size: { - type: String, - "default": null - }, - invalid: { - type: Boolean, - "default": false - }, - variant: { - type: String, - "default": null - }, - fluid: { - type: Boolean, - "default": null - } - }, - style: InputTextStyle, - provide: /* @__PURE__ */ __name(function provide5() { - return { - $pcInputText: this, - $parentInstance: this - }; - }, "provide") -}; -var script$N = { - name: "InputText", - "extends": script$1$v, - inheritAttrs: false, - emits: ["update:modelValue"], - inject: { - $pcFluid: { - "default": null - } - }, - methods: { - getPTOptions: /* @__PURE__ */ __name(function getPTOptions(key) { - var _ptm = key === "root" ? this.ptmi : this.ptm; - return _ptm(key, { - context: { - filled: this.filled, - disabled: this.$attrs.disabled || this.$attrs.disabled === "" - } - }); - }, "getPTOptions"), - onInput: /* @__PURE__ */ __name(function onInput(event2) { - this.$emit("update:modelValue", event2.target.value); - }, "onInput") - }, - computed: { - filled: /* @__PURE__ */ __name(function filled() { - return this.modelValue != null && this.modelValue.toString().length > 0; - }, "filled"), - hasFluid: /* @__PURE__ */ __name(function hasFluid() { - return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid; - }, "hasFluid") - } -}; -var _hoisted_1$Q = ["value", "aria-invalid"]; -function render$M(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("input", mergeProps$1({ - type: "text", - "class": _ctx.cx("root"), - value: _ctx.modelValue, - "aria-invalid": _ctx.invalid || void 0, - onInput: _cache[0] || (_cache[0] = function() { - return $options.onInput && $options.onInput.apply($options, arguments); - }) - }, $options.getPTOptions("root")), null, 16, _hoisted_1$Q); -} -__name(render$M, "render$M"); -script$N.render = render$M; -var PrimeVueService = EventBus(); -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"); -function _slicedToArray$2(r, e) { - return _arrayWithHoles$2(r) || _iterableToArrayLimit$2(r, e) || _unsupportedIterableToArray$e(r, e) || _nonIterableRest$2(); -} -__name(_slicedToArray$2, "_slicedToArray$2"); -function _nonIterableRest$2() { - 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$2, "_nonIterableRest$2"); -function _unsupportedIterableToArray$e(r, a) { - if (r) { - if ("string" == typeof r) return _arrayLikeToArray$e(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$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"); -function _iterableToArrayLimit$2(r, l) { - var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; - if (null != t) { - var e, n, i2, u, a = [], f = true, o = false; - try { - if (i2 = (t = t.call(r)).next, 0 === l) ; - else for (; !(f = (e = i2.call(t)).done) && (a.push(e.value), a.length !== l); f = true) ; - } catch (r2) { - o = true, n = r2; - } finally { - try { - if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; - } finally { - if (o) throw n; - } - } - return a; - } -} -__name(_iterableToArrayLimit$2, "_iterableToArrayLimit$2"); -function _arrayWithHoles$2(r) { - if (Array.isArray(r)) return r; -} -__name(_arrayWithHoles$2, "_arrayWithHoles$2"); -function ownKeys$f(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$f, "ownKeys$f"); -function _objectSpread$f(e) { - for (var r = 1; r < arguments.length; r++) { - var t = null != arguments[r] ? arguments[r] : {}; - r % 2 ? ownKeys$f(Object(t), true).forEach(function(r2) { - _defineProperty$f(e, r2, t[r2]); - }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$f(Object(t)).forEach(function(r2) { - Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); - }); - } - return e; -} -__name(_objectSpread$f, "_objectSpread$f"); -function _defineProperty$f(e, r, t) { - return (r = _toPropertyKey$f(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; -} -__name(_defineProperty$f, "_defineProperty$f"); -function _toPropertyKey$f(t) { - var i2 = _toPrimitive$f(t, "string"); - return "symbol" == _typeof$f(i2) ? i2 : i2 + ""; -} -__name(_toPropertyKey$f, "_toPropertyKey$f"); -function _toPrimitive$f(t, r) { - if ("object" != _typeof$f(t) || !t) return t; - var e = t[Symbol.toPrimitive]; - if (void 0 !== e) { - var i2 = e.call(t, r || "default"); - if ("object" != _typeof$f(i2)) return i2; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return ("string" === r ? String : Number)(t); -} -__name(_toPrimitive$f, "_toPrimitive$f"); -var BaseDirective = { - _getMeta: /* @__PURE__ */ __name(function _getMeta() { - return [isObject$4(arguments.length <= 0 ? void 0 : arguments[0]) ? void 0 : arguments.length <= 0 ? void 0 : arguments[0], resolve(isObject$4(arguments.length <= 0 ? void 0 : arguments[0]) ? arguments.length <= 0 ? void 0 : arguments[0] : arguments.length <= 1 ? void 0 : arguments[1])]; - }, "_getMeta"), - _getConfig: /* @__PURE__ */ __name(function _getConfig(binding, vnode) { - var _ref, _binding$instance, _vnode$ctx; - return (_ref = (binding === null || binding === void 0 || (_binding$instance = binding.instance) === null || _binding$instance === void 0 ? void 0 : _binding$instance.$primevue) || (vnode === null || vnode === void 0 || (_vnode$ctx = vnode.ctx) === null || _vnode$ctx === void 0 || (_vnode$ctx = _vnode$ctx.appContext) === null || _vnode$ctx === void 0 || (_vnode$ctx = _vnode$ctx.config) === null || _vnode$ctx === void 0 || (_vnode$ctx = _vnode$ctx.globalProperties) === null || _vnode$ctx === void 0 ? void 0 : _vnode$ctx.$primevue)) === null || _ref === void 0 ? void 0 : _ref.config; - }, "_getConfig"), - _getOptionValue: getKeyValue, - _getPTValue: /* @__PURE__ */ __name(function _getPTValue2() { - var _instance$binding, _instance$$primevueCo; - var instance = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; - var obj = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - var key = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : ""; - var params = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {}; - var searchInDefaultPT = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : true; - var getValue2 = /* @__PURE__ */ __name(function getValue3() { - var value3 = BaseDirective._getOptionValue.apply(BaseDirective, arguments); - return isString$3(value3) || isArray$3(value3) ? { - "class": value3 - } : value3; - }, "getValue"); - var _ref2 = ((_instance$binding = instance.binding) === null || _instance$binding === void 0 || (_instance$binding = _instance$binding.value) === null || _instance$binding === void 0 ? void 0 : _instance$binding.ptOptions) || ((_instance$$primevueCo = instance.$primevueConfig) === null || _instance$$primevueCo === void 0 ? void 0 : _instance$$primevueCo.ptOptions) || {}, _ref2$mergeSections = _ref2.mergeSections, mergeSections = _ref2$mergeSections === void 0 ? true : _ref2$mergeSections, _ref2$mergeProps = _ref2.mergeProps, useMergeProps = _ref2$mergeProps === void 0 ? false : _ref2$mergeProps; - var global2 = searchInDefaultPT ? BaseDirective._useDefaultPT(instance, instance.defaultPT(), getValue2, key, params) : void 0; - var self2 = BaseDirective._usePT(instance, BaseDirective._getPT(obj, instance.$name), getValue2, key, _objectSpread$f(_objectSpread$f({}, params), {}, { - global: global2 || {} - })); - var datasets = BaseDirective._getPTDatasets(instance, key); - return mergeSections || !mergeSections && self2 ? useMergeProps ? BaseDirective._mergeProps(instance, useMergeProps, global2, self2, datasets) : _objectSpread$f(_objectSpread$f(_objectSpread$f({}, global2), self2), datasets) : _objectSpread$f(_objectSpread$f({}, self2), datasets); - }, "_getPTValue"), - _getPTDatasets: /* @__PURE__ */ __name(function _getPTDatasets2() { - var instance = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; - var key = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ""; - var datasetPrefix = "data-pc-"; - return _objectSpread$f(_objectSpread$f({}, key === "root" && _defineProperty$f({}, "".concat(datasetPrefix, "name"), toFlatCase(instance.$name))), {}, _defineProperty$f({}, "".concat(datasetPrefix, "section"), toFlatCase(key))); - }, "_getPTDatasets"), - _getPT: /* @__PURE__ */ __name(function _getPT2(pt) { - var key = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ""; - var callback = arguments.length > 2 ? arguments[2] : void 0; - var getValue2 = /* @__PURE__ */ __name(function getValue3(value3) { - var _computedValue$_key; - var computedValue = callback ? callback(value3) : value3; - var _key = toFlatCase(key); - return (_computedValue$_key = computedValue === null || computedValue === void 0 ? void 0 : computedValue[_key]) !== null && _computedValue$_key !== void 0 ? _computedValue$_key : computedValue; - }, "getValue"); - return pt !== null && pt !== void 0 && pt.hasOwnProperty("_usept") ? { - _usept: pt["_usept"], - originalValue: getValue2(pt.originalValue), - value: getValue2(pt.value) - } : getValue2(pt); - }, "_getPT"), - _usePT: /* @__PURE__ */ __name(function _usePT2() { - var instance = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; - var pt = arguments.length > 1 ? arguments[1] : void 0; - var callback = arguments.length > 2 ? arguments[2] : void 0; - var key = arguments.length > 3 ? arguments[3] : void 0; - var params = arguments.length > 4 ? arguments[4] : void 0; - var fn = /* @__PURE__ */ __name(function fn2(value4) { - return callback(value4, key, params); - }, "fn"); - if (pt !== null && pt !== void 0 && pt.hasOwnProperty("_usept")) { - var _instance$$primevueCo2; - var _ref4 = pt["_usept"] || ((_instance$$primevueCo2 = instance.$primevueConfig) === null || _instance$$primevueCo2 === void 0 ? void 0 : _instance$$primevueCo2.ptOptions) || {}, _ref4$mergeSections = _ref4.mergeSections, mergeSections = _ref4$mergeSections === void 0 ? true : _ref4$mergeSections, _ref4$mergeProps = _ref4.mergeProps, useMergeProps = _ref4$mergeProps === void 0 ? false : _ref4$mergeProps; - var originalValue = fn(pt.originalValue); - var value3 = fn(pt.value); - if (originalValue === void 0 && value3 === void 0) return void 0; - else if (isString$3(value3)) return value3; - else if (isString$3(originalValue)) return originalValue; - return mergeSections || !mergeSections && value3 ? useMergeProps ? BaseDirective._mergeProps(instance, useMergeProps, originalValue, value3) : _objectSpread$f(_objectSpread$f({}, originalValue), value3) : value3; - } - return fn(pt); - }, "_usePT"), - _useDefaultPT: /* @__PURE__ */ __name(function _useDefaultPT2() { - var instance = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; - var defaultPT2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - var callback = arguments.length > 2 ? arguments[2] : void 0; - var key = arguments.length > 3 ? arguments[3] : void 0; - var params = arguments.length > 4 ? arguments[4] : void 0; - return BaseDirective._usePT(instance, defaultPT2, callback, key, params); - }, "_useDefaultPT"), - _loadStyles: /* @__PURE__ */ __name(function _loadStyles2(el, binding, vnode) { - var _config$csp; - var config2 = BaseDirective._getConfig(binding, vnode); - var useStyleOptions = { - nonce: config2 === null || config2 === void 0 || (_config$csp = config2.csp) === null || _config$csp === void 0 ? void 0 : _config$csp.nonce - }; - BaseDirective._loadCoreStyles(el.$instance, useStyleOptions); - BaseDirective._loadThemeStyles(el.$instance, useStyleOptions); - BaseDirective._loadScopedThemeStyles(el.$instance, useStyleOptions); - BaseDirective._themeChangeListener(function() { - return BaseDirective._loadThemeStyles(el.$instance, useStyleOptions); - }); - }, "_loadStyles"), - _loadCoreStyles: /* @__PURE__ */ __name(function _loadCoreStyles2() { - var _instance$$style, _instance$$style2; - var instance = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; - var useStyleOptions = arguments.length > 1 ? arguments[1] : void 0; - if (!Base.isStyleNameLoaded((_instance$$style = instance.$style) === null || _instance$$style === void 0 ? void 0 : _instance$$style.name) && (_instance$$style2 = instance.$style) !== null && _instance$$style2 !== void 0 && _instance$$style2.name) { - var _instance$$style3; - BaseStyle.loadCSS(useStyleOptions); - (_instance$$style3 = instance.$style) === null || _instance$$style3 === void 0 || _instance$$style3.loadCSS(useStyleOptions); - Base.setLoadedStyleName(instance.$style.name); - } - }, "_loadCoreStyles"), - _loadThemeStyles: /* @__PURE__ */ __name(function _loadThemeStyles2() { - var _instance$theme, _instance$$style5, _instance$$style6; - var instance = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; - var useStyleOptions = arguments.length > 1 ? arguments[1] : void 0; - if (instance !== null && instance !== void 0 && instance.isUnstyled() || (instance === null || instance === void 0 || (_instance$theme = instance.theme) === null || _instance$theme === void 0 ? void 0 : _instance$theme.call(instance)) === "none") return; - if (!config_default.isStyleNameLoaded("common")) { - var _instance$$style4, _instance$$style4$get; - var _ref5 = ((_instance$$style4 = instance.$style) === null || _instance$$style4 === void 0 || (_instance$$style4$get = _instance$$style4.getCommonTheme) === null || _instance$$style4$get === void 0 ? void 0 : _instance$$style4$get.call(_instance$$style4)) || {}, primitive = _ref5.primitive, semantic = _ref5.semantic, global2 = _ref5.global, style = _ref5.style; - BaseStyle.load(primitive === null || primitive === void 0 ? void 0 : primitive.css, _objectSpread$f({ - name: "primitive-variables" - }, useStyleOptions)); - BaseStyle.load(semantic === null || semantic === void 0 ? void 0 : semantic.css, _objectSpread$f({ - name: "semantic-variables" - }, useStyleOptions)); - BaseStyle.load(global2 === null || global2 === void 0 ? void 0 : global2.css, _objectSpread$f({ - name: "global-variables" - }, useStyleOptions)); - BaseStyle.loadTheme(_objectSpread$f({ - name: "global-style" - }, useStyleOptions), style); - config_default.setLoadedStyleName("common"); - } - if (!config_default.isStyleNameLoaded((_instance$$style5 = instance.$style) === null || _instance$$style5 === void 0 ? void 0 : _instance$$style5.name) && (_instance$$style6 = instance.$style) !== null && _instance$$style6 !== void 0 && _instance$$style6.name) { - var _instance$$style7, _instance$$style7$get, _instance$$style8, _instance$$style9; - var _ref6 = ((_instance$$style7 = instance.$style) === null || _instance$$style7 === void 0 || (_instance$$style7$get = _instance$$style7.getDirectiveTheme) === null || _instance$$style7$get === void 0 ? void 0 : _instance$$style7$get.call(_instance$$style7)) || {}, css3 = _ref6.css, _style = _ref6.style; - (_instance$$style8 = instance.$style) === null || _instance$$style8 === void 0 || _instance$$style8.load(css3, _objectSpread$f({ - name: "".concat(instance.$style.name, "-variables") - }, useStyleOptions)); - (_instance$$style9 = instance.$style) === null || _instance$$style9 === void 0 || _instance$$style9.loadTheme(_objectSpread$f({ - name: "".concat(instance.$style.name, "-style") - }, useStyleOptions), _style); - config_default.setLoadedStyleName(instance.$style.name); - } - if (!config_default.isStyleNameLoaded("layer-order")) { - var _instance$$style10, _instance$$style10$ge; - var layerOrder = (_instance$$style10 = instance.$style) === null || _instance$$style10 === void 0 || (_instance$$style10$ge = _instance$$style10.getLayerOrderThemeCSS) === null || _instance$$style10$ge === void 0 ? void 0 : _instance$$style10$ge.call(_instance$$style10); - BaseStyle.load(layerOrder, _objectSpread$f({ - name: "layer-order", - first: true - }, useStyleOptions)); - config_default.setLoadedStyleName("layer-order"); - } - }, "_loadThemeStyles"), - _loadScopedThemeStyles: /* @__PURE__ */ __name(function _loadScopedThemeStyles2() { - var instance = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; - var useStyleOptions = arguments.length > 1 ? arguments[1] : void 0; - var preset = instance.preset(); - if (preset && instance.$attrSelector) { - var _instance$$style11, _instance$$style11$ge, _instance$$style12; - var _ref7 = ((_instance$$style11 = instance.$style) === null || _instance$$style11 === void 0 || (_instance$$style11$ge = _instance$$style11.getPresetTheme) === null || _instance$$style11$ge === void 0 ? void 0 : _instance$$style11$ge.call(_instance$$style11, preset, "[".concat(instance.$attrSelector, "]"))) || {}, css3 = _ref7.css; - var scopedStyle = (_instance$$style12 = instance.$style) === null || _instance$$style12 === void 0 ? void 0 : _instance$$style12.load(css3, _objectSpread$f({ - name: "".concat(instance.$attrSelector, "-").concat(instance.$style.name) - }, useStyleOptions)); - instance.scopedStyleEl = scopedStyle.el; - } - }, "_loadScopedThemeStyles"), - _themeChangeListener: /* @__PURE__ */ __name(function _themeChangeListener2() { - var callback = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function() { - }; - Base.clearLoadedStyleNames(); - service_default.on("theme:change", callback); - }, "_themeChangeListener"), - _hook: /* @__PURE__ */ __name(function _hook2(directiveName, hookName, el, binding, vnode, prevVnode) { - var _binding$value, _config$pt; - var name = "on".concat(toCapitalCase(hookName)); - var config2 = BaseDirective._getConfig(binding, vnode); - var instance = el === null || el === void 0 ? void 0 : el.$instance; - var selfHook = BaseDirective._usePT(instance, BaseDirective._getPT(binding === null || binding === void 0 || (_binding$value = binding.value) === null || _binding$value === void 0 ? void 0 : _binding$value.pt, directiveName), BaseDirective._getOptionValue, "hooks.".concat(name)); - var defaultHook = BaseDirective._useDefaultPT(instance, config2 === null || config2 === void 0 || (_config$pt = config2.pt) === null || _config$pt === void 0 || (_config$pt = _config$pt.directives) === null || _config$pt === void 0 ? void 0 : _config$pt[directiveName], BaseDirective._getOptionValue, "hooks.".concat(name)); - var options3 = { - el, - binding, - vnode, - prevVnode - }; - selfHook === null || selfHook === void 0 || selfHook(instance, options3); - defaultHook === null || defaultHook === void 0 || defaultHook(instance, options3); - }, "_hook"), - _mergeProps: /* @__PURE__ */ __name(function _mergeProps2() { - var fn = arguments.length > 1 ? arguments[1] : void 0; - for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key2 = 2; _key2 < _len; _key2++) { - args[_key2 - 2] = arguments[_key2]; - } - return isFunction$2(fn) ? fn.apply(void 0, args) : mergeProps$1.apply(void 0, args); - }, "_mergeProps"), - _extend: /* @__PURE__ */ __name(function _extend(name) { - var options3 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - var handleHook = /* @__PURE__ */ __name(function handleHook2(hook, el, binding, vnode, prevVnode) { - var _el$$pd, _el$$instance$hook, _el$$instance9, _el$$pd2; - el._$instances = el._$instances || {}; - var config2 = BaseDirective._getConfig(binding, vnode); - var $prevInstance = el._$instances[name] || {}; - var $options = isEmpty($prevInstance) ? _objectSpread$f(_objectSpread$f({}, options3), options3 === null || options3 === void 0 ? void 0 : options3.methods) : {}; - el._$instances[name] = _objectSpread$f(_objectSpread$f({}, $prevInstance), {}, { - /* new instance variables to pass in directive methods */ - $name: name, - $host: el, - $binding: binding, - $modifiers: binding === null || binding === void 0 ? void 0 : binding.modifiers, - $value: binding === null || binding === void 0 ? void 0 : binding.value, - $el: $prevInstance["$el"] || el || void 0, - $style: _objectSpread$f({ - classes: void 0, - inlineStyles: void 0, - load: /* @__PURE__ */ __name(function load2() { - }, "load"), - loadCSS: /* @__PURE__ */ __name(function loadCSS2() { - }, "loadCSS"), - loadTheme: /* @__PURE__ */ __name(function loadTheme2() { - }, "loadTheme") - }, options3 === null || options3 === void 0 ? void 0 : options3.style), - $primevueConfig: config2, - $attrSelector: (_el$$pd = el.$pd) === null || _el$$pd === void 0 || (_el$$pd = _el$$pd[name]) === null || _el$$pd === void 0 ? void 0 : _el$$pd.attrSelector, - /* computed instance variables */ - defaultPT: /* @__PURE__ */ __name(function defaultPT2() { - return BaseDirective._getPT(config2 === null || config2 === void 0 ? void 0 : config2.pt, void 0, function(value3) { - var _value$directives; - return value3 === null || value3 === void 0 || (_value$directives = value3.directives) === null || _value$directives === void 0 ? void 0 : _value$directives[name]; - }); - }, "defaultPT"), - isUnstyled: /* @__PURE__ */ __name(function isUnstyled2() { - var _el$$instance, _el$$instance2; - return ((_el$$instance = el.$instance) === null || _el$$instance === void 0 || (_el$$instance = _el$$instance.$binding) === null || _el$$instance === void 0 || (_el$$instance = _el$$instance.value) === null || _el$$instance === void 0 ? void 0 : _el$$instance.unstyled) !== void 0 ? (_el$$instance2 = el.$instance) === null || _el$$instance2 === void 0 || (_el$$instance2 = _el$$instance2.$binding) === null || _el$$instance2 === void 0 || (_el$$instance2 = _el$$instance2.value) === null || _el$$instance2 === void 0 ? void 0 : _el$$instance2.unstyled : config2 === null || config2 === void 0 ? void 0 : config2.unstyled; - }, "isUnstyled"), - theme: /* @__PURE__ */ __name(function theme36() { - var _el$$instance3; - return (_el$$instance3 = el.$instance) === null || _el$$instance3 === void 0 || (_el$$instance3 = _el$$instance3.$primevueConfig) === null || _el$$instance3 === void 0 ? void 0 : _el$$instance3.theme; - }, "theme"), - preset: /* @__PURE__ */ __name(function preset() { - var _el$$instance4; - return (_el$$instance4 = el.$instance) === null || _el$$instance4 === void 0 || (_el$$instance4 = _el$$instance4.$binding) === null || _el$$instance4 === void 0 || (_el$$instance4 = _el$$instance4.value) === null || _el$$instance4 === void 0 ? void 0 : _el$$instance4.dt; - }, "preset"), - /* instance's methods */ - ptm: /* @__PURE__ */ __name(function ptm2() { - var _el$$instance5; - var key = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ""; - var params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - return BaseDirective._getPTValue(el.$instance, (_el$$instance5 = el.$instance) === null || _el$$instance5 === void 0 || (_el$$instance5 = _el$$instance5.$binding) === null || _el$$instance5 === void 0 || (_el$$instance5 = _el$$instance5.value) === null || _el$$instance5 === void 0 ? void 0 : _el$$instance5.pt, key, _objectSpread$f({}, params)); - }, "ptm"), - ptmo: /* @__PURE__ */ __name(function ptmo2() { - 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 BaseDirective._getPTValue(el.$instance, obj, key, params, false); - }, "ptmo"), - cx: /* @__PURE__ */ __name(function cx2() { - var _el$$instance6, _el$$instance7; - var key = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ""; - var params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - return !((_el$$instance6 = el.$instance) !== null && _el$$instance6 !== void 0 && _el$$instance6.isUnstyled()) ? BaseDirective._getOptionValue((_el$$instance7 = el.$instance) === null || _el$$instance7 === void 0 || (_el$$instance7 = _el$$instance7.$style) === null || _el$$instance7 === void 0 ? void 0 : _el$$instance7.classes, key, _objectSpread$f({}, params)) : void 0; - }, "cx"), - sx: /* @__PURE__ */ __name(function sx2() { - var _el$$instance8; - 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] : {}; - return when ? BaseDirective._getOptionValue((_el$$instance8 = el.$instance) === null || _el$$instance8 === void 0 || (_el$$instance8 = _el$$instance8.$style) === null || _el$$instance8 === void 0 ? void 0 : _el$$instance8.inlineStyles, key, _objectSpread$f({}, params)) : void 0; - }, "sx") - }, $options); - el.$instance = el._$instances[name]; - (_el$$instance$hook = (_el$$instance9 = el.$instance)[hook]) === null || _el$$instance$hook === void 0 || _el$$instance$hook.call(_el$$instance9, el, binding, vnode, prevVnode); - el["$".concat(name)] = el.$instance; - BaseDirective._hook(name, hook, el, binding, vnode, prevVnode); - el.$pd || (el.$pd = {}); - el.$pd[name] = _objectSpread$f(_objectSpread$f({}, (_el$$pd2 = el.$pd) === null || _el$$pd2 === void 0 ? void 0 : _el$$pd2[name]), {}, { - name, - instance: el.$instance - }); - }, "handleHook"); - var handleWatch = /* @__PURE__ */ __name(function handleWatch2(el) { - var _el$$instance10, _watchers$config, _el$$instance11, _watchers$configRipp, _el$$instance12; - var watchers = (_el$$instance10 = el.$instance) === null || _el$$instance10 === void 0 ? void 0 : _el$$instance10.watch; - 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 newValue = _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, newValue, 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 newValue = _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, newValue, oldValue); - }); - }, "handleWatch"); - return { - created: /* @__PURE__ */ __name(function created3(el, binding, vnode, prevVnode) { - el.$pd || (el.$pd = {}); - el.$pd[name] = { - name, - attrSelector: uuid("pd") - }; - handleHook("created", el, binding, vnode, prevVnode); - }, "created"), - beforeMount: /* @__PURE__ */ __name(function beforeMount4(el, binding, vnode, prevVnode) { - BaseDirective._loadStyles(el, binding, vnode); - handleHook("beforeMount", el, binding, vnode, prevVnode); - handleWatch(el); - }, "beforeMount"), - mounted: /* @__PURE__ */ __name(function mounted20(el, binding, vnode, prevVnode) { - BaseDirective._loadStyles(el, binding, vnode); - handleHook("mounted", el, binding, vnode, prevVnode); - }, "mounted"), - beforeUpdate: /* @__PURE__ */ __name(function beforeUpdate2(el, binding, vnode, prevVnode) { - handleHook("beforeUpdate", el, binding, vnode, prevVnode); - }, "beforeUpdate"), - updated: /* @__PURE__ */ __name(function updated12(el, binding, vnode, prevVnode) { - BaseDirective._loadStyles(el, binding, vnode); - handleHook("updated", el, binding, vnode, prevVnode); - }, "updated"), - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount13(el, binding, vnode, prevVnode) { - handleHook("beforeUnmount", el, binding, vnode, prevVnode); - }, "beforeUnmount"), - unmounted: /* @__PURE__ */ __name(function unmounted6(el, binding, vnode, prevVnode) { - var _el$$instance13; - (_el$$instance13 = el.$instance) === null || _el$$instance13 === void 0 || (_el$$instance13 = _el$$instance13.scopedStyleEl) === null || _el$$instance13 === void 0 || (_el$$instance13 = _el$$instance13.value) === null || _el$$instance13 === void 0 || _el$$instance13.remove(); - handleHook("unmounted", el, binding, vnode, prevVnode); - }, "unmounted") - }; - }, "_extend"), - extend: /* @__PURE__ */ __name(function extend3() { - var _BaseDirective$_getMe = BaseDirective._getMeta.apply(BaseDirective, arguments), _BaseDirective$_getMe2 = _slicedToArray$2(_BaseDirective$_getMe, 2), name = _BaseDirective$_getMe2[0], options3 = _BaseDirective$_getMe2[1]; - return _objectSpread$f({ - extend: /* @__PURE__ */ __name(function extend4() { - var _BaseDirective$_getMe3 = BaseDirective._getMeta.apply(BaseDirective, arguments), _BaseDirective$_getMe4 = _slicedToArray$2(_BaseDirective$_getMe3, 2), _name = _BaseDirective$_getMe4[0], _options = _BaseDirective$_getMe4[1]; - return BaseDirective.extend(_name, _objectSpread$f(_objectSpread$f(_objectSpread$f({}, options3), options3 === null || options3 === void 0 ? void 0 : options3.methods), _options)); - }, "extend") - }, BaseDirective._extend(name, options3)); - }, "extend") -}; -var theme$u = /* @__PURE__ */ __name(function theme5(_ref) { - var dt2 = _ref.dt; - return "\n.p-ink {\n display: block;\n position: absolute;\n background: ".concat(dt2("ripple.background"), ";\n border-radius: 100%;\n transform: scale(0);\n pointer-events: none;\n}\n\n.p-ink-active {\n animation: ripple 0.4s linear;\n}\n\n@keyframes ripple {\n 100% {\n opacity: 0;\n transform: scale(2.5);\n }\n}\n"); -}, "theme"); -var classes$v = { - root: "p-ink" -}; -var RippleStyle = BaseStyle.extend({ - name: "ripple-directive", - theme: theme$u, - classes: classes$v -}); -var BaseRipple = BaseDirective.extend({ - style: RippleStyle -}); -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 _toConsumableArray$a(r) { - return _arrayWithoutHoles$a(r) || _iterableToArray$a(r) || _unsupportedIterableToArray$d(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$d(r, a) { - if (r) { - if ("string" == typeof r) return _arrayLikeToArray$d(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$d(r, a) : void 0; - } -} -__name(_unsupportedIterableToArray$d, "_unsupportedIterableToArray$d"); -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$d(r); -} -__name(_arrayWithoutHoles$a, "_arrayWithoutHoles$a"); -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"); -function _defineProperty$e(e, r, t) { - return (r = _toPropertyKey$e(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; -} -__name(_defineProperty$e, "_defineProperty$e"); -function _toPropertyKey$e(t) { - var i2 = _toPrimitive$e(t, "string"); - return "symbol" == _typeof$e(i2) ? i2 : i2 + ""; -} -__name(_toPropertyKey$e, "_toPropertyKey$e"); -function _toPrimitive$e(t, r) { - if ("object" != _typeof$e(t) || !t) return t; - var e = t[Symbol.toPrimitive]; - if (void 0 !== e) { - var i2 = e.call(t, r || "default"); - if ("object" != _typeof$e(i2)) return i2; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return ("string" === r ? String : Number)(t); -} -__name(_toPrimitive$e, "_toPrimitive$e"); -var Ripple = BaseRipple.extend("ripple", { - watch: { - "config.ripple": /* @__PURE__ */ __name(function configRipple(newValue) { - if (newValue) { - this.createRipple(this.$host); - this.bindEvents(this.$host); - this.$host.setAttribute("data-pd-ripple", true); - this.$host.style["overflow"] = "hidden"; - this.$host.style["position"] = "relative"; - } else { - this.remove(this.$host); - this.$host.removeAttribute("data-pd-ripple"); - } - }, "configRipple") - }, - unmounted: /* @__PURE__ */ __name(function unmounted2(el) { - this.remove(el); - }, "unmounted"), - timeout: void 0, - methods: { - bindEvents: /* @__PURE__ */ __name(function bindEvents(el) { - el.addEventListener("mousedown", this.onMouseDown.bind(this)); - }, "bindEvents"), - unbindEvents: /* @__PURE__ */ __name(function unbindEvents(el) { - el.removeEventListener("mousedown", this.onMouseDown.bind(this)); - }, "unbindEvents"), - createRipple: /* @__PURE__ */ __name(function createRipple(el) { - var ink = createElement("span", _defineProperty$e(_defineProperty$e({ - role: "presentation", - "aria-hidden": true, - "data-p-ink": true, - "data-p-ink-active": false, - "class": !this.isUnstyled() && this.cx("root"), - onAnimationEnd: this.onAnimationEnd.bind(this) - }, this.$attrSelector, ""), "p-bind", this.ptm("root"))); - el.appendChild(ink); - this.$el = ink; - }, "createRipple"), - remove: /* @__PURE__ */ __name(function remove2(el) { - var ink = this.getInk(el); - if (ink) { - this.$host.style["overflow"] = ""; - this.$host.style["position"] = ""; - this.unbindEvents(el); - ink.removeEventListener("animationend", this.onAnimationEnd); - ink.remove(); - } - }, "remove"), - onMouseDown: /* @__PURE__ */ __name(function onMouseDown(event2) { - var _this = this; - var target = event2.currentTarget; - var ink = this.getInk(target); - if (!ink || getComputedStyle(ink, null).display === "none") { - return; - } - !this.isUnstyled() && removeClass(ink, "p-ink-active"); - ink.setAttribute("data-p-ink-active", "false"); - if (!getHeight(ink) && !getWidth(ink)) { - var d = Math.max(getOuterWidth(target), getOuterHeight(target)); - ink.style.height = d + "px"; - ink.style.width = d + "px"; - } - var offset = getOffset(target); - var x2 = event2.pageX - offset.left + document.body.scrollTop - getWidth(ink) / 2; - var y2 = event2.pageY - offset.top + document.body.scrollLeft - getHeight(ink) / 2; - ink.style.top = y2 + "px"; - ink.style.left = x2 + "px"; - !this.isUnstyled() && addClass(ink, "p-ink-active"); - ink.setAttribute("data-p-ink-active", "true"); - this.timeout = setTimeout(function() { - if (ink) { - !_this.isUnstyled() && removeClass(ink, "p-ink-active"); - ink.setAttribute("data-p-ink-active", "false"); - } - }, 401); - }, "onMouseDown"), - onAnimationEnd: /* @__PURE__ */ __name(function onAnimationEnd(event2) { - if (this.timeout) { - clearTimeout(this.timeout); - } - !this.isUnstyled() && removeClass(event2.currentTarget, "p-ink-active"); - event2.currentTarget.setAttribute("data-p-ink-active", "false"); - }, "onAnimationEnd"), - getInk: /* @__PURE__ */ __name(function getInk(el) { - return el && el.children ? _toConsumableArray$a(el.children).find(function(child) { - return getAttribute(child, "data-pc-name") === "ripple"; - }) : void 0; - }, "getInk") - } -}); -var script$M = { - name: "SpinnerIcon", - "extends": script$T -}; -function render$L(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("svg", mergeProps$1({ - 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: "M6.99701 14C5.85441 13.999 4.72939 13.7186 3.72012 13.1832C2.71084 12.6478 1.84795 11.8737 1.20673 10.9284C0.565504 9.98305 0.165424 8.89526 0.041387 7.75989C-0.0826496 6.62453 0.073125 5.47607 0.495122 4.4147C0.917119 3.35333 1.59252 2.4113 2.46241 1.67077C3.33229 0.930247 4.37024 0.413729 5.4857 0.166275C6.60117 -0.0811796 7.76026 -0.0520535 8.86188 0.251112C9.9635 0.554278 10.9742 1.12227 11.8057 1.90555C11.915 2.01493 11.9764 2.16319 11.9764 2.31778C11.9764 2.47236 11.915 2.62062 11.8057 2.73C11.7521 2.78503 11.688 2.82877 11.6171 2.85864C11.5463 2.8885 11.4702 2.90389 11.3933 2.90389C11.3165 2.90389 11.2404 2.8885 11.1695 2.85864C11.0987 2.82877 11.0346 2.78503 10.9809 2.73C9.9998 1.81273 8.73246 1.26138 7.39226 1.16876C6.05206 1.07615 4.72086 1.44794 3.62279 2.22152C2.52471 2.99511 1.72683 4.12325 1.36345 5.41602C1.00008 6.70879 1.09342 8.08723 1.62775 9.31926C2.16209 10.5513 3.10478 11.5617 4.29713 12.1803C5.48947 12.7989 6.85865 12.988 8.17414 12.7157C9.48963 12.4435 10.6711 11.7264 11.5196 10.6854C12.3681 9.64432 12.8319 8.34282 12.8328 7C12.8328 6.84529 12.8943 6.69692 13.0038 6.58752C13.1132 6.47812 13.2616 6.41667 13.4164 6.41667C13.5712 6.41667 13.7196 6.47812 13.8291 6.58752C13.9385 6.69692 14 6.84529 14 7C14 8.85651 13.2622 10.637 11.9489 11.9497C10.6356 13.2625 8.85432 14 6.99701 14Z", - fill: "currentColor" - }, null, -1)]), 16); -} -__name(render$L, "render$L"); -script$M.render = render$L; -var theme$t = /* @__PURE__ */ __name(function theme6(_ref) { - var dt2 = _ref.dt; - return "\n.p-virtualscroller-loader {\n background: ".concat(dt2("virtualscroller.loader.mask.background"), ";\n color: ").concat(dt2("virtualscroller.loader.mask.color"), ";\n}\n\n.p-virtualscroller-loading-icon {\n font-size: ").concat(dt2("virtualscroller.loader.icon.size"), ";\n width: ").concat(dt2("virtualscroller.loader.icon.size"), ";\n height: ").concat(dt2("virtualscroller.loader.icon.size"), ";\n}\n"); -}, "theme"); -var css = "\n.p-virtualscroller {\n position: relative;\n overflow: auto;\n contain: strict;\n transform: translateZ(0);\n will-change: scroll-position;\n outline: 0 none;\n}\n\n.p-virtualscroller-content {\n position: absolute;\n top: 0;\n left: 0;\n min-height: 100%;\n min-width: 100%;\n will-change: transform;\n}\n\n.p-virtualscroller-spacer {\n position: absolute;\n top: 0;\n left: 0;\n height: 1px;\n width: 1px;\n transform-origin: 0 0;\n pointer-events: none;\n}\n\n.p-virtualscroller-loader {\n position: sticky;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.p-virtualscroller-loader-mask {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.p-virtualscroller-horizontal > .p-virtualscroller-content {\n display: flex;\n}\n\n.p-virtualscroller-inline .p-virtualscroller-content {\n position: static;\n}\n"; -var VirtualScrollerStyle = BaseStyle.extend({ - name: "virtualscroller", - css, - theme: theme$t -}); -var script$1$u = { - name: "BaseVirtualScroller", - "extends": script$U, - props: { - id: { - type: String, - "default": null - }, - style: null, - "class": null, - items: { - type: Array, - "default": null - }, - itemSize: { - type: [Number, Array], - "default": 0 - }, - scrollHeight: null, - scrollWidth: null, - orientation: { - type: String, - "default": "vertical" - }, - numToleratedItems: { - type: Number, - "default": null - }, - delay: { - type: Number, - "default": 0 - }, - resizeDelay: { - type: Number, - "default": 10 - }, - lazy: { - type: Boolean, - "default": false - }, - disabled: { - type: Boolean, - "default": false - }, - loaderDisabled: { - type: Boolean, - "default": false - }, - columns: { - type: Array, - "default": null - }, - loading: { - type: Boolean, - "default": false - }, - showSpacer: { - type: Boolean, - "default": true - }, - showLoader: { - type: Boolean, - "default": false - }, - tabindex: { - type: Number, - "default": 0 - }, - inline: { - type: Boolean, - "default": false - }, - step: { - type: Number, - "default": 0 - }, - appendOnly: { - type: Boolean, - "default": false - }, - autoSize: { - type: Boolean, - "default": false - } - }, - style: VirtualScrollerStyle, - provide: /* @__PURE__ */ __name(function provide6() { - return { - $pcVirtualScroller: this, - $parentInstance: this - }; - }, "provide"), - beforeMount: /* @__PURE__ */ __name(function beforeMount2() { - var _this$$primevueConfig; - VirtualScrollerStyle.loadCSS({ - nonce: (_this$$primevueConfig = this.$primevueConfig) === null || _this$$primevueConfig === void 0 || (_this$$primevueConfig = _this$$primevueConfig.csp) === null || _this$$primevueConfig === void 0 ? void 0 : _this$$primevueConfig.nonce - }); - }, "beforeMount") -}; -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$e(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$e, "ownKeys$e"); -function _objectSpread$e(e) { - for (var r = 1; r < arguments.length; r++) { - var t = null != arguments[r] ? arguments[r] : {}; - r % 2 ? ownKeys$e(Object(t), true).forEach(function(r2) { - _defineProperty$d(e, r2, t[r2]); - }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$e(Object(t)).forEach(function(r2) { - Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); - }); - } - return e; -} -__name(_objectSpread$e, "_objectSpread$e"); -function _defineProperty$d(e, r, t) { - return (r = _toPropertyKey$d(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; -} -__name(_defineProperty$d, "_defineProperty$d"); -function _toPropertyKey$d(t) { - var i2 = _toPrimitive$d(t, "string"); - return "symbol" == _typeof$d(i2) ? i2 : i2 + ""; -} -__name(_toPropertyKey$d, "_toPropertyKey$d"); -function _toPrimitive$d(t, r) { - if ("object" != _typeof$d(t) || !t) return t; - var e = t[Symbol.toPrimitive]; - if (void 0 !== e) { - var i2 = e.call(t, r || "default"); - if ("object" != _typeof$d(i2)) return i2; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return ("string" === r ? String : Number)(t); -} -__name(_toPrimitive$d, "_toPrimitive$d"); -var script$L = { - name: "VirtualScroller", - "extends": script$1$u, - inheritAttrs: false, - emits: ["update:numToleratedItems", "scroll", "scroll-index-change", "lazy-load"], - data: /* @__PURE__ */ __name(function data() { - var both = this.isBoth(); - return { - first: both ? { - rows: 0, - cols: 0 - } : 0, - last: both ? { - rows: 0, - cols: 0 - } : 0, - page: both ? { - rows: 0, - cols: 0 - } : 0, - numItemsInViewport: both ? { - rows: 0, - cols: 0 - } : 0, - lastScrollPos: both ? { - top: 0, - left: 0 - } : 0, - d_numToleratedItems: this.numToleratedItems, - d_loading: this.loading, - loaderArr: [], - spacerStyle: {}, - contentStyle: {} - }; - }, "data"), - element: null, - content: null, - lastScrollPos: null, - scrollTimeout: null, - resizeTimeout: null, - defaultWidth: 0, - defaultHeight: 0, - defaultContentWidth: 0, - defaultContentHeight: 0, - isRangeChanged: false, - lazyLoadState: {}, - resizeListener: null, - initialized: false, - watch: { - numToleratedItems: /* @__PURE__ */ __name(function numToleratedItems(newValue) { - this.d_numToleratedItems = newValue; - }, "numToleratedItems"), - loading: /* @__PURE__ */ __name(function loading(newValue, oldValue) { - if (this.lazy && newValue !== oldValue && newValue !== this.d_loading) { - this.d_loading = newValue; - } - }, "loading"), - items: /* @__PURE__ */ __name(function items(newValue, oldValue) { - if (!oldValue || oldValue.length !== (newValue || []).length) { - this.init(); - this.calculateAutoSize(); - } - }, "items"), - itemSize: /* @__PURE__ */ __name(function itemSize() { - this.init(); - this.calculateAutoSize(); - }, "itemSize"), - orientation: /* @__PURE__ */ __name(function orientation() { - this.lastScrollPos = this.isBoth() ? { - top: 0, - left: 0 - } : 0; - }, "orientation"), - scrollHeight: /* @__PURE__ */ __name(function scrollHeight() { - this.init(); - this.calculateAutoSize(); - }, "scrollHeight"), - scrollWidth: /* @__PURE__ */ __name(function scrollWidth() { - this.init(); - this.calculateAutoSize(); - }, "scrollWidth") - }, - mounted: /* @__PURE__ */ __name(function mounted2() { - this.viewInit(); - this.lastScrollPos = this.isBoth() ? { - top: 0, - left: 0 - } : 0; - this.lazyLoadState = this.lazyLoadState || {}; - }, "mounted"), - updated: /* @__PURE__ */ __name(function updated2() { - !this.initialized && this.viewInit(); - }, "updated"), - unmounted: /* @__PURE__ */ __name(function unmounted3() { - this.unbindResizeListener(); - this.initialized = false; - }, "unmounted"), - methods: { - viewInit: /* @__PURE__ */ __name(function viewInit() { - if (isVisible(this.element)) { - this.setContentEl(this.content); - this.init(); - this.calculateAutoSize(); - this.bindResizeListener(); - this.defaultWidth = getWidth(this.element); - this.defaultHeight = getHeight(this.element); - this.defaultContentWidth = getWidth(this.content); - this.defaultContentHeight = getHeight(this.content); - this.initialized = true; - } - }, "viewInit"), - init: /* @__PURE__ */ __name(function init() { - if (!this.disabled) { - this.setSize(); - this.calculateOptions(); - this.setSpacerSize(); - } - }, "init"), - isVertical: /* @__PURE__ */ __name(function isVertical() { - return this.orientation === "vertical"; - }, "isVertical"), - isHorizontal: /* @__PURE__ */ __name(function isHorizontal() { - return this.orientation === "horizontal"; - }, "isHorizontal"), - isBoth: /* @__PURE__ */ __name(function isBoth() { - return this.orientation === "both"; - }, "isBoth"), - scrollTo: /* @__PURE__ */ __name(function scrollTo2(options3) { - this.element && this.element.scrollTo(options3); - }, "scrollTo"), - scrollToIndex: /* @__PURE__ */ __name(function scrollToIndex(index2) { - var _this = this; - var behavior = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "auto"; - var both = this.isBoth(); - var horizontal2 = this.isHorizontal(); - var valid = both ? index2.every(function(i2) { - return i2 > -1; - }) : index2 > -1; - if (valid) { - var first = this.first; - var _this$element = this.element, _this$element$scrollT = _this$element.scrollTop, scrollTop2 = _this$element$scrollT === void 0 ? 0 : _this$element$scrollT, _this$element$scrollL = _this$element.scrollLeft, scrollLeft = _this$element$scrollL === void 0 ? 0 : _this$element$scrollL; - var _this$calculateNumIte = this.calculateNumItems(), numToleratedItems2 = _this$calculateNumIte.numToleratedItems; - var contentPos = this.getContentPosition(); - var itemSize2 = this.itemSize; - var calculateFirst = /* @__PURE__ */ __name(function calculateFirst2() { - var _index = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0; - var _numT = arguments.length > 1 ? arguments[1] : void 0; - return _index <= _numT ? 0 : _index; - }, "calculateFirst"); - var calculateCoord = /* @__PURE__ */ __name(function calculateCoord2(_first, _size, _cpos) { - return _first * _size + _cpos; - }, "calculateCoord"); - var scrollTo3 = /* @__PURE__ */ __name(function scrollTo4() { - var left = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0; - var top = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; - return _this.scrollTo({ - left, - top, - behavior - }); - }, "scrollTo"); - var newFirst = both ? { - rows: 0, - cols: 0 - } : 0; - var isRangeChanged = false, isScrollChanged = false; - if (both) { - newFirst = { - rows: calculateFirst(index2[0], numToleratedItems2[0]), - cols: calculateFirst(index2[1], numToleratedItems2[1]) - }; - scrollTo3(calculateCoord(newFirst.cols, itemSize2[1], contentPos.left), calculateCoord(newFirst.rows, itemSize2[0], contentPos.top)); - isScrollChanged = this.lastScrollPos.top !== scrollTop2 || this.lastScrollPos.left !== scrollLeft; - isRangeChanged = newFirst.rows !== first.rows || newFirst.cols !== first.cols; - } else { - newFirst = calculateFirst(index2, numToleratedItems2); - horizontal2 ? scrollTo3(calculateCoord(newFirst, itemSize2, contentPos.left), scrollTop2) : scrollTo3(scrollLeft, calculateCoord(newFirst, itemSize2, contentPos.top)); - isScrollChanged = this.lastScrollPos !== (horizontal2 ? scrollLeft : scrollTop2); - isRangeChanged = newFirst !== first; - } - this.isRangeChanged = isRangeChanged; - isScrollChanged && (this.first = newFirst); - } - }, "scrollToIndex"), - scrollInView: /* @__PURE__ */ __name(function scrollInView2(index2, to) { - var _this2 = this; - var behavior = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "auto"; - if (to) { - var both = this.isBoth(); - var horizontal2 = this.isHorizontal(); - var valid = both ? index2.every(function(i2) { - return i2 > -1; - }) : index2 > -1; - if (valid) { - var _this$getRenderedRang = this.getRenderedRange(), first = _this$getRenderedRang.first, viewport = _this$getRenderedRang.viewport; - var scrollTo3 = /* @__PURE__ */ __name(function scrollTo4() { - var left = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0; - var top = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; - return _this2.scrollTo({ - left, - top, - behavior - }); - }, "scrollTo"); - var isToStart = to === "to-start"; - var isToEnd = to === "to-end"; - if (isToStart) { - if (both) { - if (viewport.first.rows - first.rows > index2[0]) { - scrollTo3(viewport.first.cols * this.itemSize[1], (viewport.first.rows - 1) * this.itemSize[0]); - } else if (viewport.first.cols - first.cols > index2[1]) { - scrollTo3((viewport.first.cols - 1) * this.itemSize[1], viewport.first.rows * this.itemSize[0]); - } - } else { - if (viewport.first - first > index2) { - var pos2 = (viewport.first - 1) * this.itemSize; - horizontal2 ? scrollTo3(pos2, 0) : scrollTo3(0, pos2); - } - } - } else if (isToEnd) { - if (both) { - if (viewport.last.rows - first.rows <= index2[0] + 1) { - scrollTo3(viewport.first.cols * this.itemSize[1], (viewport.first.rows + 1) * this.itemSize[0]); - } else if (viewport.last.cols - first.cols <= index2[1] + 1) { - scrollTo3((viewport.first.cols + 1) * this.itemSize[1], viewport.first.rows * this.itemSize[0]); - } - } else { - if (viewport.last - first <= index2 + 1) { - var _pos2 = (viewport.first + 1) * this.itemSize; - horizontal2 ? scrollTo3(_pos2, 0) : scrollTo3(0, _pos2); - } - } - } - } - } else { - this.scrollToIndex(index2, behavior); - } - }, "scrollInView"), - getRenderedRange: /* @__PURE__ */ __name(function getRenderedRange() { - var calculateFirstInViewport = /* @__PURE__ */ __name(function calculateFirstInViewport2(_pos, _size) { - return Math.floor(_pos / (_size || _pos)); - }, "calculateFirstInViewport"); - var firstInViewport = this.first; - var lastInViewport = 0; - if (this.element) { - var both = this.isBoth(); - var horizontal2 = this.isHorizontal(); - var _this$element2 = this.element, scrollTop2 = _this$element2.scrollTop, scrollLeft = _this$element2.scrollLeft; - if (both) { - firstInViewport = { - rows: calculateFirstInViewport(scrollTop2, this.itemSize[0]), - cols: calculateFirstInViewport(scrollLeft, this.itemSize[1]) - }; - lastInViewport = { - rows: firstInViewport.rows + this.numItemsInViewport.rows, - cols: firstInViewport.cols + this.numItemsInViewport.cols - }; - } else { - var scrollPos = horizontal2 ? scrollLeft : scrollTop2; - firstInViewport = calculateFirstInViewport(scrollPos, this.itemSize); - lastInViewport = firstInViewport + this.numItemsInViewport; - } - } - return { - first: this.first, - last: this.last, - viewport: { - first: firstInViewport, - last: lastInViewport - } - }; - }, "getRenderedRange"), - calculateNumItems: /* @__PURE__ */ __name(function calculateNumItems() { - var both = this.isBoth(); - var horizontal2 = this.isHorizontal(); - var itemSize2 = this.itemSize; - var contentPos = this.getContentPosition(); - var contentWidth = this.element ? this.element.offsetWidth - contentPos.left : 0; - var contentHeight = this.element ? this.element.offsetHeight - contentPos.top : 0; - var calculateNumItemsInViewport = /* @__PURE__ */ __name(function calculateNumItemsInViewport2(_contentSize, _itemSize) { - return Math.ceil(_contentSize / (_itemSize || _contentSize)); - }, "calculateNumItemsInViewport"); - var calculateNumToleratedItems = /* @__PURE__ */ __name(function calculateNumToleratedItems2(_numItems) { - return Math.ceil(_numItems / 2); - }, "calculateNumToleratedItems"); - var numItemsInViewport = both ? { - rows: calculateNumItemsInViewport(contentHeight, itemSize2[0]), - cols: calculateNumItemsInViewport(contentWidth, itemSize2[1]) - } : calculateNumItemsInViewport(horizontal2 ? contentWidth : contentHeight, itemSize2); - var numToleratedItems2 = this.d_numToleratedItems || (both ? [calculateNumToleratedItems(numItemsInViewport.rows), calculateNumToleratedItems(numItemsInViewport.cols)] : calculateNumToleratedItems(numItemsInViewport)); - return { - numItemsInViewport, - numToleratedItems: numToleratedItems2 - }; - }, "calculateNumItems"), - calculateOptions: /* @__PURE__ */ __name(function calculateOptions() { - var _this3 = this; - var both = this.isBoth(); - var first = this.first; - var _this$calculateNumIte2 = this.calculateNumItems(), numItemsInViewport = _this$calculateNumIte2.numItemsInViewport, numToleratedItems2 = _this$calculateNumIte2.numToleratedItems; - var calculateLast = /* @__PURE__ */ __name(function calculateLast2(_first, _num, _numT) { - var _isCols = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false; - return _this3.getLast(_first + _num + (_first < _numT ? 2 : 3) * _numT, _isCols); - }, "calculateLast"); - var last = both ? { - rows: calculateLast(first.rows, numItemsInViewport.rows, numToleratedItems2[0]), - cols: calculateLast(first.cols, numItemsInViewport.cols, numToleratedItems2[1], true) - } : calculateLast(first, numItemsInViewport, numToleratedItems2); - this.last = last; - this.numItemsInViewport = numItemsInViewport; - this.d_numToleratedItems = numToleratedItems2; - this.$emit("update:numToleratedItems", this.d_numToleratedItems); - if (this.showLoader) { - this.loaderArr = both ? Array.from({ - length: numItemsInViewport.rows - }).map(function() { - return Array.from({ - length: numItemsInViewport.cols - }); - }) : Array.from({ - length: numItemsInViewport - }); - } - if (this.lazy) { - Promise.resolve().then(function() { - var _this3$items; - _this3.lazyLoadState = { - first: _this3.step ? both ? { - rows: 0, - cols: first.cols - } : 0 : first, - last: Math.min(_this3.step ? _this3.step : last, ((_this3$items = _this3.items) === null || _this3$items === void 0 ? void 0 : _this3$items.length) || 0) - }; - _this3.$emit("lazy-load", _this3.lazyLoadState); - }); - } - }, "calculateOptions"), - calculateAutoSize: /* @__PURE__ */ __name(function calculateAutoSize() { - var _this4 = this; - if (this.autoSize && !this.d_loading) { - Promise.resolve().then(function() { - if (_this4.content) { - var both = _this4.isBoth(); - var horizontal2 = _this4.isHorizontal(); - var vertical2 = _this4.isVertical(); - _this4.content.style.minHeight = _this4.content.style.minWidth = "auto"; - _this4.content.style.position = "relative"; - _this4.element.style.contain = "none"; - var _ref = [getWidth(_this4.element), getHeight(_this4.element)], width2 = _ref[0], height = _ref[1]; - (both || horizontal2) && (_this4.element.style.width = width2 < _this4.defaultWidth ? width2 + "px" : _this4.scrollWidth || _this4.defaultWidth + "px"); - (both || vertical2) && (_this4.element.style.height = height < _this4.defaultHeight ? height + "px" : _this4.scrollHeight || _this4.defaultHeight + "px"); - _this4.content.style.minHeight = _this4.content.style.minWidth = ""; - _this4.content.style.position = ""; - _this4.element.style.contain = ""; - } - }); - } - }, "calculateAutoSize"), - getLast: /* @__PURE__ */ __name(function getLast() { - var _ref2, _this$items; - var last = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0; - var isCols = arguments.length > 1 ? arguments[1] : void 0; - return this.items ? Math.min(isCols ? ((_ref2 = this.columns || this.items[0]) === null || _ref2 === void 0 ? void 0 : _ref2.length) || 0 : ((_this$items = this.items) === null || _this$items === void 0 ? void 0 : _this$items.length) || 0, last) : 0; - }, "getLast"), - getContentPosition: /* @__PURE__ */ __name(function getContentPosition() { - if (this.content) { - var style = getComputedStyle(this.content); - var left = parseFloat(style.paddingLeft) + Math.max(parseFloat(style.left) || 0, 0); - var right = parseFloat(style.paddingRight) + Math.max(parseFloat(style.right) || 0, 0); - var top = parseFloat(style.paddingTop) + Math.max(parseFloat(style.top) || 0, 0); - var bottom = parseFloat(style.paddingBottom) + Math.max(parseFloat(style.bottom) || 0, 0); - return { - left, - right, - top, - bottom, - x: left + right, - y: top + bottom - }; - } - return { - left: 0, - right: 0, - top: 0, - bottom: 0, - x: 0, - y: 0 - }; - }, "getContentPosition"), - setSize: /* @__PURE__ */ __name(function setSize() { - var _this5 = this; - if (this.element) { - var both = this.isBoth(); - var horizontal2 = this.isHorizontal(); - var parentElement = this.element.parentElement; - var width2 = this.scrollWidth || "".concat(this.element.offsetWidth || parentElement.offsetWidth, "px"); - var height = this.scrollHeight || "".concat(this.element.offsetHeight || parentElement.offsetHeight, "px"); - var setProp = /* @__PURE__ */ __name(function setProp2(_name, _value) { - return _this5.element.style[_name] = _value; - }, "setProp"); - if (both || horizontal2) { - setProp("height", height); - setProp("width", width2); - } else { - setProp("height", height); - } - } - }, "setSize"), - setSpacerSize: /* @__PURE__ */ __name(function setSpacerSize() { - var _this6 = this; - var items2 = this.items; - if (items2) { - var both = this.isBoth(); - var horizontal2 = this.isHorizontal(); - var contentPos = this.getContentPosition(); - var setProp = /* @__PURE__ */ __name(function setProp2(_name, _value, _size) { - var _cpos = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0; - return _this6.spacerStyle = _objectSpread$e(_objectSpread$e({}, _this6.spacerStyle), _defineProperty$d({}, "".concat(_name), (_value || []).length * _size + _cpos + "px")); - }, "setProp"); - if (both) { - setProp("height", items2, this.itemSize[0], contentPos.y); - setProp("width", this.columns || items2[1], this.itemSize[1], contentPos.x); - } else { - horizontal2 ? setProp("width", this.columns || items2, this.itemSize, contentPos.x) : setProp("height", items2, this.itemSize, contentPos.y); - } - } - }, "setSpacerSize"), - setContentPosition: /* @__PURE__ */ __name(function setContentPosition(pos2) { - var _this7 = this; - if (this.content && !this.appendOnly) { - var both = this.isBoth(); - var horizontal2 = this.isHorizontal(); - var first = pos2 ? pos2.first : this.first; - var calculateTranslateVal = /* @__PURE__ */ __name(function calculateTranslateVal2(_first, _size) { - return _first * _size; - }, "calculateTranslateVal"); - var setTransform = /* @__PURE__ */ __name(function setTransform2() { - var _x = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0; - var _y = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; - return _this7.contentStyle = _objectSpread$e(_objectSpread$e({}, _this7.contentStyle), { - transform: "translate3d(".concat(_x, "px, ").concat(_y, "px, 0)") - }); - }, "setTransform"); - if (both) { - setTransform(calculateTranslateVal(first.cols, this.itemSize[1]), calculateTranslateVal(first.rows, this.itemSize[0])); - } else { - var translateVal = calculateTranslateVal(first, this.itemSize); - horizontal2 ? setTransform(translateVal, 0) : setTransform(0, translateVal); - } - } - }, "setContentPosition"), - onScrollPositionChange: /* @__PURE__ */ __name(function onScrollPositionChange(event2) { - var _this8 = this; - var target = event2.target; - var both = this.isBoth(); - var horizontal2 = this.isHorizontal(); - var contentPos = this.getContentPosition(); - var calculateScrollPos = /* @__PURE__ */ __name(function calculateScrollPos2(_pos, _cpos) { - return _pos ? _pos > _cpos ? _pos - _cpos : _pos : 0; - }, "calculateScrollPos"); - var calculateCurrentIndex = /* @__PURE__ */ __name(function calculateCurrentIndex2(_pos, _size) { - return Math.floor(_pos / (_size || _pos)); - }, "calculateCurrentIndex"); - var calculateTriggerIndex = /* @__PURE__ */ __name(function calculateTriggerIndex2(_currentIndex, _first, _last, _num, _numT, _isScrollDownOrRight) { - return _currentIndex <= _numT ? _numT : _isScrollDownOrRight ? _last - _num - _numT : _first + _numT - 1; - }, "calculateTriggerIndex"); - var calculateFirst = /* @__PURE__ */ __name(function calculateFirst2(_currentIndex, _triggerIndex, _first, _last, _num, _numT, _isScrollDownOrRight) { - if (_currentIndex <= _numT) return 0; - else return Math.max(0, _isScrollDownOrRight ? _currentIndex < _triggerIndex ? _first : _currentIndex - _numT : _currentIndex > _triggerIndex ? _first : _currentIndex - 2 * _numT); - }, "calculateFirst"); - var calculateLast = /* @__PURE__ */ __name(function calculateLast2(_currentIndex, _first, _last, _num, _numT, _isCols) { - var lastValue = _first + _num + 2 * _numT; - if (_currentIndex >= _numT) { - lastValue += _numT + 1; - } - return _this8.getLast(lastValue, _isCols); - }, "calculateLast"); - var scrollTop2 = calculateScrollPos(target.scrollTop, contentPos.top); - var scrollLeft = calculateScrollPos(target.scrollLeft, contentPos.left); - var newFirst = both ? { - rows: 0, - cols: 0 - } : 0; - var newLast = this.last; - var isRangeChanged = false; - var newScrollPos = this.lastScrollPos; - if (both) { - var isScrollDown = this.lastScrollPos.top <= scrollTop2; - var isScrollRight = this.lastScrollPos.left <= scrollLeft; - if (!this.appendOnly || this.appendOnly && (isScrollDown || isScrollRight)) { - var currentIndex = { - rows: calculateCurrentIndex(scrollTop2, this.itemSize[0]), - cols: calculateCurrentIndex(scrollLeft, this.itemSize[1]) - }; - var triggerIndex = { - rows: calculateTriggerIndex(currentIndex.rows, this.first.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0], isScrollDown), - cols: calculateTriggerIndex(currentIndex.cols, this.first.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], isScrollRight) - }; - newFirst = { - rows: calculateFirst(currentIndex.rows, triggerIndex.rows, this.first.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0], isScrollDown), - cols: calculateFirst(currentIndex.cols, triggerIndex.cols, this.first.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], isScrollRight) - }; - newLast = { - rows: calculateLast(currentIndex.rows, newFirst.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0]), - cols: calculateLast(currentIndex.cols, newFirst.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], true) - }; - isRangeChanged = newFirst.rows !== this.first.rows || newLast.rows !== this.last.rows || newFirst.cols !== this.first.cols || newLast.cols !== this.last.cols || this.isRangeChanged; - newScrollPos = { - top: scrollTop2, - left: scrollLeft - }; - } - } else { - var scrollPos = horizontal2 ? scrollLeft : scrollTop2; - var isScrollDownOrRight = this.lastScrollPos <= scrollPos; - if (!this.appendOnly || this.appendOnly && isScrollDownOrRight) { - var _currentIndex2 = calculateCurrentIndex(scrollPos, this.itemSize); - var _triggerIndex2 = calculateTriggerIndex(_currentIndex2, this.first, this.last, this.numItemsInViewport, this.d_numToleratedItems, isScrollDownOrRight); - newFirst = calculateFirst(_currentIndex2, _triggerIndex2, this.first, this.last, this.numItemsInViewport, this.d_numToleratedItems, isScrollDownOrRight); - newLast = calculateLast(_currentIndex2, newFirst, this.last, this.numItemsInViewport, this.d_numToleratedItems); - isRangeChanged = newFirst !== this.first || newLast !== this.last || this.isRangeChanged; - newScrollPos = scrollPos; - } - } - return { - first: newFirst, - last: newLast, - isRangeChanged, - scrollPos: newScrollPos - }; - }, "onScrollPositionChange"), - onScrollChange: /* @__PURE__ */ __name(function onScrollChange(event2) { - var _this$onScrollPositio = this.onScrollPositionChange(event2), first = _this$onScrollPositio.first, last = _this$onScrollPositio.last, isRangeChanged = _this$onScrollPositio.isRangeChanged, scrollPos = _this$onScrollPositio.scrollPos; - if (isRangeChanged) { - var newState = { - first, - last - }; - this.setContentPosition(newState); - this.first = first; - this.last = last; - this.lastScrollPos = scrollPos; - this.$emit("scroll-index-change", newState); - if (this.lazy && this.isPageChanged(first)) { - var _this$items2, _this$items3; - var lazyLoadState = { - first: this.step ? Math.min(this.getPageByFirst(first) * this.step, (((_this$items2 = this.items) === null || _this$items2 === void 0 ? void 0 : _this$items2.length) || 0) - this.step) : first, - last: Math.min(this.step ? (this.getPageByFirst(first) + 1) * this.step : last, ((_this$items3 = this.items) === null || _this$items3 === void 0 ? void 0 : _this$items3.length) || 0) - }; - var isLazyStateChanged = this.lazyLoadState.first !== lazyLoadState.first || this.lazyLoadState.last !== lazyLoadState.last; - isLazyStateChanged && this.$emit("lazy-load", lazyLoadState); - this.lazyLoadState = lazyLoadState; - } - } - }, "onScrollChange"), - onScroll: /* @__PURE__ */ __name(function onScroll(event2) { - var _this9 = this; - this.$emit("scroll", event2); - if (this.delay) { - if (this.scrollTimeout) { - clearTimeout(this.scrollTimeout); - } - if (this.isPageChanged()) { - if (!this.d_loading && this.showLoader) { - var _this$onScrollPositio2 = this.onScrollPositionChange(event2), isRangeChanged = _this$onScrollPositio2.isRangeChanged; - var changed = isRangeChanged || (this.step ? this.isPageChanged() : false); - changed && (this.d_loading = true); - } - this.scrollTimeout = setTimeout(function() { - _this9.onScrollChange(event2); - if (_this9.d_loading && _this9.showLoader && (!_this9.lazy || _this9.loading === void 0)) { - _this9.d_loading = false; - _this9.page = _this9.getPageByFirst(); - } - }, this.delay); - } - } else { - this.onScrollChange(event2); - } - }, "onScroll"), - onResize: /* @__PURE__ */ __name(function onResize() { - var _this10 = this; - if (this.resizeTimeout) { - clearTimeout(this.resizeTimeout); - } - this.resizeTimeout = setTimeout(function() { - if (isVisible(_this10.element)) { - var both = _this10.isBoth(); - var vertical2 = _this10.isVertical(); - var horizontal2 = _this10.isHorizontal(); - var _ref3 = [getWidth(_this10.element), getHeight(_this10.element)], width2 = _ref3[0], height = _ref3[1]; - var isDiffWidth = width2 !== _this10.defaultWidth, isDiffHeight = height !== _this10.defaultHeight; - var reinit = both ? isDiffWidth || isDiffHeight : horizontal2 ? isDiffWidth : vertical2 ? isDiffHeight : false; - if (reinit) { - _this10.d_numToleratedItems = _this10.numToleratedItems; - _this10.defaultWidth = width2; - _this10.defaultHeight = height; - _this10.defaultContentWidth = getWidth(_this10.content); - _this10.defaultContentHeight = getHeight(_this10.content); - _this10.init(); - } - } - }, this.resizeDelay); - }, "onResize"), - bindResizeListener: /* @__PURE__ */ __name(function bindResizeListener() { - if (!this.resizeListener) { - this.resizeListener = this.onResize.bind(this); - window.addEventListener("resize", this.resizeListener); - window.addEventListener("orientationchange", this.resizeListener); - } - }, "bindResizeListener"), - unbindResizeListener: /* @__PURE__ */ __name(function unbindResizeListener() { - if (this.resizeListener) { - window.removeEventListener("resize", this.resizeListener); - window.removeEventListener("orientationchange", this.resizeListener); - this.resizeListener = null; - } - }, "unbindResizeListener"), - getOptions: /* @__PURE__ */ __name(function getOptions(renderedIndex) { - var count = (this.items || []).length; - var index2 = this.isBoth() ? this.first.rows + renderedIndex : this.first + renderedIndex; - return { - index: index2, - count, - first: index2 === 0, - last: index2 === count - 1, - even: index2 % 2 === 0, - odd: index2 % 2 !== 0 - }; - }, "getOptions"), - getLoaderOptions: /* @__PURE__ */ __name(function getLoaderOptions(index2, extOptions) { - var count = this.loaderArr.length; - return _objectSpread$e({ - index: index2, - count, - first: index2 === 0, - last: index2 === count - 1, - even: index2 % 2 === 0, - odd: index2 % 2 !== 0 - }, extOptions); - }, "getLoaderOptions"), - getPageByFirst: /* @__PURE__ */ __name(function getPageByFirst(first) { - return Math.floor(((first !== null && first !== void 0 ? first : this.first) + this.d_numToleratedItems * 4) / (this.step || 1)); - }, "getPageByFirst"), - isPageChanged: /* @__PURE__ */ __name(function isPageChanged(first) { - return this.step ? this.page !== this.getPageByFirst(first !== null && first !== void 0 ? first : this.first) : true; - }, "isPageChanged"), - setContentEl: /* @__PURE__ */ __name(function setContentEl(el) { - this.content = el || this.content || findSingle(this.element, '[data-pc-section="content"]'); - }, "setContentEl"), - elementRef: /* @__PURE__ */ __name(function elementRef(el) { - this.element = el; - }, "elementRef"), - contentRef: /* @__PURE__ */ __name(function contentRef(el) { - this.content = el; - }, "contentRef") - }, - computed: { - containerClass: /* @__PURE__ */ __name(function containerClass2() { - return ["p-virtualscroller", this["class"], { - "p-virtualscroller-inline": this.inline, - "p-virtualscroller-both p-both-scroll": this.isBoth(), - "p-virtualscroller-horizontal p-horizontal-scroll": this.isHorizontal() - }]; - }, "containerClass"), - contentClass: /* @__PURE__ */ __name(function contentClass() { - return ["p-virtualscroller-content", { - "p-virtualscroller-loading": this.d_loading - }]; - }, "contentClass"), - loaderClass: /* @__PURE__ */ __name(function loaderClass() { - return ["p-virtualscroller-loader", { - "p-virtualscroller-loader-mask": !this.$slots.loader - }]; - }, "loaderClass"), - loadedItems: /* @__PURE__ */ __name(function loadedItems() { - var _this11 = this; - if (this.items && !this.d_loading) { - if (this.isBoth()) return this.items.slice(this.appendOnly ? 0 : this.first.rows, this.last.rows).map(function(item2) { - return _this11.columns ? item2 : item2.slice(_this11.appendOnly ? 0 : _this11.first.cols, _this11.last.cols); - }); - else if (this.isHorizontal() && this.columns) return this.items; - else return this.items.slice(this.appendOnly ? 0 : this.first, this.last); - } - return []; - }, "loadedItems"), - loadedRows: /* @__PURE__ */ __name(function loadedRows() { - return this.d_loading ? this.loaderDisabled ? this.loaderArr : [] : this.loadedItems; - }, "loadedRows"), - loadedColumns: /* @__PURE__ */ __name(function loadedColumns() { - if (this.columns) { - var both = this.isBoth(); - var horizontal2 = this.isHorizontal(); - if (both || horizontal2) { - return this.d_loading && this.loaderDisabled ? both ? this.loaderArr[0] : this.loaderArr : this.columns.slice(both ? this.first.cols : this.first, both ? this.last.cols : this.last); - } - } - return this.columns; - }, "loadedColumns") - }, - components: { - SpinnerIcon: script$M - } -}; -var _hoisted_1$P = ["tabindex"]; -function render$K(_ctx, _cache, $props, $setup, $data, $options) { - var _component_SpinnerIcon = resolveComponent("SpinnerIcon"); - return !_ctx.disabled ? (openBlock(), createElementBlock("div", mergeProps$1({ - key: 0, - ref: $options.elementRef, - "class": $options.containerClass, - tabindex: _ctx.tabindex, - style: _ctx.style, - onScroll: _cache[0] || (_cache[0] = function() { - return $options.onScroll && $options.onScroll.apply($options, arguments); - }) - }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "content", { - styleClass: $options.contentClass, - items: $options.loadedItems, - getItemOptions: $options.getOptions, - loading: $data.d_loading, - getLoaderOptions: $options.getLoaderOptions, - itemSize: _ctx.itemSize, - rows: $options.loadedRows, - columns: $options.loadedColumns, - contentRef: $options.contentRef, - spacerStyle: $data.spacerStyle, - contentStyle: $data.contentStyle, - vertical: $options.isVertical(), - horizontal: $options.isHorizontal(), - both: $options.isBoth() - }, function() { - return [createBaseVNode("div", mergeProps$1({ - ref: $options.contentRef, - "class": $options.contentClass, - style: $data.contentStyle - }, _ctx.ptm("content")), [(openBlock(true), createElementBlock(Fragment, null, renderList($options.loadedItems, function(item2, index2) { - return renderSlot(_ctx.$slots, "item", { - key: index2, - item: item2, - options: $options.getOptions(index2) - }); - }), 128))], 16)]; - }), _ctx.showSpacer ? (openBlock(), createElementBlock("div", mergeProps$1({ - key: 0, - "class": "p-virtualscroller-spacer", - style: $data.spacerStyle - }, _ctx.ptm("spacer")), null, 16)) : createCommentVNode("", true), !_ctx.loaderDisabled && _ctx.showLoader && $data.d_loading ? (openBlock(), createElementBlock("div", mergeProps$1({ - key: 1, - "class": $options.loaderClass - }, _ctx.ptm("loader")), [_ctx.$slots && _ctx.$slots.loader ? (openBlock(true), createElementBlock(Fragment, { - key: 0 - }, renderList($data.loaderArr, function(_2, index2) { - return renderSlot(_ctx.$slots, "loader", { - key: index2, - options: $options.getLoaderOptions(index2, $options.isBoth() && { - numCols: _ctx.d_numItemsInViewport.cols - }) - }); - }), 128)) : createCommentVNode("", true), renderSlot(_ctx.$slots, "loadingicon", {}, function() { - return [createVNode(_component_SpinnerIcon, mergeProps$1({ - spin: "", - "class": "p-virtualscroller-loading-icon" - }, _ctx.ptm("loadingIcon")), null, 16)]; - })], 16)) : createCommentVNode("", true)], 16, _hoisted_1$P)) : (openBlock(), createElementBlock(Fragment, { - key: 1 - }, [renderSlot(_ctx.$slots, "default"), renderSlot(_ctx.$slots, "content", { - items: _ctx.items, - rows: _ctx.items, - columns: $options.loadedColumns - })], 64)); -} -__name(render$K, "render$K"); -script$L.render = render$K; -var theme$s = /* @__PURE__ */ __name(function theme7(_ref) { - var dt2 = _ref.dt; - return "\n.p-listbox {\n background: ".concat(dt2("listbox.background"), ";\n color: ").concat(dt2("listbox.color"), ";\n border: 1px solid ").concat(dt2("listbox.border.color"), ";\n border-radius: ").concat(dt2("listbox.border.radius"), ";\n transition: background ").concat(dt2("listbox.transition.duration"), ", color ").concat(dt2("listbox.transition.duration"), ", border-color ").concat(dt2("listbox.transition.duration"), ",\n box-shadow ").concat(dt2("listbox.transition.duration"), ", outline-color ").concat(dt2("listbox.transition.duration"), ";\n outline-color: transparent;\n box-shadow: ").concat(dt2("listbox.shadow"), ";\n}\n\n.p-listbox.p-focus {\n border-color: ").concat(dt2("listbox.focus.border.color"), ";\n box-shadow: ").concat(dt2("listbox.focus.ring.shadow"), ";\n outline: ").concat(dt2("listbox.focus.ring.width"), " ").concat(dt2("listbox.focus.ring.style"), " ").concat(dt2("listbox.focus.ring.color"), ";\n outline-offset: ").concat(dt2("listbox.focus.ring.offset"), ";\n}\n\n.p-listbox.p-disabled {\n opacity: 1;\n background: ").concat(dt2("listbox.disabled.background"), ";\n color: ").concat(dt2("listbox.disabled.color"), ";\n}\n\n.p-listbox.p-disabled .p-listbox-option {\n color: ").concat(dt2("listbox.disabled.color"), ";\n}\n\n.p-listbox.p-invalid {\n border-color: ").concat(dt2("listbox.invalid.border.color"), ";\n}\n\n.p-listbox-header {\n padding: ").concat(dt2("listbox.list.header.padding"), ";\n}\n\n.p-listbox-filter {\n width: 100%;\n}\n\n.p-listbox-list-container {\n overflow: auto;\n}\n\n.p-listbox-list {\n list-style-type: none;\n margin: 0;\n padding: ").concat(dt2("listbox.list.padding"), ";\n outline: 0 none;\n display: flex;\n flex-direction: column;\n gap: ").concat(dt2("listbox.list.gap"), ";\n}\n\n.p-listbox-option {\n display: flex;\n align-items: center;\n cursor: pointer;\n position: relative;\n overflow: hidden;\n padding: ").concat(dt2("listbox.option.padding"), ";\n border: 0 none;\n border-radius: ").concat(dt2("listbox.option.border.radius"), ";\n color: ").concat(dt2("listbox.option.color"), ";\n transition: background ").concat(dt2("listbox.transition.duration"), ", color ").concat(dt2("listbox.transition.duration"), ", border-color ").concat(dt2("listbox.transition.duration"), ",\n box-shadow ").concat(dt2("listbox.transition.duration"), ", outline-color ").concat(dt2("listbox.transition.duration"), ";\n}\n\n.p-listbox-striped li:nth-child(even of .p-listbox-option) {\n background: ").concat(dt2("listbox.option.striped.background"), ";\n}\n\n.p-listbox .p-listbox-list .p-listbox-option.p-listbox-option-selected {\n background: ").concat(dt2("listbox.option.selected.background"), ";\n color: ").concat(dt2("listbox.option.selected.color"), ";\n}\n\n.p-listbox:not(.p-disabled) .p-listbox-option.p-listbox-option-selected.p-focus {\n background: ").concat(dt2("listbox.option.selected.focus.background"), ";\n color: ").concat(dt2("listbox.option.selected.focus.color"), ";\n}\n\n.p-listbox:not(.p-disabled) .p-listbox-option:not(.p-listbox-option-selected):not(.p-disabled).p-focus {\n background: ").concat(dt2("listbox.option.focus.background"), ";\n color: ").concat(dt2("listbox.option.focus.color"), ";\n}\n\n.p-listbox:not(.p-disabled) .p-listbox-option:not(.p-listbox-option-selected):not(.p-disabled):hover {\n background: ").concat(dt2("listbox.option.focus.background"), ";\n color: ").concat(dt2("listbox.option.focus.color"), ";\n}\n\n.p-listbox-option-check-icon {\n position: relative;\n margin-inline-start: ").concat(dt2("listbox.checkmark.gutter.start"), ";\n margin-inline-end: ").concat(dt2("listbox.checkmark.gutter.end"), ";\n color: ").concat(dt2("listbox.checkmark.color"), ";\n}\n\n.p-listbox-option-group {\n margin: 0;\n padding: ").concat(dt2("listbox.option.group.padding"), ";\n color: ").concat(dt2("listbox.option.group.color"), ";\n background: ").concat(dt2("listbox.option.group.background"), ";\n font-weight: ").concat(dt2("listbox.option.group.font.weight"), ";\n}\n\n.p-listbox-empty-message {\n padding: ").concat(dt2("listbox.empty.message.padding"), ";\n}\n"); -}, "theme"); -var classes$u = { - root: /* @__PURE__ */ __name(function root2(_ref2) { - var props = _ref2.props; - return ["p-listbox p-component", { - "p-listbox-striped": props.striped, - "p-disabled": props.disabled, - "p-invalid": props.invalid - }]; - }, "root"), - header: "p-listbox-header", - pcFilter: "p-listbox-filter", - listContainer: "p-listbox-list-container", - list: "p-listbox-list", - optionGroup: "p-listbox-option-group", - option: /* @__PURE__ */ __name(function option(_ref3) { - var instance = _ref3.instance, props = _ref3.props, _option = _ref3.option, index2 = _ref3.index, getItemOptions = _ref3.getItemOptions; - return ["p-listbox-option", { - "p-listbox-option-selected": instance.isSelected(_option) && props.highlightOnSelect, - "p-focus": instance.focusedOptionIndex === instance.getOptionIndex(index2, getItemOptions), - "p-disabled": instance.isOptionDisabled(_option) - }]; - }, "option"), - optionCheckIcon: "p-listbox-option-check-icon", - optionBlankIcon: "p-listbox-option-blank-icon", - emptyMessage: "p-listbox-empty-message" -}; -var ListboxStyle = BaseStyle.extend({ - name: "listbox", - theme: theme$s, - classes: classes$u -}); -var script$1$t = { - name: "BaseListbox", - "extends": script$U, - props: { - modelValue: null, - options: Array, - optionLabel: null, - optionValue: null, - optionDisabled: null, - optionGroupLabel: null, - optionGroupChildren: null, - listStyle: null, - scrollHeight: { - type: String, - "default": "14rem" - }, - invalid: { - type: Boolean, - "default": false - }, - disabled: { - type: Boolean, - "default": false - }, - dataKey: null, - multiple: { - type: Boolean, - "default": false - }, - metaKeySelection: { - type: Boolean, - "default": false - }, - filter: Boolean, - filterPlaceholder: String, - filterLocale: String, - filterMatchMode: { - type: String, - "default": "contains" - }, - filterFields: { - type: Array, - "default": null - }, - virtualScrollerOptions: { - type: Object, - "default": null - }, - autoOptionFocus: { - type: Boolean, - "default": true - }, - selectOnFocus: { - type: Boolean, - "default": false - }, - focusOnHover: { - type: Boolean, - "default": true - }, - highlightOnSelect: { - type: Boolean, - "default": true - }, - checkmark: { - 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 - }, - filterIcon: { - type: String, - "default": void 0 - }, - striped: { - type: Boolean, - "default": false - }, - tabindex: { - type: Number, - "default": 0 - }, - ariaLabel: { - type: String, - "default": null - }, - ariaLabelledby: { - type: String, - "default": null - } - }, - style: ListboxStyle, - provide: /* @__PURE__ */ __name(function provide7() { - return { - $pcListbox: this, - $parentInstance: this - }; - }, "provide") -}; -function _toConsumableArray$9(r) { - return _arrayWithoutHoles$9(r) || _iterableToArray$9(r) || _unsupportedIterableToArray$c(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 _unsupportedIterableToArray$c(r, a) { - if (r) { - if ("string" == typeof r) return _arrayLikeToArray$c(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$c(r, a) : void 0; - } -} -__name(_unsupportedIterableToArray$c, "_unsupportedIterableToArray$c"); -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$c(r); -} -__name(_arrayWithoutHoles$9, "_arrayWithoutHoles$9"); -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$K = { - name: "Listbox", - "extends": script$1$t, - inheritAttrs: false, - emits: ["update:modelValue", "change", "focus", "blur", "filter", "item-dblclick", "option-dblclick"], - list: null, - virtualScroller: null, - optionTouched: false, - startRangeIndex: -1, - searchTimeout: null, - searchValue: "", - data: /* @__PURE__ */ __name(function data2() { - return { - id: this.$attrs.id, - filterValue: null, - focused: false, - focusedOptionIndex: -1 - }; - }, "data"), - watch: { - "$attrs.id": /* @__PURE__ */ __name(function $attrsId(newValue) { - this.id = newValue || UniqueComponentId(); - }, "$attrsId"), - options: /* @__PURE__ */ __name(function options() { - this.autoUpdateModel(); - }, "options") - }, - mounted: /* @__PURE__ */ __name(function mounted3() { - this.id = this.id || UniqueComponentId(); - this.autoUpdateModel(); - }, "mounted"), - methods: { - getOptionIndex: /* @__PURE__ */ __name(function getOptionIndex(index2, fn) { - return this.virtualScrollerDisabled ? index2 : fn && fn(index2)["index"]; - }, "getOptionIndex"), - getOptionLabel: /* @__PURE__ */ __name(function getOptionLabel(option3) { - return this.optionLabel ? resolveFieldData(option3, this.optionLabel) : typeof option3 === "string" ? option3 : null; - }, "getOptionLabel"), - getOptionValue: /* @__PURE__ */ __name(function getOptionValue(option3) { - return this.optionValue ? resolveFieldData(option3, this.optionValue) : option3; - }, "getOptionValue"), - getOptionRenderKey: /* @__PURE__ */ __name(function getOptionRenderKey(option3, index2) { - return (this.dataKey ? resolveFieldData(option3, this.dataKey) : this.getOptionLabel(option3)) + "_" + index2; - }, "getOptionRenderKey"), - getPTOptions: /* @__PURE__ */ __name(function getPTOptions2(option3, itemOptions, index2, key) { - return this.ptm(key, { - context: { - selected: this.isSelected(option3), - focused: this.focusedOptionIndex === this.getOptionIndex(index2, itemOptions), - disabled: this.isOptionDisabled(option3) - } - }); - }, "getPTOptions"), - isOptionDisabled: /* @__PURE__ */ __name(function isOptionDisabled(option3) { - return this.optionDisabled ? resolveFieldData(option3, this.optionDisabled) : false; - }, "isOptionDisabled"), - isOptionGroup: /* @__PURE__ */ __name(function isOptionGroup(option3) { - return this.optionGroupLabel && option3.optionGroup && option3.group; - }, "isOptionGroup"), - getOptionGroupLabel: /* @__PURE__ */ __name(function getOptionGroupLabel(optionGroup) { - return resolveFieldData(optionGroup, this.optionGroupLabel); - }, "getOptionGroupLabel"), - getOptionGroupChildren: /* @__PURE__ */ __name(function getOptionGroupChildren(optionGroup) { - return resolveFieldData(optionGroup, this.optionGroupChildren); - }, "getOptionGroupChildren"), - getAriaPosInset: /* @__PURE__ */ __name(function getAriaPosInset(index2) { - var _this = this; - return (this.optionGroupLabel ? index2 - this.visibleOptions.slice(0, index2).filter(function(option3) { - return _this.isOptionGroup(option3); - }).length : index2) + 1; - }, "getAriaPosInset"), - onFirstHiddenFocus: /* @__PURE__ */ __name(function onFirstHiddenFocus() { - focus(this.list); - var firstFocusableEl = getFirstFocusableElement(this.$el, ':not([data-p-hidden-focusable="true"])'); - this.$refs.lastHiddenFocusableElement.tabIndex = isElement(firstFocusableEl) ? void 0 : -1; - this.$refs.firstHiddenFocusableElement.tabIndex = -1; - }, "onFirstHiddenFocus"), - onLastHiddenFocus: /* @__PURE__ */ __name(function onLastHiddenFocus(event2) { - var relatedTarget = event2.relatedTarget; - if (relatedTarget === this.list) { - var firstFocusableEl = getFirstFocusableElement(this.$el, ':not([data-p-hidden-focusable="true"])'); - focus(firstFocusableEl); - this.$refs.firstHiddenFocusableElement.tabIndex = void 0; - } else { - focus(this.$refs.firstHiddenFocusableElement); - } - this.$refs.lastHiddenFocusableElement.tabIndex = -1; - }, "onLastHiddenFocus"), - onFocusout: /* @__PURE__ */ __name(function onFocusout(event2) { - if (!this.$el.contains(event2.relatedTarget) && this.$refs.lastHiddenFocusableElement && this.$refs.firstHiddenFocusableElement) { - this.$refs.lastHiddenFocusableElement.tabIndex = this.$refs.firstHiddenFocusableElement.tabIndex = void 0; - } - }, "onFocusout"), - onListFocus: /* @__PURE__ */ __name(function onListFocus(event2) { - this.focused = true; - this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.findSelectedOptionIndex(); - this.autoUpdateModel(); - this.$emit("focus", event2); - }, "onListFocus"), - onListBlur: /* @__PURE__ */ __name(function onListBlur(event2) { - this.focused = false; - this.focusedOptionIndex = this.startRangeIndex = -1; - this.searchValue = ""; - this.$emit("blur", event2); - }, "onListBlur"), - onListKeyDown: /* @__PURE__ */ __name(function onListKeyDown(event2) { - var _this2 = this; - 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.onSpaceKey(event2); - break; - case "Tab": - break; - case "ShiftLeft": - case "ShiftRight": - this.onShiftKey(event2); - break; - default: - if (this.multiple && event2.code === "KeyA" && metaKey) { - var value3 = this.visibleOptions.filter(function(option3) { - return _this2.isValidOption(option3); - }).map(function(option3) { - return _this2.getOptionValue(option3); - }); - this.updateModel(event2, value3); - event2.preventDefault(); - break; - } - if (!metaKey && isPrintableCharacter(event2.key)) { - this.searchOptions(event2, event2.key); - event2.preventDefault(); - } - break; - } - }, "onListKeyDown"), - onOptionSelect: /* @__PURE__ */ __name(function onOptionSelect(event2, option3) { - var index2 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : -1; - if (this.disabled || this.isOptionDisabled(option3)) { - return; - } - this.multiple ? this.onOptionSelectMultiple(event2, option3) : this.onOptionSelectSingle(event2, option3); - this.optionTouched = false; - index2 !== -1 && (this.focusedOptionIndex = index2); - }, "onOptionSelect"), - onOptionMouseDown: /* @__PURE__ */ __name(function onOptionMouseDown(event2, index2) { - this.changeFocusedOptionIndex(event2, index2); - }, "onOptionMouseDown"), - onOptionMouseMove: /* @__PURE__ */ __name(function onOptionMouseMove(event2, index2) { - if (this.focusOnHover && this.focused) { - this.changeFocusedOptionIndex(event2, index2); - } - }, "onOptionMouseMove"), - onOptionTouchEnd: /* @__PURE__ */ __name(function onOptionTouchEnd() { - if (this.disabled) { - return; - } - this.optionTouched = true; - }, "onOptionTouchEnd"), - onOptionDblClick: /* @__PURE__ */ __name(function onOptionDblClick(event2, item2) { - this.$emit("item-dblclick", { - originalEvent: event2, - value: item2 - }); - this.$emit("option-dblclick", { - originalEvent: event2, - value: item2 - }); - }, "onOptionDblClick"), - onOptionSelectSingle: /* @__PURE__ */ __name(function onOptionSelectSingle(event2, option3) { - var selected2 = this.isSelected(option3); - var valueChanged = false; - var value3 = null; - var metaSelection = this.optionTouched ? false : this.metaKeySelection; - if (metaSelection) { - var metaKey = event2 && (event2.metaKey || event2.ctrlKey); - if (selected2) { - if (metaKey) { - value3 = null; - valueChanged = true; - } - } else { - value3 = this.getOptionValue(option3); - valueChanged = true; - } - } else { - value3 = selected2 ? null : this.getOptionValue(option3); - valueChanged = true; - } - if (valueChanged) { - this.updateModel(event2, value3); - } - }, "onOptionSelectSingle"), - onOptionSelectMultiple: /* @__PURE__ */ __name(function onOptionSelectMultiple(event2, option3) { - var selected2 = this.isSelected(option3); - var value3 = null; - var metaSelection = this.optionTouched ? false : this.metaKeySelection; - if (metaSelection) { - var metaKey = event2.metaKey || event2.ctrlKey; - if (selected2) { - value3 = metaKey ? this.removeOption(option3) : [this.getOptionValue(option3)]; - } else { - value3 = metaKey ? this.modelValue || [] : []; - value3 = [].concat(_toConsumableArray$9(value3), [this.getOptionValue(option3)]); - } - } else { - value3 = selected2 ? this.removeOption(option3) : [].concat(_toConsumableArray$9(this.modelValue || []), [this.getOptionValue(option3)]); - } - this.updateModel(event2, value3); - }, "onOptionSelectMultiple"), - onOptionSelectRange: /* @__PURE__ */ __name(function onOptionSelectRange(event2) { - var _this3 = this; - var start2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : -1; - var end = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : -1; - start2 === -1 && (start2 = this.findNearestSelectedOptionIndex(end, true)); - end === -1 && (end = this.findNearestSelectedOptionIndex(start2)); - if (start2 !== -1 && end !== -1) { - var rangeStart = Math.min(start2, end); - var rangeEnd = Math.max(start2, end); - var value3 = this.visibleOptions.slice(rangeStart, rangeEnd + 1).filter(function(option3) { - return _this3.isValidOption(option3); - }).map(function(option3) { - return _this3.getOptionValue(option3); - }); - this.updateModel(event2, value3); - } - }, "onOptionSelectRange"), - onFilterChange: /* @__PURE__ */ __name(function onFilterChange(event2) { - this.$emit("filter", { - originalEvent: event2, - value: event2.target.value - }); - this.focusedOptionIndex = this.startRangeIndex = -1; - }, "onFilterChange"), - onFilterBlur: /* @__PURE__ */ __name(function onFilterBlur() { - this.focusedOptionIndex = this.startRangeIndex = -1; - }, "onFilterBlur"), - onFilterKeyDown: /* @__PURE__ */ __name(function onFilterKeyDown(event2) { - switch (event2.code) { - case "ArrowDown": - this.onArrowDownKey(event2); - break; - case "ArrowUp": - this.onArrowUpKey(event2); - 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 "ShiftLeft": - case "ShiftRight": - this.onShiftKey(event2); - break; - } - }, "onFilterKeyDown"), - onArrowDownKey: /* @__PURE__ */ __name(function onArrowDownKey(event2) { - var optionIndex = this.focusedOptionIndex !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex) : this.findFirstFocusedOptionIndex(); - if (this.multiple && event2.shiftKey) { - this.onOptionSelectRange(event2, this.startRangeIndex, optionIndex); - } - this.changeFocusedOptionIndex(event2, optionIndex); - event2.preventDefault(); - }, "onArrowDownKey"), - onArrowUpKey: /* @__PURE__ */ __name(function onArrowUpKey(event2) { - var optionIndex = this.focusedOptionIndex !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex) : this.findLastFocusedOptionIndex(); - if (this.multiple && event2.shiftKey) { - this.onOptionSelectRange(event2, optionIndex, this.startRangeIndex); - } - this.changeFocusedOptionIndex(event2, optionIndex); - event2.preventDefault(); - }, "onArrowUpKey"), - onArrowLeftKey: /* @__PURE__ */ __name(function onArrowLeftKey(event2) { - var pressedInInputText = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; - pressedInInputText && (this.focusedOptionIndex = -1); - }, "onArrowLeftKey"), - onHomeKey: /* @__PURE__ */ __name(function onHomeKey(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 (this.multiple && event2.shiftKey && metaKey) { - this.onOptionSelectRange(event2, optionIndex, this.startRangeIndex); - } - this.changeFocusedOptionIndex(event2, optionIndex); - } - event2.preventDefault(); - }, "onHomeKey"), - onEndKey: /* @__PURE__ */ __name(function onEndKey(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 (this.multiple && event2.shiftKey && metaKey) { - this.onOptionSelectRange(event2, this.startRangeIndex, optionIndex); - } - this.changeFocusedOptionIndex(event2, optionIndex); - } - 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 onEnterKey(event2) { - if (this.focusedOptionIndex !== -1) { - if (this.multiple && event2.shiftKey) this.onOptionSelectRange(event2, this.focusedOptionIndex); - else this.onOptionSelect(event2, this.visibleOptions[this.focusedOptionIndex]); - } - }, "onEnterKey"), - onSpaceKey: /* @__PURE__ */ __name(function onSpaceKey(event2) { - event2.preventDefault(); - this.onEnterKey(event2); - }, "onSpaceKey"), - onShiftKey: /* @__PURE__ */ __name(function onShiftKey() { - this.startRangeIndex = this.focusedOptionIndex; - }, "onShiftKey"), - isOptionMatched: /* @__PURE__ */ __name(function isOptionMatched(option3) { - var _this$getOptionLabel; - return this.isValidOption(option3) && typeof this.getOptionLabel(option3) === "string" && ((_this$getOptionLabel = this.getOptionLabel(option3)) === null || _this$getOptionLabel === void 0 ? void 0 : _this$getOptionLabel.toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale))); - }, "isOptionMatched"), - isValidOption: /* @__PURE__ */ __name(function isValidOption(option3) { - return isNotEmpty(option3) && !(this.isOptionDisabled(option3) || this.isOptionGroup(option3)); - }, "isValidOption"), - isValidSelectedOption: /* @__PURE__ */ __name(function isValidSelectedOption(option3) { - return this.isValidOption(option3) && this.isSelected(option3); - }, "isValidSelectedOption"), - isEquals: /* @__PURE__ */ __name(function isEquals(value1, value22) { - return equals(value1, value22, this.equalityKey); - }, "isEquals"), - isSelected: /* @__PURE__ */ __name(function isSelected(option3) { - var _this4 = this; - var optionValue = this.getOptionValue(option3); - if (this.multiple) return (this.modelValue || []).some(function(value3) { - return _this4.isEquals(value3, optionValue); - }); - else return this.isEquals(this.modelValue, optionValue); - }, "isSelected"), - findFirstOptionIndex: /* @__PURE__ */ __name(function findFirstOptionIndex() { - var _this5 = this; - return this.visibleOptions.findIndex(function(option3) { - return _this5.isValidOption(option3); - }); - }, "findFirstOptionIndex"), - findLastOptionIndex: /* @__PURE__ */ __name(function findLastOptionIndex() { - var _this6 = this; - return findLastIndex(this.visibleOptions, function(option3) { - return _this6.isValidOption(option3); - }); - }, "findLastOptionIndex"), - findNextOptionIndex: /* @__PURE__ */ __name(function findNextOptionIndex(index2) { - var _this7 = this; - var matchedOptionIndex = index2 < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index2 + 1).findIndex(function(option3) { - return _this7.isValidOption(option3); - }) : -1; - return matchedOptionIndex > -1 ? matchedOptionIndex + index2 + 1 : index2; - }, "findNextOptionIndex"), - findPrevOptionIndex: /* @__PURE__ */ __name(function findPrevOptionIndex(index2) { - var _this8 = this; - var matchedOptionIndex = index2 > 0 ? findLastIndex(this.visibleOptions.slice(0, index2), function(option3) { - return _this8.isValidOption(option3); - }) : -1; - return matchedOptionIndex > -1 ? matchedOptionIndex : index2; - }, "findPrevOptionIndex"), - findSelectedOptionIndex: /* @__PURE__ */ __name(function findSelectedOptionIndex() { - var _this9 = this; - if (this.hasSelectedOption) { - if (this.multiple) { - var _loop = /* @__PURE__ */ __name(function _loop2() { - var value3 = _this9.modelValue[index2]; - var matchedOptionIndex = _this9.visibleOptions.findIndex(function(option3) { - return _this9.isValidSelectedOption(option3) && _this9.isEquals(value3, _this9.getOptionValue(option3)); - }); - if (matchedOptionIndex > -1) return { - v: matchedOptionIndex - }; - }, "_loop"), _ret; - for (var index2 = this.modelValue.length - 1; index2 >= 0; index2--) { - _ret = _loop(); - if (_ret) return _ret.v; - } - } else { - return this.visibleOptions.findIndex(function(option3) { - return _this9.isValidSelectedOption(option3); - }); - } - } - return -1; - }, "findSelectedOptionIndex"), - findFirstSelectedOptionIndex: /* @__PURE__ */ __name(function findFirstSelectedOptionIndex() { - var _this10 = this; - return this.hasSelectedOption ? this.visibleOptions.findIndex(function(option3) { - return _this10.isValidSelectedOption(option3); - }) : -1; - }, "findFirstSelectedOptionIndex"), - findLastSelectedOptionIndex: /* @__PURE__ */ __name(function findLastSelectedOptionIndex() { - var _this11 = this; - return this.hasSelectedOption ? findLastIndex(this.visibleOptions, function(option3) { - return _this11.isValidSelectedOption(option3); - }) : -1; - }, "findLastSelectedOptionIndex"), - findNextSelectedOptionIndex: /* @__PURE__ */ __name(function findNextSelectedOptionIndex(index2) { - var _this12 = this; - var matchedOptionIndex = this.hasSelectedOption && index2 < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index2 + 1).findIndex(function(option3) { - return _this12.isValidSelectedOption(option3); - }) : -1; - return matchedOptionIndex > -1 ? matchedOptionIndex + index2 + 1 : -1; - }, "findNextSelectedOptionIndex"), - findPrevSelectedOptionIndex: /* @__PURE__ */ __name(function findPrevSelectedOptionIndex(index2) { - var _this13 = this; - var matchedOptionIndex = this.hasSelectedOption && index2 > 0 ? findLastIndex(this.visibleOptions.slice(0, index2), function(option3) { - return _this13.isValidSelectedOption(option3); - }) : -1; - return matchedOptionIndex > -1 ? matchedOptionIndex : -1; - }, "findPrevSelectedOptionIndex"), - findNearestSelectedOptionIndex: /* @__PURE__ */ __name(function findNearestSelectedOptionIndex(index2) { - var firstCheckUp = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; - var matchedOptionIndex = -1; - if (this.hasSelectedOption) { - if (firstCheckUp) { - matchedOptionIndex = this.findPrevSelectedOptionIndex(index2); - matchedOptionIndex = matchedOptionIndex === -1 ? this.findNextSelectedOptionIndex(index2) : matchedOptionIndex; - } else { - matchedOptionIndex = this.findNextSelectedOptionIndex(index2); - matchedOptionIndex = matchedOptionIndex === -1 ? this.findPrevSelectedOptionIndex(index2) : matchedOptionIndex; - } - } - return matchedOptionIndex > -1 ? matchedOptionIndex : index2; - }, "findNearestSelectedOptionIndex"), - findFirstFocusedOptionIndex: /* @__PURE__ */ __name(function findFirstFocusedOptionIndex() { - var selectedIndex = this.findFirstSelectedOptionIndex(); - return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex; - }, "findFirstFocusedOptionIndex"), - findLastFocusedOptionIndex: /* @__PURE__ */ __name(function findLastFocusedOptionIndex() { - var selectedIndex = this.findLastSelectedOptionIndex(); - return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex; - }, "findLastFocusedOptionIndex"), - searchOptions: /* @__PURE__ */ __name(function searchOptions(event2, _char) { - var _this14 = this; - this.searchValue = (this.searchValue || "") + _char; - var optionIndex = -1; - if (isNotEmpty(this.searchValue)) { - if (this.focusedOptionIndex !== -1) { - optionIndex = this.visibleOptions.slice(this.focusedOptionIndex).findIndex(function(option3) { - return _this14.isOptionMatched(option3); - }); - optionIndex = optionIndex === -1 ? this.visibleOptions.slice(0, this.focusedOptionIndex).findIndex(function(option3) { - return _this14.isOptionMatched(option3); - }) : optionIndex + this.focusedOptionIndex; - } else { - optionIndex = this.visibleOptions.findIndex(function(option3) { - return _this14.isOptionMatched(option3); - }); - } - 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() { - _this14.searchValue = ""; - _this14.searchTimeout = null; - }, 500); - }, "searchOptions"), - removeOption: /* @__PURE__ */ __name(function removeOption(option3) { - var _this15 = this; - return this.modelValue.filter(function(val) { - return !equals(val, _this15.getOptionValue(option3), _this15.equalityKey); - }); - }, "removeOption"), - changeFocusedOptionIndex: /* @__PURE__ */ __name(function changeFocusedOptionIndex(event2, index2) { - if (this.focusedOptionIndex !== index2) { - this.focusedOptionIndex = index2; - this.scrollInView(); - if (this.selectOnFocus && !this.multiple) { - this.onOptionSelect(event2, this.visibleOptions[index2]); - } - } - }, "changeFocusedOptionIndex"), - scrollInView: /* @__PURE__ */ __name(function scrollInView3() { - var _this16 = this; - var index2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : -1; - this.$nextTick(function() { - var id3 = index2 !== -1 ? "".concat(_this16.id, "_").concat(index2) : _this16.focusedOptionId; - var element = findSingle(_this16.list, 'li[id="'.concat(id3, '"]')); - if (element) { - element.scrollIntoView && element.scrollIntoView({ - block: "nearest", - inline: "nearest", - behavior: "smooth" - }); - } else if (!_this16.virtualScrollerDisabled) { - _this16.virtualScroller && _this16.virtualScroller.scrollToIndex(index2 !== -1 ? index2 : _this16.focusedOptionIndex); - } - }); - }, "scrollInView"), - autoUpdateModel: /* @__PURE__ */ __name(function autoUpdateModel() { - if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption && !this.multiple && this.focused) { - this.focusedOptionIndex = this.findFirstFocusedOptionIndex(); - this.onOptionSelect(null, this.visibleOptions[this.focusedOptionIndex]); - } - }, "autoUpdateModel"), - updateModel: /* @__PURE__ */ __name(function updateModel(event2, value3) { - this.$emit("update:modelValue", value3); - this.$emit("change", { - originalEvent: event2, - value: value3 - }); - }, "updateModel"), - flatOptions: /* @__PURE__ */ __name(function flatOptions(options3) { - var _this17 = this; - return (options3 || []).reduce(function(result, option3, index2) { - result.push({ - optionGroup: option3, - group: true, - index: index2 - }); - var optionGroupChildren = _this17.getOptionGroupChildren(option3); - optionGroupChildren && optionGroupChildren.forEach(function(o) { - return result.push(o); - }); - return result; - }, []); - }, "flatOptions"), - listRef: /* @__PURE__ */ __name(function listRef(el, contentRef3) { - this.list = el; - contentRef3 && contentRef3(el); - }, "listRef"), - virtualScrollerRef: /* @__PURE__ */ __name(function virtualScrollerRef(el) { - this.virtualScroller = el; - }, "virtualScrollerRef") - }, - computed: { - visibleOptions: /* @__PURE__ */ __name(function visibleOptions() { - var options3 = this.optionGroupLabel ? this.flatOptions(this.options) : this.options || []; - return this.filterValue ? FilterService.filter(options3, this.searchFields, this.filterValue, this.filterMatchMode, this.filterLocale) : options3; - }, "visibleOptions"), - hasSelectedOption: /* @__PURE__ */ __name(function hasSelectedOption() { - return isNotEmpty(this.modelValue); - }, "hasSelectedOption"), - equalityKey: /* @__PURE__ */ __name(function equalityKey() { - return this.optionValue ? null : this.dataKey; - }, "equalityKey"), - searchFields: /* @__PURE__ */ __name(function searchFields() { - return this.filterFields || [this.optionLabel]; - }, "searchFields"), - 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 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.hasSelectedOption ? this.selectionMessageText.replaceAll("{0}", this.multiple ? this.modelValue.length : "1") : this.emptySelectionMessageText; - }, "selectedMessageText"), - focusedOptionId: /* @__PURE__ */ __name(function focusedOptionId() { - return this.focusedOptionIndex !== -1 ? "".concat(this.id, "_").concat(this.focusedOptionIndex) : null; - }, "focusedOptionId"), - ariaSetSize: /* @__PURE__ */ __name(function ariaSetSize() { - var _this18 = this; - return this.visibleOptions.filter(function(option3) { - return !_this18.isOptionGroup(option3); - }).length; - }, "ariaSetSize"), - virtualScrollerDisabled: /* @__PURE__ */ __name(function virtualScrollerDisabled() { - return !this.virtualScrollerOptions; - }, "virtualScrollerDisabled") - }, - directives: { - ripple: Ripple - }, - components: { - InputText: script$N, - VirtualScroller: script$L, - InputIcon: script$O, - IconField: script$P, - SearchIcon: script$Q, - CheckIcon: script$R, - BlankIcon: script$S - } -}; -var _hoisted_1$O = ["id"]; -var _hoisted_2$A = ["tabindex"]; -var _hoisted_3$p = ["id", "aria-multiselectable", "aria-label", "aria-labelledby", "aria-activedescendant", "aria-disabled"]; -var _hoisted_4$g = ["id"]; -var _hoisted_5$d = ["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$8 = ["tabindex"]; -function render$J(_ctx, _cache, $props, $setup, $data, $options) { - var _component_InputText = resolveComponent("InputText"); - var _component_SearchIcon = resolveComponent("SearchIcon"); - var _component_InputIcon = resolveComponent("InputIcon"); - var _component_IconField = resolveComponent("IconField"); - var _component_CheckIcon = resolveComponent("CheckIcon"); - var _component_BlankIcon = resolveComponent("BlankIcon"); - var _component_VirtualScroller = resolveComponent("VirtualScroller"); - var _directive_ripple = resolveDirective("ripple"); - return openBlock(), createElementBlock("div", mergeProps$1({ - id: $data.id, - "class": _ctx.cx("root"), - onFocusout: _cache[7] || (_cache[7] = function() { - return $options.onFocusout && $options.onFocusout.apply($options, arguments); - }) - }, _ctx.ptmi("root")), [createBaseVNode("span", mergeProps$1({ - ref: "firstHiddenFocusableElement", - role: "presentation", - "aria-hidden": "true", - "class": "p-hidden-accessible p-hidden-focusable", - tabindex: !_ctx.disabled ? _ctx.tabindex : -1, - onFocus: _cache[0] || (_cache[0] = function() { - return $options.onFirstHiddenFocus && $options.onFirstHiddenFocus.apply($options, arguments); - }) - }, _ctx.ptm("hiddenFirstFocusableEl"), { - "data-p-hidden-accessible": true, - "data-p-hidden-focusable": true - }), null, 16, _hoisted_2$A), _ctx.$slots.header ? (openBlock(), createElementBlock("div", { - key: 0, - "class": normalizeClass(_ctx.cx("header")) - }, [renderSlot(_ctx.$slots, "header", { - value: _ctx.modelValue, - options: $options.visibleOptions - })], 2)) : createCommentVNode("", true), _ctx.filter ? (openBlock(), createElementBlock("div", mergeProps$1({ - key: 1, - "class": _ctx.cx("header") - }, _ctx.ptm("header")), [createVNode(_component_IconField, { - unstyled: _ctx.unstyled, - pt: _ctx.ptm("pcFilterContainer") - }, { - "default": withCtx(function() { - return [createVNode(_component_InputText, { - modelValue: $data.filterValue, - "onUpdate:modelValue": _cache[1] || (_cache[1] = function($event) { - return $data.filterValue = $event; - }), - type: "text", - "class": normalizeClass(_ctx.cx("pcFilter")), - placeholder: _ctx.filterPlaceholder, - role: "searchbox", - autocomplete: "off", - disabled: _ctx.disabled, - unstyled: _ctx.unstyled, - "aria-owns": $data.id + "_list", - "aria-activedescendant": $options.focusedOptionId, - tabindex: !_ctx.disabled && !$data.focused ? _ctx.tabindex : -1, - onInput: $options.onFilterChange, - onBlur: $options.onFilterBlur, - onKeydown: $options.onFilterKeyDown, - pt: _ctx.ptm("pcFilter") - }, null, 8, ["modelValue", "class", "placeholder", "disabled", "unstyled", "aria-owns", "aria-activedescendant", "tabindex", "onInput", "onBlur", "onKeydown", "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$1({ - key: 0, - "class": _ctx.filterIcon - }, _ctx.ptm("filterIcon")), null, 16)) : (openBlock(), createBlock(_component_SearchIcon, normalizeProps(mergeProps$1({ - key: 1 - }, _ctx.ptm("filterIcon"))), null, 16))]; - })]; - }), - _: 3 - }, 8, ["unstyled", "pt"])]; - }), - _: 3 - }, 8, ["unstyled", "pt"]), createBaseVNode("span", mergeProps$1({ - role: "status", - "aria-live": "polite", - "class": "p-hidden-accessible" - }, _ctx.ptm("hiddenFilterResult"), { - "data-p-hidden-accessible": true - }), toDisplayString$1($options.filterResultMessageText), 17)], 16)) : createCommentVNode("", true), createBaseVNode("div", mergeProps$1({ - "class": _ctx.cx("listContainer"), - style: [{ - "max-height": $options.virtualScrollerDisabled ? _ctx.scrollHeight : "" - }, _ctx.listStyle] - }, _ctx.ptm("listContainer")), [createVNode(_component_VirtualScroller, mergeProps$1({ - ref: $options.virtualScrollerRef - }, _ctx.virtualScrollerOptions, { - items: $options.visibleOptions, - style: [{ - height: _ctx.scrollHeight - }, _ctx.listStyle], - tabindex: -1, - disabled: $options.virtualScrollerDisabled, - pt: _ctx.ptm("virtualScroller") - }), createSlots({ - content: withCtx(function(_ref) { - var styleClass = _ref.styleClass, contentRef3 = _ref.contentRef, items2 = _ref.items, getItemOptions = _ref.getItemOptions, contentStyle = _ref.contentStyle, itemSize2 = _ref.itemSize; - return [createBaseVNode("ul", mergeProps$1({ - ref: /* @__PURE__ */ __name(function ref2(el) { - return $options.listRef(el, contentRef3); - }, "ref"), - id: $data.id + "_list", - "class": [_ctx.cx("list"), styleClass], - style: contentStyle, - tabindex: -1, - role: "listbox", - "aria-multiselectable": _ctx.multiple, - "aria-label": _ctx.ariaLabel, - "aria-labelledby": _ctx.ariaLabelledby, - "aria-activedescendant": $data.focused ? $options.focusedOptionId : void 0, - "aria-disabled": _ctx.disabled, - onFocus: _cache[3] || (_cache[3] = function() { - return $options.onListFocus && $options.onListFocus.apply($options, arguments); - }), - onBlur: _cache[4] || (_cache[4] = function() { - return $options.onListBlur && $options.onListBlur.apply($options, arguments); - }), - onKeydown: _cache[5] || (_cache[5] = function() { - return $options.onListKeyDown && $options.onListKeyDown.apply($options, arguments); - }) - }, _ctx.ptm("list")), [(openBlock(true), createElementBlock(Fragment, null, renderList(items2, function(option3, i2) { - return openBlock(), createElementBlock(Fragment, { - key: $options.getOptionRenderKey(option3, $options.getOptionIndex(i2, getItemOptions)) - }, [$options.isOptionGroup(option3) ? (openBlock(), createElementBlock("li", mergeProps$1({ - key: 0, - id: $data.id + "_" + $options.getOptionIndex(i2, getItemOptions), - style: { - height: itemSize2 ? itemSize2 + "px" : void 0 - }, - "class": _ctx.cx("optionGroup"), - role: "option", - ref_for: true - }, _ctx.ptm("optionGroup")), [renderSlot(_ctx.$slots, "optiongroup", { - option: option3.optionGroup, - index: $options.getOptionIndex(i2, getItemOptions) - }, function() { - return [createTextVNode(toDisplayString$1($options.getOptionGroupLabel(option3.optionGroup)), 1)]; - })], 16, _hoisted_4$g)) : withDirectives((openBlock(), createElementBlock("li", mergeProps$1({ - key: 1, - id: $data.id + "_" + $options.getOptionIndex(i2, getItemOptions), - style: { - height: itemSize2 ? itemSize2 + "px" : void 0 - }, - "class": _ctx.cx("option", { - option: option3, - index: i2, - getItemOptions - }), - role: "option", - "aria-label": $options.getOptionLabel(option3), - "aria-selected": $options.isSelected(option3), - "aria-disabled": $options.isOptionDisabled(option3), - "aria-setsize": $options.ariaSetSize, - "aria-posinset": $options.getAriaPosInset($options.getOptionIndex(i2, getItemOptions)), - onClick: /* @__PURE__ */ __name(function onClick3($event) { - return $options.onOptionSelect($event, option3, $options.getOptionIndex(i2, getItemOptions)); - }, "onClick"), - onMousedown: /* @__PURE__ */ __name(function onMousedown($event) { - return $options.onOptionMouseDown($event, $options.getOptionIndex(i2, getItemOptions)); - }, "onMousedown"), - onMousemove: /* @__PURE__ */ __name(function onMousemove($event) { - return $options.onOptionMouseMove($event, $options.getOptionIndex(i2, getItemOptions)); - }, "onMousemove"), - onTouchend: _cache[2] || (_cache[2] = function($event) { - return $options.onOptionTouchEnd(); - }), - onDblclick: /* @__PURE__ */ __name(function onDblclick($event) { - return $options.onOptionDblClick($event, option3); - }, "onDblclick"), - ref_for: true - }, $options.getPTOptions(option3, getItemOptions, i2, "option"), { - "data-p-selected": $options.isSelected(option3), - "data-p-focused": $data.focusedOptionIndex === $options.getOptionIndex(i2, getItemOptions), - "data-p-disabled": $options.isOptionDisabled(option3) - }), [_ctx.checkmark ? (openBlock(), createElementBlock(Fragment, { - key: 0 - }, [$options.isSelected(option3) ? (openBlock(), createBlock(_component_CheckIcon, mergeProps$1({ - key: 0, - "class": _ctx.cx("optionCheckIcon"), - ref_for: true - }, _ctx.ptm("optionCheckIcon")), null, 16, ["class"])) : (openBlock(), createBlock(_component_BlankIcon, mergeProps$1({ - key: 1, - "class": _ctx.cx("optionBlankIcon"), - ref_for: true - }, _ctx.ptm("optionBlankIcon")), null, 16, ["class"]))], 64)) : createCommentVNode("", true), renderSlot(_ctx.$slots, "option", { - option: option3, - selected: $options.isSelected(option3), - index: $options.getOptionIndex(i2, getItemOptions) - }, function() { - return [createTextVNode(toDisplayString$1($options.getOptionLabel(option3)), 1)]; - })], 16, _hoisted_5$d)), [[_directive_ripple]])], 64); - }), 128)), $data.filterValue && (!items2 || items2 && items2.length === 0) ? (openBlock(), createElementBlock("li", mergeProps$1({ - key: 0, - "class": _ctx.cx("emptyMessage"), - role: "option" - }, _ctx.ptm("emptyMessage")), [renderSlot(_ctx.$slots, "emptyfilter", {}, function() { - return [createTextVNode(toDisplayString$1($options.emptyFilterMessageText), 1)]; - })], 16)) : !_ctx.options || _ctx.options && _ctx.options.length === 0 ? (openBlock(), createElementBlock("li", mergeProps$1({ - key: 1, - "class": _ctx.cx("emptyMessage"), - role: "option" - }, _ctx.ptm("emptyMessage")), [renderSlot(_ctx.$slots, "empty", {}, function() { - return [createTextVNode(toDisplayString$1($options.emptyMessageText), 1)]; - })], 16)) : createCommentVNode("", true)], 16, _hoisted_3$p)]; - }), - _: 2 - }, [_ctx.$slots.loader ? { - name: "loader", - fn: withCtx(function(_ref2) { - var options3 = _ref2.options; - return [renderSlot(_ctx.$slots, "loader", { - options: options3 - })]; - }), - key: "0" - } : void 0]), 1040, ["items", "style", "disabled", "pt"])], 16), renderSlot(_ctx.$slots, "footer", { - value: _ctx.modelValue, - options: $options.visibleOptions - }), !_ctx.options || _ctx.options && _ctx.options.length === 0 ? (openBlock(), createElementBlock("span", mergeProps$1({ - key: 2, - role: "status", - "aria-live": "polite", - "class": "p-hidden-accessible" - }, _ctx.ptm("hiddenEmptyMessage"), { - "data-p-hidden-accessible": true - }), toDisplayString$1($options.emptyMessageText), 17)) : createCommentVNode("", true), createBaseVNode("span", mergeProps$1({ - role: "status", - "aria-live": "polite", - "class": "p-hidden-accessible" - }, _ctx.ptm("hiddenSelectedMessage"), { - "data-p-hidden-accessible": true - }), toDisplayString$1($options.selectedMessageText), 17), createBaseVNode("span", mergeProps$1({ - ref: "lastHiddenFocusableElement", - role: "presentation", - "aria-hidden": "true", - "class": "p-hidden-accessible p-hidden-focusable", - tabindex: !_ctx.disabled ? _ctx.tabindex : -1, - onFocus: _cache[6] || (_cache[6] = function() { - return $options.onLastHiddenFocus && $options.onLastHiddenFocus.apply($options, arguments); - }) - }, _ctx.ptm("hiddenLastFocusableEl"), { - "data-p-hidden-accessible": true, - "data-p-hidden-focusable": true - }), null, 16, _hoisted_6$8)], 16, _hoisted_1$O); -} -__name(render$J, "render$J"); -script$K.render = render$J; -var theme$r = /* @__PURE__ */ __name(function theme8(_ref) { - var dt2 = _ref.dt; - return "\n.p-badge {\n display: inline-flex;\n border-radius: ".concat(dt2("badge.border.radius"), ";\n align-items: center;\n justify-content: center;\n padding: ").concat(dt2("badge.padding"), ";\n background: ").concat(dt2("badge.primary.background"), ";\n color: ").concat(dt2("badge.primary.color"), ";\n font-size: ").concat(dt2("badge.font.size"), ";\n font-weight: ").concat(dt2("badge.font.weight"), ";\n min-width: ").concat(dt2("badge.min.width"), ";\n height: ").concat(dt2("badge.height"), ";\n}\n\n.p-badge-dot {\n width: ").concat(dt2("badge.dot.size"), ";\n min-width: ").concat(dt2("badge.dot.size"), ";\n height: ").concat(dt2("badge.dot.size"), ";\n border-radius: 50%;\n padding: 0;\n}\n\n.p-badge-circle {\n padding: 0;\n border-radius: 50%;\n}\n\n.p-badge-secondary {\n background: ").concat(dt2("badge.secondary.background"), ";\n color: ").concat(dt2("badge.secondary.color"), ";\n}\n\n.p-badge-success {\n background: ").concat(dt2("badge.success.background"), ";\n color: ").concat(dt2("badge.success.color"), ";\n}\n\n.p-badge-info {\n background: ").concat(dt2("badge.info.background"), ";\n color: ").concat(dt2("badge.info.color"), ";\n}\n\n.p-badge-warn {\n background: ").concat(dt2("badge.warn.background"), ";\n color: ").concat(dt2("badge.warn.color"), ";\n}\n\n.p-badge-danger {\n background: ").concat(dt2("badge.danger.background"), ";\n color: ").concat(dt2("badge.danger.color"), ";\n}\n\n.p-badge-contrast {\n background: ").concat(dt2("badge.contrast.background"), ";\n color: ").concat(dt2("badge.contrast.color"), ";\n}\n\n.p-badge-sm {\n font-size: ").concat(dt2("badge.sm.font.size"), ";\n min-width: ").concat(dt2("badge.sm.min.width"), ";\n height: ").concat(dt2("badge.sm.height"), ";\n}\n\n.p-badge-lg {\n font-size: ").concat(dt2("badge.lg.font.size"), ";\n min-width: ").concat(dt2("badge.lg.min.width"), ";\n height: ").concat(dt2("badge.lg.height"), ";\n}\n\n.p-badge-xl {\n font-size: ").concat(dt2("badge.xl.font.size"), ";\n min-width: ").concat(dt2("badge.xl.min.width"), ";\n height: ").concat(dt2("badge.xl.height"), ";\n}\n"); -}, "theme"); -var classes$t = { - root: /* @__PURE__ */ __name(function root3(_ref2) { - var props = _ref2.props, instance = _ref2.instance; - return ["p-badge p-component", { - "p-badge-circle": isNotEmpty(props.value) && String(props.value).length === 1, - "p-badge-dot": isEmpty(props.value) && !instance.$slots["default"], - "p-badge-sm": props.size === "small", - "p-badge-lg": props.size === "large", - "p-badge-xl": props.size === "xlarge", - "p-badge-info": props.severity === "info", - "p-badge-success": props.severity === "success", - "p-badge-warn": props.severity === "warn", - "p-badge-danger": props.severity === "danger", - "p-badge-secondary": props.severity === "secondary", - "p-badge-contrast": props.severity === "contrast" - }]; - }, "root") -}; -var BadgeStyle = BaseStyle.extend({ - name: "badge", - theme: theme$r, - classes: classes$t -}); -var script$1$s = { - name: "BaseBadge", - "extends": script$U, - props: { - value: { - type: [String, Number], - "default": null - }, - severity: { - type: String, - "default": null - }, - size: { - type: String, - "default": null - } - }, - style: BadgeStyle, - provide: /* @__PURE__ */ __name(function provide8() { - return { - $pcBadge: this, - $parentInstance: this - }; - }, "provide") -}; -var script$J = { - name: "Badge", - "extends": script$1$s, - inheritAttrs: false -}; -function render$I(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("span", mergeProps$1({ - "class": _ctx.cx("root") - }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default", {}, function() { - return [createTextVNode(toDisplayString$1(_ctx.value), 1)]; - })], 16); -} -__name(render$I, "render$I"); -script$J.render = render$I; -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 _defineProperty$c(e, r, t) { - return (r = _toPropertyKey$c(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; -} -__name(_defineProperty$c, "_defineProperty$c"); -function _toPropertyKey$c(t) { - var i2 = _toPrimitive$c(t, "string"); - return "symbol" == _typeof$c(i2) ? i2 : i2 + ""; -} -__name(_toPropertyKey$c, "_toPropertyKey$c"); -function _toPrimitive$c(t, r) { - if ("object" != _typeof$c(t) || !t) return t; - var e = t[Symbol.toPrimitive]; - if (void 0 !== e) { - var i2 = e.call(t, r || "default"); - if ("object" != _typeof$c(i2)) return i2; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return ("string" === r ? String : Number)(t); -} -__name(_toPrimitive$c, "_toPrimitive$c"); -var theme$q = /* @__PURE__ */ __name(function theme9(_ref) { - var dt2 = _ref.dt; - return "\n.p-button {\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 color: ".concat(dt2("button.primary.color"), ";\n background: ").concat(dt2("button.primary.background"), ";\n border: 1px solid ").concat(dt2("button.primary.border.color"), ";\n padding: ").concat(dt2("button.padding.y"), " ").concat(dt2("button.padding.x"), ";\n font-size: 1rem;\n font-family: inherit;\n font-feature-settings: inherit;\n transition: background ").concat(dt2("button.transition.duration"), ", color ").concat(dt2("button.transition.duration"), ", border-color ").concat(dt2("button.transition.duration"), ",\n outline-color ").concat(dt2("button.transition.duration"), ", box-shadow ").concat(dt2("button.transition.duration"), ";\n border-radius: ").concat(dt2("button.border.radius"), ";\n outline-color: transparent;\n gap: ").concat(dt2("button.gap"), ";\n}\n\n.p-button:disabled {\n cursor: default;\n}\n\n.p-button-icon-right {\n order: 1;\n}\n\n.p-button-icon-bottom {\n order: 2;\n}\n\n.p-button-icon-only {\n width: ").concat(dt2("button.icon.only.width"), ";\n padding-left: 0;\n padding-right: 0;\n gap: 0;\n}\n\n.p-button-icon-only.p-button-rounded {\n border-radius: 50%;\n height: ").concat(dt2("button.icon.only.width"), ";\n}\n\n.p-button-icon-only .p-button-label {\n visibility: hidden;\n width: 0;\n}\n\n.p-button-sm {\n font-size: ").concat(dt2("button.sm.font.size"), ";\n padding: ").concat(dt2("button.sm.padding.y"), " ").concat(dt2("button.sm.padding.x"), ";\n}\n\n.p-button-sm .p-button-icon {\n font-size: ").concat(dt2("button.sm.font.size"), ";\n}\n\n.p-button-lg {\n font-size: ").concat(dt2("button.lg.font.size"), ";\n padding: ").concat(dt2("button.lg.padding.y"), " ").concat(dt2("button.lg.padding.x"), ";\n}\n\n.p-button-lg .p-button-icon {\n font-size: ").concat(dt2("button.lg.font.size"), ";\n}\n\n.p-button-vertical {\n flex-direction: column;\n}\n\n.p-button-label {\n font-weight: ").concat(dt2("button.label.font.weight"), ";\n}\n\n.p-button-fluid {\n width: 100%;\n}\n\n.p-button-fluid.p-button-icon-only {\n width: ").concat(dt2("button.icon.only.width"), ";\n}\n\n.p-button:not(:disabled):hover {\n background: ").concat(dt2("button.primary.hover.background"), ";\n border: 1px solid ").concat(dt2("button.primary.hover.border.color"), ";\n color: ").concat(dt2("button.primary.hover.color"), ";\n}\n\n.p-button:not(:disabled):active {\n background: ").concat(dt2("button.primary.active.background"), ";\n border: 1px solid ").concat(dt2("button.primary.active.border.color"), ";\n color: ").concat(dt2("button.primary.active.color"), ";\n}\n\n.p-button:focus-visible {\n box-shadow: ").concat(dt2("button.primary.focus.ring.shadow"), ";\n outline: ").concat(dt2("button.focus.ring.width"), " ").concat(dt2("button.focus.ring.style"), " ").concat(dt2("button.primary.focus.ring.color"), ";\n outline-offset: ").concat(dt2("button.focus.ring.offset"), ";\n}\n\n.p-button .p-badge {\n min-width: ").concat(dt2("button.badge.size"), ";\n height: ").concat(dt2("button.badge.size"), ";\n line-height: ").concat(dt2("button.badge.size"), ";\n}\n\n.p-button-raised {\n box-shadow: ").concat(dt2("button.raised.shadow"), ";\n}\n\n.p-button-rounded {\n border-radius: ").concat(dt2("button.rounded.border.radius"), ";\n}\n\n.p-button-secondary {\n background: ").concat(dt2("button.secondary.background"), ";\n border: 1px solid ").concat(dt2("button.secondary.border.color"), ";\n color: ").concat(dt2("button.secondary.color"), ";\n}\n\n.p-button-secondary:not(:disabled):hover {\n background: ").concat(dt2("button.secondary.hover.background"), ";\n border: 1px solid ").concat(dt2("button.secondary.hover.border.color"), ";\n color: ").concat(dt2("button.secondary.hover.color"), ";\n}\n\n.p-button-secondary:not(:disabled):active {\n background: ").concat(dt2("button.secondary.active.background"), ";\n border: 1px solid ").concat(dt2("button.secondary.active.border.color"), ";\n color: ").concat(dt2("button.secondary.active.color"), ";\n}\n\n.p-button-secondary:focus-visible {\n outline-color: ").concat(dt2("button.secondary.focus.ring.color"), ";\n box-shadow: ").concat(dt2("button.secondary.focus.ring.shadow"), ";\n}\n\n.p-button-success {\n background: ").concat(dt2("button.success.background"), ";\n border: 1px solid ").concat(dt2("button.success.border.color"), ";\n color: ").concat(dt2("button.success.color"), ";\n}\n\n.p-button-success:not(:disabled):hover {\n background: ").concat(dt2("button.success.hover.background"), ";\n border: 1px solid ").concat(dt2("button.success.hover.border.color"), ";\n color: ").concat(dt2("button.success.hover.color"), ";\n}\n\n.p-button-success:not(:disabled):active {\n background: ").concat(dt2("button.success.active.background"), ";\n border: 1px solid ").concat(dt2("button.success.active.border.color"), ";\n color: ").concat(dt2("button.success.active.color"), ";\n}\n\n.p-button-success:focus-visible {\n outline-color: ").concat(dt2("button.success.focus.ring.color"), ";\n box-shadow: ").concat(dt2("button.success.focus.ring.shadow"), ";\n}\n\n.p-button-info {\n background: ").concat(dt2("button.info.background"), ";\n border: 1px solid ").concat(dt2("button.info.border.color"), ";\n color: ").concat(dt2("button.info.color"), ";\n}\n\n.p-button-info:not(:disabled):hover {\n background: ").concat(dt2("button.info.hover.background"), ";\n border: 1px solid ").concat(dt2("button.info.hover.border.color"), ";\n color: ").concat(dt2("button.info.hover.color"), ";\n}\n\n.p-button-info:not(:disabled):active {\n background: ").concat(dt2("button.info.active.background"), ";\n border: 1px solid ").concat(dt2("button.info.active.border.color"), ";\n color: ").concat(dt2("button.info.active.color"), ";\n}\n\n.p-button-info:focus-visible {\n outline-color: ").concat(dt2("button.info.focus.ring.color"), ";\n box-shadow: ").concat(dt2("button.info.focus.ring.shadow"), ";\n}\n\n.p-button-warn {\n background: ").concat(dt2("button.warn.background"), ";\n border: 1px solid ").concat(dt2("button.warn.border.color"), ";\n color: ").concat(dt2("button.warn.color"), ";\n}\n\n.p-button-warn:not(:disabled):hover {\n background: ").concat(dt2("button.warn.hover.background"), ";\n border: 1px solid ").concat(dt2("button.warn.hover.border.color"), ";\n color: ").concat(dt2("button.warn.hover.color"), ";\n}\n\n.p-button-warn:not(:disabled):active {\n background: ").concat(dt2("button.warn.active.background"), ";\n border: 1px solid ").concat(dt2("button.warn.active.border.color"), ";\n color: ").concat(dt2("button.warn.active.color"), ";\n}\n\n.p-button-warn:focus-visible {\n outline-color: ").concat(dt2("button.warn.focus.ring.color"), ";\n box-shadow: ").concat(dt2("button.warn.focus.ring.shadow"), ";\n}\n\n.p-button-help {\n background: ").concat(dt2("button.help.background"), ";\n border: 1px solid ").concat(dt2("button.help.border.color"), ";\n color: ").concat(dt2("button.help.color"), ";\n}\n\n.p-button-help:not(:disabled):hover {\n background: ").concat(dt2("button.help.hover.background"), ";\n border: 1px solid ").concat(dt2("button.help.hover.border.color"), ";\n color: ").concat(dt2("button.help.hover.color"), ";\n}\n\n.p-button-help:not(:disabled):active {\n background: ").concat(dt2("button.help.active.background"), ";\n border: 1px solid ").concat(dt2("button.help.active.border.color"), ";\n color: ").concat(dt2("button.help.active.color"), ";\n}\n\n.p-button-help:focus-visible {\n outline-color: ").concat(dt2("button.help.focus.ring.color"), ";\n box-shadow: ").concat(dt2("button.help.focus.ring.shadow"), ";\n}\n\n.p-button-danger {\n background: ").concat(dt2("button.danger.background"), ";\n border: 1px solid ").concat(dt2("button.danger.border.color"), ";\n color: ").concat(dt2("button.danger.color"), ";\n}\n\n.p-button-danger:not(:disabled):hover {\n background: ").concat(dt2("button.danger.hover.background"), ";\n border: 1px solid ").concat(dt2("button.danger.hover.border.color"), ";\n color: ").concat(dt2("button.danger.hover.color"), ";\n}\n\n.p-button-danger:not(:disabled):active {\n background: ").concat(dt2("button.danger.active.background"), ";\n border: 1px solid ").concat(dt2("button.danger.active.border.color"), ";\n color: ").concat(dt2("button.danger.active.color"), ";\n}\n\n.p-button-danger:focus-visible {\n outline-color: ").concat(dt2("button.danger.focus.ring.color"), ";\n box-shadow: ").concat(dt2("button.danger.focus.ring.shadow"), ";\n}\n\n.p-button-contrast {\n background: ").concat(dt2("button.contrast.background"), ";\n border: 1px solid ").concat(dt2("button.contrast.border.color"), ";\n color: ").concat(dt2("button.contrast.color"), ";\n}\n\n.p-button-contrast:not(:disabled):hover {\n background: ").concat(dt2("button.contrast.hover.background"), ";\n border: 1px solid ").concat(dt2("button.contrast.hover.border.color"), ";\n color: ").concat(dt2("button.contrast.hover.color"), ";\n}\n\n.p-button-contrast:not(:disabled):active {\n background: ").concat(dt2("button.contrast.active.background"), ";\n border: 1px solid ").concat(dt2("button.contrast.active.border.color"), ";\n color: ").concat(dt2("button.contrast.active.color"), ";\n}\n\n.p-button-contrast:focus-visible {\n outline-color: ").concat(dt2("button.contrast.focus.ring.color"), ";\n box-shadow: ").concat(dt2("button.contrast.focus.ring.shadow"), ";\n}\n\n.p-button-outlined {\n background: transparent;\n border-color: ").concat(dt2("button.outlined.primary.border.color"), ";\n color: ").concat(dt2("button.outlined.primary.color"), ";\n}\n\n.p-button-outlined:not(:disabled):hover {\n background: ").concat(dt2("button.outlined.primary.hover.background"), ";\n border-color: ").concat(dt2("button.outlined.primary.border.color"), ";\n color: ").concat(dt2("button.outlined.primary.color"), ";\n}\n\n.p-button-outlined:not(:disabled):active {\n background: ").concat(dt2("button.outlined.primary.active.background"), ";\n border-color: ").concat(dt2("button.outlined.primary.border.color"), ";\n color: ").concat(dt2("button.outlined.primary.color"), ";\n}\n\n.p-button-outlined.p-button-secondary {\n border-color: ").concat(dt2("button.outlined.secondary.border.color"), ";\n color: ").concat(dt2("button.outlined.secondary.color"), ";\n}\n\n.p-button-outlined.p-button-secondary:not(:disabled):hover {\n background: ").concat(dt2("button.outlined.secondary.hover.background"), ";\n border-color: ").concat(dt2("button.outlined.secondary.border.color"), ";\n color: ").concat(dt2("button.outlined.secondary.color"), ";\n}\n\n.p-button-outlined.p-button-secondary:not(:disabled):active {\n background: ").concat(dt2("button.outlined.secondary.active.background"), ";\n border-color: ").concat(dt2("button.outlined.secondary.border.color"), ";\n color: ").concat(dt2("button.outlined.secondary.color"), ";\n}\n\n.p-button-outlined.p-button-success {\n border-color: ").concat(dt2("button.outlined.success.border.color"), ";\n color: ").concat(dt2("button.outlined.success.color"), ";\n}\n\n.p-button-outlined.p-button-success:not(:disabled):hover {\n background: ").concat(dt2("button.outlined.success.hover.background"), ";\n border-color: ").concat(dt2("button.outlined.success.border.color"), ";\n color: ").concat(dt2("button.outlined.success.color"), ";\n}\n\n.p-button-outlined.p-button-success:not(:disabled):active {\n background: ").concat(dt2("button.outlined.success.active.background"), ";\n border-color: ").concat(dt2("button.outlined.success.border.color"), ";\n color: ").concat(dt2("button.outlined.success.color"), ";\n}\n\n.p-button-outlined.p-button-info {\n border-color: ").concat(dt2("button.outlined.info.border.color"), ";\n color: ").concat(dt2("button.outlined.info.color"), ";\n}\n\n.p-button-outlined.p-button-info:not(:disabled):hover {\n background: ").concat(dt2("button.outlined.info.hover.background"), ";\n border-color: ").concat(dt2("button.outlined.info.border.color"), ";\n color: ").concat(dt2("button.outlined.info.color"), ";\n}\n\n.p-button-outlined.p-button-info:not(:disabled):active {\n background: ").concat(dt2("button.outlined.info.active.background"), ";\n border-color: ").concat(dt2("button.outlined.info.border.color"), ";\n color: ").concat(dt2("button.outlined.info.color"), ";\n}\n\n.p-button-outlined.p-button-warn {\n border-color: ").concat(dt2("button.outlined.warn.border.color"), ";\n color: ").concat(dt2("button.outlined.warn.color"), ";\n}\n\n.p-button-outlined.p-button-warn:not(:disabled):hover {\n background: ").concat(dt2("button.outlined.warn.hover.background"), ";\n border-color: ").concat(dt2("button.outlined.warn.border.color"), ";\n color: ").concat(dt2("button.outlined.warn.color"), ";\n}\n\n.p-button-outlined.p-button-warn:not(:disabled):active {\n background: ").concat(dt2("button.outlined.warn.active.background"), ";\n border-color: ").concat(dt2("button.outlined.warn.border.color"), ";\n color: ").concat(dt2("button.outlined.warn.color"), ";\n}\n\n.p-button-outlined.p-button-help {\n border-color: ").concat(dt2("button.outlined.help.border.color"), ";\n color: ").concat(dt2("button.outlined.help.color"), ";\n}\n\n.p-button-outlined.p-button-help:not(:disabled):hover {\n background: ").concat(dt2("button.outlined.help.hover.background"), ";\n border-color: ").concat(dt2("button.outlined.help.border.color"), ";\n color: ").concat(dt2("button.outlined.help.color"), ";\n}\n\n.p-button-outlined.p-button-help:not(:disabled):active {\n background: ").concat(dt2("button.outlined.help.active.background"), ";\n border-color: ").concat(dt2("button.outlined.help.border.color"), ";\n color: ").concat(dt2("button.outlined.help.color"), ";\n}\n\n.p-button-outlined.p-button-danger {\n border-color: ").concat(dt2("button.outlined.danger.border.color"), ";\n color: ").concat(dt2("button.outlined.danger.color"), ";\n}\n\n.p-button-outlined.p-button-danger:not(:disabled):hover {\n background: ").concat(dt2("button.outlined.danger.hover.background"), ";\n border-color: ").concat(dt2("button.outlined.danger.border.color"), ";\n color: ").concat(dt2("button.outlined.danger.color"), ";\n}\n\n.p-button-outlined.p-button-danger:not(:disabled):active {\n background: ").concat(dt2("button.outlined.danger.active.background"), ";\n border-color: ").concat(dt2("button.outlined.danger.border.color"), ";\n color: ").concat(dt2("button.outlined.danger.color"), ";\n}\n\n.p-button-outlined.p-button-contrast {\n border-color: ").concat(dt2("button.outlined.contrast.border.color"), ";\n color: ").concat(dt2("button.outlined.contrast.color"), ";\n}\n\n.p-button-outlined.p-button-contrast:not(:disabled):hover {\n background: ").concat(dt2("button.outlined.contrast.hover.background"), ";\n border-color: ").concat(dt2("button.outlined.contrast.border.color"), ";\n color: ").concat(dt2("button.outlined.contrast.color"), ";\n}\n\n.p-button-outlined.p-button-contrast:not(:disabled):active {\n background: ").concat(dt2("button.outlined.contrast.active.background"), ";\n border-color: ").concat(dt2("button.outlined.contrast.border.color"), ";\n color: ").concat(dt2("button.outlined.contrast.color"), ";\n}\n\n.p-button-outlined.p-button-plain {\n border-color: ").concat(dt2("button.outlined.plain.border.color"), ";\n color: ").concat(dt2("button.outlined.plain.color"), ";\n}\n\n.p-button-outlined.p-button-plain:not(:disabled):hover {\n background: ").concat(dt2("button.outlined.plain.hover.background"), ";\n border-color: ").concat(dt2("button.outlined.plain.border.color"), ";\n color: ").concat(dt2("button.outlined.plain.color"), ";\n}\n\n.p-button-outlined.p-button-plain:not(:disabled):active {\n background: ").concat(dt2("button.outlined.plain.active.background"), ";\n border-color: ").concat(dt2("button.outlined.plain.border.color"), ";\n color: ").concat(dt2("button.outlined.plain.color"), ";\n}\n\n.p-button-text {\n background: transparent;\n border-color: transparent;\n color: ").concat(dt2("button.text.primary.color"), ";\n}\n\n.p-button-text:not(:disabled):hover {\n background: ").concat(dt2("button.text.primary.hover.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.primary.color"), ";\n}\n\n.p-button-text:not(:disabled):active {\n background: ").concat(dt2("button.text.primary.active.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.primary.color"), ";\n}\n\n.p-button-text.p-button-secondary {\n background: transparent;\n border-color: transparent;\n color: ").concat(dt2("button.text.secondary.color"), ";\n}\n\n.p-button-text.p-button-secondary:not(:disabled):hover {\n background: ").concat(dt2("button.text.secondary.hover.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.secondary.color"), ";\n}\n\n.p-button-text.p-button-secondary:not(:disabled):active {\n background: ").concat(dt2("button.text.secondary.active.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.secondary.color"), ";\n}\n\n.p-button-text.p-button-success {\n background: transparent;\n border-color: transparent;\n color: ").concat(dt2("button.text.success.color"), ";\n}\n\n.p-button-text.p-button-success:not(:disabled):hover {\n background: ").concat(dt2("button.text.success.hover.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.success.color"), ";\n}\n\n.p-button-text.p-button-success:not(:disabled):active {\n background: ").concat(dt2("button.text.success.active.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.success.color"), ";\n}\n\n.p-button-text.p-button-info {\n background: transparent;\n border-color: transparent;\n color: ").concat(dt2("button.text.info.color"), ";\n}\n\n.p-button-text.p-button-info:not(:disabled):hover {\n background: ").concat(dt2("button.text.info.hover.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.info.color"), ";\n}\n\n.p-button-text.p-button-info:not(:disabled):active {\n background: ").concat(dt2("button.text.info.active.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.info.color"), ";\n}\n\n.p-button-text.p-button-warn {\n background: transparent;\n border-color: transparent;\n color: ").concat(dt2("button.text.warn.color"), ";\n}\n\n.p-button-text.p-button-warn:not(:disabled):hover {\n background: ").concat(dt2("button.text.warn.hover.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.warn.color"), ";\n}\n\n.p-button-text.p-button-warn:not(:disabled):active {\n background: ").concat(dt2("button.text.warn.active.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.warn.color"), ";\n}\n\n.p-button-text.p-button-help {\n background: transparent;\n border-color: transparent;\n color: ").concat(dt2("button.text.help.color"), ";\n}\n\n.p-button-text.p-button-help:not(:disabled):hover {\n background: ").concat(dt2("button.text.help.hover.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.help.color"), ";\n}\n\n.p-button-text.p-button-help:not(:disabled):active {\n background: ").concat(dt2("button.text.help.active.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.help.color"), ";\n}\n\n.p-button-text.p-button-danger {\n background: transparent;\n border-color: transparent;\n color: ").concat(dt2("button.text.danger.color"), ";\n}\n\n.p-button-text.p-button-danger:not(:disabled):hover {\n background: ").concat(dt2("button.text.danger.hover.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.danger.color"), ";\n}\n\n.p-button-text.p-button-danger:not(:disabled):active {\n background: ").concat(dt2("button.text.danger.active.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.danger.color"), ";\n}\n\n.p-button-text.p-button-plain {\n background: transparent;\n border-color: transparent;\n color: ").concat(dt2("button.text.plain.color"), ";\n}\n\n.p-button-text.p-button-plain:not(:disabled):hover {\n background: ").concat(dt2("button.text.plain.hover.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.plain.color"), ";\n}\n\n.p-button-text.p-button-plain:not(:disabled):active {\n background: ").concat(dt2("button.text.plain.active.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.plain.color"), ";\n}\n\n.p-button-link {\n background: transparent;\n border-color: transparent;\n color: ").concat(dt2("button.link.color"), ";\n}\n\n.p-button-link:not(:disabled):hover {\n background: transparent;\n border-color: transparent;\n color: ").concat(dt2("button.link.hover.color"), ";\n}\n\n.p-button-link:not(:disabled):hover .p-button-label {\n text-decoration: underline;\n}\n\n.p-button-link:not(:disabled):active {\n background: transparent;\n border-color: transparent;\n color: ").concat(dt2("button.link.active.color"), ";\n}\n"); -}, "theme"); -var classes$s = { - root: /* @__PURE__ */ __name(function root4(_ref2) { - var instance = _ref2.instance, props = _ref2.props; - return ["p-button p-component", _defineProperty$c(_defineProperty$c(_defineProperty$c(_defineProperty$c(_defineProperty$c(_defineProperty$c(_defineProperty$c(_defineProperty$c(_defineProperty$c({ - "p-button-icon-only": instance.hasIcon && !props.label && !props.badge, - "p-button-vertical": (props.iconPos === "top" || props.iconPos === "bottom") && props.label, - "p-button-loading": props.loading, - "p-button-link": props.link - }, "p-button-".concat(props.severity), props.severity), "p-button-raised", props.raised), "p-button-rounded", props.rounded), "p-button-text", props.text), "p-button-outlined", props.outlined), "p-button-sm", props.size === "small"), "p-button-lg", props.size === "large"), "p-button-plain", props.plain), "p-button-fluid", instance.hasFluid)]; - }, "root"), - loadingIcon: "p-button-loading-icon", - icon: /* @__PURE__ */ __name(function icon(_ref4) { - var props = _ref4.props; - return ["p-button-icon", _defineProperty$c({}, "p-button-icon-".concat(props.iconPos), props.label)]; - }, "icon"), - label: "p-button-label" -}; -var ButtonStyle = BaseStyle.extend({ - name: "button", - theme: theme$q, - classes: classes$s -}); -var script$1$r = { - name: "BaseButton", - "extends": script$U, - props: { - label: { - type: String, - "default": null - }, - icon: { - type: String, - "default": null - }, - iconPos: { - type: String, - "default": "left" - }, - iconClass: { - type: [String, Object], - "default": null - }, - badge: { - type: String, - "default": null - }, - badgeClass: { - type: [String, Object], - "default": null - }, - badgeSeverity: { - type: String, - "default": "secondary" - }, - loading: { - type: Boolean, - "default": false - }, - loadingIcon: { - type: String, - "default": void 0 - }, - as: { - type: [String, Object], - "default": "BUTTON" - }, - asChild: { - type: Boolean, - "default": false - }, - link: { - type: Boolean, - "default": false - }, - severity: { - type: String, - "default": null - }, - raised: { - type: Boolean, - "default": false - }, - rounded: { - type: Boolean, - "default": false - }, - text: { - type: Boolean, - "default": false - }, - outlined: { - type: Boolean, - "default": false - }, - size: { - type: String, - "default": null - }, - plain: { - type: Boolean, - "default": false - }, - fluid: { - type: Boolean, - "default": null - } - }, - style: ButtonStyle, - provide: /* @__PURE__ */ __name(function provide9() { - return { - $pcButton: this, - $parentInstance: this - }; - }, "provide") -}; -var script$I = { - name: "Button", - "extends": script$1$r, - inheritAttrs: false, - inject: { - $pcFluid: { - "default": null - } - }, - methods: { - getPTOptions: /* @__PURE__ */ __name(function getPTOptions3(key) { - var _ptm = key === "root" ? this.ptmi : this.ptm; - return _ptm(key, { - context: { - disabled: this.disabled - } - }); - }, "getPTOptions") - }, - computed: { - disabled: /* @__PURE__ */ __name(function disabled() { - return this.$attrs.disabled || this.$attrs.disabled === "" || this.loading; - }, "disabled"), - defaultAriaLabel: /* @__PURE__ */ __name(function defaultAriaLabel() { - return this.label ? this.label + (this.badge ? " " + this.badge : "") : this.$attrs.ariaLabel; - }, "defaultAriaLabel"), - hasIcon: /* @__PURE__ */ __name(function hasIcon() { - return this.icon || this.$slots.icon; - }, "hasIcon"), - attrs: /* @__PURE__ */ __name(function attrs() { - return mergeProps$1(this.asAttrs, this.a11yAttrs, this.getPTOptions("root")); - }, "attrs"), - asAttrs: /* @__PURE__ */ __name(function asAttrs() { - return this.as === "BUTTON" ? { - type: "button", - disabled: this.disabled - } : void 0; - }, "asAttrs"), - a11yAttrs: /* @__PURE__ */ __name(function a11yAttrs() { - return { - "aria-label": this.defaultAriaLabel, - "data-pc-name": "button", - "data-p-disabled": this.disabled, - "data-p-severity": this.severity - }; - }, "a11yAttrs"), - hasFluid: /* @__PURE__ */ __name(function hasFluid2() { - return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid; - }, "hasFluid") - }, - components: { - SpinnerIcon: script$M, - Badge: script$J - }, - directives: { - ripple: Ripple - } -}; -function render$H(_ctx, _cache, $props, $setup, $data, $options) { - var _component_SpinnerIcon = resolveComponent("SpinnerIcon"); - var _component_Badge = resolveComponent("Badge"); - var _directive_ripple = resolveDirective("ripple"); - return !_ctx.asChild ? withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps$1({ - key: 0, - "class": _ctx.cx("root") - }, $options.attrs), { - "default": withCtx(function() { - return [renderSlot(_ctx.$slots, "default", {}, function() { - return [_ctx.loading ? renderSlot(_ctx.$slots, "loadingicon", { - key: 0, - "class": normalizeClass([_ctx.cx("loadingIcon"), _ctx.cx("icon")]) - }, function() { - return [_ctx.loadingIcon ? (openBlock(), createElementBlock("span", mergeProps$1({ - key: 0, - "class": [_ctx.cx("loadingIcon"), _ctx.cx("icon"), _ctx.loadingIcon] - }, _ctx.ptm("loadingIcon")), null, 16)) : (openBlock(), createBlock(_component_SpinnerIcon, mergeProps$1({ - key: 1, - "class": [_ctx.cx("loadingIcon"), _ctx.cx("icon")], - spin: "" - }, _ctx.ptm("loadingIcon")), null, 16, ["class"]))]; - }) : renderSlot(_ctx.$slots, "icon", { - key: 1, - "class": normalizeClass([_ctx.cx("icon")]) - }, function() { - return [_ctx.icon ? (openBlock(), createElementBlock("span", mergeProps$1({ - key: 0, - "class": [_ctx.cx("icon"), _ctx.icon, _ctx.iconClass] - }, _ctx.ptm("icon")), null, 16)) : createCommentVNode("", true)]; - }), createBaseVNode("span", mergeProps$1({ - "class": _ctx.cx("label") - }, _ctx.ptm("label")), toDisplayString$1(_ctx.label || " "), 17), _ctx.badge ? (openBlock(), createBlock(_component_Badge, { - key: 2, - value: _ctx.badge, - "class": normalizeClass(_ctx.badgeClass), - severity: _ctx.badgeSeverity, - unstyled: _ctx.unstyled, - pt: _ctx.ptm("pcBadge") - }, null, 8, ["value", "class", "severity", "unstyled", "pt"])) : createCommentVNode("", true)]; - })]; - }), - _: 3 - }, 16, ["class"])), [[_directive_ripple]]) : renderSlot(_ctx.$slots, "default", { - key: 1, - "class": normalizeClass(_ctx.cx("root")), - a11yAttrs: $options.a11yAttrs - }); -} -__name(render$H, "render$H"); -script$I.render = render$H; -const _hoisted_1$N = { class: "comfy-missing-nodes" }; -const _hoisted_2$z = { class: "missing-node-item" }; -const _hoisted_3$o = { class: "node-type" }; -const _hoisted_4$f = { - key: 0, - class: "node-hint" -}; -const _hoisted_5$c = { - key: 0, - class: "added-nodes-warning" -}; -const _sfc_main$G = /* @__PURE__ */ defineComponent({ - __name: "LoadWorkflowWarning", - props: { - missingNodeTypes: {}, - hasAddedNodes: { type: Boolean }, - maximized: { type: Boolean } - }, - setup(__props) { - const props = __props; - const uniqueNodes = computed(() => { - const seenTypes = /* @__PURE__ */ new Set(); - return props.missingNodeTypes.filter((node3) => { - const type = typeof node3 === "object" ? node3.type : node3; - if (seenTypes.has(type)) return false; - seenTypes.add(type); - return true; - }).map((node3) => { - if (typeof node3 === "object") { - return { - label: node3.type, - hint: node3.hint, - action: node3.action - }; - } - return { label: node3 }; - }); - }); - return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", _hoisted_1$N, [ - _cache[0] || (_cache[0] = createBaseVNode("h4", { class: "warning-title" }, "Warning: Missing Node Types", -1)), - _cache[1] || (_cache[1] = createBaseVNode("p", { class: "warning-description" }, " When loading the graph, the following node types were not found: ", -1)), - createVNode(unref(script$K), { - options: uniqueNodes.value, - optionLabel: "label", - scrollHeight: "100%", - class: normalizeClass("missing-nodes-list" + (props.maximized ? " maximized" : "")), - pt: { - list: { class: "border-none" } - } - }, { - option: withCtx((slotProps) => [ - createBaseVNode("div", _hoisted_2$z, [ - createBaseVNode("span", _hoisted_3$o, toDisplayString$1(slotProps.option.label), 1), - slotProps.option.hint ? (openBlock(), createElementBlock("span", _hoisted_4$f, toDisplayString$1(slotProps.option.hint), 1)) : createCommentVNode("", true), - slotProps.option.action ? (openBlock(), createBlock(unref(script$I), { - key: 1, - onClick: slotProps.option.action.callback, - label: slotProps.option.action.text, - class: "p-button-sm p-button-outlined" - }, null, 8, ["onClick", "label"])) : createCommentVNode("", true) - ]) - ]), - _: 1 - }, 8, ["options", "class"]), - _ctx.hasAddedNodes ? (openBlock(), createElementBlock("p", _hoisted_5$c, " Nodes that have failed to load will show as red on the graph. ")) : createCommentVNode("", true) - ]); - }; - } -}); -const _export_sfc = /* @__PURE__ */ __name((sfc, props) => { - const target = sfc.__vccOpts || sfc; - for (const [key, val] of props) { - target[key] = val; - } - return target; -}, "_export_sfc"); -const LoadWorkflowWarning = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["__scopeId", "data-v-0a88b934"]]); -var script$H = { - name: "MinusIcon", - "extends": script$T -}; -function render$G(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("svg", mergeProps$1({ - 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.2222 7.77778H0.777778C0.571498 7.77778 0.373667 7.69584 0.227806 7.54998C0.0819442 7.40412 0 7.20629 0 7.00001C0 6.79373 0.0819442 6.5959 0.227806 6.45003C0.373667 6.30417 0.571498 6.22223 0.777778 6.22223H13.2222C13.4285 6.22223 13.6263 6.30417 13.7722 6.45003C13.9181 6.5959 14 6.79373 14 7.00001C14 7.20629 13.9181 7.40412 13.7722 7.54998C13.6263 7.69584 13.4285 7.77778 13.2222 7.77778Z", - fill: "currentColor" - }, null, -1)]), 16); -} -__name(render$G, "render$G"); -script$H.render = render$G; -var theme$p = /* @__PURE__ */ __name(function theme10(_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 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: ").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"); -}, "theme"); -var classes$r = { - root: /* @__PURE__ */ __name(function root5(_ref2) { - var instance = _ref2.instance, props = _ref2.props; - return ["p-checkbox p-component", { - "p-checkbox-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" - }]; - }, "root"), - box: "p-checkbox-box", - input: "p-checkbox-input", - icon: "p-checkbox-icon" -}; -var CheckboxStyle = BaseStyle.extend({ - name: "checkbox", - theme: theme$p, - classes: classes$r -}); -var script$1$q = { - name: "BaseCheckbox", - "extends": script$U, - props: { - value: null, - modelValue: null, - binary: Boolean, - name: { - type: String, - "default": null - }, - indeterminate: { - type: Boolean, - "default": false - }, - trueValue: { - type: null, - "default": true - }, - falseValue: { - type: null, - "default": false - }, - variant: { - type: String, - "default": null - }, - invalid: { - type: Boolean, - "default": false - }, - disabled: { - type: Boolean, - "default": false - }, - readonly: { - type: Boolean, - "default": false - }, - required: { - type: Boolean, - "default": false - }, - tabindex: { - type: Number, - "default": null - }, - inputId: { - type: String, - "default": null - }, - inputClass: { - type: [String, Object], - "default": null - }, - inputStyle: { - type: Object, - "default": null - }, - ariaLabelledby: { - type: String, - "default": null - }, - ariaLabel: { - type: String, - "default": null - } - }, - style: CheckboxStyle, - provide: /* @__PURE__ */ __name(function provide10() { - return { - $pcCheckbox: this, - $parentInstance: this - }; - }, "provide") -}; -function _toConsumableArray$8(r) { - return _arrayWithoutHoles$8(r) || _iterableToArray$8(r) || _unsupportedIterableToArray$b(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$b(r, a) { - if (r) { - if ("string" == typeof r) return _arrayLikeToArray$b(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$b(r, a) : void 0; - } -} -__name(_unsupportedIterableToArray$b, "_unsupportedIterableToArray$b"); -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$b(r); -} -__name(_arrayWithoutHoles$8, "_arrayWithoutHoles$8"); -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$G = { - name: "Checkbox", - "extends": script$1$q, - inheritAttrs: false, - emits: ["update:modelValue", "change", "focus", "blur", "update:indeterminate"], - data: /* @__PURE__ */ __name(function data3() { - return { - d_indeterminate: this.indeterminate - }; - }, "data"), - watch: { - indeterminate: /* @__PURE__ */ __name(function indeterminate(newValue) { - this.d_indeterminate = newValue; - }, "indeterminate") - }, - methods: { - getPTOptions: /* @__PURE__ */ __name(function getPTOptions4(key) { - var _ptm = key === "root" ? this.ptmi : this.ptm; - return _ptm(key, { - context: { - checked: this.checked, - indeterminate: this.d_indeterminate, - disabled: this.disabled - } - }); - }, "getPTOptions"), - onChange: /* @__PURE__ */ __name(function onChange(event2) { - var _this = this; - if (!this.disabled && !this.readonly) { - var newModelValue; - if (this.binary) { - newModelValue = this.d_indeterminate ? this.trueValue : this.checked ? this.falseValue : this.trueValue; - } else { - if (this.checked || this.d_indeterminate) newModelValue = this.modelValue.filter(function(val) { - return !equals(val, _this.value); - }); - else newModelValue = this.modelValue ? [].concat(_toConsumableArray$8(this.modelValue), [this.value]) : [this.value]; - } - if (this.d_indeterminate) { - this.d_indeterminate = false; - this.$emit("update:indeterminate", this.d_indeterminate); - } - this.$emit("update:modelValue", newModelValue); - this.$emit("change", event2); - } - }, "onChange"), - onFocus: /* @__PURE__ */ __name(function onFocus(event2) { - this.$emit("focus", event2); - }, "onFocus"), - onBlur: /* @__PURE__ */ __name(function onBlur(event2) { - this.$emit("blur", event2); - }, "onBlur") - }, - computed: { - checked: /* @__PURE__ */ __name(function checked() { - return this.d_indeterminate ? false : this.binary ? this.modelValue === this.trueValue : contains(this.value, this.modelValue); - }, "checked") - }, - components: { - CheckIcon: script$R, - MinusIcon: script$H - } -}; -var _hoisted_1$M = ["data-p-checked", "data-p-indeterminate", "data-p-disabled"]; -var _hoisted_2$y = ["id", "value", "name", "checked", "tabindex", "disabled", "readonly", "required", "aria-labelledby", "aria-label", "aria-invalid", "aria-checked"]; -function render$F(_ctx, _cache, $props, $setup, $data, $options) { - var _component_CheckIcon = resolveComponent("CheckIcon"); - var _component_MinusIcon = resolveComponent("MinusIcon"); - return openBlock(), createElementBlock("div", mergeProps$1({ - "class": _ctx.cx("root") - }, $options.getPTOptions("root"), { - "data-p-checked": $options.checked, - "data-p-indeterminate": $data.d_indeterminate || void 0, - "data-p-disabled": _ctx.disabled - }), [createBaseVNode("input", mergeProps$1({ - id: _ctx.inputId, - type: "checkbox", - "class": [_ctx.cx("input"), _ctx.inputClass], - style: _ctx.inputStyle, - value: _ctx.value, - name: _ctx.name, - checked: $options.checked, - tabindex: _ctx.tabindex, - disabled: _ctx.disabled, - readonly: _ctx.readonly, - required: _ctx.required, - "aria-labelledby": _ctx.ariaLabelledby, - "aria-label": _ctx.ariaLabel, - "aria-invalid": _ctx.invalid || void 0, - "aria-checked": $data.d_indeterminate ? "mixed" : 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); - }), - onChange: _cache[2] || (_cache[2] = function() { - return $options.onChange && $options.onChange.apply($options, arguments); - }) - }, $options.getPTOptions("input")), null, 16, _hoisted_2$y), createBaseVNode("div", mergeProps$1({ - "class": _ctx.cx("box") - }, $options.getPTOptions("box")), [renderSlot(_ctx.$slots, "icon", { - checked: $options.checked, - indeterminate: $data.d_indeterminate, - "class": normalizeClass(_ctx.cx("icon")) - }, function() { - return [$options.checked ? (openBlock(), createBlock(_component_CheckIcon, mergeProps$1({ - key: 0, - "class": _ctx.cx("icon") - }, $options.getPTOptions("icon")), null, 16, ["class"])) : $data.d_indeterminate ? (openBlock(), createBlock(_component_MinusIcon, mergeProps$1({ - key: 1, - "class": _ctx.cx("icon") - }, $options.getPTOptions("icon")), null, 16, ["class"])) : createCommentVNode("", true)]; - })], 16)], 16, _hoisted_1$M); -} -__name(render$F, "render$F"); -script$G.render = render$F; -var script$F = { - name: "ChevronDownIcon", - "extends": script$T -}; -function render$E(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("svg", mergeProps$1({ - 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.01744 10.398C6.91269 10.3985 6.8089 10.378 6.71215 10.3379C6.61541 10.2977 6.52766 10.2386 6.45405 10.1641L1.13907 4.84913C1.03306 4.69404 0.985221 4.5065 1.00399 4.31958C1.02276 4.13266 1.10693 3.95838 1.24166 3.82747C1.37639 3.69655 1.55301 3.61742 1.74039 3.60402C1.92777 3.59062 2.11386 3.64382 2.26584 3.75424L7.01744 8.47394L11.769 3.75424C11.9189 3.65709 12.097 3.61306 12.2748 3.62921C12.4527 3.64535 12.6199 3.72073 12.7498 3.84328C12.8797 3.96582 12.9647 4.12842 12.9912 4.30502C13.0177 4.48162 12.9841 4.662 12.8958 4.81724L7.58083 10.1322C7.50996 10.2125 7.42344 10.2775 7.32656 10.3232C7.22968 10.3689 7.12449 10.3944 7.01744 10.398Z", - fill: "currentColor" - }, null, -1)]), 16); -} -__name(render$E, "render$E"); -script$F.render = render$E; -var script$E = { - name: "TimesIcon", - "extends": script$T -}; -function render$D(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("svg", mergeProps$1({ - 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: "M8.01186 7.00933L12.27 2.75116C12.341 2.68501 12.398 2.60524 12.4375 2.51661C12.4769 2.42798 12.4982 2.3323 12.4999 2.23529C12.5016 2.13827 12.4838 2.0419 12.4474 1.95194C12.4111 1.86197 12.357 1.78024 12.2884 1.71163C12.2198 1.64302 12.138 1.58893 12.0481 1.55259C11.9581 1.51625 11.8617 1.4984 11.7647 1.50011C11.6677 1.50182 11.572 1.52306 11.4834 1.56255C11.3948 1.60204 11.315 1.65898 11.2488 1.72997L6.99067 5.98814L2.7325 1.72997C2.59553 1.60234 2.41437 1.53286 2.22718 1.53616C2.03999 1.53946 1.8614 1.61529 1.72901 1.74767C1.59663 1.88006 1.5208 2.05865 1.5175 2.24584C1.5142 2.43303 1.58368 2.61419 1.71131 2.75116L5.96948 7.00933L1.71131 11.2675C1.576 11.403 1.5 11.5866 1.5 11.7781C1.5 11.9696 1.576 12.1532 1.71131 12.2887C1.84679 12.424 2.03043 12.5 2.2219 12.5C2.41338 12.5 2.59702 12.424 2.7325 12.2887L6.99067 8.03052L11.2488 12.2887C11.3843 12.424 11.568 12.5 11.7594 12.5C11.9509 12.5 12.1346 12.424 12.27 12.2887C12.4053 12.1532 12.4813 11.9696 12.4813 11.7781C12.4813 11.5866 12.4053 11.403 12.27 11.2675L8.01186 7.00933Z", - fill: "currentColor" - }, null, -1)]), 16); -} -__name(render$D, "render$D"); -script$E.render = render$D; -var OverlayEventBus = EventBus(); -var script$D = { - name: "Portal", - props: { - appendTo: { - type: [String, Object], - "default": "body" - }, - disabled: { - type: Boolean, - "default": false - } - }, - data: /* @__PURE__ */ __name(function data4() { - return { - mounted: false - }; - }, "data"), - mounted: /* @__PURE__ */ __name(function mounted4() { - this.mounted = isClient$1(); - }, "mounted"), - computed: { - inline: /* @__PURE__ */ __name(function inline() { - return this.disabled || this.appendTo === "self"; - }, "inline") - } -}; -function render$C(_ctx, _cache, $props, $setup, $data, $options) { - return $options.inline ? renderSlot(_ctx.$slots, "default", { - key: 0 - }) : $data.mounted ? (openBlock(), createBlock(Teleport, { - key: 1, - to: $props.appendTo - }, [renderSlot(_ctx.$slots, "default")], 8, ["to"])) : createCommentVNode("", true); -} -__name(render$C, "render$C"); -script$D.render = render$C; -var theme$o = /* @__PURE__ */ __name(function theme11(_ref) { - var dt2 = _ref.dt; - return "\n.p-select {\n display: inline-flex;\n cursor: pointer;\n position: relative;\n user-select: none;\n background: ".concat(dt2("select.background"), ";\n border: 1px solid ").concat(dt2("select.border.color"), ";\n transition: background ").concat(dt2("select.transition.duration"), ", color ").concat(dt2("select.transition.duration"), ", border-color ").concat(dt2("select.transition.duration"), ",\n outline-color ").concat(dt2("select.transition.duration"), ", box-shadow ").concat(dt2("select.transition.duration"), ";\n border-radius: ").concat(dt2("select.border.radius"), ";\n outline-color: transparent;\n box-shadow: ").concat(dt2("select.shadow"), ";\n}\n\n.p-select:not(.p-disabled):hover {\n border-color: ").concat(dt2("select.hover.border.color"), ";\n}\n\n.p-select:not(.p-disabled).p-focus {\n border-color: ").concat(dt2("select.focus.border.color"), ";\n box-shadow: ").concat(dt2("select.focus.ring.shadow"), ";\n outline: ").concat(dt2("select.focus.ring.width"), " ").concat(dt2("select.focus.ring.style"), " ").concat(dt2("select.focus.ring.color"), ";\n outline-offset: ").concat(dt2("select.focus.ring.offset"), ";\n}\n\n.p-select.p-variant-filled {\n background: ").concat(dt2("select.filled.background"), ";\n}\n\n.p-select.p-variant-filled:not(.p-disabled):hover {\n background: ").concat(dt2("select.filled.hover.background"), ";\n}\n\n.p-select.p-variant-filled:not(.p-disabled).p-focus {\n background: ").concat(dt2("select.filled.focus.background"), ";\n}\n\n.p-select.p-invalid {\n border-color: ").concat(dt2("select.invalid.border.color"), ";\n}\n\n.p-select.p-disabled {\n opacity: 1;\n background: ").concat(dt2("select.disabled.background"), ";\n}\n\n.p-select-clear-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n color: ").concat(dt2("select.clear.icon.color"), ";\n right: ").concat(dt2("select.dropdown.width"), ";\n}\n\n.p-select-dropdown {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n background: transparent;\n color: ").concat(dt2("select.dropdown.color"), ";\n width: ").concat(dt2("select.dropdown.width"), ";\n border-top-right-radius: ").concat(dt2("select.border.radius"), ";\n border-bottom-right-radius: ").concat(dt2("select.border.radius"), ";\n}\n\n.p-select-label {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n flex: 1 1 auto;\n width: 1%;\n padding: ").concat(dt2("select.padding.y"), " ").concat(dt2("select.padding.x"), ";\n text-overflow: ellipsis;\n cursor: pointer;\n color: ").concat(dt2("select.color"), ";\n background: transparent;\n border: 0 none;\n outline: 0 none;\n}\n\n.p-select-label.p-placeholder {\n color: ").concat(dt2("select.placeholder.color"), ";\n}\n\n.p-select:has(.p-select-clear-icon) .p-select-label {\n padding-right: calc(1rem + ").concat(dt2("select.padding.x"), ");\n}\n\n.p-select.p-disabled .p-select-label {\n color: ").concat(dt2("select.disabled.color"), ";\n}\n\n.p-select-label-empty {\n overflow: hidden;\n opacity: 0;\n}\n\ninput.p-select-label {\n cursor: default;\n}\n\n.p-select .p-select-overlay {\n min-width: 100%;\n}\n\n.p-select-overlay {\n position: absolute;\n top: 0;\n left: 0;\n background: ").concat(dt2("select.overlay.background"), ";\n color: ").concat(dt2("select.overlay.color"), ";\n border: 1px solid ").concat(dt2("select.overlay.border.color"), ";\n border-radius: ").concat(dt2("select.overlay.border.radius"), ";\n box-shadow: ").concat(dt2("select.overlay.shadow"), ";\n}\n\n.p-select-header {\n padding: ").concat(dt2("select.list.header.padding"), ";\n}\n\n.p-select-filter {\n width: 100%;\n}\n\n.p-select-list-container {\n overflow: auto;\n}\n\n.p-select-option-group {\n cursor: auto;\n margin: 0;\n padding: ").concat(dt2("select.option.group.padding"), ";\n background: ").concat(dt2("select.option.group.background"), ";\n color: ").concat(dt2("select.option.group.color"), ";\n font-weight: ").concat(dt2("select.option.group.font.weight"), ";\n}\n\n.p-select-list {\n margin: 0;\n padding: 0;\n list-style-type: none;\n padding: ").concat(dt2("select.list.padding"), ";\n gap: ").concat(dt2("select.list.gap"), ";\n display: flex;\n flex-direction: column;\n}\n\n.p-select-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 padding: ").concat(dt2("select.option.padding"), ";\n border: 0 none;\n color: ").concat(dt2("select.option.color"), ";\n background: transparent;\n transition: background ").concat(dt2("select.transition.duration"), ", color ").concat(dt2("select.transition.duration"), ", border-color ").concat(dt2("select.transition.duration"), ",\n box-shadow ").concat(dt2("select.transition.duration"), ", outline-color ").concat(dt2("select.transition.duration"), ";\n border-radius: ").concat(dt2("select.option.border.radius"), ";\n}\n\n.p-select-option:not(.p-select-option-selected):not(.p-disabled).p-focus {\n background: ").concat(dt2("select.option.focus.background"), ";\n color: ").concat(dt2("select.option.focus.color"), ";\n}\n\n.p-select-option.p-select-option-selected {\n background: ").concat(dt2("select.option.selected.background"), ";\n color: ").concat(dt2("select.option.selected.color"), ";\n}\n\n.p-select-option.p-select-option-selected.p-focus {\n background: ").concat(dt2("select.option.selected.focus.background"), ";\n color: ").concat(dt2("select.option.selected.focus.color"), ";\n}\n\n.p-select-option-check-icon {\n position: relative;\n margin-inline-start: ").concat(dt2("select.checkmark.gutter.start"), ";\n margin-inline-end: ").concat(dt2("select.checkmark.gutter.end"), ";\n color: ").concat(dt2("select.checkmark.color"), ";\n}\n\n.p-select-empty-message {\n padding: ").concat(dt2("select.empty.message.padding"), ";\n}\n\n.p-select-fluid {\n display: flex;\n}\n"); -}, "theme"); -var classes$q = { - root: /* @__PURE__ */ __name(function root6(_ref2) { - var instance = _ref2.instance, props = _ref2.props, state = _ref2.state; - return ["p-select p-component p-inputwrapper", { - "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-focus": state.focused, - "p-inputwrapper-filled": instance.hasSelectedOption, - "p-inputwrapper-focus": state.focused || state.overlayVisible, - "p-select-open": state.overlayVisible, - "p-select-fluid": instance.hasFluid - }]; - }, "root"), - label: /* @__PURE__ */ __name(function label(_ref3) { - var instance = _ref3.instance, props = _ref3.props; - return ["p-select-label", { - "p-placeholder": !props.editable && instance.label === props.placeholder, - "p-select-label-empty": !props.editable && !instance.$slots["value"] && (instance.label === "p-emptylabel" || instance.label.length === 0) - }]; - }, "label"), - clearIcon: "p-select-clear-icon", - dropdown: "p-select-dropdown", - loadingicon: "p-select-loading-icon", - dropdownIcon: "p-select-dropdown-icon", - overlay: "p-select-overlay p-component", - header: "p-select-header", - pcFilter: "p-select-filter", - listContainer: "p-select-list-container", - list: "p-select-list", - optionGroup: "p-select-option-group", - optionGroupLabel: "p-select-option-group-label", - option: /* @__PURE__ */ __name(function option2(_ref4) { - var instance = _ref4.instance, props = _ref4.props, state = _ref4.state, _option = _ref4.option, focusedOption = _ref4.focusedOption; - return ["p-select-option", { - "p-select-option-selected": instance.isSelected(_option) && props.highlightOnSelect, - "p-focus": state.focusedOptionIndex === focusedOption, - "p-disabled": instance.isOptionDisabled(_option) - }]; - }, "option"), - optionLabel: "p-select-option-label", - optionCheckIcon: "p-select-option-check-icon", - optionBlankIcon: "p-select-option-blank-icon", - emptyMessage: "p-select-empty-message" -}; -var SelectStyle = BaseStyle.extend({ - name: "select", - theme: theme$o, - classes: classes$q -}); -var script$1$p = { - name: "BaseSelect", - "extends": script$U, - props: { - modelValue: null, - options: Array, - optionLabel: [String, Function], - optionValue: [String, Function], - optionDisabled: [String, Function], - optionGroupLabel: [String, Function], - optionGroupChildren: [String, Function], - scrollHeight: { - type: String, - "default": "14rem" - }, - filter: Boolean, - filterPlaceholder: String, - filterLocale: String, - filterMatchMode: { - type: String, - "default": "contains" - }, - filterFields: { - type: Array, - "default": null - }, - editable: Boolean, - placeholder: { - type: String, - "default": null - }, - variant: { - type: String, - "default": null - }, - invalid: { - type: Boolean, - "default": false - }, - disabled: { - type: Boolean, - "default": false - }, - dataKey: null, - showClear: { - type: Boolean, - "default": false - }, - fluid: { - type: Boolean, - "default": null - }, - inputId: { - type: String, - "default": null - }, - inputClass: { - type: [String, Object], - "default": null - }, - inputStyle: { - type: Object, - "default": null - }, - labelId: { - type: String, - "default": null - }, - labelClass: { - type: [String, Object], - "default": null - }, - labelStyle: { - type: Object, - "default": null - }, - panelClass: { - type: [String, Object], - "default": null - }, - overlayStyle: { - type: Object, - "default": null - }, - overlayClass: { - type: [String, Object], - "default": null - }, - panelStyle: { - type: Object, - "default": null - }, - appendTo: { - type: [String, Object], - "default": "body" - }, - loading: { - type: Boolean, - "default": false - }, - clearIcon: { - type: String, - "default": void 0 - }, - dropdownIcon: { - type: String, - "default": void 0 - }, - filterIcon: { - type: String, - "default": void 0 - }, - loadingIcon: { - type: String, - "default": void 0 - }, - resetFilterOnHide: { - type: Boolean, - "default": false - }, - resetFilterOnClear: { - type: Boolean, - "default": false - }, - virtualScrollerOptions: { - type: Object, - "default": null - }, - autoOptionFocus: { - type: Boolean, - "default": false - }, - autoFilterFocus: { - type: Boolean, - "default": false - }, - selectOnFocus: { - type: Boolean, - "default": false - }, - focusOnHover: { - type: Boolean, - "default": true - }, - highlightOnSelect: { - type: Boolean, - "default": true - }, - checkmark: { - 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: SelectStyle, - provide: /* @__PURE__ */ __name(function provide11() { - return { - $pcSelect: this, - $parentInstance: this - }; - }, "provide") -}; -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 _toConsumableArray$7(r) { - return _arrayWithoutHoles$7(r) || _iterableToArray$7(r) || _unsupportedIterableToArray$a(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$a(r, a) { - if (r) { - if ("string" == typeof r) return _arrayLikeToArray$a(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$a(r, a) : void 0; - } -} -__name(_unsupportedIterableToArray$a, "_unsupportedIterableToArray$a"); -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$a(r); -} -__name(_arrayWithoutHoles$7, "_arrayWithoutHoles$7"); -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"); -function ownKeys$d(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$d, "ownKeys$d"); -function _objectSpread$d(e) { - for (var r = 1; r < arguments.length; r++) { - var t = null != arguments[r] ? arguments[r] : {}; - r % 2 ? ownKeys$d(Object(t), true).forEach(function(r2) { - _defineProperty$b(e, r2, t[r2]); - }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$d(Object(t)).forEach(function(r2) { - Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); - }); - } - return e; -} -__name(_objectSpread$d, "_objectSpread$d"); -function _defineProperty$b(e, r, t) { - return (r = _toPropertyKey$b(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; -} -__name(_defineProperty$b, "_defineProperty$b"); -function _toPropertyKey$b(t) { - var i2 = _toPrimitive$b(t, "string"); - return "symbol" == _typeof$b(i2) ? i2 : i2 + ""; -} -__name(_toPropertyKey$b, "_toPropertyKey$b"); -function _toPrimitive$b(t, r) { - if ("object" != _typeof$b(t) || !t) return t; - var e = t[Symbol.toPrimitive]; - if (void 0 !== e) { - var i2 = e.call(t, r || "default"); - if ("object" != _typeof$b(i2)) return i2; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return ("string" === r ? String : Number)(t); -} -__name(_toPrimitive$b, "_toPrimitive$b"); -var script$C = { - name: "Select", - "extends": script$1$p, - inheritAttrs: false, - emits: ["update:modelValue", "change", "focus", "blur", "before-show", "before-hide", "show", "hide", "filter"], - inject: { - $pcFluid: { - "default": null - } - }, - outsideClickListener: null, - scrollHandler: null, - resizeListener: null, - labelClickListener: null, - overlay: null, - list: null, - virtualScroller: null, - searchTimeout: null, - searchValue: null, - isModelValueChanged: false, - data: /* @__PURE__ */ __name(function data5() { - return { - id: this.$attrs.id, - clicked: false, - focused: false, - focusedOptionIndex: -1, - filterValue: null, - overlayVisible: false - }; - }, "data"), - watch: { - "$attrs.id": /* @__PURE__ */ __name(function $attrsId2(newValue) { - this.id = newValue || UniqueComponentId(); - }, "$attrsId"), - modelValue: /* @__PURE__ */ __name(function modelValue() { - this.isModelValueChanged = true; - }, "modelValue"), - options: /* @__PURE__ */ __name(function options2() { - this.autoUpdateModel(); - }, "options") - }, - mounted: /* @__PURE__ */ __name(function mounted5() { - this.id = this.id || UniqueComponentId(); - this.autoUpdateModel(); - this.bindLabelClickListener(); - }, "mounted"), - updated: /* @__PURE__ */ __name(function updated3() { - if (this.overlayVisible && this.isModelValueChanged) { - this.scrollInView(this.findSelectedOptionIndex()); - } - this.isModelValueChanged = false; - }, "updated"), - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount2() { - this.unbindOutsideClickListener(); - this.unbindResizeListener(); - this.unbindLabelClickListener(); - 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 getOptionIndex2(index2, fn) { - return this.virtualScrollerDisabled ? index2 : fn && fn(index2)["index"]; - }, "getOptionIndex"), - getOptionLabel: /* @__PURE__ */ __name(function getOptionLabel2(option3) { - return this.optionLabel ? resolveFieldData(option3, this.optionLabel) : option3; - }, "getOptionLabel"), - getOptionValue: /* @__PURE__ */ __name(function getOptionValue2(option3) { - return this.optionValue ? resolveFieldData(option3, this.optionValue) : option3; - }, "getOptionValue"), - getOptionRenderKey: /* @__PURE__ */ __name(function getOptionRenderKey2(option3, index2) { - return (this.dataKey ? resolveFieldData(option3, this.dataKey) : this.getOptionLabel(option3)) + "_" + index2; - }, "getOptionRenderKey"), - getPTItemOptions: /* @__PURE__ */ __name(function getPTItemOptions(option3, itemOptions, index2, key) { - return this.ptm(key, { - context: { - option: option3, - index: index2, - selected: this.isSelected(option3), - focused: this.focusedOptionIndex === this.getOptionIndex(index2, itemOptions), - disabled: this.isOptionDisabled(option3) - } - }); - }, "getPTItemOptions"), - isOptionDisabled: /* @__PURE__ */ __name(function isOptionDisabled2(option3) { - return this.optionDisabled ? resolveFieldData(option3, this.optionDisabled) : false; - }, "isOptionDisabled"), - isOptionGroup: /* @__PURE__ */ __name(function isOptionGroup2(option3) { - return this.optionGroupLabel && option3.optionGroup && option3.group; - }, "isOptionGroup"), - getOptionGroupLabel: /* @__PURE__ */ __name(function getOptionGroupLabel2(optionGroup) { - return resolveFieldData(optionGroup, this.optionGroupLabel); - }, "getOptionGroupLabel"), - getOptionGroupChildren: /* @__PURE__ */ __name(function getOptionGroupChildren2(optionGroup) { - return resolveFieldData(optionGroup, this.optionGroupChildren); - }, "getOptionGroupChildren"), - getAriaPosInset: /* @__PURE__ */ __name(function getAriaPosInset2(index2) { - var _this = this; - return (this.optionGroupLabel ? index2 - this.visibleOptions.slice(0, index2).filter(function(option3) { - return _this.isOptionGroup(option3); - }).length : index2) + 1; - }, "getAriaPosInset"), - show: /* @__PURE__ */ __name(function show(isFocus) { - this.$emit("before-show"); - this.overlayVisible = true; - this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.editable ? -1 : this.findSelectedOptionIndex(); - isFocus && focus(this.$refs.focusInput); - }, "show"), - hide: /* @__PURE__ */ __name(function hide(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 onFocus2(event2) { - if (this.disabled) { - return; - } - this.focused = true; - if (this.overlayVisible) { - this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.editable ? -1 : this.findSelectedOptionIndex(); - this.scrollInView(this.focusedOptionIndex); - } - this.$emit("focus", event2); - }, "onFocus"), - onBlur: /* @__PURE__ */ __name(function onBlur2(event2) { - this.focused = false; - this.focusedOptionIndex = -1; - this.searchValue = ""; - this.$emit("blur", event2); - }, "onBlur"), - onKeyDown: /* @__PURE__ */ __name(function onKeyDown2(event2) { - if (this.disabled || isAndroid$1()) { - event2.preventDefault(); - return; - } - var metaKey = event2.metaKey || event2.ctrlKey; - switch (event2.code) { - case "ArrowDown": - this.onArrowDownKey(event2); - break; - case "ArrowUp": - this.onArrowUpKey(event2, this.editable); - break; - case "ArrowLeft": - case "ArrowRight": - this.onArrowLeftKey(event2, this.editable); - break; - case "Home": - this.onHomeKey(event2, this.editable); - break; - case "End": - this.onEndKey(event2, this.editable); - break; - case "PageDown": - this.onPageDownKey(event2); - break; - case "PageUp": - this.onPageUpKey(event2); - break; - case "Space": - this.onSpaceKey(event2, this.editable); - break; - case "Enter": - case "NumpadEnter": - this.onEnterKey(event2); - break; - case "Escape": - this.onEscapeKey(event2); - break; - case "Tab": - this.onTabKey(event2); - break; - case "Backspace": - this.onBackspaceKey(event2, this.editable); - break; - case "ShiftLeft": - case "ShiftRight": - break; - default: - if (!metaKey && isPrintableCharacter(event2.key)) { - !this.overlayVisible && this.show(); - !this.editable && this.searchOptions(event2, event2.key); - } - break; - } - this.clicked = false; - }, "onKeyDown"), - onEditableInput: /* @__PURE__ */ __name(function onEditableInput(event2) { - var value3 = event2.target.value; - this.searchValue = ""; - var matched = this.searchOptions(event2, value3); - !matched && (this.focusedOptionIndex = -1); - this.updateModel(event2, value3); - !this.overlayVisible && isNotEmpty(value3) && this.show(); - }, "onEditableInput"), - onContainerClick: /* @__PURE__ */ __name(function onContainerClick(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 onClearClick(event2) { - this.updateModel(event2, null); - this.resetFilterOnClear && (this.filterValue = null); - }, "onClearClick"), - 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"), - onOptionSelect: /* @__PURE__ */ __name(function onOptionSelect2(event2, option3) { - var isHide = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true; - var value3 = this.getOptionValue(option3); - this.updateModel(event2, value3); - isHide && this.hide(true); - }, "onOptionSelect"), - onOptionMouseMove: /* @__PURE__ */ __name(function onOptionMouseMove2(event2, index2) { - if (this.focusOnHover) { - this.changeFocusedOptionIndex(event2, index2); - } - }, "onOptionMouseMove"), - onFilterChange: /* @__PURE__ */ __name(function onFilterChange2(event2) { - var value3 = event2.target.value; - this.filterValue = value3; - this.focusedOptionIndex = -1; - this.$emit("filter", { - originalEvent: event2, - value: value3 - }); - !this.virtualScrollerDisabled && this.virtualScroller.scrollToIndex(0); - }, "onFilterChange"), - onFilterKeyDown: /* @__PURE__ */ __name(function onFilterKeyDown2(event2) { - if (event2.isComposing) return; - 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 onFilterBlur2() { - this.focusedOptionIndex = -1; - }, "onFilterBlur"), - onFilterUpdated: /* @__PURE__ */ __name(function onFilterUpdated() { - if (this.overlayVisible) { - this.alignOverlay(); - } - }, "onFilterUpdated"), - onOverlayClick: /* @__PURE__ */ __name(function onOverlayClick(event2) { - OverlayEventBus.emit("overlay-click", { - originalEvent: event2, - target: this.$el - }); - }, "onOverlayClick"), - onOverlayKeyDown: /* @__PURE__ */ __name(function onOverlayKeyDown(event2) { - switch (event2.code) { - case "Escape": - this.onEscapeKey(event2); - break; - } - }, "onOverlayKeyDown"), - onArrowDownKey: /* @__PURE__ */ __name(function onArrowDownKey2(event2) { - if (!this.overlayVisible) { - this.show(); - this.editable && this.changeFocusedOptionIndex(event2, this.findSelectedOptionIndex()); - } else { - var optionIndex = this.focusedOptionIndex !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex) : this.clicked ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex(); - this.changeFocusedOptionIndex(event2, optionIndex); - } - event2.preventDefault(); - }, "onArrowDownKey"), - onArrowUpKey: /* @__PURE__ */ __name(function onArrowUpKey2(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(); - this.changeFocusedOptionIndex(event2, optionIndex); - !this.overlayVisible && this.show(); - event2.preventDefault(); - } - }, "onArrowUpKey"), - onArrowLeftKey: /* @__PURE__ */ __name(function onArrowLeftKey2(event2) { - var pressedInInputText = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; - pressedInInputText && (this.focusedOptionIndex = -1); - }, "onArrowLeftKey"), - onHomeKey: /* @__PURE__ */ __name(function onHomeKey2(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 { - this.changeFocusedOptionIndex(event2, this.findFirstOptionIndex()); - !this.overlayVisible && this.show(); - } - event2.preventDefault(); - }, "onHomeKey"), - onEndKey: /* @__PURE__ */ __name(function onEndKey2(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 { - this.changeFocusedOptionIndex(event2, this.findLastOptionIndex()); - !this.overlayVisible && this.show(); - } - event2.preventDefault(); - }, "onEndKey"), - onPageUpKey: /* @__PURE__ */ __name(function onPageUpKey2(event2) { - this.scrollInView(0); - event2.preventDefault(); - }, "onPageUpKey"), - onPageDownKey: /* @__PURE__ */ __name(function onPageDownKey2(event2) { - this.scrollInView(this.visibleOptions.length - 1); - event2.preventDefault(); - }, "onPageDownKey"), - onEnterKey: /* @__PURE__ */ __name(function onEnterKey2(event2) { - if (!this.overlayVisible) { - this.focusedOptionIndex = -1; - this.onArrowDownKey(event2); - } else { - if (this.focusedOptionIndex !== -1) { - this.onOptionSelect(event2, this.visibleOptions[this.focusedOptionIndex]); - } - this.hide(); - } - event2.preventDefault(); - }, "onEnterKey"), - onSpaceKey: /* @__PURE__ */ __name(function onSpaceKey2(event2) { - var pressedInInputText = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; - !pressedInInputText && this.onEnterKey(event2); - }, "onSpaceKey"), - onEscapeKey: /* @__PURE__ */ __name(function onEscapeKey(event2) { - this.overlayVisible && this.hide(true); - event2.preventDefault(); - event2.stopPropagation(); - }, "onEscapeKey"), - onTabKey: /* @__PURE__ */ __name(function onTabKey(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(); - } else { - if (this.focusedOptionIndex !== -1) { - this.onOptionSelect(event2, this.visibleOptions[this.focusedOptionIndex]); - } - this.overlayVisible && this.hide(this.filter); - } - } - }, "onTabKey"), - onBackspaceKey: /* @__PURE__ */ __name(function onBackspaceKey(event2) { - var pressedInInputText = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; - if (pressedInInputText) { - !this.overlayVisible && this.show(); - } - }, "onBackspaceKey"), - onOverlayEnter: /* @__PURE__ */ __name(function onOverlayEnter(el) { - var _this3 = this; - ZIndex.set("overlay", el, this.$primevue.config.zIndex.overlay); - addStyle(el, { - position: "absolute", - top: "0", - left: "0" - }); - this.alignOverlay(); - this.scrollInView(); - setTimeout(function() { - _this3.autoFilterFocus && focus(_this3.$refs.filterInput.$el); - }, 1); - }, "onOverlayEnter"), - onOverlayAfterEnter: /* @__PURE__ */ __name(function onOverlayAfterEnter() { - this.bindOutsideClickListener(); - this.bindScrollListener(); - this.bindResizeListener(); - this.$emit("show"); - }, "onOverlayAfterEnter"), - onOverlayLeave: /* @__PURE__ */ __name(function onOverlayLeave() { - var _this4 = this; - this.unbindOutsideClickListener(); - this.unbindScrollListener(); - this.unbindResizeListener(); - if (this.autoFilterFocus && this.filter) { - this.$nextTick(function() { - focus(_this4.$refs.filterInput.$el); - }); - } - this.$emit("hide"); - this.overlay = null; - }, "onOverlayLeave"), - onOverlayAfterLeave: /* @__PURE__ */ __name(function onOverlayAfterLeave(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 bindOutsideClickListener() { - var _this5 = this; - if (!this.outsideClickListener) { - this.outsideClickListener = function(event2) { - if (_this5.overlayVisible && _this5.overlay && !_this5.$el.contains(event2.target) && !_this5.overlay.contains(event2.target)) { - _this5.hide(); - } - }; - document.addEventListener("click", this.outsideClickListener); - } - }, "bindOutsideClickListener"), - unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener() { - if (this.outsideClickListener) { - document.removeEventListener("click", this.outsideClickListener); - this.outsideClickListener = null; - } - }, "unbindOutsideClickListener"), - bindScrollListener: /* @__PURE__ */ __name(function bindScrollListener() { - var _this6 = this; - if (!this.scrollHandler) { - this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.container, function() { - if (_this6.overlayVisible) { - _this6.hide(); - } - }); - } - this.scrollHandler.bindScrollListener(); - }, "bindScrollListener"), - unbindScrollListener: /* @__PURE__ */ __name(function unbindScrollListener() { - if (this.scrollHandler) { - this.scrollHandler.unbindScrollListener(); - } - }, "unbindScrollListener"), - bindResizeListener: /* @__PURE__ */ __name(function bindResizeListener2() { - var _this7 = this; - if (!this.resizeListener) { - this.resizeListener = function() { - if (_this7.overlayVisible && !isTouchDevice()) { - _this7.hide(); - } - }; - window.addEventListener("resize", this.resizeListener); - } - }, "bindResizeListener"), - unbindResizeListener: /* @__PURE__ */ __name(function unbindResizeListener2() { - if (this.resizeListener) { - window.removeEventListener("resize", this.resizeListener); - this.resizeListener = null; - } - }, "unbindResizeListener"), - bindLabelClickListener: /* @__PURE__ */ __name(function bindLabelClickListener() { - var _this8 = this; - if (!this.editable && !this.labelClickListener) { - var label5 = document.querySelector('label[for="'.concat(this.labelId, '"]')); - if (label5 && isVisible(label5)) { - this.labelClickListener = function() { - focus(_this8.$refs.focusInput); - }; - label5.addEventListener("click", this.labelClickListener); - } - } - }, "bindLabelClickListener"), - unbindLabelClickListener: /* @__PURE__ */ __name(function unbindLabelClickListener() { - if (this.labelClickListener) { - var label5 = document.querySelector('label[for="'.concat(this.labelId, '"]')); - if (label5 && isVisible(label5)) { - label5.removeEventListener("click", this.labelClickListener); - } - } - }, "unbindLabelClickListener"), - hasFocusableElements: /* @__PURE__ */ __name(function hasFocusableElements() { - return getFocusableElements(this.overlay, ':not([data-p-hidden-focusable="true"])').length > 0; - }, "hasFocusableElements"), - isOptionMatched: /* @__PURE__ */ __name(function isOptionMatched2(option3) { - var _this$getOptionLabel; - return this.isValidOption(option3) && typeof this.getOptionLabel(option3) === "string" && ((_this$getOptionLabel = this.getOptionLabel(option3)) === null || _this$getOptionLabel === void 0 ? void 0 : _this$getOptionLabel.toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale))); - }, "isOptionMatched"), - isValidOption: /* @__PURE__ */ __name(function isValidOption2(option3) { - return isNotEmpty(option3) && !(this.isOptionDisabled(option3) || this.isOptionGroup(option3)); - }, "isValidOption"), - isValidSelectedOption: /* @__PURE__ */ __name(function isValidSelectedOption2(option3) { - return this.isValidOption(option3) && this.isSelected(option3); - }, "isValidSelectedOption"), - isSelected: /* @__PURE__ */ __name(function isSelected2(option3) { - return equals(this.modelValue, this.getOptionValue(option3), this.equalityKey); - }, "isSelected"), - findFirstOptionIndex: /* @__PURE__ */ __name(function findFirstOptionIndex2() { - var _this9 = this; - return this.visibleOptions.findIndex(function(option3) { - return _this9.isValidOption(option3); - }); - }, "findFirstOptionIndex"), - findLastOptionIndex: /* @__PURE__ */ __name(function findLastOptionIndex2() { - var _this10 = this; - return findLastIndex(this.visibleOptions, function(option3) { - return _this10.isValidOption(option3); - }); - }, "findLastOptionIndex"), - findNextOptionIndex: /* @__PURE__ */ __name(function findNextOptionIndex2(index2) { - var _this11 = this; - var matchedOptionIndex = index2 < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index2 + 1).findIndex(function(option3) { - return _this11.isValidOption(option3); - }) : -1; - return matchedOptionIndex > -1 ? matchedOptionIndex + index2 + 1 : index2; - }, "findNextOptionIndex"), - findPrevOptionIndex: /* @__PURE__ */ __name(function findPrevOptionIndex2(index2) { - var _this12 = this; - var matchedOptionIndex = index2 > 0 ? findLastIndex(this.visibleOptions.slice(0, index2), function(option3) { - return _this12.isValidOption(option3); - }) : -1; - return matchedOptionIndex > -1 ? matchedOptionIndex : index2; - }, "findPrevOptionIndex"), - findSelectedOptionIndex: /* @__PURE__ */ __name(function findSelectedOptionIndex2() { - var _this13 = this; - return this.hasSelectedOption ? this.visibleOptions.findIndex(function(option3) { - return _this13.isValidSelectedOption(option3); - }) : -1; - }, "findSelectedOptionIndex"), - 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, _char) { - var _this14 = this; - this.searchValue = (this.searchValue || "") + _char; - var optionIndex = -1; - var matched = false; - if (isNotEmpty(this.searchValue)) { - if (this.focusedOptionIndex !== -1) { - optionIndex = this.visibleOptions.slice(this.focusedOptionIndex).findIndex(function(option3) { - return _this14.isOptionMatched(option3); - }); - optionIndex = optionIndex === -1 ? this.visibleOptions.slice(0, this.focusedOptionIndex).findIndex(function(option3) { - return _this14.isOptionMatched(option3); - }) : optionIndex + this.focusedOptionIndex; - } else { - optionIndex = this.visibleOptions.findIndex(function(option3) { - return _this14.isOptionMatched(option3); - }); - } - if (optionIndex !== -1) { - matched = true; - } - 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() { - _this14.searchValue = ""; - _this14.searchTimeout = null; - }, 500); - return matched; - }, "searchOptions"), - changeFocusedOptionIndex: /* @__PURE__ */ __name(function changeFocusedOptionIndex2(event2, index2) { - if (this.focusedOptionIndex !== index2) { - this.focusedOptionIndex = index2; - this.scrollInView(); - if (this.selectOnFocus) { - this.onOptionSelect(event2, this.visibleOptions[index2], false); - } - } - }, "changeFocusedOptionIndex"), - scrollInView: /* @__PURE__ */ __name(function scrollInView4() { - var _this15 = this; - var index2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : -1; - this.$nextTick(function() { - var id3 = index2 !== -1 ? "".concat(_this15.id, "_").concat(index2) : _this15.focusedOptionId; - var element = findSingle(_this15.list, 'li[id="'.concat(id3, '"]')); - if (element) { - element.scrollIntoView && element.scrollIntoView({ - block: "nearest", - inline: "start" - }); - } else if (!_this15.virtualScrollerDisabled) { - _this15.virtualScroller && _this15.virtualScroller.scrollToIndex(index2 !== -1 ? index2 : _this15.focusedOptionIndex); - } - }); - }, "scrollInView"), - autoUpdateModel: /* @__PURE__ */ __name(function autoUpdateModel2() { - if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption) { - this.focusedOptionIndex = this.findFirstFocusedOptionIndex(); - this.onOptionSelect(null, this.visibleOptions[this.focusedOptionIndex], false); - } - }, "autoUpdateModel"), - updateModel: /* @__PURE__ */ __name(function updateModel2(event2, value3) { - this.$emit("update:modelValue", value3); - this.$emit("change", { - originalEvent: event2, - value: value3 - }); - }, "updateModel"), - flatOptions: /* @__PURE__ */ __name(function flatOptions2(options3) { - var _this16 = this; - return (options3 || []).reduce(function(result, option3, index2) { - result.push({ - optionGroup: option3, - group: true, - index: index2 - }); - var optionGroupChildren = _this16.getOptionGroupChildren(option3); - optionGroupChildren && optionGroupChildren.forEach(function(o) { - return result.push(o); - }); - return result; - }, []); - }, "flatOptions"), - overlayRef: /* @__PURE__ */ __name(function overlayRef(el) { - this.overlay = el; - }, "overlayRef"), - listRef: /* @__PURE__ */ __name(function listRef2(el, contentRef3) { - this.list = el; - contentRef3 && contentRef3(el); - }, "listRef"), - virtualScrollerRef: /* @__PURE__ */ __name(function virtualScrollerRef2(el) { - this.virtualScroller = el; - }, "virtualScrollerRef") - }, - computed: { - visibleOptions: /* @__PURE__ */ __name(function visibleOptions2() { - var _this17 = this; - var options3 = this.optionGroupLabel ? this.flatOptions(this.options) : this.options || []; - if (this.filterValue) { - var filteredOptions = FilterService.filter(options3, this.searchFields, this.filterValue, this.filterMatchMode, this.filterLocale); - if (this.optionGroupLabel) { - var optionGroups = this.options || []; - var filtered = []; - optionGroups.forEach(function(group) { - var groupChildren = _this17.getOptionGroupChildren(group); - var filteredItems = groupChildren.filter(function(item2) { - return filteredOptions.includes(item2); - }); - if (filteredItems.length > 0) filtered.push(_objectSpread$d(_objectSpread$d({}, group), {}, _defineProperty$b({}, typeof _this17.optionGroupChildren === "string" ? _this17.optionGroupChildren : "items", _toConsumableArray$7(filteredItems)))); - }); - return this.flatOptions(filtered); - } - return filteredOptions; - } - return options3; - }, "visibleOptions"), - hasSelectedOption: /* @__PURE__ */ __name(function hasSelectedOption2() { - return isNotEmpty(this.modelValue); - }, "hasSelectedOption"), - label: /* @__PURE__ */ __name(function label2() { - var selectedOptionIndex = this.findSelectedOptionIndex(); - return selectedOptionIndex !== -1 ? this.getOptionLabel(this.visibleOptions[selectedOptionIndex]) : this.placeholder || "p-emptylabel"; - }, "label"), - editableInputValue: /* @__PURE__ */ __name(function editableInputValue() { - var selectedOptionIndex = this.findSelectedOptionIndex(); - return selectedOptionIndex !== -1 ? this.getOptionLabel(this.visibleOptions[selectedOptionIndex]) : this.modelValue || ""; - }, "editableInputValue"), - equalityKey: /* @__PURE__ */ __name(function equalityKey2() { - return this.optionValue ? null : this.dataKey; - }, "equalityKey"), - searchFields: /* @__PURE__ */ __name(function searchFields2() { - return this.filterFields || [this.optionLabel]; - }, "searchFields"), - filterResultMessageText: /* @__PURE__ */ __name(function filterResultMessageText2() { - return isNotEmpty(this.visibleOptions) ? this.filterMessageText.replaceAll("{0}", this.visibleOptions.length) : this.emptyFilterMessageText; - }, "filterResultMessageText"), - filterMessageText: /* @__PURE__ */ __name(function filterMessageText2() { - return this.filterMessage || this.$primevue.config.locale.searchMessage || ""; - }, "filterMessageText"), - emptyFilterMessageText: /* @__PURE__ */ __name(function emptyFilterMessageText2() { - return this.emptyFilterMessage || this.$primevue.config.locale.emptySearchMessage || this.$primevue.config.locale.emptyFilterMessage || ""; - }, "emptyFilterMessageText"), - emptyMessageText: /* @__PURE__ */ __name(function emptyMessageText2() { - 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.hasSelectedOption ? this.selectionMessageText.replaceAll("{0}", "1") : this.emptySelectionMessageText; - }, "selectedMessageText"), - focusedOptionId: /* @__PURE__ */ __name(function focusedOptionId2() { - return this.focusedOptionIndex !== -1 ? "".concat(this.id, "_").concat(this.focusedOptionIndex) : null; - }, "focusedOptionId"), - ariaSetSize: /* @__PURE__ */ __name(function ariaSetSize2() { - var _this18 = this; - return this.visibleOptions.filter(function(option3) { - return !_this18.isOptionGroup(option3); - }).length; - }, "ariaSetSize"), - isClearIconVisible: /* @__PURE__ */ __name(function isClearIconVisible() { - return this.showClear && this.modelValue != null && isNotEmpty(this.options); - }, "isClearIconVisible"), - virtualScrollerDisabled: /* @__PURE__ */ __name(function virtualScrollerDisabled2() { - return !this.virtualScrollerOptions; - }, "virtualScrollerDisabled"), - hasFluid: /* @__PURE__ */ __name(function hasFluid3() { - return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid; - }, "hasFluid") - }, - directives: { - ripple: Ripple - }, - components: { - InputText: script$N, - VirtualScroller: script$L, - Portal: script$D, - InputIcon: script$O, - IconField: script$P, - TimesIcon: script$E, - ChevronDownIcon: script$F, - SpinnerIcon: script$M, - SearchIcon: script$Q, - CheckIcon: script$R, - BlankIcon: script$S - } -}; -var _hoisted_1$L = ["id"]; -var _hoisted_2$x = ["id", "value", "placeholder", "tabindex", "disabled", "aria-label", "aria-labelledby", "aria-expanded", "aria-controls", "aria-activedescendant", "aria-invalid"]; -var _hoisted_3$n = ["id", "tabindex", "aria-label", "aria-labelledby", "aria-expanded", "aria-controls", "aria-activedescendant", "aria-disabled"]; -var _hoisted_4$e = ["id"]; -var _hoisted_5$b = ["id"]; -var _hoisted_6$7 = ["id", "aria-label", "aria-selected", "aria-disabled", "aria-setsize", "aria-posinset", "onClick", "onMousemove", "data-p-selected", "data-p-focused", "data-p-disabled"]; -function render$B(_ctx, _cache, $props, $setup, $data, $options) { - var _component_SpinnerIcon = resolveComponent("SpinnerIcon"); - var _component_InputText = resolveComponent("InputText"); - var _component_SearchIcon = resolveComponent("SearchIcon"); - var _component_InputIcon = resolveComponent("InputIcon"); - var _component_IconField = resolveComponent("IconField"); - var _component_CheckIcon = resolveComponent("CheckIcon"); - var _component_BlankIcon = resolveComponent("BlankIcon"); - var _component_VirtualScroller = resolveComponent("VirtualScroller"); - var _component_Portal = resolveComponent("Portal"); - var _directive_ripple = resolveDirective("ripple"); - return openBlock(), createElementBlock("div", mergeProps$1({ - ref: "container", - id: $data.id, - "class": _ctx.cx("root"), - onClick: _cache[11] || (_cache[11] = function() { - return $options.onContainerClick && $options.onContainerClick.apply($options, arguments); - }) - }, _ctx.ptmi("root")), [_ctx.editable ? (openBlock(), createElementBlock("input", mergeProps$1({ - key: 0, - ref: "focusInput", - id: _ctx.labelId || _ctx.inputId, - type: "text", - "class": [_ctx.cx("label"), _ctx.inputClass, _ctx.labelClass], - style: [_ctx.inputStyle, _ctx.labelStyle], - value: $options.editableInputValue, - placeholder: _ctx.placeholder, - tabindex: !_ctx.disabled ? _ctx.tabindex : -1, - disabled: _ctx.disabled, - autocomplete: "off", - 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); - }), - onInput: _cache[3] || (_cache[3] = function() { - return $options.onEditableInput && $options.onEditableInput.apply($options, arguments); - }) - }, _ctx.ptm("label")), null, 16, _hoisted_2$x)) : (openBlock(), createElementBlock("span", mergeProps$1({ - key: 1, - ref: "focusInput", - id: _ctx.labelId || _ctx.inputId, - "class": [_ctx.cx("label"), _ctx.inputClass, _ctx.labelClass], - style: [_ctx.inputStyle, _ctx.labelStyle], - tabindex: !_ctx.disabled ? _ctx.tabindex : -1, - role: "combobox", - "aria-label": _ctx.ariaLabel || ($options.label === "p-emptylabel" ? void 0 : $options.label), - "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-disabled": _ctx.disabled, - onFocus: _cache[4] || (_cache[4] = function() { - return $options.onFocus && $options.onFocus.apply($options, arguments); - }), - onBlur: _cache[5] || (_cache[5] = function() { - return $options.onBlur && $options.onBlur.apply($options, arguments); - }), - onKeydown: _cache[6] || (_cache[6] = function() { - return $options.onKeyDown && $options.onKeyDown.apply($options, arguments); - }) - }, _ctx.ptm("label")), [renderSlot(_ctx.$slots, "value", { - value: _ctx.modelValue, - placeholder: _ctx.placeholder - }, function() { - var _$options$label; - return [createTextVNode(toDisplayString$1($options.label === "p-emptylabel" ? " " : (_$options$label = $options.label) !== null && _$options$label !== void 0 ? _$options$label : "empty"), 1)]; - })], 16, _hoisted_3$n)), $options.isClearIconVisible ? renderSlot(_ctx.$slots, "clearicon", { - key: 2, - "class": normalizeClass(_ctx.cx("clearIcon")), - clearCallback: $options.onClearClick - }, function() { - return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.clearIcon ? "i" : "TimesIcon"), mergeProps$1({ - 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$1({ - "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$1({ - key: 0, - "class": [_ctx.cx("loadingIcon"), "pi-spin", _ctx.loadingIcon], - "aria-hidden": "true" - }, _ctx.ptm("loadingIcon")), null, 16)) : (openBlock(), createBlock(_component_SpinnerIcon, mergeProps$1({ - 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$1({ - "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$1({ - 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$1({ - key: 0, - ref: $options.overlayRef, - "class": [_ctx.cx("overlay"), _ctx.panelClass, _ctx.overlayClass], - style: [_ctx.panelStyle, _ctx.overlayStyle], - onClick: _cache[9] || (_cache[9] = function() { - return $options.onOverlayClick && $options.onOverlayClick.apply($options, arguments); - }), - onKeydown: _cache[10] || (_cache[10] = function() { - return $options.onOverlayKeyDown && $options.onOverlayKeyDown.apply($options, arguments); - }) - }, _ctx.ptm("overlay")), [createBaseVNode("span", mergeProps$1({ - ref: "firstHiddenFocusableElementOnOverlay", - role: "presentation", - "aria-hidden": "true", - "class": "p-hidden-accessible p-hidden-focusable", - tabindex: 0, - onFocus: _cache[7] || (_cache[7] = 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.modelValue, - options: $options.visibleOptions - }), _ctx.filter ? (openBlock(), createElementBlock("div", mergeProps$1({ - key: 0, - "class": _ctx.cx("header") - }, _ctx.ptm("header")), [createVNode(_component_IconField, { - unstyled: _ctx.unstyled, - pt: _ctx.ptm("pcFilterContainer") - }, { - "default": withCtx(function() { - return [createVNode(_component_InputText, { - ref: "filterInput", - type: "text", - value: $data.filterValue, - onVnodeMounted: $options.onFilterUpdated, - onVnodeUpdated: $options.onFilterUpdated, - "class": normalizeClass(_ctx.cx("pcFilter")), - placeholder: _ctx.filterPlaceholder, - 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", "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$1({ - key: 0, - "class": _ctx.filterIcon - }, _ctx.ptm("filterIcon")), null, 16)) : (openBlock(), createBlock(_component_SearchIcon, normalizeProps(mergeProps$1({ - key: 1 - }, _ctx.ptm("filterIcon"))), null, 16))]; - })]; - }), - _: 3 - }, 8, ["unstyled", "pt"])]; - }), - _: 3 - }, 8, ["unstyled", "pt"]), createBaseVNode("span", mergeProps$1({ - role: "status", - "aria-live": "polite", - "class": "p-hidden-accessible" - }, _ctx.ptm("hiddenFilterResult"), { - "data-p-hidden-accessible": true - }), toDisplayString$1($options.filterResultMessageText), 17)], 16)) : createCommentVNode("", true), createBaseVNode("div", mergeProps$1({ - "class": _ctx.cx("listContainer"), - style: { - "max-height": $options.virtualScrollerDisabled ? _ctx.scrollHeight : "" - } - }, _ctx.ptm("listContainer")), [createVNode(_component_VirtualScroller, mergeProps$1({ - 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(_ref) { - var styleClass = _ref.styleClass, contentRef3 = _ref.contentRef, items2 = _ref.items, getItemOptions = _ref.getItemOptions, contentStyle = _ref.contentStyle, itemSize2 = _ref.itemSize; - return [createBaseVNode("ul", mergeProps$1({ - ref: /* @__PURE__ */ __name(function ref2(el) { - return $options.listRef(el, contentRef3); - }, "ref"), - id: $data.id + "_list", - "class": [_ctx.cx("list"), styleClass], - style: contentStyle, - role: "listbox" - }, _ctx.ptm("list")), [(openBlock(true), createElementBlock(Fragment, null, renderList(items2, function(option3, i2) { - return openBlock(), createElementBlock(Fragment, { - key: $options.getOptionRenderKey(option3, $options.getOptionIndex(i2, getItemOptions)) - }, [$options.isOptionGroup(option3) ? (openBlock(), createElementBlock("li", mergeProps$1({ - key: 0, - id: $data.id + "_" + $options.getOptionIndex(i2, getItemOptions), - style: { - height: itemSize2 ? itemSize2 + "px" : void 0 - }, - "class": _ctx.cx("optionGroup"), - role: "option", - ref_for: true - }, _ctx.ptm("optionGroup")), [renderSlot(_ctx.$slots, "optiongroup", { - option: option3.optionGroup, - index: $options.getOptionIndex(i2, getItemOptions) - }, function() { - return [createBaseVNode("span", mergeProps$1({ - "class": _ctx.cx("optionGroupLabel"), - ref_for: true - }, _ctx.ptm("optionGroupLabel")), toDisplayString$1($options.getOptionGroupLabel(option3.optionGroup)), 17)]; - })], 16, _hoisted_5$b)) : withDirectives((openBlock(), createElementBlock("li", mergeProps$1({ - key: 1, - id: $data.id + "_" + $options.getOptionIndex(i2, getItemOptions), - "class": _ctx.cx("option", { - option: option3, - focusedOption: $options.getOptionIndex(i2, getItemOptions) - }), - style: { - height: itemSize2 ? itemSize2 + "px" : void 0 - }, - role: "option", - "aria-label": $options.getOptionLabel(option3), - "aria-selected": $options.isSelected(option3), - "aria-disabled": $options.isOptionDisabled(option3), - "aria-setsize": $options.ariaSetSize, - "aria-posinset": $options.getAriaPosInset($options.getOptionIndex(i2, getItemOptions)), - onClick: /* @__PURE__ */ __name(function onClick3($event) { - return $options.onOptionSelect($event, option3); - }, "onClick"), - onMousemove: /* @__PURE__ */ __name(function onMousemove($event) { - return $options.onOptionMouseMove($event, $options.getOptionIndex(i2, getItemOptions)); - }, "onMousemove"), - "data-p-selected": $options.isSelected(option3), - "data-p-focused": $data.focusedOptionIndex === $options.getOptionIndex(i2, getItemOptions), - "data-p-disabled": $options.isOptionDisabled(option3), - ref_for: true - }, $options.getPTItemOptions(option3, getItemOptions, i2, "option")), [_ctx.checkmark ? (openBlock(), createElementBlock(Fragment, { - key: 0 - }, [$options.isSelected(option3) ? (openBlock(), createBlock(_component_CheckIcon, mergeProps$1({ - key: 0, - "class": _ctx.cx("optionCheckIcon"), - ref_for: true - }, _ctx.ptm("optionCheckIcon")), null, 16, ["class"])) : (openBlock(), createBlock(_component_BlankIcon, mergeProps$1({ - key: 1, - "class": _ctx.cx("optionBlankIcon"), - ref_for: true - }, _ctx.ptm("optionBlankIcon")), null, 16, ["class"]))], 64)) : createCommentVNode("", true), renderSlot(_ctx.$slots, "option", { - option: option3, - selected: $options.isSelected(option3), - index: $options.getOptionIndex(i2, getItemOptions) - }, function() { - return [createBaseVNode("span", mergeProps$1({ - "class": _ctx.cx("optionLabel"), - ref_for: true - }, _ctx.ptm("optionLabel")), toDisplayString$1($options.getOptionLabel(option3)), 17)]; - })], 16, _hoisted_6$7)), [[_directive_ripple]])], 64); - }), 128)), $data.filterValue && (!items2 || items2 && items2.length === 0) ? (openBlock(), createElementBlock("li", mergeProps$1({ - key: 0, - "class": _ctx.cx("emptyMessage"), - role: "option" - }, _ctx.ptm("emptyMessage"), { - "data-p-hidden-accessible": true - }), [renderSlot(_ctx.$slots, "emptyfilter", {}, function() { - return [createTextVNode(toDisplayString$1($options.emptyFilterMessageText), 1)]; - })], 16)) : !_ctx.options || _ctx.options && _ctx.options.length === 0 ? (openBlock(), createElementBlock("li", mergeProps$1({ - key: 1, - "class": _ctx.cx("emptyMessage"), - role: "option" - }, _ctx.ptm("emptyMessage"), { - "data-p-hidden-accessible": true - }), [renderSlot(_ctx.$slots, "empty", {}, function() { - return [createTextVNode(toDisplayString$1($options.emptyMessageText), 1)]; - })], 16)) : createCommentVNode("", true)], 16, _hoisted_4$e)]; - }), - _: 2 - }, [_ctx.$slots.loader ? { - name: "loader", - fn: withCtx(function(_ref2) { - var options3 = _ref2.options; - return [renderSlot(_ctx.$slots, "loader", { - options: options3 - })]; - }), - key: "0" - } : void 0]), 1040, ["items", "style", "disabled", "pt"])], 16), renderSlot(_ctx.$slots, "footer", { - value: _ctx.modelValue, - options: $options.visibleOptions - }), !_ctx.options || _ctx.options && _ctx.options.length === 0 ? (openBlock(), createElementBlock("span", mergeProps$1({ - key: 1, - role: "status", - "aria-live": "polite", - "class": "p-hidden-accessible" - }, _ctx.ptm("hiddenEmptyMessage"), { - "data-p-hidden-accessible": true - }), toDisplayString$1($options.emptyMessageText), 17)) : createCommentVNode("", true), createBaseVNode("span", mergeProps$1({ - role: "status", - "aria-live": "polite", - "class": "p-hidden-accessible" - }, _ctx.ptm("hiddenSelectedMessage"), { - "data-p-hidden-accessible": true - }), toDisplayString$1($options.selectedMessageText), 17), createBaseVNode("span", mergeProps$1({ - ref: "lastHiddenFocusableElementOnOverlay", - role: "presentation", - "aria-hidden": "true", - "class": "p-hidden-accessible p-hidden-focusable", - tabindex: 0, - onFocus: _cache[8] || (_cache[8] = 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, _hoisted_1$L); -} -__name(render$B, "render$B"); -script$C.render = render$B; -const _hoisted_1$K = { class: "comfy-missing-models" }; -const _hoisted_2$w = { class: "warning-options" }; -const _hoisted_3$m = { class: "model-info" }; -const _hoisted_4$d = { class: "model-details" }; -const _hoisted_5$a = ["title"]; -const _hoisted_6$6 = { - key: 0, - class: "model-error" -}; -const _hoisted_7$3 = { class: "model-action" }; -const _hoisted_8$2 = { - key: 2, - class: "download-progress" -}; -const _hoisted_9$2 = { class: "progress-text" }; -const _hoisted_10$2 = { - key: 3, - class: "download-complete" -}; -const _hoisted_11$2 = { - key: 4, - class: "download-error" -}; -const _sfc_main$F = /* @__PURE__ */ defineComponent({ - __name: "MissingModelsWarning", - props: { - missingModels: {}, - paths: {}, - maximized: { type: Boolean } - }, - setup(__props) { - const showFolderSelect = ref(false); - const allowedSources = [ - "https://civitai.com/", - "https://huggingface.co/", - "http://localhost:" - // Included for testing usage only - ]; - const allowedSuffixes = [".safetensors", ".sft"]; - const props = __props; - const modelDownloads = ref({}); - let lastModel = null; - const updateFolderPath = /* @__PURE__ */ __name((model, event2) => { - const downloadInfo = modelDownloads.value[model.name]; - downloadInfo.folder_path = event2.value; - return false; - }, "updateFolderPath"); - const handleDownloadProgress = /* @__PURE__ */ __name((detail) => { - if (detail.download_path) { - lastModel = detail.download_path; - } - if (!lastModel) return; - if (detail.status === "in_progress") { - modelDownloads.value[lastModel] = { - ...modelDownloads.value[lastModel], - downloading: true, - progress: detail.progress_percentage, - completed: false - }; - } else if (detail.status === "pending") { - modelDownloads.value[lastModel] = { - ...modelDownloads.value[lastModel], - downloading: true, - progress: 0, - completed: false - }; - } else if (detail.status === "completed") { - modelDownloads.value[lastModel] = { - ...modelDownloads.value[lastModel], - downloading: false, - progress: 100, - completed: true - }; - } else if (detail.status === "error") { - modelDownloads.value[lastModel] = { - ...modelDownloads.value[lastModel], - downloading: false, - progress: 0, - error: detail.message, - completed: false - }; - } - }, "handleDownloadProgress"); - const triggerDownload = /* @__PURE__ */ __name(async (url, directory, filename, folder_path) => { - modelDownloads.value[filename] = { - name: filename, - directory, - url, - downloading: true, - progress: 0 - }; - const download2 = await api.internalDownloadModel( - url, - directory, - filename, - 1, - folder_path - ); - lastModel = filename; - handleDownloadProgress(download2); - }, "triggerDownload"); - api.addEventListener("download_progress", (event2) => { - handleDownloadProgress(event2.detail); - }); - const missingModels = computed(() => { - return props.missingModels.map((model) => { - const paths = props.paths[model.directory]; - if (model.directory_invalid || !paths) { - return { - label: `${model.directory} / ${model.name}`, - hint: model.url, - error: "Invalid directory specified (does this require custom nodes?)" - }; - } - const downloadInfo = modelDownloads.value[model.name] ?? { - downloading: false, - completed: false, - progress: 0, - error: null, - name: model.name, - directory: model.directory, - url: model.url, - folder_path: paths[0] - }; - modelDownloads.value[model.name] = downloadInfo; - if (!allowedSources.some((source) => model.url.startsWith(source))) { - return { - label: `${model.directory} / ${model.name}`, - hint: model.url, - error: `Download not allowed from source '${model.url}', only allowed from '${allowedSources.join("', '")}'` - }; - } - if (!allowedSuffixes.some((suffix2) => model.name.endsWith(suffix2))) { - return { - label: `${model.directory} / ${model.name}`, - hint: model.url, - error: `Only allowed suffixes are: '${allowedSuffixes.join("', '")}'` - }; - } - return { - label: `${model.directory} / ${model.name}`, - hint: model.url, - downloading: downloadInfo.downloading, - completed: downloadInfo.completed, - progress: downloadInfo.progress, - error: downloadInfo.error, - name: model.name, - paths, - folderPath: downloadInfo.folder_path, - action: { - text: "Download", - callback: /* @__PURE__ */ __name(() => triggerDownload( - model.url, - model.directory, - model.name, - downloadInfo.folder_path - ), "callback") - } - }; - }); - }); - return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", _hoisted_1$K, [ - _cache[4] || (_cache[4] = createBaseVNode("h4", { class: "warning-title" }, "Warning: Missing Models", -1)), - _cache[5] || (_cache[5] = createBaseVNode("p", { class: "warning-description" }, " When loading the graph, the following models were not found: ", -1)), - createBaseVNode("p", _hoisted_2$w, [ - createVNode(unref(script$G), { - class: "model-path-select-checkbox", - modelValue: showFolderSelect.value, - "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => showFolderSelect.value = $event), - label: "Show folder selector", - binary: true - }, null, 8, ["modelValue"]), - _cache[1] || (_cache[1] = createTextVNode(" Show folder selector ")) - ]), - createVNode(unref(script$K), { - options: missingModels.value, - optionLabel: "label", - scrollHeight: "100%", - class: normalizeClass("missing-models-list" + (props.maximized ? " maximized" : "")), - pt: { - list: { class: "border-none" } - } - }, { - option: withCtx((slotProps) => [ - createBaseVNode("div", { - class: "missing-model-item", - style: normalizeStyle({ "--progress": `${slotProps.option.progress}%` }) - }, [ - createBaseVNode("div", _hoisted_3$m, [ - createBaseVNode("div", _hoisted_4$d, [ - createBaseVNode("span", { - class: "model-type", - title: slotProps.option.hint - }, toDisplayString$1(slotProps.option.label), 9, _hoisted_5$a) - ]), - slotProps.option.error ? (openBlock(), createElementBlock("div", _hoisted_6$6, toDisplayString$1(slotProps.option.error), 1)) : createCommentVNode("", true) - ]), - createBaseVNode("div", _hoisted_7$3, [ - slotProps.option.action && !slotProps.option.downloading && !slotProps.option.completed && !slotProps.option.error && showFolderSelect.value ? (openBlock(), createBlock(unref(script$C), { - key: 0, - class: "model-path-select", - modelValue: slotProps.option.folderPath, - "onUpdate:modelValue": /* @__PURE__ */ __name(($event) => slotProps.option.folderPath = $event, "onUpdate:modelValue"), - options: slotProps.option.paths, - onChange: /* @__PURE__ */ __name(($event) => updateFolderPath(slotProps.option, $event), "onChange") - }, null, 8, ["modelValue", "onUpdate:modelValue", "options", "onChange"])) : createCommentVNode("", true), - slotProps.option.action && !slotProps.option.downloading && !slotProps.option.completed && !slotProps.option.error ? (openBlock(), createBlock(unref(script$I), { - key: 1, - onClick: slotProps.option.action.callback, - label: slotProps.option.action.text, - class: "p-button-sm p-button-outlined model-action-button" - }, null, 8, ["onClick", "label"])) : createCommentVNode("", true), - slotProps.option.downloading ? (openBlock(), createElementBlock("div", _hoisted_8$2, [ - createBaseVNode("span", _hoisted_9$2, toDisplayString$1(slotProps.option.progress.toFixed(2)) + "%", 1) - ])) : createCommentVNode("", true), - slotProps.option.completed ? (openBlock(), createElementBlock("div", _hoisted_10$2, _cache[2] || (_cache[2] = [ - createBaseVNode("i", { - class: "pi pi-check", - style: { "color": "var(--green-500)" } - }, null, -1) - ]))) : createCommentVNode("", true), - slotProps.option.error ? (openBlock(), createElementBlock("div", _hoisted_11$2, _cache[3] || (_cache[3] = [ - createBaseVNode("i", { - class: "pi pi-times", - style: { "color": "var(--red-600)" } - }, null, -1) - ]))) : createCommentVNode("", true) - ]) - ], 4) - ]), - _: 1 - }, 8, ["options", "class"]) - ]); - }; - } -}); -const MissingModelsWarning = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__scopeId", "data-v-d0515260"]]); -var theme$n = /* @__PURE__ */ __name(function theme12(_ref) { - var dt2 = _ref.dt; - return "\n.p-tabs {\n display: flex;\n flex-direction: column;\n}\n\n.p-tablist {\n display: flex;\n position: relative;\n}\n\n.p-tabs-scrollable > .p-tablist {\n overflow: hidden;\n}\n\n.p-tablist-viewport {\n overflow-x: auto;\n overflow-y: hidden;\n scroll-behavior: smooth;\n scrollbar-width: none;\n overscroll-behavior: contain auto;\n}\n\n.p-tablist-viewport::-webkit-scrollbar {\n display: none;\n}\n\n.p-tablist-tab-list {\n position: relative;\n display: flex;\n background: ".concat(dt2("tabs.tablist.background"), ";\n border-style: solid;\n border-color: ").concat(dt2("tabs.tablist.border.color"), ";\n border-width: ").concat(dt2("tabs.tablist.border.width"), ";\n}\n\n.p-tablist-content {\n flex-grow: 1;\n}\n\n.p-tablist-nav-button {\n all: unset;\n position: absolute !important;\n flex-shrink: 0;\n top: 0;\n z-index: 2;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n background: ").concat(dt2("tabs.nav.button.background"), ";\n color: ").concat(dt2("tabs.nav.button.color"), ";\n width: ").concat(dt2("tabs.nav.button.width"), ";\n transition: color ").concat(dt2("tabs.transition.duration"), ", outline-color ").concat(dt2("tabs.transition.duration"), ", box-shadow ").concat(dt2("tabs.transition.duration"), ";\n box-shadow: ").concat(dt2("tabs.nav.button.shadow"), ";\n outline-color: transparent;\n cursor: pointer;\n}\n\n.p-tablist-nav-button:focus-visible {\n z-index: 1;\n box-shadow: ").concat(dt2("tabs.nav.button.focus.ring.shadow"), ";\n outline: ").concat(dt2("tabs.nav.button.focus.ring.width"), " ").concat(dt2("tabs.nav.button.focus.ring.style"), " ").concat(dt2("tabs.nav.button.focus.ring.color"), ";\n outline-offset: ").concat(dt2("tabs.nav.button.focus.ring.offset"), ";\n}\n\n.p-tablist-nav-button:hover {\n color: ").concat(dt2("tabs.nav.button.hover.color"), ";\n}\n\n.p-tablist-prev-button {\n left: 0;\n}\n\n.p-tablist-next-button {\n right: 0;\n}\n\n.p-tab {\n flex-shrink: 0;\n cursor: pointer;\n user-select: none;\n position: relative;\n border-style: solid;\n white-space: nowrap;\n background: ").concat(dt2("tabs.tab.background"), ";\n border-width: ").concat(dt2("tabs.tab.border.width"), ";\n border-color: ").concat(dt2("tabs.tab.border.color"), ";\n color: ").concat(dt2("tabs.tab.color"), ";\n padding: ").concat(dt2("tabs.tab.padding"), ";\n font-weight: ").concat(dt2("tabs.tab.font.weight"), ";\n transition: background ").concat(dt2("tabs.transition.duration"), ", border-color ").concat(dt2("tabs.transition.duration"), ", color ").concat(dt2("tabs.transition.duration"), ", outline-color ").concat(dt2("tabs.transition.duration"), ", box-shadow ").concat(dt2("tabs.transition.duration"), ";\n margin: ").concat(dt2("tabs.tab.margin"), ";\n outline-color: transparent;\n}\n\n.p-tab:not(.p-disabled):focus-visible {\n z-index: 1;\n box-shadow: ").concat(dt2("tabs.tab.focus.ring.shadow"), ";\n outline: ").concat(dt2("tabs.tab.focus.ring.width"), " ").concat(dt2("tabs.tab.focus.ring.style"), " ").concat(dt2("tabs.tab.focus.ring.color"), ";\n outline-offset: ").concat(dt2("tabs.tab.focus.ring.offset"), ";\n}\n\n.p-tab:not(.p-tab-active):not(.p-disabled):hover {\n background: ").concat(dt2("tabs.tab.hover.background"), ";\n border-color: ").concat(dt2("tabs.tab.hover.border.color"), ";\n color: ").concat(dt2("tabs.tab.hover.color"), ";\n}\n\n.p-tab-active {\n background: ").concat(dt2("tabs.tab.active.background"), ";\n border-color: ").concat(dt2("tabs.tab.active.border.color"), ";\n color: ").concat(dt2("tabs.tab.active.color"), ";\n}\n\n.p-tabpanels {\n background: ").concat(dt2("tabs.tabpanel.background"), ";\n color: ").concat(dt2("tabs.tabpanel.color"), ";\n padding: ").concat(dt2("tabs.tabpanel.padding"), ";\n outline: 0 none;\n}\n\n.p-tabpanel:focus-visible {\n box-shadow: ").concat(dt2("tabs.tabpanel.focus.ring.shadow"), ";\n outline: ").concat(dt2("tabs.tabpanel.focus.ring.width"), " ").concat(dt2("tabs.tabpanel.focus.ring.style"), " ").concat(dt2("tabs.tabpanel.focus.ring.color"), ";\n outline-offset: ").concat(dt2("tabs.tabpanel.focus.ring.offset"), ";\n}\n\n.p-tablist-active-bar {\n z-index: 1;\n display: block;\n position: absolute;\n bottom: ").concat(dt2("tabs.active.bar.bottom"), ";\n height: ").concat(dt2("tabs.active.bar.height"), ";\n background: ").concat(dt2("tabs.active.bar.background"), ";\n transition: 250ms cubic-bezier(0.35, 0, 0.25, 1);\n}\n"); -}, "theme"); -var classes$p = { - root: /* @__PURE__ */ __name(function root7(_ref2) { - var props = _ref2.props; - return ["p-tabs p-component", { - "p-tabs-scrollable": props.scrollable - }]; - }, "root") -}; -var TabsStyle = BaseStyle.extend({ - name: "tabs", - theme: theme$n, - classes: classes$p -}); -var script$1$o = { - name: "BaseTabs", - "extends": script$U, - props: { - value: { - type: [String, Number], - "default": void 0 - }, - lazy: { - type: Boolean, - "default": false - }, - scrollable: { - type: Boolean, - "default": false - }, - showNavigators: { - type: Boolean, - "default": true - }, - tabindex: { - type: Number, - "default": 0 - }, - selectOnFocus: { - type: Boolean, - "default": false - } - }, - style: TabsStyle, - provide: /* @__PURE__ */ __name(function provide12() { - return { - $pcTabs: this, - $parentInstance: this - }; - }, "provide") -}; -var script$B = { - name: "Tabs", - "extends": script$1$o, - inheritAttrs: false, - emits: ["update:value"], - data: /* @__PURE__ */ __name(function data6() { - return { - id: this.$attrs.id, - d_value: this.value - }; - }, "data"), - watch: { - "$attrs.id": /* @__PURE__ */ __name(function $attrsId3(newValue) { - this.id = newValue || UniqueComponentId(); - }, "$attrsId"), - value: /* @__PURE__ */ __name(function value(newValue) { - this.d_value = newValue; - }, "value") - }, - mounted: /* @__PURE__ */ __name(function mounted6() { - this.id = this.id || UniqueComponentId(); - }, "mounted"), - methods: { - updateValue: /* @__PURE__ */ __name(function updateValue(newValue) { - if (this.d_value !== newValue) { - this.d_value = newValue; - this.$emit("update:value", newValue); - } - }, "updateValue"), - isVertical: /* @__PURE__ */ __name(function isVertical2() { - return this.orientation === "vertical"; - }, "isVertical") - } -}; -function render$A(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("div", mergeProps$1({ - "class": _ctx.cx("root") - }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); -} -__name(render$A, "render$A"); -script$B.render = render$A; -var classes$o = { - root: "p-tabpanels" -}; -var TabPanelsStyle = BaseStyle.extend({ - name: "tabpanels", - classes: classes$o -}); -var script$1$n = { - name: "BaseTabPanels", - "extends": script$U, - props: {}, - style: TabPanelsStyle, - provide: /* @__PURE__ */ __name(function provide13() { - return { - $pcTabPanels: this, - $parentInstance: this - }; - }, "provide") -}; -var script$A = { - name: "TabPanels", - "extends": script$1$n, - inheritAttrs: false -}; -function render$z(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("div", mergeProps$1({ - "class": _ctx.cx("root"), - role: "presentation" - }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); -} -__name(render$z, "render$z"); -script$A.render = render$z; -var classes$n = { - root: /* @__PURE__ */ __name(function root8(_ref) { - var instance = _ref.instance; - return ["p-tabpanel", { - "p-tabpanel-active": instance.active - }]; - }, "root") -}; -var TabPanelStyle = BaseStyle.extend({ - name: "tabpanel", - classes: classes$n -}); -var script$1$m = { - name: "BaseTabPanel", - "extends": script$U, - props: { - // in Tabs - value: { - type: [String, Number], - "default": void 0 - }, - as: { - type: [String, Object], - "default": "DIV" - }, - asChild: { - type: Boolean, - "default": false - }, - // in TabView - header: null, - headerStyle: null, - headerClass: null, - headerProps: null, - headerActionProps: null, - contentStyle: null, - contentClass: null, - contentProps: null, - disabled: Boolean - }, - style: TabPanelStyle, - provide: /* @__PURE__ */ __name(function provide14() { - return { - $pcTabPanel: this, - $parentInstance: this - }; - }, "provide") -}; -var script$z = { - name: "TabPanel", - "extends": script$1$m, - inheritAttrs: false, - inject: ["$pcTabs"], - computed: { - active: /* @__PURE__ */ __name(function active() { - var _this$$pcTabs; - return equals((_this$$pcTabs = this.$pcTabs) === null || _this$$pcTabs === void 0 ? void 0 : _this$$pcTabs.d_value, this.value); - }, "active"), - id: /* @__PURE__ */ __name(function id2() { - var _this$$pcTabs2; - return "".concat((_this$$pcTabs2 = this.$pcTabs) === null || _this$$pcTabs2 === void 0 ? void 0 : _this$$pcTabs2.id, "_tabpanel_").concat(this.value); - }, "id"), - ariaLabelledby: /* @__PURE__ */ __name(function ariaLabelledby() { - var _this$$pcTabs3; - return "".concat((_this$$pcTabs3 = this.$pcTabs) === null || _this$$pcTabs3 === void 0 ? void 0 : _this$$pcTabs3.id, "_tab_").concat(this.value); - }, "ariaLabelledby"), - attrs: /* @__PURE__ */ __name(function attrs2() { - return mergeProps$1(this.a11yAttrs, this.ptmi("root", this.ptParams)); - }, "attrs"), - a11yAttrs: /* @__PURE__ */ __name(function a11yAttrs2() { - var _this$$pcTabs4; - return { - id: this.id, - tabindex: (_this$$pcTabs4 = this.$pcTabs) === null || _this$$pcTabs4 === void 0 ? void 0 : _this$$pcTabs4.tabindex, - role: "tabpanel", - "aria-labelledby": this.ariaLabelledby, - "data-pc-name": "tabpanel", - "data-p-active": this.active - }; - }, "a11yAttrs"), - ptParams: /* @__PURE__ */ __name(function ptParams() { - return { - context: { - active: this.active - } - }; - }, "ptParams") - } -}; -function render$y(_ctx, _cache, $props, $setup, $data, $options) { - var _$options$$pcTabs, _$options$$pcTabs2; - return !$options.$pcTabs ? renderSlot(_ctx.$slots, "default", { - key: 0 - }) : (openBlock(), createElementBlock(Fragment, { - key: 1 - }, [!_ctx.asChild ? (openBlock(), createElementBlock(Fragment, { - key: 0 - }, [((_$options$$pcTabs = $options.$pcTabs) !== null && _$options$$pcTabs !== void 0 && _$options$$pcTabs.lazy ? $options.active : true) ? withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps$1({ - key: 0, - "class": _ctx.cx("root") - }, $options.attrs), { - "default": withCtx(function() { - return [renderSlot(_ctx.$slots, "default")]; - }), - _: 3 - }, 16, ["class"])), [[vShow, (_$options$$pcTabs2 = $options.$pcTabs) !== null && _$options$$pcTabs2 !== void 0 && _$options$$pcTabs2.lazy ? true : $options.active]]) : createCommentVNode("", true)], 64)) : renderSlot(_ctx.$slots, "default", { - key: 1, - "class": normalizeClass(_ctx.cx("root")), - active: $options.active, - a11yAttrs: $options.a11yAttrs - })], 64)); -} -__name(render$y, "render$y"); -script$z.render = render$y; -var theme$m = /* @__PURE__ */ __name(function theme13(_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 top: 50%;\n left: 0;\n width: 100%;\n content: "";\n border-top: 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 margin: 0 1rem;\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 top: 0;\n left: 50%;\n height: 100%;\n content: "";\n border-left: 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-top-style: solid;\n}\n\n.p-divider-solid.p-divider-vertical:before {\n border-left-style: solid;\n}\n\n.p-divider-dashed.p-divider-horizontal:before {\n border-top-style: dashed;\n}\n\n.p-divider-dashed.p-divider-vertical:before {\n border-left-style: dashed;\n}\n\n.p-divider-dotted.p-divider-horizontal:before {\n border-top-style: dotted;\n}\n\n.p-divider-dotted.p-divider-vertical:before {\n border-left-style: dotted;\n}\n"); -}, "theme"); -var inlineStyles$3 = { - root: /* @__PURE__ */ __name(function root9(_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, - alignItems: props.layout === "vertical" ? props.align === "center" || props.align === null ? "center" : props.align === "top" ? "flex-start" : props.align === "bottom" ? "flex-end" : null : null - }; - }, "root") -}; -var classes$m = { - root: /* @__PURE__ */ __name(function root10(_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") - }, { - "p-divider-center": props.layout === "horizontal" && props.align === "center" - }, { - "p-divider-right": props.layout === "horizontal" && props.align === "right" - }, { - "p-divider-top": props.layout === "vertical" && props.align === "top" - }, { - "p-divider-center": props.layout === "vertical" && (!props.align || props.align === "center") - }, { - "p-divider-bottom": props.layout === "vertical" && props.align === "bottom" - }]; - }, "root"), - content: "p-divider-content" -}; -var DividerStyle = BaseStyle.extend({ - name: "divider", - theme: theme$m, - classes: classes$m, - inlineStyles: inlineStyles$3 -}); -var script$1$l = { - name: "BaseDivider", - "extends": script$U, - props: { - align: { - type: String, - "default": null - }, - layout: { - type: String, - "default": "horizontal" - }, - type: { - type: String, - "default": "solid" - } - }, - style: DividerStyle, - provide: /* @__PURE__ */ __name(function provide15() { - return { - $pcDivider: this, - $parentInstance: this - }; - }, "provide") -}; -var script$y = { - name: "Divider", - "extends": script$1$l, - inheritAttrs: false -}; -var _hoisted_1$J = ["aria-orientation"]; -function render$x(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("div", mergeProps$1({ - "class": _ctx.cx("root"), - style: _ctx.sx("root"), - role: "separator", - "aria-orientation": _ctx.layout - }, _ctx.ptmi("root")), [_ctx.$slots["default"] ? (openBlock(), createElementBlock("div", mergeProps$1({ - key: 0, - "class": _ctx.cx("content") - }, _ctx.ptm("content")), [renderSlot(_ctx.$slots, "default")], 16)) : createCommentVNode("", true)], 16, _hoisted_1$J); -} -__name(render$x, "render$x"); -script$y.render = render$x; -var theme$l = /* @__PURE__ */ __name(function theme14(_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: 0 calc(2 * ").concat(dt2("scrollpanel.bar.size"), ") calc(2 * ").concat(dt2("scrollpanel.bar.size"), ") 0;\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 transition: outline-color ").concat(dt2("scrollpanel.transition.duration"), ";\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 top: 0;\n}\n\n.p-scrollpanel-bar-x {\n height: ").concat(dt2("scrollpanel.bar.size"), ";\n bottom: 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$l = { - root: "p-scrollpanel p-component", - contentContainer: "p-scrollpanel-content-container", - content: "p-scrollpanel-content", - barX: "p-scrollpanel-bar p-scrollpanel-bar-x", - barY: "p-scrollpanel-bar p-scrollpanel-bar-y" -}; -var ScrollPanelStyle = BaseStyle.extend({ - name: "scrollpanel", - theme: theme$l, - classes: classes$l -}); -var script$1$k = { - name: "BaseScrollPanel", - "extends": script$U, - props: { - step: { - type: Number, - "default": 5 - } - }, - style: ScrollPanelStyle, - provide: /* @__PURE__ */ __name(function provide16() { - return { - $pcScrollPanel: this, - $parentInstance: this - }; - }, "provide") -}; -var script$x = { - name: "ScrollPanel", - "extends": script$1$k, - inheritAttrs: false, - initialized: false, - documentResizeListener: null, - documentMouseMoveListener: null, - documentMouseUpListener: null, - frame: null, - scrollXRatio: null, - scrollYRatio: null, - isXBarClicked: false, - isYBarClicked: false, - lastPageX: null, - lastPageY: null, - timer: null, - outsideClickListener: null, - data: /* @__PURE__ */ __name(function data7() { - return { - id: this.$attrs.id, - orientation: "vertical", - lastScrollTop: 0, - lastScrollLeft: 0 - }; - }, "data"), - watch: { - "$attrs.id": /* @__PURE__ */ __name(function $attrsId4(newValue) { - this.id = newValue || UniqueComponentId(); - }, "$attrsId") - }, - mounted: /* @__PURE__ */ __name(function mounted7() { - this.id = this.id || UniqueComponentId(); - if (this.$el.offsetParent) { - this.initialize(); - } - }, "mounted"), - updated: /* @__PURE__ */ __name(function updated4() { - if (!this.initialized && this.$el.offsetParent) { - this.initialize(); - } - }, "updated"), - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount3() { - this.unbindDocumentResizeListener(); - if (this.frame) { - window.cancelAnimationFrame(this.frame); - } - }, "beforeUnmount"), - methods: { - initialize: /* @__PURE__ */ __name(function initialize() { - this.moveBar(); - this.bindDocumentResizeListener(); - this.calculateContainerHeight(); - }, "initialize"), - calculateContainerHeight: /* @__PURE__ */ __name(function calculateContainerHeight() { - var containerStyles = getComputedStyle(this.$el), xBarStyles = getComputedStyle(this.$refs.xBar), pureContainerHeight = getHeight(this.$el) - parseInt(xBarStyles["height"], 10); - if (containerStyles["max-height"] !== "none" && pureContainerHeight === 0) { - if (this.$refs.content.offsetHeight + parseInt(xBarStyles["height"], 10) > parseInt(containerStyles["max-height"], 10)) { - this.$el.style.height = containerStyles["max-height"]; - } else { - this.$el.style.height = this.$refs.content.offsetHeight + parseFloat(containerStyles.paddingTop) + parseFloat(containerStyles.paddingBottom) + parseFloat(containerStyles.borderTopWidth) + parseFloat(containerStyles.borderBottomWidth) + "px"; - } - } - }, "calculateContainerHeight"), - moveBar: /* @__PURE__ */ __name(function moveBar() { - var _this = this; - if (this.$refs.content) { - var totalWidth = this.$refs.content.scrollWidth; - var ownWidth = this.$refs.content.clientWidth; - var bottom = (this.$el.clientHeight - this.$refs.xBar.clientHeight) * -1; - this.scrollXRatio = ownWidth / totalWidth; - var totalHeight = this.$refs.content.scrollHeight; - var ownHeight = this.$refs.content.clientHeight; - var right = (this.$el.clientWidth - this.$refs.yBar.clientWidth) * -1; - this.scrollYRatio = ownHeight / totalHeight; - this.frame = this.requestAnimationFrame(function() { - if (_this.$refs.xBar) { - if (_this.scrollXRatio >= 1) { - _this.$refs.xBar.setAttribute("data-p-scrollpanel-hidden", "true"); - !_this.isUnstyled && addClass(_this.$refs.xBar, "p-scrollpanel-hidden"); - } else { - _this.$refs.xBar.setAttribute("data-p-scrollpanel-hidden", "false"); - !_this.isUnstyled && removeClass(_this.$refs.xBar, "p-scrollpanel-hidden"); - _this.$refs.xBar.style.cssText = "width:" + Math.max(_this.scrollXRatio * 100, 10) + "%; left:" + _this.$refs.content.scrollLeft / totalWidth * 100 + "%;bottom:" + bottom + "px;"; - } - } - if (_this.$refs.yBar) { - if (_this.scrollYRatio >= 1) { - _this.$refs.yBar.setAttribute("data-p-scrollpanel-hidden", "true"); - !_this.isUnstyled && addClass(_this.$refs.yBar, "p-scrollpanel-hidden"); - } else { - _this.$refs.yBar.setAttribute("data-p-scrollpanel-hidden", "false"); - !_this.isUnstyled && removeClass(_this.$refs.yBar, "p-scrollpanel-hidden"); - _this.$refs.yBar.style.cssText = "height:" + Math.max(_this.scrollYRatio * 100, 10) + "%; top: calc(" + _this.$refs.content.scrollTop / totalHeight * 100 + "% - " + _this.$refs.xBar.clientHeight + "px);right:" + right + "px;"; - } - } - }); - } - }, "moveBar"), - onYBarMouseDown: /* @__PURE__ */ __name(function onYBarMouseDown(e) { - this.isYBarClicked = true; - this.$refs.yBar.focus(); - this.lastPageY = e.pageY; - this.$refs.yBar.setAttribute("data-p-scrollpanel-grabbed", "true"); - !this.isUnstyled && addClass(this.$refs.yBar, "p-scrollpanel-grabbed"); - document.body.setAttribute("data-p-scrollpanel-grabbed", "true"); - !this.isUnstyled && addClass(document.body, "p-scrollpanel-grabbed"); - this.bindDocumentMouseListeners(); - e.preventDefault(); - }, "onYBarMouseDown"), - onXBarMouseDown: /* @__PURE__ */ __name(function onXBarMouseDown(e) { - this.isXBarClicked = true; - this.$refs.xBar.focus(); - this.lastPageX = e.pageX; - this.$refs.yBar.setAttribute("data-p-scrollpanel-grabbed", "false"); - !this.isUnstyled && addClass(this.$refs.xBar, "p-scrollpanel-grabbed"); - document.body.setAttribute("data-p-scrollpanel-grabbed", "false"); - !this.isUnstyled && addClass(document.body, "p-scrollpanel-grabbed"); - this.bindDocumentMouseListeners(); - e.preventDefault(); - }, "onXBarMouseDown"), - onScroll: /* @__PURE__ */ __name(function onScroll2(event2) { - if (this.lastScrollLeft !== event2.target.scrollLeft) { - this.lastScrollLeft = event2.target.scrollLeft; - this.orientation = "horizontal"; - } else if (this.lastScrollTop !== event2.target.scrollTop) { - this.lastScrollTop = event2.target.scrollTop; - this.orientation = "vertical"; - } - this.moveBar(); - }, "onScroll"), - onKeyDown: /* @__PURE__ */ __name(function onKeyDown3(event2) { - if (this.orientation === "vertical") { - switch (event2.code) { - case "ArrowDown": { - this.setTimer("scrollTop", this.step); - event2.preventDefault(); - break; - } - case "ArrowUp": { - this.setTimer("scrollTop", this.step * -1); - event2.preventDefault(); - break; - } - case "ArrowLeft": - case "ArrowRight": { - event2.preventDefault(); - break; - } - } - } else if (this.orientation === "horizontal") { - switch (event2.code) { - case "ArrowRight": { - this.setTimer("scrollLeft", this.step); - event2.preventDefault(); - break; - } - case "ArrowLeft": { - this.setTimer("scrollLeft", this.step * -1); - event2.preventDefault(); - break; - } - case "ArrowDown": - case "ArrowUp": { - event2.preventDefault(); - break; - } - } - } - }, "onKeyDown"), - onKeyUp: /* @__PURE__ */ __name(function onKeyUp2() { - this.clearTimer(); - }, "onKeyUp"), - repeat: /* @__PURE__ */ __name(function repeat(bar, step2) { - this.$refs.content[bar] += step2; - this.moveBar(); - }, "repeat"), - setTimer: /* @__PURE__ */ __name(function setTimer(bar, step2) { - var _this2 = this; - this.clearTimer(); - this.timer = setTimeout(function() { - _this2.repeat(bar, step2); - }, 40); - }, "setTimer"), - clearTimer: /* @__PURE__ */ __name(function clearTimer() { - if (this.timer) { - clearTimeout(this.timer); - } - }, "clearTimer"), - onDocumentMouseMove: /* @__PURE__ */ __name(function onDocumentMouseMove(e) { - if (this.isXBarClicked) { - this.onMouseMoveForXBar(e); - } else if (this.isYBarClicked) { - this.onMouseMoveForYBar(e); - } else { - this.onMouseMoveForXBar(e); - this.onMouseMoveForYBar(e); - } - }, "onDocumentMouseMove"), - onMouseMoveForXBar: /* @__PURE__ */ __name(function onMouseMoveForXBar(e) { - var _this3 = this; - var deltaX = e.pageX - this.lastPageX; - this.lastPageX = e.pageX; - this.frame = this.requestAnimationFrame(function() { - _this3.$refs.content.scrollLeft += deltaX / _this3.scrollXRatio; - }); - }, "onMouseMoveForXBar"), - onMouseMoveForYBar: /* @__PURE__ */ __name(function onMouseMoveForYBar(e) { - var _this4 = this; - var deltaY = e.pageY - this.lastPageY; - this.lastPageY = e.pageY; - this.frame = this.requestAnimationFrame(function() { - _this4.$refs.content.scrollTop += deltaY / _this4.scrollYRatio; - }); - }, "onMouseMoveForYBar"), - onFocus: /* @__PURE__ */ __name(function onFocus3(event2) { - if (this.$refs.xBar.isSameNode(event2.target)) { - this.orientation = "horizontal"; - } else if (this.$refs.yBar.isSameNode(event2.target)) { - this.orientation = "vertical"; - } - }, "onFocus"), - onBlur: /* @__PURE__ */ __name(function onBlur3() { - if (this.orientation === "horizontal") { - this.orientation = "vertical"; - } - }, "onBlur"), - onDocumentMouseUp: /* @__PURE__ */ __name(function onDocumentMouseUp() { - this.$refs.yBar.setAttribute("data-p-scrollpanel-grabbed", "false"); - !this.isUnstyled && removeClass(this.$refs.yBar, "p-scrollpanel-grabbed"); - this.$refs.xBar.setAttribute("data-p-scrollpanel-grabbed", "false"); - !this.isUnstyled && removeClass(this.$refs.xBar, "p-scrollpanel-grabbed"); - document.body.setAttribute("data-p-scrollpanel-grabbed", "false"); - !this.isUnstyled && removeClass(document.body, "p-scrollpanel-grabbed"); - this.unbindDocumentMouseListeners(); - this.isXBarClicked = false; - this.isYBarClicked = false; - }, "onDocumentMouseUp"), - requestAnimationFrame: /* @__PURE__ */ __name(function requestAnimationFrame2(f) { - var frame = window.requestAnimationFrame || this.timeoutFrame; - return frame(f); - }, "requestAnimationFrame"), - refresh: /* @__PURE__ */ __name(function refresh() { - this.moveBar(); - }, "refresh"), - scrollTop: /* @__PURE__ */ __name(function scrollTop(_scrollTop) { - var scrollableHeight = this.$refs.content.scrollHeight - this.$refs.content.clientHeight; - _scrollTop = _scrollTop > scrollableHeight ? scrollableHeight : _scrollTop > 0 ? _scrollTop : 0; - this.$refs.content.scrollTop = _scrollTop; - }, "scrollTop"), - timeoutFrame: /* @__PURE__ */ __name(function timeoutFrame(fn) { - setTimeout(fn, 0); - }, "timeoutFrame"), - bindDocumentMouseListeners: /* @__PURE__ */ __name(function bindDocumentMouseListeners() { - var _this5 = this; - if (!this.documentMouseMoveListener) { - this.documentMouseMoveListener = function(e) { - _this5.onDocumentMouseMove(e); - }; - document.addEventListener("mousemove", this.documentMouseMoveListener); - } - if (!this.documentMouseUpListener) { - this.documentMouseUpListener = function(e) { - _this5.onDocumentMouseUp(e); - }; - document.addEventListener("mouseup", this.documentMouseUpListener); - } - }, "bindDocumentMouseListeners"), - unbindDocumentMouseListeners: /* @__PURE__ */ __name(function unbindDocumentMouseListeners() { - if (this.documentMouseMoveListener) { - document.removeEventListener("mousemove", this.documentMouseMoveListener); - this.documentMouseMoveListener = null; - } - if (this.documentMouseUpListener) { - document.removeEventListener("mouseup", this.documentMouseUpListener); - this.documentMouseUpListener = null; - } - }, "unbindDocumentMouseListeners"), - bindDocumentResizeListener: /* @__PURE__ */ __name(function bindDocumentResizeListener() { - var _this6 = this; - if (!this.documentResizeListener) { - this.documentResizeListener = function() { - _this6.moveBar(); - }; - window.addEventListener("resize", this.documentResizeListener); - } - }, "bindDocumentResizeListener"), - unbindDocumentResizeListener: /* @__PURE__ */ __name(function unbindDocumentResizeListener() { - if (this.documentResizeListener) { - window.removeEventListener("resize", this.documentResizeListener); - this.documentResizeListener = null; - } - }, "unbindDocumentResizeListener") - }, - computed: { - contentId: /* @__PURE__ */ __name(function contentId() { - return this.id + "_content"; - }, "contentId") - } -}; -var _hoisted_1$I = ["id"]; -var _hoisted_2$v = ["aria-controls", "aria-valuenow"]; -var _hoisted_3$l = ["aria-controls", "aria-valuenow"]; -function render$w(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("div", mergeProps$1({ - "class": _ctx.cx("root") - }, _ctx.ptmi("root")), [createBaseVNode("div", mergeProps$1({ - "class": _ctx.cx("contentContainer") - }, _ctx.ptm("contentContainer")), [createBaseVNode("div", mergeProps$1({ - ref: "content", - id: $options.contentId, - "class": _ctx.cx("content"), - onScroll: _cache[0] || (_cache[0] = function() { - return $options.onScroll && $options.onScroll.apply($options, arguments); - }), - onMouseenter: _cache[1] || (_cache[1] = function() { - return $options.moveBar && $options.moveBar.apply($options, arguments); - }) - }, _ctx.ptm("content")), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1$I)], 16), createBaseVNode("div", mergeProps$1({ - ref: "xBar", - "class": _ctx.cx("barx"), - tabindex: "0", - role: "scrollbar", - "aria-orientation": "horizontal", - "aria-controls": $options.contentId, - "aria-valuenow": $data.lastScrollLeft, - onMousedown: _cache[2] || (_cache[2] = function() { - return $options.onXBarMouseDown && $options.onXBarMouseDown.apply($options, arguments); - }), - onKeydown: _cache[3] || (_cache[3] = function($event) { - return $options.onKeyDown($event); - }), - onKeyup: _cache[4] || (_cache[4] = function() { - return $options.onKeyUp && $options.onKeyUp.apply($options, arguments); - }), - onFocus: _cache[5] || (_cache[5] = function() { - return $options.onFocus && $options.onFocus.apply($options, arguments); - }), - onBlur: _cache[6] || (_cache[6] = function() { - return $options.onBlur && $options.onBlur.apply($options, arguments); - }) - }, _ctx.ptm("barx"), { - "data-pc-group-section": "bar" - }), null, 16, _hoisted_2$v), createBaseVNode("div", mergeProps$1({ - ref: "yBar", - "class": _ctx.cx("bary"), - tabindex: "0", - role: "scrollbar", - "aria-orientation": "vertical", - "aria-controls": $options.contentId, - "aria-valuenow": $data.lastScrollTop, - onMousedown: _cache[7] || (_cache[7] = function() { - return $options.onYBarMouseDown && $options.onYBarMouseDown.apply($options, arguments); - }), - onKeydown: _cache[8] || (_cache[8] = function($event) { - return $options.onKeyDown($event); - }), - onKeyup: _cache[9] || (_cache[9] = function() { - return $options.onKeyUp && $options.onKeyUp.apply($options, arguments); - }), - onFocus: _cache[10] || (_cache[10] = function() { - return $options.onFocus && $options.onFocus.apply($options, arguments); - }) - }, _ctx.ptm("bary"), { - "data-pc-group-section": "bar" - }), null, 16, _hoisted_3$l)], 16); -} -__name(render$w, "render$w"); -script$x.render = render$w; -var script$w = { - name: "AngleDownIcon", - "extends": script$T -}; -function render$v(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("svg", mergeProps$1({ - 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: "M3.58659 4.5007C3.68513 4.50023 3.78277 4.51945 3.87379 4.55723C3.9648 4.59501 4.04735 4.65058 4.11659 4.7207L7.11659 7.7207L10.1166 4.7207C10.2619 4.65055 10.4259 4.62911 10.5843 4.65956C10.7427 4.69002 10.8871 4.77074 10.996 4.88976C11.1049 5.00877 11.1726 5.15973 11.1889 5.32022C11.2052 5.48072 11.1693 5.6422 11.0866 5.7807L7.58659 9.2807C7.44597 9.42115 7.25534 9.50004 7.05659 9.50004C6.85784 9.50004 6.66722 9.42115 6.52659 9.2807L3.02659 5.7807C2.88614 5.64007 2.80725 5.44945 2.80725 5.2507C2.80725 5.05195 2.88614 4.86132 3.02659 4.7207C3.09932 4.64685 3.18675 4.58911 3.28322 4.55121C3.37969 4.51331 3.48305 4.4961 3.58659 4.5007Z", - fill: "currentColor" - }, null, -1)]), 16); -} -__name(render$v, "render$v"); -script$w.render = render$v; -var script$v = { - name: "AngleUpIcon", - "extends": script$T -}; -function render$u(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("svg", mergeProps$1({ - 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.4134 9.49931C10.3148 9.49977 10.2172 9.48055 10.1262 9.44278C10.0352 9.405 9.95263 9.34942 9.88338 9.27931L6.88338 6.27931L3.88338 9.27931C3.73811 9.34946 3.57409 9.3709 3.41567 9.34044C3.25724 9.30999 3.11286 9.22926 3.00395 9.11025C2.89504 8.99124 2.82741 8.84028 2.8111 8.67978C2.79478 8.51928 2.83065 8.35781 2.91338 8.21931L6.41338 4.71931C6.55401 4.57886 6.74463 4.49997 6.94338 4.49997C7.14213 4.49997 7.33276 4.57886 7.47338 4.71931L10.9734 8.21931C11.1138 8.35994 11.1927 8.55056 11.1927 8.74931C11.1927 8.94806 11.1138 9.13868 10.9734 9.27931C10.9007 9.35315 10.8132 9.41089 10.7168 9.44879C10.6203 9.48669 10.5169 9.5039 10.4134 9.49931Z", - fill: "currentColor" - }, null, -1)]), 16); -} -__name(render$u, "render$u"); -script$v.render = render$u; -var theme$k = /* @__PURE__ */ __name(function theme15(_ref) { - var dt2 = _ref.dt; - return "\n.p-inputnumber {\n display: inline-flex;\n position: relative;\n}\n\n.p-inputnumber-button {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 auto;\n cursor: pointer;\n background: ".concat(dt2("inputnumber.button.background"), ";\n color: ").concat(dt2("inputnumber.button.color"), ";\n width: ").concat(dt2("inputnumber.button.width"), ";\n transition: background ").concat(dt2("inputnumber.transition.duration"), ", color ").concat(dt2("inputnumber.transition.duration"), ", border-color ").concat(dt2("inputnumber.transition.duration"), ", outline-color ").concat(dt2("inputnumber.transition.duration"), ";\n}\n\n.p-inputnumber-button:hover {\n background: ").concat(dt2("inputnumber.button.hover.background"), ";\n color: ").concat(dt2("inputnumber.button.hover.color"), ";\n}\n\n.p-inputnumber-button:active {\n background: ").concat(dt2("inputnumber.button.active.background"), ";\n color: ").concat(dt2("inputnumber.button.active.color"), ";\n}\n\n.p-inputnumber-stacked .p-inputnumber-button {\n position: relative;\n border: 0 none;\n}\n\n.p-inputnumber-stacked .p-inputnumber-button-group {\n display: flex;\n flex-direction: column;\n position: absolute;\n top: 1px;\n right: 1px;\n height: calc(100% - 2px);\n z-index: 1;\n}\n\n.p-inputnumber-stacked .p-inputnumber-increment-button {\n padding: 0;\n border-top-right-radius: calc(").concat(dt2("inputnumber.button.border.radius"), " - 1px);\n}\n\n.p-inputnumber-stacked .p-inputnumber-decrement-button {\n padding: 0;\n border-bottom-right-radius: calc(").concat(dt2("inputnumber.button.border.radius"), " - 1px);\n}\n\n.p-inputnumber-stacked .p-inputnumber-button {\n flex: 1 1 auto;\n border: 0 none;\n}\n\n.p-inputnumber-horizontal .p-inputnumber-button {\n border: 1px solid ").concat(dt2("inputnumber.button.border.color"), ";\n}\n\n.p-inputnumber-horizontal .p-inputnumber-button:hover {\n border-color: ").concat(dt2("inputnumber.button.hover.border.color"), ";\n}\n\n.p-inputnumber-horizontal .p-inputnumber-button:active {\n border-color: ").concat(dt2("inputnumber.button.active.border.color"), ";\n}\n\n.p-inputnumber-horizontal .p-inputnumber-increment-button {\n order: 3;\n border-top-right-radius: ").concat(dt2("inputnumber.button.border.radius"), ";\n border-bottom-right-radius: ").concat(dt2("inputnumber.button.border.radius"), ";\n border-left: 0 none;\n}\n\n.p-inputnumber-horizontal .p-inputnumber-input {\n order: 2;\n border-radius: 0;\n}\n\n.p-inputnumber-horizontal .p-inputnumber-decrement-button {\n order: 1;\n border-top-left-radius: ").concat(dt2("inputnumber.button.border.radius"), ";\n border-bottom-left-radius: ").concat(dt2("inputnumber.button.border.radius"), ";\n border-right: 0 none;\n}\n\n.p-floatlabel:has(.p-inputnumber-horizontal) label {\n margin-inline-start: ").concat(dt2("inputnumber.button.width"), ";\n}\n\n.p-inputnumber-vertical {\n flex-direction: column;\n}\n\n.p-inputnumber-vertical .p-inputnumber-button {\n border: 1px solid ").concat(dt2("inputnumber.button.border.color"), ";\n padding: ").concat(dt2("inputnumber.button.vertical.padding"), "; 0;\n}\n\n.p-inputnumber-vertical .p-inputnumber-button:hover {\n border-color: ").concat(dt2("inputnumber.button.hover.border.color"), ";\n}\n\n.p-inputnumber-vertical .p-inputnumber-button:active {\n border-color: ").concat(dt2("inputnumber.button.active.border.color"), ";\n}\n\n.p-inputnumber-vertical .p-inputnumber-increment-button {\n order: 1;\n border-top-left-radius: ").concat(dt2("inputnumber.button.border.radius"), ";\n border-top-right-radius: ").concat(dt2("inputnumber.button.border.radius"), ";\n width: 100%;\n border-bottom: 0 none;\n}\n\n.p-inputnumber-vertical .p-inputnumber-input {\n order: 2;\n border-radius: 0;\n text-align: center;\n}\n\n.p-inputnumber-vertical .p-inputnumber-decrement-button {\n order: 3;\n border-bottom-left-radius: ").concat(dt2("inputnumber.button.border.radius"), ";\n border-bottom-right-radius: ").concat(dt2("inputnumber.button.border.radius"), ";\n width: 100%;\n border-top: 0 none;\n}\n\n.p-inputnumber-input {\n flex: 1 1 auto;\n}\n\n.p-inputnumber-fluid {\n width: 100%;\n}\n\n.p-inputnumber-fluid .p-inputnumber-input {\n width: 1%;\n}\n\n.p-inputnumber-fluid.p-inputnumber-vertical .p-inputnumber-input {\n width: 100%;\n}\n"); -}, "theme"); -var classes$k = { - root: /* @__PURE__ */ __name(function root11(_ref2) { - var instance = _ref2.instance, props = _ref2.props; - return ["p-inputnumber p-component p-inputwrapper", { - "p-inputwrapper-filled": instance.filled || props.allowEmpty === false, - "p-inputwrapper-focus": instance.focused, - "p-inputnumber-stacked": props.showButtons && props.buttonLayout === "stacked", - "p-inputnumber-horizontal": props.showButtons && props.buttonLayout === "horizontal", - "p-inputnumber-vertical": props.showButtons && props.buttonLayout === "vertical", - "p-inputnumber-fluid": instance.hasFluid - }]; - }, "root"), - pcInputText: "p-inputnumber-input", - buttonGroup: "p-inputnumber-button-group", - incrementButton: /* @__PURE__ */ __name(function incrementButton(_ref3) { - var instance = _ref3.instance, props = _ref3.props; - return ["p-inputnumber-button p-inputnumber-increment-button", { - "p-disabled": props.showButtons && props.max !== null && instance.maxBoundry() - }]; - }, "incrementButton"), - decrementButton: /* @__PURE__ */ __name(function decrementButton(_ref4) { - var instance = _ref4.instance, props = _ref4.props; - return ["p-inputnumber-button p-inputnumber-decrement-button", { - "p-disabled": props.showButtons && props.min !== null && instance.minBoundry() - }]; - }, "decrementButton") -}; -var InputNumberStyle = BaseStyle.extend({ - name: "inputnumber", - theme: theme$k, - classes: classes$k -}); -var script$1$j = { - name: "BaseInputNumber", - "extends": script$U, - props: { - modelValue: { - type: Number, - "default": null - }, - format: { - type: Boolean, - "default": true - }, - showButtons: { - type: Boolean, - "default": false - }, - buttonLayout: { - type: String, - "default": "stacked" - }, - incrementButtonClass: { - type: String, - "default": null - }, - decrementButtonClass: { - type: String, - "default": null - }, - incrementButtonIcon: { - type: String, - "default": void 0 - }, - incrementIcon: { - type: String, - "default": void 0 - }, - decrementButtonIcon: { - type: String, - "default": void 0 - }, - decrementIcon: { - type: String, - "default": void 0 - }, - locale: { - type: String, - "default": void 0 - }, - localeMatcher: { - type: String, - "default": void 0 - }, - mode: { - type: String, - "default": "decimal" - }, - prefix: { - type: String, - "default": null - }, - suffix: { - type: String, - "default": null - }, - currency: { - type: String, - "default": void 0 - }, - currencyDisplay: { - type: String, - "default": void 0 - }, - useGrouping: { - type: Boolean, - "default": true - }, - minFractionDigits: { - type: Number, - "default": void 0 - }, - maxFractionDigits: { - type: Number, - "default": void 0 - }, - roundingMode: { - type: String, - "default": "halfExpand", - validator: /* @__PURE__ */ __name(function validator2(value3) { - return ["ceil", "floor", "expand", "trunc", "halfCeil", "halfFloor", "halfExpand", "halfTrunc", "halfEven"].includes(value3); - }, "validator") - }, - min: { - type: Number, - "default": null - }, - max: { - type: Number, - "default": null - }, - step: { - type: Number, - "default": 1 - }, - allowEmpty: { - type: Boolean, - "default": true - }, - highlightOnFocus: { - type: Boolean, - "default": false - }, - readonly: { - type: Boolean, - "default": false - }, - variant: { - type: String, - "default": null - }, - invalid: { - type: Boolean, - "default": false - }, - disabled: { - type: Boolean, - "default": false - }, - placeholder: { - type: String, - "default": null - }, - fluid: { - type: Boolean, - "default": null - }, - inputId: { - type: String, - "default": null - }, - inputClass: { - type: [String, Object], - "default": null - }, - inputStyle: { - type: Object, - "default": null - }, - ariaLabelledby: { - type: String, - "default": null - }, - ariaLabel: { - type: String, - "default": null - } - }, - style: InputNumberStyle, - provide: /* @__PURE__ */ __name(function provide17() { - return { - $pcInputNumber: this, - $parentInstance: this - }; - }, "provide") -}; -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$c(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$c, "ownKeys$c"); -function _objectSpread$c(e) { - for (var r = 1; r < arguments.length; r++) { - var t = null != arguments[r] ? arguments[r] : {}; - r % 2 ? ownKeys$c(Object(t), true).forEach(function(r2) { - _defineProperty$a(e, r2, t[r2]); - }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$c(Object(t)).forEach(function(r2) { - Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); - }); - } - return e; -} -__name(_objectSpread$c, "_objectSpread$c"); -function _defineProperty$a(e, r, t) { - return (r = _toPropertyKey$a(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; -} -__name(_defineProperty$a, "_defineProperty$a"); -function _toPropertyKey$a(t) { - var i2 = _toPrimitive$a(t, "string"); - return "symbol" == _typeof$a(i2) ? i2 : i2 + ""; -} -__name(_toPropertyKey$a, "_toPropertyKey$a"); -function _toPrimitive$a(t, r) { - if ("object" != _typeof$a(t) || !t) return t; - var e = t[Symbol.toPrimitive]; - if (void 0 !== e) { - var i2 = e.call(t, r || "default"); - if ("object" != _typeof$a(i2)) return i2; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return ("string" === r ? String : Number)(t); -} -__name(_toPrimitive$a, "_toPrimitive$a"); -function _toConsumableArray$6(r) { - return _arrayWithoutHoles$6(r) || _iterableToArray$6(r) || _unsupportedIterableToArray$9(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$9(r, a) { - if (r) { - if ("string" == typeof r) return _arrayLikeToArray$9(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$9(r, a) : void 0; - } -} -__name(_unsupportedIterableToArray$9, "_unsupportedIterableToArray$9"); -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$9(r); -} -__name(_arrayWithoutHoles$6, "_arrayWithoutHoles$6"); -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"); -var script$u = { - name: "InputNumber", - "extends": script$1$j, - inheritAttrs: false, - emits: ["update:modelValue", "input", "focus", "blur"], - inject: { - $pcFluid: { - "default": null - } - }, - numberFormat: null, - _numeral: null, - _decimal: null, - _group: null, - _minusSign: null, - _currency: null, - _suffix: null, - _prefix: null, - _index: null, - groupChar: "", - isSpecialChar: null, - prefixChar: null, - suffixChar: null, - timer: null, - data: /* @__PURE__ */ __name(function data8() { - return { - d_modelValue: this.modelValue, - focused: false - }; - }, "data"), - watch: { - modelValue: /* @__PURE__ */ __name(function modelValue2(newValue) { - this.d_modelValue = newValue; - }, "modelValue"), - locale: /* @__PURE__ */ __name(function locale(newValue, oldValue) { - this.updateConstructParser(newValue, oldValue); - }, "locale"), - localeMatcher: /* @__PURE__ */ __name(function localeMatcher(newValue, oldValue) { - this.updateConstructParser(newValue, oldValue); - }, "localeMatcher"), - mode: /* @__PURE__ */ __name(function mode(newValue, oldValue) { - this.updateConstructParser(newValue, oldValue); - }, "mode"), - currency: /* @__PURE__ */ __name(function currency(newValue, oldValue) { - this.updateConstructParser(newValue, oldValue); - }, "currency"), - currencyDisplay: /* @__PURE__ */ __name(function currencyDisplay(newValue, oldValue) { - this.updateConstructParser(newValue, oldValue); - }, "currencyDisplay"), - useGrouping: /* @__PURE__ */ __name(function useGrouping(newValue, oldValue) { - this.updateConstructParser(newValue, oldValue); - }, "useGrouping"), - minFractionDigits: /* @__PURE__ */ __name(function minFractionDigits(newValue, oldValue) { - this.updateConstructParser(newValue, oldValue); - }, "minFractionDigits"), - maxFractionDigits: /* @__PURE__ */ __name(function maxFractionDigits(newValue, oldValue) { - this.updateConstructParser(newValue, oldValue); - }, "maxFractionDigits"), - suffix: /* @__PURE__ */ __name(function suffix(newValue, oldValue) { - this.updateConstructParser(newValue, oldValue); - }, "suffix"), - prefix: /* @__PURE__ */ __name(function prefix(newValue, oldValue) { - this.updateConstructParser(newValue, oldValue); - }, "prefix") - }, - created: /* @__PURE__ */ __name(function created2() { - this.constructParser(); - }, "created"), - methods: { - getOptions: /* @__PURE__ */ __name(function getOptions2() { - return { - localeMatcher: this.localeMatcher, - style: this.mode, - currency: this.currency, - currencyDisplay: this.currencyDisplay, - useGrouping: this.useGrouping, - minimumFractionDigits: this.minFractionDigits, - maximumFractionDigits: this.maxFractionDigits, - roundingMode: this.roundingMode - }; - }, "getOptions"), - constructParser: /* @__PURE__ */ __name(function constructParser() { - this.numberFormat = new Intl.NumberFormat(this.locale, this.getOptions()); - var numerals = _toConsumableArray$6(new Intl.NumberFormat(this.locale, { - useGrouping: false - }).format(9876543210)).reverse(); - var index2 = new Map(numerals.map(function(d, i2) { - return [d, i2]; - })); - this._numeral = new RegExp("[".concat(numerals.join(""), "]"), "g"); - this._group = this.getGroupingExpression(); - this._minusSign = this.getMinusSignExpression(); - this._currency = this.getCurrencyExpression(); - this._decimal = this.getDecimalExpression(); - this._suffix = this.getSuffixExpression(); - this._prefix = this.getPrefixExpression(); - this._index = function(d) { - return index2.get(d); - }; - }, "constructParser"), - updateConstructParser: /* @__PURE__ */ __name(function updateConstructParser(newValue, oldValue) { - if (newValue !== oldValue) { - this.constructParser(); - } - }, "updateConstructParser"), - escapeRegExp: /* @__PURE__ */ __name(function escapeRegExp(text) { - return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); - }, "escapeRegExp"), - getDecimalExpression: /* @__PURE__ */ __name(function getDecimalExpression() { - var formatter = new Intl.NumberFormat(this.locale, _objectSpread$c(_objectSpread$c({}, this.getOptions()), {}, { - useGrouping: false - })); - return new RegExp("[".concat(formatter.format(1.1).replace(this._currency, "").trim().replace(this._numeral, ""), "]"), "g"); - }, "getDecimalExpression"), - getGroupingExpression: /* @__PURE__ */ __name(function getGroupingExpression() { - var formatter = new Intl.NumberFormat(this.locale, { - useGrouping: true - }); - this.groupChar = formatter.format(1e6).trim().replace(this._numeral, "").charAt(0); - return new RegExp("[".concat(this.groupChar, "]"), "g"); - }, "getGroupingExpression"), - getMinusSignExpression: /* @__PURE__ */ __name(function getMinusSignExpression() { - var formatter = new Intl.NumberFormat(this.locale, { - useGrouping: false - }); - return new RegExp("[".concat(formatter.format(-1).trim().replace(this._numeral, ""), "]"), "g"); - }, "getMinusSignExpression"), - getCurrencyExpression: /* @__PURE__ */ __name(function getCurrencyExpression() { - if (this.currency) { - var formatter = new Intl.NumberFormat(this.locale, { - style: "currency", - currency: this.currency, - currencyDisplay: this.currencyDisplay, - minimumFractionDigits: 0, - maximumFractionDigits: 0, - roundingMode: this.roundingMode - }); - return new RegExp("[".concat(formatter.format(1).replace(/\s/g, "").replace(this._numeral, "").replace(this._group, ""), "]"), "g"); - } - return new RegExp("[]", "g"); - }, "getCurrencyExpression"), - getPrefixExpression: /* @__PURE__ */ __name(function getPrefixExpression() { - if (this.prefix) { - this.prefixChar = this.prefix; - } else { - var formatter = new Intl.NumberFormat(this.locale, { - style: this.mode, - currency: this.currency, - currencyDisplay: this.currencyDisplay - }); - this.prefixChar = formatter.format(1).split("1")[0]; - } - return new RegExp("".concat(this.escapeRegExp(this.prefixChar || "")), "g"); - }, "getPrefixExpression"), - getSuffixExpression: /* @__PURE__ */ __name(function getSuffixExpression() { - if (this.suffix) { - this.suffixChar = this.suffix; - } else { - var formatter = new Intl.NumberFormat(this.locale, { - style: this.mode, - currency: this.currency, - currencyDisplay: this.currencyDisplay, - minimumFractionDigits: 0, - maximumFractionDigits: 0, - roundingMode: this.roundingMode - }); - this.suffixChar = formatter.format(1).split("1")[1]; - } - return new RegExp("".concat(this.escapeRegExp(this.suffixChar || "")), "g"); - }, "getSuffixExpression"), - formatValue: /* @__PURE__ */ __name(function formatValue(value3) { - if (value3 != null) { - if (value3 === "-") { - return value3; - } - if (this.format) { - var formatter = new Intl.NumberFormat(this.locale, this.getOptions()); - var formattedValue2 = formatter.format(value3); - if (this.prefix) { - formattedValue2 = this.prefix + formattedValue2; - } - if (this.suffix) { - formattedValue2 = formattedValue2 + this.suffix; - } - return formattedValue2; - } - return value3.toString(); - } - return ""; - }, "formatValue"), - parseValue: /* @__PURE__ */ __name(function parseValue2(text) { - var filteredText = text.replace(this._suffix, "").replace(this._prefix, "").trim().replace(/\s/g, "").replace(this._currency, "").replace(this._group, "").replace(this._minusSign, "-").replace(this._decimal, ".").replace(this._numeral, this._index); - if (filteredText) { - if (filteredText === "-") - return filteredText; - var parsedValue = +filteredText; - return isNaN(parsedValue) ? null : parsedValue; - } - return null; - }, "parseValue"), - repeat: /* @__PURE__ */ __name(function repeat2(event2, interval, dir) { - var _this = this; - if (this.readonly) { - return; - } - var i2 = interval || 500; - this.clearTimer(); - this.timer = setTimeout(function() { - _this.repeat(event2, 40, dir); - }, i2); - this.spin(event2, dir); - }, "repeat"), - spin: /* @__PURE__ */ __name(function spin(event2, dir) { - if (this.$refs.input) { - var step2 = this.step * dir; - var currentValue = this.parseValue(this.$refs.input.$el.value) || 0; - var newValue = this.validateValue(currentValue + step2); - this.updateInput(newValue, null, "spin"); - this.updateModel(event2, newValue); - this.handleOnInput(event2, currentValue, newValue); - } - }, "spin"), - onUpButtonMouseDown: /* @__PURE__ */ __name(function onUpButtonMouseDown(event2) { - if (!this.disabled) { - this.$refs.input.$el.focus(); - this.repeat(event2, null, 1); - event2.preventDefault(); - } - }, "onUpButtonMouseDown"), - onUpButtonMouseUp: /* @__PURE__ */ __name(function onUpButtonMouseUp() { - if (!this.disabled) { - this.clearTimer(); - } - }, "onUpButtonMouseUp"), - onUpButtonMouseLeave: /* @__PURE__ */ __name(function onUpButtonMouseLeave() { - if (!this.disabled) { - this.clearTimer(); - } - }, "onUpButtonMouseLeave"), - onUpButtonKeyUp: /* @__PURE__ */ __name(function onUpButtonKeyUp() { - if (!this.disabled) { - this.clearTimer(); - } - }, "onUpButtonKeyUp"), - onUpButtonKeyDown: /* @__PURE__ */ __name(function onUpButtonKeyDown(event2) { - if (event2.code === "Space" || event2.code === "Enter" || event2.code === "NumpadEnter") { - this.repeat(event2, null, 1); - } - }, "onUpButtonKeyDown"), - onDownButtonMouseDown: /* @__PURE__ */ __name(function onDownButtonMouseDown(event2) { - if (!this.disabled) { - this.$refs.input.$el.focus(); - this.repeat(event2, null, -1); - event2.preventDefault(); - } - }, "onDownButtonMouseDown"), - onDownButtonMouseUp: /* @__PURE__ */ __name(function onDownButtonMouseUp() { - if (!this.disabled) { - this.clearTimer(); - } - }, "onDownButtonMouseUp"), - onDownButtonMouseLeave: /* @__PURE__ */ __name(function onDownButtonMouseLeave() { - if (!this.disabled) { - this.clearTimer(); - } - }, "onDownButtonMouseLeave"), - onDownButtonKeyUp: /* @__PURE__ */ __name(function onDownButtonKeyUp() { - if (!this.disabled) { - this.clearTimer(); - } - }, "onDownButtonKeyUp"), - onDownButtonKeyDown: /* @__PURE__ */ __name(function onDownButtonKeyDown(event2) { - if (event2.code === "Space" || event2.code === "Enter" || event2.code === "NumpadEnter") { - this.repeat(event2, null, -1); - } - }, "onDownButtonKeyDown"), - onUserInput: /* @__PURE__ */ __name(function onUserInput() { - if (this.isSpecialChar) { - this.$refs.input.$el.value = this.lastValue; - } - this.isSpecialChar = false; - }, "onUserInput"), - onInputKeyDown: /* @__PURE__ */ __name(function onInputKeyDown(event2) { - if (this.readonly) { - return; - } - if (event2.altKey || event2.ctrlKey || event2.metaKey) { - this.isSpecialChar = true; - this.lastValue = this.$refs.input.$el.value; - return; - } - this.lastValue = event2.target.value; - var selectionStart = event2.target.selectionStart; - var selectionEnd = event2.target.selectionEnd; - var inputValue = event2.target.value; - var newValueStr = null; - switch (event2.code) { - case "ArrowUp": - this.spin(event2, 1); - event2.preventDefault(); - break; - case "ArrowDown": - this.spin(event2, -1); - event2.preventDefault(); - break; - case "ArrowLeft": - if (!this.isNumeralChar(inputValue.charAt(selectionStart - 1))) { - event2.preventDefault(); - } - break; - case "ArrowRight": - if (!this.isNumeralChar(inputValue.charAt(selectionStart))) { - event2.preventDefault(); - } - break; - case "Tab": - case "Enter": - case "NumpadEnter": - newValueStr = this.validateValue(this.parseValue(inputValue)); - this.$refs.input.$el.value = this.formatValue(newValueStr); - this.$refs.input.$el.setAttribute("aria-valuenow", newValueStr); - this.updateModel(event2, newValueStr); - break; - case "Backspace": { - event2.preventDefault(); - if (selectionStart === selectionEnd) { - var deleteChar = inputValue.charAt(selectionStart - 1); - var _this$getDecimalCharI = this.getDecimalCharIndexes(inputValue), decimalCharIndex = _this$getDecimalCharI.decimalCharIndex, decimalCharIndexWithoutPrefix = _this$getDecimalCharI.decimalCharIndexWithoutPrefix; - if (this.isNumeralChar(deleteChar)) { - var decimalLength = this.getDecimalLength(inputValue); - if (this._group.test(deleteChar)) { - this._group.lastIndex = 0; - newValueStr = inputValue.slice(0, selectionStart - 2) + inputValue.slice(selectionStart - 1); - } else if (this._decimal.test(deleteChar)) { - this._decimal.lastIndex = 0; - if (decimalLength) { - this.$refs.input.$el.setSelectionRange(selectionStart - 1, selectionStart - 1); - } else { - newValueStr = inputValue.slice(0, selectionStart - 1) + inputValue.slice(selectionStart); - } - } else if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) { - var insertedText = this.isDecimalMode() && (this.minFractionDigits || 0) < decimalLength ? "" : "0"; - newValueStr = inputValue.slice(0, selectionStart - 1) + insertedText + inputValue.slice(selectionStart); - } else if (decimalCharIndexWithoutPrefix === 1) { - newValueStr = inputValue.slice(0, selectionStart - 1) + "0" + inputValue.slice(selectionStart); - newValueStr = this.parseValue(newValueStr) > 0 ? newValueStr : ""; - } else { - newValueStr = inputValue.slice(0, selectionStart - 1) + inputValue.slice(selectionStart); - } - } - this.updateValue(event2, newValueStr, null, "delete-single"); - } else { - newValueStr = this.deleteRange(inputValue, selectionStart, selectionEnd); - this.updateValue(event2, newValueStr, null, "delete-range"); - } - break; - } - case "Delete": - event2.preventDefault(); - if (selectionStart === selectionEnd) { - var _deleteChar = inputValue.charAt(selectionStart); - var _this$getDecimalCharI2 = this.getDecimalCharIndexes(inputValue), _decimalCharIndex = _this$getDecimalCharI2.decimalCharIndex, _decimalCharIndexWithoutPrefix = _this$getDecimalCharI2.decimalCharIndexWithoutPrefix; - if (this.isNumeralChar(_deleteChar)) { - var _decimalLength = this.getDecimalLength(inputValue); - if (this._group.test(_deleteChar)) { - this._group.lastIndex = 0; - newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 2); - } else if (this._decimal.test(_deleteChar)) { - this._decimal.lastIndex = 0; - if (_decimalLength) { - this.$refs.input.$el.setSelectionRange(selectionStart + 1, selectionStart + 1); - } else { - newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 1); - } - } else if (_decimalCharIndex > 0 && selectionStart > _decimalCharIndex) { - var _insertedText = this.isDecimalMode() && (this.minFractionDigits || 0) < _decimalLength ? "" : "0"; - newValueStr = inputValue.slice(0, selectionStart) + _insertedText + inputValue.slice(selectionStart + 1); - } else if (_decimalCharIndexWithoutPrefix === 1) { - newValueStr = inputValue.slice(0, selectionStart) + "0" + inputValue.slice(selectionStart + 1); - newValueStr = this.parseValue(newValueStr) > 0 ? newValueStr : ""; - } else { - newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 1); - } - } - this.updateValue(event2, newValueStr, null, "delete-back-single"); - } else { - newValueStr = this.deleteRange(inputValue, selectionStart, selectionEnd); - this.updateValue(event2, newValueStr, null, "delete-range"); - } - break; - case "Home": - event2.preventDefault(); - if (isNotEmpty(this.min)) { - this.updateModel(event2, this.min); - } - break; - case "End": - event2.preventDefault(); - if (isNotEmpty(this.max)) { - this.updateModel(event2, this.max); - } - break; - } - }, "onInputKeyDown"), - onInputKeyPress: /* @__PURE__ */ __name(function onInputKeyPress(event2) { - if (this.readonly) { - return; - } - var _char = event2.key; - var isDecimalSign2 = this.isDecimalSign(_char); - var isMinusSign2 = this.isMinusSign(_char); - if (event2.code !== "Enter") { - event2.preventDefault(); - } - if (Number(_char) >= 0 && Number(_char) <= 9 || isMinusSign2 || isDecimalSign2) { - this.insert(event2, _char, { - isDecimalSign: isDecimalSign2, - isMinusSign: isMinusSign2 - }); - } - }, "onInputKeyPress"), - onPaste: /* @__PURE__ */ __name(function onPaste(event2) { - event2.preventDefault(); - var data21 = (event2.clipboardData || window["clipboardData"]).getData("Text"); - if (data21) { - var filteredData = this.parseValue(data21); - if (filteredData != null) { - this.insert(event2, filteredData.toString()); - } - } - }, "onPaste"), - allowMinusSign: /* @__PURE__ */ __name(function allowMinusSign() { - return this.min === null || this.min < 0; - }, "allowMinusSign"), - isMinusSign: /* @__PURE__ */ __name(function isMinusSign(_char2) { - if (this._minusSign.test(_char2) || _char2 === "-") { - this._minusSign.lastIndex = 0; - return true; - } - return false; - }, "isMinusSign"), - isDecimalSign: /* @__PURE__ */ __name(function isDecimalSign(_char3) { - if (this._decimal.test(_char3)) { - this._decimal.lastIndex = 0; - return true; - } - return false; - }, "isDecimalSign"), - isDecimalMode: /* @__PURE__ */ __name(function isDecimalMode() { - return this.mode === "decimal"; - }, "isDecimalMode"), - getDecimalCharIndexes: /* @__PURE__ */ __name(function getDecimalCharIndexes(val) { - var decimalCharIndex = val.search(this._decimal); - this._decimal.lastIndex = 0; - var filteredVal = val.replace(this._prefix, "").trim().replace(/\s/g, "").replace(this._currency, ""); - var decimalCharIndexWithoutPrefix = filteredVal.search(this._decimal); - this._decimal.lastIndex = 0; - return { - decimalCharIndex, - decimalCharIndexWithoutPrefix - }; - }, "getDecimalCharIndexes"), - getCharIndexes: /* @__PURE__ */ __name(function getCharIndexes(val) { - var decimalCharIndex = val.search(this._decimal); - this._decimal.lastIndex = 0; - var minusCharIndex = val.search(this._minusSign); - this._minusSign.lastIndex = 0; - var suffixCharIndex = val.search(this._suffix); - this._suffix.lastIndex = 0; - var currencyCharIndex = val.search(this._currency); - this._currency.lastIndex = 0; - return { - decimalCharIndex, - minusCharIndex, - suffixCharIndex, - currencyCharIndex - }; - }, "getCharIndexes"), - insert: /* @__PURE__ */ __name(function insert(event2, text) { - var sign = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : { - isDecimalSign: false, - isMinusSign: false - }; - var minusCharIndexOnText = text.search(this._minusSign); - this._minusSign.lastIndex = 0; - if (!this.allowMinusSign() && minusCharIndexOnText !== -1) { - return; - } - var selectionStart = this.$refs.input.$el.selectionStart; - var selectionEnd = this.$refs.input.$el.selectionEnd; - var inputValue = this.$refs.input.$el.value.trim(); - var _this$getCharIndexes = this.getCharIndexes(inputValue), decimalCharIndex = _this$getCharIndexes.decimalCharIndex, minusCharIndex = _this$getCharIndexes.minusCharIndex, suffixCharIndex = _this$getCharIndexes.suffixCharIndex, currencyCharIndex = _this$getCharIndexes.currencyCharIndex; - var newValueStr; - if (sign.isMinusSign) { - if (selectionStart === 0) { - newValueStr = inputValue; - if (minusCharIndex === -1 || selectionEnd !== 0) { - newValueStr = this.insertText(inputValue, text, 0, selectionEnd); - } - this.updateValue(event2, newValueStr, text, "insert"); - } - } else if (sign.isDecimalSign) { - if (decimalCharIndex > 0 && selectionStart === decimalCharIndex) { - this.updateValue(event2, inputValue, text, "insert"); - } else if (decimalCharIndex > selectionStart && decimalCharIndex < selectionEnd) { - newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd); - this.updateValue(event2, newValueStr, text, "insert"); - } else if (decimalCharIndex === -1 && this.maxFractionDigits) { - newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd); - this.updateValue(event2, newValueStr, text, "insert"); - } - } else { - var maxFractionDigits2 = this.numberFormat.resolvedOptions().maximumFractionDigits; - var operation = selectionStart !== selectionEnd ? "range-insert" : "insert"; - if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) { - if (selectionStart + text.length - (decimalCharIndex + 1) <= maxFractionDigits2) { - var charIndex = currencyCharIndex >= selectionStart ? currencyCharIndex - 1 : suffixCharIndex >= selectionStart ? suffixCharIndex : inputValue.length; - newValueStr = inputValue.slice(0, selectionStart) + text + inputValue.slice(selectionStart + text.length, charIndex) + inputValue.slice(charIndex); - this.updateValue(event2, newValueStr, text, operation); - } - } else { - newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd); - this.updateValue(event2, newValueStr, text, operation); - } - } - }, "insert"), - insertText: /* @__PURE__ */ __name(function insertText(value3, text, start2, end) { - var textSplit = text === "." ? text : text.split("."); - if (textSplit.length === 2) { - var decimalCharIndex = value3.slice(start2, end).search(this._decimal); - this._decimal.lastIndex = 0; - return decimalCharIndex > 0 ? value3.slice(0, start2) + this.formatValue(text) + value3.slice(end) : this.formatValue(text) || value3; - } else if (end - start2 === value3.length) { - return this.formatValue(text); - } else if (start2 === 0) { - return text + value3.slice(end); - } else if (end === value3.length) { - return value3.slice(0, start2) + text; - } else { - return value3.slice(0, start2) + text + value3.slice(end); - } - }, "insertText"), - deleteRange: /* @__PURE__ */ __name(function deleteRange(value3, start2, end) { - var newValueStr; - if (end - start2 === value3.length) newValueStr = ""; - else if (start2 === 0) newValueStr = value3.slice(end); - else if (end === value3.length) newValueStr = value3.slice(0, start2); - else newValueStr = value3.slice(0, start2) + value3.slice(end); - return newValueStr; - }, "deleteRange"), - initCursor: /* @__PURE__ */ __name(function initCursor() { - var selectionStart = this.$refs.input.$el.selectionStart; - var inputValue = this.$refs.input.$el.value; - var valueLength = inputValue.length; - var index2 = null; - var prefixLength = (this.prefixChar || "").length; - inputValue = inputValue.replace(this._prefix, ""); - selectionStart = selectionStart - prefixLength; - var _char4 = inputValue.charAt(selectionStart); - if (this.isNumeralChar(_char4)) { - return selectionStart + prefixLength; - } - var i2 = selectionStart - 1; - while (i2 >= 0) { - _char4 = inputValue.charAt(i2); - if (this.isNumeralChar(_char4)) { - index2 = i2 + prefixLength; - break; - } else { - i2--; - } - } - if (index2 !== null) { - this.$refs.input.$el.setSelectionRange(index2 + 1, index2 + 1); - } else { - i2 = selectionStart; - while (i2 < valueLength) { - _char4 = inputValue.charAt(i2); - if (this.isNumeralChar(_char4)) { - index2 = i2 + prefixLength; - break; - } else { - i2++; - } - } - if (index2 !== null) { - this.$refs.input.$el.setSelectionRange(index2, index2); - } - } - return index2 || 0; - }, "initCursor"), - onInputClick: /* @__PURE__ */ __name(function onInputClick() { - var currentValue = this.$refs.input.$el.value; - if (!this.readonly && currentValue !== getSelection()) { - this.initCursor(); - } - }, "onInputClick"), - isNumeralChar: /* @__PURE__ */ __name(function isNumeralChar(_char5) { - if (_char5.length === 1 && (this._numeral.test(_char5) || this._decimal.test(_char5) || this._group.test(_char5) || this._minusSign.test(_char5))) { - this.resetRegex(); - return true; - } - return false; - }, "isNumeralChar"), - resetRegex: /* @__PURE__ */ __name(function resetRegex() { - this._numeral.lastIndex = 0; - this._decimal.lastIndex = 0; - this._group.lastIndex = 0; - this._minusSign.lastIndex = 0; - }, "resetRegex"), - updateValue: /* @__PURE__ */ __name(function updateValue2(event2, valueStr, insertedValueStr, operation) { - var currentValue = this.$refs.input.$el.value; - var newValue = null; - if (valueStr != null) { - newValue = this.parseValue(valueStr); - newValue = !newValue && !this.allowEmpty ? 0 : newValue; - this.updateInput(newValue, insertedValueStr, operation, valueStr); - this.handleOnInput(event2, currentValue, newValue); - } - }, "updateValue"), - handleOnInput: /* @__PURE__ */ __name(function handleOnInput(event2, currentValue, newValue) { - if (this.isValueChanged(currentValue, newValue)) { - this.$emit("input", { - originalEvent: event2, - value: newValue, - formattedValue: currentValue - }); - } - }, "handleOnInput"), - isValueChanged: /* @__PURE__ */ __name(function isValueChanged(currentValue, newValue) { - if (newValue === null && currentValue !== null) { - return true; - } - if (newValue != null) { - var parsedCurrentValue = typeof currentValue === "string" ? this.parseValue(currentValue) : currentValue; - return newValue !== parsedCurrentValue; - } - return false; - }, "isValueChanged"), - validateValue: /* @__PURE__ */ __name(function validateValue(value3) { - if (value3 === "-" || value3 == null) { - return null; - } - if (this.min != null && value3 < this.min) { - return this.min; - } - if (this.max != null && value3 > this.max) { - return this.max; - } - return value3; - }, "validateValue"), - updateInput: /* @__PURE__ */ __name(function updateInput(value3, insertedValueStr, operation, valueStr) { - insertedValueStr = insertedValueStr || ""; - var inputValue = this.$refs.input.$el.value; - var newValue = this.formatValue(value3); - var currentLength = inputValue.length; - if (newValue !== valueStr) { - newValue = this.concatValues(newValue, valueStr); - } - if (currentLength === 0) { - this.$refs.input.$el.value = newValue; - this.$refs.input.$el.setSelectionRange(0, 0); - var index2 = this.initCursor(); - var selectionEnd = index2 + insertedValueStr.length; - this.$refs.input.$el.setSelectionRange(selectionEnd, selectionEnd); - } else { - var selectionStart = this.$refs.input.$el.selectionStart; - var _selectionEnd = this.$refs.input.$el.selectionEnd; - this.$refs.input.$el.value = newValue; - var newLength = newValue.length; - if (operation === "range-insert") { - var startValue = this.parseValue((inputValue || "").slice(0, selectionStart)); - var startValueStr = startValue !== null ? startValue.toString() : ""; - var startExpr = startValueStr.split("").join("(".concat(this.groupChar, ")?")); - var sRegex = new RegExp(startExpr, "g"); - sRegex.test(newValue); - var tExpr = insertedValueStr.split("").join("(".concat(this.groupChar, ")?")); - var tRegex = new RegExp(tExpr, "g"); - tRegex.test(newValue.slice(sRegex.lastIndex)); - _selectionEnd = sRegex.lastIndex + tRegex.lastIndex; - this.$refs.input.$el.setSelectionRange(_selectionEnd, _selectionEnd); - } else if (newLength === currentLength) { - if (operation === "insert" || operation === "delete-back-single") { - this.$refs.input.$el.setSelectionRange(_selectionEnd + 1, _selectionEnd + 1); - } else if (operation === "delete-single") { - this.$refs.input.$el.setSelectionRange(_selectionEnd - 1, _selectionEnd - 1); - } else if (operation === "delete-range" || operation === "spin") { - this.$refs.input.$el.setSelectionRange(_selectionEnd, _selectionEnd); - } - } else if (operation === "delete-back-single") { - var prevChar = inputValue.charAt(_selectionEnd - 1); - var nextChar = inputValue.charAt(_selectionEnd); - var diff = currentLength - newLength; - var isGroupChar = this._group.test(nextChar); - if (isGroupChar && diff === 1) { - _selectionEnd += 1; - } else if (!isGroupChar && this.isNumeralChar(prevChar)) { - _selectionEnd += -1 * diff + 1; - } - this._group.lastIndex = 0; - this.$refs.input.$el.setSelectionRange(_selectionEnd, _selectionEnd); - } else if (inputValue === "-" && operation === "insert") { - this.$refs.input.$el.setSelectionRange(0, 0); - var _index = this.initCursor(); - var _selectionEnd2 = _index + insertedValueStr.length + 1; - this.$refs.input.$el.setSelectionRange(_selectionEnd2, _selectionEnd2); - } else { - _selectionEnd = _selectionEnd + (newLength - currentLength); - this.$refs.input.$el.setSelectionRange(_selectionEnd, _selectionEnd); - } - } - this.$refs.input.$el.setAttribute("aria-valuenow", value3); - }, "updateInput"), - concatValues: /* @__PURE__ */ __name(function concatValues(val1, val2) { - if (val1 && val2) { - var decimalCharIndex = val2.search(this._decimal); - this._decimal.lastIndex = 0; - if (this.suffixChar) { - return decimalCharIndex !== -1 ? val1.replace(this.suffixChar, "").split(this._decimal)[0] + val2.replace(this.suffixChar, "").slice(decimalCharIndex) + this.suffixChar : val1; - } else { - return decimalCharIndex !== -1 ? val1.split(this._decimal)[0] + val2.slice(decimalCharIndex) : val1; - } - } - return val1; - }, "concatValues"), - getDecimalLength: /* @__PURE__ */ __name(function getDecimalLength(value3) { - if (value3) { - var valueSplit = value3.split(this._decimal); - if (valueSplit.length === 2) { - return valueSplit[1].replace(this._suffix, "").trim().replace(/\s/g, "").replace(this._currency, "").length; - } - } - return 0; - }, "getDecimalLength"), - updateModel: /* @__PURE__ */ __name(function updateModel3(event2, value3) { - this.d_modelValue = value3; - this.$emit("update:modelValue", value3); - }, "updateModel"), - onInputFocus: /* @__PURE__ */ __name(function onInputFocus(event2) { - this.focused = true; - if (!this.disabled && !this.readonly && this.$refs.input.$el.value !== getSelection() && this.highlightOnFocus) { - event2.target.select(); - } - this.$emit("focus", event2); - }, "onInputFocus"), - onInputBlur: /* @__PURE__ */ __name(function onInputBlur(event2) { - this.focused = false; - var input = event2.target; - var newValue = this.validateValue(this.parseValue(input.value)); - this.$emit("blur", { - originalEvent: event2, - value: input.value - }); - input.value = this.formatValue(newValue); - input.setAttribute("aria-valuenow", newValue); - this.updateModel(event2, newValue); - if (!this.disabled && !this.readonly && this.highlightOnFocus) { - clearSelection(); - } - }, "onInputBlur"), - clearTimer: /* @__PURE__ */ __name(function clearTimer2() { - if (this.timer) { - clearInterval(this.timer); - } - }, "clearTimer"), - maxBoundry: /* @__PURE__ */ __name(function maxBoundry() { - return this.d_modelValue >= this.max; - }, "maxBoundry"), - minBoundry: /* @__PURE__ */ __name(function minBoundry() { - return this.d_modelValue <= this.min; - }, "minBoundry") - }, - computed: { - filled: /* @__PURE__ */ __name(function filled2() { - return this.modelValue != null && this.modelValue.toString().length > 0; - }, "filled"), - upButtonListeners: /* @__PURE__ */ __name(function upButtonListeners() { - var _this2 = this; - return { - mousedown: /* @__PURE__ */ __name(function mousedown(event2) { - return _this2.onUpButtonMouseDown(event2); - }, "mousedown"), - mouseup: /* @__PURE__ */ __name(function mouseup(event2) { - return _this2.onUpButtonMouseUp(event2); - }, "mouseup"), - mouseleave: /* @__PURE__ */ __name(function mouseleave(event2) { - return _this2.onUpButtonMouseLeave(event2); - }, "mouseleave"), - keydown: /* @__PURE__ */ __name(function keydown(event2) { - return _this2.onUpButtonKeyDown(event2); - }, "keydown"), - keyup: /* @__PURE__ */ __name(function keyup(event2) { - return _this2.onUpButtonKeyUp(event2); - }, "keyup") - }; - }, "upButtonListeners"), - downButtonListeners: /* @__PURE__ */ __name(function downButtonListeners() { - var _this3 = this; - return { - mousedown: /* @__PURE__ */ __name(function mousedown(event2) { - return _this3.onDownButtonMouseDown(event2); - }, "mousedown"), - mouseup: /* @__PURE__ */ __name(function mouseup(event2) { - return _this3.onDownButtonMouseUp(event2); - }, "mouseup"), - mouseleave: /* @__PURE__ */ __name(function mouseleave(event2) { - return _this3.onDownButtonMouseLeave(event2); - }, "mouseleave"), - keydown: /* @__PURE__ */ __name(function keydown(event2) { - return _this3.onDownButtonKeyDown(event2); - }, "keydown"), - keyup: /* @__PURE__ */ __name(function keyup(event2) { - return _this3.onDownButtonKeyUp(event2); - }, "keyup") - }; - }, "downButtonListeners"), - formattedValue: /* @__PURE__ */ __name(function formattedValue() { - var val = !this.modelValue && !this.allowEmpty ? 0 : this.modelValue; - return this.formatValue(val); - }, "formattedValue"), - getFormatter: /* @__PURE__ */ __name(function getFormatter() { - return this.numberFormat; - }, "getFormatter"), - hasFluid: /* @__PURE__ */ __name(function hasFluid4() { - return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid; - }, "hasFluid") - }, - components: { - InputText: script$N, - AngleUpIcon: script$v, - AngleDownIcon: script$w - } -}; -var _hoisted_1$H = ["disabled"]; -var _hoisted_2$u = ["disabled"]; -var _hoisted_3$k = ["disabled"]; -var _hoisted_4$c = ["disabled"]; -function render$t(_ctx, _cache, $props, $setup, $data, $options) { - var _component_InputText = resolveComponent("InputText"); - return openBlock(), createElementBlock("span", mergeProps$1({ - "class": _ctx.cx("root") - }, _ctx.ptmi("root")), [createVNode(_component_InputText, { - ref: "input", - id: _ctx.inputId, - role: "spinbutton", - "class": normalizeClass([_ctx.cx("pcInputText"), _ctx.inputClass]), - style: normalizeStyle(_ctx.inputStyle), - value: $options.formattedValue, - "aria-valuemin": _ctx.min, - "aria-valuemax": _ctx.max, - "aria-valuenow": _ctx.modelValue, - inputmode: _ctx.mode === "decimal" && !_ctx.minFractionDigits ? "numeric" : "decimal", - disabled: _ctx.disabled, - readonly: _ctx.readonly, - placeholder: _ctx.placeholder, - "aria-labelledby": _ctx.ariaLabelledby, - "aria-label": _ctx.ariaLabel, - invalid: _ctx.invalid, - variant: _ctx.variant, - onInput: $options.onUserInput, - onKeydown: $options.onInputKeyDown, - onKeypress: $options.onInputKeyPress, - onPaste: $options.onPaste, - onClick: $options.onInputClick, - onFocus: $options.onInputFocus, - onBlur: $options.onInputBlur, - pt: _ctx.ptm("pcInputText"), - unstyled: _ctx.unstyled - }, null, 8, ["id", "class", "style", "value", "aria-valuemin", "aria-valuemax", "aria-valuenow", "inputmode", "disabled", "readonly", "placeholder", "aria-labelledby", "aria-label", "invalid", "variant", "onInput", "onKeydown", "onKeypress", "onPaste", "onClick", "onFocus", "onBlur", "pt", "unstyled"]), _ctx.showButtons && _ctx.buttonLayout === "stacked" ? (openBlock(), createElementBlock("span", mergeProps$1({ - key: 0, - "class": _ctx.cx("buttonGroup") - }, _ctx.ptm("buttonGroup")), [renderSlot(_ctx.$slots, "incrementbutton", { - listeners: $options.upButtonListeners - }, function() { - return [createBaseVNode("button", mergeProps$1({ - "class": [_ctx.cx("incrementButton"), _ctx.incrementButtonClass] - }, toHandlers($options.upButtonListeners, true), { - disabled: _ctx.disabled, - tabindex: -1, - "aria-hidden": "true", - type: "button" - }, _ctx.ptm("incrementButton")), [renderSlot(_ctx.$slots, _ctx.$slots.incrementicon ? "incrementicon" : "incrementbuttonicon", {}, function() { - return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.incrementIcon || _ctx.incrementButtonIcon ? "span" : "AngleUpIcon"), mergeProps$1({ - "class": [_ctx.incrementIcon, _ctx.incrementButtonIcon] - }, _ctx.ptm("incrementIcon"), { - "data-pc-section": "incrementicon" - }), null, 16, ["class"]))]; - })], 16, _hoisted_1$H)]; - }), renderSlot(_ctx.$slots, "decrementbutton", { - listeners: $options.downButtonListeners - }, function() { - return [createBaseVNode("button", mergeProps$1({ - "class": [_ctx.cx("decrementButton"), _ctx.decrementButtonClass] - }, toHandlers($options.downButtonListeners, true), { - disabled: _ctx.disabled, - tabindex: -1, - "aria-hidden": "true", - type: "button" - }, _ctx.ptm("decrementButton")), [renderSlot(_ctx.$slots, _ctx.$slots.decrementicon ? "decrementicon" : "decrementbuttonicon", {}, function() { - return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.decrementIcon || _ctx.decrementButtonIcon ? "span" : "AngleDownIcon"), mergeProps$1({ - "class": [_ctx.decrementIcon, _ctx.decrementButtonIcon] - }, _ctx.ptm("decrementIcon"), { - "data-pc-section": "decrementicon" - }), null, 16, ["class"]))]; - })], 16, _hoisted_2$u)]; - })], 16)) : createCommentVNode("", true), renderSlot(_ctx.$slots, "incrementbutton", { - listeners: $options.upButtonListeners - }, function() { - return [_ctx.showButtons && _ctx.buttonLayout !== "stacked" ? (openBlock(), createElementBlock("button", mergeProps$1({ - key: 0, - "class": [_ctx.cx("incrementButton"), _ctx.incrementButtonClass] - }, toHandlers($options.upButtonListeners, true), { - disabled: _ctx.disabled, - tabindex: -1, - "aria-hidden": "true", - type: "button" - }, _ctx.ptm("incrementButton")), [renderSlot(_ctx.$slots, _ctx.$slots.incrementicon ? "incrementicon" : "incrementbuttonicon", {}, function() { - return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.incrementIcon || _ctx.incrementButtonIcon ? "span" : "AngleUpIcon"), mergeProps$1({ - "class": [_ctx.incrementIcon, _ctx.incrementButtonIcon] - }, _ctx.ptm("incrementIcon"), { - "data-pc-section": "incrementicon" - }), null, 16, ["class"]))]; - })], 16, _hoisted_3$k)) : createCommentVNode("", true)]; - }), renderSlot(_ctx.$slots, "decrementbutton", { - listeners: $options.downButtonListeners - }, function() { - return [_ctx.showButtons && _ctx.buttonLayout !== "stacked" ? (openBlock(), createElementBlock("button", mergeProps$1({ - key: 0, - "class": [_ctx.cx("decrementButton"), _ctx.decrementButtonClass] - }, toHandlers($options.downButtonListeners, true), { - disabled: _ctx.disabled, - tabindex: -1, - "aria-hidden": "true", - type: "button" - }, _ctx.ptm("decrementButton")), [renderSlot(_ctx.$slots, _ctx.$slots.decrementicon ? "decrementicon" : "decrementbuttonicon", {}, function() { - return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.decrementIcon || _ctx.decrementButtonIcon ? "span" : "AngleDownIcon"), mergeProps$1({ - "class": [_ctx.decrementIcon, _ctx.decrementButtonIcon] - }, _ctx.ptm("decrementIcon"), { - "data-pc-section": "decrementicon" - }), null, 16, ["class"]))]; - })], 16, _hoisted_4$c)) : createCommentVNode("", true)]; - })], 16); -} -__name(render$t, "render$t"); -script$u.render = render$t; -var theme$j = /* @__PURE__ */ __name(function theme16(_ref) { - var dt2 = _ref.dt; - return "\n.p-toggleswitch {\n display: inline-block;\n width: ".concat(dt2("toggleswitch.width"), ";\n height: ").concat(dt2("toggleswitch.height"), ";\n}\n\n.p-toggleswitch-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-radius: ").concat(dt2("toggleswitch.border.radius"), ";\n}\n\n.p-toggleswitch-slider {\n display: inline-block;\n cursor: pointer;\n width: 100%;\n height: 100%;\n border-width: ").concat(dt2("toggleswitch.border.width"), ";\n border-style: solid;\n border-color: ").concat(dt2("toggleswitch.border.color"), ";\n background: ").concat(dt2("toggleswitch.background"), ";\n transition: background ").concat(dt2("toggleswitch.transition.duration"), ", color ").concat(dt2("toggleswitch.transition.duration"), ", border-color ").concat(dt2("toggleswitch.transition.duration"), ", outline-color ").concat(dt2("toggleswitch.transition.duration"), ", box-shadow ").concat(dt2("toggleswitch.transition.duration"), ";\n border-radius: ").concat(dt2("toggleswitch.border.radius"), ";\n outline-color: transparent;\n box-shadow: ").concat(dt2("toggleswitch.shadow"), ";\n}\n\n.p-toggleswitch-handle {\n position: absolute;\n top: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n background: ").concat(dt2("toggleswitch.handle.background"), ";\n color: ").concat(dt2("toggleswitch.handle.color"), ";\n width: ").concat(dt2("toggleswitch.handle.size"), ";\n height: ").concat(dt2("toggleswitch.handle.size"), ";\n left: ").concat(dt2("toggleswitch.gap"), ";\n margin-top: calc(-1 * calc(").concat(dt2("toggleswitch.handle.size"), " / 2));\n border-radius: ").concat(dt2("toggleswitch.handle.border.radius"), ";\n transition: background ").concat(dt2("toggleswitch.transition.duration"), ", color ").concat(dt2("toggleswitch.transition.duration"), ", left ").concat(dt2("toggleswitch.slide.duration"), ", box-shadow ").concat(dt2("toggleswitch.slide.duration"), ";\n}\n\n.p-toggleswitch.p-toggleswitch-checked .p-toggleswitch-slider {\n background: ").concat(dt2("toggleswitch.checked.background"), ";\n border-color: ").concat(dt2("toggleswitch.checked.border.color"), ";\n}\n\n.p-toggleswitch.p-toggleswitch-checked .p-toggleswitch-handle {\n background: ").concat(dt2("toggleswitch.handle.checked.background"), ";\n color: ").concat(dt2("toggleswitch.handle.checked.color"), ";\n left: calc(").concat(dt2("toggleswitch.width"), " - calc(").concat(dt2("toggleswitch.handle.size"), " + ").concat(dt2("toggleswitch.gap"), "));\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover) .p-toggleswitch-slider {\n background: ").concat(dt2("toggleswitch.hover.background"), ";\n border-color: ").concat(dt2("toggleswitch.hover.border.color"), ";\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover) .p-toggleswitch-handle {\n background: ").concat(dt2("toggleswitch.handle.hover.background"), ";\n color: ").concat(dt2("toggleswitch.handle.hover.color"), ";\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover).p-toggleswitch-checked .p-toggleswitch-slider {\n background: ").concat(dt2("toggleswitch.checked.hover.background"), ";\n border-color: ").concat(dt2("toggleswitch.checked.hover.border.color"), ";\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover).p-toggleswitch-checked .p-toggleswitch-handle {\n background: ").concat(dt2("toggleswitch.handle.checked.hover.background"), ";\n color: ").concat(dt2("toggleswitch.handle.checked.hover.color"), ";\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:focus-visible) .p-toggleswitch-slider {\n box-shadow: ").concat(dt2("toggleswitch.focus.ring.shadow"), ";\n outline: ").concat(dt2("toggleswitch.focus.ring.width"), " ").concat(dt2("toggleswitch.focus.ring.style"), " ").concat(dt2("toggleswitch.focus.ring.color"), ";\n outline-offset: ").concat(dt2("toggleswitch.focus.ring.offset"), ";\n}\n\n.p-toggleswitch.p-invalid > .p-toggleswitch-slider {\n border-color: ").concat(dt2("toggleswitch.invalid.border.color"), ";\n}\n\n.p-toggleswitch.p-disabled {\n opacity: 1;\n}\n\n.p-toggleswitch.p-disabled .p-toggleswitch-slider {\n background: ").concat(dt2("toggleswitch.disabled.background"), ";\n}\n\n.p-toggleswitch.p-disabled .p-toggleswitch-handle {\n background: ").concat(dt2("toggleswitch.handle.disabled.background"), ";\n}\n"); -}, "theme"); -var inlineStyles$2 = { - root: { - position: "relative" - } -}; -var classes$j = { - root: /* @__PURE__ */ __name(function root12(_ref2) { - var instance = _ref2.instance, props = _ref2.props; - return ["p-toggleswitch p-component", { - "p-toggleswitch-checked": instance.checked, - "p-disabled": props.disabled, - "p-invalid": props.invalid - }]; - }, "root"), - input: "p-toggleswitch-input", - slider: "p-toggleswitch-slider", - handle: "p-toggleswitch-handle" -}; -var ToggleSwitchStyle = BaseStyle.extend({ - name: "toggleswitch", - theme: theme$j, - classes: classes$j, - inlineStyles: inlineStyles$2 -}); -var script$1$i = { - name: "BaseToggleSwitch", - "extends": script$U, - props: { - modelValue: { - type: null, - "default": false - }, - trueValue: { - type: null, - "default": true - }, - falseValue: { - type: null, - "default": false - }, - invalid: { - type: Boolean, - "default": false - }, - disabled: { - type: Boolean, - "default": false - }, - readonly: { - type: Boolean, - "default": false - }, - tabindex: { - type: Number, - "default": null - }, - inputId: { - type: String, - "default": null - }, - inputClass: { - type: [String, Object], - "default": null - }, - inputStyle: { - type: Object, - "default": null - }, - ariaLabelledby: { - type: String, - "default": null - }, - ariaLabel: { - type: String, - "default": null - } - }, - style: ToggleSwitchStyle, - provide: /* @__PURE__ */ __name(function provide18() { - return { - $pcToggleSwitch: this, - $parentInstance: this - }; - }, "provide") -}; -var script$t = { - name: "ToggleSwitch", - "extends": script$1$i, - inheritAttrs: false, - emits: ["update:modelValue", "change", "focus", "blur"], - methods: { - getPTOptions: /* @__PURE__ */ __name(function getPTOptions5(key) { - var _ptm = key === "root" ? this.ptmi : this.ptm; - return _ptm(key, { - context: { - checked: this.checked, - disabled: this.disabled - } - }); - }, "getPTOptions"), - onChange: /* @__PURE__ */ __name(function onChange2(event2) { - if (!this.disabled && !this.readonly) { - var newValue = this.checked ? this.falseValue : this.trueValue; - this.$emit("update:modelValue", newValue); - this.$emit("change", event2); - } - }, "onChange"), - onFocus: /* @__PURE__ */ __name(function onFocus4(event2) { - this.$emit("focus", event2); - }, "onFocus"), - onBlur: /* @__PURE__ */ __name(function onBlur4(event2) { - this.$emit("blur", event2); - }, "onBlur") - }, - computed: { - checked: /* @__PURE__ */ __name(function checked2() { - return this.modelValue === this.trueValue; - }, "checked") - } -}; -var _hoisted_1$G = ["data-p-checked", "data-p-disabled"]; -var _hoisted_2$t = ["id", "checked", "tabindex", "disabled", "readonly", "aria-checked", "aria-labelledby", "aria-label", "aria-invalid"]; -function render$s(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("div", mergeProps$1({ - "class": _ctx.cx("root"), - style: _ctx.sx("root") - }, $options.getPTOptions("root"), { - "data-p-checked": $options.checked, - "data-p-disabled": _ctx.disabled - }), [createBaseVNode("input", mergeProps$1({ - id: _ctx.inputId, - type: "checkbox", - role: "switch", - "class": [_ctx.cx("input"), _ctx.inputClass], - style: _ctx.inputStyle, - checked: $options.checked, - tabindex: _ctx.tabindex, - disabled: _ctx.disabled, - readonly: _ctx.readonly, - "aria-checked": $options.checked, - "aria-labelledby": _ctx.ariaLabelledby, - "aria-label": _ctx.ariaLabel, - "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); - }), - onChange: _cache[2] || (_cache[2] = function() { - return $options.onChange && $options.onChange.apply($options, arguments); - }) - }, $options.getPTOptions("input")), null, 16, _hoisted_2$t), createBaseVNode("div", mergeProps$1({ - "class": _ctx.cx("slider") - }, $options.getPTOptions("slider")), [createBaseVNode("div", mergeProps$1({ - "class": _ctx.cx("handle") - }, $options.getPTOptions("handle")), [renderSlot(_ctx.$slots, "handle", { - checked: $options.checked - })], 16)], 16)], 16, _hoisted_1$G); -} -__name(render$s, "render$s"); -script$t.render = render$s; -var theme$i = /* @__PURE__ */ __name(function theme17(_ref) { - var dt2 = _ref.dt; - return "\n.p-tag {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: ".concat(dt2("tag.primary.background"), ";\n color: ").concat(dt2("tag.primary.color"), ";\n font-size: ").concat(dt2("tag.font.size"), ";\n font-weight: ").concat(dt2("tag.font.weight"), ";\n padding: ").concat(dt2("tag.padding"), ";\n border-radius: ").concat(dt2("tag.border.radius"), ";\n gap: ").concat(dt2("tag.gap"), ";\n}\n\n.p-tag-icon {\n font-size: ").concat(dt2("tag.icon.size"), ";\n width: ").concat(dt2("tag.icon.size"), ";\n height:").concat(dt2("tag.icon.size"), ";\n}\n\n.p-tag-rounded {\n border-radius: ").concat(dt2("tag.rounded.border.radius"), ";\n}\n\n.p-tag-success {\n background: ").concat(dt2("tag.success.background"), ";\n color: ").concat(dt2("tag.success.color"), ";\n}\n\n.p-tag-info {\n background: ").concat(dt2("tag.info.background"), ";\n color: ").concat(dt2("tag.info.color"), ";\n}\n\n.p-tag-warn {\n background: ").concat(dt2("tag.warn.background"), ";\n color: ").concat(dt2("tag.warn.color"), ";\n}\n\n.p-tag-danger {\n background: ").concat(dt2("tag.danger.background"), ";\n color: ").concat(dt2("tag.danger.color"), ";\n}\n\n.p-tag-secondary {\n background: ").concat(dt2("tag.secondary.background"), ";\n color: ").concat(dt2("tag.secondary.color"), ";\n}\n\n.p-tag-contrast {\n background: ").concat(dt2("tag.contrast.background"), ";\n color: ").concat(dt2("tag.contrast.color"), ";\n}\n"); -}, "theme"); -var classes$i = { - root: /* @__PURE__ */ __name(function root13(_ref2) { - var props = _ref2.props; - return ["p-tag p-component", { - "p-tag-info": props.severity === "info", - "p-tag-success": props.severity === "success", - "p-tag-warn": props.severity === "warn", - "p-tag-danger": props.severity === "danger", - "p-tag-secondary": props.severity === "secondary", - "p-tag-contrast": props.severity === "contrast", - "p-tag-rounded": props.rounded - }]; - }, "root"), - icon: "p-tag-icon", - label: "p-tag-label" -}; -var TagStyle = BaseStyle.extend({ - name: "tag", - theme: theme$i, - classes: classes$i -}); -var script$1$h = { - name: "BaseTag", - "extends": script$U, - props: { - value: null, - severity: null, - rounded: Boolean, - icon: String - }, - style: TagStyle, - provide: /* @__PURE__ */ __name(function provide19() { - return { - $pcTag: this, - $parentInstance: this - }; - }, "provide") -}; -var script$s = { - name: "Tag", - "extends": script$1$h, - inheritAttrs: false -}; -function render$r(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("span", mergeProps$1({ - "class": _ctx.cx("root") - }, _ctx.ptmi("root")), [_ctx.$slots.icon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.icon), mergeProps$1({ - key: 0, - "class": _ctx.cx("icon") - }, _ctx.ptm("icon")), null, 16, ["class"])) : _ctx.icon ? (openBlock(), createElementBlock("span", mergeProps$1({ - key: 1, - "class": [_ctx.cx("icon"), _ctx.icon] - }, _ctx.ptm("icon")), null, 16)) : createCommentVNode("", true), _ctx.value != null || _ctx.$slots["default"] ? renderSlot(_ctx.$slots, "default", { - key: 2 - }, function() { - return [createBaseVNode("span", mergeProps$1({ - "class": _ctx.cx("label") - }, _ctx.ptm("label")), toDisplayString$1(_ctx.value), 17)]; - }) : createCommentVNode("", true)], 16); -} -__name(render$r, "render$r"); -script$s.render = render$r; -const _sfc_main$E = /* @__PURE__ */ defineComponent({ - __name: "CustomSettingValue", - props: { - renderFunction: { type: Function } - }, - setup(__props) { - const props = __props; - const container = ref(null); - function renderContent() { - if (container.value) { - container.value.innerHTML = ""; - const element = props.renderFunction(); - container.value.appendChild(element); - } - } - __name(renderContent, "renderContent"); - onMounted(renderContent); - watch(() => props.renderFunction, renderContent); - return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", { - ref_key: "container", - ref: container - }, null, 512); - }; - } -}); -var theme$h = /* @__PURE__ */ __name(function theme18(_ref) { - var dt2 = _ref.dt; - return "\n.p-slider {\n position: relative;\n background: ".concat(dt2("slider.track.background"), ";\n border-radius: ").concat(dt2("slider.border.radius"), ";\n}\n\n.p-slider-handle {\n cursor: grab;\n touch-action: none;\n display: flex;\n justify-content: center;\n align-items: center;\n height: ").concat(dt2("slider.handle.height"), ";\n width: ").concat(dt2("slider.handle.width"), ";\n background: ").concat(dt2("slider.handle.background"), ";\n border-radius: ").concat(dt2("slider.handle.border.radius"), ";\n transition: background ").concat(dt2("slider.transition.duration"), ", color ").concat(dt2("slider.transition.duration"), ", border-color ").concat(dt2("slider.transition.duration"), ", box-shadow ").concat(dt2("slider.transition.duration"), ", outline-color ").concat(dt2("slider.transition.duration"), ';\n outline-color: transparent;\n}\n\n.p-slider-handle::before {\n content: "";\n width: ').concat(dt2("slider.handle.content.width"), ";\n height: ").concat(dt2("slider.handle.content.height"), ";\n display: block;\n background: ").concat(dt2("slider.handle.content.background"), ";\n border-radius: ").concat(dt2("slider.handle.content.border.radius"), ";\n box-shadow: ").concat(dt2("slider.handle.content.shadow"), ";\n transition: background ").concat(dt2("slider.transition.duration"), ";\n}\n\n.p-slider:not(.p-disabled) .p-slider-handle:hover {\n background: ").concat(dt2("slider.handle.hover.background"), ";\n}\n\n.p-slider:not(.p-disabled) .p-slider-handle:hover::before {\n background: ").concat(dt2("slider.handle.content.hover.background"), ";\n}\n\n.p-slider-handle:focus-visible {\n border-color: ").concat(dt2("slider.handle.focus.border.color"), ";\n box-shadow: ").concat(dt2("slider.handle.focus.ring.shadow"), ";\n outline: ").concat(dt2("slider.handle.focus.ring.width"), " ").concat(dt2("slider.handle.focus.ring.style"), " ").concat(dt2("slider.handle.focus.ring.color"), ";\n outline-offset: ").concat(dt2("slider.handle.focus.ring.offset"), ";\n}\n\n.p-slider-range {\n display: block;\n background: ").concat(dt2("slider.range.background"), ";\n border-radius: ").concat(dt2("slider.border.radius"), ";\n}\n\n.p-slider.p-slider-horizontal {\n height: ").concat(dt2("slider.track.size"), ";\n}\n\n.p-slider-horizontal .p-slider-range {\n top: 0;\n left: 0;\n height: 100%;\n}\n\n.p-slider-horizontal .p-slider-handle {\n top: 50%;\n margin-top: calc(-1 * calc(").concat(dt2("slider.handle.height"), " / 2));\n margin-left: calc(-1 * calc(").concat(dt2("slider.handle.width"), " / 2));\n}\n\n.p-slider-vertical {\n min-height: 100px;\n width: ").concat(dt2("slider.track.size"), ";\n}\n\n.p-slider-vertical .p-slider-handle {\n left: 50%;\n margin-left: calc(-1 * calc(").concat(dt2("slider.handle.width"), " / 2));\n margin-bottom: calc(-1 * calc(").concat(dt2("slider.handle.height"), " / 2));\n}\n\n.p-slider-vertical .p-slider-range {\n bottom: 0;\n left: 0;\n width: 100%;\n}\n"); -}, "theme"); -var inlineStyles$1 = { - handle: { - position: "absolute" - }, - range: { - position: "absolute" - } -}; -var classes$h = { - root: /* @__PURE__ */ __name(function root14(_ref2) { - var props = _ref2.props; - return ["p-slider p-component", { - "p-disabled": props.disabled, - "p-slider-horizontal": props.orientation === "horizontal", - "p-slider-vertical": props.orientation === "vertical" - }]; - }, "root"), - range: "p-slider-range", - handle: "p-slider-handle" -}; -var SliderStyle = BaseStyle.extend({ - name: "slider", - theme: theme$h, - classes: classes$h, - inlineStyles: inlineStyles$1 -}); -var script$1$g = { - name: "BaseSlider", - "extends": script$U, - props: { - modelValue: [Number, Array], - min: { - type: Number, - "default": 0 - }, - max: { - type: Number, - "default": 100 - }, - orientation: { - type: String, - "default": "horizontal" - }, - step: { - type: Number, - "default": null - }, - range: { - type: Boolean, - "default": false - }, - disabled: { - type: Boolean, - "default": false - }, - tabindex: { - type: Number, - "default": 0 - }, - ariaLabelledby: { - type: String, - "default": null - }, - ariaLabel: { - type: String, - "default": null - } - }, - style: SliderStyle, - provide: /* @__PURE__ */ __name(function provide20() { - return { - $pcSlider: this, - $parentInstance: this - }; - }, "provide") -}; -function _toConsumableArray$5(r) { - return _arrayWithoutHoles$5(r) || _iterableToArray$5(r) || _unsupportedIterableToArray$8(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$8(r, a) { - if (r) { - if ("string" == typeof r) return _arrayLikeToArray$8(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$8(r, a) : void 0; - } -} -__name(_unsupportedIterableToArray$8, "_unsupportedIterableToArray$8"); -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$8(r); -} -__name(_arrayWithoutHoles$5, "_arrayWithoutHoles$5"); -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$r = { - name: "Slider", - "extends": script$1$g, - inheritAttrs: false, - emits: ["update:modelValue", "change", "slideend"], - dragging: false, - handleIndex: null, - initX: null, - initY: null, - barWidth: null, - barHeight: null, - dragListener: null, - dragEndListener: null, - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount4() { - this.unbindDragListeners(); - }, "beforeUnmount"), - methods: { - updateDomData: /* @__PURE__ */ __name(function updateDomData() { - var rect = this.$el.getBoundingClientRect(); - this.initX = rect.left + getWindowScrollLeft(); - this.initY = rect.top + getWindowScrollTop(); - this.barWidth = this.$el.offsetWidth; - this.barHeight = this.$el.offsetHeight; - }, "updateDomData"), - setValue: /* @__PURE__ */ __name(function setValue(event2) { - var handleValue; - var pageX = event2.touches ? event2.touches[0].pageX : event2.pageX; - var pageY = event2.touches ? event2.touches[0].pageY : event2.pageY; - if (this.orientation === "horizontal") handleValue = (pageX - this.initX) * 100 / this.barWidth; - else handleValue = (this.initY + this.barHeight - pageY) * 100 / this.barHeight; - var newValue = (this.max - this.min) * (handleValue / 100) + this.min; - if (this.step) { - var oldValue = this.range ? this.value[this.handleIndex] : this.value; - var diff = newValue - oldValue; - if (diff < 0) newValue = oldValue + Math.ceil(newValue / this.step - oldValue / this.step) * this.step; - else if (diff > 0) newValue = oldValue + Math.floor(newValue / this.step - oldValue / this.step) * this.step; - } else { - newValue = Math.floor(newValue); - } - this.updateModel(event2, newValue); - }, "setValue"), - updateModel: /* @__PURE__ */ __name(function updateModel4(event2, value3) { - var newValue = parseFloat(value3.toFixed(10)); - var modelValue3; - if (this.range) { - modelValue3 = this.value ? _toConsumableArray$5(this.value) : []; - if (this.handleIndex == 0) { - if (newValue < this.min) newValue = this.min; - else if (newValue >= this.max) newValue = this.max; - modelValue3[0] = newValue; - } else { - if (newValue > this.max) newValue = this.max; - else if (newValue <= this.min) newValue = this.min; - modelValue3[1] = newValue; - } - } else { - if (newValue < this.min) newValue = this.min; - else if (newValue > this.max) newValue = this.max; - modelValue3 = newValue; - } - this.$emit("update:modelValue", modelValue3); - this.$emit("change", modelValue3); - }, "updateModel"), - onDragStart: /* @__PURE__ */ __name(function onDragStart(event2, index2) { - if (this.disabled) { - return; - } - this.$el.setAttribute("data-p-sliding", true); - this.dragging = true; - this.updateDomData(); - if (this.range && this.value[0] === this.max) { - this.handleIndex = 0; - } else { - this.handleIndex = index2; - } - event2.currentTarget.focus(); - event2.preventDefault(); - }, "onDragStart"), - onDrag: /* @__PURE__ */ __name(function onDrag(event2) { - if (this.dragging) { - this.setValue(event2); - event2.preventDefault(); - } - }, "onDrag"), - onDragEnd: /* @__PURE__ */ __name(function onDragEnd(event2) { - if (this.dragging) { - this.dragging = false; - this.$el.setAttribute("data-p-sliding", false); - this.$emit("slideend", { - originalEvent: event2, - value: this.value - }); - } - }, "onDragEnd"), - onBarClick: /* @__PURE__ */ __name(function onBarClick(event2) { - if (this.disabled) { - return; - } - if (getAttribute(event2.target, "data-pc-section") !== "handle") { - this.updateDomData(); - this.setValue(event2); - } - }, "onBarClick"), - onMouseDown: /* @__PURE__ */ __name(function onMouseDown2(event2, index2) { - this.bindDragListeners(); - this.onDragStart(event2, index2); - }, "onMouseDown"), - onKeyDown: /* @__PURE__ */ __name(function onKeyDown4(event2, index2) { - this.handleIndex = index2; - switch (event2.code) { - case "ArrowDown": - case "ArrowLeft": - this.decrementValue(event2, index2); - event2.preventDefault(); - break; - case "ArrowUp": - case "ArrowRight": - this.incrementValue(event2, index2); - event2.preventDefault(); - break; - case "PageDown": - this.decrementValue(event2, index2, true); - event2.preventDefault(); - break; - case "PageUp": - this.incrementValue(event2, index2, true); - event2.preventDefault(); - break; - case "Home": - this.updateModel(event2, this.min); - event2.preventDefault(); - break; - case "End": - this.updateModel(event2, this.max); - event2.preventDefault(); - break; - } - }, "onKeyDown"), - decrementValue: /* @__PURE__ */ __name(function decrementValue(event2, index2) { - var pageKey = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false; - var newValue; - if (this.range) { - if (this.step) newValue = this.value[index2] - this.step; - else newValue = this.value[index2] - 1; - } else { - if (this.step) newValue = this.value - this.step; - else if (!this.step && pageKey) newValue = this.value - 10; - else newValue = this.value - 1; - } - this.updateModel(event2, newValue); - event2.preventDefault(); - }, "decrementValue"), - incrementValue: /* @__PURE__ */ __name(function incrementValue(event2, index2) { - var pageKey = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false; - var newValue; - if (this.range) { - if (this.step) newValue = this.value[index2] + this.step; - else newValue = this.value[index2] + 1; - } else { - if (this.step) newValue = this.value + this.step; - else if (!this.step && pageKey) newValue = this.value + 10; - else newValue = this.value + 1; - } - this.updateModel(event2, newValue); - event2.preventDefault(); - }, "incrementValue"), - bindDragListeners: /* @__PURE__ */ __name(function bindDragListeners() { - if (!this.dragListener) { - this.dragListener = this.onDrag.bind(this); - document.addEventListener("mousemove", this.dragListener); - } - if (!this.dragEndListener) { - this.dragEndListener = this.onDragEnd.bind(this); - document.addEventListener("mouseup", this.dragEndListener); - } - }, "bindDragListeners"), - unbindDragListeners: /* @__PURE__ */ __name(function unbindDragListeners() { - if (this.dragListener) { - document.removeEventListener("mousemove", this.dragListener); - this.dragListener = null; - } - if (this.dragEndListener) { - document.removeEventListener("mouseup", this.dragEndListener); - this.dragEndListener = null; - } - }, "unbindDragListeners") - }, - computed: { - value: /* @__PURE__ */ __name(function value2() { - var _this$modelValue3; - if (this.range) { - var _this$modelValue$, _this$modelValue, _this$modelValue$2, _this$modelValue2; - return [(_this$modelValue$ = (_this$modelValue = this.modelValue) === null || _this$modelValue === void 0 ? void 0 : _this$modelValue[0]) !== null && _this$modelValue$ !== void 0 ? _this$modelValue$ : this.min, (_this$modelValue$2 = (_this$modelValue2 = this.modelValue) === null || _this$modelValue2 === void 0 ? void 0 : _this$modelValue2[1]) !== null && _this$modelValue$2 !== void 0 ? _this$modelValue$2 : this.max]; - } - return (_this$modelValue3 = this.modelValue) !== null && _this$modelValue3 !== void 0 ? _this$modelValue3 : this.min; - }, "value"), - horizontal: /* @__PURE__ */ __name(function horizontal() { - return this.orientation === "horizontal"; - }, "horizontal"), - vertical: /* @__PURE__ */ __name(function vertical() { - return this.orientation === "vertical"; - }, "vertical"), - rangeStyle: /* @__PURE__ */ __name(function rangeStyle() { - if (this.range) { - var rangeSliderWidth = this.rangeEndPosition > this.rangeStartPosition ? this.rangeEndPosition - this.rangeStartPosition : this.rangeStartPosition - this.rangeEndPosition; - var rangeSliderPosition = this.rangeEndPosition > this.rangeStartPosition ? this.rangeStartPosition : this.rangeEndPosition; - if (this.horizontal) return { - left: rangeSliderPosition + "%", - width: rangeSliderWidth + "%" - }; - else return { - bottom: rangeSliderPosition + "%", - height: rangeSliderWidth + "%" - }; - } else { - if (this.horizontal) return { - width: this.handlePosition + "%" - }; - else return { - height: this.handlePosition + "%" - }; - } - }, "rangeStyle"), - handleStyle: /* @__PURE__ */ __name(function handleStyle() { - if (this.horizontal) return { - left: this.handlePosition + "%" - }; - else return { - bottom: this.handlePosition + "%" - }; - }, "handleStyle"), - handlePosition: /* @__PURE__ */ __name(function handlePosition() { - if (this.value < this.min) return 0; - else if (this.value > this.max) return 100; - else return (this.value - this.min) * 100 / (this.max - this.min); - }, "handlePosition"), - rangeStartPosition: /* @__PURE__ */ __name(function rangeStartPosition() { - if (this.value && this.value[0]) return (this.value[0] < this.min ? 0 : this.value[0] - this.min) * 100 / (this.max - this.min); - else return 0; - }, "rangeStartPosition"), - rangeEndPosition: /* @__PURE__ */ __name(function rangeEndPosition() { - if (this.value && this.value.length === 2) return (this.value[1] > this.max ? 100 : this.value[1] - this.min) * 100 / (this.max - this.min); - else return 100; - }, "rangeEndPosition"), - rangeStartHandleStyle: /* @__PURE__ */ __name(function rangeStartHandleStyle() { - if (this.horizontal) return { - left: this.rangeStartPosition + "%" - }; - else return { - bottom: this.rangeStartPosition + "%" - }; - }, "rangeStartHandleStyle"), - rangeEndHandleStyle: /* @__PURE__ */ __name(function rangeEndHandleStyle() { - if (this.horizontal) return { - left: this.rangeEndPosition + "%" - }; - else return { - bottom: this.rangeEndPosition + "%" - }; - }, "rangeEndHandleStyle") - } -}; -var _hoisted_1$F = ["tabindex", "aria-valuemin", "aria-valuenow", "aria-valuemax", "aria-labelledby", "aria-label", "aria-orientation"]; -var _hoisted_2$s = ["tabindex", "aria-valuemin", "aria-valuenow", "aria-valuemax", "aria-labelledby", "aria-label", "aria-orientation"]; -var _hoisted_3$j = ["tabindex", "aria-valuemin", "aria-valuenow", "aria-valuemax", "aria-labelledby", "aria-label", "aria-orientation"]; -function render$q(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("div", mergeProps$1({ - "class": _ctx.cx("root"), - onClick: _cache[15] || (_cache[15] = function() { - return $options.onBarClick && $options.onBarClick.apply($options, arguments); - }) - }, _ctx.ptmi("root"), { - "data-p-sliding": false - }), [createBaseVNode("span", mergeProps$1({ - "class": _ctx.cx("range"), - style: [_ctx.sx("range"), $options.rangeStyle] - }, _ctx.ptm("range")), null, 16), !_ctx.range ? (openBlock(), createElementBlock("span", mergeProps$1({ - key: 0, - "class": _ctx.cx("handle"), - style: [_ctx.sx("handle"), $options.handleStyle], - onTouchstartPassive: _cache[0] || (_cache[0] = function($event) { - return $options.onDragStart($event); - }), - onTouchmovePassive: _cache[1] || (_cache[1] = function($event) { - return $options.onDrag($event); - }), - onTouchend: _cache[2] || (_cache[2] = function($event) { - return $options.onDragEnd($event); - }), - onMousedown: _cache[3] || (_cache[3] = function($event) { - return $options.onMouseDown($event); - }), - onKeydown: _cache[4] || (_cache[4] = function($event) { - return $options.onKeyDown($event); - }), - tabindex: _ctx.tabindex, - role: "slider", - "aria-valuemin": _ctx.min, - "aria-valuenow": _ctx.modelValue, - "aria-valuemax": _ctx.max, - "aria-labelledby": _ctx.ariaLabelledby, - "aria-label": _ctx.ariaLabel, - "aria-orientation": _ctx.orientation - }, _ctx.ptm("handle")), null, 16, _hoisted_1$F)) : createCommentVNode("", true), _ctx.range ? (openBlock(), createElementBlock("span", mergeProps$1({ - key: 1, - "class": _ctx.cx("handle"), - style: [_ctx.sx("handle"), $options.rangeStartHandleStyle], - onTouchstartPassive: _cache[5] || (_cache[5] = function($event) { - return $options.onDragStart($event, 0); - }), - onTouchmovePassive: _cache[6] || (_cache[6] = function($event) { - return $options.onDrag($event); - }), - onTouchend: _cache[7] || (_cache[7] = function($event) { - return $options.onDragEnd($event); - }), - onMousedown: _cache[8] || (_cache[8] = function($event) { - return $options.onMouseDown($event, 0); - }), - onKeydown: _cache[9] || (_cache[9] = function($event) { - return $options.onKeyDown($event, 0); - }), - tabindex: _ctx.tabindex, - role: "slider", - "aria-valuemin": _ctx.min, - "aria-valuenow": _ctx.modelValue ? _ctx.modelValue[0] : null, - "aria-valuemax": _ctx.max, - "aria-labelledby": _ctx.ariaLabelledby, - "aria-label": _ctx.ariaLabel, - "aria-orientation": _ctx.orientation - }, _ctx.ptm("startHandler")), null, 16, _hoisted_2$s)) : createCommentVNode("", true), _ctx.range ? (openBlock(), createElementBlock("span", mergeProps$1({ - key: 2, - "class": _ctx.cx("handle"), - style: [_ctx.sx("handle"), $options.rangeEndHandleStyle], - onTouchstartPassive: _cache[10] || (_cache[10] = function($event) { - return $options.onDragStart($event, 1); - }), - onTouchmovePassive: _cache[11] || (_cache[11] = function($event) { - return $options.onDrag($event); - }), - onTouchend: _cache[12] || (_cache[12] = function($event) { - return $options.onDragEnd($event); - }), - onMousedown: _cache[13] || (_cache[13] = function($event) { - return $options.onMouseDown($event, 1); - }), - onKeydown: _cache[14] || (_cache[14] = function($event) { - return $options.onKeyDown($event, 1); - }), - tabindex: _ctx.tabindex, - role: "slider", - "aria-valuemin": _ctx.min, - "aria-valuenow": _ctx.modelValue ? _ctx.modelValue[1] : null, - "aria-valuemax": _ctx.max, - "aria-labelledby": _ctx.ariaLabelledby, - "aria-label": _ctx.ariaLabel, - "aria-orientation": _ctx.orientation - }, _ctx.ptm("endHandler")), null, 16, _hoisted_3$j)) : createCommentVNode("", true)], 16); -} -__name(render$q, "render$q"); -script$r.render = render$q; -const _hoisted_1$E = { class: "input-slider flex flex-row items-center gap-2" }; -const _sfc_main$D = /* @__PURE__ */ defineComponent({ - __name: "InputSlider", - props: { - modelValue: {}, - inputClass: {}, - sliderClass: {}, - min: {}, - max: {}, - step: {} - }, - emits: ["update:modelValue"], - setup(__props, { emit: __emit }) { - const props = __props; - const emit2 = __emit; - const localValue = ref(props.modelValue); - watch( - () => props.modelValue, - (newValue) => { - localValue.value = newValue; - } - ); - const updateValue3 = /* @__PURE__ */ __name((newValue) => { - if (newValue === null) { - newValue = Number(props.min) || 0; - } - const min = Number(props.min ?? Number.NEGATIVE_INFINITY); - const max = Number(props.max ?? Number.POSITIVE_INFINITY); - const step2 = Number(props.step) || 1; - newValue = Math.max(min, Math.min(max, newValue)); - newValue = Math.round(newValue / step2) * step2; - localValue.value = newValue; - emit2("update:modelValue", newValue); - }, "updateValue"); - return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", _hoisted_1$E, [ - createVNode(unref(script$r), { - modelValue: _ctx.modelValue, - "onUpdate:modelValue": updateValue3, - class: normalizeClass(["slider-part", _ctx.sliderClass]), - min: _ctx.min, - max: _ctx.max, - step: _ctx.step - }, null, 8, ["modelValue", "class", "min", "max", "step"]), - createVNode(unref(script$u), { - modelValue: _ctx.modelValue, - "onUpdate:modelValue": updateValue3, - class: normalizeClass(["input-part", _ctx.inputClass]), - min: _ctx.min, - max: _ctx.max, - step: _ctx.step, - allowEmpty: false - }, null, 8, ["modelValue", "class", "min", "max", "step"]) - ]); - }; - } -}); -function formatCamelCase(str) { - const isCamelCase = /^([A-Z][a-z]*)+$/.test(str); - if (!isCamelCase) { - return str; - } - const words = str.split(/(?=[A-Z][a-z])|\d+/); - const processedWords = words.map((word) => { - if (word.length > 1 && word === word.toUpperCase()) { - return word; - } - return word.charAt(0).toUpperCase() + word.slice(1); - }); - return processedWords.join(" "); -} -__name(formatCamelCase, "formatCamelCase"); -function appendJsonExt(path) { - if (!path.toLowerCase().endsWith(".json")) { - path += ".json"; - } - return path; -} -__name(appendJsonExt, "appendJsonExt"); -function trimJsonExt(path) { - return path?.replace(/\.json$/, ""); -} -__name(trimJsonExt, "trimJsonExt"); -function highlightQuery(text, query) { - if (!query) return text; - const regex = new RegExp(`(${query})`, "gi"); - return text.replace(regex, '$1'); -} -__name(highlightQuery, "highlightQuery"); -function formatNumberWithSuffix(num, { - precision = 1, - roundToInt = false -} = {}) { - const suffixes = ["", "k", "m", "b", "t"]; - const absNum = Math.abs(num); - if (absNum < 1e3) { - return roundToInt ? Math.round(num).toString() : num.toFixed(precision); - } - const exp = Math.min(Math.floor(Math.log10(absNum) / 3), suffixes.length - 1); - const formattedNum = (num / Math.pow(1e3, exp)).toFixed(precision); - return `${formattedNum}${suffixes[exp]}`; -} -__name(formatNumberWithSuffix, "formatNumberWithSuffix"); -function formatMemory(value3) { - if (value3 === null || value3 === void 0) { - return "-"; - } - const mb = Math.round(value3 / (1024 * 1024)); - if (mb >= 1024) { - return `${(mb / 1024).toFixed(2)} GB`; - } - return `${mb} MB`; -} -__name(formatMemory, "formatMemory"); -const _hoisted_1$D = { class: "setting-group" }; -const _hoisted_2$r = { class: "setting-label flex flex-grow items-center" }; -const _hoisted_3$i = { class: "text-[var(--p-text-muted-color)]" }; -const _hoisted_4$b = { - key: 2, - class: "pi pi-info-circle bg-transparent" -}; -const _hoisted_5$9 = { class: "setting-input flex justify-end" }; -const _sfc_main$C = /* @__PURE__ */ defineComponent({ - __name: "SettingGroup", - props: { - group: {}, - divider: { type: Boolean } - }, - setup(__props) { - const settingStore = useSettingStore(); - function getSettingAttrs(setting) { - const attrs3 = { ...setting.attrs || {} }; - const settingType = setting.type; - if (typeof settingType === "function") { - attrs3["renderFunction"] = () => settingType( - setting.name, - (v2) => updateSetting(setting, v2), - settingStore.get(setting.id), - setting.attrs - ); - } - switch (setting.type) { - case "combo": - attrs3["options"] = typeof setting.options === "function" ? setting.options(settingStore.get(setting.id)) : setting.options; - if (typeof setting.options[0] !== "string") { - attrs3["optionLabel"] = "text"; - attrs3["optionValue"] = "value"; - } - break; - } - return attrs3; - } - __name(getSettingAttrs, "getSettingAttrs"); - const updateSetting = /* @__PURE__ */ __name((setting, value3) => { - if (setting.onChange) setting.onChange(value3, settingStore.get(setting.id)); - settingStore.set(setting.id, value3); - }, "updateSetting"); - function getSettingComponent(setting) { - if (typeof setting.type === "function") { - return _sfc_main$E; - } - switch (setting.type) { - case "boolean": - return script$t; - case "number": - return script$u; - case "slider": - return _sfc_main$D; - case "combo": - return script$C; - default: - return script$N; - } - } - __name(getSettingComponent, "getSettingComponent"); - return (_ctx, _cache) => { - const _directive_tooltip = resolveDirective("tooltip"); - return openBlock(), createElementBlock("div", _hoisted_1$D, [ - _ctx.divider ? (openBlock(), createBlock(unref(script$y), { key: 0 })) : createCommentVNode("", true), - createBaseVNode("h3", null, toDisplayString$1(unref(formatCamelCase)(_ctx.group.label)), 1), - (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.group.settings, (setting) => { - return openBlock(), createElementBlock("div", { - key: setting.id, - class: "setting-item flex items-center mb-4" - }, [ - createBaseVNode("div", _hoisted_2$r, [ - createBaseVNode("span", _hoisted_3$i, [ - setting.experimental ? (openBlock(), createBlock(unref(script$s), { - key: 0, - value: _ctx.$t("experimental") - }, null, 8, ["value"])) : createCommentVNode("", true), - setting.deprecated ? (openBlock(), createBlock(unref(script$s), { - key: 1, - value: _ctx.$t("deprecated"), - severity: "danger" - }, null, 8, ["value"])) : createCommentVNode("", true), - createTextVNode(" " + toDisplayString$1(setting.name) + " ", 1), - setting.tooltip ? withDirectives((openBlock(), createElementBlock("i", _hoisted_4$b, null, 512)), [ - [_directive_tooltip, setting.tooltip] - ]) : createCommentVNode("", true) - ]) - ]), - createBaseVNode("div", _hoisted_5$9, [ - (openBlock(), createBlock(resolveDynamicComponent(markRaw(getSettingComponent(setting))), mergeProps$1({ - id: setting.id, - modelValue: unref(settingStore).get(setting.id), - "onUpdate:modelValue": /* @__PURE__ */ __name(($event) => updateSetting(setting, $event), "onUpdate:modelValue"), - ref_for: true - }, getSettingAttrs(setting)), null, 16, ["id", "modelValue", "onUpdate:modelValue"])) - ]) - ]); - }), 128)) - ]); - }; - } -}); -const SettingGroup = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__scopeId", "data-v-04f094d4"]]); -var script$q = { - name: "TimesCircleIcon", - "extends": script$T -}; -function render$p(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("svg", mergeProps$1({ - 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: "M7 14C5.61553 14 4.26215 13.5895 3.11101 12.8203C1.95987 12.0511 1.06266 10.9579 0.532846 9.67879C0.00303296 8.3997 -0.13559 6.99224 0.134506 5.63437C0.404603 4.2765 1.07129 3.02922 2.05026 2.05026C3.02922 1.07129 4.2765 0.404603 5.63437 0.134506C6.99224 -0.13559 8.3997 0.00303296 9.67879 0.532846C10.9579 1.06266 12.0511 1.95987 12.8203 3.11101C13.5895 4.26215 14 5.61553 14 7C14 8.85652 13.2625 10.637 11.9497 11.9497C10.637 13.2625 8.85652 14 7 14ZM7 1.16667C5.84628 1.16667 4.71846 1.50879 3.75918 2.14976C2.79989 2.79074 2.05222 3.70178 1.61071 4.76768C1.16919 5.83358 1.05367 7.00647 1.27876 8.13803C1.50384 9.26958 2.05941 10.309 2.87521 11.1248C3.69102 11.9406 4.73042 12.4962 5.86198 12.7212C6.99353 12.9463 8.16642 12.8308 9.23232 12.3893C10.2982 11.9478 11.2093 11.2001 11.8502 10.2408C12.4912 9.28154 12.8333 8.15373 12.8333 7C12.8333 5.45291 12.2188 3.96918 11.1248 2.87521C10.0308 1.78125 8.5471 1.16667 7 1.16667ZM4.66662 9.91668C4.58998 9.91704 4.51404 9.90209 4.44325 9.87271C4.37246 9.84333 4.30826 9.8001 4.2544 9.74557C4.14516 9.6362 4.0838 9.48793 4.0838 9.33335C4.0838 9.17876 4.14516 9.0305 4.2544 8.92113L6.17553 7L4.25443 5.07891C4.15139 4.96832 4.09529 4.82207 4.09796 4.67094C4.10063 4.51982 4.16185 4.37563 4.26872 4.26876C4.3756 4.16188 4.51979 4.10066 4.67091 4.09799C4.82204 4.09532 4.96829 4.15142 5.07887 4.25446L6.99997 6.17556L8.92106 4.25446C9.03164 4.15142 9.1779 4.09532 9.32903 4.09799C9.48015 4.10066 9.62434 4.16188 9.73121 4.26876C9.83809 4.37563 9.89931 4.51982 9.90198 4.67094C9.90464 4.82207 9.84855 4.96832 9.74551 5.07891L7.82441 7L9.74554 8.92113C9.85478 9.0305 9.91614 9.17876 9.91614 9.33335C9.91614 9.48793 9.85478 9.6362 9.74554 9.74557C9.69168 9.8001 9.62748 9.84333 9.55669 9.87271C9.4859 9.90209 9.40996 9.91704 9.33332 9.91668C9.25668 9.91704 9.18073 9.90209 9.10995 9.87271C9.03916 9.84333 8.97495 9.8001 8.9211 9.74557L6.99997 7.82444L5.07884 9.74557C5.02499 9.8001 4.96078 9.84333 4.88999 9.87271C4.81921 9.90209 4.74326 9.91704 4.66662 9.91668Z", - fill: "currentColor" - }, null, -1)]), 16); -} -__name(render$p, "render$p"); -script$q.render = render$p; -var theme$g = /* @__PURE__ */ __name(function theme19(_ref) { - var dt2 = _ref.dt; - return "\n.p-chip {\n display: inline-flex;\n align-items: center;\n background: ".concat(dt2("chip.background"), ";\n color: ").concat(dt2("chip.color"), ";\n border-radius: ").concat(dt2("chip.border.radius"), ";\n padding: ").concat(dt2("chip.padding.y"), " ").concat(dt2("chip.padding.x"), ";\n gap: ").concat(dt2("chip.gap"), ";\n}\n\n.p-chip-icon {\n color: ").concat(dt2("chip.icon.color"), ";\n font-size: ").concat(dt2("chip.icon.font.size"), ";\n width: ").concat(dt2("chip.icon.size"), ";\n height: ").concat(dt2("chip.icon.size"), ";\n}\n\n.p-chip-image {\n border-radius: 50%;\n width: ").concat(dt2("chip.image.width"), ";\n height: ").concat(dt2("chip.image.height"), ";\n margin-left: calc(-1 * ").concat(dt2("chip.padding.y"), ");\n}\n\n.p-chip:has(.p-chip-remove-icon) {\n padding-right: ").concat(dt2("chip.padding.y"), ";\n}\n\n.p-chip:has(.p-chip-image) {\n padding-top: calc(").concat(dt2("chip.padding.y"), " / 2);\n padding-bottom: calc(").concat(dt2("chip.padding.y"), " / 2);\n}\n\n.p-chip-remove-icon {\n cursor: pointer;\n font-size: ").concat(dt2("chip.remove.icon.size"), ";\n width: ").concat(dt2("chip.remove.icon.size"), ";\n height: ").concat(dt2("chip.remove.icon.size"), ";\n color: ").concat(dt2("chip.remove.icon.color"), ";\n border-radius: 50%;\n transition: outline-color ").concat(dt2("chip.transition.duration"), ", box-shadow ").concat(dt2("chip.transition.duration"), ";\n outline-color: transparent;\n}\n\n.p-chip-remove-icon:focus-visible {\n box-shadow: ").concat(dt2("chip.remove.icon.focus.ring.shadow"), ";\n outline: ").concat(dt2("chip.remove.icon.focus.ring.width"), " ").concat(dt2("chip.remove.icon.focus.ring.style"), " ").concat(dt2("chip.remove.icon.focus.ring.color"), ";\n outline-offset: ").concat(dt2("chip.remove.icon.focus.ring.offset"), ";\n}\n"); -}, "theme"); -var classes$g = { - root: "p-chip p-component", - image: "p-chip-image", - icon: "p-chip-icon", - label: "p-chip-label", - removeIcon: "p-chip-remove-icon" -}; -var ChipStyle = BaseStyle.extend({ - name: "chip", - theme: theme$g, - classes: classes$g -}); -var script$1$f = { - name: "BaseChip", - "extends": script$U, - props: { - label: { - type: String, - "default": null - }, - icon: { - type: String, - "default": null - }, - image: { - type: String, - "default": null - }, - removable: { - type: Boolean, - "default": false - }, - removeIcon: { - type: String, - "default": void 0 - } - }, - style: ChipStyle, - provide: /* @__PURE__ */ __name(function provide21() { - return { - $pcChip: this, - $parentInstance: this - }; - }, "provide") -}; -var script$p = { - name: "Chip", - "extends": script$1$f, - inheritAttrs: false, - emits: ["remove"], - data: /* @__PURE__ */ __name(function data9() { - return { - visible: true - }; - }, "data"), - methods: { - onKeydown: /* @__PURE__ */ __name(function onKeydown(event2) { - if (event2.key === "Enter" || event2.key === "Backspace") { - this.close(event2); - } - }, "onKeydown"), - close: /* @__PURE__ */ __name(function close(event2) { - this.visible = false; - this.$emit("remove", event2); - }, "close") - }, - components: { - TimesCircleIcon: script$q - } -}; -var _hoisted_1$C = ["aria-label"]; -var _hoisted_2$q = ["src"]; -function render$o(_ctx, _cache, $props, $setup, $data, $options) { - return $data.visible ? (openBlock(), createElementBlock("div", mergeProps$1({ - key: 0, - "class": _ctx.cx("root"), - "aria-label": _ctx.label - }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default", {}, function() { - return [_ctx.image ? (openBlock(), createElementBlock("img", mergeProps$1({ - key: 0, - src: _ctx.image - }, _ctx.ptm("image"), { - "class": _ctx.cx("image") - }), null, 16, _hoisted_2$q)) : _ctx.$slots.icon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.icon), mergeProps$1({ - key: 1, - "class": _ctx.cx("icon") - }, _ctx.ptm("icon")), null, 16, ["class"])) : _ctx.icon ? (openBlock(), createElementBlock("span", mergeProps$1({ - key: 2, - "class": [_ctx.cx("icon"), _ctx.icon] - }, _ctx.ptm("icon")), null, 16)) : createCommentVNode("", true), _ctx.label ? (openBlock(), createElementBlock("div", mergeProps$1({ - key: 3, - "class": _ctx.cx("label") - }, _ctx.ptm("label")), toDisplayString$1(_ctx.label), 17)) : createCommentVNode("", true)]; - }), _ctx.removable ? renderSlot(_ctx.$slots, "removeicon", { - key: 0, - removeCallback: $options.close, - keydownCallback: $options.onKeydown - }, function() { - return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.removeIcon ? "span" : "TimesCircleIcon"), mergeProps$1({ - tabindex: "0", - "class": [_ctx.cx("removeIcon"), _ctx.removeIcon], - onClick: $options.close, - onKeydown: $options.onKeydown - }, _ctx.ptm("removeIcon")), null, 16, ["class", "onClick", "onKeydown"]))]; - }) : createCommentVNode("", true)], 16, _hoisted_1$C)) : createCommentVNode("", true); -} -__name(render$o, "render$o"); -script$p.render = render$o; -const _sfc_main$B = /* @__PURE__ */ defineComponent({ - __name: "SearchFilterChip", - props: { - text: {}, - badge: {}, - badgeClass: {} - }, - emits: ["remove"], - setup(__props) { - return (_ctx, _cache) => { - return openBlock(), createBlock(unref(script$p), { - removable: "", - onRemove: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("remove", $event)) - }, { - default: withCtx(() => [ - createVNode(unref(script$J), { - size: "small", - class: normalizeClass(_ctx.badgeClass) - }, { - default: withCtx(() => [ - createTextVNode(toDisplayString$1(_ctx.badge), 1) - ]), - _: 1 - }, 8, ["class"]), - createTextVNode(" " + toDisplayString$1(_ctx.text), 1) - ]), - _: 1 - }); - }; - } -}); -const SearchFilterChip = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["__scopeId", "data-v-a4c03005"]]); -const _hoisted_1$B = { - key: 0, - class: "search-filters pt-2 flex flex-wrap gap-2" -}; -const _sfc_main$A = /* @__PURE__ */ defineComponent({ - __name: "SearchBox", - props: { - class: {}, - modelValue: {}, - placeholder: { default: "Search..." }, - icon: { default: "pi pi-search" }, - debounceTime: { default: 300 }, - filterIcon: {}, - filters: {} - }, - emits: [ - "update:modelValue", - "search", - "showFilter", - "removeFilter" - ], - setup(__props, { emit: __emit }) { - const props = __props; - const { filters } = toRefs$1(props); - const emit2 = __emit; - const emitSearch = lodashExports.debounce((value3) => { - emit2("search", value3, props.filters); - }, props.debounceTime); - const handleInput = /* @__PURE__ */ __name((event2) => { - const target = event2.target; - emit2("update:modelValue", target.value); - emitSearch(target.value); - }, "handleInput"); - return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", { - class: normalizeClass(props.class) - }, [ - createVNode(unref(script$P), null, { - default: withCtx(() => [ - createVNode(unref(script$O), { - class: normalizeClass(props.icon) - }, null, 8, ["class"]), - createVNode(unref(script$N), { - class: normalizeClass(["search-box-input", { ["with-filter"]: props.filterIcon }]), - onInput: handleInput, - modelValue: props.modelValue, - placeholder: props.placeholder - }, null, 8, ["class", "modelValue", "placeholder"]), - props.filterIcon ? (openBlock(), createBlock(unref(script$I), { - key: 0, - class: "p-inputicon", - icon: props.filterIcon, - text: "", - severity: "contrast", - onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("showFilter", $event)) - }, null, 8, ["icon"])) : createCommentVNode("", true) - ]), - _: 1 - }), - unref(filters)?.length ? (openBlock(), createElementBlock("div", _hoisted_1$B, [ - (openBlock(true), createElementBlock(Fragment, null, renderList(unref(filters), (filter4) => { - return openBlock(), createBlock(SearchFilterChip, { - key: filter4.id, - text: filter4.text, - badge: filter4.badge, - "badge-class": filter4.badgeClass, - onRemove: /* @__PURE__ */ __name(($event) => _ctx.$emit("removeFilter", filter4), "onRemove") - }, null, 8, ["text", "badge", "badge-class", "onRemove"]); - }), 128)) - ])) : createCommentVNode("", true) - ], 2); - }; - } -}); -const SearchBox = /* @__PURE__ */ _export_sfc(_sfc_main$A, [["__scopeId", "data-v-f28148d1"]]); -var theme$f = /* @__PURE__ */ __name(function theme20(_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$f = { - root: "p-card p-component", - header: "p-card-header", - body: "p-card-body", - caption: "p-card-caption", - title: "p-card-title", - subtitle: "p-card-subtitle", - content: "p-card-content", - footer: "p-card-footer" -}; -var CardStyle = BaseStyle.extend({ - name: "card", - theme: theme$f, - classes: classes$f -}); -var script$1$e = { - name: "BaseCard", - "extends": script$U, - style: CardStyle, - provide: /* @__PURE__ */ __name(function provide22() { - return { - $pcCard: this, - $parentInstance: this - }; - }, "provide") -}; -var script$o = { - name: "Card", - "extends": script$1$e, - inheritAttrs: false -}; -function render$n(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("div", mergeProps$1({ - "class": _ctx.cx("root") - }, _ctx.ptmi("root")), [_ctx.$slots.header ? (openBlock(), createElementBlock("div", mergeProps$1({ - key: 0, - "class": _ctx.cx("header") - }, _ctx.ptm("header")), [renderSlot(_ctx.$slots, "header")], 16)) : createCommentVNode("", true), createBaseVNode("div", mergeProps$1({ - "class": _ctx.cx("body") - }, _ctx.ptm("body")), [_ctx.$slots.title || _ctx.$slots.subtitle ? (openBlock(), createElementBlock("div", mergeProps$1({ - key: 0, - "class": _ctx.cx("caption") - }, _ctx.ptm("caption")), [_ctx.$slots.title ? (openBlock(), createElementBlock("div", mergeProps$1({ - key: 0, - "class": _ctx.cx("title") - }, _ctx.ptm("title")), [renderSlot(_ctx.$slots, "title")], 16)) : createCommentVNode("", true), _ctx.$slots.subtitle ? (openBlock(), createElementBlock("div", mergeProps$1({ - key: 1, - "class": _ctx.cx("subtitle") - }, _ctx.ptm("subtitle")), [renderSlot(_ctx.$slots, "subtitle")], 16)) : createCommentVNode("", true)], 16)) : createCommentVNode("", true), createBaseVNode("div", mergeProps$1({ - "class": _ctx.cx("content") - }, _ctx.ptm("content")), [renderSlot(_ctx.$slots, "content")], 16), _ctx.$slots.footer ? (openBlock(), createElementBlock("div", mergeProps$1({ - key: 1, - "class": _ctx.cx("footer") - }, _ctx.ptm("footer")), [renderSlot(_ctx.$slots, "footer")], 16)) : createCommentVNode("", true)], 16)], 16); -} -__name(render$n, "render$n"); -script$o.render = render$n; -const _hoisted_1$A = { class: "no-results-placeholder" }; -const _hoisted_2$p = { class: "flex flex-col items-center" }; -const _hoisted_3$h = { class: "whitespace-pre-line text-center" }; -const _sfc_main$z = /* @__PURE__ */ defineComponent({ - __name: "NoResultsPlaceholder", - props: { - icon: {}, - title: {}, - message: {}, - buttonLabel: {} - }, - emits: ["action"], - setup(__props) { - return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", _hoisted_1$A, [ - createVNode(unref(script$o), null, { - content: withCtx(() => [ - createBaseVNode("div", _hoisted_2$p, [ - createBaseVNode("i", { - class: normalizeClass(_ctx.icon), - style: { "font-size": "3rem", "margin-bottom": "1rem" } - }, null, 2), - createBaseVNode("h3", null, toDisplayString$1(_ctx.title), 1), - createBaseVNode("p", _hoisted_3$h, toDisplayString$1(_ctx.message), 1), - _ctx.buttonLabel ? (openBlock(), createBlock(unref(script$I), { - key: 0, - label: _ctx.buttonLabel, - onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("action")), - class: "p-button-text" - }, null, 8, ["label"])) : createCommentVNode("", true) - ]) - ]), - _: 1 - }) - ]); - }; - } -}); -const NoResultsPlaceholder = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data-v-c19e9e10"]]); -const useSystemStatsStore = /* @__PURE__ */ defineStore("systemStats", () => { - const systemStats = ref(null); - const isLoading = ref(false); - const error = ref(null); - async function fetchSystemStats() { - isLoading.value = true; - error.value = null; - try { - systemStats.value = await api.getSystemStats(); - } catch (err) { - error.value = err instanceof Error ? err.message : "An error occurred while fetching system stats"; - console.error("Error fetching system stats:", err); - } finally { - isLoading.value = false; - } - } - __name(fetchSystemStats, "fetchSystemStats"); - return { - systemStats, - isLoading, - error, - fetchSystemStats - }; -}); -var script$n = { - name: "ChevronLeftIcon", - "extends": script$T -}; -function render$m(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("svg", mergeProps$1({ - 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: "M9.61296 13C9.50997 13.0005 9.40792 12.9804 9.3128 12.9409C9.21767 12.9014 9.13139 12.8433 9.05902 12.7701L3.83313 7.54416C3.68634 7.39718 3.60388 7.19795 3.60388 6.99022C3.60388 6.78249 3.68634 6.58325 3.83313 6.43628L9.05902 1.21039C9.20762 1.07192 9.40416 0.996539 9.60724 1.00012C9.81032 1.00371 10.0041 1.08597 10.1477 1.22959C10.2913 1.37322 10.3736 1.56698 10.3772 1.77005C10.3808 1.97313 10.3054 2.16968 10.1669 2.31827L5.49496 6.99022L10.1669 11.6622C10.3137 11.8091 10.3962 12.0084 10.3962 12.2161C10.3962 12.4238 10.3137 12.6231 10.1669 12.7701C10.0945 12.8433 10.0083 12.9014 9.91313 12.9409C9.81801 12.9804 9.71596 13.0005 9.61296 13Z", - fill: "currentColor" - }, null, -1)]), 16); -} -__name(render$m, "render$m"); -script$n.render = render$m; -var script$m = { - name: "ChevronRightIcon", - "extends": script$T -}; -function render$l(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("svg", mergeProps$1({ - 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: "M4.38708 13C4.28408 13.0005 4.18203 12.9804 4.08691 12.9409C3.99178 12.9014 3.9055 12.8433 3.83313 12.7701C3.68634 12.6231 3.60388 12.4238 3.60388 12.2161C3.60388 12.0084 3.68634 11.8091 3.83313 11.6622L8.50507 6.99022L3.83313 2.31827C3.69467 2.16968 3.61928 1.97313 3.62287 1.77005C3.62645 1.56698 3.70872 1.37322 3.85234 1.22959C3.99596 1.08597 4.18972 1.00371 4.3928 1.00012C4.59588 0.996539 4.79242 1.07192 4.94102 1.21039L10.1669 6.43628C10.3137 6.58325 10.3962 6.78249 10.3962 6.99022C10.3962 7.19795 10.3137 7.39718 10.1669 7.54416L4.94102 12.7701C4.86865 12.8433 4.78237 12.9014 4.68724 12.9409C4.59212 12.9804 4.49007 13.0005 4.38708 13Z", - fill: "currentColor" - }, null, -1)]), 16); -} -__name(render$l, "render$l"); -script$m.render = render$l; -var theme$e = /* @__PURE__ */ __name(function theme21(_ref) { - var dt2 = _ref.dt; - return "\n.p-tabview-tablist-container {\n position: relative;\n}\n\n.p-tabview-scrollable > .p-tabview-tablist-container {\n overflow: hidden;\n}\n\n.p-tabview-tablist-scroll-container {\n overflow-x: auto;\n overflow-y: hidden;\n scroll-behavior: smooth;\n scrollbar-width: none;\n overscroll-behavior: contain auto;\n}\n\n.p-tabview-tablist-scroll-container::-webkit-scrollbar {\n display: none;\n}\n\n.p-tabview-tablist {\n display: flex;\n margin: 0;\n padding: 0;\n list-style-type: none;\n flex: 1 1 auto;\n background: ".concat(dt2("tabview.tab.list.background"), ";\n border: 1px solid ").concat(dt2("tabview.tab.list.border.color"), ";\n border-width: 0 0 1px 0;\n position: relative;\n}\n\n.p-tabview-tab-header {\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 border-style: solid;\n border-width: 0 0 1px 0;\n border-color: transparent transparent ").concat(dt2("tabview.tab.border.color"), " transparent;\n color: ").concat(dt2("tabview.tab.color"), ";\n padding: 1rem 1.125rem;\n font-weight: 600;\n border-top-right-radius: ").concat(dt2("border.radius.md"), ";\n border-top-left-radius: ").concat(dt2("border.radius.md"), ";\n transition: color ").concat(dt2("tabview.transition.duration"), ", outline-color ").concat(dt2("tabview.transition.duration"), ";\n margin: 0 0 -1px 0;\n outline-color: transparent;\n}\n\n.p-tabview-tablist-item:not(.p-disabled) .p-tabview-tab-header:focus-visible {\n outline: ").concat(dt2("focus.ring.width"), " ").concat(dt2("focus.ring.style"), " ").concat(dt2("focus.ring.color"), ";\n outline-offset: -1px;\n}\n\n.p-tabview-tablist-item:not(.p-highlight):not(.p-disabled):hover > .p-tabview-tab-header {\n color: ").concat(dt2("tabview.tab.hover.color"), ";\n}\n\n.p-tabview-tablist-item.p-highlight > .p-tabview-tab-header {\n color: ").concat(dt2("tabview.tab.active.color"), ";\n}\n\n.p-tabview-tab-title {\n line-height: 1;\n white-space: nowrap;\n}\n\n.p-tabview-next-button,\n.p-tabview-prev-button {\n position: absolute;\n top: 0;\n margin: 0;\n padding: 0;\n z-index: 2;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n background: ").concat(dt2("tabview.nav.button.background"), ";\n color: ").concat(dt2("tabview.nav.button.color"), ";\n width: 2.5rem;\n border-radius: 0;\n outline-color: transparent;\n transition: color ").concat(dt2("tabview.transition.duration"), ", outline-color ").concat(dt2("tabview.transition.duration"), ";\n box-shadow: ").concat(dt2("tabview.nav.button.shadow"), ";\n border: none;\n cursor: pointer;\n user-select: none;\n}\n\n.p-tabview-next-button:focus-visible,\n.p-tabview-prev-button:focus-visible {\n outline: ").concat(dt2("focus.ring.width"), " ").concat(dt2("focus.ring.style"), " ").concat(dt2("focus.ring.color"), ";\n outline-offset: ").concat(dt2("focus.ring.offset"), ";\n}\n\n.p-tabview-next-button:hover,\n.p-tabview-prev-button:hover {\n color: ").concat(dt2("tabview.nav.button.hover.color"), ";\n}\n\n.p-tabview-prev-button {\n left: 0;\n}\n\n.p-tabview-next-button {\n right: 0;\n}\n\n.p-tabview-panels {\n background: ").concat(dt2("tabview.tab.panel.background"), ";\n color: ").concat(dt2("tabview.tab.panel.color"), ";\n padding: 0.875rem 1.125rem 1.125rem 1.125rem;\n}\n\n.p-tabview-ink-bar {\n z-index: 1;\n display: block;\n position: absolute;\n bottom: -1px;\n height: 1px;\n background: ").concat(dt2("tabview.tab.active.border.color"), ";\n transition: 250ms cubic-bezier(0.35, 0, 0.25, 1);\n}\n"); -}, "theme"); -var classes$e = { - root: /* @__PURE__ */ __name(function root15(_ref2) { - var props = _ref2.props; - return ["p-tabview p-component", { - "p-tabview-scrollable": props.scrollable - }]; - }, "root"), - navContainer: "p-tabview-tablist-container", - prevButton: "p-tabview-prev-button", - navContent: "p-tabview-tablist-scroll-container", - nav: "p-tabview-tablist", - tab: { - header: /* @__PURE__ */ __name(function header(_ref3) { - var instance = _ref3.instance, tab = _ref3.tab, index2 = _ref3.index; - return ["p-tabview-tablist-item", instance.getTabProp(tab, "headerClass"), { - "p-tabview-tablist-item-active": instance.d_activeIndex === index2, - "p-disabled": instance.getTabProp(tab, "disabled") - }]; - }, "header"), - headerAction: "p-tabview-tab-header", - headerTitle: "p-tabview-tab-title", - content: /* @__PURE__ */ __name(function content(_ref4) { - var instance = _ref4.instance, tab = _ref4.tab; - return ["p-tabview-panel", instance.getTabProp(tab, "contentClass")]; - }, "content") - }, - inkbar: "p-tabview-ink-bar", - nextButton: "p-tabview-next-button", - panelContainer: "p-tabview-panels" -}; -var TabViewStyle = BaseStyle.extend({ - name: "tabview", - theme: theme$e, - classes: classes$e -}); -var script$1$d = { - name: "BaseTabView", - "extends": script$U, - props: { - activeIndex: { - type: Number, - "default": 0 - }, - lazy: { - type: Boolean, - "default": false - }, - scrollable: { - type: Boolean, - "default": false - }, - tabindex: { - type: Number, - "default": 0 - }, - selectOnFocus: { - type: Boolean, - "default": false - }, - prevButtonProps: { - type: null, - "default": null - }, - nextButtonProps: { - type: null, - "default": null - }, - prevIcon: { - type: String, - "default": void 0 - }, - nextIcon: { - type: String, - "default": void 0 - } - }, - style: TabViewStyle, - provide: /* @__PURE__ */ __name(function provide23() { - return { - $pcTabs: void 0, - // Backwards compatible to prevent component from breaking - $pcTabView: this, - $parentInstance: this - }; - }, "provide") -}; -var script$l = { - name: "TabView", - "extends": script$1$d, - inheritAttrs: false, - emits: ["update:activeIndex", "tab-change", "tab-click"], - data: /* @__PURE__ */ __name(function data10() { - return { - id: this.$attrs.id, - d_activeIndex: this.activeIndex, - isPrevButtonDisabled: true, - isNextButtonDisabled: false - }; - }, "data"), - watch: { - "$attrs.id": /* @__PURE__ */ __name(function $attrsId5(newValue) { - this.id = newValue || UniqueComponentId(); - }, "$attrsId"), - activeIndex: /* @__PURE__ */ __name(function activeIndex(newValue) { - this.d_activeIndex = newValue; - this.scrollInView({ - index: newValue - }); - }, "activeIndex") - }, - mounted: /* @__PURE__ */ __name(function mounted8() { - console.warn("Deprecated since v4. Use Tabs component instead."); - this.id = this.id || UniqueComponentId(); - this.updateInkBar(); - this.scrollable && this.updateButtonState(); - }, "mounted"), - updated: /* @__PURE__ */ __name(function updated5() { - this.updateInkBar(); - this.scrollable && this.updateButtonState(); - }, "updated"), - methods: { - isTabPanel: /* @__PURE__ */ __name(function isTabPanel(child) { - return child.type.name === "TabPanel"; - }, "isTabPanel"), - isTabActive: /* @__PURE__ */ __name(function isTabActive(index2) { - return this.d_activeIndex === index2; - }, "isTabActive"), - getTabProp: /* @__PURE__ */ __name(function getTabProp(tab, name) { - return tab.props ? tab.props[name] : void 0; - }, "getTabProp"), - getKey: /* @__PURE__ */ __name(function getKey(tab, index2) { - return this.getTabProp(tab, "header") || index2; - }, "getKey"), - getTabHeaderActionId: /* @__PURE__ */ __name(function getTabHeaderActionId(index2) { - return "".concat(this.id, "_").concat(index2, "_header_action"); - }, "getTabHeaderActionId"), - getTabContentId: /* @__PURE__ */ __name(function getTabContentId(index2) { - return "".concat(this.id, "_").concat(index2, "_content"); - }, "getTabContentId"), - getTabPT: /* @__PURE__ */ __name(function getTabPT(tab, key, index2) { - var count = this.tabs.length; - var tabMetaData = { - props: tab.props, - parent: { - instance: this, - props: this.$props, - state: this.$data - }, - context: { - index: index2, - count, - first: index2 === 0, - last: index2 === count - 1, - active: this.isTabActive(index2) - } - }; - return mergeProps$1(this.ptm("tabpanel.".concat(key), { - tabpanel: tabMetaData - }), this.ptm("tabpanel.".concat(key), tabMetaData), this.ptmo(this.getTabProp(tab, "pt"), key, tabMetaData)); - }, "getTabPT"), - onScroll: /* @__PURE__ */ __name(function onScroll3(event2) { - this.scrollable && this.updateButtonState(); - event2.preventDefault(); - }, "onScroll"), - onPrevButtonClick: /* @__PURE__ */ __name(function onPrevButtonClick() { - var content2 = this.$refs.content; - var width2 = getWidth(content2); - var pos2 = content2.scrollLeft - width2; - content2.scrollLeft = pos2 <= 0 ? 0 : pos2; - }, "onPrevButtonClick"), - onNextButtonClick: /* @__PURE__ */ __name(function onNextButtonClick() { - var content2 = this.$refs.content; - var width2 = getWidth(content2) - this.getVisibleButtonWidths(); - var pos2 = content2.scrollLeft + width2; - var lastPos = content2.scrollWidth - width2; - content2.scrollLeft = pos2 >= lastPos ? lastPos : pos2; - }, "onNextButtonClick"), - onTabClick: /* @__PURE__ */ __name(function onTabClick(event2, tab, index2) { - this.changeActiveIndex(event2, tab, index2); - this.$emit("tab-click", { - originalEvent: event2, - index: index2 - }); - }, "onTabClick"), - onTabKeyDown: /* @__PURE__ */ __name(function onTabKeyDown(event2, tab, index2) { - switch (event2.code) { - case "ArrowLeft": - this.onTabArrowLeftKey(event2); - break; - case "ArrowRight": - this.onTabArrowRightKey(event2); - break; - case "Home": - this.onTabHomeKey(event2); - break; - case "End": - this.onTabEndKey(event2); - break; - case "PageDown": - this.onPageDownKey(event2); - break; - case "PageUp": - this.onPageUpKey(event2); - break; - case "Enter": - case "NumpadEnter": - case "Space": - this.onTabEnterKey(event2, tab, index2); - break; - } - }, "onTabKeyDown"), - onTabArrowRightKey: /* @__PURE__ */ __name(function onTabArrowRightKey(event2) { - var nextHeaderAction = this.findNextHeaderAction(event2.target.parentElement); - nextHeaderAction ? this.changeFocusedTab(event2, nextHeaderAction) : this.onTabHomeKey(event2); - event2.preventDefault(); - }, "onTabArrowRightKey"), - onTabArrowLeftKey: /* @__PURE__ */ __name(function onTabArrowLeftKey(event2) { - var prevHeaderAction = this.findPrevHeaderAction(event2.target.parentElement); - prevHeaderAction ? this.changeFocusedTab(event2, prevHeaderAction) : this.onTabEndKey(event2); - event2.preventDefault(); - }, "onTabArrowLeftKey"), - onTabHomeKey: /* @__PURE__ */ __name(function onTabHomeKey(event2) { - var firstHeaderAction = this.findFirstHeaderAction(); - this.changeFocusedTab(event2, firstHeaderAction); - event2.preventDefault(); - }, "onTabHomeKey"), - onTabEndKey: /* @__PURE__ */ __name(function onTabEndKey(event2) { - var lastHeaderAction = this.findLastHeaderAction(); - this.changeFocusedTab(event2, lastHeaderAction); - event2.preventDefault(); - }, "onTabEndKey"), - onPageDownKey: /* @__PURE__ */ __name(function onPageDownKey3(event2) { - this.scrollInView({ - index: this.$refs.nav.children.length - 2 - }); - event2.preventDefault(); - }, "onPageDownKey"), - onPageUpKey: /* @__PURE__ */ __name(function onPageUpKey3(event2) { - this.scrollInView({ - index: 0 - }); - event2.preventDefault(); - }, "onPageUpKey"), - onTabEnterKey: /* @__PURE__ */ __name(function onTabEnterKey(event2, tab, index2) { - this.changeActiveIndex(event2, tab, index2); - event2.preventDefault(); - }, "onTabEnterKey"), - findNextHeaderAction: /* @__PURE__ */ __name(function findNextHeaderAction(tabElement) { - var selfCheck = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; - var headerElement = selfCheck ? tabElement : tabElement.nextElementSibling; - return headerElement ? getAttribute(headerElement, "data-p-disabled") || getAttribute(headerElement, "data-pc-section") === "inkbar" ? this.findNextHeaderAction(headerElement) : findSingle(headerElement, '[data-pc-section="headeraction"]') : null; - }, "findNextHeaderAction"), - findPrevHeaderAction: /* @__PURE__ */ __name(function findPrevHeaderAction(tabElement) { - var selfCheck = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; - var headerElement = selfCheck ? tabElement : tabElement.previousElementSibling; - return headerElement ? getAttribute(headerElement, "data-p-disabled") || getAttribute(headerElement, "data-pc-section") === "inkbar" ? this.findPrevHeaderAction(headerElement) : findSingle(headerElement, '[data-pc-section="headeraction"]') : null; - }, "findPrevHeaderAction"), - findFirstHeaderAction: /* @__PURE__ */ __name(function findFirstHeaderAction() { - return this.findNextHeaderAction(this.$refs.nav.firstElementChild, true); - }, "findFirstHeaderAction"), - findLastHeaderAction: /* @__PURE__ */ __name(function findLastHeaderAction() { - return this.findPrevHeaderAction(this.$refs.nav.lastElementChild, true); - }, "findLastHeaderAction"), - changeActiveIndex: /* @__PURE__ */ __name(function changeActiveIndex(event2, tab, index2) { - if (!this.getTabProp(tab, "disabled") && this.d_activeIndex !== index2) { - this.d_activeIndex = index2; - this.$emit("update:activeIndex", index2); - this.$emit("tab-change", { - originalEvent: event2, - index: index2 - }); - this.scrollInView({ - index: index2 - }); - } - }, "changeActiveIndex"), - changeFocusedTab: /* @__PURE__ */ __name(function changeFocusedTab(event2, element) { - if (element) { - focus(element); - this.scrollInView({ - element - }); - if (this.selectOnFocus) { - var index2 = parseInt(element.parentElement.dataset.pcIndex, 10); - var tab = this.tabs[index2]; - this.changeActiveIndex(event2, tab, index2); - } - } - }, "changeFocusedTab"), - scrollInView: /* @__PURE__ */ __name(function scrollInView5(_ref) { - var element = _ref.element, _ref$index = _ref.index, index2 = _ref$index === void 0 ? -1 : _ref$index; - var currentElement = element || this.$refs.nav.children[index2]; - if (currentElement) { - currentElement.scrollIntoView && currentElement.scrollIntoView({ - block: "nearest" - }); - } - }, "scrollInView"), - updateInkBar: /* @__PURE__ */ __name(function updateInkBar() { - var tabHeader = this.$refs.nav.children[this.d_activeIndex]; - this.$refs.inkbar.style.width = getWidth(tabHeader) + "px"; - this.$refs.inkbar.style.left = getOffset(tabHeader).left - getOffset(this.$refs.nav).left + "px"; - }, "updateInkBar"), - updateButtonState: /* @__PURE__ */ __name(function updateButtonState() { - var content2 = this.$refs.content; - var scrollLeft = content2.scrollLeft, scrollWidth2 = content2.scrollWidth; - var width2 = getWidth(content2); - this.isPrevButtonDisabled = scrollLeft === 0; - this.isNextButtonDisabled = parseInt(scrollLeft) === scrollWidth2 - width2; - }, "updateButtonState"), - getVisibleButtonWidths: /* @__PURE__ */ __name(function getVisibleButtonWidths() { - var _this$$refs = this.$refs, prevBtn = _this$$refs.prevBtn, nextBtn = _this$$refs.nextBtn; - return [prevBtn, nextBtn].reduce(function(acc, el) { - return el ? acc + getWidth(el) : acc; - }, 0); - }, "getVisibleButtonWidths") - }, - computed: { - tabs: /* @__PURE__ */ __name(function tabs() { - var _this = this; - return this.$slots["default"]().reduce(function(tabs2, child) { - if (_this.isTabPanel(child)) { - tabs2.push(child); - } else if (child.children && child.children instanceof Array) { - child.children.forEach(function(nestedChild) { - if (_this.isTabPanel(nestedChild)) { - tabs2.push(nestedChild); - } - }); - } - return tabs2; - }, []); - }, "tabs"), - prevButtonAriaLabel: /* @__PURE__ */ __name(function prevButtonAriaLabel() { - return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.previous : void 0; - }, "prevButtonAriaLabel"), - nextButtonAriaLabel: /* @__PURE__ */ __name(function nextButtonAriaLabel() { - return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.next : void 0; - }, "nextButtonAriaLabel") - }, - directives: { - ripple: Ripple - }, - components: { - ChevronLeftIcon: script$n, - ChevronRightIcon: script$m - } -}; -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$b(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$b, "ownKeys$b"); -function _objectSpread$b(e) { - for (var r = 1; r < arguments.length; r++) { - var t = null != arguments[r] ? arguments[r] : {}; - r % 2 ? ownKeys$b(Object(t), true).forEach(function(r2) { - _defineProperty$9(e, r2, t[r2]); - }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$b(Object(t)).forEach(function(r2) { - Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); - }); - } - return e; -} -__name(_objectSpread$b, "_objectSpread$b"); -function _defineProperty$9(e, r, t) { - return (r = _toPropertyKey$9(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; -} -__name(_defineProperty$9, "_defineProperty$9"); -function _toPropertyKey$9(t) { - var i2 = _toPrimitive$9(t, "string"); - return "symbol" == _typeof$9(i2) ? i2 : i2 + ""; -} -__name(_toPropertyKey$9, "_toPropertyKey$9"); -function _toPrimitive$9(t, r) { - if ("object" != _typeof$9(t) || !t) return t; - var e = t[Symbol.toPrimitive]; - if (void 0 !== e) { - var i2 = e.call(t, r || "default"); - if ("object" != _typeof$9(i2)) return i2; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return ("string" === r ? String : Number)(t); -} -__name(_toPrimitive$9, "_toPrimitive$9"); -var _hoisted_1$z = ["tabindex", "aria-label"]; -var _hoisted_2$o = ["data-p-active", "data-p-disabled", "data-pc-index"]; -var _hoisted_3$g = ["id", "tabindex", "aria-disabled", "aria-selected", "aria-controls", "onClick", "onKeydown"]; -var _hoisted_4$a = ["tabindex", "aria-label"]; -var _hoisted_5$8 = ["id", "aria-labelledby", "data-pc-index", "data-p-active"]; -function render$k(_ctx, _cache, $props, $setup, $data, $options) { - var _directive_ripple = resolveDirective("ripple"); - return openBlock(), createElementBlock("div", mergeProps$1({ - "class": _ctx.cx("root"), - role: "tablist" - }, _ctx.ptmi("root")), [createBaseVNode("div", mergeProps$1({ - "class": _ctx.cx("navContainer") - }, _ctx.ptm("navContainer")), [_ctx.scrollable && !$data.isPrevButtonDisabled ? withDirectives((openBlock(), createElementBlock("button", mergeProps$1({ - key: 0, - ref: "prevBtn", - type: "button", - "class": _ctx.cx("prevButton"), - tabindex: _ctx.tabindex, - "aria-label": $options.prevButtonAriaLabel, - onClick: _cache[0] || (_cache[0] = function() { - return $options.onPrevButtonClick && $options.onPrevButtonClick.apply($options, arguments); - }) - }, _objectSpread$b(_objectSpread$b({}, _ctx.prevButtonProps), _ctx.ptm("prevButton")), { - "data-pc-group-section": "navbutton" - }), [renderSlot(_ctx.$slots, "previcon", {}, function() { - return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.prevIcon ? "span" : "ChevronLeftIcon"), mergeProps$1({ - "aria-hidden": "true", - "class": _ctx.prevIcon - }, _ctx.ptm("prevIcon")), null, 16, ["class"]))]; - })], 16, _hoisted_1$z)), [[_directive_ripple]]) : createCommentVNode("", true), createBaseVNode("div", mergeProps$1({ - ref: "content", - "class": _ctx.cx("navContent"), - onScroll: _cache[1] || (_cache[1] = function() { - return $options.onScroll && $options.onScroll.apply($options, arguments); - }) - }, _ctx.ptm("navContent")), [createBaseVNode("ul", mergeProps$1({ - ref: "nav", - "class": _ctx.cx("nav") - }, _ctx.ptm("nav")), [(openBlock(true), createElementBlock(Fragment, null, renderList($options.tabs, function(tab, index2) { - return openBlock(), createElementBlock("li", mergeProps$1({ - key: $options.getKey(tab, index2), - style: $options.getTabProp(tab, "headerStyle"), - "class": _ctx.cx("tab.header", { - tab, - index: index2 - }), - role: "presentation", - ref_for: true - }, _objectSpread$b(_objectSpread$b(_objectSpread$b({}, $options.getTabProp(tab, "headerProps")), $options.getTabPT(tab, "root", index2)), $options.getTabPT(tab, "header", index2)), { - "data-pc-name": "tabpanel", - "data-p-active": $data.d_activeIndex === index2, - "data-p-disabled": $options.getTabProp(tab, "disabled"), - "data-pc-index": index2 - }), [withDirectives((openBlock(), createElementBlock("a", mergeProps$1({ - id: $options.getTabHeaderActionId(index2), - "class": _ctx.cx("tab.headerAction"), - tabindex: $options.getTabProp(tab, "disabled") || !$options.isTabActive(index2) ? -1 : _ctx.tabindex, - role: "tab", - "aria-disabled": $options.getTabProp(tab, "disabled"), - "aria-selected": $options.isTabActive(index2), - "aria-controls": $options.getTabContentId(index2), - onClick: /* @__PURE__ */ __name(function onClick3($event) { - return $options.onTabClick($event, tab, index2); - }, "onClick"), - onKeydown: /* @__PURE__ */ __name(function onKeydown3($event) { - return $options.onTabKeyDown($event, tab, index2); - }, "onKeydown"), - ref_for: true - }, _objectSpread$b(_objectSpread$b({}, $options.getTabProp(tab, "headerActionProps")), $options.getTabPT(tab, "headerAction", index2))), [tab.props && tab.props.header ? (openBlock(), createElementBlock("span", mergeProps$1({ - key: 0, - "class": _ctx.cx("tab.headerTitle"), - ref_for: true - }, $options.getTabPT(tab, "headerTitle", index2)), toDisplayString$1(tab.props.header), 17)) : createCommentVNode("", true), tab.children && tab.children.header ? (openBlock(), createBlock(resolveDynamicComponent(tab.children.header), { - key: 1 - })) : createCommentVNode("", true)], 16, _hoisted_3$g)), [[_directive_ripple]])], 16, _hoisted_2$o); - }), 128)), createBaseVNode("li", mergeProps$1({ - ref: "inkbar", - "class": _ctx.cx("inkbar"), - role: "presentation", - "aria-hidden": "true" - }, _ctx.ptm("inkbar")), null, 16)], 16)], 16), _ctx.scrollable && !$data.isNextButtonDisabled ? withDirectives((openBlock(), createElementBlock("button", mergeProps$1({ - key: 1, - ref: "nextBtn", - type: "button", - "class": _ctx.cx("nextButton"), - tabindex: _ctx.tabindex, - "aria-label": $options.nextButtonAriaLabel, - onClick: _cache[2] || (_cache[2] = function() { - return $options.onNextButtonClick && $options.onNextButtonClick.apply($options, arguments); - }) - }, _objectSpread$b(_objectSpread$b({}, _ctx.nextButtonProps), _ctx.ptm("nextButton")), { - "data-pc-group-section": "navbutton" - }), [renderSlot(_ctx.$slots, "nexticon", {}, function() { - return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.nextIcon ? "span" : "ChevronRightIcon"), mergeProps$1({ - "aria-hidden": "true", - "class": _ctx.nextIcon - }, _ctx.ptm("nextIcon")), null, 16, ["class"]))]; - })], 16, _hoisted_4$a)), [[_directive_ripple]]) : createCommentVNode("", true)], 16), createBaseVNode("div", mergeProps$1({ - "class": _ctx.cx("panelContainer") - }, _ctx.ptm("panelContainer")), [(openBlock(true), createElementBlock(Fragment, null, renderList($options.tabs, function(tab, index2) { - return openBlock(), createElementBlock(Fragment, { - key: $options.getKey(tab, index2) - }, [(_ctx.lazy ? $options.isTabActive(index2) : true) ? withDirectives((openBlock(), createElementBlock("div", mergeProps$1({ - key: 0, - id: $options.getTabContentId(index2), - style: $options.getTabProp(tab, "contentStyle"), - "class": _ctx.cx("tab.content", { - tab - }), - role: "tabpanel", - "aria-labelledby": $options.getTabHeaderActionId(index2), - ref_for: true - }, _objectSpread$b(_objectSpread$b(_objectSpread$b({}, $options.getTabProp(tab, "contentProps")), $options.getTabPT(tab, "root", index2)), $options.getTabPT(tab, "content", index2)), { - "data-pc-name": "tabpanel", - "data-pc-index": index2, - "data-p-active": $data.d_activeIndex === index2 - }), [(openBlock(), createBlock(resolveDynamicComponent(tab)))], 16, _hoisted_5$8)), [[vShow, _ctx.lazy ? true : $options.isTabActive(index2)]]) : createCommentVNode("", true)], 64); - }), 128))], 16)], 16); -} -__name(render$k, "render$k"); -script$l.render = render$k; -const _hoisted_1$y = { class: "grid grid-cols-2 gap-2" }; -const _hoisted_2$n = { class: "font-medium" }; -const _sfc_main$y = /* @__PURE__ */ defineComponent({ - __name: "DeviceInfo", - props: { - device: {} - }, - setup(__props) { - const props = __props; - const deviceColumns = [ - { field: "name", header: "Name" }, - { field: "type", header: "Type" }, - { field: "vram_total", header: "VRAM Total" }, - { field: "vram_free", header: "VRAM Free" }, - { field: "torch_vram_total", header: "Torch VRAM Total" }, - { field: "torch_vram_free", header: "Torch VRAM Free" } - ]; - const formatValue2 = /* @__PURE__ */ __name((value3, field) => { - if (["vram_total", "vram_free", "torch_vram_total", "torch_vram_free"].includes( - field - )) { - return formatMemory(value3); - } - return value3; - }, "formatValue"); - return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", _hoisted_1$y, [ - (openBlock(), createElementBlock(Fragment, null, renderList(deviceColumns, (col) => { - return openBlock(), createElementBlock(Fragment, { - key: col.field - }, [ - createBaseVNode("div", _hoisted_2$n, toDisplayString$1(_ctx.$t(col.header)), 1), - createBaseVNode("div", null, toDisplayString$1(formatValue2(props.device[col.field], col.field)), 1) - ], 64); - }), 64)) - ]); - }; - } -}); -const _hoisted_1$x = { class: "system-stats" }; -const _hoisted_2$m = { class: "mb-6" }; -const _hoisted_3$f = { class: "text-2xl font-semibold mb-4" }; -const _hoisted_4$9 = { class: "grid grid-cols-2 gap-2" }; -const _hoisted_5$7 = { class: "font-medium" }; -const _hoisted_6$5 = { class: "text-2xl font-semibold mb-4" }; -const _sfc_main$x = /* @__PURE__ */ defineComponent({ - __name: "SystemStatsPanel", - props: { - stats: {} - }, - setup(__props) { - const props = __props; - const systemInfo = computed(() => ({ - ...props.stats.system, - argv: props.stats.system.argv.join(" ") - })); - const systemColumns = [ - { field: "os", header: "OS" }, - { field: "python_version", header: "Python Version" }, - { field: "embedded_python", header: "Embedded Python" }, - { field: "pytorch_version", header: "Pytorch Version" }, - { field: "argv", header: "Arguments" }, - { field: "ram_total", header: "RAM Total" }, - { field: "ram_free", header: "RAM Free" } - ]; - const formatValue2 = /* @__PURE__ */ __name((value3, field) => { - if (["ram_total", "ram_free"].includes(field)) { - return formatMemory(value3); - } - return value3; - }, "formatValue"); - return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", _hoisted_1$x, [ - createBaseVNode("div", _hoisted_2$m, [ - createBaseVNode("h2", _hoisted_3$f, toDisplayString$1(_ctx.$t("systemInfo")), 1), - createBaseVNode("div", _hoisted_4$9, [ - (openBlock(), createElementBlock(Fragment, null, renderList(systemColumns, (col) => { - return openBlock(), createElementBlock(Fragment, { - key: col.field - }, [ - createBaseVNode("div", _hoisted_5$7, toDisplayString$1(_ctx.$t(col.header)), 1), - createBaseVNode("div", null, toDisplayString$1(formatValue2(systemInfo.value[col.field], col.field)), 1) - ], 64); - }), 64)) - ]) - ]), - createVNode(unref(script$y)), - createBaseVNode("div", null, [ - createBaseVNode("h2", _hoisted_6$5, toDisplayString$1(_ctx.$t("devices")), 1), - props.stats.devices.length > 1 ? (openBlock(), createBlock(unref(script$l), { key: 0 }, { - default: withCtx(() => [ - (openBlock(true), createElementBlock(Fragment, null, renderList(props.stats.devices, (device) => { - return openBlock(), createBlock(unref(script$z), { - key: device.index, - header: device.name - }, { - default: withCtx(() => [ - createVNode(_sfc_main$y, { device }, null, 8, ["device"]) - ]), - _: 2 - }, 1032, ["header"]); - }), 128)) - ]), - _: 1 - })) : (openBlock(), createBlock(_sfc_main$y, { - key: 1, - device: props.stats.devices[0] - }, null, 8, ["device"])) - ]) - ]); - }; - } -}); -const _hoisted_1$w = { class: "text-2xl font-bold mb-2" }; -const _hoisted_2$l = { class: "space-y-2" }; -const _hoisted_3$e = ["href"]; -const _sfc_main$w = /* @__PURE__ */ defineComponent({ - __name: "AboutPanel", - setup(__props) { - const systemStatsStore = useSystemStatsStore(); - const frontendVersion = window["__COMFYUI_FRONTEND_VERSION__"]; - const coreVersion = computed( - () => systemStatsStore.systemStats?.system?.comfyui_version ?? "" - ); - const links = computed(() => [ - { - label: `ComfyUI ${coreVersion.value}`, - url: "https://github.com/comfyanonymous/ComfyUI", - icon: "pi pi-github" - }, - { - label: `ComfyUI_frontend v${frontendVersion}`, - url: "https://github.com/Comfy-Org/ComfyUI_frontend", - icon: "pi pi-github" - }, - { - label: "Discord", - url: "https://www.comfy.org/discord", - icon: "pi pi-discord" - }, - { label: "ComfyOrg", url: "https://www.comfy.org/", icon: "pi pi-globe" } - ]); - onMounted(async () => { - if (!systemStatsStore.systemStats) { - await systemStatsStore.fetchSystemStats(); - } - }); - return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", null, [ - createBaseVNode("h2", _hoisted_1$w, toDisplayString$1(_ctx.$t("about")), 1), - createBaseVNode("div", _hoisted_2$l, [ - (openBlock(true), createElementBlock(Fragment, null, renderList(links.value, (link) => { - return openBlock(), createElementBlock("a", { - key: link.url, - href: link.url, - target: "_blank", - rel: "noopener noreferrer", - class: "inline-flex items-center no-underline" - }, [ - createVNode(unref(script$s), { class: "mr-2" }, { - icon: withCtx(() => [ - createBaseVNode("i", { - class: normalizeClass([link.icon, "mr-2 text-xl"]) - }, null, 2) - ]), - default: withCtx(() => [ - createTextVNode(" " + toDisplayString$1(link.label), 1) - ]), - _: 2 - }, 1024) - ], 8, _hoisted_3$e); - }), 128)) - ]), - createVNode(unref(script$y)), - unref(systemStatsStore).systemStats ? (openBlock(), createBlock(_sfc_main$x, { - key: 0, - stats: unref(systemStatsStore).systemStats - }, null, 8, ["stats"])) : createCommentVNode("", true) - ]); - }; - } -}); -const _hoisted_1$v = { class: "settings-container" }; -const _hoisted_2$k = { key: 0 }; -const _sfc_main$v = /* @__PURE__ */ defineComponent({ - __name: "SettingDialogContent", - setup(__props) { - const KeybindingPanel = /* @__PURE__ */ defineAsyncComponent( - () => __vitePreload(() => import("./KeybindingPanel-Cwwh2R-I.js"), true ? __vite__mapDeps([0,1,2,3]) : void 0, import.meta.url) - ); - const ExtensionPanel = /* @__PURE__ */ defineAsyncComponent( - () => __vitePreload(() => import("./ExtensionPanel-DSQ2O8Z9.js"), true ? __vite__mapDeps([4,1,2]) : void 0, import.meta.url) - ); - const aboutPanelNode = { - key: "about", - label: "About", - children: [] - }; - const keybindingPanelNode = { - key: "keybinding", - label: "Keybinding", - children: [] - }; - const extensionPanelNode = { - key: "extension", - label: "Extension", - children: [] - }; - const extensionPanelNodeList = computed(() => { - const settingStore2 = useSettingStore(); - const showExtensionPanel = settingStore2.get("Comfy.Settings.ExtensionPanel"); - return showExtensionPanel ? [extensionPanelNode] : []; - }); - const settingStore = useSettingStore(); - const settingRoot = computed(() => settingStore.settingTree); - const categories = computed(() => [ - ...settingRoot.value.children || [], - keybindingPanelNode, - ...extensionPanelNodeList.value, - aboutPanelNode - ]); - const activeCategory = ref(null); - const searchResults = ref([]); - watch(activeCategory, (newCategory, oldCategory) => { - if (newCategory === null) { - activeCategory.value = oldCategory; - } - }); - onMounted(() => { - activeCategory.value = categories.value[0]; - }); - const sortedGroups = /* @__PURE__ */ __name((category) => { - return [...category.children || []].sort( - (a, b) => a.label.localeCompare(b.label) - ); - }, "sortedGroups"); - const searchQuery = ref(""); - const searchInProgress = ref(false); - watch(searchQuery, () => searchInProgress.value = true); - const handleSearch = /* @__PURE__ */ __name((query) => { - if (!query) { - searchResults.value = []; - return; - } - const allSettings = flattenTree(settingRoot.value); - const filteredSettings = allSettings.filter( - (setting) => setting.id.toLowerCase().includes(query.toLowerCase()) || setting.name.toLowerCase().includes(query.toLowerCase()) - ); - const groupedSettings = {}; - filteredSettings.forEach((setting) => { - const groupLabel = setting.id.split(".")[1]; - if (!groupedSettings[groupLabel]) { - groupedSettings[groupLabel] = []; - } - groupedSettings[groupLabel].push(setting); - }); - searchResults.value = Object.entries(groupedSettings).map( - ([label5, settings]) => ({ - label: label5, - settings - }) - ); - searchInProgress.value = false; - }, "handleSearch"); - const inSearch = computed( - () => searchQuery.value.length > 0 && !searchInProgress.value - ); - const tabValue = computed( - () => inSearch.value ? "Search Results" : activeCategory.value?.label - ); - return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", _hoisted_1$v, [ - createVNode(unref(script$x), { class: "settings-sidebar flex-shrink-0 p-2 w-64" }, { - default: withCtx(() => [ - createVNode(SearchBox, { - class: "settings-search-box w-full mb-2", - modelValue: searchQuery.value, - "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchQuery.value = $event), - onSearch: handleSearch, - placeholder: _ctx.$t("searchSettings") + "..." - }, null, 8, ["modelValue", "placeholder"]), - createVNode(unref(script$K), { - modelValue: activeCategory.value, - "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => activeCategory.value = $event), - options: categories.value, - optionLabel: "label", - scrollHeight: "100%", - disabled: inSearch.value, - class: "border-none w-full" - }, null, 8, ["modelValue", "options", "disabled"]) - ]), - _: 1 - }), - createVNode(unref(script$y), { layout: "vertical" }), - createVNode(unref(script$x), { class: "settings-content flex-grow" }, { - default: withCtx(() => [ - createVNode(unref(script$B), { value: tabValue.value }, { - default: withCtx(() => [ - createVNode(unref(script$A), { class: "settings-tab-panels" }, { - default: withCtx(() => [ - createVNode(unref(script$z), { - key: "search-results", - value: "Search Results" - }, { - default: withCtx(() => [ - searchResults.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_2$k, [ - (openBlock(true), createElementBlock(Fragment, null, renderList(searchResults.value, (group, i2) => { - return openBlock(), createBlock(SettingGroup, { - key: group.label, - divider: i2 !== 0, - group - }, null, 8, ["divider", "group"]); - }), 128)) - ])) : (openBlock(), createBlock(NoResultsPlaceholder, { - key: 1, - icon: "pi pi-search", - title: _ctx.$t("noResultsFound"), - message: _ctx.$t("searchFailedMessage") - }, null, 8, ["title", "message"])) - ]), - _: 1 - }), - (openBlock(true), createElementBlock(Fragment, null, renderList(categories.value, (category) => { - return openBlock(), createBlock(unref(script$z), { - key: category.key, - value: category.label - }, { - default: withCtx(() => [ - (openBlock(true), createElementBlock(Fragment, null, renderList(sortedGroups(category), (group, i2) => { - return openBlock(), createBlock(SettingGroup, { - key: group.label, - divider: i2 !== 0, - group: { - label: group.label, - settings: unref(flattenTree)(group) - } - }, null, 8, ["divider", "group"]); - }), 128)) - ]), - _: 2 - }, 1032, ["value"]); - }), 128)), - createVNode(unref(script$z), { - key: "about", - value: "About" - }, { - default: withCtx(() => [ - createVNode(_sfc_main$w) - ]), - _: 1 - }), - createVNode(unref(script$z), { - key: "keybinding", - value: "Keybinding" - }, { - default: withCtx(() => [ - (openBlock(), createBlock(Suspense, null, { - fallback: withCtx(() => _cache[2] || (_cache[2] = [ - createBaseVNode("div", null, "Loading keybinding panel...", -1) - ])), - default: withCtx(() => [ - createVNode(unref(KeybindingPanel)) - ]), - _: 1 - })) - ]), - _: 1 - }), - createVNode(unref(script$z), { - key: "extension", - value: "Extension" - }, { - default: withCtx(() => [ - (openBlock(), createBlock(Suspense, null, { - fallback: withCtx(() => _cache[3] || (_cache[3] = [ - createBaseVNode("div", null, "Loading extension panel...", -1) - ])), - default: withCtx(() => [ - createVNode(unref(ExtensionPanel)) - ]), - _: 1 - })) - ]), - _: 1 - }) - ]), - _: 1 - }) - ]), - _: 1 - }, 8, ["value"]) - ]), - _: 1 - }) - ]); - }; - } -}); -const SettingDialogContent = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-63951e2f"]]); -const _sfc_main$u = {}; -function _sfc_render$1(_ctx, _cache) { - return openBlock(), createElementBlock("div", null, [ - createBaseVNode("h2", null, [ - _cache[0] || (_cache[0] = createBaseVNode("i", { class: "pi pi-cog" }, null, -1)), - createBaseVNode("span", null, toDisplayString$1(_ctx.$t("settings")), 1) - ]) - ]); -} -__name(_sfc_render$1, "_sfc_render$1"); -const SettingDialogHeader = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["render", _sfc_render$1], ["__scopeId", "data-v-3f3c5ee5"]]); -function computedEager(fn, options3) { - var _a; - const result = shallowRef(); - watchEffect(() => { - result.value = fn(); - }, { - ...options3, - flush: (_a = options3 == null ? void 0 : options3.flush) != null ? _a : "sync" - }); - return readonly(result); -} -__name(computedEager, "computedEager"); -function computedWithControl(source, fn) { - let v2 = void 0; - let track2; - let trigger2; - const dirty = ref(true); - const update = /* @__PURE__ */ __name(() => { - dirty.value = true; - trigger2(); - }, "update"); - watch(source, update, { flush: "sync" }); - const get2 = typeof fn === "function" ? fn : fn.get; - const set2 = typeof fn === "function" ? void 0 : fn.set; - const result = customRef((_track, _trigger) => { - track2 = _track; - trigger2 = _trigger; - return { - get() { - if (dirty.value) { - v2 = get2(v2); - dirty.value = false; - } - track2(); - return v2; - }, - set(v22) { - set2 == null ? void 0 : set2(v22); - } - }; - }); - if (Object.isExtensible(result)) - result.trigger = update; - return result; -} -__name(computedWithControl, "computedWithControl"); -function tryOnScopeDispose(fn) { - if (getCurrentScope()) { - onScopeDispose(fn); - return true; - } - return false; -} -__name(tryOnScopeDispose, "tryOnScopeDispose"); -function createEventHook() { - const fns = /* @__PURE__ */ new Set(); - const off = /* @__PURE__ */ __name((fn) => { - fns.delete(fn); - }, "off"); - const on = /* @__PURE__ */ __name((fn) => { - fns.add(fn); - const offFn = /* @__PURE__ */ __name(() => off(fn), "offFn"); - tryOnScopeDispose(offFn); - return { - off: offFn - }; - }, "on"); - const trigger2 = /* @__PURE__ */ __name((...args) => { - return Promise.all(Array.from(fns).map((fn) => fn(...args))); - }, "trigger"); - return { - on, - off, - trigger: trigger2 - }; -} -__name(createEventHook, "createEventHook"); -function createGlobalState(stateFactory) { - let initialized = false; - let state; - const scope = effectScope(true); - return (...args) => { - if (!initialized) { - state = scope.run(() => stateFactory(...args)); - initialized = true; - } - return state; - }; -} -__name(createGlobalState, "createGlobalState"); -const localProvidedStateMap = /* @__PURE__ */ new WeakMap(); -const injectLocal = /* @__PURE__ */ __name((...args) => { - var _a; - const key = args[0]; - const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy; - if (instance == null) - throw new Error("injectLocal must be called in setup"); - if (localProvidedStateMap.has(instance) && key in localProvidedStateMap.get(instance)) - return localProvidedStateMap.get(instance)[key]; - return inject(...args); -}, "injectLocal"); -const provideLocal = /* @__PURE__ */ __name((key, value3) => { - var _a; - const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy; - if (instance == null) - throw new Error("provideLocal must be called in setup"); - if (!localProvidedStateMap.has(instance)) - localProvidedStateMap.set(instance, /* @__PURE__ */ Object.create(null)); - const localProvidedState = localProvidedStateMap.get(instance); - localProvidedState[key] = value3; - provide(key, value3); -}, "provideLocal"); -function createInjectionState(composable, options3) { - const key = (options3 == null ? void 0 : options3.injectionKey) || Symbol(composable.name || "InjectionState"); - const defaultValue = options3 == null ? void 0 : options3.defaultValue; - const useProvidingState = /* @__PURE__ */ __name((...args) => { - const state = composable(...args); - provideLocal(key, state); - return state; - }, "useProvidingState"); - const useInjectedState = /* @__PURE__ */ __name(() => injectLocal(key, defaultValue), "useInjectedState"); - return [useProvidingState, useInjectedState]; -} -__name(createInjectionState, "createInjectionState"); -function createSharedComposable(composable) { - let subscribers = 0; - let state; - let scope; - const dispose = /* @__PURE__ */ __name(() => { - subscribers -= 1; - if (scope && subscribers <= 0) { - scope.stop(); - state = void 0; - scope = void 0; - } - }, "dispose"); - return (...args) => { - subscribers += 1; - if (!scope) { - scope = effectScope(true); - state = scope.run(() => composable(...args)); - } - tryOnScopeDispose(dispose); - return state; - }; -} -__name(createSharedComposable, "createSharedComposable"); -function extendRef(ref2, extend4, { enumerable = false, unwrap = true } = {}) { - if (!isVue3 && !version.startsWith("2.7.")) { - if (false) - throw new Error("[VueUse] extendRef only works in Vue 2.7 or above."); - return; - } - for (const [key, value3] of Object.entries(extend4)) { - if (key === "value") - continue; - if (isRef(value3) && unwrap) { - Object.defineProperty(ref2, key, { - get() { - return value3.value; - }, - set(v2) { - value3.value = v2; - }, - enumerable - }); - } else { - Object.defineProperty(ref2, key, { value: value3, enumerable }); - } - } - return ref2; -} -__name(extendRef, "extendRef"); -function get$1(obj, key) { - if (key == null) - return unref(obj); - return unref(obj)[key]; -} -__name(get$1, "get$1"); -function isDefined$1(v2) { - return unref(v2) != null; -} -__name(isDefined$1, "isDefined$1"); -function makeDestructurable(obj, arr) { - if (typeof Symbol !== "undefined") { - const clone2 = { ...obj }; - Object.defineProperty(clone2, Symbol.iterator, { - enumerable: false, - value() { - let index2 = 0; - return { - next: /* @__PURE__ */ __name(() => ({ - value: arr[index2++], - done: index2 > arr.length - }), "next") - }; - } - }); - return clone2; - } else { - return Object.assign([...arr], obj); - } -} -__name(makeDestructurable, "makeDestructurable"); -function toValue(r) { - return typeof r === "function" ? r() : unref(r); -} -__name(toValue, "toValue"); -const resolveUnref = toValue; -function reactify(fn, options3) { - const unrefFn = (options3 == null ? void 0 : options3.computedGetter) === false ? unref : toValue; - return function(...args) { - return computed(() => fn.apply(this, args.map((i2) => unrefFn(i2)))); - }; -} -__name(reactify, "reactify"); -function reactifyObject(obj, optionsOrKeys = {}) { - let keys2 = []; - let options3; - if (Array.isArray(optionsOrKeys)) { - keys2 = optionsOrKeys; - } else { - options3 = optionsOrKeys; - const { includeOwnProperties = true } = optionsOrKeys; - keys2.push(...Object.keys(obj)); - if (includeOwnProperties) - keys2.push(...Object.getOwnPropertyNames(obj)); - } - return Object.fromEntries( - keys2.map((key) => { - const value3 = obj[key]; - return [ - key, - typeof value3 === "function" ? reactify(value3.bind(obj), options3) : value3 - ]; - }) - ); -} -__name(reactifyObject, "reactifyObject"); -function toReactive(objectRef) { - if (!isRef(objectRef)) - return reactive(objectRef); - const proxy = new Proxy({}, { - get(_2, p2, receiver) { - return unref(Reflect.get(objectRef.value, p2, receiver)); - }, - set(_2, p2, value3) { - if (isRef(objectRef.value[p2]) && !isRef(value3)) - objectRef.value[p2].value = value3; - else - objectRef.value[p2] = value3; - return true; - }, - deleteProperty(_2, p2) { - return Reflect.deleteProperty(objectRef.value, p2); - }, - has(_2, p2) { - return Reflect.has(objectRef.value, p2); - }, - ownKeys() { - return Object.keys(objectRef.value); - }, - getOwnPropertyDescriptor() { - return { - enumerable: true, - configurable: true - }; - } - }); - return reactive(proxy); -} -__name(toReactive, "toReactive"); -function reactiveComputed(fn) { - return toReactive(computed(fn)); -} -__name(reactiveComputed, "reactiveComputed"); -function reactiveOmit(obj, ...keys2) { - const flatKeys = keys2.flat(); - const predicate = flatKeys[0]; - return reactiveComputed(() => typeof predicate === "function" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v2]) => !predicate(toValue(v2), k))) : Object.fromEntries(Object.entries(toRefs$1(obj)).filter((e) => !flatKeys.includes(e[0])))); -} -__name(reactiveOmit, "reactiveOmit"); -const directiveHooks = { - mounted: isVue3 ? "mounted" : "inserted", - updated: isVue3 ? "updated" : "componentUpdated", - unmounted: isVue3 ? "unmounted" : "unbind" -}; -const isClient = typeof window !== "undefined" && typeof document !== "undefined"; -const isWorker = typeof WorkerGlobalScope !== "undefined" && globalThis instanceof WorkerGlobalScope; -const isDef = /* @__PURE__ */ __name((val) => typeof val !== "undefined", "isDef"); -const notNullish = /* @__PURE__ */ __name((val) => val != null, "notNullish"); -const assert = /* @__PURE__ */ __name((condition, ...infos) => { - if (!condition) - console.warn(...infos); -}, "assert"); -const toString$1 = Object.prototype.toString; -const isObject$3 = /* @__PURE__ */ __name((val) => toString$1.call(val) === "[object Object]", "isObject$3"); -const now = /* @__PURE__ */ __name(() => Date.now(), "now"); -const timestamp = /* @__PURE__ */ __name(() => +Date.now(), "timestamp"); -const clamp$1 = /* @__PURE__ */ __name((n, min, max) => Math.min(max, Math.max(min, n)), "clamp$1"); -const noop$1 = /* @__PURE__ */ __name(() => { -}, "noop$1"); -const rand = /* @__PURE__ */ __name((min, max) => { - min = Math.ceil(min); - max = Math.floor(max); - return Math.floor(Math.random() * (max - min + 1)) + min; -}, "rand"); -const hasOwn$2 = /* @__PURE__ */ __name((val, key) => Object.prototype.hasOwnProperty.call(val, key), "hasOwn$2"); -const isIOS = /* @__PURE__ */ getIsIOS(); -function getIsIOS() { - var _a, _b; - return isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((_b = window == null ? void 0 : window.navigator) == null ? void 0 : _b.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window == null ? void 0 : window.navigator.userAgent)); -} -__name(getIsIOS, "getIsIOS"); -function createFilterWrapper(filter4, fn) { - function wrapper(...args) { - return new Promise((resolve2, reject2) => { - Promise.resolve(filter4(() => fn.apply(this, args), { fn, thisArg: this, args })).then(resolve2).catch(reject2); - }); - } - __name(wrapper, "wrapper"); - return wrapper; -} -__name(createFilterWrapper, "createFilterWrapper"); -const bypassFilter = /* @__PURE__ */ __name((invoke2) => { - return invoke2(); -}, "bypassFilter"); -function debounceFilter(ms, options3 = {}) { - let timer; - let maxTimer; - let lastRejector = noop$1; - const _clearTimeout = /* @__PURE__ */ __name((timer2) => { - clearTimeout(timer2); - lastRejector(); - lastRejector = noop$1; - }, "_clearTimeout"); - const filter4 = /* @__PURE__ */ __name((invoke2) => { - const duration = toValue(ms); - const maxDuration = toValue(options3.maxWait); - if (timer) - _clearTimeout(timer); - if (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) { - if (maxTimer) { - _clearTimeout(maxTimer); - maxTimer = null; - } - return Promise.resolve(invoke2()); - } - return new Promise((resolve2, reject2) => { - lastRejector = options3.rejectOnCancel ? reject2 : resolve2; - if (maxDuration && !maxTimer) { - maxTimer = setTimeout(() => { - if (timer) - _clearTimeout(timer); - maxTimer = null; - resolve2(invoke2()); - }, maxDuration); - } - timer = setTimeout(() => { - if (maxTimer) - _clearTimeout(maxTimer); - maxTimer = null; - resolve2(invoke2()); - }, duration); - }); - }, "filter"); - return filter4; -} -__name(debounceFilter, "debounceFilter"); -function throttleFilter(...args) { - let lastExec = 0; - let timer; - let isLeading = true; - let lastRejector = noop$1; - let lastValue; - let ms; - let trailing; - let leading; - let rejectOnCancel; - if (!isRef(args[0]) && typeof args[0] === "object") - ({ delay: ms, trailing = true, leading = true, rejectOnCancel = false } = args[0]); - else - [ms, trailing = true, leading = true, rejectOnCancel = false] = args; - const clear2 = /* @__PURE__ */ __name(() => { - if (timer) { - clearTimeout(timer); - timer = void 0; - lastRejector(); - lastRejector = noop$1; - } - }, "clear"); - const filter4 = /* @__PURE__ */ __name((_invoke) => { - const duration = toValue(ms); - const elapsed = Date.now() - lastExec; - const invoke2 = /* @__PURE__ */ __name(() => { - return lastValue = _invoke(); - }, "invoke2"); - clear2(); - if (duration <= 0) { - lastExec = Date.now(); - return invoke2(); - } - if (elapsed > duration && (leading || !isLeading)) { - lastExec = Date.now(); - invoke2(); - } else if (trailing) { - lastValue = new Promise((resolve2, reject2) => { - lastRejector = rejectOnCancel ? reject2 : resolve2; - timer = setTimeout(() => { - lastExec = Date.now(); - isLeading = true; - resolve2(invoke2()); - clear2(); - }, Math.max(0, duration - elapsed)); - }); - } - if (!leading && !timer) - timer = setTimeout(() => isLeading = true, duration); - isLeading = false; - return lastValue; - }, "filter"); - return filter4; -} -__name(throttleFilter, "throttleFilter"); -function pausableFilter(extendFilter = bypassFilter) { - const isActive = ref(true); - function pause() { - isActive.value = false; - } - __name(pause, "pause"); - function resume() { - isActive.value = true; - } - __name(resume, "resume"); - const eventFilter = /* @__PURE__ */ __name((...args) => { - if (isActive.value) - extendFilter(...args); - }, "eventFilter"); - return { isActive: readonly(isActive), pause, resume, eventFilter }; -} -__name(pausableFilter, "pausableFilter"); -function cacheStringFunction(fn) { - const cache2 = /* @__PURE__ */ Object.create(null); - return (str) => { - const hit = cache2[str]; - return hit || (cache2[str] = fn(str)); - }; -} -__name(cacheStringFunction, "cacheStringFunction"); -const hyphenateRE = /\B([A-Z])/g; -const hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, "-$1").toLowerCase()); -const camelizeRE = /-(\w)/g; -const camelize = cacheStringFunction((str) => { - return str.replace(camelizeRE, (_2, c) => c ? c.toUpperCase() : ""); -}); -function promiseTimeout(ms, throwOnTimeout = false, reason = "Timeout") { - return new Promise((resolve2, reject2) => { - if (throwOnTimeout) - setTimeout(() => reject2(reason), ms); - else - setTimeout(resolve2, ms); - }); -} -__name(promiseTimeout, "promiseTimeout"); -function identity(arg) { - return arg; -} -__name(identity, "identity"); -function createSingletonPromise(fn) { - let _promise; - function wrapper() { - if (!_promise) - _promise = fn(); - return _promise; - } - __name(wrapper, "wrapper"); - wrapper.reset = async () => { - const _prev = _promise; - _promise = void 0; - if (_prev) - await _prev; - }; - return wrapper; -} -__name(createSingletonPromise, "createSingletonPromise"); -function invoke(fn) { - return fn(); -} -__name(invoke, "invoke"); -function containsProp(obj, ...props) { - return props.some((k) => k in obj); -} -__name(containsProp, "containsProp"); -function increaseWithUnit(target, delta2) { - var _a; - if (typeof target === "number") - return target + delta2; - const value3 = ((_a = target.match(/^-?\d+\.?\d*/)) == null ? void 0 : _a[0]) || ""; - const unit = target.slice(value3.length); - const result = Number.parseFloat(value3) + delta2; - if (Number.isNaN(result)) - return target; - return result + unit; -} -__name(increaseWithUnit, "increaseWithUnit"); -function objectPick(obj, keys2, omitUndefined = false) { - return keys2.reduce((n, k) => { - if (k in obj) { - if (!omitUndefined || obj[k] !== void 0) - n[k] = obj[k]; - } - return n; - }, {}); -} -__name(objectPick, "objectPick"); -function objectOmit(obj, keys2, omitUndefined = false) { - return Object.fromEntries(Object.entries(obj).filter(([key, value3]) => { - return (!omitUndefined || value3 !== void 0) && !keys2.includes(key); - })); -} -__name(objectOmit, "objectOmit"); -function objectEntries(obj) { - return Object.entries(obj); -} -__name(objectEntries, "objectEntries"); -function getLifeCycleTarget(target) { - return target || getCurrentInstance(); -} -__name(getLifeCycleTarget, "getLifeCycleTarget"); -function toRef(...args) { - if (args.length !== 1) - return toRef$1(...args); - const r = args[0]; - return typeof r === "function" ? readonly(customRef(() => ({ get: r, set: noop$1 }))) : ref(r); -} -__name(toRef, "toRef"); -const resolveRef = toRef; -function reactivePick(obj, ...keys2) { - const flatKeys = keys2.flat(); - const predicate = flatKeys[0]; - return reactiveComputed(() => typeof predicate === "function" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v2]) => predicate(toValue(v2), k))) : Object.fromEntries(flatKeys.map((k) => [k, toRef(obj, k)]))); -} -__name(reactivePick, "reactivePick"); -function refAutoReset(defaultValue, afterMs = 1e4) { - return customRef((track2, trigger2) => { - let value3 = toValue(defaultValue); - let timer; - const resetAfter = /* @__PURE__ */ __name(() => setTimeout(() => { - value3 = toValue(defaultValue); - trigger2(); - }, toValue(afterMs)), "resetAfter"); - tryOnScopeDispose(() => { - clearTimeout(timer); - }); - return { - get() { - track2(); - return value3; - }, - set(newValue) { - value3 = newValue; - trigger2(); - clearTimeout(timer); - timer = resetAfter(); - } - }; - }); -} -__name(refAutoReset, "refAutoReset"); -function useDebounceFn(fn, ms = 200, options3 = {}) { - return createFilterWrapper( - debounceFilter(ms, options3), - fn - ); -} -__name(useDebounceFn, "useDebounceFn"); -function refDebounced(value3, ms = 200, options3 = {}) { - const debounced = ref(value3.value); - const updater = useDebounceFn(() => { - debounced.value = value3.value; - }, ms, options3); - watch(value3, () => updater()); - return debounced; -} -__name(refDebounced, "refDebounced"); -function refDefault(source, defaultValue) { - return computed({ - get() { - var _a; - return (_a = source.value) != null ? _a : defaultValue; - }, - set(value3) { - source.value = value3; - } - }); -} -__name(refDefault, "refDefault"); -function useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnCancel = false) { - return createFilterWrapper( - throttleFilter(ms, trailing, leading, rejectOnCancel), - fn - ); -} -__name(useThrottleFn, "useThrottleFn"); -function refThrottled(value3, delay = 200, trailing = true, leading = true) { - if (delay <= 0) - return value3; - const throttled = ref(value3.value); - const updater = useThrottleFn(() => { - throttled.value = value3.value; - }, delay, trailing, leading); - watch(value3, () => updater()); - return throttled; -} -__name(refThrottled, "refThrottled"); -function refWithControl(initial, options3 = {}) { - let source = initial; - let track2; - let trigger2; - const ref2 = customRef((_track, _trigger) => { - track2 = _track; - trigger2 = _trigger; - return { - get() { - return get2(); - }, - set(v2) { - set2(v2); - } - }; - }); - function get2(tracking = true) { - if (tracking) - track2(); - return source; - } - __name(get2, "get2"); - function set2(value3, triggering = true) { - var _a, _b; - if (value3 === source) - return; - const old = source; - if (((_a = options3.onBeforeChange) == null ? void 0 : _a.call(options3, value3, old)) === false) - return; - source = value3; - (_b = options3.onChanged) == null ? void 0 : _b.call(options3, value3, old); - if (triggering) - trigger2(); - } - __name(set2, "set2"); - const untrackedGet = /* @__PURE__ */ __name(() => get2(false), "untrackedGet"); - const silentSet = /* @__PURE__ */ __name((v2) => set2(v2, false), "silentSet"); - const peek = /* @__PURE__ */ __name(() => get2(false), "peek"); - const lay = /* @__PURE__ */ __name((v2) => set2(v2, false), "lay"); - return extendRef( - ref2, - { - get: get2, - set: set2, - untrackedGet, - silentSet, - peek, - lay - }, - { enumerable: true } - ); -} -__name(refWithControl, "refWithControl"); -const controlledRef = refWithControl; -function set(...args) { - if (args.length === 2) { - const [ref2, value3] = args; - ref2.value = value3; - } - if (args.length === 3) { - if (isVue2) { - set$1(...args); - } else { - const [target, key, value3] = args; - target[key] = value3; - } - } -} -__name(set, "set"); -function watchWithFilter(source, cb, options3 = {}) { - const { - eventFilter = bypassFilter, - ...watchOptions - } = options3; - return watch( - source, - createFilterWrapper( - eventFilter, - cb - ), - watchOptions - ); -} -__name(watchWithFilter, "watchWithFilter"); -function watchPausable(source, cb, options3 = {}) { - const { - eventFilter: filter4, - ...watchOptions - } = options3; - const { eventFilter, pause, resume, isActive } = pausableFilter(filter4); - const stop2 = watchWithFilter( - source, - cb, - { - ...watchOptions, - eventFilter - } - ); - return { stop: stop2, pause, resume, isActive }; -} -__name(watchPausable, "watchPausable"); -function syncRef(left, right, ...[options3]) { - const { - flush = "sync", - deep = false, - immediate = true, - direction = "both", - transform: transform2 = {} - } = options3 || {}; - const watchers = []; - const transformLTR = "ltr" in transform2 && transform2.ltr || ((v2) => v2); - const transformRTL = "rtl" in transform2 && transform2.rtl || ((v2) => v2); - if (direction === "both" || direction === "ltr") { - watchers.push(watchPausable( - left, - (newValue) => { - watchers.forEach((w2) => w2.pause()); - right.value = transformLTR(newValue); - watchers.forEach((w2) => w2.resume()); - }, - { flush, deep, immediate } - )); - } - if (direction === "both" || direction === "rtl") { - watchers.push(watchPausable( - right, - (newValue) => { - watchers.forEach((w2) => w2.pause()); - left.value = transformRTL(newValue); - watchers.forEach((w2) => w2.resume()); - }, - { flush, deep, immediate } - )); - } - const stop2 = /* @__PURE__ */ __name(() => { - watchers.forEach((w2) => w2.stop()); - }, "stop"); - return stop2; -} -__name(syncRef, "syncRef"); -function syncRefs(source, targets, options3 = {}) { - const { - flush = "sync", - deep = false, - immediate = true - } = options3; - if (!Array.isArray(targets)) - targets = [targets]; - return watch( - source, - (newValue) => targets.forEach((target) => target.value = newValue), - { flush, deep, immediate } - ); -} -__name(syncRefs, "syncRefs"); -function toRefs(objectRef, options3 = {}) { - if (!isRef(objectRef)) - return toRefs$1(objectRef); - const result = Array.isArray(objectRef.value) ? Array.from({ length: objectRef.value.length }) : {}; - for (const key in objectRef.value) { - result[key] = customRef(() => ({ - get() { - return objectRef.value[key]; - }, - set(v2) { - var _a; - const replaceRef = (_a = toValue(options3.replaceRef)) != null ? _a : true; - if (replaceRef) { - if (Array.isArray(objectRef.value)) { - const copy = [...objectRef.value]; - copy[key] = v2; - objectRef.value = copy; - } else { - const newObject = { ...objectRef.value, [key]: v2 }; - Object.setPrototypeOf(newObject, Object.getPrototypeOf(objectRef.value)); - objectRef.value = newObject; - } - } else { - objectRef.value[key] = v2; - } - } - })); - } - return result; -} -__name(toRefs, "toRefs"); -function tryOnBeforeMount(fn, sync = true, target) { - const instance = getLifeCycleTarget(target); - if (instance) - onBeforeMount(fn, target); - else if (sync) - fn(); - else - nextTick(fn); -} -__name(tryOnBeforeMount, "tryOnBeforeMount"); -function tryOnBeforeUnmount(fn, target) { - const instance = getLifeCycleTarget(target); - if (instance) - onBeforeUnmount(fn, target); -} -__name(tryOnBeforeUnmount, "tryOnBeforeUnmount"); -function tryOnMounted(fn, sync = true, target) { - const instance = getLifeCycleTarget(); - if (instance) - onMounted(fn, target); - else if (sync) - fn(); - else - nextTick(fn); -} -__name(tryOnMounted, "tryOnMounted"); -function tryOnUnmounted(fn, target) { - const instance = getLifeCycleTarget(target); - if (instance) - onUnmounted(fn, target); -} -__name(tryOnUnmounted, "tryOnUnmounted"); -function createUntil(r, isNot = false) { - function toMatch(condition, { flush = "sync", deep = false, timeout, throwOnTimeout } = {}) { - let stop2 = null; - const watcher = new Promise((resolve2) => { - stop2 = watch( - r, - (v2) => { - if (condition(v2) !== isNot) { - if (stop2) - stop2(); - else - nextTick(() => stop2 == null ? void 0 : stop2()); - resolve2(v2); - } - }, - { - flush, - deep, - immediate: true - } - ); - }); - const promises = [watcher]; - if (timeout != null) { - promises.push( - promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => stop2 == null ? void 0 : stop2()) - ); - } - return Promise.race(promises); - } - __name(toMatch, "toMatch"); - function toBe(value3, options3) { - if (!isRef(value3)) - return toMatch((v2) => v2 === value3, options3); - const { flush = "sync", deep = false, timeout, throwOnTimeout } = options3 != null ? options3 : {}; - let stop2 = null; - const watcher = new Promise((resolve2) => { - stop2 = watch( - [r, value3], - ([v1, v2]) => { - if (isNot !== (v1 === v2)) { - if (stop2) - stop2(); - else - nextTick(() => stop2 == null ? void 0 : stop2()); - resolve2(v1); - } - }, - { - flush, - deep, - immediate: true - } - ); - }); - const promises = [watcher]; - if (timeout != null) { - promises.push( - promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => { - stop2 == null ? void 0 : stop2(); - return toValue(r); - }) - ); - } - return Promise.race(promises); - } - __name(toBe, "toBe"); - function toBeTruthy(options3) { - return toMatch((v2) => Boolean(v2), options3); - } - __name(toBeTruthy, "toBeTruthy"); - function toBeNull(options3) { - return toBe(null, options3); - } - __name(toBeNull, "toBeNull"); - function toBeUndefined(options3) { - return toBe(void 0, options3); - } - __name(toBeUndefined, "toBeUndefined"); - function toBeNaN(options3) { - return toMatch(Number.isNaN, options3); - } - __name(toBeNaN, "toBeNaN"); - function toContains(value3, options3) { - return toMatch((v2) => { - const array = Array.from(v2); - return array.includes(value3) || array.includes(toValue(value3)); - }, options3); - } - __name(toContains, "toContains"); - function changed(options3) { - return changedTimes(1, options3); - } - __name(changed, "changed"); - function changedTimes(n = 1, options3) { - let count = -1; - return toMatch(() => { - count += 1; - return count >= n; - }, options3); - } - __name(changedTimes, "changedTimes"); - if (Array.isArray(toValue(r))) { - const instance = { - toMatch, - toContains, - changed, - changedTimes, - get not() { - return createUntil(r, !isNot); - } - }; - return instance; - } else { - const instance = { - toMatch, - toBe, - toBeTruthy, - toBeNull, - toBeNaN, - toBeUndefined, - changed, - changedTimes, - get not() { - return createUntil(r, !isNot); - } - }; - return instance; - } -} -__name(createUntil, "createUntil"); -function until(r) { - return createUntil(r); -} -__name(until, "until"); -function defaultComparator(value3, othVal) { - return value3 === othVal; -} -__name(defaultComparator, "defaultComparator"); -function useArrayDifference(...args) { - var _a; - const list = args[0]; - const values2 = args[1]; - let compareFn = (_a = args[2]) != null ? _a : defaultComparator; - if (typeof compareFn === "string") { - const key = compareFn; - compareFn = /* @__PURE__ */ __name((value3, othVal) => value3[key] === othVal[key], "compareFn"); - } - return computed(() => toValue(list).filter((x2) => toValue(values2).findIndex((y2) => compareFn(x2, y2)) === -1)); -} -__name(useArrayDifference, "useArrayDifference"); -function useArrayEvery(list, fn) { - return computed(() => toValue(list).every((element, index2, array) => fn(toValue(element), index2, array))); -} -__name(useArrayEvery, "useArrayEvery"); -function useArrayFilter(list, fn) { - return computed(() => toValue(list).map((i2) => toValue(i2)).filter(fn)); -} -__name(useArrayFilter, "useArrayFilter"); -function useArrayFind(list, fn) { - return computed(() => toValue( - toValue(list).find((element, index2, array) => fn(toValue(element), index2, array)) - )); -} -__name(useArrayFind, "useArrayFind"); -function useArrayFindIndex(list, fn) { - return computed(() => toValue(list).findIndex((element, index2, array) => fn(toValue(element), index2, array))); -} -__name(useArrayFindIndex, "useArrayFindIndex"); -function findLast(arr, cb) { - let index2 = arr.length; - while (index2-- > 0) { - if (cb(arr[index2], index2, arr)) - return arr[index2]; - } - return void 0; -} -__name(findLast, "findLast"); -function useArrayFindLast(list, fn) { - return computed(() => toValue( - !Array.prototype.findLast ? findLast(toValue(list), (element, index2, array) => fn(toValue(element), index2, array)) : toValue(list).findLast((element, index2, array) => fn(toValue(element), index2, array)) - )); -} -__name(useArrayFindLast, "useArrayFindLast"); -function isArrayIncludesOptions(obj) { - return isObject$3(obj) && containsProp(obj, "formIndex", "comparator"); -} -__name(isArrayIncludesOptions, "isArrayIncludesOptions"); -function useArrayIncludes(...args) { - var _a; - const list = args[0]; - const value3 = args[1]; - let comparator = args[2]; - let formIndex = 0; - if (isArrayIncludesOptions(comparator)) { - formIndex = (_a = comparator.fromIndex) != null ? _a : 0; - comparator = comparator.comparator; - } - if (typeof comparator === "string") { - const key = comparator; - comparator = /* @__PURE__ */ __name((element, value22) => element[key] === toValue(value22), "comparator"); - } - comparator = comparator != null ? comparator : (element, value22) => element === toValue(value22); - return computed(() => toValue(list).slice(formIndex).some((element, index2, array) => comparator( - toValue(element), - toValue(value3), - index2, - toValue(array) - ))); -} -__name(useArrayIncludes, "useArrayIncludes"); -function useArrayJoin(list, separator) { - return computed(() => toValue(list).map((i2) => toValue(i2)).join(toValue(separator))); -} -__name(useArrayJoin, "useArrayJoin"); -function useArrayMap(list, fn) { - return computed(() => toValue(list).map((i2) => toValue(i2)).map(fn)); -} -__name(useArrayMap, "useArrayMap"); -function useArrayReduce(list, reducer, ...args) { - const reduceCallback = /* @__PURE__ */ __name((sum, value3, index2) => reducer(toValue(sum), toValue(value3), index2), "reduceCallback"); - return computed(() => { - const resolved = toValue(list); - return args.length ? resolved.reduce(reduceCallback, toValue(args[0])) : resolved.reduce(reduceCallback); - }); -} -__name(useArrayReduce, "useArrayReduce"); -function useArraySome(list, fn) { - return computed(() => toValue(list).some((element, index2, array) => fn(toValue(element), index2, array))); -} -__name(useArraySome, "useArraySome"); -function uniq(array) { - return Array.from(new Set(array)); -} -__name(uniq, "uniq"); -function uniqueElementsBy(array, fn) { - return array.reduce((acc, v2) => { - if (!acc.some((x2) => fn(v2, x2, array))) - acc.push(v2); - return acc; - }, []); -} -__name(uniqueElementsBy, "uniqueElementsBy"); -function useArrayUnique(list, compareFn) { - return computed(() => { - const resolvedList = toValue(list).map((element) => toValue(element)); - return compareFn ? uniqueElementsBy(resolvedList, compareFn) : uniq(resolvedList); - }); -} -__name(useArrayUnique, "useArrayUnique"); -function useCounter(initialValue = 0, options3 = {}) { - let _initialValue = unref(initialValue); - const count = ref(initialValue); - const { - max = Number.POSITIVE_INFINITY, - min = Number.NEGATIVE_INFINITY - } = options3; - const inc2 = /* @__PURE__ */ __name((delta2 = 1) => count.value = Math.max(Math.min(max, count.value + delta2), min), "inc"); - const dec = /* @__PURE__ */ __name((delta2 = 1) => count.value = Math.min(Math.max(min, count.value - delta2), max), "dec"); - const get2 = /* @__PURE__ */ __name(() => count.value, "get2"); - const set2 = /* @__PURE__ */ __name((val) => count.value = Math.max(min, Math.min(max, val)), "set2"); - const reset = /* @__PURE__ */ __name((val = _initialValue) => { - _initialValue = val; - return set2(val); - }, "reset"); - return { count, inc: inc2, dec, get: get2, set: set2, reset }; -} -__name(useCounter, "useCounter"); -const REGEX_PARSE = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[T\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/i; -const REGEX_FORMAT = /[YMDHhms]o|\[([^\]]+)\]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g; -function defaultMeridiem(hours, minutes, isLowercase, hasPeriod) { - let m = hours < 12 ? "AM" : "PM"; - if (hasPeriod) - m = m.split("").reduce((acc, curr) => acc += `${curr}.`, ""); - return isLowercase ? m.toLowerCase() : m; -} -__name(defaultMeridiem, "defaultMeridiem"); -function formatOrdinal(num) { - const suffixes = ["th", "st", "nd", "rd"]; - const v2 = num % 100; - return num + (suffixes[(v2 - 20) % 10] || suffixes[v2] || suffixes[0]); -} -__name(formatOrdinal, "formatOrdinal"); -function formatDate$1(date, formatStr, options3 = {}) { - var _a; - const years = date.getFullYear(); - const month = date.getMonth(); - const days = date.getDate(); - const hours = date.getHours(); - const minutes = date.getMinutes(); - const seconds = date.getSeconds(); - const milliseconds = date.getMilliseconds(); - const day = date.getDay(); - const meridiem = (_a = options3.customMeridiem) != null ? _a : defaultMeridiem; - const matches2 = { - Yo: /* @__PURE__ */ __name(() => formatOrdinal(years), "Yo"), - YY: /* @__PURE__ */ __name(() => String(years).slice(-2), "YY"), - YYYY: /* @__PURE__ */ __name(() => years, "YYYY"), - M: /* @__PURE__ */ __name(() => month + 1, "M"), - Mo: /* @__PURE__ */ __name(() => formatOrdinal(month + 1), "Mo"), - MM: /* @__PURE__ */ __name(() => `${month + 1}`.padStart(2, "0"), "MM"), - MMM: /* @__PURE__ */ __name(() => date.toLocaleDateString(toValue(options3.locales), { month: "short" }), "MMM"), - MMMM: /* @__PURE__ */ __name(() => date.toLocaleDateString(toValue(options3.locales), { month: "long" }), "MMMM"), - D: /* @__PURE__ */ __name(() => String(days), "D"), - Do: /* @__PURE__ */ __name(() => formatOrdinal(days), "Do"), - DD: /* @__PURE__ */ __name(() => `${days}`.padStart(2, "0"), "DD"), - H: /* @__PURE__ */ __name(() => String(hours), "H"), - Ho: /* @__PURE__ */ __name(() => formatOrdinal(hours), "Ho"), - HH: /* @__PURE__ */ __name(() => `${hours}`.padStart(2, "0"), "HH"), - h: /* @__PURE__ */ __name(() => `${hours % 12 || 12}`.padStart(1, "0"), "h"), - ho: /* @__PURE__ */ __name(() => formatOrdinal(hours % 12 || 12), "ho"), - hh: /* @__PURE__ */ __name(() => `${hours % 12 || 12}`.padStart(2, "0"), "hh"), - m: /* @__PURE__ */ __name(() => String(minutes), "m"), - mo: /* @__PURE__ */ __name(() => formatOrdinal(minutes), "mo"), - mm: /* @__PURE__ */ __name(() => `${minutes}`.padStart(2, "0"), "mm"), - s: /* @__PURE__ */ __name(() => String(seconds), "s"), - so: /* @__PURE__ */ __name(() => formatOrdinal(seconds), "so"), - ss: /* @__PURE__ */ __name(() => `${seconds}`.padStart(2, "0"), "ss"), - SSS: /* @__PURE__ */ __name(() => `${milliseconds}`.padStart(3, "0"), "SSS"), - d: /* @__PURE__ */ __name(() => day, "d"), - dd: /* @__PURE__ */ __name(() => date.toLocaleDateString(toValue(options3.locales), { weekday: "narrow" }), "dd"), - ddd: /* @__PURE__ */ __name(() => date.toLocaleDateString(toValue(options3.locales), { weekday: "short" }), "ddd"), - dddd: /* @__PURE__ */ __name(() => date.toLocaleDateString(toValue(options3.locales), { weekday: "long" }), "dddd"), - A: /* @__PURE__ */ __name(() => meridiem(hours, minutes), "A"), - AA: /* @__PURE__ */ __name(() => meridiem(hours, minutes, false, true), "AA"), - a: /* @__PURE__ */ __name(() => meridiem(hours, minutes, true), "a"), - aa: /* @__PURE__ */ __name(() => meridiem(hours, minutes, true, true), "aa") - }; - return formatStr.replace(REGEX_FORMAT, (match, $1) => { - var _a2, _b; - return (_b = $1 != null ? $1 : (_a2 = matches2[match]) == null ? void 0 : _a2.call(matches2)) != null ? _b : match; - }); -} -__name(formatDate$1, "formatDate$1"); -function normalizeDate(date) { - if (date === null) - return new Date(Number.NaN); - if (date === void 0) - return /* @__PURE__ */ new Date(); - if (date instanceof Date) - return new Date(date); - if (typeof date === "string" && !/Z$/i.test(date)) { - const d = date.match(REGEX_PARSE); - if (d) { - const m = d[2] - 1 || 0; - const ms = (d[7] || "0").substring(0, 3); - return new Date(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms); - } - } - return new Date(date); -} -__name(normalizeDate, "normalizeDate"); -function useDateFormat(date, formatStr = "HH:mm:ss", options3 = {}) { - return computed(() => formatDate$1(normalizeDate(toValue(date)), toValue(formatStr), options3)); -} -__name(useDateFormat, "useDateFormat"); -function useIntervalFn(cb, interval = 1e3, options3 = {}) { - const { - immediate = true, - immediateCallback = false - } = options3; - let timer = null; - const isActive = ref(false); - function clean() { - if (timer) { - clearInterval(timer); - timer = null; - } - } - __name(clean, "clean"); - function pause() { - isActive.value = false; - clean(); - } - __name(pause, "pause"); - function resume() { - const intervalValue = toValue(interval); - if (intervalValue <= 0) - return; - isActive.value = true; - if (immediateCallback) - cb(); - clean(); - timer = setInterval(cb, intervalValue); - } - __name(resume, "resume"); - if (immediate && isClient) - resume(); - if (isRef(interval) || typeof interval === "function") { - const stopWatch = watch(interval, () => { - if (isActive.value && isClient) - resume(); - }); - tryOnScopeDispose(stopWatch); - } - tryOnScopeDispose(pause); - return { - isActive, - pause, - resume - }; -} -__name(useIntervalFn, "useIntervalFn"); -function useInterval(interval = 1e3, options3 = {}) { - const { - controls: exposeControls = false, - immediate = true, - callback - } = options3; - const counter = ref(0); - const update = /* @__PURE__ */ __name(() => counter.value += 1, "update"); - const reset = /* @__PURE__ */ __name(() => { - counter.value = 0; - }, "reset"); - const controls = useIntervalFn( - callback ? () => { - update(); - callback(counter.value); - } : update, - interval, - { immediate } - ); - if (exposeControls) { - return { - counter, - reset, - ...controls - }; - } else { - return counter; - } -} -__name(useInterval, "useInterval"); -function useLastChanged(source, options3 = {}) { - var _a; - const ms = ref((_a = options3.initialValue) != null ? _a : null); - watch( - source, - () => ms.value = timestamp(), - options3 - ); - return ms; -} -__name(useLastChanged, "useLastChanged"); -function useTimeoutFn(cb, interval, options3 = {}) { - const { - immediate = true - } = options3; - const isPending = ref(false); - let timer = null; - function clear2() { - if (timer) { - clearTimeout(timer); - timer = null; - } - } - __name(clear2, "clear"); - function stop2() { - isPending.value = false; - clear2(); - } - __name(stop2, "stop"); - function start2(...args) { - clear2(); - isPending.value = true; - timer = setTimeout(() => { - isPending.value = false; - timer = null; - cb(...args); - }, toValue(interval)); - } - __name(start2, "start"); - if (immediate) { - isPending.value = true; - if (isClient) - start2(); - } - tryOnScopeDispose(stop2); - return { - isPending: readonly(isPending), - start: start2, - stop: stop2 - }; -} -__name(useTimeoutFn, "useTimeoutFn"); -function useTimeout(interval = 1e3, options3 = {}) { - const { - controls: exposeControls = false, - callback - } = options3; - const controls = useTimeoutFn( - callback != null ? callback : noop$1, - interval, - options3 - ); - const ready = computed(() => !controls.isPending.value); - if (exposeControls) { - return { - ready, - ...controls - }; - } else { - return ready; - } -} -__name(useTimeout, "useTimeout"); -function useToNumber(value3, options3 = {}) { - const { - method = "parseFloat", - radix, - nanToZero - } = options3; - return computed(() => { - let resolved = toValue(value3); - if (typeof resolved === "string") - resolved = Number[method](resolved, radix); - if (nanToZero && Number.isNaN(resolved)) - resolved = 0; - return resolved; - }); -} -__name(useToNumber, "useToNumber"); -function useToString(value3) { - return computed(() => `${toValue(value3)}`); -} -__name(useToString, "useToString"); -function useToggle(initialValue = false, options3 = {}) { - const { - truthyValue = true, - falsyValue = false - } = options3; - const valueIsRef = isRef(initialValue); - const _value = ref(initialValue); - function toggle4(value3) { - if (arguments.length) { - _value.value = value3; - return _value.value; - } else { - const truthy = toValue(truthyValue); - _value.value = _value.value === truthy ? toValue(falsyValue) : truthy; - return _value.value; - } - } - __name(toggle4, "toggle"); - if (valueIsRef) - return toggle4; - else - return [_value, toggle4]; -} -__name(useToggle, "useToggle"); -function watchArray(source, cb, options3) { - let oldList = (options3 == null ? void 0 : options3.immediate) ? [] : [...source instanceof Function ? source() : Array.isArray(source) ? source : toValue(source)]; - return watch(source, (newList, _2, onCleanup) => { - const oldListRemains = Array.from({ length: oldList.length }); - const added = []; - for (const obj of newList) { - let found = false; - for (let i2 = 0; i2 < oldList.length; i2++) { - if (!oldListRemains[i2] && obj === oldList[i2]) { - oldListRemains[i2] = true; - found = true; - break; - } - } - if (!found) - added.push(obj); - } - const removed = oldList.filter((_22, i2) => !oldListRemains[i2]); - cb(newList, oldList, added, removed, onCleanup); - oldList = [...newList]; - }, options3); -} -__name(watchArray, "watchArray"); -function watchAtMost(source, cb, options3) { - const { - count, - ...watchOptions - } = options3; - const current = ref(0); - const stop2 = watchWithFilter( - source, - (...args) => { - current.value += 1; - if (current.value >= toValue(count)) - nextTick(() => stop2()); - cb(...args); - }, - watchOptions - ); - return { count: current, stop: stop2 }; -} -__name(watchAtMost, "watchAtMost"); -function watchDebounced(source, cb, options3 = {}) { - const { - debounce = 0, - maxWait = void 0, - ...watchOptions - } = options3; - return watchWithFilter( - source, - cb, - { - ...watchOptions, - eventFilter: debounceFilter(debounce, { maxWait }) - } - ); -} -__name(watchDebounced, "watchDebounced"); -function watchDeep(source, cb, options3) { - return watch( - source, - cb, - { - ...options3, - deep: true - } - ); -} -__name(watchDeep, "watchDeep"); -function watchIgnorable(source, cb, options3 = {}) { - const { - eventFilter = bypassFilter, - ...watchOptions - } = options3; - const filteredCb = createFilterWrapper( - eventFilter, - cb - ); - let ignoreUpdates; - let ignorePrevAsyncUpdates; - let stop2; - if (watchOptions.flush === "sync") { - const ignore = ref(false); - ignorePrevAsyncUpdates = /* @__PURE__ */ __name(() => { - }, "ignorePrevAsyncUpdates"); - ignoreUpdates = /* @__PURE__ */ __name((updater) => { - ignore.value = true; - updater(); - ignore.value = false; - }, "ignoreUpdates"); - stop2 = watch( - source, - (...args) => { - if (!ignore.value) - filteredCb(...args); - }, - watchOptions - ); - } else { - const disposables = []; - const ignoreCounter = ref(0); - const syncCounter = ref(0); - ignorePrevAsyncUpdates = /* @__PURE__ */ __name(() => { - ignoreCounter.value = syncCounter.value; - }, "ignorePrevAsyncUpdates"); - disposables.push( - watch( - source, - () => { - syncCounter.value++; - }, - { ...watchOptions, flush: "sync" } - ) - ); - ignoreUpdates = /* @__PURE__ */ __name((updater) => { - const syncCounterPrev = syncCounter.value; - updater(); - ignoreCounter.value += syncCounter.value - syncCounterPrev; - }, "ignoreUpdates"); - disposables.push( - watch( - source, - (...args) => { - const ignore = ignoreCounter.value > 0 && ignoreCounter.value === syncCounter.value; - ignoreCounter.value = 0; - syncCounter.value = 0; - if (ignore) - return; - filteredCb(...args); - }, - watchOptions - ) - ); - stop2 = /* @__PURE__ */ __name(() => { - disposables.forEach((fn) => fn()); - }, "stop"); - } - return { stop: stop2, ignoreUpdates, ignorePrevAsyncUpdates }; -} -__name(watchIgnorable, "watchIgnorable"); -function watchImmediate(source, cb, options3) { - return watch( - source, - cb, - { - ...options3, - immediate: true - } - ); -} -__name(watchImmediate, "watchImmediate"); -function watchOnce(source, cb, options3) { - const stop2 = watch(source, (...args) => { - nextTick(() => stop2()); - return cb(...args); - }, options3); - return stop2; -} -__name(watchOnce, "watchOnce"); -function watchThrottled(source, cb, options3 = {}) { - const { - throttle: throttle2 = 0, - trailing = true, - leading = true, - ...watchOptions - } = options3; - return watchWithFilter( - source, - cb, - { - ...watchOptions, - eventFilter: throttleFilter(throttle2, trailing, leading) - } - ); -} -__name(watchThrottled, "watchThrottled"); -function watchTriggerable(source, cb, options3 = {}) { - let cleanupFn; - function onEffect() { - if (!cleanupFn) - return; - const fn = cleanupFn; - cleanupFn = void 0; - fn(); - } - __name(onEffect, "onEffect"); - function onCleanup(callback) { - cleanupFn = callback; - } - __name(onCleanup, "onCleanup"); - const _cb = /* @__PURE__ */ __name((value3, oldValue) => { - onEffect(); - return cb(value3, oldValue, onCleanup); - }, "_cb"); - const res = watchIgnorable(source, _cb, options3); - const { ignoreUpdates } = res; - const trigger2 = /* @__PURE__ */ __name(() => { - let res2; - ignoreUpdates(() => { - res2 = _cb(getWatchSources(source), getOldValue(source)); - }); - return res2; - }, "trigger"); - return { - ...res, - trigger: trigger2 - }; -} -__name(watchTriggerable, "watchTriggerable"); -function getWatchSources(sources) { - if (isReactive(sources)) - return sources; - if (Array.isArray(sources)) - return sources.map((item2) => toValue(item2)); - return toValue(sources); -} -__name(getWatchSources, "getWatchSources"); -function getOldValue(source) { - return Array.isArray(source) ? source.map(() => void 0) : void 0; -} -__name(getOldValue, "getOldValue"); -function whenever(source, cb, options3) { - const stop2 = watch( - source, - (v2, ov, onInvalidate) => { - if (v2) { - if (options3 == null ? void 0 : options3.once) - nextTick(() => stop2()); - cb(v2, ov, onInvalidate); - } - }, - { - ...options3, - once: false - } - ); - return stop2; -} -__name(whenever, "whenever"); -function computedAsync(evaluationCallback, initialState, optionsOrRef) { - let options3; - if (isRef(optionsOrRef)) { - options3 = { - evaluating: optionsOrRef - }; - } else { - options3 = optionsOrRef || {}; - } - const { - lazy = false, - evaluating = void 0, - shallow = true, - onError = noop$1 - } = options3; - const started = ref(!lazy); - const current = shallow ? shallowRef(initialState) : ref(initialState); - let counter = 0; - watchEffect(async (onInvalidate) => { - if (!started.value) - return; - counter++; - const counterAtBeginning = counter; - let hasFinished = false; - if (evaluating) { - Promise.resolve().then(() => { - evaluating.value = true; - }); - } - try { - const result = await evaluationCallback((cancelCallback) => { - onInvalidate(() => { - if (evaluating) - evaluating.value = false; - if (!hasFinished) - cancelCallback(); - }); - }); - if (counterAtBeginning === counter) - current.value = result; - } catch (e) { - onError(e); - } finally { - if (evaluating && counterAtBeginning === counter) - evaluating.value = false; - hasFinished = true; - } - }); - if (lazy) { - return computed(() => { - started.value = true; - return current.value; - }); - } else { - return current; - } -} -__name(computedAsync, "computedAsync"); -function computedInject(key, options3, defaultSource, treatDefaultAsFactory) { - let source = inject(key); - if (defaultSource) - source = inject(key, defaultSource); - if (treatDefaultAsFactory) - source = inject(key, defaultSource, treatDefaultAsFactory); - if (typeof options3 === "function") { - return computed((ctx) => options3(source, ctx)); - } else { - return computed({ - get: /* @__PURE__ */ __name((ctx) => options3.get(source, ctx), "get"), - set: options3.set - }); - } -} -__name(computedInject, "computedInject"); -function createReusableTemplate(options3 = {}) { - if (!isVue3 && !version.startsWith("2.7.")) { - if (false) - throw new Error("[VueUse] createReusableTemplate only works in Vue 2.7 or above."); - return; - } - const { - inheritAttrs = true - } = options3; - const render2 = shallowRef(); - const define = /* @__PURE__ */ defineComponent({ - setup(_2, { slots }) { - return () => { - render2.value = slots.default; - }; - } - }); - const reuse = /* @__PURE__ */ defineComponent({ - inheritAttrs, - setup(_2, { attrs: attrs3, slots }) { - return () => { - var _a; - if (!render2.value && false) - throw new Error("[VueUse] Failed to find the definition of reusable template"); - const vnode = (_a = render2.value) == null ? void 0 : _a.call(render2, { ...keysToCamelKebabCase(attrs3), $slots: slots }); - return inheritAttrs && (vnode == null ? void 0 : vnode.length) === 1 ? vnode[0] : vnode; - }; - } - }); - return makeDestructurable( - { define, reuse }, - [define, reuse] - ); -} -__name(createReusableTemplate, "createReusableTemplate"); -function keysToCamelKebabCase(obj) { - const newObj = {}; - for (const key in obj) - newObj[camelize(key)] = obj[key]; - return newObj; -} -__name(keysToCamelKebabCase, "keysToCamelKebabCase"); -function createTemplatePromise(options3 = {}) { - if (!isVue3) { - if (false) - throw new Error("[VueUse] createTemplatePromise only works in Vue 3 or above."); - return; - } - let index2 = 0; - const instances = ref([]); - function create2(...args) { - const props = shallowReactive({ - key: index2++, - args, - promise: void 0, - resolve: /* @__PURE__ */ __name(() => { - }, "resolve"), - reject: /* @__PURE__ */ __name(() => { - }, "reject"), - isResolving: false, - options: options3 - }); - instances.value.push(props); - props.promise = new Promise((_resolve, _reject) => { - props.resolve = (v2) => { - props.isResolving = true; - return _resolve(v2); - }; - props.reject = _reject; - }).finally(() => { - props.promise = void 0; - const index22 = instances.value.indexOf(props); - if (index22 !== -1) - instances.value.splice(index22, 1); - }); - return props.promise; - } - __name(create2, "create"); - function start2(...args) { - if (options3.singleton && instances.value.length > 0) - return instances.value[0].promise; - return create2(...args); - } - __name(start2, "start"); - const component = /* @__PURE__ */ defineComponent((_2, { slots }) => { - const renderList2 = /* @__PURE__ */ __name(() => instances.value.map((props) => { - var _a; - return h(Fragment, { key: props.key }, (_a = slots.default) == null ? void 0 : _a.call(slots, props)); - }), "renderList"); - if (options3.transition) - return () => h(TransitionGroup, options3.transition, renderList2); - return renderList2; - }); - component.start = start2; - return component; -} -__name(createTemplatePromise, "createTemplatePromise"); -function createUnrefFn(fn) { - return function(...args) { - return fn.apply(this, args.map((i2) => toValue(i2))); - }; -} -__name(createUnrefFn, "createUnrefFn"); -const defaultWindow = isClient ? window : void 0; -const defaultDocument = isClient ? window.document : void 0; -const defaultNavigator = isClient ? window.navigator : void 0; -const defaultLocation = isClient ? window.location : void 0; -function unrefElement(elRef) { - var _a; - const plain = toValue(elRef); - return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain; -} -__name(unrefElement, "unrefElement"); -function useEventListener(...args) { - let target; - let events2; - let listeners; - let options3; - if (typeof args[0] === "string" || Array.isArray(args[0])) { - [events2, listeners, options3] = args; - target = defaultWindow; - } else { - [target, events2, listeners, options3] = args; - } - if (!target) - return noop$1; - if (!Array.isArray(events2)) - events2 = [events2]; - if (!Array.isArray(listeners)) - listeners = [listeners]; - const cleanups = []; - const cleanup = /* @__PURE__ */ __name(() => { - cleanups.forEach((fn) => fn()); - cleanups.length = 0; - }, "cleanup"); - const register3 = /* @__PURE__ */ __name((el, event2, listener, options22) => { - el.addEventListener(event2, listener, options22); - return () => el.removeEventListener(event2, listener, options22); - }, "register"); - const stopWatch = watch( - () => [unrefElement(target), toValue(options3)], - ([el, options22]) => { - cleanup(); - if (!el) - return; - const optionsClone = isObject$3(options22) ? { ...options22 } : options22; - cleanups.push( - ...events2.flatMap((event2) => { - return listeners.map((listener) => register3(el, event2, listener, optionsClone)); - }) - ); - }, - { immediate: true, flush: "post" } - ); - const stop2 = /* @__PURE__ */ __name(() => { - stopWatch(); - cleanup(); - }, "stop"); - tryOnScopeDispose(stop2); - return stop2; -} -__name(useEventListener, "useEventListener"); -let _iOSWorkaround = false; -function onClickOutside(target, handler6, options3 = {}) { - const { window: window2 = defaultWindow, ignore = [], capture = true, detectIframe = false } = options3; - if (!window2) - return noop$1; - if (isIOS && !_iOSWorkaround) { - _iOSWorkaround = true; - Array.from(window2.document.body.children).forEach((el) => el.addEventListener("click", noop$1)); - window2.document.documentElement.addEventListener("click", noop$1); - } - let shouldListen = true; - const shouldIgnore = /* @__PURE__ */ __name((event2) => { - return toValue(ignore).some((target2) => { - if (typeof target2 === "string") { - return Array.from(window2.document.querySelectorAll(target2)).some((el) => el === event2.target || event2.composedPath().includes(el)); - } else { - const el = unrefElement(target2); - return el && (event2.target === el || event2.composedPath().includes(el)); - } - }); - }, "shouldIgnore"); - const listener = /* @__PURE__ */ __name((event2) => { - const el = unrefElement(target); - if (!el || el === event2.target || event2.composedPath().includes(el)) - return; - if (event2.detail === 0) - shouldListen = !shouldIgnore(event2); - if (!shouldListen) { - shouldListen = true; - return; - } - handler6(event2); - }, "listener"); - let isProcessingClick = false; - const cleanup = [ - useEventListener(window2, "click", (event2) => { - if (!isProcessingClick) { - isProcessingClick = true; - setTimeout(() => { - isProcessingClick = false; - }, 0); - listener(event2); - } - }, { passive: true, capture }), - useEventListener(window2, "pointerdown", (e) => { - const el = unrefElement(target); - shouldListen = !shouldIgnore(e) && !!(el && !e.composedPath().includes(el)); - }, { passive: true }), - detectIframe && useEventListener(window2, "blur", (event2) => { - setTimeout(() => { - var _a; - const el = unrefElement(target); - if (((_a = window2.document.activeElement) == null ? void 0 : _a.tagName) === "IFRAME" && !(el == null ? void 0 : el.contains(window2.document.activeElement))) { - handler6(event2); - } - }, 0); - }) - ].filter(Boolean); - const stop2 = /* @__PURE__ */ __name(() => cleanup.forEach((fn) => fn()), "stop"); - return stop2; -} -__name(onClickOutside, "onClickOutside"); -function createKeyPredicate(keyFilter) { - if (typeof keyFilter === "function") - return keyFilter; - else if (typeof keyFilter === "string") - return (event2) => event2.key === keyFilter; - else if (Array.isArray(keyFilter)) - return (event2) => keyFilter.includes(event2.key); - return () => true; -} -__name(createKeyPredicate, "createKeyPredicate"); -function onKeyStroke(...args) { - let key; - let handler6; - let options3 = {}; - if (args.length === 3) { - key = args[0]; - handler6 = args[1]; - options3 = args[2]; - } else if (args.length === 2) { - if (typeof args[1] === "object") { - key = true; - handler6 = args[0]; - options3 = args[1]; - } else { - key = args[0]; - handler6 = args[1]; - } - } else { - key = true; - handler6 = args[0]; - } - const { - target = defaultWindow, - eventName = "keydown", - passive = false, - dedupe = false - } = options3; - const predicate = createKeyPredicate(key); - const listener = /* @__PURE__ */ __name((e) => { - if (e.repeat && toValue(dedupe)) - return; - if (predicate(e)) - handler6(e); - }, "listener"); - return useEventListener(target, eventName, listener, passive); -} -__name(onKeyStroke, "onKeyStroke"); -function onKeyDown(key, handler6, options3 = {}) { - return onKeyStroke(key, handler6, { ...options3, eventName: "keydown" }); -} -__name(onKeyDown, "onKeyDown"); -function onKeyPressed(key, handler6, options3 = {}) { - return onKeyStroke(key, handler6, { ...options3, eventName: "keypress" }); -} -__name(onKeyPressed, "onKeyPressed"); -function onKeyUp(key, handler6, options3 = {}) { - return onKeyStroke(key, handler6, { ...options3, eventName: "keyup" }); -} -__name(onKeyUp, "onKeyUp"); -const DEFAULT_DELAY = 500; -const DEFAULT_THRESHOLD = 10; -function onLongPress(target, handler6, options3) { - var _a, _b; - const elementRef2 = computed(() => unrefElement(target)); - let timeout; - let posStart; - let startTimestamp; - let hasLongPressed = false; - function clear2() { - if (timeout) { - clearTimeout(timeout); - timeout = void 0; - } - posStart = void 0; - startTimestamp = void 0; - hasLongPressed = false; - } - __name(clear2, "clear"); - function onRelease(ev) { - var _a2, _b2, _c; - const [_startTimestamp, _posStart, _hasLongPressed] = [startTimestamp, posStart, hasLongPressed]; - clear2(); - if (!(options3 == null ? void 0 : options3.onMouseUp) || !_posStart || !_startTimestamp) - return; - if (((_a2 = options3 == null ? void 0 : options3.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef2.value) - return; - if ((_b2 = options3 == null ? void 0 : options3.modifiers) == null ? void 0 : _b2.prevent) - ev.preventDefault(); - if ((_c = options3 == null ? void 0 : options3.modifiers) == null ? void 0 : _c.stop) - ev.stopPropagation(); - const dx = ev.x - _posStart.x; - const dy = ev.y - _posStart.y; - const distance2 = Math.sqrt(dx * dx + dy * dy); - options3.onMouseUp(ev.timeStamp - _startTimestamp, distance2, _hasLongPressed); - } - __name(onRelease, "onRelease"); - function onDown(ev) { - var _a2, _b2, _c, _d; - if (((_a2 = options3 == null ? void 0 : options3.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef2.value) - return; - clear2(); - if ((_b2 = options3 == null ? void 0 : options3.modifiers) == null ? void 0 : _b2.prevent) - ev.preventDefault(); - if ((_c = options3 == null ? void 0 : options3.modifiers) == null ? void 0 : _c.stop) - ev.stopPropagation(); - posStart = { - x: ev.x, - y: ev.y - }; - startTimestamp = ev.timeStamp; - timeout = setTimeout( - () => { - hasLongPressed = true; - handler6(ev); - }, - (_d = options3 == null ? void 0 : options3.delay) != null ? _d : DEFAULT_DELAY - ); - } - __name(onDown, "onDown"); - function onMove(ev) { - var _a2, _b2, _c, _d; - if (((_a2 = options3 == null ? void 0 : options3.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef2.value) - return; - if (!posStart || (options3 == null ? void 0 : options3.distanceThreshold) === false) - return; - if ((_b2 = options3 == null ? void 0 : options3.modifiers) == null ? void 0 : _b2.prevent) - ev.preventDefault(); - if ((_c = options3 == null ? void 0 : options3.modifiers) == null ? void 0 : _c.stop) - ev.stopPropagation(); - const dx = ev.x - posStart.x; - const dy = ev.y - posStart.y; - const distance2 = Math.sqrt(dx * dx + dy * dy); - if (distance2 >= ((_d = options3 == null ? void 0 : options3.distanceThreshold) != null ? _d : DEFAULT_THRESHOLD)) - clear2(); - } - __name(onMove, "onMove"); - const listenerOptions = { - capture: (_a = options3 == null ? void 0 : options3.modifiers) == null ? void 0 : _a.capture, - once: (_b = options3 == null ? void 0 : options3.modifiers) == null ? void 0 : _b.once - }; - const cleanup = [ - useEventListener(elementRef2, "pointerdown", onDown, listenerOptions), - useEventListener(elementRef2, "pointermove", onMove, listenerOptions), - useEventListener(elementRef2, ["pointerup", "pointerleave"], onRelease, listenerOptions) - ]; - const stop2 = /* @__PURE__ */ __name(() => cleanup.forEach((fn) => fn()), "stop"); - return stop2; -} -__name(onLongPress, "onLongPress"); -function isFocusedElementEditable() { - const { activeElement, body } = document; - if (!activeElement) - return false; - if (activeElement === body) - return false; - switch (activeElement.tagName) { - case "INPUT": - case "TEXTAREA": - return true; - } - return activeElement.hasAttribute("contenteditable"); -} -__name(isFocusedElementEditable, "isFocusedElementEditable"); -function isTypedCharValid({ - keyCode, - metaKey, - ctrlKey, - altKey -}) { - if (metaKey || ctrlKey || altKey) - return false; - if (keyCode >= 48 && keyCode <= 57) - return true; - if (keyCode >= 65 && keyCode <= 90) - return true; - if (keyCode >= 97 && keyCode <= 122) - return true; - return false; -} -__name(isTypedCharValid, "isTypedCharValid"); -function onStartTyping(callback, options3 = {}) { - const { document: document2 = defaultDocument } = options3; - const keydown = /* @__PURE__ */ __name((event2) => { - if (!isFocusedElementEditable() && isTypedCharValid(event2)) { - callback(event2); - } - }, "keydown"); - if (document2) - useEventListener(document2, "keydown", keydown, { passive: true }); -} -__name(onStartTyping, "onStartTyping"); -function templateRef(key, initialValue = null) { - const instance = getCurrentInstance(); - let _trigger = /* @__PURE__ */ __name(() => { - }, "_trigger"); - const element = customRef((track2, trigger2) => { - _trigger = trigger2; - return { - get() { - var _a, _b; - track2(); - return (_b = (_a = instance == null ? void 0 : instance.proxy) == null ? void 0 : _a.$refs[key]) != null ? _b : initialValue; - }, - set() { - } - }; - }); - tryOnMounted(_trigger); - onUpdated(_trigger); - return element; -} -__name(templateRef, "templateRef"); -function useMounted() { - const isMounted = ref(false); - const instance = getCurrentInstance(); - if (instance) { - onMounted(() => { - isMounted.value = true; - }, isVue2 ? void 0 : instance); - } - return isMounted; -} -__name(useMounted, "useMounted"); -function useSupported(callback) { - const isMounted = useMounted(); - return computed(() => { - isMounted.value; - return Boolean(callback()); - }); -} -__name(useSupported, "useSupported"); -function useMutationObserver(target, callback, options3 = {}) { - const { window: window2 = defaultWindow, ...mutationOptions } = options3; - let observer; - const isSupported2 = useSupported(() => window2 && "MutationObserver" in window2); - const cleanup = /* @__PURE__ */ __name(() => { - if (observer) { - observer.disconnect(); - observer = void 0; - } - }, "cleanup"); - const targets = computed(() => { - const value3 = toValue(target); - const items2 = (Array.isArray(value3) ? value3 : [value3]).map(unrefElement).filter(notNullish); - return new Set(items2); - }); - const stopWatch = watch( - () => targets.value, - (targets2) => { - cleanup(); - if (isSupported2.value && targets2.size) { - observer = new MutationObserver(callback); - targets2.forEach((el) => observer.observe(el, mutationOptions)); - } - }, - { immediate: true, flush: "post" } - ); - const takeRecords = /* @__PURE__ */ __name(() => { - return observer == null ? void 0 : observer.takeRecords(); - }, "takeRecords"); - const stop2 = /* @__PURE__ */ __name(() => { - stopWatch(); - cleanup(); - }, "stop"); - tryOnScopeDispose(stop2); - return { - isSupported: isSupported2, - stop: stop2, - takeRecords - }; -} -__name(useMutationObserver, "useMutationObserver"); -function useActiveElement(options3 = {}) { - var _a; - const { - window: window2 = defaultWindow, - deep = true, - triggerOnRemoval = false - } = options3; - const document2 = (_a = options3.document) != null ? _a : window2 == null ? void 0 : window2.document; - const getDeepActiveElement = /* @__PURE__ */ __name(() => { - var _a2; - let element = document2 == null ? void 0 : document2.activeElement; - if (deep) { - while (element == null ? void 0 : element.shadowRoot) - element = (_a2 = element == null ? void 0 : element.shadowRoot) == null ? void 0 : _a2.activeElement; - } - return element; - }, "getDeepActiveElement"); - const activeElement = ref(); - const trigger2 = /* @__PURE__ */ __name(() => { - activeElement.value = getDeepActiveElement(); - }, "trigger"); - if (window2) { - useEventListener(window2, "blur", (event2) => { - if (event2.relatedTarget !== null) - return; - trigger2(); - }, true); - useEventListener(window2, "focus", trigger2, true); - } - if (triggerOnRemoval) { - useMutationObserver(document2, (mutations) => { - mutations.filter((m) => m.removedNodes.length).map((n) => Array.from(n.removedNodes)).flat().forEach((node3) => { - if (node3 === activeElement.value) - trigger2(); - }); - }, { - childList: true, - subtree: true - }); - } - trigger2(); - return activeElement; -} -__name(useActiveElement, "useActiveElement"); -function useRafFn(fn, options3 = {}) { - const { - immediate = true, - fpsLimit = void 0, - window: window2 = defaultWindow - } = options3; - const isActive = ref(false); - const intervalLimit = fpsLimit ? 1e3 / fpsLimit : null; - let previousFrameTimestamp = 0; - let rafId = null; - function loop(timestamp2) { - if (!isActive.value || !window2) - return; - if (!previousFrameTimestamp) - previousFrameTimestamp = timestamp2; - const delta2 = timestamp2 - previousFrameTimestamp; - if (intervalLimit && delta2 < intervalLimit) { - rafId = window2.requestAnimationFrame(loop); - return; - } - previousFrameTimestamp = timestamp2; - fn({ delta: delta2, timestamp: timestamp2 }); - rafId = window2.requestAnimationFrame(loop); - } - __name(loop, "loop"); - function resume() { - if (!isActive.value && window2) { - isActive.value = true; - previousFrameTimestamp = 0; - rafId = window2.requestAnimationFrame(loop); - } - } - __name(resume, "resume"); - function pause() { - isActive.value = false; - if (rafId != null && window2) { - window2.cancelAnimationFrame(rafId); - rafId = null; - } - } - __name(pause, "pause"); - if (immediate) - resume(); - tryOnScopeDispose(pause); - return { - isActive: readonly(isActive), - pause, - resume - }; -} -__name(useRafFn, "useRafFn"); -function useAnimate(target, keyframes, options3) { - let config2; - let animateOptions; - if (isObject$3(options3)) { - config2 = options3; - animateOptions = objectOmit(options3, ["window", "immediate", "commitStyles", "persist", "onReady", "onError"]); - } else { - config2 = { duration: options3 }; - animateOptions = options3; - } - const { - window: window2 = defaultWindow, - immediate = true, - commitStyles, - persist, - playbackRate: _playbackRate = 1, - onReady, - onError = /* @__PURE__ */ __name((e) => { - console.error(e); - }, "onError") - } = config2; - const isSupported2 = useSupported(() => window2 && HTMLElement && "animate" in HTMLElement.prototype); - const animate = shallowRef(void 0); - const store = shallowReactive({ - startTime: null, - currentTime: null, - timeline: null, - playbackRate: _playbackRate, - pending: false, - playState: immediate ? "idle" : "paused", - replaceState: "active" - }); - const pending = computed(() => store.pending); - const playState = computed(() => store.playState); - const replaceState = computed(() => store.replaceState); - const startTime = computed({ - get() { - return store.startTime; - }, - set(value3) { - store.startTime = value3; - if (animate.value) - animate.value.startTime = value3; - } - }); - const currentTime = computed({ - get() { - return store.currentTime; - }, - set(value3) { - store.currentTime = value3; - if (animate.value) { - animate.value.currentTime = value3; - syncResume(); - } - } - }); - const timeline = computed({ - get() { - return store.timeline; - }, - set(value3) { - store.timeline = value3; - if (animate.value) - animate.value.timeline = value3; - } - }); - const playbackRate = computed({ - get() { - return store.playbackRate; - }, - set(value3) { - store.playbackRate = value3; - if (animate.value) - animate.value.playbackRate = value3; - } - }); - const play = /* @__PURE__ */ __name(() => { - if (animate.value) { - try { - animate.value.play(); - syncResume(); - } catch (e) { - syncPause(); - onError(e); - } - } else { - update(); - } - }, "play"); - const pause = /* @__PURE__ */ __name(() => { - var _a; - try { - (_a = animate.value) == null ? void 0 : _a.pause(); - syncPause(); - } catch (e) { - onError(e); - } - }, "pause"); - const reverse = /* @__PURE__ */ __name(() => { - var _a; - if (!animate.value) - update(); - try { - (_a = animate.value) == null ? void 0 : _a.reverse(); - syncResume(); - } catch (e) { - syncPause(); - onError(e); - } - }, "reverse"); - const finish = /* @__PURE__ */ __name(() => { - var _a; - try { - (_a = animate.value) == null ? void 0 : _a.finish(); - syncPause(); - } catch (e) { - onError(e); - } - }, "finish"); - const cancel = /* @__PURE__ */ __name(() => { - var _a; - try { - (_a = animate.value) == null ? void 0 : _a.cancel(); - syncPause(); - } catch (e) { - onError(e); - } - }, "cancel"); - watch(() => unrefElement(target), (el) => { - if (el) - update(); - }); - watch(() => keyframes, (value3) => { - if (animate.value) - update(); - if (!unrefElement(target) && animate.value) { - animate.value.effect = new KeyframeEffect( - unrefElement(target), - toValue(value3), - animateOptions - ); - } - }, { deep: true }); - tryOnMounted(() => update(true), false); - tryOnScopeDispose(cancel); - function update(init2) { - const el = unrefElement(target); - if (!isSupported2.value || !el) - return; - if (!animate.value) - animate.value = el.animate(toValue(keyframes), animateOptions); - if (persist) - animate.value.persist(); - if (_playbackRate !== 1) - animate.value.playbackRate = _playbackRate; - if (init2 && !immediate) - animate.value.pause(); - else - syncResume(); - onReady == null ? void 0 : onReady(animate.value); - } - __name(update, "update"); - useEventListener(animate, ["cancel", "finish", "remove"], syncPause); - useEventListener(animate, "finish", () => { - var _a; - if (commitStyles) - (_a = animate.value) == null ? void 0 : _a.commitStyles(); - }); - const { resume: resumeRef, pause: pauseRef } = useRafFn(() => { - if (!animate.value) - return; - store.pending = animate.value.pending; - store.playState = animate.value.playState; - store.replaceState = animate.value.replaceState; - store.startTime = animate.value.startTime; - store.currentTime = animate.value.currentTime; - store.timeline = animate.value.timeline; - store.playbackRate = animate.value.playbackRate; - }, { immediate: false }); - function syncResume() { - if (isSupported2.value) - resumeRef(); - } - __name(syncResume, "syncResume"); - function syncPause() { - if (isSupported2.value && window2) - window2.requestAnimationFrame(pauseRef); - } - __name(syncPause, "syncPause"); - return { - isSupported: isSupported2, - animate, - // actions - play, - pause, - reverse, - finish, - cancel, - // state - pending, - playState, - replaceState, - startTime, - currentTime, - timeline, - playbackRate - }; -} -__name(useAnimate, "useAnimate"); -function useAsyncQueue(tasks, options3) { - const { - interrupt = true, - onError = noop$1, - onFinished = noop$1, - signal - } = options3 || {}; - const promiseState = { - aborted: "aborted", - fulfilled: "fulfilled", - pending: "pending", - rejected: "rejected" - }; - const initialResult = Array.from(Array.from({ length: tasks.length }), () => ({ state: promiseState.pending, data: null })); - const result = reactive(initialResult); - const activeIndex3 = ref(-1); - if (!tasks || tasks.length === 0) { - onFinished(); - return { - activeIndex: activeIndex3, - result - }; - } - function updateResult(state, res) { - activeIndex3.value++; - result[activeIndex3.value].data = res; - result[activeIndex3.value].state = state; - } - __name(updateResult, "updateResult"); - tasks.reduce((prev2, curr) => { - return prev2.then((prevRes) => { - var _a; - if (signal == null ? void 0 : signal.aborted) { - updateResult(promiseState.aborted, new Error("aborted")); - return; - } - if (((_a = result[activeIndex3.value]) == null ? void 0 : _a.state) === promiseState.rejected && interrupt) { - onFinished(); - return; - } - const done = curr(prevRes).then((currentRes) => { - updateResult(promiseState.fulfilled, currentRes); - if (activeIndex3.value === tasks.length - 1) - onFinished(); - return currentRes; - }); - if (!signal) - return done; - return Promise.race([done, whenAborted(signal)]); - }).catch((e) => { - if (signal == null ? void 0 : signal.aborted) { - updateResult(promiseState.aborted, e); - return e; - } - updateResult(promiseState.rejected, e); - onError(); - return e; - }); - }, Promise.resolve()); - return { - activeIndex: activeIndex3, - result - }; -} -__name(useAsyncQueue, "useAsyncQueue"); -function whenAborted(signal) { - return new Promise((resolve2, reject2) => { - const error = new Error("aborted"); - if (signal.aborted) - reject2(error); - else - signal.addEventListener("abort", () => reject2(error), { once: true }); - }); -} -__name(whenAborted, "whenAborted"); -function useAsyncState(promise, initialState, options3) { - const { - immediate = true, - delay = 0, - onError = noop$1, - onSuccess = noop$1, - resetOnExecute = true, - shallow = true, - throwError - } = options3 != null ? options3 : {}; - const state = shallow ? shallowRef(initialState) : ref(initialState); - const isReady = ref(false); - const isLoading = ref(false); - const error = shallowRef(void 0); - async function execute(delay2 = 0, ...args) { - if (resetOnExecute) - state.value = initialState; - error.value = void 0; - isReady.value = false; - isLoading.value = true; - if (delay2 > 0) - await promiseTimeout(delay2); - const _promise = typeof promise === "function" ? promise(...args) : promise; - try { - const data21 = await _promise; - state.value = data21; - isReady.value = true; - onSuccess(data21); - } catch (e) { - error.value = e; - onError(e); - if (throwError) - throw e; - } finally { - isLoading.value = false; - } - return state.value; - } - __name(execute, "execute"); - if (immediate) - execute(delay); - const shell = { - state, - isReady, - isLoading, - error, - execute - }; - function waitUntilIsLoaded() { - return new Promise((resolve2, reject2) => { - until(isLoading).toBe(false).then(() => resolve2(shell)).catch(reject2); - }); - } - __name(waitUntilIsLoaded, "waitUntilIsLoaded"); - return { - ...shell, - then(onFulfilled, onRejected) { - return waitUntilIsLoaded().then(onFulfilled, onRejected); - } - }; -} -__name(useAsyncState, "useAsyncState"); -const defaults = { - array: /* @__PURE__ */ __name((v2) => JSON.stringify(v2), "array"), - object: /* @__PURE__ */ __name((v2) => JSON.stringify(v2), "object"), - set: /* @__PURE__ */ __name((v2) => JSON.stringify(Array.from(v2)), "set"), - map: /* @__PURE__ */ __name((v2) => JSON.stringify(Object.fromEntries(v2)), "map"), - null: /* @__PURE__ */ __name(() => "", "null") -}; -function getDefaultSerialization(target) { - if (!target) - return defaults.null; - if (target instanceof Map) - return defaults.map; - else if (target instanceof Set) - return defaults.set; - else if (Array.isArray(target)) - return defaults.array; - else - return defaults.object; -} -__name(getDefaultSerialization, "getDefaultSerialization"); -function useBase64(target, options3) { - const base64 = ref(""); - const promise = ref(); - function execute() { - if (!isClient) - return; - promise.value = new Promise((resolve2, reject2) => { - try { - const _target = toValue(target); - if (_target == null) { - resolve2(""); - } else if (typeof _target === "string") { - resolve2(blobToBase64(new Blob([_target], { type: "text/plain" }))); - } else if (_target instanceof Blob) { - resolve2(blobToBase64(_target)); - } else if (_target instanceof ArrayBuffer) { - resolve2(window.btoa(String.fromCharCode(...new Uint8Array(_target)))); - } else if (_target instanceof HTMLCanvasElement) { - resolve2(_target.toDataURL(options3 == null ? void 0 : options3.type, options3 == null ? void 0 : options3.quality)); - } else if (_target instanceof HTMLImageElement) { - 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(options3 == null ? void 0 : options3.type, options3 == null ? void 0 : options3.quality)); - }).catch(reject2); - } else if (typeof _target === "object") { - const _serializeFn = (options3 == null ? void 0 : options3.serializer) || getDefaultSerialization(_target); - const serialized = _serializeFn(_target); - return resolve2(blobToBase64(new Blob([serialized], { type: "application/json" }))); - } else { - reject2(new Error("target is unsupported types")); - } - } catch (error) { - reject2(error); - } - }); - promise.value.then((res) => base64.value = res); - return promise.value; - } - __name(execute, "execute"); - if (isRef(target) || typeof target === "function") - watch(target, execute, { immediate: true }); - else - execute(); - return { - base64, - promise, - execute - }; -} -__name(useBase64, "useBase64"); -function imgLoaded(img) { - return new Promise((resolve2, reject2) => { - if (!img.complete) { - img.onload = () => { - resolve2(); - }; - img.onerror = reject2; - } else { - resolve2(); - } - }); -} -__name(imgLoaded, "imgLoaded"); -function blobToBase64(blob) { - return new Promise((resolve2, reject2) => { - const fr = new FileReader(); - fr.onload = (e) => { - resolve2(e.target.result); - }; - fr.onerror = reject2; - fr.readAsDataURL(blob); - }); -} -__name(blobToBase64, "blobToBase64"); -function useBattery(options3 = {}) { - const { navigator: navigator2 = defaultNavigator } = options3; - const events2 = ["chargingchange", "chargingtimechange", "dischargingtimechange", "levelchange"]; - const isSupported2 = useSupported(() => navigator2 && "getBattery" in navigator2 && typeof navigator2.getBattery === "function"); - const charging = ref(false); - const chargingTime = ref(0); - const dischargingTime = ref(0); - const level = ref(1); - let battery; - function updateBatteryInfo() { - charging.value = this.charging; - chargingTime.value = this.chargingTime || 0; - dischargingTime.value = this.dischargingTime || 0; - level.value = this.level; - } - __name(updateBatteryInfo, "updateBatteryInfo"); - if (isSupported2.value) { - navigator2.getBattery().then((_battery) => { - battery = _battery; - updateBatteryInfo.call(battery); - useEventListener(battery, events2, updateBatteryInfo, { passive: true }); - }); - } - return { - isSupported: isSupported2, - charging, - chargingTime, - dischargingTime, - level - }; -} -__name(useBattery, "useBattery"); -function useBluetooth(options3) { - let { - acceptAllDevices = false - } = options3 || {}; - const { - filters = void 0, - optionalServices = void 0, - navigator: navigator2 = defaultNavigator - } = options3 || {}; - const isSupported2 = useSupported(() => navigator2 && "bluetooth" in navigator2); - const device = shallowRef(void 0); - const error = shallowRef(null); - watch(device, () => { - connectToBluetoothGATTServer(); - }); - async function requestDevice() { - if (!isSupported2.value) - return; - error.value = null; - if (filters && filters.length > 0) - acceptAllDevices = false; - try { - device.value = await (navigator2 == null ? void 0 : navigator2.bluetooth.requestDevice({ - acceptAllDevices, - filters, - optionalServices - })); - } catch (err) { - error.value = err; - } - } - __name(requestDevice, "requestDevice"); - const server = ref(); - const isConnected = computed(() => { - var _a; - return ((_a = server.value) == null ? void 0 : _a.connected) || false; - }); - async function connectToBluetoothGATTServer() { - error.value = null; - if (device.value && device.value.gatt) { - device.value.addEventListener("gattserverdisconnected", () => { - }); - try { - server.value = await device.value.gatt.connect(); - } catch (err) { - error.value = err; - } - } - } - __name(connectToBluetoothGATTServer, "connectToBluetoothGATTServer"); - tryOnMounted(() => { - var _a; - if (device.value) - (_a = device.value.gatt) == null ? void 0 : _a.connect(); - }); - tryOnScopeDispose(() => { - var _a; - if (device.value) - (_a = device.value.gatt) == null ? void 0 : _a.disconnect(); - }); - return { - isSupported: isSupported2, - isConnected, - // Device: - device, - requestDevice, - // Server: - server, - // Errors: - error - }; -} -__name(useBluetooth, "useBluetooth"); -function useMediaQuery(query, options3 = {}) { - const { window: window2 = defaultWindow } = options3; - const isSupported2 = useSupported(() => window2 && "matchMedia" in window2 && typeof window2.matchMedia === "function"); - let mediaQuery; - const matches2 = ref(false); - const handler6 = /* @__PURE__ */ __name((event2) => { - matches2.value = event2.matches; - }, "handler"); - const cleanup = /* @__PURE__ */ __name(() => { - if (!mediaQuery) - return; - if ("removeEventListener" in mediaQuery) - mediaQuery.removeEventListener("change", handler6); - else - mediaQuery.removeListener(handler6); - }, "cleanup"); - const stopWatch = watchEffect(() => { - if (!isSupported2.value) - return; - cleanup(); - mediaQuery = window2.matchMedia(toValue(query)); - if ("addEventListener" in mediaQuery) - mediaQuery.addEventListener("change", handler6); - else - mediaQuery.addListener(handler6); - matches2.value = mediaQuery.matches; - }); - tryOnScopeDispose(() => { - stopWatch(); - cleanup(); - mediaQuery = void 0; - }); - return matches2; -} -__name(useMediaQuery, "useMediaQuery"); -const breakpointsTailwind = { - "sm": 640, - "md": 768, - "lg": 1024, - "xl": 1280, - "2xl": 1536 -}; -const breakpointsBootstrapV5 = { - xs: 0, - sm: 576, - md: 768, - lg: 992, - xl: 1200, - xxl: 1400 -}; -const breakpointsVuetifyV2 = { - xs: 0, - sm: 600, - md: 960, - lg: 1264, - xl: 1904 -}; -const breakpointsVuetifyV3 = { - xs: 0, - sm: 600, - md: 960, - lg: 1280, - xl: 1920, - xxl: 2560 -}; -const breakpointsVuetify = breakpointsVuetifyV2; -const breakpointsAntDesign = { - xs: 480, - sm: 576, - md: 768, - lg: 992, - xl: 1200, - xxl: 1600 -}; -const breakpointsQuasar = { - xs: 0, - sm: 600, - md: 1024, - lg: 1440, - xl: 1920 -}; -const breakpointsSematic = { - mobileS: 320, - mobileM: 375, - mobileL: 425, - tablet: 768, - laptop: 1024, - laptopL: 1440, - desktop4K: 2560 -}; -const breakpointsMasterCss = { - "3xs": 360, - "2xs": 480, - "xs": 600, - "sm": 768, - "md": 1024, - "lg": 1280, - "xl": 1440, - "2xl": 1600, - "3xl": 1920, - "4xl": 2560 -}; -const breakpointsPrimeFlex = { - sm: 576, - md: 768, - lg: 992, - xl: 1200 -}; -function useBreakpoints(breakpoints, options3 = {}) { - function getValue2(k, delta2) { - let v2 = toValue(breakpoints[toValue(k)]); - if (delta2 != null) - v2 = increaseWithUnit(v2, delta2); - if (typeof v2 === "number") - v2 = `${v2}px`; - return v2; - } - __name(getValue2, "getValue2"); - const { window: window2 = defaultWindow, strategy = "min-width" } = options3; - function match(query) { - if (!window2) - return false; - return window2.matchMedia(query).matches; - } - __name(match, "match"); - const greaterOrEqual = /* @__PURE__ */ __name((k) => { - return useMediaQuery(() => `(min-width: ${getValue2(k)})`, options3); - }, "greaterOrEqual"); - const smallerOrEqual = /* @__PURE__ */ __name((k) => { - return useMediaQuery(() => `(max-width: ${getValue2(k)})`, options3); - }, "smallerOrEqual"); - const shortcutMethods = Object.keys(breakpoints).reduce((shortcuts, k) => { - Object.defineProperty(shortcuts, k, { - get: /* @__PURE__ */ __name(() => strategy === "min-width" ? greaterOrEqual(k) : smallerOrEqual(k), "get"), - enumerable: true, - configurable: true - }); - return shortcuts; - }, {}); - function current() { - const points = Object.keys(breakpoints).map((i2) => [i2, greaterOrEqual(i2)]); - return computed(() => points.filter(([, v2]) => v2.value).map(([k]) => k)); - } - __name(current, "current"); - return Object.assign(shortcutMethods, { - greaterOrEqual, - smallerOrEqual, - greater(k) { - return useMediaQuery(() => `(min-width: ${getValue2(k, 0.1)})`, options3); - }, - smaller(k) { - return useMediaQuery(() => `(max-width: ${getValue2(k, -0.1)})`, options3); - }, - between(a, b) { - return useMediaQuery(() => `(min-width: ${getValue2(a)}) and (max-width: ${getValue2(b, -0.1)})`, options3); - }, - isGreater(k) { - return match(`(min-width: ${getValue2(k, 0.1)})`); - }, - isGreaterOrEqual(k) { - return match(`(min-width: ${getValue2(k)})`); - }, - isSmaller(k) { - return match(`(max-width: ${getValue2(k, -0.1)})`); - }, - isSmallerOrEqual(k) { - return match(`(max-width: ${getValue2(k)})`); - }, - isInBetween(a, b) { - return match(`(min-width: ${getValue2(a)}) and (max-width: ${getValue2(b, -0.1)})`); - }, - current, - active() { - const bps = current(); - return computed(() => bps.value.length === 0 ? "" : bps.value.at(-1)); - } - }); -} -__name(useBreakpoints, "useBreakpoints"); -function useBroadcastChannel(options3) { - const { - name, - window: window2 = defaultWindow - } = options3; - const isSupported2 = useSupported(() => window2 && "BroadcastChannel" in window2); - const isClosed = ref(false); - const channel = ref(); - const data21 = ref(); - const error = shallowRef(null); - const post = /* @__PURE__ */ __name((data22) => { - if (channel.value) - channel.value.postMessage(data22); - }, "post"); - const close3 = /* @__PURE__ */ __name(() => { - if (channel.value) - channel.value.close(); - isClosed.value = true; - }, "close"); - if (isSupported2.value) { - tryOnMounted(() => { - error.value = null; - channel.value = new BroadcastChannel(name); - channel.value.addEventListener("message", (e) => { - data21.value = e.data; - }, { passive: true }); - channel.value.addEventListener("messageerror", (e) => { - error.value = e; - }, { passive: true }); - channel.value.addEventListener("close", () => { - isClosed.value = true; - }); - }); - } - tryOnScopeDispose(() => { - close3(); - }); - return { - isSupported: isSupported2, - channel, - data: data21, - post, - close: close3, - error, - isClosed - }; -} -__name(useBroadcastChannel, "useBroadcastChannel"); -const WRITABLE_PROPERTIES = [ - "hash", - "host", - "hostname", - "href", - "pathname", - "port", - "protocol", - "search" -]; -function useBrowserLocation(options3 = {}) { - const { window: window2 = defaultWindow } = options3; - const refs = Object.fromEntries( - WRITABLE_PROPERTIES.map((key) => [key, ref()]) - ); - for (const [key, ref2] of objectEntries(refs)) { - watch(ref2, (value3) => { - if (!(window2 == null ? void 0 : window2.location) || window2.location[key] === value3) - return; - window2.location[key] = value3; - }); - } - const buildState2 = /* @__PURE__ */ __name((trigger2) => { - var _a; - const { state: state2, length } = (window2 == null ? void 0 : window2.history) || {}; - const { origin: origin2 } = (window2 == null ? void 0 : window2.location) || {}; - for (const key of WRITABLE_PROPERTIES) - refs[key].value = (_a = window2 == null ? void 0 : window2.location) == null ? void 0 : _a[key]; - return reactive({ - trigger: trigger2, - state: state2, - length, - origin: origin2, - ...refs - }); - }, "buildState"); - const state = ref(buildState2("load")); - if (window2) { - useEventListener(window2, "popstate", () => state.value = buildState2("popstate"), { passive: true }); - useEventListener(window2, "hashchange", () => state.value = buildState2("hashchange"), { passive: true }); - } - return state; -} -__name(useBrowserLocation, "useBrowserLocation"); -function useCached(refValue, comparator = (a, b) => a === b, watchOptions) { - const cachedValue = ref(refValue.value); - watch(() => refValue.value, (value3) => { - if (!comparator(value3, cachedValue.value)) - cachedValue.value = value3; - }, watchOptions); - return cachedValue; -} -__name(useCached, "useCached"); -function usePermission(permissionDesc, options3 = {}) { - const { - controls = false, - navigator: navigator2 = defaultNavigator - } = options3; - const isSupported2 = useSupported(() => navigator2 && "permissions" in navigator2); - const permissionStatus = shallowRef(); - const desc = typeof permissionDesc === "string" ? { name: permissionDesc } : permissionDesc; - const state = shallowRef(); - const update = /* @__PURE__ */ __name(() => { - var _a, _b; - state.value = (_b = (_a = permissionStatus.value) == null ? void 0 : _a.state) != null ? _b : "prompt"; - }, "update"); - useEventListener(permissionStatus, "change", update); - const query = createSingletonPromise(async () => { - if (!isSupported2.value) - return; - if (!permissionStatus.value) { - try { - permissionStatus.value = await navigator2.permissions.query(desc); - } catch (e) { - permissionStatus.value = void 0; - } finally { - update(); - } - } - if (controls) - return toRaw(permissionStatus.value); - }); - query(); - if (controls) { - return { - state, - isSupported: isSupported2, - query - }; - } else { - return state; - } -} -__name(usePermission, "usePermission"); -function useClipboard(options3 = {}) { - const { - navigator: navigator2 = defaultNavigator, - read = false, - source, - copiedDuring = 1500, - legacy = false - } = options3; - const isClipboardApiSupported = useSupported(() => navigator2 && "clipboard" in navigator2); - const permissionRead = usePermission("clipboard-read"); - const permissionWrite = usePermission("clipboard-write"); - const isSupported2 = computed(() => isClipboardApiSupported.value || legacy); - const text = ref(""); - const copied = ref(false); - const timeout = useTimeoutFn(() => copied.value = false, copiedDuring); - function updateText() { - if (isClipboardApiSupported.value && isAllowed(permissionRead.value)) { - navigator2.clipboard.readText().then((value3) => { - text.value = value3; - }); - } else { - text.value = legacyRead(); - } - } - __name(updateText, "updateText"); - if (isSupported2.value && read) - useEventListener(["copy", "cut"], updateText); - async function copy(value3 = toValue(source)) { - if (isSupported2.value && value3 != null) { - if (isClipboardApiSupported.value && isAllowed(permissionWrite.value)) - await navigator2.clipboard.writeText(value3); - else - legacyCopy(value3); - text.value = value3; - copied.value = true; - timeout.start(); - } - } - __name(copy, "copy"); - function legacyCopy(value3) { - const ta = document.createElement("textarea"); - ta.value = value3 != null ? value3 : ""; - ta.style.position = "absolute"; - ta.style.opacity = "0"; - document.body.appendChild(ta); - ta.select(); - document.execCommand("copy"); - ta.remove(); - } - __name(legacyCopy, "legacyCopy"); - function legacyRead() { - var _a, _b, _c; - return (_c = (_b = (_a = document == null ? void 0 : document.getSelection) == null ? void 0 : _a.call(document)) == null ? void 0 : _b.toString()) != null ? _c : ""; - } - __name(legacyRead, "legacyRead"); - function isAllowed(status) { - return status === "granted" || status === "prompt"; - } - __name(isAllowed, "isAllowed"); - return { - isSupported: isSupported2, - text, - copied, - copy - }; -} -__name(useClipboard, "useClipboard"); -function useClipboardItems(options3 = {}) { - const { - navigator: navigator2 = defaultNavigator, - read = false, - source, - copiedDuring = 1500 - } = options3; - const isSupported2 = useSupported(() => navigator2 && "clipboard" in navigator2); - const content2 = ref([]); - const copied = ref(false); - const timeout = useTimeoutFn(() => copied.value = false, copiedDuring); - function updateContent() { - if (isSupported2.value) { - navigator2.clipboard.read().then((items2) => { - content2.value = items2; - }); - } - } - __name(updateContent, "updateContent"); - if (isSupported2.value && read) - useEventListener(["copy", "cut"], updateContent); - async function copy(value3 = toValue(source)) { - if (isSupported2.value && value3 != null) { - await navigator2.clipboard.write(value3); - content2.value = value3; - copied.value = true; - timeout.start(); - } - } - __name(copy, "copy"); - return { - isSupported: isSupported2, - content: content2, - copied, - copy - }; -} -__name(useClipboardItems, "useClipboardItems"); -function cloneFnJSON(source) { - return JSON.parse(JSON.stringify(source)); -} -__name(cloneFnJSON, "cloneFnJSON"); -function useCloned(source, options3 = {}) { - const cloned = ref({}); - const { - manual, - clone: clone2 = cloneFnJSON, - // watch options - deep = true, - immediate = true - } = options3; - function sync() { - cloned.value = clone2(toValue(source)); - } - __name(sync, "sync"); - if (!manual && (isRef(source) || typeof source === "function")) { - watch(source, sync, { - ...options3, - deep, - immediate - }); - } else { - sync(); - } - return { cloned, sync }; -} -__name(useCloned, "useCloned"); -const _global = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {}; -const globalKey = "__vueuse_ssr_handlers__"; -const handlers = /* @__PURE__ */ getHandlers(); -function getHandlers() { - if (!(globalKey in _global)) - _global[globalKey] = _global[globalKey] || {}; - return _global[globalKey]; -} -__name(getHandlers, "getHandlers"); -function getSSRHandler(key, fallback) { - return handlers[key] || fallback; -} -__name(getSSRHandler, "getSSRHandler"); -function setSSRHandler(key, fn) { - handlers[key] = fn; -} -__name(setSSRHandler, "setSSRHandler"); -function usePreferredDark(options3) { - return useMediaQuery("(prefers-color-scheme: dark)", options3); -} -__name(usePreferredDark, "usePreferredDark"); -function guessSerializerType(rawInit) { - return rawInit == null ? "any" : rawInit instanceof Set ? "set" : rawInit instanceof Map ? "map" : rawInit instanceof Date ? "date" : typeof rawInit === "boolean" ? "boolean" : typeof rawInit === "string" ? "string" : typeof rawInit === "object" ? "object" : !Number.isNaN(rawInit) ? "number" : "any"; -} -__name(guessSerializerType, "guessSerializerType"); -const StorageSerializers = { - boolean: { - read: /* @__PURE__ */ __name((v2) => v2 === "true", "read"), - write: /* @__PURE__ */ __name((v2) => String(v2), "write") - }, - object: { - read: /* @__PURE__ */ __name((v2) => JSON.parse(v2), "read"), - write: /* @__PURE__ */ __name((v2) => JSON.stringify(v2), "write") - }, - number: { - read: /* @__PURE__ */ __name((v2) => Number.parseFloat(v2), "read"), - write: /* @__PURE__ */ __name((v2) => String(v2), "write") - }, - any: { - read: /* @__PURE__ */ __name((v2) => v2, "read"), - write: /* @__PURE__ */ __name((v2) => String(v2), "write") - }, - string: { - read: /* @__PURE__ */ __name((v2) => v2, "read"), - write: /* @__PURE__ */ __name((v2) => String(v2), "write") - }, - map: { - read: /* @__PURE__ */ __name((v2) => new Map(JSON.parse(v2)), "read"), - write: /* @__PURE__ */ __name((v2) => JSON.stringify(Array.from(v2.entries())), "write") - }, - set: { - read: /* @__PURE__ */ __name((v2) => new Set(JSON.parse(v2)), "read"), - write: /* @__PURE__ */ __name((v2) => JSON.stringify(Array.from(v2)), "write") - }, - date: { - read: /* @__PURE__ */ __name((v2) => new Date(v2), "read"), - write: /* @__PURE__ */ __name((v2) => v2.toISOString(), "write") - } -}; -const customStorageEventName = "vueuse-storage"; -function useStorage(key, defaults2, storage, options3 = {}) { - var _a; - const { - flush = "pre", - deep = true, - listenToStorageChanges = true, - writeDefaults = true, - mergeDefaults: mergeDefaults2 = false, - shallow, - window: window2 = defaultWindow, - eventFilter, - onError = /* @__PURE__ */ __name((e) => { - console.error(e); - }, "onError"), - initOnMounted - } = options3; - const data21 = (shallow ? shallowRef : ref)(typeof defaults2 === "function" ? defaults2() : defaults2); - if (!storage) { - try { - storage = getSSRHandler("getDefaultStorage", () => { - var _a2; - return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage; - })(); - } catch (e) { - onError(e); - } - } - if (!storage) - return data21; - const rawInit = toValue(defaults2); - const type = guessSerializerType(rawInit); - const serializer = (_a = options3.serializer) != null ? _a : StorageSerializers[type]; - const { pause: pauseWatch, resume: resumeWatch } = watchPausable( - data21, - () => write(data21.value), - { flush, deep, eventFilter } - ); - if (window2 && listenToStorageChanges) { - tryOnMounted(() => { - if (storage instanceof Storage) - useEventListener(window2, "storage", update); - else - useEventListener(window2, customStorageEventName, updateFromCustomEvent); - if (initOnMounted) - update(); - }); - } - if (!initOnMounted) - update(); - function dispatchWriteEvent(oldValue, newValue) { - if (window2) { - const payload = { - key, - oldValue, - newValue, - storageArea: storage - }; - window2.dispatchEvent(storage instanceof Storage ? new StorageEvent("storage", payload) : new CustomEvent(customStorageEventName, { - detail: payload - })); - } - } - __name(dispatchWriteEvent, "dispatchWriteEvent"); - function write(v2) { - try { - const oldValue = storage.getItem(key); - if (v2 == null) { - dispatchWriteEvent(oldValue, null); - storage.removeItem(key); - } else { - const serialized = serializer.write(v2); - if (oldValue !== serialized) { - storage.setItem(key, serialized); - dispatchWriteEvent(oldValue, serialized); - } - } - } catch (e) { - onError(e); - } - } - __name(write, "write"); - function read(event2) { - const rawValue = event2 ? event2.newValue : storage.getItem(key); - if (rawValue == null) { - if (writeDefaults && rawInit != null) - storage.setItem(key, serializer.write(rawInit)); - return rawInit; - } else if (!event2 && mergeDefaults2) { - const value3 = serializer.read(rawValue); - if (typeof mergeDefaults2 === "function") - return mergeDefaults2(value3, rawInit); - else if (type === "object" && !Array.isArray(value3)) - return { ...rawInit, ...value3 }; - return value3; - } else if (typeof rawValue !== "string") { - return rawValue; - } else { - return serializer.read(rawValue); - } - } - __name(read, "read"); - function update(event2) { - if (event2 && event2.storageArea !== storage) - return; - if (event2 && event2.key == null) { - data21.value = rawInit; - return; - } - if (event2 && event2.key !== key) - return; - pauseWatch(); - try { - if ((event2 == null ? void 0 : event2.newValue) !== serializer.write(data21.value)) - data21.value = read(event2); - } catch (e) { - onError(e); - } finally { - if (event2) - nextTick(resumeWatch); - else - resumeWatch(); - } - } - __name(update, "update"); - function updateFromCustomEvent(event2) { - update(event2.detail); - } - __name(updateFromCustomEvent, "updateFromCustomEvent"); - return data21; -} -__name(useStorage, "useStorage"); -const CSS_DISABLE_TRANS = "*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}"; -function useColorMode(options3 = {}) { - const { - selector = "html", - attribute = "class", - initialValue = "auto", - window: window2 = defaultWindow, - storage, - storageKey = "vueuse-color-scheme", - listenToStorageChanges = true, - storageRef, - emitAuto, - disableTransition = true - } = options3; - const modes = { - auto: "", - light: "light", - dark: "dark", - ...options3.modes || {} - }; - const preferredDark = usePreferredDark({ window: window2 }); - const system = computed(() => preferredDark.value ? "dark" : "light"); - const store = storageRef || (storageKey == null ? toRef(initialValue) : useStorage(storageKey, initialValue, storage, { window: window2, listenToStorageChanges })); - const state = computed(() => store.value === "auto" ? system.value : store.value); - const updateHTMLAttrs = getSSRHandler( - "updateHTMLAttrs", - (selector2, attribute2, value3) => { - const el = typeof selector2 === "string" ? window2 == null ? void 0 : window2.document.querySelector(selector2) : unrefElement(selector2); - if (!el) - return; - const classesToAdd = /* @__PURE__ */ new Set(); - const classesToRemove = /* @__PURE__ */ new Set(); - let attributeToChange = null; - if (attribute2 === "class") { - const current = value3.split(/\s/g); - Object.values(modes).flatMap((i2) => (i2 || "").split(/\s/g)).filter(Boolean).forEach((v2) => { - if (current.includes(v2)) - classesToAdd.add(v2); - else - classesToRemove.add(v2); - }); - } else { - attributeToChange = { key: attribute2, value: value3 }; - } - if (classesToAdd.size === 0 && classesToRemove.size === 0 && attributeToChange === null) - return; - let style; - if (disableTransition) { - style = window2.document.createElement("style"); - style.appendChild(document.createTextNode(CSS_DISABLE_TRANS)); - window2.document.head.appendChild(style); - } - for (const c of classesToAdd) { - el.classList.add(c); - } - for (const c of classesToRemove) { - el.classList.remove(c); - } - if (attributeToChange) { - el.setAttribute(attributeToChange.key, attributeToChange.value); - } - if (disableTransition) { - window2.getComputedStyle(style).opacity; - document.head.removeChild(style); - } - } - ); - function defaultOnChanged(mode2) { - var _a; - updateHTMLAttrs(selector, attribute, (_a = modes[mode2]) != null ? _a : mode2); - } - __name(defaultOnChanged, "defaultOnChanged"); - function onChanged(mode2) { - if (options3.onChanged) - options3.onChanged(mode2, defaultOnChanged); - else - defaultOnChanged(mode2); - } - __name(onChanged, "onChanged"); - watch(state, onChanged, { flush: "post", immediate: true }); - tryOnMounted(() => onChanged(state.value)); - const auto = computed({ - get() { - return emitAuto ? store.value : state.value; - }, - set(v2) { - store.value = v2; - } - }); - try { - return Object.assign(auto, { store, system, state }); - } catch (e) { - return auto; - } -} -__name(useColorMode, "useColorMode"); -function useConfirmDialog(revealed = ref(false)) { - const confirmHook = createEventHook(); - const cancelHook = createEventHook(); - const revealHook = createEventHook(); - let _resolve = noop$1; - const reveal = /* @__PURE__ */ __name((data21) => { - revealHook.trigger(data21); - revealed.value = true; - return new Promise((resolve2) => { - _resolve = resolve2; - }); - }, "reveal"); - const confirm2 = /* @__PURE__ */ __name((data21) => { - revealed.value = false; - confirmHook.trigger(data21); - _resolve({ data: data21, isCanceled: false }); - }, "confirm"); - const cancel = /* @__PURE__ */ __name((data21) => { - revealed.value = false; - cancelHook.trigger(data21); - _resolve({ data: data21, isCanceled: true }); - }, "cancel"); - return { - isRevealed: computed(() => revealed.value), - reveal, - confirm: confirm2, - cancel, - onReveal: revealHook.on, - onConfirm: confirmHook.on, - onCancel: cancelHook.on - }; -} -__name(useConfirmDialog, "useConfirmDialog"); -function useCssVar(prop2, target, options3 = {}) { - const { window: window2 = defaultWindow, initialValue, observe = false } = options3; - const variable = ref(initialValue); - const elRef = computed(() => { - var _a; - return unrefElement(target) || ((_a = window2 == null ? void 0 : window2.document) == null ? void 0 : _a.documentElement); - }); - function updateCssVar() { - var _a; - const key = toValue(prop2); - const el = toValue(elRef); - if (el && window2 && key) { - const value3 = (_a = window2.getComputedStyle(el).getPropertyValue(key)) == null ? void 0 : _a.trim(); - variable.value = value3 || initialValue; - } - } - __name(updateCssVar, "updateCssVar"); - if (observe) { - useMutationObserver(elRef, updateCssVar, { - attributeFilter: ["style", "class"], - window: window2 - }); - } - watch( - [elRef, () => toValue(prop2)], - (_2, old) => { - if (old[0] && old[1]) - old[0].style.removeProperty(old[1]); - updateCssVar(); - }, - { immediate: true } - ); - watch( - variable, - (val) => { - var _a; - const raw_prop = toValue(prop2); - if (((_a = elRef.value) == null ? void 0 : _a.style) && raw_prop) { - if (val == null) - elRef.value.style.removeProperty(raw_prop); - else - elRef.value.style.setProperty(raw_prop, val); - } - } - ); - return variable; -} -__name(useCssVar, "useCssVar"); -function useCurrentElement(rootComponent) { - const vm = getCurrentInstance(); - const currentElement = computedWithControl( - () => null, - () => rootComponent ? unrefElement(rootComponent) : vm.proxy.$el - ); - onUpdated(currentElement.trigger); - onMounted(currentElement.trigger); - return currentElement; -} -__name(useCurrentElement, "useCurrentElement"); -function useCycleList(list, options3) { - const state = shallowRef(getInitialValue()); - const listRef4 = toRef(list); - const index2 = computed({ - get() { - var _a; - const targetList = listRef4.value; - let index22 = (options3 == null ? void 0 : options3.getIndexOf) ? options3.getIndexOf(state.value, targetList) : targetList.indexOf(state.value); - if (index22 < 0) - index22 = (_a = options3 == null ? void 0 : options3.fallbackIndex) != null ? _a : 0; - return index22; - }, - set(v2) { - set2(v2); - } - }); - function set2(i2) { - const targetList = listRef4.value; - const length = targetList.length; - const index22 = (i2 % length + length) % length; - const value3 = targetList[index22]; - state.value = value3; - return value3; - } - __name(set2, "set2"); - function shift(delta2 = 1) { - return set2(index2.value + delta2); - } - __name(shift, "shift"); - function next2(n = 1) { - return shift(n); - } - __name(next2, "next"); - function prev2(n = 1) { - return shift(-n); - } - __name(prev2, "prev"); - function getInitialValue() { - var _a, _b; - return (_b = toValue((_a = options3 == null ? void 0 : options3.initialValue) != null ? _a : toValue(list)[0])) != null ? _b : void 0; - } - __name(getInitialValue, "getInitialValue"); - watch(listRef4, () => set2(index2.value)); - return { - state, - index: index2, - next: next2, - prev: prev2, - go: set2 - }; -} -__name(useCycleList, "useCycleList"); -function useDark(options3 = {}) { - const { - valueDark = "dark", - valueLight = "", - window: window2 = defaultWindow - } = options3; - const mode2 = useColorMode({ - ...options3, - onChanged: /* @__PURE__ */ __name((mode22, defaultHandler) => { - var _a; - if (options3.onChanged) - (_a = options3.onChanged) == null ? void 0 : _a.call(options3, mode22 === "dark", defaultHandler, mode22); - else - defaultHandler(mode22); - }, "onChanged"), - modes: { - dark: valueDark, - light: valueLight - } - }); - const system = computed(() => { - if (mode2.system) { - return mode2.system.value; - } else { - const preferredDark = usePreferredDark({ window: window2 }); - return preferredDark.value ? "dark" : "light"; - } - }); - const isDark = computed({ - get() { - return mode2.value === "dark"; - }, - set(v2) { - const modeVal = v2 ? "dark" : "light"; - if (system.value === modeVal) - mode2.value = "auto"; - else - mode2.value = modeVal; - } - }); - return isDark; -} -__name(useDark, "useDark"); -function fnBypass(v2) { - return v2; -} -__name(fnBypass, "fnBypass"); -function fnSetSource(source, value3) { - return source.value = value3; -} -__name(fnSetSource, "fnSetSource"); -function defaultDump(clone2) { - return clone2 ? typeof clone2 === "function" ? clone2 : cloneFnJSON : fnBypass; -} -__name(defaultDump, "defaultDump"); -function defaultParse(clone2) { - return clone2 ? typeof clone2 === "function" ? clone2 : cloneFnJSON : fnBypass; -} -__name(defaultParse, "defaultParse"); -function useManualRefHistory(source, options3 = {}) { - const { - clone: clone2 = false, - dump = defaultDump(clone2), - parse: parse2 = defaultParse(clone2), - setSource = fnSetSource - } = options3; - function _createHistoryRecord() { - return markRaw({ - snapshot: dump(source.value), - timestamp: timestamp() - }); - } - __name(_createHistoryRecord, "_createHistoryRecord"); - const last = ref(_createHistoryRecord()); - const undoStack = ref([]); - const redoStack = ref([]); - const _setSource = /* @__PURE__ */ __name((record) => { - setSource(source, parse2(record.snapshot)); - last.value = record; - }, "_setSource"); - const commit = /* @__PURE__ */ __name(() => { - undoStack.value.unshift(last.value); - last.value = _createHistoryRecord(); - if (options3.capacity && undoStack.value.length > options3.capacity) - undoStack.value.splice(options3.capacity, Number.POSITIVE_INFINITY); - if (redoStack.value.length) - redoStack.value.splice(0, redoStack.value.length); - }, "commit"); - const clear2 = /* @__PURE__ */ __name(() => { - undoStack.value.splice(0, undoStack.value.length); - redoStack.value.splice(0, redoStack.value.length); - }, "clear"); - const undo = /* @__PURE__ */ __name(() => { - const state = undoStack.value.shift(); - if (state) { - redoStack.value.unshift(last.value); - _setSource(state); - } - }, "undo"); - const redo = /* @__PURE__ */ __name(() => { - const state = redoStack.value.shift(); - if (state) { - undoStack.value.unshift(last.value); - _setSource(state); - } - }, "redo"); - const reset = /* @__PURE__ */ __name(() => { - _setSource(last.value); - }, "reset"); - const history2 = computed(() => [last.value, ...undoStack.value]); - const canUndo = computed(() => undoStack.value.length > 0); - const canRedo = computed(() => redoStack.value.length > 0); - return { - source, - undoStack, - redoStack, - last, - history: history2, - canUndo, - canRedo, - clear: clear2, - commit, - reset, - undo, - redo - }; -} -__name(useManualRefHistory, "useManualRefHistory"); -function useRefHistory(source, options3 = {}) { - const { - deep = false, - flush = "pre", - eventFilter - } = options3; - const { - eventFilter: composedFilter, - pause, - resume: resumeTracking, - isActive: isTracking - } = pausableFilter(eventFilter); - const { - ignoreUpdates, - ignorePrevAsyncUpdates, - stop: stop2 - } = watchIgnorable( - source, - commit, - { deep, flush, eventFilter: composedFilter } - ); - function setSource(source2, value3) { - ignorePrevAsyncUpdates(); - ignoreUpdates(() => { - source2.value = value3; - }); - } - __name(setSource, "setSource"); - const manualHistory = useManualRefHistory(source, { ...options3, clone: options3.clone || deep, setSource }); - const { clear: clear2, commit: manualCommit } = manualHistory; - function commit() { - ignorePrevAsyncUpdates(); - manualCommit(); - } - __name(commit, "commit"); - function resume(commitNow) { - resumeTracking(); - if (commitNow) - commit(); - } - __name(resume, "resume"); - function batch2(fn) { - let canceled = false; - const cancel = /* @__PURE__ */ __name(() => canceled = true, "cancel"); - ignoreUpdates(() => { - fn(cancel); - }); - if (!canceled) - commit(); - } - __name(batch2, "batch"); - function dispose() { - stop2(); - clear2(); - } - __name(dispose, "dispose"); - return { - ...manualHistory, - isTracking, - pause, - resume, - commit, - batch: batch2, - dispose - }; -} -__name(useRefHistory, "useRefHistory"); -function useDebouncedRefHistory(source, options3 = {}) { - const filter4 = options3.debounce ? debounceFilter(options3.debounce) : void 0; - const history2 = useRefHistory(source, { ...options3, eventFilter: filter4 }); - return { - ...history2 - }; -} -__name(useDebouncedRefHistory, "useDebouncedRefHistory"); -function useDeviceMotion(options3 = {}) { - const { - window: window2 = defaultWindow, - eventFilter = bypassFilter - } = options3; - const acceleration = ref({ x: null, y: null, z: null }); - const rotationRate = ref({ alpha: null, beta: null, gamma: null }); - const interval = ref(0); - const accelerationIncludingGravity = ref({ - x: null, - y: null, - z: null - }); - if (window2) { - const onDeviceMotion = createFilterWrapper( - eventFilter, - (event2) => { - acceleration.value = event2.acceleration; - accelerationIncludingGravity.value = event2.accelerationIncludingGravity; - rotationRate.value = event2.rotationRate; - interval.value = event2.interval; - } - ); - useEventListener(window2, "devicemotion", onDeviceMotion); - } - return { - acceleration, - accelerationIncludingGravity, - rotationRate, - interval - }; -} -__name(useDeviceMotion, "useDeviceMotion"); -function useDeviceOrientation(options3 = {}) { - const { window: window2 = defaultWindow } = options3; - const isSupported2 = useSupported(() => window2 && "DeviceOrientationEvent" in window2); - const isAbsolute = ref(false); - const alpha = ref(null); - const beta = ref(null); - const gamma = ref(null); - if (window2 && isSupported2.value) { - useEventListener(window2, "deviceorientation", (event2) => { - isAbsolute.value = event2.absolute; - alpha.value = event2.alpha; - beta.value = event2.beta; - gamma.value = event2.gamma; - }); - } - return { - isSupported: isSupported2, - isAbsolute, - alpha, - beta, - gamma - }; -} -__name(useDeviceOrientation, "useDeviceOrientation"); -function useDevicePixelRatio(options3 = {}) { - const { - window: window2 = defaultWindow - } = options3; - const pixelRatio = ref(1); - if (window2) { - let observe2 = /* @__PURE__ */ __name(function() { - pixelRatio.value = window2.devicePixelRatio; - cleanup2(); - media = window2.matchMedia(`(resolution: ${pixelRatio.value}dppx)`); - media.addEventListener("change", observe2, { once: true }); - }, "observe2"), cleanup2 = /* @__PURE__ */ __name(function() { - media == null ? void 0 : media.removeEventListener("change", observe2); - }, "cleanup2"); - let media; - observe2(); - tryOnScopeDispose(cleanup2); - } - return { pixelRatio }; -} -__name(useDevicePixelRatio, "useDevicePixelRatio"); -function useDevicesList(options3 = {}) { - const { - navigator: navigator2 = defaultNavigator, - requestPermissions = false, - constraints = { audio: true, video: true }, - onUpdated: onUpdated2 - } = options3; - const devices = ref([]); - const videoInputs = computed(() => devices.value.filter((i2) => i2.kind === "videoinput")); - const audioInputs = computed(() => devices.value.filter((i2) => i2.kind === "audioinput")); - const audioOutputs = computed(() => devices.value.filter((i2) => i2.kind === "audiooutput")); - const isSupported2 = useSupported(() => navigator2 && navigator2.mediaDevices && navigator2.mediaDevices.enumerateDevices); - const permissionGranted = ref(false); - let stream; - async function update() { - if (!isSupported2.value) - return; - devices.value = await navigator2.mediaDevices.enumerateDevices(); - onUpdated2 == null ? void 0 : onUpdated2(devices.value); - if (stream) { - stream.getTracks().forEach((t) => t.stop()); - stream = null; - } - } - __name(update, "update"); - async function ensurePermissions() { - if (!isSupported2.value) - return false; - if (permissionGranted.value) - return true; - const { state, query } = usePermission("camera", { controls: true }); - await query(); - if (state.value !== "granted") { - stream = await navigator2.mediaDevices.getUserMedia(constraints); - update(); - permissionGranted.value = true; - } else { - permissionGranted.value = true; - } - return permissionGranted.value; - } - __name(ensurePermissions, "ensurePermissions"); - if (isSupported2.value) { - if (requestPermissions) - ensurePermissions(); - useEventListener(navigator2.mediaDevices, "devicechange", update); - update(); - } - return { - devices, - ensurePermissions, - permissionGranted, - videoInputs, - audioInputs, - audioOutputs, - isSupported: isSupported2 - }; -} -__name(useDevicesList, "useDevicesList"); -function useDisplayMedia(options3 = {}) { - var _a; - const enabled = ref((_a = options3.enabled) != null ? _a : false); - const video = options3.video; - const audio = options3.audio; - const { navigator: navigator2 = defaultNavigator } = options3; - const isSupported2 = useSupported(() => { - var _a2; - return (_a2 = navigator2 == null ? void 0 : navigator2.mediaDevices) == null ? void 0 : _a2.getDisplayMedia; - }); - const constraint = { audio, video }; - const stream = shallowRef(); - async function _start() { - var _a2; - if (!isSupported2.value || stream.value) - return; - stream.value = await navigator2.mediaDevices.getDisplayMedia(constraint); - (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.addEventListener("ended", stop2)); - return stream.value; - } - __name(_start, "_start"); - async function _stop() { - var _a2; - (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.stop()); - stream.value = void 0; - } - __name(_stop, "_stop"); - function stop2() { - _stop(); - enabled.value = false; - } - __name(stop2, "stop"); - async function start2() { - await _start(); - if (stream.value) - enabled.value = true; - return stream.value; - } - __name(start2, "start"); - watch( - enabled, - (v2) => { - if (v2) - _start(); - else - _stop(); - }, - { immediate: true } - ); - return { - isSupported: isSupported2, - stream, - start: start2, - stop: stop2, - enabled - }; -} -__name(useDisplayMedia, "useDisplayMedia"); -function useDocumentVisibility(options3 = {}) { - const { document: document2 = defaultDocument } = options3; - if (!document2) - return ref("visible"); - const visibility = ref(document2.visibilityState); - useEventListener(document2, "visibilitychange", () => { - visibility.value = document2.visibilityState; - }); - return visibility; -} -__name(useDocumentVisibility, "useDocumentVisibility"); -function useDraggable(target, options3 = {}) { - var _a, _b; - const { - pointerTypes, - preventDefault: preventDefault2, - stopPropagation, - exact, - onMove, - onEnd, - onStart, - initialValue, - axis = "both", - draggingElement = defaultWindow, - containerElement, - handle: draggingHandle = target, - buttons = [0] - } = options3; - const position2 = ref( - (_a = toValue(initialValue)) != null ? _a : { x: 0, y: 0 } - ); - const pressedDelta = ref(); - const filterEvent = /* @__PURE__ */ __name((e) => { - if (pointerTypes) - return pointerTypes.includes(e.pointerType); - return true; - }, "filterEvent"); - const handleEvent = /* @__PURE__ */ __name((e) => { - if (toValue(preventDefault2)) - e.preventDefault(); - if (toValue(stopPropagation)) - e.stopPropagation(); - }, "handleEvent"); - const start2 = /* @__PURE__ */ __name((e) => { - var _a2; - if (!toValue(buttons).includes(e.button)) - return; - if (toValue(options3.disabled) || !filterEvent(e)) - return; - if (toValue(exact) && e.target !== toValue(target)) - return; - const container = toValue(containerElement); - const containerRect = (_a2 = container == null ? void 0 : container.getBoundingClientRect) == null ? void 0 : _a2.call(container); - const targetRect = toValue(target).getBoundingClientRect(); - const pos2 = { - x: e.clientX - (container ? targetRect.left - containerRect.left + container.scrollLeft : targetRect.left), - y: e.clientY - (container ? targetRect.top - containerRect.top + container.scrollTop : targetRect.top) - }; - if ((onStart == null ? void 0 : onStart(pos2, e)) === false) - return; - pressedDelta.value = pos2; - handleEvent(e); - }, "start"); - const move = /* @__PURE__ */ __name((e) => { - if (toValue(options3.disabled) || !filterEvent(e)) - return; - if (!pressedDelta.value) - return; - const container = toValue(containerElement); - const targetRect = toValue(target).getBoundingClientRect(); - let { x: x2, y: y2 } = position2.value; - if (axis === "x" || axis === "both") { - x2 = e.clientX - pressedDelta.value.x; - if (container) - x2 = Math.min(Math.max(0, x2), container.scrollWidth - targetRect.width); - } - if (axis === "y" || axis === "both") { - y2 = e.clientY - pressedDelta.value.y; - if (container) - y2 = Math.min(Math.max(0, y2), container.scrollHeight - targetRect.height); - } - position2.value = { - x: x2, - y: y2 - }; - onMove == null ? void 0 : onMove(position2.value, e); - handleEvent(e); - }, "move"); - const end = /* @__PURE__ */ __name((e) => { - if (toValue(options3.disabled) || !filterEvent(e)) - return; - if (!pressedDelta.value) - return; - pressedDelta.value = void 0; - onEnd == null ? void 0 : onEnd(position2.value, e); - handleEvent(e); - }, "end"); - if (isClient) { - const config2 = { capture: (_b = options3.capture) != null ? _b : true }; - useEventListener(draggingHandle, "pointerdown", start2, config2); - useEventListener(draggingElement, "pointermove", move, config2); - useEventListener(draggingElement, "pointerup", end, config2); - } - return { - ...toRefs(position2), - position: position2, - isDragging: computed(() => !!pressedDelta.value), - style: computed( - () => `left:${position2.value.x}px;top:${position2.value.y}px;` - ) - }; -} -__name(useDraggable, "useDraggable"); -function useDropZone(target, options3 = {}) { - var _a, _b; - const isOverDropZone = ref(false); - const files = shallowRef(null); - let counter = 0; - let isValid2 = true; - if (isClient) { - const _options = typeof options3 === "function" ? { onDrop: options3 } : options3; - const multiple = (_a = _options.multiple) != null ? _a : true; - const preventDefaultForUnhandled = (_b = _options.preventDefaultForUnhandled) != null ? _b : false; - const getFiles = /* @__PURE__ */ __name((event2) => { - var _a2, _b2; - const list = Array.from((_b2 = (_a2 = event2.dataTransfer) == null ? void 0 : _a2.files) != null ? _b2 : []); - return list.length === 0 ? null : multiple ? list : [list[0]]; - }, "getFiles"); - const checkDataTypes = /* @__PURE__ */ __name((types) => { - if (_options.dataTypes) { - const dataTypes = unref(_options.dataTypes); - return typeof dataTypes === "function" ? dataTypes(types) : dataTypes ? dataTypes.some((item2) => types.includes(item2)) : true; - } - return true; - }, "checkDataTypes"); - const checkValidity = /* @__PURE__ */ __name((event2) => { - var _a2, _b2; - const items2 = Array.from((_b2 = (_a2 = event2.dataTransfer) == null ? void 0 : _a2.items) != null ? _b2 : []); - const types = items2.filter((item2) => item2.kind === "file").map((item2) => item2.type); - const dataTypesValid = checkDataTypes(types); - const multipleFilesValid = multiple || items2.filter((item2) => item2.kind === "file").length <= 1; - return dataTypesValid && multipleFilesValid; - }, "checkValidity"); - const handleDragEvent = /* @__PURE__ */ __name((event2, eventType) => { - var _a2, _b2, _c, _d; - isValid2 = checkValidity(event2); - if (!isValid2) { - if (preventDefaultForUnhandled) { - event2.preventDefault(); - } - if (event2.dataTransfer) { - event2.dataTransfer.dropEffect = "none"; - } - return; - } - event2.preventDefault(); - if (event2.dataTransfer) { - event2.dataTransfer.dropEffect = "copy"; - } - const currentFiles = getFiles(event2); - switch (eventType) { - case "enter": - counter += 1; - isOverDropZone.value = true; - (_a2 = _options.onEnter) == null ? void 0 : _a2.call(_options, null, event2); - break; - case "over": - (_b2 = _options.onOver) == null ? void 0 : _b2.call(_options, null, event2); - break; - case "leave": - counter -= 1; - if (counter === 0) - isOverDropZone.value = false; - (_c = _options.onLeave) == null ? void 0 : _c.call(_options, null, event2); - break; - case "drop": - counter = 0; - isOverDropZone.value = false; - if (isValid2) { - files.value = currentFiles; - (_d = _options.onDrop) == null ? void 0 : _d.call(_options, currentFiles, event2); - } - break; - } - }, "handleDragEvent"); - useEventListener(target, "dragenter", (event2) => handleDragEvent(event2, "enter")); - useEventListener(target, "dragover", (event2) => handleDragEvent(event2, "over")); - useEventListener(target, "dragleave", (event2) => handleDragEvent(event2, "leave")); - useEventListener(target, "drop", (event2) => handleDragEvent(event2, "drop")); - } - return { - files, - isOverDropZone - }; -} -__name(useDropZone, "useDropZone"); -function useResizeObserver(target, callback, options3 = {}) { - const { window: window2 = defaultWindow, ...observerOptions } = options3; - let observer; - const isSupported2 = useSupported(() => window2 && "ResizeObserver" in window2); - const cleanup = /* @__PURE__ */ __name(() => { - if (observer) { - observer.disconnect(); - observer = void 0; - } - }, "cleanup"); - const targets = computed(() => { - const _targets = toValue(target); - return Array.isArray(_targets) ? _targets.map((el) => unrefElement(el)) : [unrefElement(_targets)]; - }); - const stopWatch = watch( - targets, - (els2) => { - cleanup(); - if (isSupported2.value && window2) { - observer = new ResizeObserver(callback); - for (const _el of els2) { - if (_el) - observer.observe(_el, observerOptions); - } - } - }, - { immediate: true, flush: "post" } - ); - const stop2 = /* @__PURE__ */ __name(() => { - cleanup(); - stopWatch(); - }, "stop"); - tryOnScopeDispose(stop2); - return { - isSupported: isSupported2, - stop: stop2 - }; -} -__name(useResizeObserver, "useResizeObserver"); -function useElementBounding(target, options3 = {}) { - const { - reset = true, - windowResize = true, - windowScroll = true, - immediate = true, - updateTiming = "sync" - } = options3; - const height = ref(0); - const bottom = ref(0); - const left = ref(0); - const right = ref(0); - const top = ref(0); - const width2 = ref(0); - const x2 = ref(0); - const y2 = ref(0); - function recalculate() { - const el = unrefElement(target); - if (!el) { - if (reset) { - height.value = 0; - bottom.value = 0; - left.value = 0; - right.value = 0; - top.value = 0; - width2.value = 0; - x2.value = 0; - y2.value = 0; - } - return; - } - const rect = el.getBoundingClientRect(); - height.value = rect.height; - bottom.value = rect.bottom; - left.value = rect.left; - right.value = rect.right; - top.value = rect.top; - width2.value = rect.width; - x2.value = rect.x; - y2.value = rect.y; - } - __name(recalculate, "recalculate"); - function update() { - if (updateTiming === "sync") - recalculate(); - else if (updateTiming === "next-frame") - requestAnimationFrame(() => recalculate()); - } - __name(update, "update"); - useResizeObserver(target, update); - watch(() => unrefElement(target), (ele) => !ele && update()); - useMutationObserver(target, update, { - attributeFilter: ["style", "class"] - }); - if (windowScroll) - useEventListener("scroll", update, { capture: true, passive: true }); - if (windowResize) - useEventListener("resize", update, { passive: true }); - tryOnMounted(() => { - if (immediate) - update(); - }); - return { - height, - bottom, - left, - right, - top, - width: width2, - x: x2, - y: y2, - update - }; -} -__name(useElementBounding, "useElementBounding"); -function useElementByPoint(options3) { - const { - x: x2, - y: y2, - document: document2 = defaultDocument, - multiple, - interval = "requestAnimationFrame", - immediate = true - } = options3; - const isSupported2 = useSupported(() => { - if (toValue(multiple)) - return document2 && "elementsFromPoint" in document2; - return document2 && "elementFromPoint" in document2; - }); - const element = ref(null); - const cb = /* @__PURE__ */ __name(() => { - var _a, _b; - element.value = toValue(multiple) ? (_a = document2 == null ? void 0 : document2.elementsFromPoint(toValue(x2), toValue(y2))) != null ? _a : [] : (_b = document2 == null ? void 0 : document2.elementFromPoint(toValue(x2), toValue(y2))) != null ? _b : null; - }, "cb"); - const controls = interval === "requestAnimationFrame" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate }); - return { - isSupported: isSupported2, - element, - ...controls - }; -} -__name(useElementByPoint, "useElementByPoint"); -function useElementHover(el, options3 = {}) { - const { - delayEnter = 0, - delayLeave = 0, - window: window2 = defaultWindow - } = options3; - const isHovered = ref(false); - let timer; - const toggle4 = /* @__PURE__ */ __name((entering) => { - const delay = entering ? delayEnter : delayLeave; - if (timer) { - clearTimeout(timer); - timer = void 0; - } - if (delay) - timer = setTimeout(() => isHovered.value = entering, delay); - else - isHovered.value = entering; - }, "toggle"); - if (!window2) - return isHovered; - useEventListener(el, "mouseenter", () => toggle4(true), { passive: true }); - useEventListener(el, "mouseleave", () => toggle4(false), { passive: true }); - return isHovered; -} -__name(useElementHover, "useElementHover"); -function useElementSize(target, initialSize = { width: 0, height: 0 }, options3 = {}) { - const { window: window2 = defaultWindow, box = "content-box" } = options3; - const isSVG = computed(() => { - var _a, _b; - return (_b = (_a = unrefElement(target)) == null ? void 0 : _a.namespaceURI) == null ? void 0 : _b.includes("svg"); - }); - const width2 = ref(initialSize.width); - const height = ref(initialSize.height); - const { stop: stop1 } = useResizeObserver( - target, - ([entry]) => { - const boxSize = box === "border-box" ? entry.borderBoxSize : box === "content-box" ? entry.contentBoxSize : entry.devicePixelContentBoxSize; - if (window2 && isSVG.value) { - const $elem = unrefElement(target); - if ($elem) { - const rect = $elem.getBoundingClientRect(); - width2.value = rect.width; - height.value = rect.height; - } - } else { - if (boxSize) { - const formatBoxSize = Array.isArray(boxSize) ? boxSize : [boxSize]; - width2.value = formatBoxSize.reduce((acc, { inlineSize }) => acc + inlineSize, 0); - height.value = formatBoxSize.reduce((acc, { blockSize }) => acc + blockSize, 0); - } else { - width2.value = entry.contentRect.width; - height.value = entry.contentRect.height; - } - } - }, - options3 - ); - tryOnMounted(() => { - const ele = unrefElement(target); - if (ele) { - width2.value = "offsetWidth" in ele ? ele.offsetWidth : initialSize.width; - height.value = "offsetHeight" in ele ? ele.offsetHeight : initialSize.height; - } - }); - const stop2 = watch( - () => unrefElement(target), - (ele) => { - width2.value = ele ? initialSize.width : 0; - height.value = ele ? initialSize.height : 0; - } - ); - function stop3() { - stop1(); - stop2(); - } - __name(stop3, "stop"); - return { - width: width2, - height, - stop: stop3 - }; -} -__name(useElementSize, "useElementSize"); -function useIntersectionObserver(target, callback, options3 = {}) { - const { - root: root23, - rootMargin = "0px", - threshold = 0, - window: window2 = defaultWindow, - immediate = true - } = options3; - const isSupported2 = useSupported(() => window2 && "IntersectionObserver" in window2); - const targets = computed(() => { - const _target = toValue(target); - return (Array.isArray(_target) ? _target : [_target]).map(unrefElement).filter(notNullish); - }); - let cleanup = noop$1; - const isActive = ref(immediate); - const stopWatch = isSupported2.value ? watch( - () => [targets.value, unrefElement(root23), isActive.value], - ([targets2, root24]) => { - cleanup(); - if (!isActive.value) - return; - if (!targets2.length) - return; - const observer = new IntersectionObserver( - callback, - { - root: unrefElement(root24), - rootMargin, - threshold - } - ); - targets2.forEach((el) => el && observer.observe(el)); - cleanup = /* @__PURE__ */ __name(() => { - observer.disconnect(); - cleanup = noop$1; - }, "cleanup"); - }, - { immediate, flush: "post" } - ) : noop$1; - const stop2 = /* @__PURE__ */ __name(() => { - cleanup(); - stopWatch(); - isActive.value = false; - }, "stop"); - tryOnScopeDispose(stop2); - return { - isSupported: isSupported2, - isActive, - pause() { - cleanup(); - isActive.value = false; - }, - resume() { - isActive.value = true; - }, - stop: stop2 - }; -} -__name(useIntersectionObserver, "useIntersectionObserver"); -function useElementVisibility(element, options3 = {}) { - const { window: window2 = defaultWindow, scrollTarget, threshold = 0 } = options3; - const elementIsVisible = ref(false); - useIntersectionObserver( - element, - (intersectionObserverEntries) => { - let isIntersecting = elementIsVisible.value; - let latestTime = 0; - for (const entry of intersectionObserverEntries) { - if (entry.time >= latestTime) { - latestTime = entry.time; - isIntersecting = entry.isIntersecting; - } - } - elementIsVisible.value = isIntersecting; - }, - { - root: scrollTarget, - window: window2, - threshold - } - ); - return elementIsVisible; -} -__name(useElementVisibility, "useElementVisibility"); -const events = /* @__PURE__ */ new Map(); -function useEventBus(key) { - const scope = getCurrentScope(); - function on(listener) { - var _a; - const listeners = events.get(key) || /* @__PURE__ */ new Set(); - listeners.add(listener); - events.set(key, listeners); - const _off = /* @__PURE__ */ __name(() => off(listener), "_off"); - (_a = scope == null ? void 0 : scope.cleanups) == null ? void 0 : _a.push(_off); - return _off; - } - __name(on, "on"); - function once2(listener) { - function _listener(...args) { - off(_listener); - listener(...args); - } - __name(_listener, "_listener"); - return on(_listener); - } - __name(once2, "once"); - function off(listener) { - const listeners = events.get(key); - if (!listeners) - return; - listeners.delete(listener); - if (!listeners.size) - reset(); - } - __name(off, "off"); - function reset() { - events.delete(key); - } - __name(reset, "reset"); - function emit2(event2, payload) { - var _a; - (_a = events.get(key)) == null ? void 0 : _a.forEach((v2) => v2(event2, payload)); - } - __name(emit2, "emit"); - return { on, once: once2, off, emit: emit2, reset }; -} -__name(useEventBus, "useEventBus"); -function resolveNestedOptions$1(options3) { - if (options3 === true) - return {}; - return options3; -} -__name(resolveNestedOptions$1, "resolveNestedOptions$1"); -function useEventSource(url, events2 = [], options3 = {}) { - const event2 = ref(null); - const data21 = ref(null); - const status = ref("CONNECTING"); - const eventSource = ref(null); - const error = shallowRef(null); - const urlRef = toRef(url); - const lastEventId = shallowRef(null); - let explicitlyClosed = false; - let retried = 0; - const { - withCredentials = false, - immediate = true - } = options3; - const close3 = /* @__PURE__ */ __name(() => { - if (isClient && eventSource.value) { - eventSource.value.close(); - eventSource.value = null; - status.value = "CLOSED"; - explicitlyClosed = true; - } - }, "close"); - const _init = /* @__PURE__ */ __name(() => { - if (explicitlyClosed || typeof urlRef.value === "undefined") - return; - const es = new EventSource(urlRef.value, { withCredentials }); - status.value = "CONNECTING"; - eventSource.value = es; - es.onopen = () => { - status.value = "OPEN"; - error.value = null; - }; - es.onerror = (e) => { - status.value = "CLOSED"; - error.value = e; - if (es.readyState === 2 && !explicitlyClosed && options3.autoReconnect) { - es.close(); - const { - retries = -1, - delay = 1e3, - onFailed - } = resolveNestedOptions$1(options3.autoReconnect); - retried += 1; - if (typeof retries === "number" && (retries < 0 || retried < retries)) - setTimeout(_init, delay); - else if (typeof retries === "function" && retries()) - setTimeout(_init, delay); - else - onFailed == null ? void 0 : onFailed(); - } - }; - es.onmessage = (e) => { - event2.value = null; - data21.value = e.data; - lastEventId.value = e.lastEventId; - }; - for (const event_name of events2) { - useEventListener(es, event_name, (e) => { - event2.value = event_name; - data21.value = e.data || null; - }); - } - }, "_init"); - const open2 = /* @__PURE__ */ __name(() => { - if (!isClient) - return; - close3(); - explicitlyClosed = false; - retried = 0; - _init(); - }, "open"); - if (immediate) - watch(urlRef, open2, { immediate: true }); - tryOnScopeDispose(close3); - return { - eventSource, - event: event2, - data: data21, - status, - error, - open: open2, - close: close3, - lastEventId - }; -} -__name(useEventSource, "useEventSource"); -function useEyeDropper(options3 = {}) { - const { initialValue = "" } = options3; - const isSupported2 = useSupported(() => typeof window !== "undefined" && "EyeDropper" in window); - const sRGBHex = ref(initialValue); - async function open2(openOptions) { - if (!isSupported2.value) - return; - const eyeDropper = new window.EyeDropper(); - const result = await eyeDropper.open(openOptions); - sRGBHex.value = result.sRGBHex; - return result; - } - __name(open2, "open"); - return { isSupported: isSupported2, sRGBHex, open: open2 }; -} -__name(useEyeDropper, "useEyeDropper"); -function useFavicon(newIcon = null, options3 = {}) { - const { - baseUrl = "", - rel = "icon", - document: document2 = defaultDocument - } = options3; - const favicon = toRef(newIcon); - const applyIcon = /* @__PURE__ */ __name((icon2) => { - const elements = document2 == null ? void 0 : document2.head.querySelectorAll(`link[rel*="${rel}"]`); - if (!elements || elements.length === 0) { - const link = document2 == null ? void 0 : document2.createElement("link"); - if (link) { - link.rel = rel; - link.href = `${baseUrl}${icon2}`; - link.type = `image/${icon2.split(".").pop()}`; - document2 == null ? void 0 : document2.head.append(link); - } - return; - } - elements == null ? void 0 : elements.forEach((el) => el.href = `${baseUrl}${icon2}`); - }, "applyIcon"); - watch( - favicon, - (i2, o) => { - if (typeof i2 === "string" && i2 !== o) - applyIcon(i2); - }, - { immediate: true } - ); - return favicon; -} -__name(useFavicon, "useFavicon"); -const payloadMapping = { - json: "application/json", - text: "text/plain" -}; -function isFetchOptions(obj) { - return obj && containsProp(obj, "immediate", "refetch", "initialData", "timeout", "beforeFetch", "afterFetch", "onFetchError", "fetch", "updateDataOnError"); -} -__name(isFetchOptions, "isFetchOptions"); -const reAbsolute = /^(?:[a-z][a-z\d+\-.]*:)?\/\//i; -function isAbsoluteURL(url) { - return reAbsolute.test(url); -} -__name(isAbsoluteURL, "isAbsoluteURL"); -function headersToObject(headers) { - if (typeof Headers !== "undefined" && headers instanceof Headers) - return Object.fromEntries(headers.entries()); - return headers; -} -__name(headersToObject, "headersToObject"); -function combineCallbacks(combination, ...callbacks) { - if (combination === "overwrite") { - return async (ctx) => { - const callback = callbacks[callbacks.length - 1]; - if (callback) - return { ...ctx, ...await callback(ctx) }; - return ctx; - }; - } else { - return async (ctx) => { - for (const callback of callbacks) { - if (callback) - ctx = { ...ctx, ...await callback(ctx) }; - } - return ctx; - }; - } -} -__name(combineCallbacks, "combineCallbacks"); -function createFetch(config2 = {}) { - const _combination = config2.combination || "chain"; - const _options = config2.options || {}; - const _fetchOptions = config2.fetchOptions || {}; - function useFactoryFetch(url, ...args) { - const computedUrl = computed(() => { - const baseUrl = toValue(config2.baseUrl); - const targetUrl = toValue(url); - return baseUrl && !isAbsoluteURL(targetUrl) ? joinPaths(baseUrl, targetUrl) : targetUrl; - }); - let options3 = _options; - let fetchOptions = _fetchOptions; - if (args.length > 0) { - if (isFetchOptions(args[0])) { - options3 = { - ...options3, - ...args[0], - beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[0].beforeFetch), - afterFetch: combineCallbacks(_combination, _options.afterFetch, args[0].afterFetch), - onFetchError: combineCallbacks(_combination, _options.onFetchError, args[0].onFetchError) - }; - } else { - fetchOptions = { - ...fetchOptions, - ...args[0], - headers: { - ...headersToObject(fetchOptions.headers) || {}, - ...headersToObject(args[0].headers) || {} - } - }; - } - } - if (args.length > 1 && isFetchOptions(args[1])) { - options3 = { - ...options3, - ...args[1], - beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[1].beforeFetch), - afterFetch: combineCallbacks(_combination, _options.afterFetch, args[1].afterFetch), - onFetchError: combineCallbacks(_combination, _options.onFetchError, args[1].onFetchError) - }; - } - return useFetch(computedUrl, fetchOptions, options3); - } - __name(useFactoryFetch, "useFactoryFetch"); - return useFactoryFetch; -} -__name(createFetch, "createFetch"); -function useFetch(url, ...args) { - var _a; - const supportsAbort = typeof AbortController === "function"; - let fetchOptions = {}; - let options3 = { - immediate: true, - refetch: false, - timeout: 0, - updateDataOnError: false - }; - const config2 = { - method: "GET", - type: "text", - payload: void 0 - }; - if (args.length > 0) { - if (isFetchOptions(args[0])) - options3 = { ...options3, ...args[0] }; - else - fetchOptions = args[0]; - } - if (args.length > 1) { - if (isFetchOptions(args[1])) - options3 = { ...options3, ...args[1] }; - } - const { - fetch: fetch2 = (_a = defaultWindow) == null ? void 0 : _a.fetch, - initialData, - timeout - } = options3; - const responseEvent = createEventHook(); - const errorEvent = createEventHook(); - const finallyEvent = createEventHook(); - const isFinished = ref(false); - const isFetching = ref(false); - const aborted = ref(false); - const statusCode = ref(null); - const response = shallowRef(null); - const error = shallowRef(null); - const data21 = shallowRef(initialData || null); - const canAbort = computed(() => supportsAbort && isFetching.value); - let controller; - let timer; - const abort = /* @__PURE__ */ __name(() => { - if (supportsAbort) { - controller == null ? void 0 : controller.abort(); - controller = new AbortController(); - controller.signal.onabort = () => aborted.value = true; - fetchOptions = { - ...fetchOptions, - signal: controller.signal - }; - } - }, "abort"); - const loading2 = /* @__PURE__ */ __name((isLoading) => { - isFetching.value = isLoading; - isFinished.value = !isLoading; - }, "loading"); - if (timeout) - timer = useTimeoutFn(abort, timeout, { immediate: false }); - let executeCounter = 0; - const execute = /* @__PURE__ */ __name(async (throwOnFailed = false) => { - var _a2, _b; - abort(); - loading2(true); - error.value = null; - statusCode.value = null; - aborted.value = false; - executeCounter += 1; - const currentExecuteCounter = executeCounter; - const defaultFetchOptions = { - method: config2.method, - headers: {} - }; - if (config2.payload) { - const headers = headersToObject(defaultFetchOptions.headers); - const payload = toValue(config2.payload); - if (!config2.payloadType && payload && Object.getPrototypeOf(payload) === Object.prototype && !(payload instanceof FormData)) - config2.payloadType = "json"; - if (config2.payloadType) - headers["Content-Type"] = (_a2 = payloadMapping[config2.payloadType]) != null ? _a2 : config2.payloadType; - defaultFetchOptions.body = config2.payloadType === "json" ? JSON.stringify(payload) : payload; - } - let isCanceled = false; - const context = { - url: toValue(url), - options: { - ...defaultFetchOptions, - ...fetchOptions - }, - cancel: /* @__PURE__ */ __name(() => { - isCanceled = true; - }, "cancel") - }; - if (options3.beforeFetch) - Object.assign(context, await options3.beforeFetch(context)); - if (isCanceled || !fetch2) { - loading2(false); - return Promise.resolve(null); - } - let responseData = null; - if (timer) - timer.start(); - return fetch2( - context.url, - { - ...defaultFetchOptions, - ...context.options, - headers: { - ...headersToObject(defaultFetchOptions.headers), - ...headersToObject((_b = context.options) == null ? void 0 : _b.headers) - } - } - ).then(async (fetchResponse) => { - response.value = fetchResponse; - statusCode.value = fetchResponse.status; - responseData = await fetchResponse.clone()[config2.type](); - if (!fetchResponse.ok) { - data21.value = initialData || null; - throw new Error(fetchResponse.statusText); - } - if (options3.afterFetch) { - ({ data: responseData } = await options3.afterFetch({ - data: responseData, - response: fetchResponse - })); - } - data21.value = responseData; - responseEvent.trigger(fetchResponse); - return fetchResponse; - }).catch(async (fetchError) => { - let errorData = fetchError.message || fetchError.name; - if (options3.onFetchError) { - ({ error: errorData, data: responseData } = await options3.onFetchError({ - data: responseData, - error: fetchError, - response: response.value - })); - } - error.value = errorData; - if (options3.updateDataOnError) - data21.value = responseData; - errorEvent.trigger(fetchError); - if (throwOnFailed) - throw fetchError; - return null; - }).finally(() => { - if (currentExecuteCounter === executeCounter) - loading2(false); - if (timer) - timer.stop(); - finallyEvent.trigger(null); - }); - }, "execute"); - const refetch = toRef(options3.refetch); - watch( - [ - refetch, - toRef(url) - ], - ([refetch2]) => refetch2 && execute(), - { deep: true } - ); - const shell = { - isFinished: readonly(isFinished), - isFetching: readonly(isFetching), - statusCode, - response, - error, - data: data21, - canAbort, - aborted, - abort, - execute, - onFetchResponse: responseEvent.on, - onFetchError: errorEvent.on, - onFetchFinally: finallyEvent.on, - // method - get: setMethod("GET"), - put: setMethod("PUT"), - post: setMethod("POST"), - delete: setMethod("DELETE"), - patch: setMethod("PATCH"), - head: setMethod("HEAD"), - options: setMethod("OPTIONS"), - // type - json: setType2("json"), - text: setType2("text"), - blob: setType2("blob"), - arrayBuffer: setType2("arrayBuffer"), - formData: setType2("formData") - }; - function setMethod(method) { - return (payload, payloadType) => { - if (!isFetching.value) { - config2.method = method; - config2.payload = payload; - config2.payloadType = payloadType; - if (isRef(config2.payload)) { - watch( - [ - refetch, - toRef(config2.payload) - ], - ([refetch2]) => refetch2 && execute(), - { deep: true } - ); - } - return { - ...shell, - then(onFulfilled, onRejected) { - return waitUntilFinished().then(onFulfilled, onRejected); - } - }; - } - return void 0; - }; - } - __name(setMethod, "setMethod"); - function waitUntilFinished() { - return new Promise((resolve2, reject2) => { - until(isFinished).toBe(true).then(() => resolve2(shell)).catch((error2) => reject2(error2)); - }); - } - __name(waitUntilFinished, "waitUntilFinished"); - function setType2(type) { - return () => { - if (!isFetching.value) { - config2.type = type; - return { - ...shell, - then(onFulfilled, onRejected) { - return waitUntilFinished().then(onFulfilled, onRejected); - } - }; - } - return void 0; - }; - } - __name(setType2, "setType"); - if (options3.immediate) - Promise.resolve().then(() => execute()); - return { - ...shell, - then(onFulfilled, onRejected) { - return waitUntilFinished().then(onFulfilled, onRejected); - } - }; -} -__name(useFetch, "useFetch"); -function joinPaths(start2, end) { - if (!start2.endsWith("/") && !end.startsWith("/")) - return `${start2}/${end}`; - return `${start2}${end}`; -} -__name(joinPaths, "joinPaths"); -const DEFAULT_OPTIONS = { - multiple: true, - accept: "*", - reset: false, - directory: false -}; -function useFileDialog(options3 = {}) { - const { - document: document2 = defaultDocument - } = options3; - const files = ref(null); - const { on: onChange4, trigger: changeTrigger } = createEventHook(); - const { on: onCancel, trigger: cancelTrigger } = createEventHook(); - let input; - if (document2) { - input = document2.createElement("input"); - input.type = "file"; - input.onchange = (event2) => { - const result = event2.target; - files.value = result.files; - changeTrigger(files.value); - }; - input.oncancel = () => { - cancelTrigger(); - }; - } - const reset = /* @__PURE__ */ __name(() => { - files.value = null; - if (input && input.value) { - input.value = ""; - changeTrigger(null); - } - }, "reset"); - const open2 = /* @__PURE__ */ __name((localOptions) => { - if (!input) - return; - const _options = { - ...DEFAULT_OPTIONS, - ...options3, - ...localOptions - }; - input.multiple = _options.multiple; - input.accept = _options.accept; - input.webkitdirectory = _options.directory; - if (hasOwn$2(_options, "capture")) - input.capture = _options.capture; - if (_options.reset) - reset(); - input.click(); - }, "open"); - return { - files: readonly(files), - open: open2, - reset, - onCancel, - onChange: onChange4 - }; -} -__name(useFileDialog, "useFileDialog"); -function useFileSystemAccess(options3 = {}) { - const { - window: _window = defaultWindow, - dataType = "Text" - } = options3; - const window2 = _window; - const isSupported2 = useSupported(() => window2 && "showSaveFilePicker" in window2 && "showOpenFilePicker" in window2); - const fileHandle = ref(); - const data21 = ref(); - const file = ref(); - const fileName = computed(() => { - var _a, _b; - return (_b = (_a = file.value) == null ? void 0 : _a.name) != null ? _b : ""; - }); - const fileMIME = computed(() => { - var _a, _b; - return (_b = (_a = file.value) == null ? void 0 : _a.type) != null ? _b : ""; - }); - const fileSize = computed(() => { - var _a, _b; - return (_b = (_a = file.value) == null ? void 0 : _a.size) != null ? _b : 0; - }); - const fileLastModified = computed(() => { - var _a, _b; - return (_b = (_a = file.value) == null ? void 0 : _a.lastModified) != null ? _b : 0; - }); - async function open2(_options = {}) { - if (!isSupported2.value) - return; - const [handle] = await window2.showOpenFilePicker({ ...toValue(options3), ..._options }); - fileHandle.value = handle; - await updateData(); - } - __name(open2, "open"); - async function create2(_options = {}) { - if (!isSupported2.value) - return; - fileHandle.value = await window2.showSaveFilePicker({ ...options3, ..._options }); - data21.value = void 0; - await updateData(); - } - __name(create2, "create"); - async function save(_options = {}) { - if (!isSupported2.value) - return; - if (!fileHandle.value) - return saveAs2(_options); - if (data21.value) { - const writableStream = await fileHandle.value.createWritable(); - await writableStream.write(data21.value); - await writableStream.close(); - } - await updateFile(); - } - __name(save, "save"); - async function saveAs2(_options = {}) { - if (!isSupported2.value) - return; - fileHandle.value = await window2.showSaveFilePicker({ ...options3, ..._options }); - if (data21.value) { - const writableStream = await fileHandle.value.createWritable(); - await writableStream.write(data21.value); - await writableStream.close(); - } - await updateFile(); - } - __name(saveAs2, "saveAs"); - async function updateFile() { - var _a; - file.value = await ((_a = fileHandle.value) == null ? void 0 : _a.getFile()); - } - __name(updateFile, "updateFile"); - async function updateData() { - var _a, _b; - await updateFile(); - const type = toValue(dataType); - if (type === "Text") - data21.value = await ((_a = file.value) == null ? void 0 : _a.text()); - else if (type === "ArrayBuffer") - data21.value = await ((_b = file.value) == null ? void 0 : _b.arrayBuffer()); - else if (type === "Blob") - data21.value = file.value; - } - __name(updateData, "updateData"); - watch(() => toValue(dataType), updateData); - return { - isSupported: isSupported2, - data: data21, - file, - fileName, - fileMIME, - fileSize, - fileLastModified, - open: open2, - create: create2, - save, - saveAs: saveAs2, - updateData - }; -} -__name(useFileSystemAccess, "useFileSystemAccess"); -function useFocus(target, options3 = {}) { - const { initialValue = false, focusVisible = false, preventScroll = false } = options3; - const innerFocused = ref(false); - const targetElement = computed(() => unrefElement(target)); - useEventListener(targetElement, "focus", (event2) => { - var _a, _b; - if (!focusVisible || ((_b = (_a = event2.target).matches) == null ? void 0 : _b.call(_a, ":focus-visible"))) - innerFocused.value = true; - }); - useEventListener(targetElement, "blur", () => innerFocused.value = false); - const focused = computed({ - get: /* @__PURE__ */ __name(() => innerFocused.value, "get"), - set(value3) { - var _a, _b; - if (!value3 && innerFocused.value) - (_a = targetElement.value) == null ? void 0 : _a.blur(); - else if (value3 && !innerFocused.value) - (_b = targetElement.value) == null ? void 0 : _b.focus({ preventScroll }); - } - }); - watch( - targetElement, - () => { - focused.value = initialValue; - }, - { immediate: true, flush: "post" } - ); - return { focused }; -} -__name(useFocus, "useFocus"); -const EVENT_FOCUS_IN = "focusin"; -const EVENT_FOCUS_OUT = "focusout"; -function useFocusWithin(target, options3 = {}) { - const { window: window2 = defaultWindow } = options3; - const targetElement = computed(() => unrefElement(target)); - const _focused = ref(false); - const focused = computed(() => _focused.value); - const activeElement = useActiveElement(options3); - if (!window2 || !activeElement.value) { - return { focused }; - } - useEventListener(targetElement, EVENT_FOCUS_IN, () => _focused.value = true); - useEventListener(targetElement, EVENT_FOCUS_OUT, () => _focused.value = false); - return { focused }; -} -__name(useFocusWithin, "useFocusWithin"); -function useFps(options3) { - var _a; - const fps = ref(0); - if (typeof performance === "undefined") - return fps; - const every = (_a = options3 == null ? void 0 : options3.every) != null ? _a : 10; - let last = performance.now(); - let ticks = 0; - useRafFn(() => { - ticks += 1; - if (ticks >= every) { - const now2 = performance.now(); - const diff = now2 - last; - fps.value = Math.round(1e3 / (diff / ticks)); - last = now2; - ticks = 0; - } - }); - return fps; -} -__name(useFps, "useFps"); -const eventHandlers = [ - "fullscreenchange", - "webkitfullscreenchange", - "webkitendfullscreen", - "mozfullscreenchange", - "MSFullscreenChange" -]; -function useFullscreen(target, options3 = {}) { - const { - document: document2 = defaultDocument, - autoExit = false - } = options3; - const targetRef = computed(() => { - var _a; - return (_a = unrefElement(target)) != null ? _a : document2 == null ? void 0 : document2.querySelector("html"); - }); - const isFullscreen = ref(false); - const requestMethod = computed(() => { - return [ - "requestFullscreen", - "webkitRequestFullscreen", - "webkitEnterFullscreen", - "webkitEnterFullScreen", - "webkitRequestFullScreen", - "mozRequestFullScreen", - "msRequestFullscreen" - ].find((m) => document2 && m in document2 || targetRef.value && m in targetRef.value); - }); - const exitMethod = computed(() => { - return [ - "exitFullscreen", - "webkitExitFullscreen", - "webkitExitFullScreen", - "webkitCancelFullScreen", - "mozCancelFullScreen", - "msExitFullscreen" - ].find((m) => document2 && m in document2 || targetRef.value && m in targetRef.value); - }); - const fullscreenEnabled = computed(() => { - return [ - "fullScreen", - "webkitIsFullScreen", - "webkitDisplayingFullscreen", - "mozFullScreen", - "msFullscreenElement" - ].find((m) => document2 && m in document2 || targetRef.value && m in targetRef.value); - }); - const fullscreenElementMethod = [ - "fullscreenElement", - "webkitFullscreenElement", - "mozFullScreenElement", - "msFullscreenElement" - ].find((m) => document2 && m in document2); - const isSupported2 = useSupported(() => targetRef.value && document2 && requestMethod.value !== void 0 && exitMethod.value !== void 0 && fullscreenEnabled.value !== void 0); - const isCurrentElementFullScreen = /* @__PURE__ */ __name(() => { - if (fullscreenElementMethod) - return (document2 == null ? void 0 : document2[fullscreenElementMethod]) === targetRef.value; - return false; - }, "isCurrentElementFullScreen"); - const isElementFullScreen = /* @__PURE__ */ __name(() => { - if (fullscreenEnabled.value) { - if (document2 && document2[fullscreenEnabled.value] != null) { - return document2[fullscreenEnabled.value]; - } else { - const target2 = targetRef.value; - if ((target2 == null ? void 0 : target2[fullscreenEnabled.value]) != null) { - return Boolean(target2[fullscreenEnabled.value]); - } - } - } - return false; - }, "isElementFullScreen"); - async function exit() { - if (!isSupported2.value || !isFullscreen.value) - return; - if (exitMethod.value) { - if ((document2 == null ? void 0 : document2[exitMethod.value]) != null) { - await document2[exitMethod.value](); - } else { - const target2 = targetRef.value; - if ((target2 == null ? void 0 : target2[exitMethod.value]) != null) - await target2[exitMethod.value](); - } - } - isFullscreen.value = false; - } - __name(exit, "exit"); - async function enter() { - if (!isSupported2.value || isFullscreen.value) - return; - if (isElementFullScreen()) - await exit(); - const target2 = targetRef.value; - if (requestMethod.value && (target2 == null ? void 0 : target2[requestMethod.value]) != null) { - await target2[requestMethod.value](); - isFullscreen.value = true; - } - } - __name(enter, "enter"); - async function toggle4() { - await (isFullscreen.value ? exit() : enter()); - } - __name(toggle4, "toggle"); - const handlerCallback = /* @__PURE__ */ __name(() => { - const isElementFullScreenValue = isElementFullScreen(); - if (!isElementFullScreenValue || isElementFullScreenValue && isCurrentElementFullScreen()) - isFullscreen.value = isElementFullScreenValue; - }, "handlerCallback"); - useEventListener(document2, eventHandlers, handlerCallback, false); - useEventListener(() => unrefElement(targetRef), eventHandlers, handlerCallback, false); - if (autoExit) - tryOnScopeDispose(exit); - return { - isSupported: isSupported2, - isFullscreen, - enter, - exit, - toggle: toggle4 - }; -} -__name(useFullscreen, "useFullscreen"); -function mapGamepadToXbox360Controller(gamepad) { - return computed(() => { - if (gamepad.value) { - return { - buttons: { - a: gamepad.value.buttons[0], - b: gamepad.value.buttons[1], - x: gamepad.value.buttons[2], - y: gamepad.value.buttons[3] - }, - bumper: { - left: gamepad.value.buttons[4], - right: gamepad.value.buttons[5] - }, - triggers: { - left: gamepad.value.buttons[6], - right: gamepad.value.buttons[7] - }, - stick: { - left: { - horizontal: gamepad.value.axes[0], - vertical: gamepad.value.axes[1], - button: gamepad.value.buttons[10] - }, - right: { - horizontal: gamepad.value.axes[2], - vertical: gamepad.value.axes[3], - button: gamepad.value.buttons[11] - } - }, - dpad: { - up: gamepad.value.buttons[12], - down: gamepad.value.buttons[13], - left: gamepad.value.buttons[14], - right: gamepad.value.buttons[15] - }, - back: gamepad.value.buttons[8], - start: gamepad.value.buttons[9] - }; - } - return null; - }); -} -__name(mapGamepadToXbox360Controller, "mapGamepadToXbox360Controller"); -function useGamepad(options3 = {}) { - const { - navigator: navigator2 = defaultNavigator - } = options3; - const isSupported2 = useSupported(() => navigator2 && "getGamepads" in navigator2); - const gamepads = ref([]); - const onConnectedHook = createEventHook(); - const onDisconnectedHook = createEventHook(); - const stateFromGamepad = /* @__PURE__ */ __name((gamepad) => { - const hapticActuators = []; - const vibrationActuator = "vibrationActuator" in gamepad ? gamepad.vibrationActuator : null; - if (vibrationActuator) - hapticActuators.push(vibrationActuator); - if (gamepad.hapticActuators) - hapticActuators.push(...gamepad.hapticActuators); - return { - id: gamepad.id, - index: gamepad.index, - connected: gamepad.connected, - mapping: gamepad.mapping, - timestamp: gamepad.timestamp, - vibrationActuator: gamepad.vibrationActuator, - hapticActuators, - axes: gamepad.axes.map((axes) => axes), - buttons: gamepad.buttons.map((button) => ({ pressed: button.pressed, touched: button.touched, value: button.value })) - }; - }, "stateFromGamepad"); - const updateGamepadState = /* @__PURE__ */ __name(() => { - const _gamepads = (navigator2 == null ? void 0 : navigator2.getGamepads()) || []; - for (const gamepad of _gamepads) { - if (gamepad && gamepads.value[gamepad.index]) - gamepads.value[gamepad.index] = stateFromGamepad(gamepad); - } - }, "updateGamepadState"); - const { isActive, pause, resume } = useRafFn(updateGamepadState); - const onGamepadConnected = /* @__PURE__ */ __name((gamepad) => { - if (!gamepads.value.some(({ index: index2 }) => index2 === gamepad.index)) { - gamepads.value.push(stateFromGamepad(gamepad)); - onConnectedHook.trigger(gamepad.index); - } - resume(); - }, "onGamepadConnected"); - const onGamepadDisconnected = /* @__PURE__ */ __name((gamepad) => { - gamepads.value = gamepads.value.filter((x2) => x2.index !== gamepad.index); - onDisconnectedHook.trigger(gamepad.index); - }, "onGamepadDisconnected"); - useEventListener("gamepadconnected", (e) => onGamepadConnected(e.gamepad)); - useEventListener("gamepaddisconnected", (e) => onGamepadDisconnected(e.gamepad)); - tryOnMounted(() => { - const _gamepads = (navigator2 == null ? void 0 : navigator2.getGamepads()) || []; - for (const gamepad of _gamepads) { - if (gamepad && gamepads.value[gamepad.index]) - onGamepadConnected(gamepad); - } - }); - pause(); - return { - isSupported: isSupported2, - onConnected: onConnectedHook.on, - onDisconnected: onDisconnectedHook.on, - gamepads, - pause, - resume, - isActive - }; -} -__name(useGamepad, "useGamepad"); -function useGeolocation(options3 = {}) { - const { - enableHighAccuracy = true, - maximumAge = 3e4, - timeout = 27e3, - navigator: navigator2 = defaultNavigator, - immediate = true - } = options3; - const isSupported2 = useSupported(() => navigator2 && "geolocation" in navigator2); - const locatedAt = ref(null); - const error = shallowRef(null); - const coords = ref({ - accuracy: 0, - latitude: Number.POSITIVE_INFINITY, - longitude: Number.POSITIVE_INFINITY, - altitude: null, - altitudeAccuracy: null, - heading: null, - speed: null - }); - function updatePosition(position2) { - locatedAt.value = position2.timestamp; - coords.value = position2.coords; - error.value = null; - } - __name(updatePosition, "updatePosition"); - let watcher; - function resume() { - if (isSupported2.value) { - watcher = navigator2.geolocation.watchPosition( - updatePosition, - (err) => error.value = err, - { - enableHighAccuracy, - maximumAge, - timeout - } - ); - } - } - __name(resume, "resume"); - if (immediate) - resume(); - function pause() { - if (watcher && navigator2) - navigator2.geolocation.clearWatch(watcher); - } - __name(pause, "pause"); - tryOnScopeDispose(() => { - pause(); - }); - return { - isSupported: isSupported2, - coords, - locatedAt, - error, - resume, - pause - }; -} -__name(useGeolocation, "useGeolocation"); -const defaultEvents$1 = ["mousemove", "mousedown", "resize", "keydown", "touchstart", "wheel"]; -const oneMinute = 6e4; -function useIdle(timeout = oneMinute, options3 = {}) { - const { - initialState = false, - listenForVisibilityChange = true, - events: events2 = defaultEvents$1, - window: window2 = defaultWindow, - eventFilter = throttleFilter(50) - } = options3; - const idle = ref(initialState); - const lastActive = ref(timestamp()); - let timer; - const reset = /* @__PURE__ */ __name(() => { - idle.value = false; - clearTimeout(timer); - timer = setTimeout(() => idle.value = true, timeout); - }, "reset"); - const onEvent = createFilterWrapper( - eventFilter, - () => { - lastActive.value = timestamp(); - reset(); - } - ); - if (window2) { - const document2 = window2.document; - for (const event2 of events2) - useEventListener(window2, event2, onEvent, { passive: true }); - if (listenForVisibilityChange) { - useEventListener(document2, "visibilitychange", () => { - if (!document2.hidden) - onEvent(); - }); - } - reset(); - } - return { - idle, - lastActive, - reset - }; -} -__name(useIdle, "useIdle"); -async function loadImage(options3) { - return new Promise((resolve2, reject2) => { - const img = new Image(); - const { src, srcset, sizes, class: clazz, loading: loading2, crossorigin, referrerPolicy } = options3; - img.src = src; - if (srcset) - img.srcset = srcset; - if (sizes) - img.sizes = sizes; - if (clazz) - img.className = clazz; - if (loading2) - img.loading = loading2; - if (crossorigin) - img.crossOrigin = crossorigin; - if (referrerPolicy) - img.referrerPolicy = referrerPolicy; - img.onload = () => resolve2(img); - img.onerror = reject2; - }); -} -__name(loadImage, "loadImage"); -function useImage(options3, asyncStateOptions = {}) { - const state = useAsyncState( - () => loadImage(toValue(options3)), - void 0, - { - resetOnExecute: true, - ...asyncStateOptions - } - ); - watch( - () => toValue(options3), - () => state.execute(asyncStateOptions.delay), - { deep: true } - ); - return state; -} -__name(useImage, "useImage"); -function resolveElement(el) { - if (typeof Window !== "undefined" && el instanceof Window) - return el.document.documentElement; - if (typeof Document !== "undefined" && el instanceof Document) - return el.documentElement; - return el; -} -__name(resolveElement, "resolveElement"); -const ARRIVED_STATE_THRESHOLD_PIXELS = 1; -function useScroll(element, options3 = {}) { - const { - throttle: throttle2 = 0, - idle = 200, - onStop = noop$1, - onScroll: onScroll4 = noop$1, - offset = { - left: 0, - right: 0, - top: 0, - bottom: 0 - }, - eventListenerOptions = { - capture: false, - passive: true - }, - behavior = "auto", - window: window2 = defaultWindow, - onError = /* @__PURE__ */ __name((e) => { - console.error(e); - }, "onError") - } = options3; - const internalX = ref(0); - const internalY = ref(0); - const x2 = computed({ - get() { - return internalX.value; - }, - set(x22) { - scrollTo22(x22, void 0); - } - }); - const y2 = computed({ - get() { - return internalY.value; - }, - set(y22) { - scrollTo22(void 0, y22); - } - }); - function scrollTo22(_x, _y) { - var _a, _b, _c, _d; - if (!window2) - return; - const _element = toValue(element); - if (!_element) - return; - (_c = _element instanceof Document ? window2.document.body : _element) == null ? void 0 : _c.scrollTo({ - top: (_a = toValue(_y)) != null ? _a : y2.value, - left: (_b = toValue(_x)) != null ? _b : x2.value, - behavior: toValue(behavior) - }); - const scrollContainer = ((_d = _element == null ? void 0 : _element.document) == null ? void 0 : _d.documentElement) || (_element == null ? void 0 : _element.documentElement) || _element; - if (x2 != null) - internalX.value = scrollContainer.scrollLeft; - if (y2 != null) - internalY.value = scrollContainer.scrollTop; - } - __name(scrollTo22, "scrollTo2"); - const isScrolling = ref(false); - const arrivedState = reactive({ - left: true, - right: false, - top: true, - bottom: false - }); - const directions = reactive({ - left: false, - right: false, - top: false, - bottom: false - }); - const onScrollEnd = /* @__PURE__ */ __name((e) => { - if (!isScrolling.value) - return; - isScrolling.value = false; - directions.left = false; - directions.right = false; - directions.top = false; - directions.bottom = false; - onStop(e); - }, "onScrollEnd"); - const onScrollEndDebounced = useDebounceFn(onScrollEnd, throttle2 + idle); - const setArrivedState = /* @__PURE__ */ __name((target) => { - var _a; - if (!window2) - return; - const el = ((_a = target == null ? void 0 : target.document) == null ? void 0 : _a.documentElement) || (target == null ? void 0 : target.documentElement) || unrefElement(target); - const { display, flexDirection } = getComputedStyle(el); - const scrollLeft = el.scrollLeft; - directions.left = scrollLeft < internalX.value; - directions.right = scrollLeft > internalX.value; - const left = Math.abs(scrollLeft) <= (offset.left || 0); - const right = Math.abs(scrollLeft) + el.clientWidth >= el.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS; - if (display === "flex" && flexDirection === "row-reverse") { - arrivedState.left = right; - arrivedState.right = left; - } else { - arrivedState.left = left; - arrivedState.right = right; - } - internalX.value = scrollLeft; - let scrollTop2 = el.scrollTop; - if (target === window2.document && !scrollTop2) - scrollTop2 = window2.document.body.scrollTop; - directions.top = scrollTop2 < internalY.value; - directions.bottom = scrollTop2 > internalY.value; - const top = Math.abs(scrollTop2) <= (offset.top || 0); - const bottom = Math.abs(scrollTop2) + el.clientHeight >= el.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS; - if (display === "flex" && flexDirection === "column-reverse") { - arrivedState.top = bottom; - arrivedState.bottom = top; - } else { - arrivedState.top = top; - arrivedState.bottom = bottom; - } - internalY.value = scrollTop2; - }, "setArrivedState"); - const onScrollHandler = /* @__PURE__ */ __name((e) => { - var _a; - if (!window2) - return; - const eventTarget = (_a = e.target.documentElement) != null ? _a : e.target; - setArrivedState(eventTarget); - isScrolling.value = true; - onScrollEndDebounced(e); - onScroll4(e); - }, "onScrollHandler"); - useEventListener( - element, - "scroll", - throttle2 ? useThrottleFn(onScrollHandler, throttle2, true, false) : onScrollHandler, - eventListenerOptions - ); - tryOnMounted(() => { - try { - const _element = toValue(element); - if (!_element) - return; - setArrivedState(_element); - } catch (e) { - onError(e); - } - }); - useEventListener( - element, - "scrollend", - onScrollEnd, - eventListenerOptions - ); - return { - x: x2, - y: y2, - isScrolling, - arrivedState, - directions, - measure() { - const _element = toValue(element); - if (window2 && _element) - setArrivedState(_element); - } - }; -} -__name(useScroll, "useScroll"); -function useInfiniteScroll(element, onLoadMore, options3 = {}) { - var _a; - const { - direction = "bottom", - interval = 100, - canLoadMore = /* @__PURE__ */ __name(() => true, "canLoadMore") - } = options3; - const state = reactive(useScroll( - element, - { - ...options3, - offset: { - [direction]: (_a = options3.distance) != null ? _a : 0, - ...options3.offset - } - } - )); - const promise = ref(); - const isLoading = computed(() => !!promise.value); - const observedElement = computed(() => { - return resolveElement(toValue(element)); - }); - const isElementVisible = useElementVisibility(observedElement); - function checkAndLoad() { - state.measure(); - if (!observedElement.value || !isElementVisible.value || !canLoadMore(observedElement.value)) - return; - const { scrollHeight: scrollHeight2, clientHeight, scrollWidth: scrollWidth2, clientWidth } = observedElement.value; - const isNarrower = direction === "bottom" || direction === "top" ? scrollHeight2 <= clientHeight : scrollWidth2 <= clientWidth; - if (state.arrivedState[direction] || isNarrower) { - if (!promise.value) { - promise.value = Promise.all([ - onLoadMore(state), - new Promise((resolve2) => setTimeout(resolve2, interval)) - ]).finally(() => { - promise.value = null; - nextTick(() => checkAndLoad()); - }); - } - } - } - __name(checkAndLoad, "checkAndLoad"); - const stop2 = watch( - () => [state.arrivedState[direction], isElementVisible.value], - checkAndLoad, - { immediate: true } - ); - tryOnUnmounted(stop2); - return { - isLoading, - reset() { - nextTick(() => checkAndLoad()); - } - }; -} -__name(useInfiniteScroll, "useInfiniteScroll"); -const defaultEvents = ["mousedown", "mouseup", "keydown", "keyup"]; -function useKeyModifier(modifier, options3 = {}) { - const { - events: events2 = defaultEvents, - document: document2 = defaultDocument, - initial = null - } = options3; - const state = ref(initial); - if (document2) { - events2.forEach((listenerEvent) => { - useEventListener(document2, listenerEvent, (evt) => { - if (typeof evt.getModifierState === "function") - state.value = evt.getModifierState(modifier); - }); - }); - } - return state; -} -__name(useKeyModifier, "useKeyModifier"); -function useLocalStorage(key, initialValue, options3 = {}) { - const { window: window2 = defaultWindow } = options3; - return useStorage(key, initialValue, window2 == null ? void 0 : window2.localStorage, options3); -} -__name(useLocalStorage, "useLocalStorage"); -const DefaultMagicKeysAliasMap = { - ctrl: "control", - command: "meta", - cmd: "meta", - option: "alt", - up: "arrowup", - down: "arrowdown", - left: "arrowleft", - right: "arrowright" -}; -function useMagicKeys(options3 = {}) { - const { - reactive: useReactive = false, - target = defaultWindow, - aliasMap = DefaultMagicKeysAliasMap, - passive = true, - onEventFired = noop$1 - } = options3; - const current = reactive(/* @__PURE__ */ new Set()); - const obj = { - toJSON() { - return {}; - }, - current - }; - const refs = useReactive ? reactive(obj) : obj; - const metaDeps = /* @__PURE__ */ new Set(); - const usedKeys = /* @__PURE__ */ new Set(); - function setRefs(key, value3) { - if (key in refs) { - if (useReactive) - refs[key] = value3; - else - refs[key].value = value3; - } - } - __name(setRefs, "setRefs"); - function reset() { - current.clear(); - for (const key of usedKeys) - setRefs(key, false); - } - __name(reset, "reset"); - function updateRefs(e, value3) { - var _a, _b; - const key = (_a = e.key) == null ? void 0 : _a.toLowerCase(); - const code2 = (_b = e.code) == null ? void 0 : _b.toLowerCase(); - const values2 = [code2, key].filter(Boolean); - if (key) { - if (value3) - current.add(key); - else - current.delete(key); - } - for (const key2 of values2) { - usedKeys.add(key2); - setRefs(key2, value3); - } - if (key === "meta" && !value3) { - metaDeps.forEach((key2) => { - current.delete(key2); - setRefs(key2, false); - }); - metaDeps.clear(); - } else if (typeof e.getModifierState === "function" && e.getModifierState("Meta") && value3) { - [...current, ...values2].forEach((key2) => metaDeps.add(key2)); - } - } - __name(updateRefs, "updateRefs"); - useEventListener(target, "keydown", (e) => { - updateRefs(e, true); - return onEventFired(e); - }, { passive }); - useEventListener(target, "keyup", (e) => { - updateRefs(e, false); - return onEventFired(e); - }, { passive }); - useEventListener("blur", reset, { passive: true }); - useEventListener("focus", reset, { passive: true }); - const proxy = new Proxy( - refs, - { - get(target2, prop2, rec) { - if (typeof prop2 !== "string") - return Reflect.get(target2, prop2, rec); - prop2 = prop2.toLowerCase(); - if (prop2 in aliasMap) - prop2 = aliasMap[prop2]; - if (!(prop2 in refs)) { - if (/[+_-]/.test(prop2)) { - const keys2 = prop2.split(/[+_-]/g).map((i2) => i2.trim()); - refs[prop2] = computed(() => keys2.every((key) => toValue(proxy[key]))); - } else { - refs[prop2] = ref(false); - } - } - const r = Reflect.get(target2, prop2, rec); - return useReactive ? toValue(r) : r; - } - } - ); - return proxy; -} -__name(useMagicKeys, "useMagicKeys"); -function usingElRef(source, cb) { - if (toValue(source)) - cb(toValue(source)); -} -__name(usingElRef, "usingElRef"); -function timeRangeToArray(timeRanges) { - let ranges = []; - for (let i2 = 0; i2 < timeRanges.length; ++i2) - ranges = [...ranges, [timeRanges.start(i2), timeRanges.end(i2)]]; - return ranges; -} -__name(timeRangeToArray, "timeRangeToArray"); -function tracksToArray(tracks) { - return Array.from(tracks).map(({ label: label5, kind, language, mode: mode2, activeCues, cues, inBandMetadataTrackDispatchType }, id3) => ({ id: id3, label: label5, kind, language, mode: mode2, activeCues, cues, inBandMetadataTrackDispatchType })); -} -__name(tracksToArray, "tracksToArray"); -const defaultOptions$1 = { - src: "", - tracks: [] -}; -function useMediaControls(target, options3 = {}) { - target = toRef(target); - options3 = { - ...defaultOptions$1, - ...options3 - }; - const { - document: document2 = defaultDocument - } = options3; - const currentTime = ref(0); - const duration = ref(0); - const seeking = ref(false); - const volume = ref(1); - const waiting = ref(false); - const ended = ref(false); - const playing = ref(false); - const rate = ref(1); - const stalled = ref(false); - const buffered = ref([]); - const tracks = ref([]); - const selectedTrack = ref(-1); - const isPictureInPicture = ref(false); - const muted = ref(false); - const supportsPictureInPicture = document2 && "pictureInPictureEnabled" in document2; - const sourceErrorEvent = createEventHook(); - const disableTrack = /* @__PURE__ */ __name((track2) => { - usingElRef(target, (el) => { - if (track2) { - const id3 = typeof track2 === "number" ? track2 : track2.id; - el.textTracks[id3].mode = "disabled"; - } else { - for (let i2 = 0; i2 < el.textTracks.length; ++i2) - el.textTracks[i2].mode = "disabled"; - } - selectedTrack.value = -1; - }); - }, "disableTrack"); - const enableTrack = /* @__PURE__ */ __name((track2, disableTracks = true) => { - usingElRef(target, (el) => { - const id3 = typeof track2 === "number" ? track2 : track2.id; - if (disableTracks) - disableTrack(); - el.textTracks[id3].mode = "showing"; - selectedTrack.value = id3; - }); - }, "enableTrack"); - const togglePictureInPicture = /* @__PURE__ */ __name(() => { - return new Promise((resolve2, reject2) => { - usingElRef(target, async (el) => { - if (supportsPictureInPicture) { - if (!isPictureInPicture.value) { - el.requestPictureInPicture().then(resolve2).catch(reject2); - } else { - document2.exitPictureInPicture().then(resolve2).catch(reject2); - } - } - }); - }); - }, "togglePictureInPicture"); - watchEffect(() => { - if (!document2) - return; - const el = toValue(target); - if (!el) - return; - const src = toValue(options3.src); - let sources = []; - if (!src) - return; - if (typeof src === "string") - sources = [{ src }]; - else if (Array.isArray(src)) - sources = src; - else if (isObject$3(src)) - sources = [src]; - el.querySelectorAll("source").forEach((e) => { - e.removeEventListener("error", sourceErrorEvent.trigger); - e.remove(); - }); - sources.forEach(({ src: src2, type }) => { - const source = document2.createElement("source"); - source.setAttribute("src", src2); - source.setAttribute("type", type || ""); - source.addEventListener("error", sourceErrorEvent.trigger); - el.appendChild(source); - }); - el.load(); - }); - tryOnScopeDispose(() => { - const el = toValue(target); - if (!el) - return; - el.querySelectorAll("source").forEach((e) => e.removeEventListener("error", sourceErrorEvent.trigger)); - }); - watch([target, volume], () => { - const el = toValue(target); - if (!el) - return; - el.volume = volume.value; - }); - watch([target, muted], () => { - const el = toValue(target); - if (!el) - return; - el.muted = muted.value; - }); - watch([target, rate], () => { - const el = toValue(target); - if (!el) - return; - el.playbackRate = rate.value; - }); - watchEffect(() => { - if (!document2) - return; - const textTracks = toValue(options3.tracks); - const el = toValue(target); - if (!textTracks || !textTracks.length || !el) - return; - el.querySelectorAll("track").forEach((e) => e.remove()); - textTracks.forEach(({ default: isDefault, kind, label: label5, src, srcLang }, i2) => { - const track2 = document2.createElement("track"); - track2.default = isDefault || false; - track2.kind = kind; - track2.label = label5; - track2.src = src; - track2.srclang = srcLang; - if (track2.default) - selectedTrack.value = i2; - el.appendChild(track2); - }); - }); - const { ignoreUpdates: ignoreCurrentTimeUpdates } = watchIgnorable(currentTime, (time) => { - const el = toValue(target); - if (!el) - return; - el.currentTime = time; - }); - const { ignoreUpdates: ignorePlayingUpdates } = watchIgnorable(playing, (isPlaying) => { - const el = toValue(target); - if (!el) - return; - if (isPlaying) - el.play(); - else - el.pause(); - }); - useEventListener(target, "timeupdate", () => ignoreCurrentTimeUpdates(() => currentTime.value = toValue(target).currentTime)); - useEventListener(target, "durationchange", () => duration.value = toValue(target).duration); - useEventListener(target, "progress", () => buffered.value = timeRangeToArray(toValue(target).buffered)); - useEventListener(target, "seeking", () => seeking.value = true); - useEventListener(target, "seeked", () => seeking.value = false); - useEventListener(target, ["waiting", "loadstart"], () => { - waiting.value = true; - ignorePlayingUpdates(() => playing.value = false); - }); - useEventListener(target, "loadeddata", () => waiting.value = false); - useEventListener(target, "playing", () => { - waiting.value = false; - ended.value = false; - ignorePlayingUpdates(() => playing.value = true); - }); - useEventListener(target, "ratechange", () => rate.value = toValue(target).playbackRate); - useEventListener(target, "stalled", () => stalled.value = true); - useEventListener(target, "ended", () => ended.value = true); - useEventListener(target, "pause", () => ignorePlayingUpdates(() => playing.value = false)); - useEventListener(target, "play", () => ignorePlayingUpdates(() => playing.value = true)); - useEventListener(target, "enterpictureinpicture", () => isPictureInPicture.value = true); - useEventListener(target, "leavepictureinpicture", () => isPictureInPicture.value = false); - useEventListener(target, "volumechange", () => { - const el = toValue(target); - if (!el) - return; - volume.value = el.volume; - muted.value = el.muted; - }); - const listeners = []; - const stop2 = watch([target], () => { - const el = toValue(target); - if (!el) - return; - stop2(); - listeners[0] = useEventListener(el.textTracks, "addtrack", () => tracks.value = tracksToArray(el.textTracks)); - listeners[1] = useEventListener(el.textTracks, "removetrack", () => tracks.value = tracksToArray(el.textTracks)); - listeners[2] = useEventListener(el.textTracks, "change", () => tracks.value = tracksToArray(el.textTracks)); - }); - tryOnScopeDispose(() => listeners.forEach((listener) => listener())); - return { - currentTime, - duration, - waiting, - seeking, - ended, - stalled, - buffered, - playing, - rate, - // Volume - volume, - muted, - // Tracks - tracks, - selectedTrack, - enableTrack, - disableTrack, - // Picture in Picture - supportsPictureInPicture, - togglePictureInPicture, - isPictureInPicture, - // Events - onSourceError: sourceErrorEvent.on - }; -} -__name(useMediaControls, "useMediaControls"); -function getMapVue2Compat() { - const data21 = shallowReactive({}); - return { - get: /* @__PURE__ */ __name((key) => data21[key], "get"), - set: /* @__PURE__ */ __name((key, value3) => set$1(data21, key, value3), "set"), - has: /* @__PURE__ */ __name((key) => hasOwn$2(data21, key), "has"), - delete: /* @__PURE__ */ __name((key) => del(data21, key), "delete"), - clear: /* @__PURE__ */ __name(() => { - Object.keys(data21).forEach((key) => { - del(data21, key); - }); - }, "clear") - }; -} -__name(getMapVue2Compat, "getMapVue2Compat"); -function useMemoize(resolver, options3) { - const initCache = /* @__PURE__ */ __name(() => { - if (options3 == null ? void 0 : options3.cache) - return shallowReactive(options3.cache); - if (isVue2) - return getMapVue2Compat(); - return shallowReactive(/* @__PURE__ */ new Map()); - }, "initCache"); - const cache2 = initCache(); - const generateKey = /* @__PURE__ */ __name((...args) => (options3 == null ? void 0 : options3.getKey) ? options3.getKey(...args) : JSON.stringify(args), "generateKey"); - const _loadData = /* @__PURE__ */ __name((key, ...args) => { - cache2.set(key, resolver(...args)); - return cache2.get(key); - }, "_loadData"); - const loadData = /* @__PURE__ */ __name((...args) => _loadData(generateKey(...args), ...args), "loadData"); - const deleteData = /* @__PURE__ */ __name((...args) => { - cache2.delete(generateKey(...args)); - }, "deleteData"); - const clearData = /* @__PURE__ */ __name(() => { - cache2.clear(); - }, "clearData"); - const memoized = /* @__PURE__ */ __name((...args) => { - const key = generateKey(...args); - if (cache2.has(key)) - return cache2.get(key); - return _loadData(key, ...args); - }, "memoized"); - memoized.load = loadData; - memoized.delete = deleteData; - memoized.clear = clearData; - memoized.generateKey = generateKey; - memoized.cache = cache2; - return memoized; -} -__name(useMemoize, "useMemoize"); -function useMemory(options3 = {}) { - const memory = ref(); - const isSupported2 = useSupported(() => typeof performance !== "undefined" && "memory" in performance); - if (isSupported2.value) { - const { interval = 1e3 } = options3; - useIntervalFn(() => { - memory.value = performance.memory; - }, interval, { immediate: options3.immediate, immediateCallback: options3.immediateCallback }); - } - return { isSupported: isSupported2, memory }; -} -__name(useMemory, "useMemory"); -const UseMouseBuiltinExtractors = { - page: /* @__PURE__ */ __name((event2) => [event2.pageX, event2.pageY], "page"), - client: /* @__PURE__ */ __name((event2) => [event2.clientX, event2.clientY], "client"), - screen: /* @__PURE__ */ __name((event2) => [event2.screenX, event2.screenY], "screen"), - movement: /* @__PURE__ */ __name((event2) => event2 instanceof Touch ? null : [event2.movementX, event2.movementY], "movement") -}; -function useMouse(options3 = {}) { - const { - type = "page", - touch = true, - resetOnTouchEnds = false, - initialValue = { x: 0, y: 0 }, - window: window2 = defaultWindow, - target = window2, - scroll = true, - eventFilter - } = options3; - let _prevMouseEvent = null; - const x2 = ref(initialValue.x); - const y2 = ref(initialValue.y); - const sourceType = ref(null); - const extractor = typeof type === "function" ? type : UseMouseBuiltinExtractors[type]; - const mouseHandler = /* @__PURE__ */ __name((event2) => { - const result = extractor(event2); - _prevMouseEvent = event2; - if (result) { - [x2.value, y2.value] = result; - sourceType.value = "mouse"; - } - }, "mouseHandler"); - const touchHandler = /* @__PURE__ */ __name((event2) => { - if (event2.touches.length > 0) { - const result = extractor(event2.touches[0]); - if (result) { - [x2.value, y2.value] = result; - sourceType.value = "touch"; - } - } - }, "touchHandler"); - 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; - } - }, "scrollHandler"); - const reset = /* @__PURE__ */ __name(() => { - x2.value = initialValue.x; - y2.value = initialValue.y; - }, "reset"); - const mouseHandlerWrapper = eventFilter ? (event2) => eventFilter(() => mouseHandler(event2), {}) : (event2) => mouseHandler(event2); - const touchHandlerWrapper = eventFilter ? (event2) => eventFilter(() => touchHandler(event2), {}) : (event2) => touchHandler(event2); - const scrollHandlerWrapper = eventFilter ? () => eventFilter(() => scrollHandler(), {}) : () => scrollHandler(); - if (target) { - const listenerOptions = { passive: true }; - useEventListener(target, ["mousemove", "dragover"], mouseHandlerWrapper, listenerOptions); - if (touch && type !== "movement") { - useEventListener(target, ["touchstart", "touchmove"], touchHandlerWrapper, listenerOptions); - if (resetOnTouchEnds) - useEventListener(target, "touchend", reset, listenerOptions); - } - if (scroll && type === "page") - useEventListener(window2, "scroll", scrollHandlerWrapper, { passive: true }); - } - return { - x: x2, - y: y2, - sourceType - }; -} -__name(useMouse, "useMouse"); -function useMouseInElement(target, options3 = {}) { - const { - handleOutside = true, - window: window2 = defaultWindow - } = options3; - const type = options3.type || "page"; - const { x: x2, y: y2, sourceType } = useMouse(options3); - const targetRef = ref(target != null ? target : window2 == null ? void 0 : window2.document.body); - const elementX = ref(0); - const elementY = ref(0); - const elementPositionX = ref(0); - const elementPositionY = ref(0); - const elementHeight = ref(0); - const elementWidth = ref(0); - const isOutside = ref(true); - let stop2 = /* @__PURE__ */ __name(() => { - }, "stop"); - if (window2) { - stop2 = watch( - [targetRef, x2, y2], - () => { - const el = unrefElement(targetRef); - if (!el || !(el instanceof Element)) - return; - const { - left, - top, - width: width2, - height - } = el.getBoundingClientRect(); - elementPositionX.value = left + (type === "page" ? window2.pageXOffset : 0); - elementPositionY.value = top + (type === "page" ? window2.pageYOffset : 0); - elementHeight.value = height; - elementWidth.value = width2; - const elX = x2.value - elementPositionX.value; - const elY = y2.value - elementPositionY.value; - isOutside.value = width2 === 0 || height === 0 || elX < 0 || elY < 0 || elX > width2 || elY > height; - if (handleOutside || !isOutside.value) { - elementX.value = elX; - elementY.value = elY; - } - }, - { immediate: true } - ); - useEventListener(document, "mouseleave", () => { - isOutside.value = true; - }); - } - return { - x: x2, - y: y2, - sourceType, - elementX, - elementY, - elementPositionX, - elementPositionY, - elementHeight, - elementWidth, - isOutside, - stop: stop2 - }; -} -__name(useMouseInElement, "useMouseInElement"); -function useMousePressed(options3 = {}) { - const { - touch = true, - drag = true, - capture = false, - initialValue = false, - window: window2 = defaultWindow - } = options3; - const pressed = ref(initialValue); - const sourceType = ref(null); - if (!window2) { - return { - pressed, - sourceType - }; - } - const onPressed = /* @__PURE__ */ __name((srcType) => () => { - pressed.value = true; - sourceType.value = srcType; - }, "onPressed"); - const onReleased = /* @__PURE__ */ __name(() => { - pressed.value = false; - sourceType.value = null; - }, "onReleased"); - const target = computed(() => unrefElement(options3.target) || window2); - useEventListener(target, "mousedown", onPressed("mouse"), { passive: true, capture }); - useEventListener(window2, "mouseleave", onReleased, { passive: true, capture }); - useEventListener(window2, "mouseup", onReleased, { passive: true, capture }); - if (drag) { - useEventListener(target, "dragstart", onPressed("mouse"), { passive: true, capture }); - useEventListener(window2, "drop", onReleased, { passive: true, capture }); - useEventListener(window2, "dragend", onReleased, { passive: true, capture }); - } - if (touch) { - useEventListener(target, "touchstart", onPressed("touch"), { passive: true, capture }); - useEventListener(window2, "touchend", onReleased, { passive: true, capture }); - useEventListener(window2, "touchcancel", onReleased, { passive: true, capture }); - } - return { - pressed, - sourceType - }; -} -__name(useMousePressed, "useMousePressed"); -function useNavigatorLanguage(options3 = {}) { - const { window: window2 = defaultWindow } = options3; - const navigator2 = window2 == null ? void 0 : window2.navigator; - const isSupported2 = useSupported(() => navigator2 && "language" in navigator2); - const language = ref(navigator2 == null ? void 0 : navigator2.language); - useEventListener(window2, "languagechange", () => { - if (navigator2) - language.value = navigator2.language; - }); - return { - isSupported: isSupported2, - language - }; -} -__name(useNavigatorLanguage, "useNavigatorLanguage"); -function useNetwork(options3 = {}) { - const { window: window2 = defaultWindow } = options3; - const navigator2 = window2 == null ? void 0 : window2.navigator; - const isSupported2 = useSupported(() => navigator2 && "connection" in navigator2); - const isOnline = ref(true); - const saveData = ref(false); - const offlineAt = ref(void 0); - const onlineAt = ref(void 0); - const downlink = ref(void 0); - const downlinkMax = ref(void 0); - const rtt = ref(void 0); - const effectiveType = ref(void 0); - const type = ref("unknown"); - const connection = isSupported2.value && navigator2.connection; - function updateNetworkInformation() { - if (!navigator2) - return; - isOnline.value = navigator2.onLine; - offlineAt.value = isOnline.value ? void 0 : Date.now(); - onlineAt.value = isOnline.value ? Date.now() : void 0; - if (connection) { - downlink.value = connection.downlink; - downlinkMax.value = connection.downlinkMax; - effectiveType.value = connection.effectiveType; - rtt.value = connection.rtt; - saveData.value = connection.saveData; - type.value = connection.type; - } - } - __name(updateNetworkInformation, "updateNetworkInformation"); - if (window2) { - useEventListener(window2, "offline", () => { - isOnline.value = false; - offlineAt.value = Date.now(); - }); - useEventListener(window2, "online", () => { - isOnline.value = true; - onlineAt.value = Date.now(); - }); - } - if (connection) - useEventListener(connection, "change", updateNetworkInformation, false); - updateNetworkInformation(); - return { - isSupported: readonly(isSupported2), - isOnline: readonly(isOnline), - saveData: readonly(saveData), - offlineAt: readonly(offlineAt), - onlineAt: readonly(onlineAt), - downlink: readonly(downlink), - downlinkMax: readonly(downlinkMax), - effectiveType: readonly(effectiveType), - rtt: readonly(rtt), - type: readonly(type) - }; -} -__name(useNetwork, "useNetwork"); -function useNow(options3 = {}) { - const { - controls: exposeControls = false, - interval = "requestAnimationFrame" - } = options3; - const now2 = ref(/* @__PURE__ */ new Date()); - const update = /* @__PURE__ */ __name(() => now2.value = /* @__PURE__ */ new Date(), "update"); - const controls = interval === "requestAnimationFrame" ? useRafFn(update, { immediate: true }) : useIntervalFn(update, interval, { immediate: true }); - if (exposeControls) { - return { - now: now2, - ...controls - }; - } else { - return now2; - } -} -__name(useNow, "useNow"); -function useObjectUrl(object) { - const url = ref(); - const release = /* @__PURE__ */ __name(() => { - if (url.value) - URL.revokeObjectURL(url.value); - url.value = void 0; - }, "release"); - watch( - () => toValue(object), - (newObject) => { - release(); - if (newObject) - url.value = URL.createObjectURL(newObject); - }, - { immediate: true } - ); - tryOnScopeDispose(release); - return readonly(url); -} -__name(useObjectUrl, "useObjectUrl"); -function useClamp(value3, min, max) { - if (typeof value3 === "function" || isReadonly(value3)) - return computed(() => clamp$1(toValue(value3), toValue(min), toValue(max))); - const _value = ref(value3); - return computed({ - get() { - return _value.value = clamp$1(_value.value, toValue(min), toValue(max)); - }, - set(value22) { - _value.value = clamp$1(value22, toValue(min), toValue(max)); - } - }); -} -__name(useClamp, "useClamp"); -function useOffsetPagination(options3) { - const { - total = Number.POSITIVE_INFINITY, - pageSize = 10, - page = 1, - onPageChange = noop$1, - onPageSizeChange = noop$1, - onPageCountChange = noop$1 - } = options3; - const currentPageSize = useClamp(pageSize, 1, Number.POSITIVE_INFINITY); - const pageCount = computed(() => Math.max( - 1, - Math.ceil(toValue(total) / toValue(currentPageSize)) - )); - const currentPage = useClamp(page, 1, pageCount); - const isFirstPage = computed(() => currentPage.value === 1); - const isLastPage = computed(() => currentPage.value === pageCount.value); - if (isRef(page)) { - syncRef(page, currentPage, { - direction: isReadonly(page) ? "ltr" : "both" - }); - } - if (isRef(pageSize)) { - syncRef(pageSize, currentPageSize, { - direction: isReadonly(pageSize) ? "ltr" : "both" - }); - } - function prev2() { - currentPage.value--; - } - __name(prev2, "prev"); - function next2() { - currentPage.value++; - } - __name(next2, "next"); - const returnValue = { - currentPage, - currentPageSize, - pageCount, - isFirstPage, - isLastPage, - prev: prev2, - next: next2 - }; - watch(currentPage, () => { - onPageChange(reactive(returnValue)); - }); - watch(currentPageSize, () => { - onPageSizeChange(reactive(returnValue)); - }); - watch(pageCount, () => { - onPageCountChange(reactive(returnValue)); - }); - return returnValue; -} -__name(useOffsetPagination, "useOffsetPagination"); -function useOnline(options3 = {}) { - const { isOnline } = useNetwork(options3); - return isOnline; -} -__name(useOnline, "useOnline"); -function usePageLeave(options3 = {}) { - const { window: window2 = defaultWindow } = options3; - const isLeft = ref(false); - const handler6 = /* @__PURE__ */ __name((event2) => { - if (!window2) - return; - event2 = event2 || window2.event; - const from = event2.relatedTarget || event2.toElement; - isLeft.value = !from; - }, "handler"); - if (window2) { - useEventListener(window2, "mouseout", handler6, { passive: true }); - useEventListener(window2.document, "mouseleave", handler6, { passive: true }); - useEventListener(window2.document, "mouseenter", handler6, { passive: true }); - } - return isLeft; -} -__name(usePageLeave, "usePageLeave"); -function useScreenOrientation(options3 = {}) { - const { - window: window2 = defaultWindow - } = options3; - const isSupported2 = useSupported(() => window2 && "screen" in window2 && "orientation" in window2.screen); - const screenOrientation = isSupported2.value ? window2.screen.orientation : {}; - const orientation2 = ref(screenOrientation.type); - const angle = ref(screenOrientation.angle || 0); - if (isSupported2.value) { - useEventListener(window2, "orientationchange", () => { - orientation2.value = screenOrientation.type; - angle.value = screenOrientation.angle; - }); - } - const lockOrientation = /* @__PURE__ */ __name((type) => { - if (isSupported2.value && typeof screenOrientation.lock === "function") - return screenOrientation.lock(type); - return Promise.reject(new Error("Not supported")); - }, "lockOrientation"); - const unlockOrientation = /* @__PURE__ */ __name(() => { - if (isSupported2.value && typeof screenOrientation.unlock === "function") - screenOrientation.unlock(); - }, "unlockOrientation"); - return { - isSupported: isSupported2, - orientation: orientation2, - angle, - lockOrientation, - unlockOrientation - }; -} -__name(useScreenOrientation, "useScreenOrientation"); -function useParallax(target, options3 = {}) { - const { - deviceOrientationTiltAdjust = /* @__PURE__ */ __name((i2) => i2, "deviceOrientationTiltAdjust"), - deviceOrientationRollAdjust = /* @__PURE__ */ __name((i2) => i2, "deviceOrientationRollAdjust"), - mouseTiltAdjust = /* @__PURE__ */ __name((i2) => i2, "mouseTiltAdjust"), - mouseRollAdjust = /* @__PURE__ */ __name((i2) => i2, "mouseRollAdjust"), - window: window2 = defaultWindow - } = options3; - const orientation2 = reactive(useDeviceOrientation({ window: window2 })); - const screenOrientation = reactive(useScreenOrientation({ window: window2 })); - const { - elementX: x2, - elementY: y2, - elementWidth: width2, - elementHeight: height - } = useMouseInElement(target, { handleOutside: false, window: window2 }); - const source = computed(() => { - if (orientation2.isSupported && (orientation2.alpha != null && orientation2.alpha !== 0 || orientation2.gamma != null && orientation2.gamma !== 0)) { - return "deviceOrientation"; - } - return "mouse"; - }); - const roll = computed(() => { - if (source.value === "deviceOrientation") { - let value3; - switch (screenOrientation.orientation) { - case "landscape-primary": - value3 = orientation2.gamma / 90; - break; - case "landscape-secondary": - value3 = -orientation2.gamma / 90; - break; - case "portrait-primary": - value3 = -orientation2.beta / 90; - break; - case "portrait-secondary": - value3 = orientation2.beta / 90; - break; - default: - value3 = -orientation2.beta / 90; - } - return deviceOrientationRollAdjust(value3); - } else { - const value3 = -(y2.value - height.value / 2) / height.value; - return mouseRollAdjust(value3); - } - }); - const tilt = computed(() => { - if (source.value === "deviceOrientation") { - let value3; - switch (screenOrientation.orientation) { - case "landscape-primary": - value3 = orientation2.beta / 90; - break; - case "landscape-secondary": - value3 = -orientation2.beta / 90; - break; - case "portrait-primary": - value3 = orientation2.gamma / 90; - break; - case "portrait-secondary": - value3 = -orientation2.gamma / 90; - break; - default: - value3 = orientation2.gamma / 90; - } - return deviceOrientationTiltAdjust(value3); - } else { - const value3 = (x2.value - width2.value / 2) / width2.value; - return mouseTiltAdjust(value3); - } - }); - return { roll, tilt, source }; -} -__name(useParallax, "useParallax"); -function useParentElement(element = useCurrentElement()) { - const parentElement = shallowRef(); - const update = /* @__PURE__ */ __name(() => { - const el = unrefElement(element); - if (el) - parentElement.value = el.parentElement; - }, "update"); - tryOnMounted(update); - watch(() => toValue(element), update); - return parentElement; -} -__name(useParentElement, "useParentElement"); -function usePerformanceObserver(options3, callback) { - const { - window: window2 = defaultWindow, - immediate = true, - ...performanceOptions - } = options3; - const isSupported2 = useSupported(() => window2 && "PerformanceObserver" in window2); - let observer; - const stop2 = /* @__PURE__ */ __name(() => { - observer == null ? void 0 : observer.disconnect(); - }, "stop"); - const start2 = /* @__PURE__ */ __name(() => { - if (isSupported2.value) { - stop2(); - observer = new PerformanceObserver(callback); - observer.observe(performanceOptions); - } - }, "start"); - tryOnScopeDispose(stop2); - if (immediate) - start2(); - return { - isSupported: isSupported2, - start: start2, - stop: stop2 - }; -} -__name(usePerformanceObserver, "usePerformanceObserver"); -const defaultState = { - x: 0, - y: 0, - pointerId: 0, - pressure: 0, - tiltX: 0, - tiltY: 0, - width: 0, - height: 0, - twist: 0, - pointerType: null -}; -const keys = /* @__PURE__ */ Object.keys(defaultState); -function usePointer(options3 = {}) { - const { - target = defaultWindow - } = options3; - const isInside = ref(false); - const state = ref(options3.initialValue || {}); - Object.assign(state.value, defaultState, state.value); - const handler6 = /* @__PURE__ */ __name((event2) => { - isInside.value = true; - if (options3.pointerTypes && !options3.pointerTypes.includes(event2.pointerType)) - return; - state.value = objectPick(event2, keys, false); - }, "handler"); - if (target) { - const listenerOptions = { passive: true }; - useEventListener(target, ["pointerdown", "pointermove", "pointerup"], handler6, listenerOptions); - useEventListener(target, "pointerleave", () => isInside.value = false, listenerOptions); - } - return { - ...toRefs(state), - isInside - }; -} -__name(usePointer, "usePointer"); -function usePointerLock(target, options3 = {}) { - const { document: document2 = defaultDocument } = options3; - const isSupported2 = useSupported(() => document2 && "pointerLockElement" in document2); - const element = ref(); - const triggerElement = ref(); - let targetElement; - if (isSupported2.value) { - useEventListener(document2, "pointerlockchange", () => { - var _a; - const currentElement = (_a = document2.pointerLockElement) != null ? _a : element.value; - if (targetElement && currentElement === targetElement) { - element.value = document2.pointerLockElement; - if (!element.value) - targetElement = triggerElement.value = null; - } - }); - useEventListener(document2, "pointerlockerror", () => { - var _a; - const currentElement = (_a = document2.pointerLockElement) != null ? _a : element.value; - if (targetElement && currentElement === targetElement) { - const action = document2.pointerLockElement ? "release" : "acquire"; - throw new Error(`Failed to ${action} pointer lock.`); - } - }); - } - async function lock(e) { - var _a; - if (!isSupported2.value) - throw new Error("Pointer Lock API is not supported by your browser."); - triggerElement.value = e instanceof Event ? e.currentTarget : null; - targetElement = e instanceof Event ? (_a = unrefElement(target)) != null ? _a : triggerElement.value : unrefElement(e); - if (!targetElement) - throw new Error("Target element undefined."); - targetElement.requestPointerLock(); - return await until(element).toBe(targetElement); - } - __name(lock, "lock"); - async function unlock() { - if (!element.value) - return false; - document2.exitPointerLock(); - await until(element).toBeNull(); - return true; - } - __name(unlock, "unlock"); - return { - isSupported: isSupported2, - element, - triggerElement, - lock, - unlock - }; -} -__name(usePointerLock, "usePointerLock"); -function usePointerSwipe(target, options3 = {}) { - const targetRef = toRef(target); - const { - threshold = 50, - onSwipe, - onSwipeEnd, - onSwipeStart, - disableTextSelect = false - } = options3; - const posStart = reactive({ x: 0, y: 0 }); - const updatePosStart = /* @__PURE__ */ __name((x2, y2) => { - posStart.x = x2; - posStart.y = y2; - }, "updatePosStart"); - const posEnd = reactive({ x: 0, y: 0 }); - const updatePosEnd = /* @__PURE__ */ __name((x2, y2) => { - posEnd.x = x2; - posEnd.y = y2; - }, "updatePosEnd"); - const distanceX = computed(() => posStart.x - posEnd.x); - const distanceY = computed(() => posStart.y - posEnd.y); - const { max, abs } = Math; - const isThresholdExceeded = computed(() => max(abs(distanceX.value), abs(distanceY.value)) >= threshold); - const isSwiping = ref(false); - const isPointerDown = ref(false); - const direction = computed(() => { - if (!isThresholdExceeded.value) - return "none"; - if (abs(distanceX.value) > abs(distanceY.value)) { - return distanceX.value > 0 ? "left" : "right"; - } else { - return distanceY.value > 0 ? "up" : "down"; - } - }); - const eventIsAllowed = /* @__PURE__ */ __name((e) => { - var _a, _b, _c; - const isReleasingButton = e.buttons === 0; - const isPrimaryButton = e.buttons === 1; - return (_c = (_b = (_a = options3.pointerTypes) == null ? void 0 : _a.includes(e.pointerType)) != null ? _b : isReleasingButton || isPrimaryButton) != null ? _c : true; - }, "eventIsAllowed"); - const stops = [ - useEventListener(target, "pointerdown", (e) => { - if (!eventIsAllowed(e)) - return; - isPointerDown.value = true; - const eventTarget = e.target; - eventTarget == null ? void 0 : eventTarget.setPointerCapture(e.pointerId); - const { clientX: x2, clientY: y2 } = e; - updatePosStart(x2, y2); - updatePosEnd(x2, y2); - onSwipeStart == null ? void 0 : onSwipeStart(e); - }), - useEventListener(target, "pointermove", (e) => { - if (!eventIsAllowed(e)) - return; - if (!isPointerDown.value) - return; - const { clientX: x2, clientY: y2 } = e; - updatePosEnd(x2, y2); - if (!isSwiping.value && isThresholdExceeded.value) - isSwiping.value = true; - if (isSwiping.value) - onSwipe == null ? void 0 : onSwipe(e); - }), - useEventListener(target, "pointerup", (e) => { - if (!eventIsAllowed(e)) - return; - if (isSwiping.value) - onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value); - isPointerDown.value = false; - isSwiping.value = false; - }) - ]; - tryOnMounted(() => { - var _a, _b, _c, _d, _e, _f, _g, _h; - (_b = (_a = targetRef.value) == null ? void 0 : _a.style) == null ? void 0 : _b.setProperty("touch-action", "none"); - if (disableTextSelect) { - (_d = (_c = targetRef.value) == null ? void 0 : _c.style) == null ? void 0 : _d.setProperty("-webkit-user-select", "none"); - (_f = (_e = targetRef.value) == null ? void 0 : _e.style) == null ? void 0 : _f.setProperty("-ms-user-select", "none"); - (_h = (_g = targetRef.value) == null ? void 0 : _g.style) == null ? void 0 : _h.setProperty("user-select", "none"); - } - }); - const stop2 = /* @__PURE__ */ __name(() => stops.forEach((s) => s()), "stop"); - return { - isSwiping: readonly(isSwiping), - direction: readonly(direction), - posStart: readonly(posStart), - posEnd: readonly(posEnd), - distanceX, - distanceY, - stop: stop2 - }; -} -__name(usePointerSwipe, "usePointerSwipe"); -function usePreferredColorScheme(options3) { - const isLight = useMediaQuery("(prefers-color-scheme: light)", options3); - const isDark = useMediaQuery("(prefers-color-scheme: dark)", options3); - return computed(() => { - if (isDark.value) - return "dark"; - if (isLight.value) - return "light"; - return "no-preference"; - }); -} -__name(usePreferredColorScheme, "usePreferredColorScheme"); -function usePreferredContrast(options3) { - const isMore = useMediaQuery("(prefers-contrast: more)", options3); - const isLess = useMediaQuery("(prefers-contrast: less)", options3); - const isCustom = useMediaQuery("(prefers-contrast: custom)", options3); - return computed(() => { - if (isMore.value) - return "more"; - if (isLess.value) - return "less"; - if (isCustom.value) - return "custom"; - return "no-preference"; - }); -} -__name(usePreferredContrast, "usePreferredContrast"); -function usePreferredLanguages(options3 = {}) { - const { window: window2 = defaultWindow } = options3; - if (!window2) - return ref(["en"]); - const navigator2 = window2.navigator; - const value3 = ref(navigator2.languages); - useEventListener(window2, "languagechange", () => { - value3.value = navigator2.languages; - }); - return value3; -} -__name(usePreferredLanguages, "usePreferredLanguages"); -function usePreferredReducedMotion(options3) { - const isReduced = useMediaQuery("(prefers-reduced-motion: reduce)", options3); - return computed(() => { - if (isReduced.value) - return "reduce"; - return "no-preference"; - }); -} -__name(usePreferredReducedMotion, "usePreferredReducedMotion"); -function usePrevious(value3, initialValue) { - const previous = shallowRef(initialValue); - watch( - toRef(value3), - (_2, oldValue) => { - previous.value = oldValue; - }, - { flush: "sync" } - ); - return readonly(previous); -} -__name(usePrevious, "usePrevious"); -const topVarName = "--vueuse-safe-area-top"; -const rightVarName = "--vueuse-safe-area-right"; -const bottomVarName = "--vueuse-safe-area-bottom"; -const leftVarName = "--vueuse-safe-area-left"; -function useScreenSafeArea() { - const top = ref(""); - const right = ref(""); - const bottom = ref(""); - const left = ref(""); - if (isClient) { - const topCssVar = useCssVar(topVarName); - const rightCssVar = useCssVar(rightVarName); - const bottomCssVar = useCssVar(bottomVarName); - const leftCssVar = useCssVar(leftVarName); - topCssVar.value = "env(safe-area-inset-top, 0px)"; - rightCssVar.value = "env(safe-area-inset-right, 0px)"; - bottomCssVar.value = "env(safe-area-inset-bottom, 0px)"; - leftCssVar.value = "env(safe-area-inset-left, 0px)"; - update(); - useEventListener("resize", useDebounceFn(update)); - } - function update() { - top.value = getValue(topVarName); - right.value = getValue(rightVarName); - bottom.value = getValue(bottomVarName); - left.value = getValue(leftVarName); - } - __name(update, "update"); - return { - top, - right, - bottom, - left, - update - }; -} -__name(useScreenSafeArea, "useScreenSafeArea"); -function getValue(position2) { - return getComputedStyle(document.documentElement).getPropertyValue(position2); -} -__name(getValue, "getValue"); -function useScriptTag(src, onLoaded = noop$1, options3 = {}) { - const { - immediate = true, - manual = false, - type = "text/javascript", - async = true, - crossOrigin, - referrerPolicy, - noModule, - defer, - document: document2 = defaultDocument, - attrs: attrs3 = {} - } = options3; - const scriptTag = ref(null); - let _promise = null; - const loadScript = /* @__PURE__ */ __name((waitForScriptLoad) => new Promise((resolve2, reject2) => { - const resolveWithElement = /* @__PURE__ */ __name((el2) => { - scriptTag.value = el2; - resolve2(el2); - return el2; - }, "resolveWithElement"); - if (!document2) { - resolve2(false); - return; - } - let shouldAppend = false; - let el = document2.querySelector(`script[src="${toValue(src)}"]`); - if (!el) { - el = document2.createElement("script"); - el.type = type; - el.async = async; - el.src = toValue(src); - if (defer) - el.defer = defer; - if (crossOrigin) - el.crossOrigin = crossOrigin; - if (noModule) - el.noModule = noModule; - if (referrerPolicy) - el.referrerPolicy = referrerPolicy; - Object.entries(attrs3).forEach(([name, value3]) => el == null ? void 0 : el.setAttribute(name, value3)); - shouldAppend = true; - } else if (el.hasAttribute("data-loaded")) { - resolveWithElement(el); - } - el.addEventListener("error", (event2) => reject2(event2)); - el.addEventListener("abort", (event2) => reject2(event2)); - el.addEventListener("load", () => { - el.setAttribute("data-loaded", "true"); - onLoaded(el); - resolveWithElement(el); - }); - if (shouldAppend) - el = document2.head.appendChild(el); - if (!waitForScriptLoad) - resolveWithElement(el); - }), "loadScript"); - const load2 = /* @__PURE__ */ __name((waitForScriptLoad = true) => { - if (!_promise) - _promise = loadScript(waitForScriptLoad); - return _promise; - }, "load"); - const unload = /* @__PURE__ */ __name(() => { - if (!document2) - return; - _promise = null; - if (scriptTag.value) - scriptTag.value = null; - const el = document2.querySelector(`script[src="${toValue(src)}"]`); - if (el) - document2.head.removeChild(el); - }, "unload"); - if (immediate && !manual) - tryOnMounted(load2); - if (!manual) - tryOnUnmounted(unload); - return { scriptTag, load: load2, unload }; -} -__name(useScriptTag, "useScriptTag"); -function checkOverflowScroll(ele) { - const style = window.getComputedStyle(ele); - if (style.overflowX === "scroll" || style.overflowY === "scroll" || style.overflowX === "auto" && ele.clientWidth < ele.scrollWidth || style.overflowY === "auto" && ele.clientHeight < ele.scrollHeight) { - return true; - } else { - const parent = ele.parentNode; - if (!parent || parent.tagName === "BODY") - return false; - return checkOverflowScroll(parent); - } -} -__name(checkOverflowScroll, "checkOverflowScroll"); -function preventDefault(rawEvent) { - const e = rawEvent || window.event; - const _target = e.target; - if (checkOverflowScroll(_target)) - return false; - if (e.touches.length > 1) - return true; - if (e.preventDefault) - e.preventDefault(); - return false; -} -__name(preventDefault, "preventDefault"); -const elInitialOverflow = /* @__PURE__ */ new WeakMap(); -function useScrollLock(element, initialState = false) { - const isLocked = ref(initialState); - let stopTouchMoveListener = null; - let initialOverflow = ""; - watch(toRef(element), (el) => { - const target = resolveElement(toValue(el)); - if (target) { - const ele = target; - if (!elInitialOverflow.get(ele)) - elInitialOverflow.set(ele, ele.style.overflow); - if (ele.style.overflow !== "hidden") - initialOverflow = ele.style.overflow; - if (ele.style.overflow === "hidden") - return isLocked.value = true; - if (isLocked.value) - return ele.style.overflow = "hidden"; - } - }, { - immediate: true - }); - const lock = /* @__PURE__ */ __name(() => { - const el = resolveElement(toValue(element)); - if (!el || isLocked.value) - return; - if (isIOS) { - stopTouchMoveListener = useEventListener( - el, - "touchmove", - (e) => { - preventDefault(e); - }, - { passive: false } - ); - } - el.style.overflow = "hidden"; - isLocked.value = true; - }, "lock"); - const unlock = /* @__PURE__ */ __name(() => { - const el = resolveElement(toValue(element)); - if (!el || !isLocked.value) - return; - if (isIOS) - stopTouchMoveListener == null ? void 0 : stopTouchMoveListener(); - el.style.overflow = initialOverflow; - elInitialOverflow.delete(el); - isLocked.value = false; - }, "unlock"); - tryOnScopeDispose(unlock); - return computed({ - get() { - return isLocked.value; - }, - set(v2) { - if (v2) - lock(); - else unlock(); - } - }); -} -__name(useScrollLock, "useScrollLock"); -function useSessionStorage(key, initialValue, options3 = {}) { - const { window: window2 = defaultWindow } = options3; - return useStorage(key, initialValue, window2 == null ? void 0 : window2.sessionStorage, options3); -} -__name(useSessionStorage, "useSessionStorage"); -function useShare(shareOptions = {}, options3 = {}) { - const { navigator: navigator2 = defaultNavigator } = options3; - const _navigator2 = navigator2; - const isSupported2 = useSupported(() => _navigator2 && "canShare" in _navigator2); - const share = /* @__PURE__ */ __name(async (overrideOptions = {}) => { - if (isSupported2.value) { - const data21 = { - ...toValue(shareOptions), - ...toValue(overrideOptions) - }; - let granted = true; - if (data21.files && _navigator2.canShare) - granted = _navigator2.canShare({ files: data21.files }); - if (granted) - return _navigator2.share(data21); - } - }, "share"); - return { - isSupported: isSupported2, - share - }; -} -__name(useShare, "useShare"); -const defaultSortFn = /* @__PURE__ */ __name((source, compareFn) => source.sort(compareFn), "defaultSortFn"); -const defaultCompare = /* @__PURE__ */ __name((a, b) => a - b, "defaultCompare"); -function useSorted(...args) { - var _a, _b, _c, _d; - const [source] = args; - let compareFn = defaultCompare; - let options3 = {}; - if (args.length === 2) { - if (typeof args[1] === "object") { - options3 = args[1]; - compareFn = (_a = options3.compareFn) != null ? _a : defaultCompare; - } else { - compareFn = (_b = args[1]) != null ? _b : defaultCompare; - } - } else if (args.length > 2) { - compareFn = (_c = args[1]) != null ? _c : defaultCompare; - options3 = (_d = args[2]) != null ? _d : {}; - } - const { - dirty = false, - sortFn = defaultSortFn - } = options3; - if (!dirty) - return computed(() => sortFn([...toValue(source)], compareFn)); - watchEffect(() => { - const result = sortFn(toValue(source), compareFn); - if (isRef(source)) - source.value = result; - else - source.splice(0, source.length, ...result); - }); - return source; -} -__name(useSorted, "useSorted"); -function useSpeechRecognition(options3 = {}) { - const { - interimResults = true, - continuous = true, - maxAlternatives = 1, - window: window2 = defaultWindow - } = options3; - const lang = toRef(options3.lang || "en-US"); - const isListening = ref(false); - const isFinal = ref(false); - const result = ref(""); - const error = shallowRef(void 0); - const toggle4 = /* @__PURE__ */ __name((value3 = !isListening.value) => { - isListening.value = value3; - }, "toggle"); - const start2 = /* @__PURE__ */ __name(() => { - isListening.value = true; - }, "start"); - const stop2 = /* @__PURE__ */ __name(() => { - isListening.value = false; - }, "stop"); - const SpeechRecognition = window2 && (window2.SpeechRecognition || window2.webkitSpeechRecognition); - const isSupported2 = useSupported(() => SpeechRecognition); - let recognition; - if (isSupported2.value) { - recognition = new SpeechRecognition(); - recognition.continuous = continuous; - recognition.interimResults = interimResults; - recognition.lang = toValue(lang); - recognition.maxAlternatives = maxAlternatives; - recognition.onstart = () => { - isFinal.value = false; - }; - watch(lang, (lang2) => { - if (recognition && !isListening.value) - recognition.lang = lang2; - }); - recognition.onresult = (event2) => { - const currentResult = event2.results[event2.resultIndex]; - const { transcript } = currentResult[0]; - isFinal.value = currentResult.isFinal; - result.value = transcript; - error.value = void 0; - }; - recognition.onerror = (event2) => { - error.value = event2; - }; - recognition.onend = () => { - isListening.value = false; - recognition.lang = toValue(lang); - }; - watch(isListening, () => { - if (isListening.value) - recognition.start(); - else - recognition.stop(); - }); - } - tryOnScopeDispose(() => { - isListening.value = false; - }); - return { - isSupported: isSupported2, - isListening, - isFinal, - recognition, - result, - error, - toggle: toggle4, - start: start2, - stop: stop2 - }; -} -__name(useSpeechRecognition, "useSpeechRecognition"); -function useSpeechSynthesis(text, options3 = {}) { - const { - pitch = 1, - rate = 1, - volume = 1, - window: window2 = defaultWindow - } = options3; - const synth = window2 && window2.speechSynthesis; - const isSupported2 = useSupported(() => synth); - const isPlaying = ref(false); - const status = ref("init"); - const spokenText = toRef(text || ""); - const lang = toRef(options3.lang || "en-US"); - const error = shallowRef(void 0); - const toggle4 = /* @__PURE__ */ __name((value3 = !isPlaying.value) => { - isPlaying.value = value3; - }, "toggle"); - const bindEventsForUtterance = /* @__PURE__ */ __name((utterance2) => { - utterance2.lang = toValue(lang); - utterance2.voice = toValue(options3.voice) || null; - utterance2.pitch = toValue(pitch); - utterance2.rate = toValue(rate); - utterance2.volume = volume; - utterance2.onstart = () => { - isPlaying.value = true; - status.value = "play"; - }; - utterance2.onpause = () => { - isPlaying.value = false; - status.value = "pause"; - }; - utterance2.onresume = () => { - isPlaying.value = true; - status.value = "play"; - }; - utterance2.onend = () => { - isPlaying.value = false; - status.value = "end"; - }; - utterance2.onerror = (event2) => { - error.value = event2; - }; - }, "bindEventsForUtterance"); - const utterance = computed(() => { - isPlaying.value = false; - status.value = "init"; - const newUtterance = new SpeechSynthesisUtterance(spokenText.value); - bindEventsForUtterance(newUtterance); - return newUtterance; - }); - const speak = /* @__PURE__ */ __name(() => { - synth.cancel(); - if (utterance) - synth.speak(utterance.value); - }, "speak"); - const stop2 = /* @__PURE__ */ __name(() => { - synth.cancel(); - isPlaying.value = false; - }, "stop"); - if (isSupported2.value) { - bindEventsForUtterance(utterance.value); - watch(lang, (lang2) => { - if (utterance.value && !isPlaying.value) - utterance.value.lang = lang2; - }); - if (options3.voice) { - watch(options3.voice, () => { - synth.cancel(); - }); - } - watch(isPlaying, () => { - if (isPlaying.value) - synth.resume(); - else - synth.pause(); - }); - } - tryOnScopeDispose(() => { - isPlaying.value = false; - }); - return { - isSupported: isSupported2, - isPlaying, - status, - utterance, - error, - stop: stop2, - toggle: toggle4, - speak - }; -} -__name(useSpeechSynthesis, "useSpeechSynthesis"); -function useStepper(steps, initialStep) { - const stepsRef = ref(steps); - const stepNames = computed(() => Array.isArray(stepsRef.value) ? stepsRef.value : Object.keys(stepsRef.value)); - const index2 = ref(stepNames.value.indexOf(initialStep != null ? initialStep : stepNames.value[0])); - const current = computed(() => at(index2.value)); - const isFirst = computed(() => index2.value === 0); - const isLast = computed(() => index2.value === stepNames.value.length - 1); - const next2 = computed(() => stepNames.value[index2.value + 1]); - const previous = computed(() => stepNames.value[index2.value - 1]); - function at(index22) { - if (Array.isArray(stepsRef.value)) - return stepsRef.value[index22]; - return stepsRef.value[stepNames.value[index22]]; - } - __name(at, "at"); - function get2(step2) { - if (!stepNames.value.includes(step2)) - return; - return at(stepNames.value.indexOf(step2)); - } - __name(get2, "get"); - function goTo(step2) { - if (stepNames.value.includes(step2)) - index2.value = stepNames.value.indexOf(step2); - } - __name(goTo, "goTo"); - function goToNext() { - if (isLast.value) - return; - index2.value++; - } - __name(goToNext, "goToNext"); - function goToPrevious() { - if (isFirst.value) - return; - index2.value--; - } - __name(goToPrevious, "goToPrevious"); - function goBackTo(step2) { - if (isAfter(step2)) - goTo(step2); - } - __name(goBackTo, "goBackTo"); - function isNext(step2) { - return stepNames.value.indexOf(step2) === index2.value + 1; - } - __name(isNext, "isNext"); - function isPrevious(step2) { - return stepNames.value.indexOf(step2) === index2.value - 1; - } - __name(isPrevious, "isPrevious"); - function isCurrent(step2) { - return stepNames.value.indexOf(step2) === index2.value; - } - __name(isCurrent, "isCurrent"); - function isBefore(step2) { - return index2.value < stepNames.value.indexOf(step2); - } - __name(isBefore, "isBefore"); - function isAfter(step2) { - return index2.value > stepNames.value.indexOf(step2); - } - __name(isAfter, "isAfter"); - return { - steps: stepsRef, - stepNames, - index: index2, - current, - next: next2, - previous, - isFirst, - isLast, - at, - get: get2, - goTo, - goToNext, - goToPrevious, - goBackTo, - isNext, - isPrevious, - isCurrent, - isBefore, - isAfter - }; -} -__name(useStepper, "useStepper"); -function useStorageAsync(key, initialValue, storage, options3 = {}) { - var _a; - const { - flush = "pre", - deep = true, - listenToStorageChanges = true, - writeDefaults = true, - mergeDefaults: mergeDefaults2 = false, - shallow, - window: window2 = defaultWindow, - eventFilter, - onError = /* @__PURE__ */ __name((e) => { - console.error(e); - }, "onError") - } = options3; - const rawInit = toValue(initialValue); - const type = guessSerializerType(rawInit); - const data21 = (shallow ? shallowRef : ref)(initialValue); - const serializer = (_a = options3.serializer) != null ? _a : StorageSerializers[type]; - if (!storage) { - try { - storage = getSSRHandler("getDefaultStorageAsync", () => { - var _a2; - return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage; - })(); - } catch (e) { - onError(e); - } - } - async function read(event2) { - if (!storage || event2 && event2.key !== key) - return; - try { - const rawValue = event2 ? event2.newValue : await storage.getItem(key); - if (rawValue == null) { - data21.value = rawInit; - if (writeDefaults && rawInit !== null) - await storage.setItem(key, await serializer.write(rawInit)); - } else if (mergeDefaults2) { - const value3 = await serializer.read(rawValue); - if (typeof mergeDefaults2 === "function") - data21.value = mergeDefaults2(value3, rawInit); - else if (type === "object" && !Array.isArray(value3)) - data21.value = { ...rawInit, ...value3 }; - else data21.value = value3; - } else { - data21.value = await serializer.read(rawValue); - } - } catch (e) { - onError(e); - } - } - __name(read, "read"); - read(); - if (window2 && listenToStorageChanges) - useEventListener(window2, "storage", (e) => Promise.resolve().then(() => read(e))); - if (storage) { - watchWithFilter( - data21, - async () => { - try { - if (data21.value == null) - await storage.removeItem(key); - else - await storage.setItem(key, await serializer.write(data21.value)); - } catch (e) { - onError(e); - } - }, - { - flush, - deep, - eventFilter - } - ); - } - return data21; -} -__name(useStorageAsync, "useStorageAsync"); -let _id = 0; -function useStyleTag(css3, options3 = {}) { - const isLoaded = ref(false); - const { - document: document2 = defaultDocument, - immediate = true, - manual = false, - id: id3 = `vueuse_styletag_${++_id}` - } = options3; - const cssRef = ref(css3); - let stop2 = /* @__PURE__ */ __name(() => { - }, "stop"); - const load2 = /* @__PURE__ */ __name(() => { - if (!document2) - return; - const el = document2.getElementById(id3) || document2.createElement("style"); - if (!el.isConnected) { - el.id = id3; - if (options3.media) - el.media = options3.media; - document2.head.appendChild(el); - } - if (isLoaded.value) - return; - stop2 = watch( - cssRef, - (value3) => { - el.textContent = value3; - }, - { immediate: true } - ); - isLoaded.value = true; - }, "load"); - const unload = /* @__PURE__ */ __name(() => { - if (!document2 || !isLoaded.value) - return; - stop2(); - document2.head.removeChild(document2.getElementById(id3)); - isLoaded.value = false; - }, "unload"); - if (immediate && !manual) - tryOnMounted(load2); - if (!manual) - tryOnScopeDispose(unload); - return { - id: id3, - css: cssRef, - unload, - load: load2, - isLoaded: readonly(isLoaded) - }; -} -__name(useStyleTag, "useStyleTag"); -function useSwipe(target, options3 = {}) { - const { - threshold = 50, - onSwipe, - onSwipeEnd, - onSwipeStart, - passive = true, - window: window2 = defaultWindow - } = options3; - const coordsStart = reactive({ x: 0, y: 0 }); - const coordsEnd = reactive({ x: 0, y: 0 }); - const diffX = computed(() => coordsStart.x - coordsEnd.x); - const diffY = computed(() => coordsStart.y - coordsEnd.y); - const { max, abs } = Math; - const isThresholdExceeded = computed(() => max(abs(diffX.value), abs(diffY.value)) >= threshold); - const isSwiping = ref(false); - const direction = computed(() => { - if (!isThresholdExceeded.value) - return "none"; - if (abs(diffX.value) > abs(diffY.value)) { - return diffX.value > 0 ? "left" : "right"; - } else { - return diffY.value > 0 ? "up" : "down"; - } - }); - const getTouchEventCoords = /* @__PURE__ */ __name((e) => [e.touches[0].clientX, e.touches[0].clientY], "getTouchEventCoords"); - const updateCoordsStart = /* @__PURE__ */ __name((x2, y2) => { - coordsStart.x = x2; - coordsStart.y = y2; - }, "updateCoordsStart"); - const updateCoordsEnd = /* @__PURE__ */ __name((x2, y2) => { - coordsEnd.x = x2; - coordsEnd.y = y2; - }, "updateCoordsEnd"); - let listenerOptions; - const isPassiveEventSupported = checkPassiveEventSupport(window2 == null ? void 0 : window2.document); - if (!passive) - listenerOptions = isPassiveEventSupported ? { passive: false, capture: true } : { capture: true }; - else - listenerOptions = isPassiveEventSupported ? { passive: true } : { capture: false }; - const onTouchEnd3 = /* @__PURE__ */ __name((e) => { - if (isSwiping.value) - onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value); - isSwiping.value = false; - }, "onTouchEnd"); - const stops = [ - useEventListener(target, "touchstart", (e) => { - if (e.touches.length !== 1) - return; - if (listenerOptions.capture && !listenerOptions.passive) - e.preventDefault(); - const [x2, y2] = getTouchEventCoords(e); - updateCoordsStart(x2, y2); - updateCoordsEnd(x2, y2); - onSwipeStart == null ? void 0 : onSwipeStart(e); - }, listenerOptions), - useEventListener(target, "touchmove", (e) => { - if (e.touches.length !== 1) - return; - const [x2, y2] = getTouchEventCoords(e); - updateCoordsEnd(x2, y2); - if (!isSwiping.value && isThresholdExceeded.value) - isSwiping.value = true; - if (isSwiping.value) - onSwipe == null ? void 0 : onSwipe(e); - }, listenerOptions), - useEventListener(target, ["touchend", "touchcancel"], onTouchEnd3, listenerOptions) - ]; - const stop2 = /* @__PURE__ */ __name(() => stops.forEach((s) => s()), "stop"); - return { - isPassiveEventSupported, - isSwiping, - direction, - coordsStart, - coordsEnd, - lengthX: diffX, - lengthY: diffY, - stop: stop2 - }; -} -__name(useSwipe, "useSwipe"); -function checkPassiveEventSupport(document2) { - if (!document2) - return false; - let supportsPassive = false; - const optionsBlock = { - get passive() { - supportsPassive = true; - return false; - } - }; - document2.addEventListener("x", noop$1, optionsBlock); - document2.removeEventListener("x", noop$1); - return supportsPassive; -} -__name(checkPassiveEventSupport, "checkPassiveEventSupport"); -function useTemplateRefsList() { - const refs = ref([]); - refs.value.set = (el) => { - if (el) - refs.value.push(el); - }; - onBeforeUpdate(() => { - refs.value.length = 0; - }); - return refs; -} -__name(useTemplateRefsList, "useTemplateRefsList"); -function useTextDirection(options3 = {}) { - const { - document: document2 = defaultDocument, - selector = "html", - observe = false, - initialValue = "ltr" - } = options3; - function getValue2() { - var _a, _b; - return (_b = (_a = document2 == null ? void 0 : document2.querySelector(selector)) == null ? void 0 : _a.getAttribute("dir")) != null ? _b : initialValue; - } - __name(getValue2, "getValue2"); - const dir = ref(getValue2()); - tryOnMounted(() => dir.value = getValue2()); - if (observe && document2) { - useMutationObserver( - document2.querySelector(selector), - () => dir.value = getValue2(), - { attributes: true } - ); - } - return computed({ - get() { - return dir.value; - }, - set(v2) { - var _a, _b; - dir.value = v2; - if (!document2) - return; - if (dir.value) - (_a = document2.querySelector(selector)) == null ? void 0 : _a.setAttribute("dir", dir.value); - else - (_b = document2.querySelector(selector)) == null ? void 0 : _b.removeAttribute("dir"); - } - }); -} -__name(useTextDirection, "useTextDirection"); -function getRangesFromSelection(selection) { - var _a; - const rangeCount = (_a = selection.rangeCount) != null ? _a : 0; - return Array.from({ length: rangeCount }, (_2, i2) => selection.getRangeAt(i2)); -} -__name(getRangesFromSelection, "getRangesFromSelection"); -function useTextSelection(options3 = {}) { - const { - window: window2 = defaultWindow - } = options3; - const selection = ref(null); - const text = computed(() => { - var _a, _b; - return (_b = (_a = selection.value) == null ? void 0 : _a.toString()) != null ? _b : ""; - }); - const ranges = computed(() => selection.value ? getRangesFromSelection(selection.value) : []); - const rects = computed(() => ranges.value.map((range2) => range2.getBoundingClientRect())); - function onSelectionChange() { - selection.value = null; - if (window2) - selection.value = window2.getSelection(); - } - __name(onSelectionChange, "onSelectionChange"); - if (window2) - useEventListener(window2.document, "selectionchange", onSelectionChange); - return { - text, - rects, - ranges, - selection - }; -} -__name(useTextSelection, "useTextSelection"); -function useTextareaAutosize(options3) { - var _a; - const textarea = ref(options3 == null ? void 0 : options3.element); - const input = ref(options3 == null ? void 0 : options3.input); - const styleProp = (_a = options3 == null ? void 0 : options3.styleProp) != null ? _a : "height"; - const textareaScrollHeight = ref(1); - const textareaOldWidth = ref(0); - function triggerResize() { - var _a2; - if (!textarea.value) - return; - let height = ""; - textarea.value.style[styleProp] = "1px"; - textareaScrollHeight.value = (_a2 = textarea.value) == null ? void 0 : _a2.scrollHeight; - const _styleTarget = toValue(options3 == null ? void 0 : options3.styleTarget); - if (_styleTarget) - _styleTarget.style[styleProp] = `${textareaScrollHeight.value}px`; - else - height = `${textareaScrollHeight.value}px`; - textarea.value.style[styleProp] = height; - } - __name(triggerResize, "triggerResize"); - watch([input, textarea], () => nextTick(triggerResize), { immediate: true }); - watch(textareaScrollHeight, () => { - var _a2; - return (_a2 = options3 == null ? void 0 : options3.onResize) == null ? void 0 : _a2.call(options3); - }); - useResizeObserver(textarea, ([{ contentRect }]) => { - if (textareaOldWidth.value === contentRect.width) - return; - textareaOldWidth.value = contentRect.width; - triggerResize(); - }); - if (options3 == null ? void 0 : options3.watch) - watch(options3.watch, triggerResize, { immediate: true, deep: true }); - return { - textarea, - input, - triggerResize - }; -} -__name(useTextareaAutosize, "useTextareaAutosize"); -function useThrottledRefHistory(source, options3 = {}) { - const { throttle: throttle2 = 200, trailing = true } = options3; - const filter4 = throttleFilter(throttle2, trailing); - const history2 = useRefHistory(source, { ...options3, eventFilter: filter4 }); - return { - ...history2 - }; -} -__name(useThrottledRefHistory, "useThrottledRefHistory"); -const DEFAULT_UNITS = [ - { max: 6e4, value: 1e3, name: "second" }, - { max: 276e4, value: 6e4, name: "minute" }, - { max: 72e6, value: 36e5, name: "hour" }, - { max: 5184e5, value: 864e5, name: "day" }, - { max: 24192e5, value: 6048e5, name: "week" }, - { max: 28512e6, value: 2592e6, name: "month" }, - { max: Number.POSITIVE_INFINITY, value: 31536e6, name: "year" } -]; -const DEFAULT_MESSAGES = { - justNow: "just now", - past: /* @__PURE__ */ __name((n) => n.match(/\d/) ? `${n} ago` : n, "past"), - future: /* @__PURE__ */ __name((n) => n.match(/\d/) ? `in ${n}` : n, "future"), - month: /* @__PURE__ */ __name((n, past) => n === 1 ? past ? "last month" : "next month" : `${n} month${n > 1 ? "s" : ""}`, "month"), - year: /* @__PURE__ */ __name((n, past) => n === 1 ? past ? "last year" : "next year" : `${n} year${n > 1 ? "s" : ""}`, "year"), - day: /* @__PURE__ */ __name((n, past) => n === 1 ? past ? "yesterday" : "tomorrow" : `${n} day${n > 1 ? "s" : ""}`, "day"), - week: /* @__PURE__ */ __name((n, past) => n === 1 ? past ? "last week" : "next week" : `${n} week${n > 1 ? "s" : ""}`, "week"), - hour: /* @__PURE__ */ __name((n) => `${n} hour${n > 1 ? "s" : ""}`, "hour"), - minute: /* @__PURE__ */ __name((n) => `${n} minute${n > 1 ? "s" : ""}`, "minute"), - second: /* @__PURE__ */ __name((n) => `${n} second${n > 1 ? "s" : ""}`, "second"), - invalid: "" -}; -function DEFAULT_FORMATTER(date) { - return date.toISOString().slice(0, 10); -} -__name(DEFAULT_FORMATTER, "DEFAULT_FORMATTER"); -function useTimeAgo(time, options3 = {}) { - const { - controls: exposeControls = false, - updateInterval = 3e4 - } = options3; - const { now: now2, ...controls } = useNow({ interval: updateInterval, controls: true }); - const timeAgo = computed(() => formatTimeAgo(new Date(toValue(time)), options3, toValue(now2))); - if (exposeControls) { - return { - timeAgo, - ...controls - }; - } else { - return timeAgo; - } -} -__name(useTimeAgo, "useTimeAgo"); -function formatTimeAgo(from, options3 = {}, now2 = Date.now()) { - var _a; - const { - max, - messages: messages2 = DEFAULT_MESSAGES, - fullDateFormatter = DEFAULT_FORMATTER, - units = DEFAULT_UNITS, - showSecond = false, - rounding = "round" - } = options3; - const roundFn = typeof rounding === "number" ? (n) => +n.toFixed(rounding) : Math[rounding]; - const diff = +now2 - +from; - const absDiff = Math.abs(diff); - function getValue2(diff2, unit) { - return roundFn(Math.abs(diff2) / unit.value); - } - __name(getValue2, "getValue2"); - function format2(diff2, unit) { - const val = getValue2(diff2, unit); - const past = diff2 > 0; - const str = applyFormat(unit.name, val, past); - return applyFormat(past ? "past" : "future", str, past); - } - __name(format2, "format"); - function applyFormat(name, val, isPast) { - const formatter = messages2[name]; - if (typeof formatter === "function") - return formatter(val, isPast); - return formatter.replace("{0}", val.toString()); - } - __name(applyFormat, "applyFormat"); - if (absDiff < 6e4 && !showSecond) - return messages2.justNow; - if (typeof max === "number" && absDiff > max) - return fullDateFormatter(new Date(from)); - if (typeof max === "string") { - const unitMax = (_a = units.find((i2) => i2.name === max)) == null ? void 0 : _a.max; - if (unitMax && absDiff > unitMax) - return fullDateFormatter(new Date(from)); - } - for (const [idx, unit] of units.entries()) { - const val = getValue2(diff, unit); - if (val <= 0 && units[idx - 1]) - return format2(diff, units[idx - 1]); - if (absDiff < unit.max) - return format2(diff, unit); - } - return messages2.invalid; -} -__name(formatTimeAgo, "formatTimeAgo"); -function useTimeoutPoll(fn, interval, timeoutPollOptions) { - const { start: start2 } = useTimeoutFn(loop, interval, { immediate: false }); - const isActive = ref(false); - async function loop() { - if (!isActive.value) - return; - await fn(); - start2(); - } - __name(loop, "loop"); - function resume() { - if (!isActive.value) { - isActive.value = true; - loop(); - } - } - __name(resume, "resume"); - function pause() { - isActive.value = false; - } - __name(pause, "pause"); - if (timeoutPollOptions == null ? void 0 : timeoutPollOptions.immediate) - resume(); - tryOnScopeDispose(pause); - return { - isActive, - pause, - resume - }; -} -__name(useTimeoutPoll, "useTimeoutPoll"); -function useTimestamp(options3 = {}) { - const { - controls: exposeControls = false, - offset = 0, - immediate = true, - interval = "requestAnimationFrame", - callback - } = options3; - const ts = ref(timestamp() + offset); - const update = /* @__PURE__ */ __name(() => ts.value = timestamp() + offset, "update"); - const cb = callback ? () => { - update(); - callback(ts.value); - } : update; - const controls = interval === "requestAnimationFrame" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate }); - if (exposeControls) { - return { - timestamp: ts, - ...controls - }; - } else { - return ts; - } -} -__name(useTimestamp, "useTimestamp"); -function useTitle(newTitle = null, options3 = {}) { - var _a, _b, _c; - const { - document: document2 = defaultDocument, - restoreOnUnmount = /* @__PURE__ */ __name((t) => t, "restoreOnUnmount") - } = options3; - const originalTitle = (_a = document2 == null ? void 0 : document2.title) != null ? _a : ""; - const title = toRef((_b = newTitle != null ? newTitle : document2 == null ? void 0 : document2.title) != null ? _b : null); - const isReadonly2 = newTitle && typeof newTitle === "function"; - function format2(t) { - if (!("titleTemplate" in options3)) - return t; - const template = options3.titleTemplate || "%s"; - return typeof template === "function" ? template(t) : toValue(template).replace(/%s/g, t); - } - __name(format2, "format"); - watch( - title, - (t, o) => { - if (t !== o && document2) - document2.title = format2(typeof t === "string" ? t : ""); - }, - { immediate: true } - ); - if (options3.observe && !options3.titleTemplate && document2 && !isReadonly2) { - useMutationObserver( - (_c = document2.head) == null ? void 0 : _c.querySelector("title"), - () => { - if (document2 && document2.title !== title.value) - title.value = format2(document2.title); - }, - { childList: true } - ); - } - tryOnBeforeUnmount(() => { - if (restoreOnUnmount) { - const restoredTitle = restoreOnUnmount(originalTitle, title.value || ""); - if (restoredTitle != null && document2) - document2.title = restoredTitle; - } - }); - return title; -} -__name(useTitle, "useTitle"); -const _TransitionPresets = { - easeInSine: [0.12, 0, 0.39, 0], - easeOutSine: [0.61, 1, 0.88, 1], - easeInOutSine: [0.37, 0, 0.63, 1], - easeInQuad: [0.11, 0, 0.5, 0], - easeOutQuad: [0.5, 1, 0.89, 1], - easeInOutQuad: [0.45, 0, 0.55, 1], - easeInCubic: [0.32, 0, 0.67, 0], - easeOutCubic: [0.33, 1, 0.68, 1], - easeInOutCubic: [0.65, 0, 0.35, 1], - easeInQuart: [0.5, 0, 0.75, 0], - easeOutQuart: [0.25, 1, 0.5, 1], - easeInOutQuart: [0.76, 0, 0.24, 1], - easeInQuint: [0.64, 0, 0.78, 0], - easeOutQuint: [0.22, 1, 0.36, 1], - easeInOutQuint: [0.83, 0, 0.17, 1], - easeInExpo: [0.7, 0, 0.84, 0], - easeOutExpo: [0.16, 1, 0.3, 1], - easeInOutExpo: [0.87, 0, 0.13, 1], - easeInCirc: [0.55, 0, 1, 0.45], - easeOutCirc: [0, 0.55, 0.45, 1], - easeInOutCirc: [0.85, 0, 0.15, 1], - easeInBack: [0.36, 0, 0.66, -0.56], - easeOutBack: [0.34, 1.56, 0.64, 1], - easeInOutBack: [0.68, -0.6, 0.32, 1.6] -}; -const TransitionPresets = /* @__PURE__ */ Object.assign({}, { linear: identity }, _TransitionPresets); -function createEasingFunction([p0, p1, p2, p3]) { - const a = /* @__PURE__ */ __name((a1, a2) => 1 - 3 * a2 + 3 * a1, "a"); - const b = /* @__PURE__ */ __name((a1, a2) => 3 * a2 - 6 * a1, "b"); - const c = /* @__PURE__ */ __name((a1) => 3 * a1, "c"); - const calcBezier = /* @__PURE__ */ __name((t, a1, a2) => ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t, "calcBezier"); - const getSlope = /* @__PURE__ */ __name((t, a1, a2) => 3 * a(a1, a2) * t * t + 2 * b(a1, a2) * t + c(a1), "getSlope"); - const getTforX = /* @__PURE__ */ __name((x2) => { - let aGuessT = x2; - for (let i2 = 0; i2 < 4; ++i2) { - const currentSlope = getSlope(aGuessT, p0, p2); - if (currentSlope === 0) - return aGuessT; - const currentX = calcBezier(aGuessT, p0, p2) - x2; - aGuessT -= currentX / currentSlope; - } - return aGuessT; - }, "getTforX"); - return (x2) => p0 === p1 && p2 === p3 ? x2 : calcBezier(getTforX(x2), p1, p3); -} -__name(createEasingFunction, "createEasingFunction"); -function lerp(a, b, alpha) { - return a + alpha * (b - a); -} -__name(lerp, "lerp"); -function toVec(t) { - return (typeof t === "number" ? [t] : t) || []; -} -__name(toVec, "toVec"); -function executeTransition(source, from, to, options3 = {}) { - var _a, _b; - const fromVal = toValue(from); - const toVal = toValue(to); - const v1 = toVec(fromVal); - const v2 = toVec(toVal); - const duration = (_a = toValue(options3.duration)) != null ? _a : 1e3; - const startedAt = Date.now(); - const endAt = Date.now() + duration; - const trans = typeof options3.transition === "function" ? options3.transition : (_b = toValue(options3.transition)) != null ? _b : identity; - const ease = typeof trans === "function" ? trans : createEasingFunction(trans); - return new Promise((resolve2) => { - source.value = fromVal; - const tick = /* @__PURE__ */ __name(() => { - var _a2; - if ((_a2 = options3.abort) == null ? void 0 : _a2.call(options3)) { - resolve2(); - return; - } - const now2 = Date.now(); - const alpha = ease((now2 - startedAt) / duration); - const arr = toVec(source.value).map((n, i2) => lerp(v1[i2], v2[i2], alpha)); - if (Array.isArray(source.value)) - source.value = arr.map((n, i2) => { - var _a3, _b2; - return lerp((_a3 = v1[i2]) != null ? _a3 : 0, (_b2 = v2[i2]) != null ? _b2 : 0, alpha); - }); - else if (typeof source.value === "number") - source.value = arr[0]; - if (now2 < endAt) { - requestAnimationFrame(tick); - } else { - source.value = toVal; - resolve2(); - } - }, "tick"); - tick(); - }); -} -__name(executeTransition, "executeTransition"); -function useTransition(source, options3 = {}) { - let currentId = 0; - const sourceVal = /* @__PURE__ */ __name(() => { - const v2 = toValue(source); - return typeof v2 === "number" ? v2 : v2.map(toValue); - }, "sourceVal"); - const outputRef = ref(sourceVal()); - watch(sourceVal, async (to) => { - var _a, _b; - if (toValue(options3.disabled)) - return; - const id3 = ++currentId; - if (options3.delay) - await promiseTimeout(toValue(options3.delay)); - if (id3 !== currentId) - return; - const toVal = Array.isArray(to) ? to.map(toValue) : toValue(to); - (_a = options3.onStarted) == null ? void 0 : _a.call(options3); - await executeTransition(outputRef, outputRef.value, toVal, { - ...options3, - abort: /* @__PURE__ */ __name(() => { - var _a2; - return id3 !== currentId || ((_a2 = options3.abort) == null ? void 0 : _a2.call(options3)); - }, "abort") - }); - (_b = options3.onFinished) == null ? void 0 : _b.call(options3); - }, { deep: true }); - watch(() => toValue(options3.disabled), (disabled2) => { - if (disabled2) { - currentId++; - outputRef.value = sourceVal(); - } - }); - tryOnScopeDispose(() => { - currentId++; - }); - return computed(() => toValue(options3.disabled) ? sourceVal() : outputRef.value); -} -__name(useTransition, "useTransition"); -function useUrlSearchParams(mode2 = "history", options3 = {}) { - const { - initialValue = {}, - removeNullishValues = true, - removeFalsyValues = false, - write: enableWrite = true, - window: window2 = defaultWindow - } = options3; - if (!window2) - return reactive(initialValue); - const state = reactive({}); - function getRawParams() { - if (mode2 === "history") { - return window2.location.search || ""; - } else if (mode2 === "hash") { - const hash = window2.location.hash || ""; - const index2 = hash.indexOf("?"); - return index2 > 0 ? hash.slice(index2) : ""; - } else { - return (window2.location.hash || "").replace(/^#/, ""); - } - } - __name(getRawParams, "getRawParams"); - function constructQuery(params) { - const stringified = params.toString(); - if (mode2 === "history") - return `${stringified ? `?${stringified}` : ""}${window2.location.hash || ""}`; - if (mode2 === "hash-params") - return `${window2.location.search || ""}${stringified ? `#${stringified}` : ""}`; - const hash = window2.location.hash || "#"; - const index2 = hash.indexOf("?"); - if (index2 > 0) - return `${hash.slice(0, index2)}${stringified ? `?${stringified}` : ""}`; - return `${hash}${stringified ? `?${stringified}` : ""}`; - } - __name(constructQuery, "constructQuery"); - function read() { - return new URLSearchParams(getRawParams()); - } - __name(read, "read"); - function updateState(params) { - const unusedKeys = new Set(Object.keys(state)); - for (const key of params.keys()) { - const paramsForKey = params.getAll(key); - state[key] = paramsForKey.length > 1 ? paramsForKey : params.get(key) || ""; - unusedKeys.delete(key); - } - Array.from(unusedKeys).forEach((key) => delete state[key]); - } - __name(updateState, "updateState"); - const { pause, resume } = watchPausable( - state, - () => { - const params = new URLSearchParams(""); - Object.keys(state).forEach((key) => { - const mapEntry = state[key]; - if (Array.isArray(mapEntry)) - mapEntry.forEach((value3) => params.append(key, value3)); - else if (removeNullishValues && mapEntry == null) - params.delete(key); - else if (removeFalsyValues && !mapEntry) - params.delete(key); - else - params.set(key, mapEntry); - }); - write(params); - }, - { deep: true } - ); - function write(params, shouldUpdate) { - pause(); - if (shouldUpdate) - updateState(params); - window2.history.replaceState( - window2.history.state, - window2.document.title, - window2.location.pathname + constructQuery(params) - ); - resume(); - } - __name(write, "write"); - function onChanged() { - if (!enableWrite) - return; - write(read(), true); - } - __name(onChanged, "onChanged"); - useEventListener(window2, "popstate", onChanged, false); - if (mode2 !== "history") - useEventListener(window2, "hashchange", onChanged, false); - const initial = read(); - if (initial.keys().next().value) - updateState(initial); - else - Object.assign(state, initialValue); - return state; -} -__name(useUrlSearchParams, "useUrlSearchParams"); -function useUserMedia(options3 = {}) { - var _a, _b; - const enabled = ref((_a = options3.enabled) != null ? _a : false); - const autoSwitch = ref((_b = options3.autoSwitch) != null ? _b : true); - const constraints = ref(options3.constraints); - const { navigator: navigator2 = defaultNavigator } = options3; - const isSupported2 = useSupported(() => { - var _a2; - return (_a2 = navigator2 == null ? void 0 : navigator2.mediaDevices) == null ? void 0 : _a2.getUserMedia; - }); - const stream = shallowRef(); - function getDeviceOptions(type) { - switch (type) { - case "video": { - if (constraints.value) - return constraints.value.video || false; - break; - } - case "audio": { - if (constraints.value) - return constraints.value.audio || false; - break; - } - } - } - __name(getDeviceOptions, "getDeviceOptions"); - async function _start() { - if (!isSupported2.value || stream.value) - return; - stream.value = await navigator2.mediaDevices.getUserMedia({ - video: getDeviceOptions("video"), - audio: getDeviceOptions("audio") - }); - return stream.value; - } - __name(_start, "_start"); - function _stop() { - var _a2; - (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.stop()); - stream.value = void 0; - } - __name(_stop, "_stop"); - function stop2() { - _stop(); - enabled.value = false; - } - __name(stop2, "stop"); - async function start2() { - await _start(); - if (stream.value) - enabled.value = true; - return stream.value; - } - __name(start2, "start"); - async function restart() { - _stop(); - return await start2(); - } - __name(restart, "restart"); - watch( - enabled, - (v2) => { - if (v2) - _start(); - else _stop(); - }, - { immediate: true } - ); - watch( - constraints, - () => { - if (autoSwitch.value && stream.value) - restart(); - }, - { immediate: true } - ); - tryOnScopeDispose(() => { - stop2(); - }); - return { - isSupported: isSupported2, - stream, - start: start2, - stop: stop2, - restart, - constraints, - enabled, - autoSwitch - }; -} -__name(useUserMedia, "useUserMedia"); -function useVModel(props, key, emit2, options3 = {}) { - var _a, _b, _c, _d, _e; - const { - clone: clone2 = false, - passive = false, - eventName, - deep = false, - defaultValue, - shouldEmit - } = options3; - const vm = getCurrentInstance(); - const _emit = emit2 || (vm == null ? void 0 : vm.emit) || ((_a = vm == null ? void 0 : vm.$emit) == null ? void 0 : _a.bind(vm)) || ((_c = (_b = vm == null ? void 0 : vm.proxy) == null ? void 0 : _b.$emit) == null ? void 0 : _c.bind(vm == null ? void 0 : vm.proxy)); - let event2 = eventName; - if (!key) { - if (isVue2) { - const modelOptions = (_e = (_d = vm == null ? void 0 : vm.proxy) == null ? void 0 : _d.$options) == null ? void 0 : _e.model; - key = (modelOptions == null ? void 0 : modelOptions.value) || "value"; - if (!eventName) - event2 = (modelOptions == null ? void 0 : modelOptions.event) || "input"; - } else { - key = "modelValue"; - } - } - event2 = event2 || `update:${key.toString()}`; - const cloneFn = /* @__PURE__ */ __name((val) => !clone2 ? val : typeof clone2 === "function" ? clone2(val) : cloneFnJSON(val), "cloneFn"); - const getValue2 = /* @__PURE__ */ __name(() => isDef(props[key]) ? cloneFn(props[key]) : defaultValue, "getValue2"); - const triggerEmit = /* @__PURE__ */ __name((value3) => { - if (shouldEmit) { - if (shouldEmit(value3)) - _emit(event2, value3); - } else { - _emit(event2, value3); - } - }, "triggerEmit"); - if (passive) { - const initialValue = getValue2(); - const proxy = ref(initialValue); - let isUpdating = false; - watch( - () => props[key], - (v2) => { - if (!isUpdating) { - isUpdating = true; - proxy.value = cloneFn(v2); - nextTick(() => isUpdating = false); - } - } - ); - watch( - proxy, - (v2) => { - if (!isUpdating && (v2 !== props[key] || deep)) - triggerEmit(v2); - }, - { deep } - ); - return proxy; - } else { - return computed({ - get() { - return getValue2(); - }, - set(value3) { - triggerEmit(value3); - } - }); - } -} -__name(useVModel, "useVModel"); -function useVModels(props, emit2, options3 = {}) { - const ret = {}; - for (const key in props) { - ret[key] = useVModel( - props, - key, - emit2, - options3 - ); - } - return ret; -} -__name(useVModels, "useVModels"); -function useVibrate(options3) { - const { - pattern = [], - interval = 0, - navigator: navigator2 = defaultNavigator - } = options3 || {}; - const isSupported2 = useSupported(() => typeof navigator2 !== "undefined" && "vibrate" in navigator2); - const patternRef = toRef(pattern); - let intervalControls; - const vibrate = /* @__PURE__ */ __name((pattern2 = patternRef.value) => { - if (isSupported2.value) - navigator2.vibrate(pattern2); - }, "vibrate"); - const stop2 = /* @__PURE__ */ __name(() => { - if (isSupported2.value) - navigator2.vibrate(0); - intervalControls == null ? void 0 : intervalControls.pause(); - }, "stop"); - if (interval > 0) { - intervalControls = useIntervalFn( - vibrate, - interval, - { - immediate: false, - immediateCallback: false - } - ); - } - return { - isSupported: isSupported2, - pattern, - intervalControls, - vibrate, - stop: stop2 - }; -} -__name(useVibrate, "useVibrate"); -function useVirtualList(list, options3) { - const { containerStyle, wrapperProps, scrollTo: scrollTo22, calculateRange, currentList, containerRef: containerRef6 } = "itemHeight" in options3 ? useVerticalVirtualList(options3, list) : useHorizontalVirtualList(options3, list); - return { - list: currentList, - scrollTo: scrollTo22, - containerProps: { - ref: containerRef6, - onScroll: /* @__PURE__ */ __name(() => { - calculateRange(); - }, "onScroll"), - style: containerStyle - }, - wrapperProps - }; -} -__name(useVirtualList, "useVirtualList"); -function useVirtualListResources(list) { - const containerRef6 = ref(null); - const size2 = useElementSize(containerRef6); - const currentList = ref([]); - const source = shallowRef(list); - const state = ref({ start: 0, end: 10 }); - return { state, source, currentList, size: size2, containerRef: containerRef6 }; -} -__name(useVirtualListResources, "useVirtualListResources"); -function createGetViewCapacity(state, source, itemSize2) { - return (containerSize) => { - if (typeof itemSize2 === "number") - return Math.ceil(containerSize / itemSize2); - const { start: start2 = 0 } = state.value; - let sum = 0; - let capacity = 0; - for (let i2 = start2; i2 < source.value.length; i2++) { - const size2 = itemSize2(i2); - sum += size2; - capacity = i2; - if (sum > containerSize) - break; - } - return capacity - start2; - }; -} -__name(createGetViewCapacity, "createGetViewCapacity"); -function createGetOffset(source, itemSize2) { - return (scrollDirection) => { - if (typeof itemSize2 === "number") - return Math.floor(scrollDirection / itemSize2) + 1; - let sum = 0; - let offset = 0; - for (let i2 = 0; i2 < source.value.length; i2++) { - const size2 = itemSize2(i2); - sum += size2; - if (sum >= scrollDirection) { - offset = i2; - break; - } - } - return offset + 1; - }; -} -__name(createGetOffset, "createGetOffset"); -function createCalculateRange(type, overscan, getOffset2, getViewCapacity, { containerRef: containerRef6, state, currentList, source }) { - return () => { - const element = containerRef6.value; - if (element) { - const offset = getOffset2(type === "vertical" ? element.scrollTop : element.scrollLeft); - const viewCapacity = getViewCapacity(type === "vertical" ? element.clientHeight : element.clientWidth); - const from = offset - overscan; - const to = offset + viewCapacity + overscan; - state.value = { - start: from < 0 ? 0 : from, - end: to > source.value.length ? source.value.length : to - }; - currentList.value = source.value.slice(state.value.start, state.value.end).map((ele, index2) => ({ - data: ele, - index: index2 + state.value.start - })); - } - }; -} -__name(createCalculateRange, "createCalculateRange"); -function createGetDistance(itemSize2, source) { - return (index2) => { - if (typeof itemSize2 === "number") { - const size22 = index2 * itemSize2; - return size22; - } - const size2 = source.value.slice(0, index2).reduce((sum, _2, i2) => sum + itemSize2(i2), 0); - return size2; - }; -} -__name(createGetDistance, "createGetDistance"); -function useWatchForSizes(size2, list, containerRef6, calculateRange) { - watch([size2.width, size2.height, list, containerRef6], () => { - calculateRange(); - }); -} -__name(useWatchForSizes, "useWatchForSizes"); -function createComputedTotalSize(itemSize2, source) { - return computed(() => { - if (typeof itemSize2 === "number") - return source.value.length * itemSize2; - return source.value.reduce((sum, _2, index2) => sum + itemSize2(index2), 0); - }); -} -__name(createComputedTotalSize, "createComputedTotalSize"); -const scrollToDictionaryForElementScrollKey = { - horizontal: "scrollLeft", - vertical: "scrollTop" -}; -function createScrollTo(type, calculateRange, getDistance, containerRef6) { - return (index2) => { - if (containerRef6.value) { - containerRef6.value[scrollToDictionaryForElementScrollKey[type]] = getDistance(index2); - calculateRange(); - } - }; -} -__name(createScrollTo, "createScrollTo"); -function useHorizontalVirtualList(options3, list) { - const resources = useVirtualListResources(list); - const { state, source, currentList, size: size2, containerRef: containerRef6 } = resources; - const containerStyle = { overflowX: "auto" }; - const { itemWidth, overscan = 5 } = options3; - const getViewCapacity = createGetViewCapacity(state, source, itemWidth); - const getOffset2 = createGetOffset(source, itemWidth); - const calculateRange = createCalculateRange("horizontal", overscan, getOffset2, getViewCapacity, resources); - const getDistanceLeft = createGetDistance(itemWidth, source); - const offsetLeft = computed(() => getDistanceLeft(state.value.start)); - const totalWidth = createComputedTotalSize(itemWidth, source); - useWatchForSizes(size2, list, containerRef6, calculateRange); - const scrollTo22 = createScrollTo("horizontal", calculateRange, getDistanceLeft, containerRef6); - const wrapperProps = computed(() => { - return { - style: { - height: "100%", - width: `${totalWidth.value - offsetLeft.value}px`, - marginLeft: `${offsetLeft.value}px`, - display: "flex" - } - }; - }); - return { - scrollTo: scrollTo22, - calculateRange, - wrapperProps, - containerStyle, - currentList, - containerRef: containerRef6 - }; -} -__name(useHorizontalVirtualList, "useHorizontalVirtualList"); -function useVerticalVirtualList(options3, list) { - const resources = useVirtualListResources(list); - const { state, source, currentList, size: size2, containerRef: containerRef6 } = resources; - const containerStyle = { overflowY: "auto" }; - const { itemHeight, overscan = 5 } = options3; - const getViewCapacity = createGetViewCapacity(state, source, itemHeight); - const getOffset2 = createGetOffset(source, itemHeight); - const calculateRange = createCalculateRange("vertical", overscan, getOffset2, getViewCapacity, resources); - const getDistanceTop = createGetDistance(itemHeight, source); - const offsetTop = computed(() => getDistanceTop(state.value.start)); - const totalHeight = createComputedTotalSize(itemHeight, source); - useWatchForSizes(size2, list, containerRef6, calculateRange); - const scrollTo22 = createScrollTo("vertical", calculateRange, getDistanceTop, containerRef6); - const wrapperProps = computed(() => { - return { - style: { - width: "100%", - height: `${totalHeight.value - offsetTop.value}px`, - marginTop: `${offsetTop.value}px` - } - }; - }); - return { - calculateRange, - scrollTo: scrollTo22, - containerStyle, - wrapperProps, - currentList, - containerRef: containerRef6 - }; -} -__name(useVerticalVirtualList, "useVerticalVirtualList"); -function useWakeLock(options3 = {}) { - const { - navigator: navigator2 = defaultNavigator, - document: document2 = defaultDocument - } = options3; - const requestedType = ref(false); - const sentinel = shallowRef(null); - const documentVisibility = useDocumentVisibility({ document: document2 }); - const isSupported2 = useSupported(() => navigator2 && "wakeLock" in navigator2); - const isActive = computed(() => !!sentinel.value && documentVisibility.value === "visible"); - if (isSupported2.value) { - useEventListener(sentinel, "release", () => { - var _a, _b; - requestedType.value = (_b = (_a = sentinel.value) == null ? void 0 : _a.type) != null ? _b : false; - }); - whenever( - () => documentVisibility.value === "visible" && (document2 == null ? void 0 : document2.visibilityState) === "visible" && requestedType.value, - (type) => { - requestedType.value = false; - forceRequest(type); - } - ); - } - async function forceRequest(type) { - var _a; - await ((_a = sentinel.value) == null ? void 0 : _a.release()); - sentinel.value = isSupported2.value ? await navigator2.wakeLock.request(type) : null; - } - __name(forceRequest, "forceRequest"); - async function request(type) { - if (documentVisibility.value === "visible") - await forceRequest(type); - else - requestedType.value = type; - } - __name(request, "request"); - async function release() { - requestedType.value = false; - const s = sentinel.value; - sentinel.value = null; - await (s == null ? void 0 : s.release()); - } - __name(release, "release"); - return { - sentinel, - isSupported: isSupported2, - isActive, - request, - forceRequest, - release - }; -} -__name(useWakeLock, "useWakeLock"); -function useWebNotification(options3 = {}) { - const { - window: window2 = defaultWindow, - requestPermissions: _requestForPermissions = true - } = options3; - const defaultWebNotificationOptions = options3; - const isSupported2 = useSupported(() => { - if (!window2 || !("Notification" in window2)) - return false; - try { - new Notification(""); - } catch (e) { - return false; - } - return true; - }); - const permissionGranted = ref(isSupported2.value && "permission" in Notification && Notification.permission === "granted"); - const notification = ref(null); - const ensurePermissions = /* @__PURE__ */ __name(async () => { - if (!isSupported2.value) - return; - if (!permissionGranted.value && Notification.permission !== "denied") { - const result = await Notification.requestPermission(); - if (result === "granted") - permissionGranted.value = true; - } - return permissionGranted.value; - }, "ensurePermissions"); - const { on: onClick3, trigger: clickTrigger } = createEventHook(); - const { on: onShow, trigger: showTrigger } = createEventHook(); - const { on: onError, trigger: errorTrigger } = createEventHook(); - const { on: onClose, trigger: closeTrigger } = createEventHook(); - const show5 = /* @__PURE__ */ __name(async (overrides) => { - if (!isSupported2.value || !permissionGranted.value) - return; - const options22 = Object.assign({}, defaultWebNotificationOptions, overrides); - notification.value = new Notification(options22.title || "", options22); - notification.value.onclick = clickTrigger; - notification.value.onshow = showTrigger; - notification.value.onerror = errorTrigger; - notification.value.onclose = closeTrigger; - return notification.value; - }, "show"); - const close3 = /* @__PURE__ */ __name(() => { - if (notification.value) - notification.value.close(); - notification.value = null; - }, "close"); - if (_requestForPermissions) - tryOnMounted(ensurePermissions); - tryOnScopeDispose(close3); - if (isSupported2.value && window2) { - const document2 = window2.document; - useEventListener(document2, "visibilitychange", (e) => { - e.preventDefault(); - if (document2.visibilityState === "visible") { - close3(); - } - }); - } - return { - isSupported: isSupported2, - notification, - ensurePermissions, - permissionGranted, - show: show5, - close: close3, - onClick: onClick3, - onShow, - onError, - onClose - }; -} -__name(useWebNotification, "useWebNotification"); -const DEFAULT_PING_MESSAGE = "ping"; -function resolveNestedOptions(options3) { - if (options3 === true) - return {}; - return options3; -} -__name(resolveNestedOptions, "resolveNestedOptions"); -function useWebSocket(url, options3 = {}) { - const { - onConnected, - onDisconnected, - onError, - onMessage, - immediate = true, - autoClose = true, - protocols = [] - } = options3; - const data21 = ref(null); - const status = ref("CLOSED"); - const wsRef = ref(); - const urlRef = toRef(url); - let heartbeatPause; - let heartbeatResume; - let explicitlyClosed = false; - let retried = 0; - let bufferedData = []; - let pongTimeoutWait; - const _sendBuffer = /* @__PURE__ */ __name(() => { - if (bufferedData.length && wsRef.value && status.value === "OPEN") { - for (const buffer2 of bufferedData) - wsRef.value.send(buffer2); - bufferedData = []; - } - }, "_sendBuffer"); - const resetHeartbeat = /* @__PURE__ */ __name(() => { - clearTimeout(pongTimeoutWait); - pongTimeoutWait = void 0; - }, "resetHeartbeat"); - const close3 = /* @__PURE__ */ __name((code2 = 1e3, reason) => { - if (!isClient || !wsRef.value) - return; - explicitlyClosed = true; - resetHeartbeat(); - heartbeatPause == null ? void 0 : heartbeatPause(); - wsRef.value.close(code2, reason); - wsRef.value = void 0; - }, "close"); - const send = /* @__PURE__ */ __name((data22, useBuffer = true) => { - if (!wsRef.value || status.value !== "OPEN") { - if (useBuffer) - bufferedData.push(data22); - return false; - } - _sendBuffer(); - wsRef.value.send(data22); - return true; - }, "send"); - const _init = /* @__PURE__ */ __name(() => { - if (explicitlyClosed || typeof urlRef.value === "undefined") - return; - const ws = new WebSocket(urlRef.value, protocols); - wsRef.value = ws; - status.value = "CONNECTING"; - ws.onopen = () => { - status.value = "OPEN"; - retried = 0; - onConnected == null ? void 0 : onConnected(ws); - heartbeatResume == null ? void 0 : heartbeatResume(); - _sendBuffer(); - }; - ws.onclose = (ev) => { - status.value = "CLOSED"; - onDisconnected == null ? void 0 : onDisconnected(ws, ev); - if (!explicitlyClosed && options3.autoReconnect && ws === wsRef.value) { - const { - retries = -1, - delay = 1e3, - onFailed - } = resolveNestedOptions(options3.autoReconnect); - if (typeof retries === "number" && (retries < 0 || retried < retries)) { - retried += 1; - setTimeout(_init, delay); - } else if (typeof retries === "function" && retries()) { - setTimeout(_init, delay); - } else { - onFailed == null ? void 0 : onFailed(); - } - } - }; - ws.onerror = (e) => { - onError == null ? void 0 : onError(ws, e); - }; - ws.onmessage = (e) => { - if (options3.heartbeat) { - resetHeartbeat(); - const { - message: message2 = DEFAULT_PING_MESSAGE, - responseMessage = message2 - } = resolveNestedOptions(options3.heartbeat); - if (e.data === responseMessage) - return; - } - data21.value = e.data; - onMessage == null ? void 0 : onMessage(ws, e); - }; - }, "_init"); - if (options3.heartbeat) { - const { - message: message2 = DEFAULT_PING_MESSAGE, - interval = 1e3, - pongTimeout = 1e3 - } = resolveNestedOptions(options3.heartbeat); - const { pause, resume } = useIntervalFn( - () => { - send(message2, false); - if (pongTimeoutWait != null) - return; - pongTimeoutWait = setTimeout(() => { - close3(); - explicitlyClosed = false; - }, pongTimeout); - }, - interval, - { immediate: false } - ); - heartbeatPause = pause; - heartbeatResume = resume; - } - if (autoClose) { - if (isClient) - useEventListener("beforeunload", () => close3()); - tryOnScopeDispose(close3); - } - const open2 = /* @__PURE__ */ __name(() => { - if (!isClient && !isWorker) - return; - close3(); - explicitlyClosed = false; - retried = 0; - _init(); - }, "open"); - if (immediate) - open2(); - watch(urlRef, open2); - return { - data: data21, - status, - close: close3, - send, - open: open2, - ws: wsRef - }; -} -__name(useWebSocket, "useWebSocket"); -function useWebWorker(arg0, workerOptions, options3) { - const { - window: window2 = defaultWindow - } = options3 != null ? options3 : {}; - const data21 = ref(null); - const worker = shallowRef(); - const post = /* @__PURE__ */ __name((...args) => { - if (!worker.value) - return; - worker.value.postMessage(...args); - }, "post"); - const terminate = /* @__PURE__ */ __name(function terminate2() { - if (!worker.value) - return; - worker.value.terminate(); - }, "terminate2"); - if (window2) { - if (typeof arg0 === "string") - worker.value = new Worker(arg0, workerOptions); - else if (typeof arg0 === "function") - worker.value = arg0(); - else - worker.value = arg0; - worker.value.onmessage = (e) => { - data21.value = e.data; - }; - tryOnScopeDispose(() => { - if (worker.value) - worker.value.terminate(); - }); - } - return { - data: data21, - post, - terminate, - worker - }; -} -__name(useWebWorker, "useWebWorker"); -function depsParser(deps, localDeps) { - if (deps.length === 0 && localDeps.length === 0) - return ""; - const depsString = deps.map((dep) => `'${dep}'`).toString(); - const depsFunctionString = localDeps.filter((dep) => typeof dep === "function").map((fn) => { - const str = fn.toString(); - if (str.trim().startsWith("function")) { - return str; - } else { - const name = fn.name; - return `const ${name} = ${str}`; - } - }).join(";"); - const importString = `importScripts(${depsString});`; - return `${depsString.trim() === "" ? "" : importString} ${depsFunctionString}`; -} -__name(depsParser, "depsParser"); -function jobRunner(userFunc) { - return (e) => { - const userFuncArgs = e.data[0]; - return Promise.resolve(userFunc.apply(void 0, userFuncArgs)).then((result) => { - postMessage(["SUCCESS", result]); - }).catch((error) => { - postMessage(["ERROR", error]); - }); - }; -} -__name(jobRunner, "jobRunner"); -function createWorkerBlobUrl(fn, deps, localDeps) { - const blobCode = `${depsParser(deps, localDeps)}; onmessage=(${jobRunner})(${fn})`; - const blob = new Blob([blobCode], { type: "text/javascript" }); - const url = URL.createObjectURL(blob); - return url; -} -__name(createWorkerBlobUrl, "createWorkerBlobUrl"); -function useWebWorkerFn(fn, options3 = {}) { - const { - dependencies = [], - localDependencies = [], - timeout, - window: window2 = defaultWindow - } = options3; - const worker = ref(); - const workerStatus = ref("PENDING"); - const promise = ref({}); - const timeoutId = ref(); - const workerTerminate = /* @__PURE__ */ __name((status = "PENDING") => { - if (worker.value && worker.value._url && window2) { - worker.value.terminate(); - URL.revokeObjectURL(worker.value._url); - promise.value = {}; - worker.value = void 0; - window2.clearTimeout(timeoutId.value); - workerStatus.value = status; - } - }, "workerTerminate"); - workerTerminate(); - tryOnScopeDispose(workerTerminate); - const generateWorker = /* @__PURE__ */ __name(() => { - const blobUrl = createWorkerBlobUrl(fn, dependencies, localDependencies); - const newWorker = new Worker(blobUrl); - newWorker._url = blobUrl; - newWorker.onmessage = (e) => { - const { resolve: resolve2 = /* @__PURE__ */ __name(() => { - }, "resolve"), reject: reject2 = /* @__PURE__ */ __name(() => { - }, "reject") } = promise.value; - const [status, result] = e.data; - switch (status) { - case "SUCCESS": - resolve2(result); - workerTerminate(status); - break; - default: - reject2(result); - workerTerminate("ERROR"); - break; - } - }; - newWorker.onerror = (e) => { - const { reject: reject2 = /* @__PURE__ */ __name(() => { - }, "reject") } = promise.value; - e.preventDefault(); - reject2(e); - workerTerminate("ERROR"); - }; - if (timeout) { - timeoutId.value = setTimeout( - () => workerTerminate("TIMEOUT_EXPIRED"), - timeout - ); - } - return newWorker; - }, "generateWorker"); - const callWorker = /* @__PURE__ */ __name((...fnArgs) => new Promise((resolve2, reject2) => { - var _a; - promise.value = { - resolve: resolve2, - reject: reject2 - }; - (_a = worker.value) == null ? void 0 : _a.postMessage([[...fnArgs]]); - workerStatus.value = "RUNNING"; - }), "callWorker"); - const workerFn = /* @__PURE__ */ __name((...fnArgs) => { - if (workerStatus.value === "RUNNING") { - console.error( - "[useWebWorkerFn] You can only run one instance of the worker at a time." - ); - return Promise.reject(); - } - worker.value = generateWorker(); - return callWorker(...fnArgs); - }, "workerFn"); - return { - workerFn, - workerStatus, - workerTerminate - }; -} -__name(useWebWorkerFn, "useWebWorkerFn"); -function useWindowFocus(options3 = {}) { - const { window: window2 = defaultWindow } = options3; - if (!window2) - return ref(false); - const focused = ref(window2.document.hasFocus()); - useEventListener(window2, "blur", () => { - focused.value = false; - }); - useEventListener(window2, "focus", () => { - focused.value = true; - }); - return focused; -} -__name(useWindowFocus, "useWindowFocus"); -function useWindowScroll(options3 = {}) { - const { window: window2 = defaultWindow, behavior = "auto" } = options3; - if (!window2) { - return { - x: ref(0), - y: ref(0) - }; - } - const internalX = ref(window2.scrollX); - const internalY = ref(window2.scrollY); - const x2 = computed({ - get() { - return internalX.value; - }, - set(x22) { - scrollTo({ left: x22, behavior }); - } - }); - const y2 = computed({ - get() { - return internalY.value; - }, - set(y22) { - scrollTo({ top: y22, behavior }); - } - }); - useEventListener( - window2, - "scroll", - () => { - internalX.value = window2.scrollX; - internalY.value = window2.scrollY; - }, - { - capture: false, - passive: true - } - ); - return { x: x2, y: y2 }; -} -__name(useWindowScroll, "useWindowScroll"); -function useWindowSize(options3 = {}) { - const { - window: window2 = defaultWindow, - initialWidth = Number.POSITIVE_INFINITY, - initialHeight = Number.POSITIVE_INFINITY, - listenOrientation = true, - includeScrollbar = true, - type = "inner" - } = options3; - const width2 = ref(initialWidth); - const height = ref(initialHeight); - const update = /* @__PURE__ */ __name(() => { - if (window2) { - if (type === "outer") { - width2.value = window2.outerWidth; - height.value = window2.outerHeight; - } else if (includeScrollbar) { - width2.value = window2.innerWidth; - height.value = window2.innerHeight; - } else { - width2.value = window2.document.documentElement.clientWidth; - height.value = window2.document.documentElement.clientHeight; - } - } - }, "update"); - update(); - tryOnMounted(update); - useEventListener("resize", update, { passive: true }); - if (listenOrientation) { - const matches2 = useMediaQuery("(orientation: portrait)"); - watch(matches2, () => update()); - } - return { width: width2, height }; -} -__name(useWindowSize, "useWindowSize"); -var PrimeVueToastSymbol = Symbol(); -function useToast() { - var PrimeVueToast = inject(PrimeVueToastSymbol); - if (!PrimeVueToast) { - throw new Error("No PrimeVue Toast provided!"); - } - return PrimeVueToast; -} -__name(useToast, "useToast"); -const _sfc_main$t = /* @__PURE__ */ defineComponent({ - __name: "FindIssueButton", - props: { - errorMessage: {}, - repoOwner: {}, - repoName: {} - }, - setup(__props) { - const props = __props; - const queryString = computed(() => props.errorMessage + " is:issue"); - const openGitHubIssues = /* @__PURE__ */ __name(() => { - const query = encodeURIComponent(queryString.value); - const url = `https://github.com/${props.repoOwner}/${props.repoName}/issues?q=${query}`; - window.open(url, "_blank"); - }, "openGitHubIssues"); - return (_ctx, _cache) => { - return openBlock(), createBlock(unref(script$I), { - onClick: openGitHubIssues, - label: _ctx.$t("findIssues"), - severity: "secondary", - icon: "pi pi-github" - }, null, 8, ["label"]); - }; - } -}); -const _hoisted_1$u = { class: "comfy-error-report" }; -const _hoisted_2$j = { class: "wrapper-pre" }; -const _hoisted_3$d = { class: "action-container" }; -const repoOwner = "comfyanonymous"; -const repoName = "ComfyUI"; -const _sfc_main$s = /* @__PURE__ */ defineComponent({ - __name: "ExecutionErrorDialogContent", - props: { - error: {} - }, - setup(__props) { - const props = __props; - const reportContent = ref(""); - const reportOpen = ref(false); - const showReport = /* @__PURE__ */ __name(() => { - reportOpen.value = true; - }, "showReport"); - const toast = useToast(); - const { copy, isSupported: isSupported2 } = useClipboard(); - onMounted(async () => { - try { - const [systemStats, logs] = await Promise.all([ - api.getSystemStats(), - api.getLogs() - ]); - generateReport(systemStats, logs); - } catch (error) { - console.error("Error fetching system stats or logs:", error); - toast.add({ - severity: "error", - summary: "Error", - detail: "Failed to fetch system information", - life: 5e3 - }); - } - }); - const generateReport = /* @__PURE__ */ __name((systemStats, logs) => { - const MAX_JSON_LENGTH = 2e4; - const workflowJSONString = JSON.stringify(app$1.graph.serialize()); - const workflowText = workflowJSONString.length > MAX_JSON_LENGTH ? "Workflow too large. Please manually upload the workflow from local file system." : workflowJSONString; - reportContent.value = ` -# ComfyUI Error Report -## Error Details -- **Node Type:** ${props.error.node_type} -- **Exception Type:** ${props.error.exception_type} -- **Exception Message:** ${props.error.exception_message} -## Stack Trace -\`\`\` -${props.error.traceback.join("\n")} -\`\`\` -## System Information -- **ComfyUI Version:** ${systemStats.system.comfyui_version} -- **Arguments:** ${systemStats.system.argv.join(" ")} -- **OS:** ${systemStats.system.os} -- **Python Version:** ${systemStats.system.python_version} -- **Embedded Python:** ${systemStats.system.embedded_python} -- **PyTorch Version:** ${systemStats.system.pytorch_version} -## Devices -${systemStats.devices.map( - (device) => ` -- **Name:** ${device.name} - - **Type:** ${device.type} - - **VRAM Total:** ${device.vram_total} - - **VRAM Free:** ${device.vram_free} - - **Torch VRAM Total:** ${device.torch_vram_total} - - **Torch VRAM Free:** ${device.torch_vram_free} -` - ).join("\n")} -## Logs -\`\`\` -${logs} -\`\`\` -## Attached Workflow -Please make sure that workflow does not contain any sensitive information such as API keys or passwords. -\`\`\` -${workflowText} -\`\`\` - -## Additional Context -(Please add any additional context or steps to reproduce the error here) -`; - }, "generateReport"); - const copyReportToClipboard = /* @__PURE__ */ __name(async () => { - if (isSupported2) { - try { - await copy(reportContent.value); - toast.add({ - severity: "success", - summary: "Success", - detail: "Report copied to clipboard", - life: 3e3 - }); - } catch (err) { - toast.add({ - severity: "error", - summary: "Error", - detail: "Failed to copy report" - }); - } - } else { - toast.add({ - severity: "error", - summary: "Error", - detail: "Clipboard API not supported in your browser" - }); - } - }, "copyReportToClipboard"); - const openNewGithubIssue = /* @__PURE__ */ __name(async () => { - await copyReportToClipboard(); - const issueTitle = encodeURIComponent( - `[Bug]: ${props.error.exception_type} in ${props.error.node_type}` - ); - const issueBody = encodeURIComponent( - "The report has been copied to the clipboard. Please paste it here." - ); - const url = `https://github.com/${repoOwner}/${repoName}/issues/new?title=${issueTitle}&body=${issueBody}`; - window.open(url, "_blank"); - }, "openNewGithubIssue"); - return (_ctx, _cache) => { - return openBlock(), createElementBlock(Fragment, null, [ - createVNode(NoResultsPlaceholder, { - icon: "pi pi-exclamation-circle", - title: props.error.node_type, - message: props.error.exception_message - }, null, 8, ["title", "message"]), - createBaseVNode("div", _hoisted_1$u, [ - withDirectives(createVNode(unref(script$I), { - label: _ctx.$t("showReport"), - onClick: showReport, - text: "" - }, null, 8, ["label"]), [ - [vShow, !reportOpen.value] - ]), - reportOpen.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [ - createVNode(unref(script$y)), - createVNode(unref(script$x), { style: { "width": "100%", "height": "400px", "max-width": "80vw" } }, { - default: withCtx(() => [ - createBaseVNode("pre", _hoisted_2$j, toDisplayString$1(reportContent.value), 1) - ]), - _: 1 - }), - createVNode(unref(script$y)) - ], 64)) : createCommentVNode("", true), - createBaseVNode("div", _hoisted_3$d, [ - createVNode(_sfc_main$t, { - errorMessage: props.error.exception_message, - repoOwner, - repoName - }, null, 8, ["errorMessage"]), - reportOpen.value ? (openBlock(), createBlock(unref(script$I), { - key: 0, - label: _ctx.$t("copyToClipboard"), - icon: "pi pi-copy", - onClick: copyReportToClipboard - }, null, 8, ["label"])) : createCommentVNode("", true) - ]) - ]) - ], 64); - }; - } -}); -const ExecutionErrorDialogContent = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-25398546"]]); -var theme$d = /* @__PURE__ */ __name(function theme22(_ref) { - var dt2 = _ref.dt; - return '\n.p-progressspinner {\n position: relative;\n margin: 0 auto;\n width: 100px;\n height: 100px;\n display: inline-block;\n}\n\n.p-progressspinner::before {\n content: "";\n display: block;\n padding-top: 100%;\n}\n\n.p-progressspinner-spin {\n height: 100%;\n transform-origin: center center;\n width: 100%;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n margin: auto;\n animation: p-progressspinner-rotate 2s linear infinite;\n}\n\n.p-progressspinner-circle {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: 0;\n stroke: '.concat(dt2("progressspinner.color.1"), ";\n animation: p-progressspinner-dash 1.5s ease-in-out infinite, p-progressspinner-color 6s ease-in-out infinite;\n stroke-linecap: round;\n}\n\n@keyframes p-progressspinner-rotate {\n 100% {\n transform: rotate(360deg);\n }\n}\n@keyframes p-progressspinner-dash {\n 0% {\n stroke-dasharray: 1, 200;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -35px;\n }\n 100% {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -124px;\n }\n}\n@keyframes p-progressspinner-color {\n 100%,\n 0% {\n stroke: ").concat(dt2("progressspinner.color.1"), ";\n }\n 40% {\n stroke: ").concat(dt2("progressspinner.color.2"), ";\n }\n 66% {\n stroke: ").concat(dt2("progressspinner.color.3"), ";\n }\n 80%,\n 90% {\n stroke: ").concat(dt2("progressspinner.color.4"), ";\n }\n}\n"); -}, "theme"); -var classes$d = { - root: "p-progressspinner", - spin: "p-progressspinner-spin", - circle: "p-progressspinner-circle" -}; -var ProgressSpinnerStyle = BaseStyle.extend({ - name: "progressspinner", - theme: theme$d, - classes: classes$d -}); -var script$1$c = { - name: "BaseProgressSpinner", - "extends": script$U, - props: { - strokeWidth: { - type: String, - "default": "2" - }, - fill: { - type: String, - "default": "none" - }, - animationDuration: { - type: String, - "default": "2s" - } - }, - style: ProgressSpinnerStyle, - provide: /* @__PURE__ */ __name(function provide24() { - return { - $pcProgressSpinner: this, - $parentInstance: this - }; - }, "provide") -}; -var script$k = { - name: "ProgressSpinner", - "extends": script$1$c, - inheritAttrs: false, - computed: { - svgStyle: /* @__PURE__ */ __name(function svgStyle() { - return { - "animation-duration": this.animationDuration - }; - }, "svgStyle") - } -}; -var _hoisted_1$t = ["fill", "stroke-width"]; -function render$j(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("div", mergeProps$1({ - "class": _ctx.cx("root"), - role: "progressbar" - }, _ctx.ptmi("root")), [(openBlock(), createElementBlock("svg", mergeProps$1({ - "class": _ctx.cx("spin"), - viewBox: "25 25 50 50", - style: $options.svgStyle - }, _ctx.ptm("spin")), [createBaseVNode("circle", mergeProps$1({ - "class": _ctx.cx("circle"), - cx: "50", - cy: "50", - r: "20", - fill: _ctx.fill, - "stroke-width": _ctx.strokeWidth, - strokeMiterlimit: "10" - }, _ctx.ptm("circle")), null, 16, _hoisted_1$t)], 16))], 16); -} -__name(render$j, "render$j"); -script$k.render = render$j; -/*! - * shared v9.14.1 - * (c) 2024 kazuya kawaguchi - * Released under the MIT License. - */ -const inBrowser = typeof window !== "undefined"; -let mark; -let measure; -if (false) { - const perf2 = inBrowser && window.performance; - if (perf2 && perf2.mark && perf2.measure && perf2.clearMarks && // @ts-ignore browser compat - perf2.clearMeasures) { - mark = /* @__PURE__ */ __name((tag) => { - perf2.mark(tag); - }, "mark"); - measure = /* @__PURE__ */ __name((name, startTag, endTag) => { - perf2.measure(name, startTag, endTag); - perf2.clearMarks(startTag); - perf2.clearMarks(endTag); - }, "measure"); - } -} -const RE_ARGS$1 = /\{([0-9a-zA-Z]+)\}/g; -function format$4(message2, ...args) { - if (args.length === 1 && isObject$2(args[0])) { - args = args[0]; - } - if (!args || !args.hasOwnProperty) { - args = {}; - } - return message2.replace(RE_ARGS$1, (match, identifier) => { - return args.hasOwnProperty(identifier) ? args[identifier] : ""; - }); -} -__name(format$4, "format$4"); -const makeSymbol = /* @__PURE__ */ __name((name, shareable = false) => !shareable ? Symbol(name) : Symbol.for(name), "makeSymbol"); -const generateFormatCacheKey = /* @__PURE__ */ __name((locale2, key, source) => friendlyJSONstringify({ l: locale2, k: key, s: source }), "generateFormatCacheKey"); -const friendlyJSONstringify = /* @__PURE__ */ __name((json) => JSON.stringify(json).replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029").replace(/\u0027/g, "\\u0027"), "friendlyJSONstringify"); -const isNumber$1 = /* @__PURE__ */ __name((val) => typeof val === "number" && isFinite(val), "isNumber$1"); -const isDate = /* @__PURE__ */ __name((val) => toTypeString(val) === "[object Date]", "isDate"); -const isRegExp = /* @__PURE__ */ __name((val) => toTypeString(val) === "[object RegExp]", "isRegExp"); -const isEmptyObject = /* @__PURE__ */ __name((val) => isPlainObject(val) && Object.keys(val).length === 0, "isEmptyObject"); -const assign$2 = Object.assign; -let _globalThis; -const getGlobalThis = /* @__PURE__ */ __name(() => { - return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {}); -}, "getGlobalThis"); -function escapeHtml(rawText) { - return rawText.replace(//g, ">").replace(/"/g, """).replace(/'/g, "'"); -} -__name(escapeHtml, "escapeHtml"); -const hasOwnProperty = Object.prototype.hasOwnProperty; -function hasOwn$1(obj, key) { - return hasOwnProperty.call(obj, key); -} -__name(hasOwn$1, "hasOwn$1"); -const isArray$2 = Array.isArray; -const isFunction = /* @__PURE__ */ __name((val) => typeof val === "function", "isFunction"); -const isString$2 = /* @__PURE__ */ __name((val) => typeof val === "string", "isString$2"); -const isBoolean$1 = /* @__PURE__ */ __name((val) => typeof val === "boolean", "isBoolean$1"); -const isSymbol = /* @__PURE__ */ __name((val) => typeof val === "symbol", "isSymbol"); -const isObject$2 = /* @__PURE__ */ __name((val) => val !== null && typeof val === "object", "isObject$2"); -const isPromise = /* @__PURE__ */ __name((val) => { - return isObject$2(val) && isFunction(val.then) && isFunction(val.catch); -}, "isPromise"); -const objectToString = Object.prototype.toString; -const toTypeString = /* @__PURE__ */ __name((value3) => objectToString.call(value3), "toTypeString"); -const isPlainObject = /* @__PURE__ */ __name((val) => { - if (!isObject$2(val)) - return false; - const proto = Object.getPrototypeOf(val); - return proto === null || proto.constructor === Object; -}, "isPlainObject"); -const toDisplayString = /* @__PURE__ */ __name((val) => { - return val == null ? "" : isArray$2(val) || isPlainObject(val) && val.toString === objectToString ? JSON.stringify(val, null, 2) : String(val); -}, "toDisplayString"); -function join$1(items2, separator = "") { - return items2.reduce((str, item2, index2) => index2 === 0 ? str + item2 : str + separator + item2, ""); -} -__name(join$1, "join$1"); -const RANGE = 2; -function generateCodeFrame(source, start2 = 0, end = source.length) { - const lines = source.split(/\r?\n/); - let count = 0; - const res = []; - for (let i2 = 0; i2 < lines.length; i2++) { - count += lines[i2].length + 1; - if (count >= start2) { - for (let j = i2 - RANGE; j <= i2 + RANGE || end > count; j++) { - if (j < 0 || j >= lines.length) - continue; - const line = j + 1; - res.push(`${line}${" ".repeat(3 - String(line).length)}| ${lines[j]}`); - const lineLength = lines[j].length; - if (j === i2) { - const pad = start2 - (count - lineLength) + 1; - const length = Math.max(1, end > count ? lineLength - pad : end - start2); - res.push(` | ` + " ".repeat(pad) + "^".repeat(length)); - } else if (j > i2) { - if (end > count) { - const length = Math.max(Math.min(end - count, lineLength), 1); - res.push(` | ` + "^".repeat(length)); - } - count += lineLength + 1; - } - } - break; - } - } - return res.join("\n"); -} -__name(generateCodeFrame, "generateCodeFrame"); -function incrementer(code2) { - let current = code2; - return () => ++current; -} -__name(incrementer, "incrementer"); -function warn$1(msg, err) { - if (typeof console !== "undefined") { - console.warn(`[intlify] ` + msg); - if (err) { - console.warn(err.stack); - } - } -} -__name(warn$1, "warn$1"); -const hasWarned = {}; -function warnOnce(msg) { - if (!hasWarned[msg]) { - hasWarned[msg] = true; - warn$1(msg); - } -} -__name(warnOnce, "warnOnce"); -function createEmitter() { - const events2 = /* @__PURE__ */ new Map(); - const emitter = { - events: events2, - on(event2, handler6) { - const handlers2 = events2.get(event2); - const added = handlers2 && handlers2.push(handler6); - if (!added) { - events2.set(event2, [handler6]); - } - }, - off(event2, handler6) { - const handlers2 = events2.get(event2); - if (handlers2) { - handlers2.splice(handlers2.indexOf(handler6) >>> 0, 1); - } - }, - emit(event2, payload) { - (events2.get(event2) || []).slice().map((handler6) => handler6(payload)); - (events2.get("*") || []).slice().map((handler6) => handler6(event2, payload)); - } - }; - return emitter; -} -__name(createEmitter, "createEmitter"); -const isNotObjectOrIsArray = /* @__PURE__ */ __name((val) => !isObject$2(val) || isArray$2(val), "isNotObjectOrIsArray"); -function deepCopy(src, des) { - if (isNotObjectOrIsArray(src) || isNotObjectOrIsArray(des)) { - throw new Error("Invalid value"); - } - const stack2 = [{ src, des }]; - while (stack2.length) { - const { src: src2, des: des2 } = stack2.pop(); - Object.keys(src2).forEach((key) => { - if (isObject$2(src2[key]) && !isObject$2(des2[key])) { - des2[key] = Array.isArray(src2[key]) ? [] : {}; - } - if (isNotObjectOrIsArray(des2[key]) || isNotObjectOrIsArray(src2[key])) { - des2[key] = src2[key]; - } else { - stack2.push({ src: src2[key], des: des2[key] }); - } - }); - } -} -__name(deepCopy, "deepCopy"); -/*! - * message-compiler v9.14.1 - * (c) 2024 kazuya kawaguchi - * Released under the MIT License. - */ -const LOCATION_STUB = { - start: { line: 1, column: 1, offset: 0 }, - end: { line: 1, column: 1, offset: 0 } -}; -function createPosition(line, column, offset) { - return { line, column, offset }; -} -__name(createPosition, "createPosition"); -function createLocation(start2, end, source) { - const loc = { start: start2, end }; - if (source != null) { - loc.source = source; - } - return loc; -} -__name(createLocation, "createLocation"); -const RE_ARGS = /\{([0-9a-zA-Z]+)\}/g; -function format$3(message2, ...args) { - if (args.length === 1 && isObject$1(args[0])) { - args = args[0]; - } - if (!args || !args.hasOwnProperty) { - args = {}; - } - return message2.replace(RE_ARGS, (match, identifier) => { - return args.hasOwnProperty(identifier) ? args[identifier] : ""; - }); -} -__name(format$3, "format$3"); -const assign$1 = Object.assign; -const isString$1 = /* @__PURE__ */ __name((val) => typeof val === "string", "isString$1"); -const isObject$1 = /* @__PURE__ */ __name((val) => val !== null && typeof val === "object", "isObject$1"); -function join(items2, separator = "") { - return items2.reduce((str, item2, index2) => index2 === 0 ? str + item2 : str + separator + item2, ""); -} -__name(join, "join"); -const CompileWarnCodes = { - USE_MODULO_SYNTAX: 1, - __EXTEND_POINT__: 2 -}; -const warnMessages$2 = { - [CompileWarnCodes.USE_MODULO_SYNTAX]: `Use modulo before '{{0}}'.` -}; -function createCompileWarn(code2, loc, ...args) { - const msg = format$3(warnMessages$2[code2] || "", ...args || []); - const message2 = { message: String(msg), code: code2 }; - if (loc) { - message2.location = loc; - } - return message2; -} -__name(createCompileWarn, "createCompileWarn"); -const CompileErrorCodes = { - // tokenizer error codes - EXPECTED_TOKEN: 1, - INVALID_TOKEN_IN_PLACEHOLDER: 2, - UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3, - UNKNOWN_ESCAPE_SEQUENCE: 4, - INVALID_UNICODE_ESCAPE_SEQUENCE: 5, - UNBALANCED_CLOSING_BRACE: 6, - UNTERMINATED_CLOSING_BRACE: 7, - EMPTY_PLACEHOLDER: 8, - NOT_ALLOW_NEST_PLACEHOLDER: 9, - INVALID_LINKED_FORMAT: 10, - // parser error codes - MUST_HAVE_MESSAGES_IN_PLURAL: 11, - UNEXPECTED_EMPTY_LINKED_MODIFIER: 12, - UNEXPECTED_EMPTY_LINKED_KEY: 13, - UNEXPECTED_LEXICAL_ANALYSIS: 14, - // generator error codes - UNHANDLED_CODEGEN_NODE_TYPE: 15, - // minifier error codes - UNHANDLED_MINIFIER_NODE_TYPE: 16, - // Special value for higher-order compilers to pick up the last code - // to avoid collision of error codes. This should always be kept as the last - // item. - __EXTEND_POINT__: 17 -}; -const errorMessages$2 = { - // tokenizer error messages - [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`, - [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`, - [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`, - [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\{0}`, - [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`, - [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`, - [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`, - [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`, - [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`, - [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`, - // parser error messages - [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`, - [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`, - [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`, - [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`, - // generator error messages - [CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE]: `unhandled codegen node type: '{0}'`, - // minimizer error messages - [CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE]: `unhandled mimifier node type: '{0}'` -}; -function createCompileError(code2, loc, options3 = {}) { - const { domain, messages: messages2, args } = options3; - const msg = format$3((messages2 || errorMessages$2)[code2] || "", ...args || []); - const error = new SyntaxError(String(msg)); - error.code = code2; - if (loc) { - error.location = loc; - } - error.domain = domain; - return error; -} -__name(createCompileError, "createCompileError"); -function defaultOnError(error) { - throw error; -} -__name(defaultOnError, "defaultOnError"); -const RE_HTML_TAG = /<\/?[\w\s="/.':;#-\/]+>/; -const detectHtmlTag = /* @__PURE__ */ __name((source) => RE_HTML_TAG.test(source), "detectHtmlTag"); -const CHAR_SP = " "; -const CHAR_CR = "\r"; -const CHAR_LF = "\n"; -const CHAR_LS = String.fromCharCode(8232); -const CHAR_PS = String.fromCharCode(8233); -function createScanner(str) { - const _buf = str; - let _index = 0; - let _line = 1; - let _column = 1; - let _peekOffset = 0; - const isCRLF = /* @__PURE__ */ __name((index3) => _buf[index3] === CHAR_CR && _buf[index3 + 1] === CHAR_LF, "isCRLF"); - const isLF = /* @__PURE__ */ __name((index3) => _buf[index3] === CHAR_LF, "isLF"); - const isPS = /* @__PURE__ */ __name((index3) => _buf[index3] === CHAR_PS, "isPS"); - const isLS = /* @__PURE__ */ __name((index3) => _buf[index3] === CHAR_LS, "isLS"); - const isLineEnd = /* @__PURE__ */ __name((index3) => isCRLF(index3) || isLF(index3) || isPS(index3) || isLS(index3), "isLineEnd"); - const index2 = /* @__PURE__ */ __name(() => _index, "index"); - const line = /* @__PURE__ */ __name(() => _line, "line"); - const column = /* @__PURE__ */ __name(() => _column, "column"); - const peekOffset = /* @__PURE__ */ __name(() => _peekOffset, "peekOffset"); - const charAt = /* @__PURE__ */ __name((offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset], "charAt"); - const currentChar = /* @__PURE__ */ __name(() => charAt(_index), "currentChar"); - const currentPeek = /* @__PURE__ */ __name(() => charAt(_index + _peekOffset), "currentPeek"); - function next2() { - _peekOffset = 0; - if (isLineEnd(_index)) { - _line++; - _column = 0; - } - if (isCRLF(_index)) { - _index++; - } - _index++; - _column++; - return _buf[_index]; - } - __name(next2, "next"); - function peek() { - if (isCRLF(_index + _peekOffset)) { - _peekOffset++; - } - _peekOffset++; - return _buf[_index + _peekOffset]; - } - __name(peek, "peek"); - function reset() { - _index = 0; - _line = 1; - _column = 1; - _peekOffset = 0; - } - __name(reset, "reset"); - function resetPeek(offset = 0) { - _peekOffset = offset; - } - __name(resetPeek, "resetPeek"); - function skipToPeek() { - const target = _index + _peekOffset; - while (target !== _index) { - next2(); - } - _peekOffset = 0; - } - __name(skipToPeek, "skipToPeek"); - return { - index: index2, - line, - column, - peekOffset, - charAt, - currentChar, - currentPeek, - next: next2, - peek, - reset, - resetPeek, - skipToPeek - }; -} -__name(createScanner, "createScanner"); -const EOF = void 0; -const DOT = "."; -const LITERAL_DELIMITER = "'"; -const ERROR_DOMAIN$3 = "tokenizer"; -function createTokenizer(source, options3 = {}) { - const location2 = options3.location !== false; - const _scnr = createScanner(source); - const currentOffset = /* @__PURE__ */ __name(() => _scnr.index(), "currentOffset"); - const currentPosition = /* @__PURE__ */ __name(() => createPosition(_scnr.line(), _scnr.column(), _scnr.index()), "currentPosition"); - const _initLoc = currentPosition(); - const _initOffset = currentOffset(); - const _context = { - currentType: 14, - offset: _initOffset, - startLoc: _initLoc, - endLoc: _initLoc, - lastType: 14, - lastOffset: _initOffset, - lastStartLoc: _initLoc, - lastEndLoc: _initLoc, - braceNest: 0, - inLinked: false, - text: "" - }; - const context = /* @__PURE__ */ __name(() => _context, "context"); - const { onError } = options3; - function emitError(code2, pos2, offset, ...args) { - const ctx = context(); - pos2.column += offset; - pos2.offset += offset; - if (onError) { - const loc = location2 ? createLocation(ctx.startLoc, pos2) : null; - const err = createCompileError(code2, loc, { - domain: ERROR_DOMAIN$3, - args - }); - onError(err); - } - } - __name(emitError, "emitError"); - function getToken(context2, type, value3) { - context2.endLoc = currentPosition(); - context2.currentType = type; - const token = { type }; - if (location2) { - token.loc = createLocation(context2.startLoc, context2.endLoc); - } - if (value3 != null) { - token.value = value3; - } - return token; - } - __name(getToken, "getToken"); - const getEndToken = /* @__PURE__ */ __name((context2) => getToken( - context2, - 14 - /* TokenTypes.EOF */ - ), "getEndToken"); - function eat(scnr, ch) { - if (scnr.currentChar() === ch) { - scnr.next(); - return ch; - } else { - emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch); - return ""; - } - } - __name(eat, "eat"); - function peekSpaces(scnr) { - let buf = ""; - while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) { - buf += scnr.currentPeek(); - scnr.peek(); - } - return buf; - } - __name(peekSpaces, "peekSpaces"); - function skipSpaces(scnr) { - const buf = peekSpaces(scnr); - scnr.skipToPeek(); - return buf; - } - __name(skipSpaces, "skipSpaces"); - function isIdentifierStart(ch) { - if (ch === EOF) { - return false; - } - const cc = ch.charCodeAt(0); - return cc >= 97 && cc <= 122 || // a-z - cc >= 65 && cc <= 90 || // A-Z - cc === 95; - } - __name(isIdentifierStart, "isIdentifierStart"); - function isNumberStart(ch) { - if (ch === EOF) { - return false; - } - const cc = ch.charCodeAt(0); - return cc >= 48 && cc <= 57; - } - __name(isNumberStart, "isNumberStart"); - function isNamedIdentifierStart(scnr, context2) { - const { currentType } = context2; - if (currentType !== 2) { - return false; - } - peekSpaces(scnr); - const ret = isIdentifierStart(scnr.currentPeek()); - scnr.resetPeek(); - return ret; - } - __name(isNamedIdentifierStart, "isNamedIdentifierStart"); - function isListIdentifierStart(scnr, context2) { - const { currentType } = context2; - if (currentType !== 2) { - return false; - } - peekSpaces(scnr); - const ch = scnr.currentPeek() === "-" ? scnr.peek() : scnr.currentPeek(); - const ret = isNumberStart(ch); - scnr.resetPeek(); - return ret; - } - __name(isListIdentifierStart, "isListIdentifierStart"); - function isLiteralStart(scnr, context2) { - const { currentType } = context2; - if (currentType !== 2) { - return false; - } - peekSpaces(scnr); - const ret = scnr.currentPeek() === LITERAL_DELIMITER; - scnr.resetPeek(); - return ret; - } - __name(isLiteralStart, "isLiteralStart"); - function isLinkedDotStart(scnr, context2) { - const { currentType } = context2; - if (currentType !== 8) { - return false; - } - peekSpaces(scnr); - const ret = scnr.currentPeek() === "."; - scnr.resetPeek(); - return ret; - } - __name(isLinkedDotStart, "isLinkedDotStart"); - function isLinkedModifierStart(scnr, context2) { - const { currentType } = context2; - if (currentType !== 9) { - return false; - } - peekSpaces(scnr); - const ret = isIdentifierStart(scnr.currentPeek()); - scnr.resetPeek(); - return ret; - } - __name(isLinkedModifierStart, "isLinkedModifierStart"); - function isLinkedDelimiterStart(scnr, context2) { - const { currentType } = context2; - if (!(currentType === 8 || currentType === 12)) { - return false; - } - peekSpaces(scnr); - const ret = scnr.currentPeek() === ":"; - scnr.resetPeek(); - return ret; - } - __name(isLinkedDelimiterStart, "isLinkedDelimiterStart"); - function isLinkedReferStart(scnr, context2) { - const { currentType } = context2; - if (currentType !== 10) { - return false; - } - const fn = /* @__PURE__ */ __name(() => { - const ch = scnr.currentPeek(); - if (ch === "{") { - return isIdentifierStart(scnr.peek()); - } else if (ch === "@" || ch === "%" || ch === "|" || ch === ":" || ch === "." || ch === CHAR_SP || !ch) { - return false; - } else if (ch === CHAR_LF) { - scnr.peek(); - return fn(); - } else { - return isTextStart(scnr, false); - } - }, "fn"); - const ret = fn(); - scnr.resetPeek(); - return ret; - } - __name(isLinkedReferStart, "isLinkedReferStart"); - function isPluralStart(scnr) { - peekSpaces(scnr); - const ret = scnr.currentPeek() === "|"; - scnr.resetPeek(); - return ret; - } - __name(isPluralStart, "isPluralStart"); - function detectModuloStart(scnr) { - const spaces = peekSpaces(scnr); - const ret = scnr.currentPeek() === "%" && scnr.peek() === "{"; - scnr.resetPeek(); - return { - isModulo: ret, - hasSpace: spaces.length > 0 - }; - } - __name(detectModuloStart, "detectModuloStart"); - function isTextStart(scnr, reset = true) { - const fn = /* @__PURE__ */ __name((hasSpace = false, prev2 = "", detectModulo = false) => { - const ch = scnr.currentPeek(); - if (ch === "{") { - return prev2 === "%" ? false : hasSpace; - } else if (ch === "@" || !ch) { - return prev2 === "%" ? true : hasSpace; - } else if (ch === "%") { - scnr.peek(); - return fn(hasSpace, "%", true); - } else if (ch === "|") { - return prev2 === "%" || detectModulo ? true : !(prev2 === CHAR_SP || prev2 === CHAR_LF); - } else if (ch === CHAR_SP) { - scnr.peek(); - return fn(true, CHAR_SP, detectModulo); - } else if (ch === CHAR_LF) { - scnr.peek(); - return fn(true, CHAR_LF, detectModulo); - } else { - return true; - } - }, "fn"); - const ret = fn(); - reset && scnr.resetPeek(); - return ret; - } - __name(isTextStart, "isTextStart"); - function takeChar(scnr, fn) { - const ch = scnr.currentChar(); - if (ch === EOF) { - return EOF; - } - if (fn(ch)) { - scnr.next(); - return ch; - } - return null; - } - __name(takeChar, "takeChar"); - function isIdentifier(ch) { - const cc = ch.charCodeAt(0); - return cc >= 97 && cc <= 122 || // a-z - cc >= 65 && cc <= 90 || // A-Z - cc >= 48 && cc <= 57 || // 0-9 - cc === 95 || // _ - cc === 36; - } - __name(isIdentifier, "isIdentifier"); - function takeIdentifierChar(scnr) { - return takeChar(scnr, isIdentifier); - } - __name(takeIdentifierChar, "takeIdentifierChar"); - function isNamedIdentifier(ch) { - const cc = ch.charCodeAt(0); - return cc >= 97 && cc <= 122 || // a-z - cc >= 65 && cc <= 90 || // A-Z - cc >= 48 && cc <= 57 || // 0-9 - cc === 95 || // _ - cc === 36 || // $ - cc === 45; - } - __name(isNamedIdentifier, "isNamedIdentifier"); - function takeNamedIdentifierChar(scnr) { - return takeChar(scnr, isNamedIdentifier); - } - __name(takeNamedIdentifierChar, "takeNamedIdentifierChar"); - function isDigit(ch) { - const cc = ch.charCodeAt(0); - return cc >= 48 && cc <= 57; - } - __name(isDigit, "isDigit"); - function takeDigit(scnr) { - return takeChar(scnr, isDigit); - } - __name(takeDigit, "takeDigit"); - function isHexDigit(ch) { - const cc = ch.charCodeAt(0); - return cc >= 48 && cc <= 57 || // 0-9 - cc >= 65 && cc <= 70 || // A-F - cc >= 97 && cc <= 102; - } - __name(isHexDigit, "isHexDigit"); - function takeHexDigit(scnr) { - return takeChar(scnr, isHexDigit); - } - __name(takeHexDigit, "takeHexDigit"); - function getDigits(scnr) { - let ch = ""; - let num = ""; - while (ch = takeDigit(scnr)) { - num += ch; - } - return num; - } - __name(getDigits, "getDigits"); - function readModulo(scnr) { - skipSpaces(scnr); - const ch = scnr.currentChar(); - if (ch !== "%") { - emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch); - } - scnr.next(); - return "%"; - } - __name(readModulo, "readModulo"); - function readText(scnr) { - let buf = ""; - while (true) { - const ch = scnr.currentChar(); - if (ch === "{" || ch === "}" || ch === "@" || ch === "|" || !ch) { - break; - } else if (ch === "%") { - if (isTextStart(scnr)) { - buf += ch; - scnr.next(); - } else { - break; - } - } else if (ch === CHAR_SP || ch === CHAR_LF) { - if (isTextStart(scnr)) { - buf += ch; - scnr.next(); - } else if (isPluralStart(scnr)) { - break; - } else { - buf += ch; - scnr.next(); - } - } else { - buf += ch; - scnr.next(); - } - } - return buf; - } - __name(readText, "readText"); - function readNamedIdentifier(scnr) { - skipSpaces(scnr); - let ch = ""; - let name = ""; - while (ch = takeNamedIdentifierChar(scnr)) { - name += ch; - } - if (scnr.currentChar() === EOF) { - emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0); - } - return name; - } - __name(readNamedIdentifier, "readNamedIdentifier"); - function readListIdentifier(scnr) { - skipSpaces(scnr); - let value3 = ""; - if (scnr.currentChar() === "-") { - scnr.next(); - value3 += `-${getDigits(scnr)}`; - } else { - value3 += getDigits(scnr); - } - if (scnr.currentChar() === EOF) { - emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0); - } - return value3; - } - __name(readListIdentifier, "readListIdentifier"); - function isLiteral2(ch) { - return ch !== LITERAL_DELIMITER && ch !== CHAR_LF; - } - __name(isLiteral2, "isLiteral"); - function readLiteral(scnr) { - skipSpaces(scnr); - eat(scnr, `'`); - let ch = ""; - let literal = ""; - while (ch = takeChar(scnr, isLiteral2)) { - if (ch === "\\") { - literal += readEscapeSequence(scnr); - } else { - literal += ch; - } - } - const current = scnr.currentChar(); - if (current === CHAR_LF || current === EOF) { - emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0); - if (current === CHAR_LF) { - scnr.next(); - eat(scnr, `'`); - } - return literal; - } - eat(scnr, `'`); - return literal; - } - __name(readLiteral, "readLiteral"); - function readEscapeSequence(scnr) { - const ch = scnr.currentChar(); - switch (ch) { - case "\\": - case `'`: - scnr.next(); - return `\\${ch}`; - case "u": - return readUnicodeEscapeSequence(scnr, ch, 4); - case "U": - return readUnicodeEscapeSequence(scnr, ch, 6); - default: - emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch); - return ""; - } - } - __name(readEscapeSequence, "readEscapeSequence"); - function readUnicodeEscapeSequence(scnr, unicode, digits) { - eat(scnr, unicode); - let sequence = ""; - for (let i2 = 0; i2 < digits; i2++) { - const ch = takeHexDigit(scnr); - if (!ch) { - emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\${unicode}${sequence}${scnr.currentChar()}`); - break; - } - sequence += ch; - } - return `\\${unicode}${sequence}`; - } - __name(readUnicodeEscapeSequence, "readUnicodeEscapeSequence"); - function isInvalidIdentifier(ch) { - return ch !== "{" && ch !== "}" && ch !== CHAR_SP && ch !== CHAR_LF; - } - __name(isInvalidIdentifier, "isInvalidIdentifier"); - function readInvalidIdentifier(scnr) { - skipSpaces(scnr); - let ch = ""; - let identifiers = ""; - while (ch = takeChar(scnr, isInvalidIdentifier)) { - identifiers += ch; - } - return identifiers; - } - __name(readInvalidIdentifier, "readInvalidIdentifier"); - function readLinkedModifier(scnr) { - let ch = ""; - let name = ""; - while (ch = takeIdentifierChar(scnr)) { - name += ch; - } - return name; - } - __name(readLinkedModifier, "readLinkedModifier"); - function readLinkedRefer(scnr) { - const fn = /* @__PURE__ */ __name((buf) => { - const ch = scnr.currentChar(); - if (ch === "{" || ch === "%" || ch === "@" || ch === "|" || ch === "(" || ch === ")" || !ch) { - return buf; - } else if (ch === CHAR_SP) { - return buf; - } else if (ch === CHAR_LF || ch === DOT) { - buf += ch; - scnr.next(); - return fn(buf); - } else { - buf += ch; - scnr.next(); - return fn(buf); - } - }, "fn"); - return fn(""); - } - __name(readLinkedRefer, "readLinkedRefer"); - function readPlural(scnr) { - skipSpaces(scnr); - const plural = eat( - scnr, - "|" - /* TokenChars.Pipe */ - ); - skipSpaces(scnr); - return plural; - } - __name(readPlural, "readPlural"); - function readTokenInPlaceholder(scnr, context2) { - let token = null; - const ch = scnr.currentChar(); - switch (ch) { - case "{": - if (context2.braceNest >= 1) { - emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0); - } - scnr.next(); - token = getToken( - context2, - 2, - "{" - /* TokenChars.BraceLeft */ - ); - skipSpaces(scnr); - context2.braceNest++; - return token; - case "}": - if (context2.braceNest > 0 && context2.currentType === 2) { - emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0); - } - scnr.next(); - token = getToken( - context2, - 3, - "}" - /* TokenChars.BraceRight */ - ); - context2.braceNest--; - context2.braceNest > 0 && skipSpaces(scnr); - if (context2.inLinked && context2.braceNest === 0) { - context2.inLinked = false; - } - return token; - case "@": - if (context2.braceNest > 0) { - emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0); - } - token = readTokenInLinked(scnr, context2) || getEndToken(context2); - context2.braceNest = 0; - return token; - default: { - let validNamedIdentifier = true; - let validListIdentifier = true; - let validLiteral = true; - if (isPluralStart(scnr)) { - if (context2.braceNest > 0) { - emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0); - } - token = getToken(context2, 1, readPlural(scnr)); - context2.braceNest = 0; - context2.inLinked = false; - return token; - } - if (context2.braceNest > 0 && (context2.currentType === 5 || context2.currentType === 6 || context2.currentType === 7)) { - emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0); - context2.braceNest = 0; - return readToken(scnr, context2); - } - if (validNamedIdentifier = isNamedIdentifierStart(scnr, context2)) { - token = getToken(context2, 5, readNamedIdentifier(scnr)); - skipSpaces(scnr); - return token; - } - if (validListIdentifier = isListIdentifierStart(scnr, context2)) { - token = getToken(context2, 6, readListIdentifier(scnr)); - skipSpaces(scnr); - return token; - } - if (validLiteral = isLiteralStart(scnr, context2)) { - token = getToken(context2, 7, readLiteral(scnr)); - skipSpaces(scnr); - return token; - } - if (!validNamedIdentifier && !validListIdentifier && !validLiteral) { - token = getToken(context2, 13, readInvalidIdentifier(scnr)); - emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value); - skipSpaces(scnr); - return token; - } - break; - } - } - return token; - } - __name(readTokenInPlaceholder, "readTokenInPlaceholder"); - function readTokenInLinked(scnr, context2) { - const { currentType } = context2; - let token = null; - const ch = scnr.currentChar(); - if ((currentType === 8 || currentType === 9 || currentType === 12 || currentType === 10) && (ch === CHAR_LF || ch === CHAR_SP)) { - emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0); - } - switch (ch) { - case "@": - scnr.next(); - token = getToken( - context2, - 8, - "@" - /* TokenChars.LinkedAlias */ - ); - context2.inLinked = true; - return token; - case ".": - skipSpaces(scnr); - scnr.next(); - return getToken( - context2, - 9, - "." - /* TokenChars.LinkedDot */ - ); - case ":": - skipSpaces(scnr); - scnr.next(); - return getToken( - context2, - 10, - ":" - /* TokenChars.LinkedDelimiter */ - ); - default: - if (isPluralStart(scnr)) { - token = getToken(context2, 1, readPlural(scnr)); - context2.braceNest = 0; - context2.inLinked = false; - return token; - } - if (isLinkedDotStart(scnr, context2) || isLinkedDelimiterStart(scnr, context2)) { - skipSpaces(scnr); - return readTokenInLinked(scnr, context2); - } - if (isLinkedModifierStart(scnr, context2)) { - skipSpaces(scnr); - return getToken(context2, 12, readLinkedModifier(scnr)); - } - if (isLinkedReferStart(scnr, context2)) { - skipSpaces(scnr); - if (ch === "{") { - return readTokenInPlaceholder(scnr, context2) || token; - } else { - return getToken(context2, 11, readLinkedRefer(scnr)); - } - } - if (currentType === 8) { - emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0); - } - context2.braceNest = 0; - context2.inLinked = false; - return readToken(scnr, context2); - } - } - __name(readTokenInLinked, "readTokenInLinked"); - function readToken(scnr, context2) { - let token = { - type: 14 - /* TokenTypes.EOF */ - }; - if (context2.braceNest > 0) { - return readTokenInPlaceholder(scnr, context2) || getEndToken(context2); - } - if (context2.inLinked) { - return readTokenInLinked(scnr, context2) || getEndToken(context2); - } - const ch = scnr.currentChar(); - switch (ch) { - case "{": - return readTokenInPlaceholder(scnr, context2) || getEndToken(context2); - case "}": - emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0); - scnr.next(); - return getToken( - context2, - 3, - "}" - /* TokenChars.BraceRight */ - ); - case "@": - return readTokenInLinked(scnr, context2) || getEndToken(context2); - default: { - if (isPluralStart(scnr)) { - token = getToken(context2, 1, readPlural(scnr)); - context2.braceNest = 0; - context2.inLinked = false; - return token; - } - const { isModulo, hasSpace } = detectModuloStart(scnr); - if (isModulo) { - return hasSpace ? getToken(context2, 0, readText(scnr)) : getToken(context2, 4, readModulo(scnr)); - } - if (isTextStart(scnr)) { - return getToken(context2, 0, readText(scnr)); - } - break; - } - } - return token; - } - __name(readToken, "readToken"); - function nextToken() { - const { currentType, offset, startLoc, endLoc } = _context; - _context.lastType = currentType; - _context.lastOffset = offset; - _context.lastStartLoc = startLoc; - _context.lastEndLoc = endLoc; - _context.offset = currentOffset(); - _context.startLoc = currentPosition(); - if (_scnr.currentChar() === EOF) { - return getToken( - _context, - 14 - /* TokenTypes.EOF */ - ); - } - return readToken(_scnr, _context); - } - __name(nextToken, "nextToken"); - return { - nextToken, - currentOffset, - currentPosition, - context - }; -} -__name(createTokenizer, "createTokenizer"); -const ERROR_DOMAIN$2 = "parser"; -const KNOWN_ESCAPES = /(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g; -function fromEscapeSequence(match, codePoint4, codePoint6) { - switch (match) { - case `\\\\`: - return `\\`; - case `\\'`: - return `'`; - default: { - const codePoint = parseInt(codePoint4 || codePoint6, 16); - if (codePoint <= 55295 || codePoint >= 57344) { - return String.fromCodePoint(codePoint); - } - return "�"; - } - } -} -__name(fromEscapeSequence, "fromEscapeSequence"); -function createParser(options3 = {}) { - const location2 = options3.location !== false; - const { onError, onWarn } = options3; - function emitError(tokenzer, code2, start2, offset, ...args) { - const end = tokenzer.currentPosition(); - end.offset += offset; - end.column += offset; - if (onError) { - const loc = location2 ? createLocation(start2, end) : null; - const err = createCompileError(code2, loc, { - domain: ERROR_DOMAIN$2, - args - }); - onError(err); - } - } - __name(emitError, "emitError"); - function emitWarn(tokenzer, code2, start2, offset, ...args) { - const end = tokenzer.currentPosition(); - end.offset += offset; - end.column += offset; - if (onWarn) { - const loc = location2 ? createLocation(start2, end) : null; - onWarn(createCompileWarn(code2, loc, args)); - } - } - __name(emitWarn, "emitWarn"); - function startNode(type, offset, loc) { - const node3 = { type }; - if (location2) { - node3.start = offset; - node3.end = offset; - node3.loc = { start: loc, end: loc }; - } - return node3; - } - __name(startNode, "startNode"); - function endNode(node3, offset, pos2, type) { - if (type) { - node3.type = type; - } - if (location2) { - node3.end = offset; - if (node3.loc) { - node3.loc.end = pos2; - } - } - } - __name(endNode, "endNode"); - function parseText(tokenizer, value3) { - const context = tokenizer.context(); - const node3 = startNode(3, context.offset, context.startLoc); - node3.value = value3; - endNode(node3, tokenizer.currentOffset(), tokenizer.currentPosition()); - return node3; - } - __name(parseText, "parseText"); - function parseList(tokenizer, index2) { - const context = tokenizer.context(); - const { lastOffset: offset, lastStartLoc: loc } = context; - const node3 = startNode(5, offset, loc); - node3.index = parseInt(index2, 10); - tokenizer.nextToken(); - endNode(node3, tokenizer.currentOffset(), tokenizer.currentPosition()); - return node3; - } - __name(parseList, "parseList"); - function parseNamed(tokenizer, key, modulo) { - const context = tokenizer.context(); - const { lastOffset: offset, lastStartLoc: loc } = context; - const node3 = startNode(4, offset, loc); - node3.key = key; - if (modulo === true) { - node3.modulo = true; - } - tokenizer.nextToken(); - endNode(node3, tokenizer.currentOffset(), tokenizer.currentPosition()); - return node3; - } - __name(parseNamed, "parseNamed"); - function parseLiteral(tokenizer, value3) { - const context = tokenizer.context(); - const { lastOffset: offset, lastStartLoc: loc } = context; - const node3 = startNode(9, offset, loc); - node3.value = value3.replace(KNOWN_ESCAPES, fromEscapeSequence); - tokenizer.nextToken(); - endNode(node3, tokenizer.currentOffset(), tokenizer.currentPosition()); - return node3; - } - __name(parseLiteral, "parseLiteral"); - function parseLinkedModifier(tokenizer) { - const token = tokenizer.nextToken(); - const context = tokenizer.context(); - const { lastOffset: offset, lastStartLoc: loc } = context; - const node3 = startNode(8, offset, loc); - if (token.type !== 12) { - emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0); - node3.value = ""; - endNode(node3, offset, loc); - return { - nextConsumeToken: token, - node: node3 - }; - } - if (token.value == null) { - emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); - } - node3.value = token.value || ""; - endNode(node3, tokenizer.currentOffset(), tokenizer.currentPosition()); - return { - node: node3 - }; - } - __name(parseLinkedModifier, "parseLinkedModifier"); - function parseLinkedKey(tokenizer, value3) { - const context = tokenizer.context(); - const node3 = startNode(7, context.offset, context.startLoc); - node3.value = value3; - endNode(node3, tokenizer.currentOffset(), tokenizer.currentPosition()); - return node3; - } - __name(parseLinkedKey, "parseLinkedKey"); - function parseLinked(tokenizer) { - const context = tokenizer.context(); - const linkedNode = startNode(6, context.offset, context.startLoc); - let token = tokenizer.nextToken(); - if (token.type === 9) { - const parsed = parseLinkedModifier(tokenizer); - linkedNode.modifier = parsed.node; - token = parsed.nextConsumeToken || tokenizer.nextToken(); - } - if (token.type !== 10) { - emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); - } - token = tokenizer.nextToken(); - if (token.type === 2) { - token = tokenizer.nextToken(); - } - switch (token.type) { - case 11: - if (token.value == null) { - emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); - } - linkedNode.key = parseLinkedKey(tokenizer, token.value || ""); - break; - case 5: - if (token.value == null) { - emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); - } - linkedNode.key = parseNamed(tokenizer, token.value || ""); - break; - case 6: - if (token.value == null) { - emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); - } - linkedNode.key = parseList(tokenizer, token.value || ""); - break; - case 7: - if (token.value == null) { - emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); - } - linkedNode.key = parseLiteral(tokenizer, token.value || ""); - break; - default: { - emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0); - const nextContext = tokenizer.context(); - const emptyLinkedKeyNode = startNode(7, nextContext.offset, nextContext.startLoc); - emptyLinkedKeyNode.value = ""; - endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc); - linkedNode.key = emptyLinkedKeyNode; - endNode(linkedNode, nextContext.offset, nextContext.startLoc); - return { - nextConsumeToken: token, - node: linkedNode - }; - } - } - endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition()); - return { - node: linkedNode - }; - } - __name(parseLinked, "parseLinked"); - function parseMessage(tokenizer) { - const context = tokenizer.context(); - const startOffset = context.currentType === 1 ? tokenizer.currentOffset() : context.offset; - const startLoc = context.currentType === 1 ? context.endLoc : context.startLoc; - const node3 = startNode(2, startOffset, startLoc); - node3.items = []; - let nextToken = null; - let modulo = null; - do { - const token = nextToken || tokenizer.nextToken(); - nextToken = null; - switch (token.type) { - case 0: - if (token.value == null) { - emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); - } - node3.items.push(parseText(tokenizer, token.value || "")); - break; - case 6: - if (token.value == null) { - emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); - } - node3.items.push(parseList(tokenizer, token.value || "")); - break; - case 4: - modulo = true; - break; - case 5: - if (token.value == null) { - emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); - } - node3.items.push(parseNamed(tokenizer, token.value || "", !!modulo)); - if (modulo) { - emitWarn(tokenizer, CompileWarnCodes.USE_MODULO_SYNTAX, context.lastStartLoc, 0, getTokenCaption(token)); - modulo = null; - } - break; - case 7: - if (token.value == null) { - emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); - } - node3.items.push(parseLiteral(tokenizer, token.value || "")); - break; - case 8: { - const parsed = parseLinked(tokenizer); - node3.items.push(parsed.node); - nextToken = parsed.nextConsumeToken || null; - break; - } - } - } while (context.currentType !== 14 && context.currentType !== 1); - const endOffset = context.currentType === 1 ? context.lastOffset : tokenizer.currentOffset(); - const endLoc = context.currentType === 1 ? context.lastEndLoc : tokenizer.currentPosition(); - endNode(node3, endOffset, endLoc); - return node3; - } - __name(parseMessage, "parseMessage"); - function parsePlural(tokenizer, offset, loc, msgNode) { - const context = tokenizer.context(); - let hasEmptyMessage = msgNode.items.length === 0; - const node3 = startNode(1, offset, loc); - node3.cases = []; - node3.cases.push(msgNode); - do { - const msg = parseMessage(tokenizer); - if (!hasEmptyMessage) { - hasEmptyMessage = msg.items.length === 0; - } - node3.cases.push(msg); - } while (context.currentType !== 14); - if (hasEmptyMessage) { - emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0); - } - endNode(node3, tokenizer.currentOffset(), tokenizer.currentPosition()); - return node3; - } - __name(parsePlural, "parsePlural"); - function parseResource(tokenizer) { - const context = tokenizer.context(); - const { offset, startLoc } = context; - const msgNode = parseMessage(tokenizer); - if (context.currentType === 14) { - return msgNode; - } else { - return parsePlural(tokenizer, offset, startLoc, msgNode); - } - } - __name(parseResource, "parseResource"); - function parse2(source) { - const tokenizer = createTokenizer(source, assign$1({}, options3)); - const context = tokenizer.context(); - const node3 = startNode(0, context.offset, context.startLoc); - if (location2 && node3.loc) { - node3.loc.source = source; - } - node3.body = parseResource(tokenizer); - if (options3.onCacheKey) { - node3.cacheKey = options3.onCacheKey(source); - } - if (context.currentType !== 14) { - emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || ""); - } - endNode(node3, tokenizer.currentOffset(), tokenizer.currentPosition()); - return node3; - } - __name(parse2, "parse"); - return { parse: parse2 }; -} -__name(createParser, "createParser"); -function getTokenCaption(token) { - if (token.type === 14) { - return "EOF"; - } - const name = (token.value || "").replace(/\r?\n/gu, "\\n"); - return name.length > 10 ? name.slice(0, 9) + "…" : name; -} -__name(getTokenCaption, "getTokenCaption"); -function createTransformer(ast, options3 = {}) { - const _context = { - ast, - helpers: /* @__PURE__ */ new Set() - }; - const context = /* @__PURE__ */ __name(() => _context, "context"); - const helper = /* @__PURE__ */ __name((name) => { - _context.helpers.add(name); - return name; - }, "helper"); - return { context, helper }; -} -__name(createTransformer, "createTransformer"); -function traverseNodes(nodes, transformer) { - for (let i2 = 0; i2 < nodes.length; i2++) { - traverseNode(nodes[i2], transformer); - } -} -__name(traverseNodes, "traverseNodes"); -function traverseNode(node3, transformer) { - switch (node3.type) { - case 1: - traverseNodes(node3.cases, transformer); - transformer.helper( - "plural" - /* HelperNameMap.PLURAL */ - ); - break; - case 2: - traverseNodes(node3.items, transformer); - break; - case 6: { - const linked = node3; - traverseNode(linked.key, transformer); - transformer.helper( - "linked" - /* HelperNameMap.LINKED */ - ); - transformer.helper( - "type" - /* HelperNameMap.TYPE */ - ); - break; - } - case 5: - transformer.helper( - "interpolate" - /* HelperNameMap.INTERPOLATE */ - ); - transformer.helper( - "list" - /* HelperNameMap.LIST */ - ); - break; - case 4: - transformer.helper( - "interpolate" - /* HelperNameMap.INTERPOLATE */ - ); - transformer.helper( - "named" - /* HelperNameMap.NAMED */ - ); - break; - } -} -__name(traverseNode, "traverseNode"); -function transform(ast, options3 = {}) { - const transformer = createTransformer(ast); - transformer.helper( - "normalize" - /* HelperNameMap.NORMALIZE */ - ); - ast.body && traverseNode(ast.body, transformer); - const context = transformer.context(); - ast.helpers = Array.from(context.helpers); -} -__name(transform, "transform"); -function optimize(ast) { - const body = ast.body; - if (body.type === 2) { - optimizeMessageNode(body); - } else { - body.cases.forEach((c) => optimizeMessageNode(c)); - } - return ast; -} -__name(optimize, "optimize"); -function optimizeMessageNode(message2) { - if (message2.items.length === 1) { - const item2 = message2.items[0]; - if (item2.type === 3 || item2.type === 9) { - message2.static = item2.value; - delete item2.value; - } - } else { - const values2 = []; - for (let i2 = 0; i2 < message2.items.length; i2++) { - const item2 = message2.items[i2]; - if (!(item2.type === 3 || item2.type === 9)) { - break; - } - if (item2.value == null) { - break; - } - values2.push(item2.value); - } - if (values2.length === message2.items.length) { - message2.static = join(values2); - for (let i2 = 0; i2 < message2.items.length; i2++) { - const item2 = message2.items[i2]; - if (item2.type === 3 || item2.type === 9) { - delete item2.value; - } - } - } - } -} -__name(optimizeMessageNode, "optimizeMessageNode"); -const ERROR_DOMAIN$1 = "minifier"; -function minify(node3) { - node3.t = node3.type; - switch (node3.type) { - case 0: { - const resource = node3; - minify(resource.body); - resource.b = resource.body; - delete resource.body; - break; - } - case 1: { - const plural = node3; - const cases = plural.cases; - for (let i2 = 0; i2 < cases.length; i2++) { - minify(cases[i2]); - } - plural.c = cases; - delete plural.cases; - break; - } - case 2: { - const message2 = node3; - const items2 = message2.items; - for (let i2 = 0; i2 < items2.length; i2++) { - minify(items2[i2]); - } - message2.i = items2; - delete message2.items; - if (message2.static) { - message2.s = message2.static; - delete message2.static; - } - break; - } - case 3: - case 9: - case 8: - case 7: { - const valueNode = node3; - if (valueNode.value) { - valueNode.v = valueNode.value; - delete valueNode.value; - } - break; - } - case 6: { - const linked = node3; - minify(linked.key); - linked.k = linked.key; - delete linked.key; - if (linked.modifier) { - minify(linked.modifier); - linked.m = linked.modifier; - delete linked.modifier; - } - break; - } - case 5: { - const list = node3; - list.i = list.index; - delete list.index; - break; - } - case 4: { - const named = node3; - named.k = named.key; - delete named.key; - break; - } - default: { - throw createCompileError(CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE, null, { - domain: ERROR_DOMAIN$1, - args: [node3.type] - }); - } - } - delete node3.type; -} -__name(minify, "minify"); -const ERROR_DOMAIN = "parser"; -function createCodeGenerator(ast, options3) { - const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options3; - const location2 = options3.location !== false; - const _context = { - filename, - code: "", - column: 1, - line: 1, - offset: 0, - map: void 0, - breakLineCode, - needIndent: _needIndent, - indentLevel: 0 - }; - if (location2 && ast.loc) { - _context.source = ast.loc.source; - } - const context = /* @__PURE__ */ __name(() => _context, "context"); - function push(code2, node3) { - _context.code += code2; - } - __name(push, "push"); - function _newline(n, withBreakLine = true) { - const _breakLineCode = withBreakLine ? breakLineCode : ""; - push(_needIndent ? _breakLineCode + ` `.repeat(n) : _breakLineCode); - } - __name(_newline, "_newline"); - function indent(withNewLine = true) { - const level = ++_context.indentLevel; - withNewLine && _newline(level); - } - __name(indent, "indent"); - function deindent(withNewLine = true) { - const level = --_context.indentLevel; - withNewLine && _newline(level); - } - __name(deindent, "deindent"); - function newline() { - _newline(_context.indentLevel); - } - __name(newline, "newline"); - const helper = /* @__PURE__ */ __name((key) => `_${key}`, "helper"); - const needIndent = /* @__PURE__ */ __name(() => _context.needIndent, "needIndent"); - return { - context, - push, - indent, - deindent, - newline, - helper, - needIndent - }; -} -__name(createCodeGenerator, "createCodeGenerator"); -function generateLinkedNode(generator, node3) { - const { helper } = generator; - generator.push(`${helper( - "linked" - /* HelperNameMap.LINKED */ - )}(`); - generateNode(generator, node3.key); - if (node3.modifier) { - generator.push(`, `); - generateNode(generator, node3.modifier); - generator.push(`, _type`); - } else { - generator.push(`, undefined, _type`); - } - generator.push(`)`); -} -__name(generateLinkedNode, "generateLinkedNode"); -function generateMessageNode(generator, node3) { - const { helper, needIndent } = generator; - generator.push(`${helper( - "normalize" - /* HelperNameMap.NORMALIZE */ - )}([`); - generator.indent(needIndent()); - const length = node3.items.length; - for (let i2 = 0; i2 < length; i2++) { - generateNode(generator, node3.items[i2]); - if (i2 === length - 1) { - break; - } - generator.push(", "); - } - generator.deindent(needIndent()); - generator.push("])"); -} -__name(generateMessageNode, "generateMessageNode"); -function generatePluralNode(generator, node3) { - const { helper, needIndent } = generator; - if (node3.cases.length > 1) { - generator.push(`${helper( - "plural" - /* HelperNameMap.PLURAL */ - )}([`); - generator.indent(needIndent()); - const length = node3.cases.length; - for (let i2 = 0; i2 < length; i2++) { - generateNode(generator, node3.cases[i2]); - if (i2 === length - 1) { - break; - } - generator.push(", "); - } - generator.deindent(needIndent()); - generator.push(`])`); - } -} -__name(generatePluralNode, "generatePluralNode"); -function generateResource(generator, node3) { - if (node3.body) { - generateNode(generator, node3.body); - } else { - generator.push("null"); - } -} -__name(generateResource, "generateResource"); -function generateNode(generator, node3) { - const { helper } = generator; - switch (node3.type) { - case 0: - generateResource(generator, node3); - break; - case 1: - generatePluralNode(generator, node3); - break; - case 2: - generateMessageNode(generator, node3); - break; - case 6: - generateLinkedNode(generator, node3); - break; - case 8: - generator.push(JSON.stringify(node3.value), node3); - break; - case 7: - generator.push(JSON.stringify(node3.value), node3); - break; - case 5: - generator.push(`${helper( - "interpolate" - /* HelperNameMap.INTERPOLATE */ - )}(${helper( - "list" - /* HelperNameMap.LIST */ - )}(${node3.index}))`, node3); - break; - case 4: - generator.push(`${helper( - "interpolate" - /* HelperNameMap.INTERPOLATE */ - )}(${helper( - "named" - /* HelperNameMap.NAMED */ - )}(${JSON.stringify(node3.key)}))`, node3); - break; - case 9: - generator.push(JSON.stringify(node3.value), node3); - break; - case 3: - generator.push(JSON.stringify(node3.value), node3); - break; - default: { - throw createCompileError(CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE, null, { - domain: ERROR_DOMAIN, - args: [node3.type] - }); - } - } -} -__name(generateNode, "generateNode"); -const generate = /* @__PURE__ */ __name((ast, options3 = {}) => { - const mode2 = isString$1(options3.mode) ? options3.mode : "normal"; - const filename = isString$1(options3.filename) ? options3.filename : "message.intl"; - const sourceMap = !!options3.sourceMap; - const breakLineCode = options3.breakLineCode != null ? options3.breakLineCode : mode2 === "arrow" ? ";" : "\n"; - const needIndent = options3.needIndent ? options3.needIndent : mode2 !== "arrow"; - const helpers = ast.helpers || []; - const generator = createCodeGenerator(ast, { - mode: mode2, - filename, - sourceMap, - breakLineCode, - needIndent - }); - generator.push(mode2 === "normal" ? `function __msg__ (ctx) {` : `(ctx) => {`); - generator.indent(needIndent); - if (helpers.length > 0) { - generator.push(`const { ${join(helpers.map((s) => `${s}: _${s}`), ", ")} } = ctx`); - generator.newline(); - } - generator.push(`return `); - generateNode(generator, ast); - generator.deindent(needIndent); - generator.push(`}`); - delete ast.helpers; - const { code: code2, map: map2 } = generator.context(); - return { - ast, - code: code2, - map: map2 ? map2.toJSON() : void 0 - // eslint-disable-line @typescript-eslint/no-explicit-any - }; -}, "generate"); -function baseCompile$1(source, options3 = {}) { - const assignedOptions = assign$1({}, options3); - const jit = !!assignedOptions.jit; - const enalbeMinify = !!assignedOptions.minify; - const enambeOptimize = assignedOptions.optimize == null ? true : assignedOptions.optimize; - const parser = createParser(assignedOptions); - const ast = parser.parse(source); - if (!jit) { - transform(ast, assignedOptions); - return generate(ast, assignedOptions); - } else { - enambeOptimize && optimize(ast); - enalbeMinify && minify(ast); - return { ast, code: "" }; - } -} -__name(baseCompile$1, "baseCompile$1"); -/*! - * core-base v9.14.1 - * (c) 2024 kazuya kawaguchi - * Released under the MIT License. - */ -function initFeatureFlags$1() { - if (typeof __INTLIFY_PROD_DEVTOOLS__ !== "boolean") { - getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false; - } - if (typeof __INTLIFY_JIT_COMPILATION__ !== "boolean") { - getGlobalThis().__INTLIFY_JIT_COMPILATION__ = false; - } - if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== "boolean") { - getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false; - } -} -__name(initFeatureFlags$1, "initFeatureFlags$1"); -const pathStateMachine = []; -pathStateMachine[ - 0 - /* States.BEFORE_PATH */ -] = { - [ - "w" - /* PathCharTypes.WORKSPACE */ - ]: [ - 0 - /* States.BEFORE_PATH */ - ], - [ - "i" - /* PathCharTypes.IDENT */ - ]: [ - 3, - 0 - /* Actions.APPEND */ - ], - [ - "[" - /* PathCharTypes.LEFT_BRACKET */ - ]: [ - 4 - /* States.IN_SUB_PATH */ - ], - [ - "o" - /* PathCharTypes.END_OF_FAIL */ - ]: [ - 7 - /* States.AFTER_PATH */ - ] -}; -pathStateMachine[ - 1 - /* States.IN_PATH */ -] = { - [ - "w" - /* PathCharTypes.WORKSPACE */ - ]: [ - 1 - /* States.IN_PATH */ - ], - [ - "." - /* PathCharTypes.DOT */ - ]: [ - 2 - /* States.BEFORE_IDENT */ - ], - [ - "[" - /* PathCharTypes.LEFT_BRACKET */ - ]: [ - 4 - /* States.IN_SUB_PATH */ - ], - [ - "o" - /* PathCharTypes.END_OF_FAIL */ - ]: [ - 7 - /* States.AFTER_PATH */ - ] -}; -pathStateMachine[ - 2 - /* States.BEFORE_IDENT */ -] = { - [ - "w" - /* PathCharTypes.WORKSPACE */ - ]: [ - 2 - /* States.BEFORE_IDENT */ - ], - [ - "i" - /* PathCharTypes.IDENT */ - ]: [ - 3, - 0 - /* Actions.APPEND */ - ], - [ - "0" - /* PathCharTypes.ZERO */ - ]: [ - 3, - 0 - /* Actions.APPEND */ - ] -}; -pathStateMachine[ - 3 - /* States.IN_IDENT */ -] = { - [ - "i" - /* PathCharTypes.IDENT */ - ]: [ - 3, - 0 - /* Actions.APPEND */ - ], - [ - "0" - /* PathCharTypes.ZERO */ - ]: [ - 3, - 0 - /* Actions.APPEND */ - ], - [ - "w" - /* PathCharTypes.WORKSPACE */ - ]: [ - 1, - 1 - /* Actions.PUSH */ - ], - [ - "." - /* PathCharTypes.DOT */ - ]: [ - 2, - 1 - /* Actions.PUSH */ - ], - [ - "[" - /* PathCharTypes.LEFT_BRACKET */ - ]: [ - 4, - 1 - /* Actions.PUSH */ - ], - [ - "o" - /* PathCharTypes.END_OF_FAIL */ - ]: [ - 7, - 1 - /* Actions.PUSH */ - ] -}; -pathStateMachine[ - 4 - /* States.IN_SUB_PATH */ -] = { - [ - "'" - /* PathCharTypes.SINGLE_QUOTE */ - ]: [ - 5, - 0 - /* Actions.APPEND */ - ], - [ - '"' - /* PathCharTypes.DOUBLE_QUOTE */ - ]: [ - 6, - 0 - /* Actions.APPEND */ - ], - [ - "[" - /* PathCharTypes.LEFT_BRACKET */ - ]: [ - 4, - 2 - /* Actions.INC_SUB_PATH_DEPTH */ - ], - [ - "]" - /* PathCharTypes.RIGHT_BRACKET */ - ]: [ - 1, - 3 - /* Actions.PUSH_SUB_PATH */ - ], - [ - "o" - /* PathCharTypes.END_OF_FAIL */ - ]: 8, - [ - "l" - /* PathCharTypes.ELSE */ - ]: [ - 4, - 0 - /* Actions.APPEND */ - ] -}; -pathStateMachine[ - 5 - /* States.IN_SINGLE_QUOTE */ -] = { - [ - "'" - /* PathCharTypes.SINGLE_QUOTE */ - ]: [ - 4, - 0 - /* Actions.APPEND */ - ], - [ - "o" - /* PathCharTypes.END_OF_FAIL */ - ]: 8, - [ - "l" - /* PathCharTypes.ELSE */ - ]: [ - 5, - 0 - /* Actions.APPEND */ - ] -}; -pathStateMachine[ - 6 - /* States.IN_DOUBLE_QUOTE */ -] = { - [ - '"' - /* PathCharTypes.DOUBLE_QUOTE */ - ]: [ - 4, - 0 - /* Actions.APPEND */ - ], - [ - "o" - /* PathCharTypes.END_OF_FAIL */ - ]: 8, - [ - "l" - /* PathCharTypes.ELSE */ - ]: [ - 6, - 0 - /* Actions.APPEND */ - ] -}; -const literalValueRE = /^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/; -function isLiteral(exp) { - return literalValueRE.test(exp); -} -__name(isLiteral, "isLiteral"); -function stripQuotes(str) { - const a = str.charCodeAt(0); - const b = str.charCodeAt(str.length - 1); - return a === b && (a === 34 || a === 39) ? str.slice(1, -1) : str; -} -__name(stripQuotes, "stripQuotes"); -function getPathCharType(ch) { - if (ch === void 0 || ch === null) { - return "o"; - } - const code2 = ch.charCodeAt(0); - switch (code2) { - case 91: - case 93: - case 46: - case 34: - case 39: - return ch; - case 95: - case 36: - case 45: - return "i"; - case 9: - case 10: - case 13: - case 160: - case 65279: - case 8232: - case 8233: - return "w"; - } - return "i"; -} -__name(getPathCharType, "getPathCharType"); -function formatSubPath(path) { - const trimmed = path.trim(); - if (path.charAt(0) === "0" && isNaN(parseInt(path))) { - return false; - } - return isLiteral(trimmed) ? stripQuotes(trimmed) : "*" + trimmed; -} -__name(formatSubPath, "formatSubPath"); -function parse$1(path) { - const keys2 = []; - let index2 = -1; - let mode2 = 0; - let subPathDepth = 0; - let c; - let key; - let newChar; - let type; - let transition; - let action; - let typeMap; - const actions = []; - actions[ - 0 - /* Actions.APPEND */ - ] = () => { - if (key === void 0) { - key = newChar; - } else { - key += newChar; - } - }; - actions[ - 1 - /* Actions.PUSH */ - ] = () => { - if (key !== void 0) { - keys2.push(key); - key = void 0; - } - }; - actions[ - 2 - /* Actions.INC_SUB_PATH_DEPTH */ - ] = () => { - actions[ - 0 - /* Actions.APPEND */ - ](); - subPathDepth++; - }; - actions[ - 3 - /* Actions.PUSH_SUB_PATH */ - ] = () => { - if (subPathDepth > 0) { - subPathDepth--; - mode2 = 4; - actions[ - 0 - /* Actions.APPEND */ - ](); - } else { - subPathDepth = 0; - if (key === void 0) { - return false; - } - key = formatSubPath(key); - if (key === false) { - return false; - } else { - actions[ - 1 - /* Actions.PUSH */ - ](); - } - } - }; - function maybeUnescapeQuote() { - const nextChar = path[index2 + 1]; - if (mode2 === 5 && nextChar === "'" || mode2 === 6 && nextChar === '"') { - index2++; - newChar = "\\" + nextChar; - actions[ - 0 - /* Actions.APPEND */ - ](); - return true; - } - } - __name(maybeUnescapeQuote, "maybeUnescapeQuote"); - while (mode2 !== null) { - index2++; - c = path[index2]; - if (c === "\\" && maybeUnescapeQuote()) { - continue; - } - type = getPathCharType(c); - typeMap = pathStateMachine[mode2]; - transition = typeMap[type] || typeMap[ - "l" - /* PathCharTypes.ELSE */ - ] || 8; - if (transition === 8) { - return; - } - mode2 = transition[0]; - if (transition[1] !== void 0) { - action = actions[transition[1]]; - if (action) { - newChar = c; - if (action() === false) { - return; - } - } - } - if (mode2 === 7) { - return keys2; - } - } -} -__name(parse$1, "parse$1"); -const cache = /* @__PURE__ */ new Map(); -function resolveWithKeyValue(obj, path) { - return isObject$2(obj) ? obj[path] : null; -} -__name(resolveWithKeyValue, "resolveWithKeyValue"); -function resolveValue(obj, path) { - if (!isObject$2(obj)) { - return null; - } - let hit = cache.get(path); - if (!hit) { - hit = parse$1(path); - if (hit) { - cache.set(path, hit); - } - } - if (!hit) { - return null; - } - const len = hit.length; - let last = obj; - let i2 = 0; - while (i2 < len) { - const val = last[hit[i2]]; - if (val === void 0) { - return null; - } - if (isFunction(last)) { - return null; - } - last = val; - i2++; - } - return last; -} -__name(resolveValue, "resolveValue"); -const DEFAULT_MODIFIER = /* @__PURE__ */ __name((str) => str, "DEFAULT_MODIFIER"); -const DEFAULT_MESSAGE = /* @__PURE__ */ __name((ctx) => "", "DEFAULT_MESSAGE"); -const DEFAULT_MESSAGE_DATA_TYPE = "text"; -const DEFAULT_NORMALIZE = /* @__PURE__ */ __name((values2) => values2.length === 0 ? "" : join$1(values2), "DEFAULT_NORMALIZE"); -const DEFAULT_INTERPOLATE = toDisplayString; -function pluralDefault(choice, choicesLength) { - choice = Math.abs(choice); - if (choicesLength === 2) { - return choice ? choice > 1 ? 1 : 0 : 1; - } - return choice ? Math.min(choice, 2) : 0; -} -__name(pluralDefault, "pluralDefault"); -function getPluralIndex(options3) { - const index2 = isNumber$1(options3.pluralIndex) ? options3.pluralIndex : -1; - return options3.named && (isNumber$1(options3.named.count) || isNumber$1(options3.named.n)) ? isNumber$1(options3.named.count) ? options3.named.count : isNumber$1(options3.named.n) ? options3.named.n : index2 : index2; -} -__name(getPluralIndex, "getPluralIndex"); -function normalizeNamed(pluralIndex, props) { - if (!props.count) { - props.count = pluralIndex; - } - if (!props.n) { - props.n = pluralIndex; - } -} -__name(normalizeNamed, "normalizeNamed"); -function createMessageContext(options3 = {}) { - const locale2 = options3.locale; - const pluralIndex = getPluralIndex(options3); - const pluralRule = isObject$2(options3.pluralRules) && isString$2(locale2) && isFunction(options3.pluralRules[locale2]) ? options3.pluralRules[locale2] : pluralDefault; - const orgPluralRule = isObject$2(options3.pluralRules) && isString$2(locale2) && isFunction(options3.pluralRules[locale2]) ? pluralDefault : void 0; - const plural = /* @__PURE__ */ __name((messages2) => { - return messages2[pluralRule(pluralIndex, messages2.length, orgPluralRule)]; - }, "plural"); - const _list = options3.list || []; - const list = /* @__PURE__ */ __name((index2) => _list[index2], "list"); - const _named = options3.named || {}; - isNumber$1(options3.pluralIndex) && normalizeNamed(pluralIndex, _named); - const named = /* @__PURE__ */ __name((key) => _named[key], "named"); - function message2(key) { - const msg = isFunction(options3.messages) ? options3.messages(key) : isObject$2(options3.messages) ? options3.messages[key] : false; - return !msg ? options3.parent ? options3.parent.message(key) : DEFAULT_MESSAGE : msg; - } - __name(message2, "message"); - const _modifier = /* @__PURE__ */ __name((name) => options3.modifiers ? options3.modifiers[name] : DEFAULT_MODIFIER, "_modifier"); - const normalize = isPlainObject(options3.processor) && isFunction(options3.processor.normalize) ? options3.processor.normalize : DEFAULT_NORMALIZE; - const interpolate = isPlainObject(options3.processor) && isFunction(options3.processor.interpolate) ? options3.processor.interpolate : DEFAULT_INTERPOLATE; - const type = isPlainObject(options3.processor) && isString$2(options3.processor.type) ? options3.processor.type : DEFAULT_MESSAGE_DATA_TYPE; - const linked = /* @__PURE__ */ __name((key, ...args) => { - const [arg1, arg2] = args; - let type2 = "text"; - let modifier = ""; - if (args.length === 1) { - if (isObject$2(arg1)) { - modifier = arg1.modifier || modifier; - type2 = arg1.type || type2; - } else if (isString$2(arg1)) { - modifier = arg1 || modifier; - } - } else if (args.length === 2) { - if (isString$2(arg1)) { - modifier = arg1 || modifier; - } - if (isString$2(arg2)) { - type2 = arg2 || type2; - } - } - const ret = message2(key)(ctx); - const msg = ( - // The message in vnode resolved with linked are returned as an array by processor.nomalize - type2 === "vnode" && isArray$2(ret) && modifier ? ret[0] : ret - ); - return modifier ? _modifier(modifier)(msg, type2) : msg; - }, "linked"); - const ctx = { - [ - "list" - /* HelperNameMap.LIST */ - ]: list, - [ - "named" - /* HelperNameMap.NAMED */ - ]: named, - [ - "plural" - /* HelperNameMap.PLURAL */ - ]: plural, - [ - "linked" - /* HelperNameMap.LINKED */ - ]: linked, - [ - "message" - /* HelperNameMap.MESSAGE */ - ]: message2, - [ - "type" - /* HelperNameMap.TYPE */ - ]: type, - [ - "interpolate" - /* HelperNameMap.INTERPOLATE */ - ]: interpolate, - [ - "normalize" - /* HelperNameMap.NORMALIZE */ - ]: normalize, - [ - "values" - /* HelperNameMap.VALUES */ - ]: assign$2({}, _list, _named) - }; - return ctx; -} -__name(createMessageContext, "createMessageContext"); -let devtools = null; -function setDevToolsHook(hook) { - devtools = hook; -} -__name(setDevToolsHook, "setDevToolsHook"); -function getDevToolsHook() { - return devtools; -} -__name(getDevToolsHook, "getDevToolsHook"); -function initI18nDevTools(i18n2, version2, meta) { - devtools && devtools.emit("i18n:init", { - timestamp: Date.now(), - i18n: i18n2, - version: version2, - meta - }); -} -__name(initI18nDevTools, "initI18nDevTools"); -const translateDevTools = /* @__PURE__ */ createDevToolsHook( - "function:translate" - /* IntlifyDevToolsHooks.FunctionTranslate */ -); -function createDevToolsHook(hook) { - return (payloads) => devtools && devtools.emit(hook, payloads); -} -__name(createDevToolsHook, "createDevToolsHook"); -const code$1$1 = CompileWarnCodes.__EXTEND_POINT__; -const inc$1$1 = incrementer(code$1$1); -const CoreWarnCodes = { - NOT_FOUND_KEY: code$1$1, - // 2 - FALLBACK_TO_TRANSLATE: inc$1$1(), - // 3 - CANNOT_FORMAT_NUMBER: inc$1$1(), - // 4 - FALLBACK_TO_NUMBER_FORMAT: inc$1$1(), - // 5 - CANNOT_FORMAT_DATE: inc$1$1(), - // 6 - FALLBACK_TO_DATE_FORMAT: inc$1$1(), - // 7 - EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER: inc$1$1(), - // 8 - __EXTEND_POINT__: inc$1$1() - // 9 -}; -const warnMessages$1 = { - [CoreWarnCodes.NOT_FOUND_KEY]: `Not found '{key}' key in '{locale}' locale messages.`, - [CoreWarnCodes.FALLBACK_TO_TRANSLATE]: `Fall back to translate '{key}' key with '{target}' locale.`, - [CoreWarnCodes.CANNOT_FORMAT_NUMBER]: `Cannot format a number value due to not supported Intl.NumberFormat.`, - [CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]: `Fall back to number format '{key}' key with '{target}' locale.`, - [CoreWarnCodes.CANNOT_FORMAT_DATE]: `Cannot format a date value due to not supported Intl.DateTimeFormat.`, - [CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]: `Fall back to datetime format '{key}' key with '{target}' locale.`, - [CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]: `This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future.` -}; -function getWarnMessage$1(code2, ...args) { - return format$4(warnMessages$1[code2], ...args); -} -__name(getWarnMessage$1, "getWarnMessage$1"); -const code$2 = CompileErrorCodes.__EXTEND_POINT__; -const inc$2 = incrementer(code$2); -const CoreErrorCodes = { - INVALID_ARGUMENT: code$2, - // 17 - INVALID_DATE_ARGUMENT: inc$2(), - // 18 - INVALID_ISO_DATE_ARGUMENT: inc$2(), - // 19 - NOT_SUPPORT_NON_STRING_MESSAGE: inc$2(), - // 20 - NOT_SUPPORT_LOCALE_PROMISE_VALUE: inc$2(), - // 21 - NOT_SUPPORT_LOCALE_ASYNC_FUNCTION: inc$2(), - // 22 - NOT_SUPPORT_LOCALE_TYPE: inc$2(), - // 23 - __EXTEND_POINT__: inc$2() - // 24 -}; -function createCoreError(code2) { - return createCompileError(code2, null, false ? { messages: errorMessages$1 } : void 0); -} -__name(createCoreError, "createCoreError"); -const errorMessages$1 = { - [CoreErrorCodes.INVALID_ARGUMENT]: "Invalid arguments", - [CoreErrorCodes.INVALID_DATE_ARGUMENT]: "The date provided is an invalid Date object.Make sure your Date represents a valid date.", - [CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT]: "The argument provided is not a valid ISO date string", - [CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE]: "Not support non-string message", - [CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE]: "cannot support promise value", - [CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION]: "cannot support async function", - [CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE]: "cannot support locale type" -}; -function getLocale(context, options3) { - return options3.locale != null ? resolveLocale(options3.locale) : resolveLocale(context.locale); -} -__name(getLocale, "getLocale"); -let _resolveLocale; -function resolveLocale(locale2) { - if (isString$2(locale2)) { - return locale2; - } else { - if (isFunction(locale2)) { - if (locale2.resolvedOnce && _resolveLocale != null) { - return _resolveLocale; - } else if (locale2.constructor.name === "Function") { - const resolve2 = locale2(); - if (isPromise(resolve2)) { - throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE); - } - return _resolveLocale = resolve2; - } else { - throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION); - } - } else { - throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE); - } - } -} -__name(resolveLocale, "resolveLocale"); -function fallbackWithSimple(ctx, fallback, start2) { - return [.../* @__PURE__ */ new Set([ - start2, - ...isArray$2(fallback) ? fallback : isObject$2(fallback) ? Object.keys(fallback) : isString$2(fallback) ? [fallback] : [start2] - ])]; -} -__name(fallbackWithSimple, "fallbackWithSimple"); -function fallbackWithLocaleChain(ctx, fallback, start2) { - const startLocale = isString$2(start2) ? start2 : DEFAULT_LOCALE; - const context = ctx; - if (!context.__localeChainCache) { - context.__localeChainCache = /* @__PURE__ */ new Map(); - } - let chain = context.__localeChainCache.get(startLocale); - if (!chain) { - chain = []; - let block2 = [start2]; - while (isArray$2(block2)) { - block2 = appendBlockToChain(chain, block2, fallback); - } - const defaults2 = isArray$2(fallback) || !isPlainObject(fallback) ? fallback : fallback["default"] ? fallback["default"] : null; - block2 = isString$2(defaults2) ? [defaults2] : defaults2; - if (isArray$2(block2)) { - appendBlockToChain(chain, block2, false); - } - context.__localeChainCache.set(startLocale, chain); - } - return chain; -} -__name(fallbackWithLocaleChain, "fallbackWithLocaleChain"); -function appendBlockToChain(chain, block2, blocks) { - let follow = true; - for (let i2 = 0; i2 < block2.length && isBoolean$1(follow); i2++) { - const locale2 = block2[i2]; - if (isString$2(locale2)) { - follow = appendLocaleToChain(chain, block2[i2], blocks); - } - } - return follow; -} -__name(appendBlockToChain, "appendBlockToChain"); -function appendLocaleToChain(chain, locale2, blocks) { - let follow; - const tokens = locale2.split("-"); - do { - const target = tokens.join("-"); - follow = appendItemToChain(chain, target, blocks); - tokens.splice(-1, 1); - } while (tokens.length && follow === true); - return follow; -} -__name(appendLocaleToChain, "appendLocaleToChain"); -function appendItemToChain(chain, target, blocks) { - let follow = false; - if (!chain.includes(target)) { - follow = true; - if (target) { - follow = target[target.length - 1] !== "!"; - const locale2 = target.replace(/!/g, ""); - chain.push(locale2); - if ((isArray$2(blocks) || isPlainObject(blocks)) && blocks[locale2]) { - follow = blocks[locale2]; - } - } - } - return follow; -} -__name(appendItemToChain, "appendItemToChain"); -const VERSION$1 = "9.14.1"; -const NOT_REOSLVED = -1; -const DEFAULT_LOCALE = "en-US"; -const MISSING_RESOLVE_VALUE = ""; -const capitalize = /* @__PURE__ */ __name((str) => `${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`, "capitalize"); -function getDefaultLinkedModifiers() { - return { - upper: /* @__PURE__ */ __name((val, type) => { - return type === "text" && isString$2(val) ? val.toUpperCase() : type === "vnode" && isObject$2(val) && "__v_isVNode" in val ? val.children.toUpperCase() : val; - }, "upper"), - lower: /* @__PURE__ */ __name((val, type) => { - return type === "text" && isString$2(val) ? val.toLowerCase() : type === "vnode" && isObject$2(val) && "__v_isVNode" in val ? val.children.toLowerCase() : val; - }, "lower"), - capitalize: /* @__PURE__ */ __name((val, type) => { - return type === "text" && isString$2(val) ? capitalize(val) : type === "vnode" && isObject$2(val) && "__v_isVNode" in val ? capitalize(val.children) : val; - }, "capitalize") - }; -} -__name(getDefaultLinkedModifiers, "getDefaultLinkedModifiers"); -let _compiler; -function registerMessageCompiler(compiler) { - _compiler = compiler; -} -__name(registerMessageCompiler, "registerMessageCompiler"); -let _resolver; -function registerMessageResolver(resolver) { - _resolver = resolver; -} -__name(registerMessageResolver, "registerMessageResolver"); -let _fallbacker; -function registerLocaleFallbacker(fallbacker) { - _fallbacker = fallbacker; -} -__name(registerLocaleFallbacker, "registerLocaleFallbacker"); -let _additionalMeta = null; -const setAdditionalMeta = /* @__PURE__ */ __name(/* @__NO_SIDE_EFFECTS__ */ (meta) => { - _additionalMeta = meta; -}, "setAdditionalMeta"); -const getAdditionalMeta = /* @__PURE__ */ __name(/* @__NO_SIDE_EFFECTS__ */ () => _additionalMeta, "getAdditionalMeta"); -let _fallbackContext = null; -const setFallbackContext = /* @__PURE__ */ __name((context) => { - _fallbackContext = context; -}, "setFallbackContext"); -const getFallbackContext = /* @__PURE__ */ __name(() => _fallbackContext, "getFallbackContext"); -let _cid = 0; -function createCoreContext(options3 = {}) { - const onWarn = isFunction(options3.onWarn) ? options3.onWarn : warn$1; - const version2 = isString$2(options3.version) ? options3.version : VERSION$1; - const locale2 = isString$2(options3.locale) || isFunction(options3.locale) ? options3.locale : DEFAULT_LOCALE; - const _locale = isFunction(locale2) ? DEFAULT_LOCALE : locale2; - const fallbackLocale = isArray$2(options3.fallbackLocale) || isPlainObject(options3.fallbackLocale) || isString$2(options3.fallbackLocale) || options3.fallbackLocale === false ? options3.fallbackLocale : _locale; - const messages2 = isPlainObject(options3.messages) ? options3.messages : { [_locale]: {} }; - const datetimeFormats = isPlainObject(options3.datetimeFormats) ? options3.datetimeFormats : { [_locale]: {} }; - const numberFormats = isPlainObject(options3.numberFormats) ? options3.numberFormats : { [_locale]: {} }; - const modifiers = assign$2({}, options3.modifiers || {}, getDefaultLinkedModifiers()); - const pluralRules = options3.pluralRules || {}; - const missing = isFunction(options3.missing) ? options3.missing : null; - const missingWarn = isBoolean$1(options3.missingWarn) || isRegExp(options3.missingWarn) ? options3.missingWarn : true; - const fallbackWarn = isBoolean$1(options3.fallbackWarn) || isRegExp(options3.fallbackWarn) ? options3.fallbackWarn : true; - const fallbackFormat = !!options3.fallbackFormat; - const unresolving = !!options3.unresolving; - const postTranslation = isFunction(options3.postTranslation) ? options3.postTranslation : null; - const processor = isPlainObject(options3.processor) ? options3.processor : null; - const warnHtmlMessage = isBoolean$1(options3.warnHtmlMessage) ? options3.warnHtmlMessage : true; - const escapeParameter = !!options3.escapeParameter; - const messageCompiler = isFunction(options3.messageCompiler) ? options3.messageCompiler : _compiler; - if (false) { - warnOnce(getWarnMessage$1(CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER)); - } - const messageResolver = isFunction(options3.messageResolver) ? options3.messageResolver : _resolver || resolveWithKeyValue; - const localeFallbacker = isFunction(options3.localeFallbacker) ? options3.localeFallbacker : _fallbacker || fallbackWithSimple; - const fallbackContext = isObject$2(options3.fallbackContext) ? options3.fallbackContext : void 0; - const internalOptions = options3; - const __datetimeFormatters = isObject$2(internalOptions.__datetimeFormatters) ? internalOptions.__datetimeFormatters : /* @__PURE__ */ new Map(); - const __numberFormatters = isObject$2(internalOptions.__numberFormatters) ? internalOptions.__numberFormatters : /* @__PURE__ */ new Map(); - const __meta = isObject$2(internalOptions.__meta) ? internalOptions.__meta : {}; - _cid++; - const context = { - version: version2, - cid: _cid, - locale: locale2, - fallbackLocale, - messages: messages2, - modifiers, - pluralRules, - missing, - missingWarn, - fallbackWarn, - fallbackFormat, - unresolving, - postTranslation, - processor, - warnHtmlMessage, - escapeParameter, - messageCompiler, - messageResolver, - localeFallbacker, - fallbackContext, - onWarn, - __meta - }; - { - context.datetimeFormats = datetimeFormats; - context.numberFormats = numberFormats; - context.__datetimeFormatters = __datetimeFormatters; - context.__numberFormatters = __numberFormatters; - } - if (false) { - context.__v_emitter = internalOptions.__v_emitter != null ? internalOptions.__v_emitter : void 0; - } - if (__INTLIFY_PROD_DEVTOOLS__) { - initI18nDevTools(context, version2, __meta); - } - return context; -} -__name(createCoreContext, "createCoreContext"); -function isTranslateFallbackWarn(fallback, key) { - return fallback instanceof RegExp ? fallback.test(key) : fallback; -} -__name(isTranslateFallbackWarn, "isTranslateFallbackWarn"); -function isTranslateMissingWarn(missing, key) { - return missing instanceof RegExp ? missing.test(key) : missing; -} -__name(isTranslateMissingWarn, "isTranslateMissingWarn"); -function handleMissing(context, key, locale2, missingWarn, type) { - const { missing, onWarn } = context; - if (false) { - const emitter = context.__v_emitter; - if (emitter) { - emitter.emit("missing", { - locale: locale2, - key, - type, - groupId: `${type}:${key}` - }); - } - } - if (missing !== null) { - const ret = missing(context, locale2, key, type); - return isString$2(ret) ? ret : key; - } else { - if (false) { - onWarn(getWarnMessage$1(CoreWarnCodes.NOT_FOUND_KEY, { key, locale: locale2 })); - } - return key; - } -} -__name(handleMissing, "handleMissing"); -function updateFallbackLocale(ctx, locale2, fallback) { - const context = ctx; - context.__localeChainCache = /* @__PURE__ */ new Map(); - ctx.localeFallbacker(ctx, fallback, locale2); -} -__name(updateFallbackLocale, "updateFallbackLocale"); -function isAlmostSameLocale(locale2, compareLocale) { - if (locale2 === compareLocale) - return false; - return locale2.split("-")[0] === compareLocale.split("-")[0]; -} -__name(isAlmostSameLocale, "isAlmostSameLocale"); -function isImplicitFallback(targetLocale, locales) { - const index2 = locales.indexOf(targetLocale); - if (index2 === -1) { - return false; - } - for (let i2 = index2 + 1; i2 < locales.length; i2++) { - if (isAlmostSameLocale(targetLocale, locales[i2])) { - return true; - } - } - return false; -} -__name(isImplicitFallback, "isImplicitFallback"); -function format$2(ast) { - const msg = /* @__PURE__ */ __name((ctx) => formatParts(ctx, ast), "msg"); - return msg; -} -__name(format$2, "format$2"); -function formatParts(ctx, ast) { - const body = ast.b || ast.body; - if ((body.t || body.type) === 1) { - const plural = body; - const cases = plural.c || plural.cases; - return ctx.plural(cases.reduce((messages2, c) => [ - ...messages2, - formatMessageParts(ctx, c) - ], [])); - } else { - return formatMessageParts(ctx, body); - } -} -__name(formatParts, "formatParts"); -function formatMessageParts(ctx, node3) { - const _static = node3.s || node3.static; - if (_static) { - return ctx.type === "text" ? _static : ctx.normalize([_static]); - } else { - const messages2 = (node3.i || node3.items).reduce((acm, c) => [...acm, formatMessagePart(ctx, c)], []); - return ctx.normalize(messages2); - } -} -__name(formatMessageParts, "formatMessageParts"); -function formatMessagePart(ctx, node3) { - const type = node3.t || node3.type; - switch (type) { - case 3: { - const text = node3; - return text.v || text.value; - } - case 9: { - const literal = node3; - return literal.v || literal.value; - } - case 4: { - const named = node3; - return ctx.interpolate(ctx.named(named.k || named.key)); - } - case 5: { - const list = node3; - return ctx.interpolate(ctx.list(list.i != null ? list.i : list.index)); - } - case 6: { - const linked = node3; - const modifier = linked.m || linked.modifier; - return ctx.linked(formatMessagePart(ctx, linked.k || linked.key), modifier ? formatMessagePart(ctx, modifier) : void 0, ctx.type); - } - case 7: { - const linkedKey = node3; - return linkedKey.v || linkedKey.value; - } - case 8: { - const linkedModifier = node3; - return linkedModifier.v || linkedModifier.value; - } - default: - throw new Error(`unhandled node type on format message part: ${type}`); - } -} -__name(formatMessagePart, "formatMessagePart"); -const WARN_MESSAGE = `Detected HTML in '{source}' message. Recommend not using HTML messages to avoid XSS.`; -function checkHtmlMessage(source, warnHtmlMessage) { - if (warnHtmlMessage && detectHtmlTag(source)) { - warn$1(format$4(WARN_MESSAGE, { source })); - } -} -__name(checkHtmlMessage, "checkHtmlMessage"); -const defaultOnCacheKey = /* @__PURE__ */ __name((message2) => message2, "defaultOnCacheKey"); -let compileCache = /* @__PURE__ */ Object.create(null); -function onCompileWarn(_warn) { - if (_warn.code === CompileWarnCodes.USE_MODULO_SYNTAX) { - warn$1(`The use of named interpolation with modulo syntax is deprecated. It will be removed in v10. -reference: https://vue-i18n.intlify.dev/guide/essentials/syntax#rails-i18n-format -(message compiler warning message: ${_warn.message})`); - } -} -__name(onCompileWarn, "onCompileWarn"); -function clearCompileCache() { - compileCache = /* @__PURE__ */ Object.create(null); -} -__name(clearCompileCache, "clearCompileCache"); -const isMessageAST = /* @__PURE__ */ __name((val) => isObject$2(val) && (val.t === 0 || val.type === 0) && ("b" in val || "body" in val), "isMessageAST"); -function baseCompile(message2, options3 = {}) { - let detectError = false; - const onError = options3.onError || defaultOnError; - options3.onError = (err) => { - detectError = true; - onError(err); - }; - return { ...baseCompile$1(message2, options3), detectError }; -} -__name(baseCompile, "baseCompile"); -const compileToFunction = /* @__PURE__ */ __name(/* @__NO_SIDE_EFFECTS__ */ (message2, context) => { - if (!isString$2(message2)) { - throw createCoreError(CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE); - } - if (false) { - context.onWarn = onCompileWarn; - } - { - const warnHtmlMessage = isBoolean$1(context.warnHtmlMessage) ? context.warnHtmlMessage : true; - const onCacheKey = context.onCacheKey || defaultOnCacheKey; - const cacheKey = onCacheKey(message2); - const cached = compileCache[cacheKey]; - if (cached) { - return cached; - } - const { code: code2, detectError } = baseCompile(message2, context); - const msg = new Function(`return ${code2}`)(); - return !detectError ? compileCache[cacheKey] = msg : msg; - } -}, "compileToFunction"); -function compile(message2, context) { - if (false) { - context.onWarn = onCompileWarn; - } - if (__INTLIFY_JIT_COMPILATION__ && !__INTLIFY_DROP_MESSAGE_COMPILER__ && isString$2(message2)) { - const warnHtmlMessage = isBoolean$1(context.warnHtmlMessage) ? context.warnHtmlMessage : true; - const onCacheKey = context.onCacheKey || defaultOnCacheKey; - const cacheKey = onCacheKey(message2); - const cached = compileCache[cacheKey]; - if (cached) { - return cached; - } - const { ast, detectError } = baseCompile(message2, { - ...context, - location: false, - jit: true - }); - const msg = format$2(ast); - return !detectError ? compileCache[cacheKey] = msg : msg; - } else { - if (false) { - warn$1(`the message that is resolve with key '${context.key}' is not supported for jit compilation`); - return () => message2; - } - const cacheKey = message2.cacheKey; - if (cacheKey) { - const cached = compileCache[cacheKey]; - if (cached) { - return cached; - } - return compileCache[cacheKey] = format$2(message2); - } else { - return format$2(message2); - } - } -} -__name(compile, "compile"); -const NOOP_MESSAGE_FUNCTION = /* @__PURE__ */ __name(() => "", "NOOP_MESSAGE_FUNCTION"); -const isMessageFunction = /* @__PURE__ */ __name((val) => isFunction(val), "isMessageFunction"); -function translate(context, ...args) { - const { fallbackFormat, postTranslation, unresolving, messageCompiler, fallbackLocale, messages: messages2 } = context; - const [key, options3] = parseTranslateArgs(...args); - const missingWarn = isBoolean$1(options3.missingWarn) ? options3.missingWarn : context.missingWarn; - const fallbackWarn = isBoolean$1(options3.fallbackWarn) ? options3.fallbackWarn : context.fallbackWarn; - const escapeParameter = isBoolean$1(options3.escapeParameter) ? options3.escapeParameter : context.escapeParameter; - const resolvedMessage = !!options3.resolvedMessage; - const defaultMsgOrKey = isString$2(options3.default) || isBoolean$1(options3.default) ? !isBoolean$1(options3.default) ? options3.default : !messageCompiler ? () => key : key : fallbackFormat ? !messageCompiler ? () => key : key : ""; - const enableDefaultMsg = fallbackFormat || defaultMsgOrKey !== ""; - const locale2 = getLocale(context, options3); - escapeParameter && escapeParams(options3); - let [formatScope, targetLocale, message2] = !resolvedMessage ? resolveMessageFormat(context, key, locale2, fallbackLocale, fallbackWarn, missingWarn) : [ - key, - locale2, - messages2[locale2] || {} - ]; - let format2 = formatScope; - let cacheBaseKey = key; - if (!resolvedMessage && !(isString$2(format2) || isMessageAST(format2) || isMessageFunction(format2))) { - if (enableDefaultMsg) { - format2 = defaultMsgOrKey; - cacheBaseKey = format2; - } - } - if (!resolvedMessage && (!(isString$2(format2) || isMessageAST(format2) || isMessageFunction(format2)) || !isString$2(targetLocale))) { - return unresolving ? NOT_REOSLVED : key; - } - if (false) { - warn$1(`The message format compilation is not supported in this build. Because message compiler isn't included. You need to pre-compilation all message format. So translate function return '${key}'.`); - return key; - } - let occurred = false; - const onError = /* @__PURE__ */ __name(() => { - occurred = true; - }, "onError"); - const msg = !isMessageFunction(format2) ? compileMessageFormat(context, key, targetLocale, format2, cacheBaseKey, onError) : format2; - if (occurred) { - return format2; - } - const ctxOptions = getMessageContextOptions(context, targetLocale, message2, options3); - const msgContext = createMessageContext(ctxOptions); - const messaged = evaluateMessage(context, msg, msgContext); - const ret = postTranslation ? postTranslation(messaged, key) : messaged; - if (__INTLIFY_PROD_DEVTOOLS__) { - const payloads = { - timestamp: Date.now(), - key: isString$2(key) ? key : isMessageFunction(format2) ? format2.key : "", - locale: targetLocale || (isMessageFunction(format2) ? format2.locale : ""), - format: isString$2(format2) ? format2 : isMessageFunction(format2) ? format2.source : "", - message: ret - }; - payloads.meta = assign$2({}, context.__meta, /* @__PURE__ */ getAdditionalMeta() || {}); - translateDevTools(payloads); - } - return ret; -} -__name(translate, "translate"); -function escapeParams(options3) { - if (isArray$2(options3.list)) { - options3.list = options3.list.map((item2) => isString$2(item2) ? escapeHtml(item2) : item2); - } else if (isObject$2(options3.named)) { - Object.keys(options3.named).forEach((key) => { - if (isString$2(options3.named[key])) { - options3.named[key] = escapeHtml(options3.named[key]); - } - }); - } -} -__name(escapeParams, "escapeParams"); -function resolveMessageFormat(context, key, locale2, fallbackLocale, fallbackWarn, missingWarn) { - const { messages: messages2, onWarn, messageResolver: resolveValue2, localeFallbacker } = context; - const locales = localeFallbacker(context, fallbackLocale, locale2); - let message2 = {}; - let targetLocale; - let format2 = null; - let from = locale2; - let to = null; - const type = "translate"; - for (let i2 = 0; i2 < locales.length; i2++) { - targetLocale = to = locales[i2]; - if (false) { - onWarn(getWarnMessage$1(CoreWarnCodes.FALLBACK_TO_TRANSLATE, { - key, - target: targetLocale - })); - } - if (false) { - const emitter = context.__v_emitter; - if (emitter) { - emitter.emit("fallback", { - type, - key, - from, - to, - groupId: `${type}:${key}` - }); - } - } - message2 = messages2[targetLocale] || {}; - let start2 = null; - let startTag; - let endTag; - if (false) { - start2 = window.performance.now(); - startTag = "intlify-message-resolve-start"; - endTag = "intlify-message-resolve-end"; - mark && mark(startTag); - } - if ((format2 = resolveValue2(message2, key)) === null) { - format2 = message2[key]; - } - if (false) { - const end = window.performance.now(); - const emitter = context.__v_emitter; - if (emitter && start2 && format2) { - emitter.emit("message-resolve", { - type: "message-resolve", - key, - message: format2, - time: end - start2, - groupId: `${type}:${key}` - }); - } - if (startTag && endTag && mark && measure) { - mark(endTag); - measure("intlify message resolve", startTag, endTag); - } - } - if (isString$2(format2) || isMessageAST(format2) || isMessageFunction(format2)) { - break; - } - if (!isImplicitFallback(targetLocale, locales)) { - const missingRet = handleMissing( - context, - // eslint-disable-line @typescript-eslint/no-explicit-any - key, - targetLocale, - missingWarn, - type - ); - if (missingRet !== key) { - format2 = missingRet; - } - } - from = to; - } - return [format2, targetLocale, message2]; -} -__name(resolveMessageFormat, "resolveMessageFormat"); -function compileMessageFormat(context, key, targetLocale, format2, cacheBaseKey, onError) { - const { messageCompiler, warnHtmlMessage } = context; - if (isMessageFunction(format2)) { - const msg2 = format2; - msg2.locale = msg2.locale || targetLocale; - msg2.key = msg2.key || key; - return msg2; - } - if (messageCompiler == null) { - const msg2 = /* @__PURE__ */ __name(() => format2, "msg2"); - msg2.locale = targetLocale; - msg2.key = key; - return msg2; - } - let start2 = null; - let startTag; - let endTag; - if (false) { - start2 = window.performance.now(); - startTag = "intlify-message-compilation-start"; - endTag = "intlify-message-compilation-end"; - mark && mark(startTag); - } - const msg = messageCompiler(format2, getCompileContext(context, targetLocale, cacheBaseKey, format2, warnHtmlMessage, onError)); - if (false) { - const end = window.performance.now(); - const emitter = context.__v_emitter; - if (emitter && start2) { - emitter.emit("message-compilation", { - type: "message-compilation", - message: format2, - time: end - start2, - groupId: `${"translate"}:${key}` - }); - } - if (startTag && endTag && mark && measure) { - mark(endTag); - measure("intlify message compilation", startTag, endTag); - } - } - msg.locale = targetLocale; - msg.key = key; - msg.source = format2; - return msg; -} -__name(compileMessageFormat, "compileMessageFormat"); -function evaluateMessage(context, msg, msgCtx) { - let start2 = null; - let startTag; - let endTag; - if (false) { - start2 = window.performance.now(); - startTag = "intlify-message-evaluation-start"; - endTag = "intlify-message-evaluation-end"; - mark && mark(startTag); - } - const messaged = msg(msgCtx); - if (false) { - const end = window.performance.now(); - const emitter = context.__v_emitter; - if (emitter && start2) { - emitter.emit("message-evaluation", { - type: "message-evaluation", - value: messaged, - time: end - start2, - groupId: `${"translate"}:${msg.key}` - }); - } - if (startTag && endTag && mark && measure) { - mark(endTag); - measure("intlify message evaluation", startTag, endTag); - } - } - return messaged; -} -__name(evaluateMessage, "evaluateMessage"); -function parseTranslateArgs(...args) { - const [arg1, arg2, arg3] = args; - const options3 = {}; - if (!isString$2(arg1) && !isNumber$1(arg1) && !isMessageFunction(arg1) && !isMessageAST(arg1)) { - throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT); - } - const key = isNumber$1(arg1) ? String(arg1) : isMessageFunction(arg1) ? arg1 : arg1; - if (isNumber$1(arg2)) { - options3.plural = arg2; - } else if (isString$2(arg2)) { - options3.default = arg2; - } else if (isPlainObject(arg2) && !isEmptyObject(arg2)) { - options3.named = arg2; - } else if (isArray$2(arg2)) { - options3.list = arg2; - } - if (isNumber$1(arg3)) { - options3.plural = arg3; - } else if (isString$2(arg3)) { - options3.default = arg3; - } else if (isPlainObject(arg3)) { - assign$2(options3, arg3); - } - return [key, options3]; -} -__name(parseTranslateArgs, "parseTranslateArgs"); -function getCompileContext(context, locale2, key, source, warnHtmlMessage, onError) { - return { - locale: locale2, - key, - warnHtmlMessage, - onError: /* @__PURE__ */ __name((err) => { - onError && onError(err); - if (false) { - const _source = getSourceForCodeFrame(source); - const message2 = `Message compilation error: ${err.message}`; - const codeFrame = err.location && _source && generateCodeFrame(_source, err.location.start.offset, err.location.end.offset); - const emitter = context.__v_emitter; - if (emitter && _source) { - emitter.emit("compile-error", { - message: _source, - error: err.message, - start: err.location && err.location.start.offset, - end: err.location && err.location.end.offset, - groupId: `${"translate"}:${key}` - }); - } - console.error(codeFrame ? `${message2} -${codeFrame}` : message2); - } else { - throw err; - } - }, "onError"), - onCacheKey: /* @__PURE__ */ __name((source2) => generateFormatCacheKey(locale2, key, source2), "onCacheKey") - }; -} -__name(getCompileContext, "getCompileContext"); -function getSourceForCodeFrame(source) { - if (isString$2(source)) { - return source; - } else { - if (source.loc && source.loc.source) { - return source.loc.source; - } - } -} -__name(getSourceForCodeFrame, "getSourceForCodeFrame"); -function getMessageContextOptions(context, locale2, message2, options3) { - const { modifiers, pluralRules, messageResolver: resolveValue2, fallbackLocale, fallbackWarn, missingWarn, fallbackContext } = context; - const resolveMessage = /* @__PURE__ */ __name((key) => { - let val = resolveValue2(message2, key); - if (val == null && fallbackContext) { - const [, , message22] = resolveMessageFormat(fallbackContext, key, locale2, fallbackLocale, fallbackWarn, missingWarn); - val = resolveValue2(message22, key); - } - if (isString$2(val) || isMessageAST(val)) { - let occurred = false; - const onError = /* @__PURE__ */ __name(() => { - occurred = true; - }, "onError"); - const msg = compileMessageFormat(context, key, locale2, val, key, onError); - return !occurred ? msg : NOOP_MESSAGE_FUNCTION; - } else if (isMessageFunction(val)) { - return val; - } else { - return NOOP_MESSAGE_FUNCTION; - } - }, "resolveMessage"); - const ctxOptions = { - locale: locale2, - modifiers, - pluralRules, - messages: resolveMessage - }; - if (context.processor) { - ctxOptions.processor = context.processor; - } - if (options3.list) { - ctxOptions.list = options3.list; - } - if (options3.named) { - ctxOptions.named = options3.named; - } - if (isNumber$1(options3.plural)) { - ctxOptions.pluralIndex = options3.plural; - } - return ctxOptions; -} -__name(getMessageContextOptions, "getMessageContextOptions"); -const intlDefined = typeof Intl !== "undefined"; -const Availabilities = { - dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== "undefined", - numberFormat: intlDefined && typeof Intl.NumberFormat !== "undefined" -}; -function datetime(context, ...args) { - const { datetimeFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context; - const { __datetimeFormatters } = context; - if (false) { - onWarn(getWarnMessage$1(CoreWarnCodes.CANNOT_FORMAT_DATE)); - return MISSING_RESOLVE_VALUE; - } - const [key, value3, options3, overrides] = parseDateTimeArgs(...args); - const missingWarn = isBoolean$1(options3.missingWarn) ? options3.missingWarn : context.missingWarn; - const fallbackWarn = isBoolean$1(options3.fallbackWarn) ? options3.fallbackWarn : context.fallbackWarn; - const part = !!options3.part; - const locale2 = getLocale(context, options3); - const locales = localeFallbacker( - context, - // eslint-disable-line @typescript-eslint/no-explicit-any - fallbackLocale, - locale2 - ); - if (!isString$2(key) || key === "") { - return new Intl.DateTimeFormat(locale2, overrides).format(value3); - } - let datetimeFormat = {}; - let targetLocale; - let format2 = null; - let from = locale2; - let to = null; - const type = "datetime format"; - for (let i2 = 0; i2 < locales.length; i2++) { - targetLocale = to = locales[i2]; - if (false) { - onWarn(getWarnMessage$1(CoreWarnCodes.FALLBACK_TO_DATE_FORMAT, { - key, - target: targetLocale - })); - } - if (false) { - const emitter = context.__v_emitter; - if (emitter) { - emitter.emit("fallback", { - type, - key, - from, - to, - groupId: `${type}:${key}` - }); - } - } - datetimeFormat = datetimeFormats[targetLocale] || {}; - format2 = datetimeFormat[key]; - if (isPlainObject(format2)) - break; - handleMissing(context, key, targetLocale, missingWarn, type); - from = to; - } - if (!isPlainObject(format2) || !isString$2(targetLocale)) { - return unresolving ? NOT_REOSLVED : key; - } - let id3 = `${targetLocale}__${key}`; - if (!isEmptyObject(overrides)) { - id3 = `${id3}__${JSON.stringify(overrides)}`; - } - let formatter = __datetimeFormatters.get(id3); - if (!formatter) { - formatter = new Intl.DateTimeFormat(targetLocale, assign$2({}, format2, overrides)); - __datetimeFormatters.set(id3, formatter); - } - return !part ? formatter.format(value3) : formatter.formatToParts(value3); -} -__name(datetime, "datetime"); -const DATETIME_FORMAT_OPTIONS_KEYS = [ - "localeMatcher", - "weekday", - "era", - "year", - "month", - "day", - "hour", - "minute", - "second", - "timeZoneName", - "formatMatcher", - "hour12", - "timeZone", - "dateStyle", - "timeStyle", - "calendar", - "dayPeriod", - "numberingSystem", - "hourCycle", - "fractionalSecondDigits" -]; -function parseDateTimeArgs(...args) { - const [arg1, arg2, arg3, arg4] = args; - const options3 = {}; - let overrides = {}; - let value3; - if (isString$2(arg1)) { - const matches2 = arg1.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/); - if (!matches2) { - throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT); - } - const dateTime = matches2[3] ? matches2[3].trim().startsWith("T") ? `${matches2[1].trim()}${matches2[3].trim()}` : `${matches2[1].trim()}T${matches2[3].trim()}` : matches2[1].trim(); - value3 = new Date(dateTime); - try { - value3.toISOString(); - } catch (e) { - throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT); - } - } else if (isDate(arg1)) { - if (isNaN(arg1.getTime())) { - throw createCoreError(CoreErrorCodes.INVALID_DATE_ARGUMENT); - } - value3 = arg1; - } else if (isNumber$1(arg1)) { - value3 = arg1; - } else { - throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT); - } - if (isString$2(arg2)) { - options3.key = arg2; - } else if (isPlainObject(arg2)) { - Object.keys(arg2).forEach((key) => { - if (DATETIME_FORMAT_OPTIONS_KEYS.includes(key)) { - overrides[key] = arg2[key]; - } else { - options3[key] = arg2[key]; - } - }); - } - if (isString$2(arg3)) { - options3.locale = arg3; - } else if (isPlainObject(arg3)) { - overrides = arg3; - } - if (isPlainObject(arg4)) { - overrides = arg4; - } - return [options3.key || "", value3, options3, overrides]; -} -__name(parseDateTimeArgs, "parseDateTimeArgs"); -function clearDateTimeFormat(ctx, locale2, format2) { - const context = ctx; - for (const key in format2) { - const id3 = `${locale2}__${key}`; - if (!context.__datetimeFormatters.has(id3)) { - continue; - } - context.__datetimeFormatters.delete(id3); - } -} -__name(clearDateTimeFormat, "clearDateTimeFormat"); -function number(context, ...args) { - const { numberFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context; - const { __numberFormatters } = context; - if (false) { - onWarn(getWarnMessage$1(CoreWarnCodes.CANNOT_FORMAT_NUMBER)); - return MISSING_RESOLVE_VALUE; - } - const [key, value3, options3, overrides] = parseNumberArgs(...args); - const missingWarn = isBoolean$1(options3.missingWarn) ? options3.missingWarn : context.missingWarn; - const fallbackWarn = isBoolean$1(options3.fallbackWarn) ? options3.fallbackWarn : context.fallbackWarn; - const part = !!options3.part; - const locale2 = getLocale(context, options3); - const locales = localeFallbacker( - context, - // eslint-disable-line @typescript-eslint/no-explicit-any - fallbackLocale, - locale2 - ); - if (!isString$2(key) || key === "") { - return new Intl.NumberFormat(locale2, overrides).format(value3); - } - let numberFormat = {}; - let targetLocale; - let format2 = null; - let from = locale2; - let to = null; - const type = "number format"; - for (let i2 = 0; i2 < locales.length; i2++) { - targetLocale = to = locales[i2]; - if (false) { - onWarn(getWarnMessage$1(CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT, { - key, - target: targetLocale - })); - } - if (false) { - const emitter = context.__v_emitter; - if (emitter) { - emitter.emit("fallback", { - type, - key, - from, - to, - groupId: `${type}:${key}` - }); - } - } - numberFormat = numberFormats[targetLocale] || {}; - format2 = numberFormat[key]; - if (isPlainObject(format2)) - break; - handleMissing(context, key, targetLocale, missingWarn, type); - from = to; - } - if (!isPlainObject(format2) || !isString$2(targetLocale)) { - return unresolving ? NOT_REOSLVED : key; - } - let id3 = `${targetLocale}__${key}`; - if (!isEmptyObject(overrides)) { - id3 = `${id3}__${JSON.stringify(overrides)}`; - } - let formatter = __numberFormatters.get(id3); - if (!formatter) { - formatter = new Intl.NumberFormat(targetLocale, assign$2({}, format2, overrides)); - __numberFormatters.set(id3, formatter); - } - return !part ? formatter.format(value3) : formatter.formatToParts(value3); -} -__name(number, "number"); -const NUMBER_FORMAT_OPTIONS_KEYS = [ - "localeMatcher", - "style", - "currency", - "currencyDisplay", - "currencySign", - "useGrouping", - "minimumIntegerDigits", - "minimumFractionDigits", - "maximumFractionDigits", - "minimumSignificantDigits", - "maximumSignificantDigits", - "compactDisplay", - "notation", - "signDisplay", - "unit", - "unitDisplay", - "roundingMode", - "roundingPriority", - "roundingIncrement", - "trailingZeroDisplay" -]; -function parseNumberArgs(...args) { - const [arg1, arg2, arg3, arg4] = args; - const options3 = {}; - let overrides = {}; - if (!isNumber$1(arg1)) { - throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT); - } - const value3 = arg1; - if (isString$2(arg2)) { - options3.key = arg2; - } else if (isPlainObject(arg2)) { - Object.keys(arg2).forEach((key) => { - if (NUMBER_FORMAT_OPTIONS_KEYS.includes(key)) { - overrides[key] = arg2[key]; - } else { - options3[key] = arg2[key]; - } - }); - } - if (isString$2(arg3)) { - options3.locale = arg3; - } else if (isPlainObject(arg3)) { - overrides = arg3; - } - if (isPlainObject(arg4)) { - overrides = arg4; - } - return [options3.key || "", value3, options3, overrides]; -} -__name(parseNumberArgs, "parseNumberArgs"); -function clearNumberFormat(ctx, locale2, format2) { - const context = ctx; - for (const key in format2) { - const id3 = `${locale2}__${key}`; - if (!context.__numberFormatters.has(id3)) { - continue; - } - context.__numberFormatters.delete(id3); - } -} -__name(clearNumberFormat, "clearNumberFormat"); -{ - initFeatureFlags$1(); -} -/*! - * vue-i18n v9.14.1 - * (c) 2024 kazuya kawaguchi - * Released under the MIT License. - */ -const VERSION = "9.14.1"; -function initFeatureFlags() { - if (typeof __VUE_I18N_FULL_INSTALL__ !== "boolean") { - getGlobalThis().__VUE_I18N_FULL_INSTALL__ = true; - } - if (typeof __VUE_I18N_LEGACY_API__ !== "boolean") { - getGlobalThis().__VUE_I18N_LEGACY_API__ = true; - } - if (typeof __INTLIFY_JIT_COMPILATION__ !== "boolean") { - getGlobalThis().__INTLIFY_JIT_COMPILATION__ = false; - } - if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== "boolean") { - getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false; - } - if (typeof __INTLIFY_PROD_DEVTOOLS__ !== "boolean") { - getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false; - } -} -__name(initFeatureFlags, "initFeatureFlags"); -const code$1 = CoreWarnCodes.__EXTEND_POINT__; -const inc$1 = incrementer(code$1); -const I18nWarnCodes = { - FALLBACK_TO_ROOT: code$1, - // 9 - NOT_SUPPORTED_PRESERVE: inc$1(), - // 10 - NOT_SUPPORTED_FORMATTER: inc$1(), - // 11 - NOT_SUPPORTED_PRESERVE_DIRECTIVE: inc$1(), - // 12 - NOT_SUPPORTED_GET_CHOICE_INDEX: inc$1(), - // 13 - COMPONENT_NAME_LEGACY_COMPATIBLE: inc$1(), - // 14 - NOT_FOUND_PARENT_SCOPE: inc$1(), - // 15 - IGNORE_OBJ_FLATTEN: inc$1(), - // 16 - NOTICE_DROP_ALLOW_COMPOSITION: inc$1(), - // 17 - NOTICE_DROP_TRANSLATE_EXIST_COMPATIBLE_FLAG: inc$1() - // 18 -}; -const warnMessages = { - [I18nWarnCodes.FALLBACK_TO_ROOT]: `Fall back to {type} '{key}' with root locale.`, - [I18nWarnCodes.NOT_SUPPORTED_PRESERVE]: `Not supported 'preserve'.`, - [I18nWarnCodes.NOT_SUPPORTED_FORMATTER]: `Not supported 'formatter'.`, - [I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE]: `Not supported 'preserveDirectiveContent'.`, - [I18nWarnCodes.NOT_SUPPORTED_GET_CHOICE_INDEX]: `Not supported 'getChoiceIndex'.`, - [I18nWarnCodes.COMPONENT_NAME_LEGACY_COMPATIBLE]: `Component name legacy compatible: '{name}' -> 'i18n'`, - [I18nWarnCodes.NOT_FOUND_PARENT_SCOPE]: `Not found parent scope. use the global scope.`, - [I18nWarnCodes.IGNORE_OBJ_FLATTEN]: `Ignore object flatten: '{key}' key has an string value`, - [I18nWarnCodes.NOTICE_DROP_ALLOW_COMPOSITION]: `'allowComposition' option will be dropped in the next major version. For more information, please see 👉 https://tinyurl.com/2p97mcze`, - [I18nWarnCodes.NOTICE_DROP_TRANSLATE_EXIST_COMPATIBLE_FLAG]: `'translateExistCompatible' option will be dropped in the next major version.` -}; -function getWarnMessage(code2, ...args) { - return format$4(warnMessages[code2], ...args); -} -__name(getWarnMessage, "getWarnMessage"); -const code = CoreErrorCodes.__EXTEND_POINT__; -const inc = incrementer(code); -const I18nErrorCodes = { - // composer module errors - UNEXPECTED_RETURN_TYPE: code, - // 24 - // legacy module errors - INVALID_ARGUMENT: inc(), - // 25 - // i18n module errors - MUST_BE_CALL_SETUP_TOP: inc(), - // 26 - NOT_INSTALLED: inc(), - // 27 - NOT_AVAILABLE_IN_LEGACY_MODE: inc(), - // 28 - // directive module errors - REQUIRED_VALUE: inc(), - // 29 - INVALID_VALUE: inc(), - // 30 - // vue-devtools errors - CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN: inc(), - // 31 - NOT_INSTALLED_WITH_PROVIDE: inc(), - // 32 - // unexpected error - UNEXPECTED_ERROR: inc(), - // 33 - // not compatible legacy vue-i18n constructor - NOT_COMPATIBLE_LEGACY_VUE_I18N: inc(), - // 34 - // bridge support vue 2.x only - BRIDGE_SUPPORT_VUE_2_ONLY: inc(), - // 35 - // need to define `i18n` option in `allowComposition: true` and `useScope: 'local' at `useI18n`` - MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION: inc(), - // 36 - // Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly - NOT_AVAILABLE_COMPOSITION_IN_LEGACY: inc(), - // 37 - // for enhancement - __EXTEND_POINT__: inc() - // 38 -}; -function createI18nError(code2, ...args) { - return createCompileError(code2, null, false ? { messages: errorMessages, args } : void 0); -} -__name(createI18nError, "createI18nError"); -const errorMessages = { - [I18nErrorCodes.UNEXPECTED_RETURN_TYPE]: "Unexpected return type in composer", - [I18nErrorCodes.INVALID_ARGUMENT]: "Invalid argument", - [I18nErrorCodes.MUST_BE_CALL_SETUP_TOP]: "Must be called at the top of a `setup` function", - [I18nErrorCodes.NOT_INSTALLED]: "Need to install with `app.use` function", - [I18nErrorCodes.UNEXPECTED_ERROR]: "Unexpected error", - [I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE]: "Not available in legacy mode", - [I18nErrorCodes.REQUIRED_VALUE]: `Required in value: {0}`, - [I18nErrorCodes.INVALID_VALUE]: `Invalid value`, - [I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN]: `Cannot setup vue-devtools plugin`, - [I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE]: "Need to install with `provide` function", - [I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N]: "Not compatible legacy VueI18n.", - [I18nErrorCodes.BRIDGE_SUPPORT_VUE_2_ONLY]: "vue-i18n-bridge support Vue 2.x only", - [I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION]: "Must define ‘i18n’ option or custom block in Composition API with using local scope in Legacy API mode", - [I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY]: "Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly" -}; -const TranslateVNodeSymbol = /* @__PURE__ */ makeSymbol("__translateVNode"); -const DatetimePartsSymbol = /* @__PURE__ */ makeSymbol("__datetimeParts"); -const NumberPartsSymbol = /* @__PURE__ */ makeSymbol("__numberParts"); -const EnableEmitter = /* @__PURE__ */ makeSymbol("__enableEmitter"); -const DisableEmitter = /* @__PURE__ */ makeSymbol("__disableEmitter"); -const SetPluralRulesSymbol = makeSymbol("__setPluralRules"); -makeSymbol("__intlifyMeta"); -const InejctWithOptionSymbol = /* @__PURE__ */ makeSymbol("__injectWithOption"); -const DisposeSymbol = /* @__PURE__ */ makeSymbol("__dispose"); -const __VUE_I18N_BRIDGE__ = "__VUE_I18N_BRIDGE__"; -function handleFlatJson(obj) { - if (!isObject$2(obj)) { - return obj; - } - for (const key in obj) { - if (!hasOwn$1(obj, key)) { - continue; - } - if (!key.includes(".")) { - if (isObject$2(obj[key])) { - handleFlatJson(obj[key]); - } - } else { - const subKeys = key.split("."); - const lastIndex = subKeys.length - 1; - let currentObj = obj; - let hasStringValue = false; - for (let i2 = 0; i2 < lastIndex; i2++) { - if (!(subKeys[i2] in currentObj)) { - currentObj[subKeys[i2]] = {}; - } - if (!isObject$2(currentObj[subKeys[i2]])) { - hasStringValue = true; - break; - } - currentObj = currentObj[subKeys[i2]]; - } - if (!hasStringValue) { - currentObj[subKeys[lastIndex]] = obj[key]; - delete obj[key]; - } - if (isObject$2(currentObj[subKeys[lastIndex]])) { - handleFlatJson(currentObj[subKeys[lastIndex]]); - } - } - } - return obj; -} -__name(handleFlatJson, "handleFlatJson"); -function getLocaleMessages(locale2, options3) { - const { messages: messages2, __i18n, messageResolver, flatJson } = options3; - const ret = isPlainObject(messages2) ? messages2 : isArray$2(__i18n) ? {} : { [locale2]: {} }; - if (isArray$2(__i18n)) { - __i18n.forEach((custom2) => { - if ("locale" in custom2 && "resource" in custom2) { - const { locale: locale22, resource } = custom2; - if (locale22) { - ret[locale22] = ret[locale22] || {}; - deepCopy(resource, ret[locale22]); - } else { - deepCopy(resource, ret); - } - } else { - isString$2(custom2) && deepCopy(JSON.parse(custom2), ret); - } - }); - } - if (messageResolver == null && flatJson) { - for (const key in ret) { - if (hasOwn$1(ret, key)) { - handleFlatJson(ret[key]); - } - } - } - return ret; -} -__name(getLocaleMessages, "getLocaleMessages"); -function getComponentOptions(instance) { - return instance.type; -} -__name(getComponentOptions, "getComponentOptions"); -function adjustI18nResources(gl, options3, componentOptions) { - let messages2 = isObject$2(options3.messages) ? options3.messages : {}; - if ("__i18nGlobal" in componentOptions) { - messages2 = getLocaleMessages(gl.locale.value, { - messages: messages2, - __i18n: componentOptions.__i18nGlobal - }); - } - const locales = Object.keys(messages2); - if (locales.length) { - locales.forEach((locale2) => { - gl.mergeLocaleMessage(locale2, messages2[locale2]); - }); - } - { - if (isObject$2(options3.datetimeFormats)) { - const locales2 = Object.keys(options3.datetimeFormats); - if (locales2.length) { - locales2.forEach((locale2) => { - gl.mergeDateTimeFormat(locale2, options3.datetimeFormats[locale2]); - }); - } - } - if (isObject$2(options3.numberFormats)) { - const locales2 = Object.keys(options3.numberFormats); - if (locales2.length) { - locales2.forEach((locale2) => { - gl.mergeNumberFormat(locale2, options3.numberFormats[locale2]); - }); - } - } - } -} -__name(adjustI18nResources, "adjustI18nResources"); -function createTextNode(key) { - return createVNode(Text, null, key, 0); -} -__name(createTextNode, "createTextNode"); -const DEVTOOLS_META = "__INTLIFY_META__"; -const NOOP_RETURN_ARRAY = /* @__PURE__ */ __name(() => [], "NOOP_RETURN_ARRAY"); -const NOOP_RETURN_FALSE = /* @__PURE__ */ __name(() => false, "NOOP_RETURN_FALSE"); -let composerID = 0; -function defineCoreMissingHandler(missing) { - return (ctx, locale2, key, type) => { - return missing(locale2, key, getCurrentInstance() || void 0, type); - }; -} -__name(defineCoreMissingHandler, "defineCoreMissingHandler"); -const getMetaInfo = /* @__PURE__ */ __name(/* @__NO_SIDE_EFFECTS__ */ () => { - const instance = getCurrentInstance(); - let meta = null; - return instance && (meta = getComponentOptions(instance)[DEVTOOLS_META]) ? { [DEVTOOLS_META]: meta } : null; -}, "getMetaInfo"); -function createComposer(options3 = {}, VueI18nLegacy) { - const { __root, __injectWithOption } = options3; - const _isGlobal = __root === void 0; - const flatJson = options3.flatJson; - const _ref = inBrowser ? ref : shallowRef; - const translateExistCompatible = !!options3.translateExistCompatible; - if (false) { - if (translateExistCompatible && true) { - warnOnce(getWarnMessage(I18nWarnCodes.NOTICE_DROP_TRANSLATE_EXIST_COMPATIBLE_FLAG)); - } - } - let _inheritLocale = isBoolean$1(options3.inheritLocale) ? options3.inheritLocale : true; - const _locale = _ref( - // prettier-ignore - __root && _inheritLocale ? __root.locale.value : isString$2(options3.locale) ? options3.locale : DEFAULT_LOCALE - ); - const _fallbackLocale = _ref( - // prettier-ignore - __root && _inheritLocale ? __root.fallbackLocale.value : isString$2(options3.fallbackLocale) || isArray$2(options3.fallbackLocale) || isPlainObject(options3.fallbackLocale) || options3.fallbackLocale === false ? options3.fallbackLocale : _locale.value - ); - const _messages = _ref(getLocaleMessages(_locale.value, options3)); - const _datetimeFormats = _ref(isPlainObject(options3.datetimeFormats) ? options3.datetimeFormats : { [_locale.value]: {} }); - const _numberFormats = _ref(isPlainObject(options3.numberFormats) ? options3.numberFormats : { [_locale.value]: {} }); - let _missingWarn = __root ? __root.missingWarn : isBoolean$1(options3.missingWarn) || isRegExp(options3.missingWarn) ? options3.missingWarn : true; - let _fallbackWarn = __root ? __root.fallbackWarn : isBoolean$1(options3.fallbackWarn) || isRegExp(options3.fallbackWarn) ? options3.fallbackWarn : true; - let _fallbackRoot = __root ? __root.fallbackRoot : isBoolean$1(options3.fallbackRoot) ? options3.fallbackRoot : true; - let _fallbackFormat = !!options3.fallbackFormat; - let _missing = isFunction(options3.missing) ? options3.missing : null; - let _runtimeMissing = isFunction(options3.missing) ? defineCoreMissingHandler(options3.missing) : null; - let _postTranslation = isFunction(options3.postTranslation) ? options3.postTranslation : null; - let _warnHtmlMessage = __root ? __root.warnHtmlMessage : isBoolean$1(options3.warnHtmlMessage) ? options3.warnHtmlMessage : true; - let _escapeParameter = !!options3.escapeParameter; - const _modifiers = __root ? __root.modifiers : isPlainObject(options3.modifiers) ? options3.modifiers : {}; - let _pluralRules = options3.pluralRules || __root && __root.pluralRules; - let _context; - const getCoreContext = /* @__PURE__ */ __name(() => { - _isGlobal && setFallbackContext(null); - const ctxOptions = { - version: VERSION, - locale: _locale.value, - fallbackLocale: _fallbackLocale.value, - messages: _messages.value, - modifiers: _modifiers, - pluralRules: _pluralRules, - missing: _runtimeMissing === null ? void 0 : _runtimeMissing, - missingWarn: _missingWarn, - fallbackWarn: _fallbackWarn, - fallbackFormat: _fallbackFormat, - unresolving: true, - postTranslation: _postTranslation === null ? void 0 : _postTranslation, - warnHtmlMessage: _warnHtmlMessage, - escapeParameter: _escapeParameter, - messageResolver: options3.messageResolver, - messageCompiler: options3.messageCompiler, - __meta: { framework: "vue" } - }; - { - ctxOptions.datetimeFormats = _datetimeFormats.value; - ctxOptions.numberFormats = _numberFormats.value; - ctxOptions.__datetimeFormatters = isPlainObject(_context) ? _context.__datetimeFormatters : void 0; - ctxOptions.__numberFormatters = isPlainObject(_context) ? _context.__numberFormatters : void 0; - } - if (false) { - ctxOptions.__v_emitter = isPlainObject(_context) ? _context.__v_emitter : void 0; - } - const ctx = createCoreContext(ctxOptions); - _isGlobal && setFallbackContext(ctx); - return ctx; - }, "getCoreContext"); - _context = getCoreContext(); - updateFallbackLocale(_context, _locale.value, _fallbackLocale.value); - function trackReactivityValues() { - return [ - _locale.value, - _fallbackLocale.value, - _messages.value, - _datetimeFormats.value, - _numberFormats.value - ]; - } - __name(trackReactivityValues, "trackReactivityValues"); - const locale2 = computed({ - get: /* @__PURE__ */ __name(() => _locale.value, "get"), - set: /* @__PURE__ */ __name((val) => { - _locale.value = val; - _context.locale = _locale.value; - }, "set") - }); - const fallbackLocale = computed({ - get: /* @__PURE__ */ __name(() => _fallbackLocale.value, "get"), - set: /* @__PURE__ */ __name((val) => { - _fallbackLocale.value = val; - _context.fallbackLocale = _fallbackLocale.value; - updateFallbackLocale(_context, _locale.value, val); - }, "set") - }); - const messages2 = computed(() => _messages.value); - const datetimeFormats = /* @__PURE__ */ computed(() => _datetimeFormats.value); - const numberFormats = /* @__PURE__ */ computed(() => _numberFormats.value); - function getPostTranslationHandler() { - return isFunction(_postTranslation) ? _postTranslation : null; - } - __name(getPostTranslationHandler, "getPostTranslationHandler"); - function setPostTranslationHandler(handler6) { - _postTranslation = handler6; - _context.postTranslation = handler6; - } - __name(setPostTranslationHandler, "setPostTranslationHandler"); - function getMissingHandler() { - return _missing; - } - __name(getMissingHandler, "getMissingHandler"); - function setMissingHandler(handler6) { - if (handler6 !== null) { - _runtimeMissing = defineCoreMissingHandler(handler6); - } - _missing = handler6; - _context.missing = _runtimeMissing; - } - __name(setMissingHandler, "setMissingHandler"); - function isResolvedTranslateMessage(type, arg) { - return type !== "translate" || !arg.resolvedMessage; - } - __name(isResolvedTranslateMessage, "isResolvedTranslateMessage"); - const wrapWithDeps = /* @__PURE__ */ __name((fn, argumentParser, warnType, fallbackSuccess, fallbackFail, successCondition) => { - trackReactivityValues(); - let ret; - try { - if (__INTLIFY_PROD_DEVTOOLS__) { - /* @__PURE__ */ setAdditionalMeta(/* @__PURE__ */ getMetaInfo()); - } - if (!_isGlobal) { - _context.fallbackContext = __root ? getFallbackContext() : void 0; - } - ret = fn(_context); - } finally { - if (__INTLIFY_PROD_DEVTOOLS__) { - /* @__PURE__ */ setAdditionalMeta(null); - } - if (!_isGlobal) { - _context.fallbackContext = void 0; - } - } - if (warnType !== "translate exists" && // for not `te` (e.g `t`) - isNumber$1(ret) && ret === NOT_REOSLVED || warnType === "translate exists" && !ret) { - const [key, arg2] = argumentParser(); - if (false) { - if (_fallbackRoot && (isTranslateFallbackWarn(_fallbackWarn, key) || isTranslateMissingWarn(_missingWarn, key))) { - warn$1(getWarnMessage(I18nWarnCodes.FALLBACK_TO_ROOT, { - key, - type: warnType - })); - } - if (false) { - const { __v_emitter: emitter } = _context; - if (emitter && _fallbackRoot) { - emitter.emit("fallback", { - type: warnType, - key, - to: "global", - groupId: `${warnType}:${key}` - }); - } - } - } - return __root && _fallbackRoot ? fallbackSuccess(__root) : fallbackFail(key); - } else if (successCondition(ret)) { - return ret; - } else { - throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE); - } - }, "wrapWithDeps"); - function t(...args) { - return wrapWithDeps((context) => Reflect.apply(translate, null, [context, ...args]), () => parseTranslateArgs(...args), "translate", (root23) => Reflect.apply(root23.t, root23, [...args]), (key) => key, (val) => isString$2(val)); - } - __name(t, "t"); - function rt(...args) { - const [arg1, arg2, arg3] = args; - if (arg3 && !isObject$2(arg3)) { - throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT); - } - return t(...[arg1, arg2, assign$2({ resolvedMessage: true }, arg3 || {})]); - } - __name(rt, "rt"); - function d(...args) { - return wrapWithDeps((context) => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), "datetime format", (root23) => Reflect.apply(root23.d, root23, [...args]), () => MISSING_RESOLVE_VALUE, (val) => isString$2(val)); - } - __name(d, "d"); - function n(...args) { - return wrapWithDeps((context) => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), "number format", (root23) => Reflect.apply(root23.n, root23, [...args]), () => MISSING_RESOLVE_VALUE, (val) => isString$2(val)); - } - __name(n, "n"); - function normalize(values2) { - return values2.map((val) => isString$2(val) || isNumber$1(val) || isBoolean$1(val) ? createTextNode(String(val)) : val); - } - __name(normalize, "normalize"); - const interpolate = /* @__PURE__ */ __name((val) => val, "interpolate"); - const processor = { - normalize, - interpolate, - type: "vnode" - }; - function translateVNode(...args) { - return wrapWithDeps( - (context) => { - let ret; - const _context2 = context; - try { - _context2.processor = processor; - ret = Reflect.apply(translate, null, [_context2, ...args]); - } finally { - _context2.processor = null; - } - return ret; - }, - () => parseTranslateArgs(...args), - "translate", - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (root23) => root23[TranslateVNodeSymbol](...args), - (key) => [createTextNode(key)], - (val) => isArray$2(val) - ); - } - __name(translateVNode, "translateVNode"); - function numberParts(...args) { - return wrapWithDeps( - (context) => Reflect.apply(number, null, [context, ...args]), - () => parseNumberArgs(...args), - "number format", - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (root23) => root23[NumberPartsSymbol](...args), - NOOP_RETURN_ARRAY, - (val) => isString$2(val) || isArray$2(val) - ); - } - __name(numberParts, "numberParts"); - function datetimeParts(...args) { - return wrapWithDeps( - (context) => Reflect.apply(datetime, null, [context, ...args]), - () => parseDateTimeArgs(...args), - "datetime format", - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (root23) => root23[DatetimePartsSymbol](...args), - NOOP_RETURN_ARRAY, - (val) => isString$2(val) || isArray$2(val) - ); - } - __name(datetimeParts, "datetimeParts"); - function setPluralRules(rules) { - _pluralRules = rules; - _context.pluralRules = _pluralRules; - } - __name(setPluralRules, "setPluralRules"); - function te(key, locale22) { - return wrapWithDeps(() => { - if (!key) { - return false; - } - const targetLocale = isString$2(locale22) ? locale22 : _locale.value; - const message2 = getLocaleMessage(targetLocale); - const resolved = _context.messageResolver(message2, key); - return !translateExistCompatible ? isMessageAST(resolved) || isMessageFunction(resolved) || isString$2(resolved) : resolved != null; - }, () => [key], "translate exists", (root23) => { - return Reflect.apply(root23.te, root23, [key, locale22]); - }, NOOP_RETURN_FALSE, (val) => isBoolean$1(val)); - } - __name(te, "te"); - function resolveMessages(key) { - let messages22 = null; - const locales = fallbackWithLocaleChain(_context, _fallbackLocale.value, _locale.value); - for (let i2 = 0; i2 < locales.length; i2++) { - const targetLocaleMessages = _messages.value[locales[i2]] || {}; - const messageValue = _context.messageResolver(targetLocaleMessages, key); - if (messageValue != null) { - messages22 = messageValue; - break; - } - } - return messages22; - } - __name(resolveMessages, "resolveMessages"); - function tm(key) { - const messages22 = resolveMessages(key); - return messages22 != null ? messages22 : __root ? __root.tm(key) || {} : {}; - } - __name(tm, "tm"); - function getLocaleMessage(locale22) { - return _messages.value[locale22] || {}; - } - __name(getLocaleMessage, "getLocaleMessage"); - function setLocaleMessage(locale22, message2) { - if (flatJson) { - const _message = { [locale22]: message2 }; - for (const key in _message) { - if (hasOwn$1(_message, key)) { - handleFlatJson(_message[key]); - } - } - message2 = _message[locale22]; - } - _messages.value[locale22] = message2; - _context.messages = _messages.value; - } - __name(setLocaleMessage, "setLocaleMessage"); - function mergeLocaleMessage(locale22, message2) { - _messages.value[locale22] = _messages.value[locale22] || {}; - const _message = { [locale22]: message2 }; - if (flatJson) { - for (const key in _message) { - if (hasOwn$1(_message, key)) { - handleFlatJson(_message[key]); - } - } - } - message2 = _message[locale22]; - deepCopy(message2, _messages.value[locale22]); - _context.messages = _messages.value; - } - __name(mergeLocaleMessage, "mergeLocaleMessage"); - function getDateTimeFormat(locale22) { - return _datetimeFormats.value[locale22] || {}; - } - __name(getDateTimeFormat, "getDateTimeFormat"); - function setDateTimeFormat(locale22, format2) { - _datetimeFormats.value[locale22] = format2; - _context.datetimeFormats = _datetimeFormats.value; - clearDateTimeFormat(_context, locale22, format2); - } - __name(setDateTimeFormat, "setDateTimeFormat"); - function mergeDateTimeFormat(locale22, format2) { - _datetimeFormats.value[locale22] = assign$2(_datetimeFormats.value[locale22] || {}, format2); - _context.datetimeFormats = _datetimeFormats.value; - clearDateTimeFormat(_context, locale22, format2); - } - __name(mergeDateTimeFormat, "mergeDateTimeFormat"); - function getNumberFormat(locale22) { - return _numberFormats.value[locale22] || {}; - } - __name(getNumberFormat, "getNumberFormat"); - function setNumberFormat(locale22, format2) { - _numberFormats.value[locale22] = format2; - _context.numberFormats = _numberFormats.value; - clearNumberFormat(_context, locale22, format2); - } - __name(setNumberFormat, "setNumberFormat"); - function mergeNumberFormat(locale22, format2) { - _numberFormats.value[locale22] = assign$2(_numberFormats.value[locale22] || {}, format2); - _context.numberFormats = _numberFormats.value; - clearNumberFormat(_context, locale22, format2); - } - __name(mergeNumberFormat, "mergeNumberFormat"); - composerID++; - if (__root && inBrowser) { - watch(__root.locale, (val) => { - if (_inheritLocale) { - _locale.value = val; - _context.locale = val; - updateFallbackLocale(_context, _locale.value, _fallbackLocale.value); - } - }); - watch(__root.fallbackLocale, (val) => { - if (_inheritLocale) { - _fallbackLocale.value = val; - _context.fallbackLocale = val; - updateFallbackLocale(_context, _locale.value, _fallbackLocale.value); - } - }); - } - const composer = { - id: composerID, - locale: locale2, - fallbackLocale, - get inheritLocale() { - return _inheritLocale; - }, - set inheritLocale(val) { - _inheritLocale = val; - if (val && __root) { - _locale.value = __root.locale.value; - _fallbackLocale.value = __root.fallbackLocale.value; - updateFallbackLocale(_context, _locale.value, _fallbackLocale.value); - } - }, - get availableLocales() { - return Object.keys(_messages.value).sort(); - }, - messages: messages2, - get modifiers() { - return _modifiers; - }, - get pluralRules() { - return _pluralRules || {}; - }, - get isGlobal() { - return _isGlobal; - }, - get missingWarn() { - return _missingWarn; - }, - set missingWarn(val) { - _missingWarn = val; - _context.missingWarn = _missingWarn; - }, - get fallbackWarn() { - return _fallbackWarn; - }, - set fallbackWarn(val) { - _fallbackWarn = val; - _context.fallbackWarn = _fallbackWarn; - }, - get fallbackRoot() { - return _fallbackRoot; - }, - set fallbackRoot(val) { - _fallbackRoot = val; - }, - get fallbackFormat() { - return _fallbackFormat; - }, - set fallbackFormat(val) { - _fallbackFormat = val; - _context.fallbackFormat = _fallbackFormat; - }, - get warnHtmlMessage() { - return _warnHtmlMessage; - }, - set warnHtmlMessage(val) { - _warnHtmlMessage = val; - _context.warnHtmlMessage = val; - }, - get escapeParameter() { - return _escapeParameter; - }, - set escapeParameter(val) { - _escapeParameter = val; - _context.escapeParameter = val; - }, - t, - getLocaleMessage, - setLocaleMessage, - mergeLocaleMessage, - getPostTranslationHandler, - setPostTranslationHandler, - getMissingHandler, - setMissingHandler, - [SetPluralRulesSymbol]: setPluralRules - }; - { - composer.datetimeFormats = datetimeFormats; - composer.numberFormats = numberFormats; - composer.rt = rt; - composer.te = te; - composer.tm = tm; - composer.d = d; - composer.n = n; - composer.getDateTimeFormat = getDateTimeFormat; - composer.setDateTimeFormat = setDateTimeFormat; - composer.mergeDateTimeFormat = mergeDateTimeFormat; - composer.getNumberFormat = getNumberFormat; - composer.setNumberFormat = setNumberFormat; - composer.mergeNumberFormat = mergeNumberFormat; - composer[InejctWithOptionSymbol] = __injectWithOption; - composer[TranslateVNodeSymbol] = translateVNode; - composer[DatetimePartsSymbol] = datetimeParts; - composer[NumberPartsSymbol] = numberParts; - } - if (false) { - composer[EnableEmitter] = (emitter) => { - _context.__v_emitter = emitter; - }; - composer[DisableEmitter] = () => { - _context.__v_emitter = void 0; - }; - } - return composer; -} -__name(createComposer, "createComposer"); -function convertComposerOptions(options3) { - const locale2 = isString$2(options3.locale) ? options3.locale : DEFAULT_LOCALE; - const fallbackLocale = isString$2(options3.fallbackLocale) || isArray$2(options3.fallbackLocale) || isPlainObject(options3.fallbackLocale) || options3.fallbackLocale === false ? options3.fallbackLocale : locale2; - const missing = isFunction(options3.missing) ? options3.missing : void 0; - const missingWarn = isBoolean$1(options3.silentTranslationWarn) || isRegExp(options3.silentTranslationWarn) ? !options3.silentTranslationWarn : true; - const fallbackWarn = isBoolean$1(options3.silentFallbackWarn) || isRegExp(options3.silentFallbackWarn) ? !options3.silentFallbackWarn : true; - const fallbackRoot = isBoolean$1(options3.fallbackRoot) ? options3.fallbackRoot : true; - const fallbackFormat = !!options3.formatFallbackMessages; - const modifiers = isPlainObject(options3.modifiers) ? options3.modifiers : {}; - const pluralizationRules = options3.pluralizationRules; - const postTranslation = isFunction(options3.postTranslation) ? options3.postTranslation : void 0; - const warnHtmlMessage = isString$2(options3.warnHtmlInMessage) ? options3.warnHtmlInMessage !== "off" : true; - const escapeParameter = !!options3.escapeParameterHtml; - const inheritLocale = isBoolean$1(options3.sync) ? options3.sync : true; - if (false) { - warn$1(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER)); - } - if (false) { - warn$1(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE)); - } - let messages2 = options3.messages; - if (isPlainObject(options3.sharedMessages)) { - const sharedMessages = options3.sharedMessages; - const locales = Object.keys(sharedMessages); - messages2 = locales.reduce((messages22, locale22) => { - const message2 = messages22[locale22] || (messages22[locale22] = {}); - assign$2(message2, sharedMessages[locale22]); - return messages22; - }, messages2 || {}); - } - const { __i18n, __root, __injectWithOption } = options3; - const datetimeFormats = options3.datetimeFormats; - const numberFormats = options3.numberFormats; - const flatJson = options3.flatJson; - const translateExistCompatible = options3.translateExistCompatible; - return { - locale: locale2, - fallbackLocale, - messages: messages2, - flatJson, - datetimeFormats, - numberFormats, - missing, - missingWarn, - fallbackWarn, - fallbackRoot, - fallbackFormat, - modifiers, - pluralRules: pluralizationRules, - postTranslation, - warnHtmlMessage, - escapeParameter, - messageResolver: options3.messageResolver, - inheritLocale, - translateExistCompatible, - __i18n, - __root, - __injectWithOption - }; -} -__name(convertComposerOptions, "convertComposerOptions"); -function createVueI18n(options3 = {}, VueI18nLegacy) { - { - const composer = createComposer(convertComposerOptions(options3)); - const { __extender } = options3; - const vueI18n = { - // id - id: composer.id, - // locale - get locale() { - return composer.locale.value; - }, - set locale(val) { - composer.locale.value = val; - }, - // fallbackLocale - get fallbackLocale() { - return composer.fallbackLocale.value; - }, - set fallbackLocale(val) { - composer.fallbackLocale.value = val; - }, - // messages - get messages() { - return composer.messages.value; - }, - // datetimeFormats - get datetimeFormats() { - return composer.datetimeFormats.value; - }, - // numberFormats - get numberFormats() { - return composer.numberFormats.value; - }, - // availableLocales - get availableLocales() { - return composer.availableLocales; - }, - // formatter - get formatter() { - return { - interpolate() { - return []; - } - }; - }, - set formatter(val) { - }, - // missing - get missing() { - return composer.getMissingHandler(); - }, - set missing(handler6) { - composer.setMissingHandler(handler6); - }, - // silentTranslationWarn - get silentTranslationWarn() { - return isBoolean$1(composer.missingWarn) ? !composer.missingWarn : composer.missingWarn; - }, - set silentTranslationWarn(val) { - composer.missingWarn = isBoolean$1(val) ? !val : val; - }, - // silentFallbackWarn - get silentFallbackWarn() { - return isBoolean$1(composer.fallbackWarn) ? !composer.fallbackWarn : composer.fallbackWarn; - }, - set silentFallbackWarn(val) { - composer.fallbackWarn = isBoolean$1(val) ? !val : val; - }, - // modifiers - get modifiers() { - return composer.modifiers; - }, - // formatFallbackMessages - get formatFallbackMessages() { - return composer.fallbackFormat; - }, - set formatFallbackMessages(val) { - composer.fallbackFormat = val; - }, - // postTranslation - get postTranslation() { - return composer.getPostTranslationHandler(); - }, - set postTranslation(handler6) { - composer.setPostTranslationHandler(handler6); - }, - // sync - get sync() { - return composer.inheritLocale; - }, - set sync(val) { - composer.inheritLocale = val; - }, - // warnInHtmlMessage - get warnHtmlInMessage() { - return composer.warnHtmlMessage ? "warn" : "off"; - }, - set warnHtmlInMessage(val) { - composer.warnHtmlMessage = val !== "off"; - }, - // escapeParameterHtml - get escapeParameterHtml() { - return composer.escapeParameter; - }, - set escapeParameterHtml(val) { - composer.escapeParameter = val; - }, - // preserveDirectiveContent - get preserveDirectiveContent() { - return true; - }, - set preserveDirectiveContent(val) { - }, - // pluralizationRules - get pluralizationRules() { - return composer.pluralRules || {}; - }, - // for internal - __composer: composer, - // t - t(...args) { - const [arg1, arg2, arg3] = args; - const options22 = {}; - let list = null; - let named = null; - if (!isString$2(arg1)) { - throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT); - } - const key = arg1; - if (isString$2(arg2)) { - options22.locale = arg2; - } else if (isArray$2(arg2)) { - list = arg2; - } else if (isPlainObject(arg2)) { - named = arg2; - } - if (isArray$2(arg3)) { - list = arg3; - } else if (isPlainObject(arg3)) { - named = arg3; - } - return Reflect.apply(composer.t, composer, [ - key, - list || named || {}, - options22 - ]); - }, - rt(...args) { - return Reflect.apply(composer.rt, composer, [...args]); - }, - // tc - tc(...args) { - const [arg1, arg2, arg3] = args; - const options22 = { plural: 1 }; - let list = null; - let named = null; - if (!isString$2(arg1)) { - throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT); - } - const key = arg1; - if (isString$2(arg2)) { - options22.locale = arg2; - } else if (isNumber$1(arg2)) { - options22.plural = arg2; - } else if (isArray$2(arg2)) { - list = arg2; - } else if (isPlainObject(arg2)) { - named = arg2; - } - if (isString$2(arg3)) { - options22.locale = arg3; - } else if (isArray$2(arg3)) { - list = arg3; - } else if (isPlainObject(arg3)) { - named = arg3; - } - return Reflect.apply(composer.t, composer, [ - key, - list || named || {}, - options22 - ]); - }, - // te - te(key, locale2) { - return composer.te(key, locale2); - }, - // tm - tm(key) { - return composer.tm(key); - }, - // getLocaleMessage - getLocaleMessage(locale2) { - return composer.getLocaleMessage(locale2); - }, - // setLocaleMessage - setLocaleMessage(locale2, message2) { - composer.setLocaleMessage(locale2, message2); - }, - // mergeLocaleMessage - mergeLocaleMessage(locale2, message2) { - composer.mergeLocaleMessage(locale2, message2); - }, - // d - d(...args) { - return Reflect.apply(composer.d, composer, [...args]); - }, - // getDateTimeFormat - getDateTimeFormat(locale2) { - return composer.getDateTimeFormat(locale2); - }, - // setDateTimeFormat - setDateTimeFormat(locale2, format2) { - composer.setDateTimeFormat(locale2, format2); - }, - // mergeDateTimeFormat - mergeDateTimeFormat(locale2, format2) { - composer.mergeDateTimeFormat(locale2, format2); - }, - // n - n(...args) { - return Reflect.apply(composer.n, composer, [...args]); - }, - // getNumberFormat - getNumberFormat(locale2) { - return composer.getNumberFormat(locale2); - }, - // setNumberFormat - setNumberFormat(locale2, format2) { - composer.setNumberFormat(locale2, format2); - }, - // mergeNumberFormat - mergeNumberFormat(locale2, format2) { - composer.mergeNumberFormat(locale2, format2); - }, - // getChoiceIndex - // eslint-disable-next-line @typescript-eslint/no-unused-vars - getChoiceIndex(choice, choicesLength) { - return -1; - } - }; - vueI18n.__extender = __extender; - if (false) { - vueI18n.__enableEmitter = (emitter) => { - const __composer = composer; - __composer[EnableEmitter] && __composer[EnableEmitter](emitter); - }; - vueI18n.__disableEmitter = () => { - const __composer = composer; - __composer[DisableEmitter] && __composer[DisableEmitter](); - }; - } - return vueI18n; - } -} -__name(createVueI18n, "createVueI18n"); -const baseFormatProps = { - tag: { - type: [String, Object] - }, - locale: { - type: String - }, - scope: { - type: String, - // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050 - validator: /* @__PURE__ */ __name((val) => val === "parent" || val === "global", "validator"), - default: "parent" - /* ComponentI18nScope */ - }, - i18n: { - type: Object - } -}; -function getInterpolateArg({ slots }, keys2) { - if (keys2.length === 1 && keys2[0] === "default") { - const ret = slots.default ? slots.default() : []; - return ret.reduce((slot, current) => { - return [ - ...slot, - // prettier-ignore - ...current.type === Fragment ? current.children : [current] - ]; - }, []); - } else { - return keys2.reduce((arg, key) => { - const slot = slots[key]; - if (slot) { - arg[key] = slot(); - } - return arg; - }, {}); - } -} -__name(getInterpolateArg, "getInterpolateArg"); -function getFragmentableTag(tag) { - return Fragment; -} -__name(getFragmentableTag, "getFragmentableTag"); -const TranslationImpl = /* @__PURE__ */ defineComponent({ - /* eslint-disable */ - name: "i18n-t", - props: assign$2({ - keypath: { - type: String, - required: true - }, - plural: { - type: [Number, String], - // eslint-disable-next-line @typescript-eslint/no-explicit-any - validator: /* @__PURE__ */ __name((val) => isNumber$1(val) || !isNaN(val), "validator") - } - }, baseFormatProps), - /* eslint-enable */ - // eslint-disable-next-line @typescript-eslint/no-explicit-any - setup(props, context) { - const { slots, attrs: attrs3 } = context; - const i18n2 = props.i18n || useI18n({ - useScope: props.scope, - __useComponent: true - }); - return () => { - const keys2 = Object.keys(slots).filter((key) => key !== "_"); - const options3 = {}; - if (props.locale) { - options3.locale = props.locale; - } - if (props.plural !== void 0) { - options3.plural = isString$2(props.plural) ? +props.plural : props.plural; - } - const arg = getInterpolateArg(context, keys2); - const children = i18n2[TranslateVNodeSymbol](props.keypath, arg, options3); - const assignedAttrs = assign$2({}, attrs3); - const tag = isString$2(props.tag) || isObject$2(props.tag) ? props.tag : getFragmentableTag(); - return h(tag, assignedAttrs, children); - }; - } -}); -const Translation = TranslationImpl; -const I18nT = Translation; -function isVNode(target) { - return isArray$2(target) && !isString$2(target[0]); -} -__name(isVNode, "isVNode"); -function renderFormatter(props, context, slotKeys, partFormatter) { - const { slots, attrs: attrs3 } = context; - return () => { - const options3 = { part: true }; - let overrides = {}; - if (props.locale) { - options3.locale = props.locale; - } - if (isString$2(props.format)) { - options3.key = props.format; - } else if (isObject$2(props.format)) { - if (isString$2(props.format.key)) { - options3.key = props.format.key; - } - overrides = Object.keys(props.format).reduce((options22, prop2) => { - return slotKeys.includes(prop2) ? assign$2({}, options22, { [prop2]: props.format[prop2] }) : options22; - }, {}); - } - const parts2 = partFormatter(...[props.value, options3, overrides]); - let children = [options3.key]; - if (isArray$2(parts2)) { - children = parts2.map((part, index2) => { - const slot = slots[part.type]; - const node3 = slot ? slot({ [part.type]: part.value, index: index2, parts: parts2 }) : [part.value]; - if (isVNode(node3)) { - node3[0].key = `${part.type}-${index2}`; - } - return node3; - }); - } else if (isString$2(parts2)) { - children = [parts2]; - } - const assignedAttrs = assign$2({}, attrs3); - const tag = isString$2(props.tag) || isObject$2(props.tag) ? props.tag : getFragmentableTag(); - return h(tag, assignedAttrs, children); - }; -} -__name(renderFormatter, "renderFormatter"); -const NumberFormatImpl = /* @__PURE__ */ defineComponent({ - /* eslint-disable */ - name: "i18n-n", - props: assign$2({ - value: { - type: Number, - required: true - }, - format: { - type: [String, Object] - } - }, baseFormatProps), - /* eslint-enable */ - // eslint-disable-next-line @typescript-eslint/no-explicit-any - setup(props, context) { - const i18n2 = props.i18n || useI18n({ - useScope: props.scope, - __useComponent: true - }); - return renderFormatter(props, context, NUMBER_FORMAT_OPTIONS_KEYS, (...args) => ( - // eslint-disable-next-line @typescript-eslint/no-explicit-any - i18n2[NumberPartsSymbol](...args) - )); - } -}); -const NumberFormat = NumberFormatImpl; -const I18nN = NumberFormat; -const DatetimeFormatImpl = /* @__PURE__ */ defineComponent({ - /* eslint-disable */ - name: "i18n-d", - props: assign$2({ - value: { - type: [Number, Date], - required: true - }, - format: { - type: [String, Object] - } - }, baseFormatProps), - /* eslint-enable */ - // eslint-disable-next-line @typescript-eslint/no-explicit-any - setup(props, context) { - const i18n2 = props.i18n || useI18n({ - useScope: props.scope, - __useComponent: true - }); - return renderFormatter(props, context, DATETIME_FORMAT_OPTIONS_KEYS, (...args) => ( - // eslint-disable-next-line @typescript-eslint/no-explicit-any - i18n2[DatetimePartsSymbol](...args) - )); - } -}); -const DatetimeFormat = DatetimeFormatImpl; -const I18nD = DatetimeFormat; -function getComposer$2(i18n2, instance) { - const i18nInternal = i18n2; - if (i18n2.mode === "composition") { - return i18nInternal.__getInstance(instance) || i18n2.global; - } else { - const vueI18n = i18nInternal.__getInstance(instance); - return vueI18n != null ? vueI18n.__composer : i18n2.global.__composer; - } -} -__name(getComposer$2, "getComposer$2"); -function vTDirective(i18n2) { - const _process = /* @__PURE__ */ __name((binding) => { - const { instance, modifiers, value: value3 } = binding; - if (!instance || !instance.$) { - throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR); - } - const composer = getComposer$2(i18n2, instance.$); - if (false) { - warn$1(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE)); - } - const parsedValue = parseValue(value3); - return [ - Reflect.apply(composer.t, composer, [...makeParams(parsedValue)]), - composer - ]; - }, "_process"); - const register3 = /* @__PURE__ */ __name((el, binding) => { - const [textContent, composer] = _process(binding); - if (inBrowser && i18n2.global === composer) { - el.__i18nWatcher = watch(composer.locale, () => { - binding.instance && binding.instance.$forceUpdate(); - }); - } - el.__composer = composer; - el.textContent = textContent; - }, "register"); - const unregister = /* @__PURE__ */ __name((el) => { - if (inBrowser && el.__i18nWatcher) { - el.__i18nWatcher(); - el.__i18nWatcher = void 0; - delete el.__i18nWatcher; - } - if (el.__composer) { - el.__composer = void 0; - delete el.__composer; - } - }, "unregister"); - const update = /* @__PURE__ */ __name((el, { value: value3 }) => { - if (el.__composer) { - const composer = el.__composer; - const parsedValue = parseValue(value3); - el.textContent = Reflect.apply(composer.t, composer, [ - ...makeParams(parsedValue) - ]); - } - }, "update"); - const getSSRProps = /* @__PURE__ */ __name((binding) => { - const [textContent] = _process(binding); - return { textContent }; - }, "getSSRProps"); - return { - created: register3, - unmounted: unregister, - beforeUpdate: update, - getSSRProps - }; -} -__name(vTDirective, "vTDirective"); -function parseValue(value3) { - if (isString$2(value3)) { - return { path: value3 }; - } else if (isPlainObject(value3)) { - if (!("path" in value3)) { - throw createI18nError(I18nErrorCodes.REQUIRED_VALUE, "path"); - } - return value3; - } else { - throw createI18nError(I18nErrorCodes.INVALID_VALUE); - } -} -__name(parseValue, "parseValue"); -function makeParams(value3) { - const { path, locale: locale2, args, choice, plural } = value3; - const options3 = {}; - const named = args || {}; - if (isString$2(locale2)) { - options3.locale = locale2; - } - if (isNumber$1(choice)) { - options3.plural = choice; - } - if (isNumber$1(plural)) { - options3.plural = plural; - } - return [path, named, options3]; -} -__name(makeParams, "makeParams"); -function apply(app2, i18n2, ...options3) { - const pluginOptions = isPlainObject(options3[0]) ? options3[0] : {}; - const useI18nComponentName = !!pluginOptions.useI18nComponentName; - const globalInstall = isBoolean$1(pluginOptions.globalInstall) ? pluginOptions.globalInstall : true; - if (false) { - warn$1(getWarnMessage(I18nWarnCodes.COMPONENT_NAME_LEGACY_COMPATIBLE, { - name: Translation.name - })); - } - if (globalInstall) { - [!useI18nComponentName ? Translation.name : "i18n", "I18nT"].forEach((name) => app2.component(name, Translation)); - [NumberFormat.name, "I18nN"].forEach((name) => app2.component(name, NumberFormat)); - [DatetimeFormat.name, "I18nD"].forEach((name) => app2.component(name, DatetimeFormat)); - } - { - app2.directive("t", vTDirective(i18n2)); - } -} -__name(apply, "apply"); -const VueDevToolsLabels = { - [ - "vue-devtools-plugin-vue-i18n" - /* VueDevToolsIDs.PLUGIN */ - ]: "Vue I18n devtools", - [ - "vue-i18n-resource-inspector" - /* VueDevToolsIDs.CUSTOM_INSPECTOR */ - ]: "I18n Resources", - [ - "vue-i18n-timeline" - /* VueDevToolsIDs.TIMELINE */ - ]: "Vue I18n" -}; -const VueDevToolsPlaceholders = { - [ - "vue-i18n-resource-inspector" - /* VueDevToolsIDs.CUSTOM_INSPECTOR */ - ]: "Search for scopes ..." -}; -const VueDevToolsTimelineColors = { - [ - "vue-i18n-timeline" - /* VueDevToolsIDs.TIMELINE */ - ]: 16764185 -}; -const VUE_I18N_COMPONENT_TYPES = "vue-i18n: composer properties"; -let devtoolsApi; -async function enableDevTools(app2, i18n2) { - return new Promise((resolve2, reject2) => { - try { - setupDevtoolsPlugin({ - id: "vue-devtools-plugin-vue-i18n", - label: VueDevToolsLabels[ - "vue-devtools-plugin-vue-i18n" - /* VueDevToolsIDs.PLUGIN */ - ], - packageName: "vue-i18n", - homepage: "https://vue-i18n.intlify.dev", - logo: "https://vue-i18n.intlify.dev/vue-i18n-devtools-logo.png", - componentStateTypes: [VUE_I18N_COMPONENT_TYPES], - app: app2 - // eslint-disable-line @typescript-eslint/no-explicit-any - }, (api2) => { - devtoolsApi = api2; - api2.on.visitComponentTree(({ componentInstance, treeNode }) => { - updateComponentTreeTags(componentInstance, treeNode, i18n2); - }); - api2.on.inspectComponent(({ componentInstance, instanceData }) => { - if (componentInstance.vnode.el && componentInstance.vnode.el.__VUE_I18N__ && instanceData) { - if (i18n2.mode === "legacy") { - if (componentInstance.vnode.el.__VUE_I18N__ !== i18n2.global.__composer) { - inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__); - } - } else { - inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__); - } - } - }); - api2.addInspector({ - id: "vue-i18n-resource-inspector", - label: VueDevToolsLabels[ - "vue-i18n-resource-inspector" - /* VueDevToolsIDs.CUSTOM_INSPECTOR */ - ], - icon: "language", - treeFilterPlaceholder: VueDevToolsPlaceholders[ - "vue-i18n-resource-inspector" - /* VueDevToolsIDs.CUSTOM_INSPECTOR */ - ] - }); - api2.on.getInspectorTree((payload) => { - if (payload.app === app2 && payload.inspectorId === "vue-i18n-resource-inspector") { - registerScope(payload, i18n2); - } - }); - const roots = /* @__PURE__ */ new Map(); - api2.on.getInspectorState(async (payload) => { - if (payload.app === app2 && payload.inspectorId === "vue-i18n-resource-inspector") { - api2.unhighlightElement(); - inspectScope(payload, i18n2); - if (payload.nodeId === "global") { - if (!roots.has(payload.app)) { - const [root23] = await api2.getComponentInstances(payload.app); - roots.set(payload.app, root23); - } - api2.highlightElement(roots.get(payload.app)); - } else { - const instance = getComponentInstance(payload.nodeId, i18n2); - instance && api2.highlightElement(instance); - } - } - }); - api2.on.editInspectorState((payload) => { - if (payload.app === app2 && payload.inspectorId === "vue-i18n-resource-inspector") { - editScope(payload, i18n2); - } - }); - api2.addTimelineLayer({ - id: "vue-i18n-timeline", - label: VueDevToolsLabels[ - "vue-i18n-timeline" - /* VueDevToolsIDs.TIMELINE */ - ], - color: VueDevToolsTimelineColors[ - "vue-i18n-timeline" - /* VueDevToolsIDs.TIMELINE */ - ] - }); - resolve2(true); - }); - } catch (e) { - console.error(e); - reject2(false); - } - }); -} -__name(enableDevTools, "enableDevTools"); -function getI18nScopeLable(instance) { - return instance.type.name || instance.type.displayName || instance.type.__file || "Anonymous"; -} -__name(getI18nScopeLable, "getI18nScopeLable"); -function updateComponentTreeTags(instance, treeNode, i18n2) { - const global2 = i18n2.mode === "composition" ? i18n2.global : i18n2.global.__composer; - if (instance && instance.vnode.el && instance.vnode.el.__VUE_I18N__) { - if (instance.vnode.el.__VUE_I18N__ !== global2) { - const tag = { - label: `i18n (${getI18nScopeLable(instance)} Scope)`, - textColor: 0, - backgroundColor: 16764185 - }; - treeNode.tags.push(tag); - } - } -} -__name(updateComponentTreeTags, "updateComponentTreeTags"); -function inspectComposer(instanceData, composer) { - const type = VUE_I18N_COMPONENT_TYPES; - instanceData.state.push({ - type, - key: "locale", - editable: true, - value: composer.locale.value - }); - instanceData.state.push({ - type, - key: "availableLocales", - editable: false, - value: composer.availableLocales - }); - instanceData.state.push({ - type, - key: "fallbackLocale", - editable: true, - value: composer.fallbackLocale.value - }); - instanceData.state.push({ - type, - key: "inheritLocale", - editable: true, - value: composer.inheritLocale - }); - instanceData.state.push({ - type, - key: "messages", - editable: false, - value: getLocaleMessageValue(composer.messages.value) - }); - { - instanceData.state.push({ - type, - key: "datetimeFormats", - editable: false, - value: composer.datetimeFormats.value - }); - instanceData.state.push({ - type, - key: "numberFormats", - editable: false, - value: composer.numberFormats.value - }); - } -} -__name(inspectComposer, "inspectComposer"); -function getLocaleMessageValue(messages2) { - const value3 = {}; - Object.keys(messages2).forEach((key) => { - const v2 = messages2[key]; - if (isFunction(v2) && "source" in v2) { - value3[key] = getMessageFunctionDetails(v2); - } else if (isMessageAST(v2) && v2.loc && v2.loc.source) { - value3[key] = v2.loc.source; - } else if (isObject$2(v2)) { - value3[key] = getLocaleMessageValue(v2); - } else { - value3[key] = v2; - } - }); - return value3; -} -__name(getLocaleMessageValue, "getLocaleMessageValue"); -const ESC = { - "<": "<", - ">": ">", - '"': """, - "&": "&" -}; -function escape$1(s) { - return s.replace(/[<>"&]/g, escapeChar); -} -__name(escape$1, "escape$1"); -function escapeChar(a) { - return ESC[a] || a; -} -__name(escapeChar, "escapeChar"); -function getMessageFunctionDetails(func) { - const argString = func.source ? `("${escape$1(func.source)}")` : `(?)`; - return { - _custom: { - type: "function", - display: `ƒ ${argString}` - } - }; -} -__name(getMessageFunctionDetails, "getMessageFunctionDetails"); -function registerScope(payload, i18n2) { - payload.rootNodes.push({ - id: "global", - label: "Global Scope" - }); - const global2 = i18n2.mode === "composition" ? i18n2.global : i18n2.global.__composer; - for (const [keyInstance, instance] of i18n2.__instances) { - const composer = i18n2.mode === "composition" ? instance : instance.__composer; - if (global2 === composer) { - continue; - } - payload.rootNodes.push({ - id: composer.id.toString(), - label: `${getI18nScopeLable(keyInstance)} Scope` - }); - } -} -__name(registerScope, "registerScope"); -function getComponentInstance(nodeId, i18n2) { - let instance = null; - if (nodeId !== "global") { - for (const [component, composer] of i18n2.__instances.entries()) { - if (composer.id.toString() === nodeId) { - instance = component; - break; - } - } - } - return instance; -} -__name(getComponentInstance, "getComponentInstance"); -function getComposer$1(nodeId, i18n2) { - if (nodeId === "global") { - return i18n2.mode === "composition" ? i18n2.global : i18n2.global.__composer; - } else { - const instance = Array.from(i18n2.__instances.values()).find((item2) => item2.id.toString() === nodeId); - if (instance) { - return i18n2.mode === "composition" ? instance : instance.__composer; - } else { - return null; - } - } -} -__name(getComposer$1, "getComposer$1"); -function inspectScope(payload, i18n2) { - const composer = getComposer$1(payload.nodeId, i18n2); - if (composer) { - payload.state = makeScopeInspectState(composer); - } - return null; -} -__name(inspectScope, "inspectScope"); -function makeScopeInspectState(composer) { - const state = {}; - const localeType = "Locale related info"; - const localeStates = [ - { - type: localeType, - key: "locale", - editable: true, - value: composer.locale.value - }, - { - type: localeType, - key: "fallbackLocale", - editable: true, - value: composer.fallbackLocale.value - }, - { - type: localeType, - key: "availableLocales", - editable: false, - value: composer.availableLocales - }, - { - type: localeType, - key: "inheritLocale", - editable: true, - value: composer.inheritLocale - } - ]; - state[localeType] = localeStates; - const localeMessagesType = "Locale messages info"; - const localeMessagesStates = [ - { - type: localeMessagesType, - key: "messages", - editable: false, - value: getLocaleMessageValue(composer.messages.value) - } - ]; - state[localeMessagesType] = localeMessagesStates; - { - const datetimeFormatsType = "Datetime formats info"; - const datetimeFormatsStates = [ - { - type: datetimeFormatsType, - key: "datetimeFormats", - editable: false, - value: composer.datetimeFormats.value - } - ]; - state[datetimeFormatsType] = datetimeFormatsStates; - const numberFormatsType = "Datetime formats info"; - const numberFormatsStates = [ - { - type: numberFormatsType, - key: "numberFormats", - editable: false, - value: composer.numberFormats.value - } - ]; - state[numberFormatsType] = numberFormatsStates; - } - return state; -} -__name(makeScopeInspectState, "makeScopeInspectState"); -function addTimelineEvent(event2, payload) { - if (devtoolsApi) { - let groupId; - if (payload && "groupId" in payload) { - groupId = payload.groupId; - delete payload.groupId; - } - devtoolsApi.addTimelineEvent({ - layerId: "vue-i18n-timeline", - event: { - title: event2, - groupId, - time: Date.now(), - meta: {}, - data: payload || {}, - logType: event2 === "compile-error" ? "error" : event2 === "fallback" || event2 === "missing" ? "warning" : "default" - } - }); - } -} -__name(addTimelineEvent, "addTimelineEvent"); -function editScope(payload, i18n2) { - const composer = getComposer$1(payload.nodeId, i18n2); - if (composer) { - const [field] = payload.path; - if (field === "locale" && isString$2(payload.state.value)) { - composer.locale.value = payload.state.value; - } else if (field === "fallbackLocale" && (isString$2(payload.state.value) || isArray$2(payload.state.value) || isObject$2(payload.state.value))) { - composer.fallbackLocale.value = payload.state.value; - } else if (field === "inheritLocale" && isBoolean$1(payload.state.value)) { - composer.inheritLocale = payload.state.value; - } - } -} -__name(editScope, "editScope"); -function defineMixin(vuei18n, composer, i18n2) { - return { - beforeCreate() { - const instance = getCurrentInstance(); - if (!instance) { - throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR); - } - const options3 = this.$options; - if (options3.i18n) { - const optionsI18n = options3.i18n; - if (options3.__i18n) { - optionsI18n.__i18n = options3.__i18n; - } - optionsI18n.__root = composer; - if (this === this.$root) { - this.$i18n = mergeToGlobal(vuei18n, optionsI18n); - } else { - optionsI18n.__injectWithOption = true; - optionsI18n.__extender = i18n2.__vueI18nExtend; - this.$i18n = createVueI18n(optionsI18n); - const _vueI18n = this.$i18n; - if (_vueI18n.__extender) { - _vueI18n.__disposer = _vueI18n.__extender(this.$i18n); - } - } - } else if (options3.__i18n) { - if (this === this.$root) { - this.$i18n = mergeToGlobal(vuei18n, options3); - } else { - this.$i18n = createVueI18n({ - __i18n: options3.__i18n, - __injectWithOption: true, - __extender: i18n2.__vueI18nExtend, - __root: composer - }); - const _vueI18n = this.$i18n; - if (_vueI18n.__extender) { - _vueI18n.__disposer = _vueI18n.__extender(this.$i18n); - } - } - } else { - this.$i18n = vuei18n; - } - if (options3.__i18nGlobal) { - adjustI18nResources(composer, options3, options3); - } - this.$t = (...args) => this.$i18n.t(...args); - this.$rt = (...args) => this.$i18n.rt(...args); - this.$tc = (...args) => this.$i18n.tc(...args); - this.$te = (key, locale2) => this.$i18n.te(key, locale2); - this.$d = (...args) => this.$i18n.d(...args); - this.$n = (...args) => this.$i18n.n(...args); - this.$tm = (key) => this.$i18n.tm(key); - i18n2.__setInstance(instance, this.$i18n); - }, - mounted() { - if (false) { - const _vueI18n = this.$i18n; - this.$el.__VUE_I18N__ = _vueI18n.__composer; - const emitter = this.__v_emitter = createEmitter(); - _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter); - emitter.on("*", addTimelineEvent); - } - }, - unmounted() { - const instance = getCurrentInstance(); - if (!instance) { - throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR); - } - const _vueI18n = this.$i18n; - if (false) { - if (this.__v_emitter) { - this.__v_emitter.off("*", addTimelineEvent); - delete this.__v_emitter; - } - if (this.$i18n) { - _vueI18n.__disableEmitter && _vueI18n.__disableEmitter(); - delete this.$el.__VUE_I18N__; - } - } - delete this.$t; - delete this.$rt; - delete this.$tc; - delete this.$te; - delete this.$d; - delete this.$n; - delete this.$tm; - if (_vueI18n.__disposer) { - _vueI18n.__disposer(); - delete _vueI18n.__disposer; - delete _vueI18n.__extender; - } - i18n2.__deleteInstance(instance); - delete this.$i18n; - } - }; -} -__name(defineMixin, "defineMixin"); -function mergeToGlobal(g, options3) { - g.locale = options3.locale || g.locale; - g.fallbackLocale = options3.fallbackLocale || g.fallbackLocale; - g.missing = options3.missing || g.missing; - g.silentTranslationWarn = options3.silentTranslationWarn || g.silentFallbackWarn; - g.silentFallbackWarn = options3.silentFallbackWarn || g.silentFallbackWarn; - g.formatFallbackMessages = options3.formatFallbackMessages || g.formatFallbackMessages; - g.postTranslation = options3.postTranslation || g.postTranslation; - g.warnHtmlInMessage = options3.warnHtmlInMessage || g.warnHtmlInMessage; - g.escapeParameterHtml = options3.escapeParameterHtml || g.escapeParameterHtml; - g.sync = options3.sync || g.sync; - g.__composer[SetPluralRulesSymbol](options3.pluralizationRules || g.pluralizationRules); - const messages2 = getLocaleMessages(g.locale, { - messages: options3.messages, - __i18n: options3.__i18n - }); - Object.keys(messages2).forEach((locale2) => g.mergeLocaleMessage(locale2, messages2[locale2])); - if (options3.datetimeFormats) { - Object.keys(options3.datetimeFormats).forEach((locale2) => g.mergeDateTimeFormat(locale2, options3.datetimeFormats[locale2])); - } - if (options3.numberFormats) { - Object.keys(options3.numberFormats).forEach((locale2) => g.mergeNumberFormat(locale2, options3.numberFormats[locale2])); - } - return g; -} -__name(mergeToGlobal, "mergeToGlobal"); -const I18nInjectionKey = /* @__PURE__ */ makeSymbol("global-vue-i18n"); -function createI18n(options3 = {}, VueI18nLegacy) { - const __legacyMode = __VUE_I18N_LEGACY_API__ && isBoolean$1(options3.legacy) ? options3.legacy : __VUE_I18N_LEGACY_API__; - const __globalInjection = isBoolean$1(options3.globalInjection) ? options3.globalInjection : true; - const __allowComposition = __VUE_I18N_LEGACY_API__ && __legacyMode ? !!options3.allowComposition : true; - const __instances = /* @__PURE__ */ new Map(); - const [globalScope, __global] = createGlobal(options3, __legacyMode); - const symbol = /* @__PURE__ */ makeSymbol(false ? "vue-i18n" : ""); - if (false) { - if (__legacyMode && __allowComposition && true) { - warn$1(getWarnMessage(I18nWarnCodes.NOTICE_DROP_ALLOW_COMPOSITION)); - } - } - function __getInstance(component) { - return __instances.get(component) || null; - } - __name(__getInstance, "__getInstance"); - function __setInstance(component, instance) { - __instances.set(component, instance); - } - __name(__setInstance, "__setInstance"); - function __deleteInstance(component) { - __instances.delete(component); - } - __name(__deleteInstance, "__deleteInstance"); - { - const i18n2 = { - // mode - get mode() { - return __VUE_I18N_LEGACY_API__ && __legacyMode ? "legacy" : "composition"; - }, - // allowComposition - get allowComposition() { - return __allowComposition; - }, - // install plugin - async install(app2, ...options22) { - if (false) { - app2.__VUE_I18N__ = i18n2; - } - app2.__VUE_I18N_SYMBOL__ = symbol; - app2.provide(app2.__VUE_I18N_SYMBOL__, i18n2); - if (isPlainObject(options22[0])) { - const opts = options22[0]; - i18n2.__composerExtend = opts.__composerExtend; - i18n2.__vueI18nExtend = opts.__vueI18nExtend; - } - let globalReleaseHandler = null; - if (!__legacyMode && __globalInjection) { - globalReleaseHandler = injectGlobalFields(app2, i18n2.global); - } - if (__VUE_I18N_FULL_INSTALL__) { - apply(app2, i18n2, ...options22); - } - if (__VUE_I18N_LEGACY_API__ && __legacyMode) { - app2.mixin(defineMixin(__global, __global.__composer, i18n2)); - } - const unmountApp = app2.unmount; - app2.unmount = () => { - globalReleaseHandler && globalReleaseHandler(); - i18n2.dispose(); - unmountApp(); - }; - if (false) { - const ret = await enableDevTools(app2, i18n2); - if (!ret) { - throw createI18nError(I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN); - } - const emitter = createEmitter(); - if (__legacyMode) { - const _vueI18n = __global; - _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter); - } else { - const _composer = __global; - _composer[EnableEmitter] && _composer[EnableEmitter](emitter); - } - emitter.on("*", addTimelineEvent); - } - }, - // global accessor - get global() { - return __global; - }, - dispose() { - globalScope.stop(); - }, - // @internal - __instances, - // @internal - __getInstance, - // @internal - __setInstance, - // @internal - __deleteInstance - }; - return i18n2; - } -} -__name(createI18n, "createI18n"); -function useI18n(options3 = {}) { - const instance = getCurrentInstance(); - if (instance == null) { - throw createI18nError(I18nErrorCodes.MUST_BE_CALL_SETUP_TOP); - } - if (!instance.isCE && instance.appContext.app != null && !instance.appContext.app.__VUE_I18N_SYMBOL__) { - throw createI18nError(I18nErrorCodes.NOT_INSTALLED); - } - const i18n2 = getI18nInstance(instance); - const gl = getGlobalComposer(i18n2); - const componentOptions = getComponentOptions(instance); - const scope = getScope(options3, componentOptions); - if (__VUE_I18N_LEGACY_API__) { - if (i18n2.mode === "legacy" && !options3.__useComponent) { - if (!i18n2.allowComposition) { - throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE); - } - return useI18nForLegacy(instance, scope, gl, options3); - } - } - if (scope === "global") { - adjustI18nResources(gl, options3, componentOptions); - return gl; - } - if (scope === "parent") { - let composer2 = getComposer(i18n2, instance, options3.__useComponent); - if (composer2 == null) { - if (false) { - warn$1(getWarnMessage(I18nWarnCodes.NOT_FOUND_PARENT_SCOPE)); - } - composer2 = gl; - } - return composer2; - } - const i18nInternal = i18n2; - let composer = i18nInternal.__getInstance(instance); - if (composer == null) { - const composerOptions = assign$2({}, options3); - if ("__i18n" in componentOptions) { - composerOptions.__i18n = componentOptions.__i18n; - } - if (gl) { - composerOptions.__root = gl; - } - composer = createComposer(composerOptions); - if (i18nInternal.__composerExtend) { - composer[DisposeSymbol] = i18nInternal.__composerExtend(composer); - } - setupLifeCycle(i18nInternal, instance, composer); - i18nInternal.__setInstance(instance, composer); - } - return composer; -} -__name(useI18n, "useI18n"); -const castToVueI18n = /* @__PURE__ */ __name(/* @__NO_SIDE_EFFECTS__ */ (i18n2) => { - if (!(__VUE_I18N_BRIDGE__ in i18n2)) { - throw createI18nError(I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N); - } - return i18n2; -}, "castToVueI18n"); -function createGlobal(options3, legacyMode, VueI18nLegacy) { - const scope = effectScope(); - { - const obj = __VUE_I18N_LEGACY_API__ && legacyMode ? scope.run(() => createVueI18n(options3)) : scope.run(() => createComposer(options3)); - if (obj == null) { - throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR); - } - return [scope, obj]; - } -} -__name(createGlobal, "createGlobal"); -function getI18nInstance(instance) { - { - const i18n2 = inject(!instance.isCE ? instance.appContext.app.__VUE_I18N_SYMBOL__ : I18nInjectionKey); - if (!i18n2) { - throw createI18nError(!instance.isCE ? I18nErrorCodes.UNEXPECTED_ERROR : I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE); - } - return i18n2; - } -} -__name(getI18nInstance, "getI18nInstance"); -function getScope(options3, componentOptions) { - return isEmptyObject(options3) ? "__i18n" in componentOptions ? "local" : "global" : !options3.useScope ? "local" : options3.useScope; -} -__name(getScope, "getScope"); -function getGlobalComposer(i18n2) { - return i18n2.mode === "composition" ? i18n2.global : i18n2.global.__composer; -} -__name(getGlobalComposer, "getGlobalComposer"); -function getComposer(i18n2, target, useComponent = false) { - let composer = null; - const root23 = target.root; - let current = getParentComponentInstance(target, useComponent); - while (current != null) { - const i18nInternal = i18n2; - if (i18n2.mode === "composition") { - composer = i18nInternal.__getInstance(current); - } else { - if (__VUE_I18N_LEGACY_API__) { - const vueI18n = i18nInternal.__getInstance(current); - if (vueI18n != null) { - composer = vueI18n.__composer; - if (useComponent && composer && !composer[InejctWithOptionSymbol]) { - composer = null; - } - } - } - } - if (composer != null) { - break; - } - if (root23 === current) { - break; - } - current = current.parent; - } - return composer; -} -__name(getComposer, "getComposer"); -function getParentComponentInstance(target, useComponent = false) { - if (target == null) { - return null; - } - { - return !useComponent ? target.parent : target.vnode.ctx || target.parent; - } -} -__name(getParentComponentInstance, "getParentComponentInstance"); -function setupLifeCycle(i18n2, target, composer) { - let emitter = null; - { - onMounted(() => { - if (false) { - target.vnode.el.__VUE_I18N__ = composer; - emitter = createEmitter(); - const _composer = composer; - _composer[EnableEmitter] && _composer[EnableEmitter](emitter); - emitter.on("*", addTimelineEvent); - } - }, target); - onUnmounted(() => { - const _composer = composer; - if (false) { - emitter && emitter.off("*", addTimelineEvent); - _composer[DisableEmitter] && _composer[DisableEmitter](); - delete target.vnode.el.__VUE_I18N__; - } - i18n2.__deleteInstance(target); - const dispose = _composer[DisposeSymbol]; - if (dispose) { - dispose(); - delete _composer[DisposeSymbol]; - } - }, target); - } -} -__name(setupLifeCycle, "setupLifeCycle"); -function useI18nForLegacy(instance, scope, root23, options3 = {}) { - const isLocalScope = scope === "local"; - const _composer = shallowRef(null); - if (isLocalScope && instance.proxy && !(instance.proxy.$options.i18n || instance.proxy.$options.__i18n)) { - throw createI18nError(I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION); - } - const _inheritLocale = isBoolean$1(options3.inheritLocale) ? options3.inheritLocale : !isString$2(options3.locale); - const _locale = ref( - // prettier-ignore - !isLocalScope || _inheritLocale ? root23.locale.value : isString$2(options3.locale) ? options3.locale : DEFAULT_LOCALE - ); - const _fallbackLocale = ref( - // prettier-ignore - !isLocalScope || _inheritLocale ? root23.fallbackLocale.value : isString$2(options3.fallbackLocale) || isArray$2(options3.fallbackLocale) || isPlainObject(options3.fallbackLocale) || options3.fallbackLocale === false ? options3.fallbackLocale : _locale.value - ); - const _messages = ref(getLocaleMessages(_locale.value, options3)); - const _datetimeFormats = ref(isPlainObject(options3.datetimeFormats) ? options3.datetimeFormats : { [_locale.value]: {} }); - const _numberFormats = ref(isPlainObject(options3.numberFormats) ? options3.numberFormats : { [_locale.value]: {} }); - const _missingWarn = isLocalScope ? root23.missingWarn : isBoolean$1(options3.missingWarn) || isRegExp(options3.missingWarn) ? options3.missingWarn : true; - const _fallbackWarn = isLocalScope ? root23.fallbackWarn : isBoolean$1(options3.fallbackWarn) || isRegExp(options3.fallbackWarn) ? options3.fallbackWarn : true; - const _fallbackRoot = isLocalScope ? root23.fallbackRoot : isBoolean$1(options3.fallbackRoot) ? options3.fallbackRoot : true; - const _fallbackFormat = !!options3.fallbackFormat; - const _missing = isFunction(options3.missing) ? options3.missing : null; - const _postTranslation = isFunction(options3.postTranslation) ? options3.postTranslation : null; - const _warnHtmlMessage = isLocalScope ? root23.warnHtmlMessage : isBoolean$1(options3.warnHtmlMessage) ? options3.warnHtmlMessage : true; - const _escapeParameter = !!options3.escapeParameter; - const _modifiers = isLocalScope ? root23.modifiers : isPlainObject(options3.modifiers) ? options3.modifiers : {}; - const _pluralRules = options3.pluralRules || isLocalScope && root23.pluralRules; - function trackReactivityValues() { - return [ - _locale.value, - _fallbackLocale.value, - _messages.value, - _datetimeFormats.value, - _numberFormats.value - ]; - } - __name(trackReactivityValues, "trackReactivityValues"); - const locale2 = computed({ - get: /* @__PURE__ */ __name(() => { - return _composer.value ? _composer.value.locale.value : _locale.value; - }, "get"), - set: /* @__PURE__ */ __name((val) => { - if (_composer.value) { - _composer.value.locale.value = val; - } - _locale.value = val; - }, "set") - }); - const fallbackLocale = computed({ - get: /* @__PURE__ */ __name(() => { - return _composer.value ? _composer.value.fallbackLocale.value : _fallbackLocale.value; - }, "get"), - set: /* @__PURE__ */ __name((val) => { - if (_composer.value) { - _composer.value.fallbackLocale.value = val; - } - _fallbackLocale.value = val; - }, "set") - }); - const messages2 = computed(() => { - if (_composer.value) { - return _composer.value.messages.value; - } else { - return _messages.value; - } - }); - const datetimeFormats = computed(() => _datetimeFormats.value); - const numberFormats = computed(() => _numberFormats.value); - function getPostTranslationHandler() { - return _composer.value ? _composer.value.getPostTranslationHandler() : _postTranslation; - } - __name(getPostTranslationHandler, "getPostTranslationHandler"); - function setPostTranslationHandler(handler6) { - if (_composer.value) { - _composer.value.setPostTranslationHandler(handler6); - } - } - __name(setPostTranslationHandler, "setPostTranslationHandler"); - function getMissingHandler() { - return _composer.value ? _composer.value.getMissingHandler() : _missing; - } - __name(getMissingHandler, "getMissingHandler"); - function setMissingHandler(handler6) { - if (_composer.value) { - _composer.value.setMissingHandler(handler6); - } - } - __name(setMissingHandler, "setMissingHandler"); - function warpWithDeps(fn) { - trackReactivityValues(); - return fn(); - } - __name(warpWithDeps, "warpWithDeps"); - function t(...args) { - return _composer.value ? warpWithDeps(() => Reflect.apply(_composer.value.t, null, [...args])) : warpWithDeps(() => ""); - } - __name(t, "t"); - function rt(...args) { - return _composer.value ? Reflect.apply(_composer.value.rt, null, [...args]) : ""; - } - __name(rt, "rt"); - function d(...args) { - return _composer.value ? warpWithDeps(() => Reflect.apply(_composer.value.d, null, [...args])) : warpWithDeps(() => ""); - } - __name(d, "d"); - function n(...args) { - return _composer.value ? warpWithDeps(() => Reflect.apply(_composer.value.n, null, [...args])) : warpWithDeps(() => ""); - } - __name(n, "n"); - function tm(key) { - return _composer.value ? _composer.value.tm(key) : {}; - } - __name(tm, "tm"); - function te(key, locale22) { - return _composer.value ? _composer.value.te(key, locale22) : false; - } - __name(te, "te"); - function getLocaleMessage(locale22) { - return _composer.value ? _composer.value.getLocaleMessage(locale22) : {}; - } - __name(getLocaleMessage, "getLocaleMessage"); - function setLocaleMessage(locale22, message2) { - if (_composer.value) { - _composer.value.setLocaleMessage(locale22, message2); - _messages.value[locale22] = message2; - } - } - __name(setLocaleMessage, "setLocaleMessage"); - function mergeLocaleMessage(locale22, message2) { - if (_composer.value) { - _composer.value.mergeLocaleMessage(locale22, message2); - } - } - __name(mergeLocaleMessage, "mergeLocaleMessage"); - function getDateTimeFormat(locale22) { - return _composer.value ? _composer.value.getDateTimeFormat(locale22) : {}; - } - __name(getDateTimeFormat, "getDateTimeFormat"); - function setDateTimeFormat(locale22, format2) { - if (_composer.value) { - _composer.value.setDateTimeFormat(locale22, format2); - _datetimeFormats.value[locale22] = format2; - } - } - __name(setDateTimeFormat, "setDateTimeFormat"); - function mergeDateTimeFormat(locale22, format2) { - if (_composer.value) { - _composer.value.mergeDateTimeFormat(locale22, format2); - } - } - __name(mergeDateTimeFormat, "mergeDateTimeFormat"); - function getNumberFormat(locale22) { - return _composer.value ? _composer.value.getNumberFormat(locale22) : {}; - } - __name(getNumberFormat, "getNumberFormat"); - function setNumberFormat(locale22, format2) { - if (_composer.value) { - _composer.value.setNumberFormat(locale22, format2); - _numberFormats.value[locale22] = format2; - } - } - __name(setNumberFormat, "setNumberFormat"); - function mergeNumberFormat(locale22, format2) { - if (_composer.value) { - _composer.value.mergeNumberFormat(locale22, format2); - } - } - __name(mergeNumberFormat, "mergeNumberFormat"); - const wrapper = { - get id() { - return _composer.value ? _composer.value.id : -1; - }, - locale: locale2, - fallbackLocale, - messages: messages2, - datetimeFormats, - numberFormats, - get inheritLocale() { - return _composer.value ? _composer.value.inheritLocale : _inheritLocale; - }, - set inheritLocale(val) { - if (_composer.value) { - _composer.value.inheritLocale = val; - } - }, - get availableLocales() { - return _composer.value ? _composer.value.availableLocales : Object.keys(_messages.value); - }, - get modifiers() { - return _composer.value ? _composer.value.modifiers : _modifiers; - }, - get pluralRules() { - return _composer.value ? _composer.value.pluralRules : _pluralRules; - }, - get isGlobal() { - return _composer.value ? _composer.value.isGlobal : false; - }, - get missingWarn() { - return _composer.value ? _composer.value.missingWarn : _missingWarn; - }, - set missingWarn(val) { - if (_composer.value) { - _composer.value.missingWarn = val; - } - }, - get fallbackWarn() { - return _composer.value ? _composer.value.fallbackWarn : _fallbackWarn; - }, - set fallbackWarn(val) { - if (_composer.value) { - _composer.value.missingWarn = val; - } - }, - get fallbackRoot() { - return _composer.value ? _composer.value.fallbackRoot : _fallbackRoot; - }, - set fallbackRoot(val) { - if (_composer.value) { - _composer.value.fallbackRoot = val; - } - }, - get fallbackFormat() { - return _composer.value ? _composer.value.fallbackFormat : _fallbackFormat; - }, - set fallbackFormat(val) { - if (_composer.value) { - _composer.value.fallbackFormat = val; - } - }, - get warnHtmlMessage() { - return _composer.value ? _composer.value.warnHtmlMessage : _warnHtmlMessage; - }, - set warnHtmlMessage(val) { - if (_composer.value) { - _composer.value.warnHtmlMessage = val; - } - }, - get escapeParameter() { - return _composer.value ? _composer.value.escapeParameter : _escapeParameter; - }, - set escapeParameter(val) { - if (_composer.value) { - _composer.value.escapeParameter = val; - } - }, - t, - getPostTranslationHandler, - setPostTranslationHandler, - getMissingHandler, - setMissingHandler, - rt, - d, - n, - tm, - te, - getLocaleMessage, - setLocaleMessage, - mergeLocaleMessage, - getDateTimeFormat, - setDateTimeFormat, - mergeDateTimeFormat, - getNumberFormat, - setNumberFormat, - mergeNumberFormat - }; - function sync(composer) { - composer.locale.value = _locale.value; - composer.fallbackLocale.value = _fallbackLocale.value; - Object.keys(_messages.value).forEach((locale22) => { - composer.mergeLocaleMessage(locale22, _messages.value[locale22]); - }); - Object.keys(_datetimeFormats.value).forEach((locale22) => { - composer.mergeDateTimeFormat(locale22, _datetimeFormats.value[locale22]); - }); - Object.keys(_numberFormats.value).forEach((locale22) => { - composer.mergeNumberFormat(locale22, _numberFormats.value[locale22]); - }); - composer.escapeParameter = _escapeParameter; - composer.fallbackFormat = _fallbackFormat; - composer.fallbackRoot = _fallbackRoot; - composer.fallbackWarn = _fallbackWarn; - composer.missingWarn = _missingWarn; - composer.warnHtmlMessage = _warnHtmlMessage; - } - __name(sync, "sync"); - onBeforeMount(() => { - if (instance.proxy == null || instance.proxy.$i18n == null) { - throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY); - } - const composer = _composer.value = instance.proxy.$i18n.__composer; - if (scope === "global") { - _locale.value = composer.locale.value; - _fallbackLocale.value = composer.fallbackLocale.value; - _messages.value = composer.messages.value; - _datetimeFormats.value = composer.datetimeFormats.value; - _numberFormats.value = composer.numberFormats.value; - } else if (isLocalScope) { - sync(composer); - } - }); - return wrapper; -} -__name(useI18nForLegacy, "useI18nForLegacy"); -const globalExportProps = [ - "locale", - "fallbackLocale", - "availableLocales" -]; -const globalExportMethods = ["t", "rt", "d", "n", "tm", "te"]; -function injectGlobalFields(app2, composer) { - const i18n2 = /* @__PURE__ */ Object.create(null); - globalExportProps.forEach((prop2) => { - const desc = Object.getOwnPropertyDescriptor(composer, prop2); - if (!desc) { - throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR); - } - const wrap = isRef(desc.value) ? { - get() { - return desc.value.value; - }, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - set(val) { - desc.value.value = val; - } - } : { - get() { - return desc.get && desc.get(); - } - }; - Object.defineProperty(i18n2, prop2, wrap); - }); - app2.config.globalProperties.$i18n = i18n2; - globalExportMethods.forEach((method) => { - const desc = Object.getOwnPropertyDescriptor(composer, method); - if (!desc || !desc.value) { - throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR); - } - Object.defineProperty(app2.config.globalProperties, `$${method}`, desc); - }); - const dispose = /* @__PURE__ */ __name(() => { - delete app2.config.globalProperties.$i18n; - globalExportMethods.forEach((method) => { - delete app2.config.globalProperties[`$${method}`]; - }); - }, "dispose"); - return dispose; -} -__name(injectGlobalFields, "injectGlobalFields"); -{ - initFeatureFlags(); -} -if (__INTLIFY_JIT_COMPILATION__) { - registerMessageCompiler(compile); -} else { - registerMessageCompiler(compileToFunction); -} -registerMessageResolver(resolveValue); -registerLocaleFallbacker(fallbackWithLocaleChain); -if (__INTLIFY_PROD_DEVTOOLS__) { - const target = getGlobalThis(); - target.__INTLIFY__ = true; - setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__); -} -if (false) ; -const _hoisted_1$s = { - class: "flex flex-wrap content-around justify-around gap-4 mt-4", - "data-testid": "template-workflows-content" -}; -const _hoisted_2$i = ["data-testid"]; -const _hoisted_3$c = ["onClick"]; -const _hoisted_4$8 = ["src"]; -const _sfc_main$r = /* @__PURE__ */ defineComponent({ - __name: "TemplateWorkflowsContent", - setup(__props) { - const { t } = useI18n(); - const templates = ["default", "image2image", "upscale", "flux_schnell"]; - const loading2 = ref(null); - const loadWorkflow = /* @__PURE__ */ __name(async (id3) => { - loading2.value = id3; - const json = await fetch(api.fileURL(`templates/${id3}.json`)).then( - (r) => r.json() - ); - useDialogStore().closeDialog(); - await app$1.loadGraphData( - json, - true, - true, - t(`templateWorkflows.template.${id3}`) - ); - return false; - }, "loadWorkflow"); - return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", _hoisted_1$s, [ - (openBlock(), createElementBlock(Fragment, null, renderList(templates, (template) => { - return createBaseVNode("div", { - key: template, - "data-testid": `template-workflow-${template}` - }, [ - createVNode(unref(script$o), null, { - header: withCtx(() => [ - createBaseVNode("div", { - class: "relative overflow-hidden rounded-lg cursor-pointer", - onClick: /* @__PURE__ */ __name(($event) => loadWorkflow(template), "onClick") - }, [ - createBaseVNode("img", { - src: `/templates/${template}.jpg`, - class: "w-64 h-64 rounded-lg object-cover" - }, null, 8, _hoisted_4$8), - _cache[0] || (_cache[0] = createBaseVNode("a", null, [ - createBaseVNode("div", { class: "absolute top-0 left-0 w-64 h-64 overflow-hidden opacity-0 transition duration-300 ease-in-out hover:opacity-100 bg-opacity-50 bg-black flex items-center justify-center" }, [ - createBaseVNode("i", { class: "pi pi-play-circle" }) - ]) - ], -1)), - loading2.value === template ? (openBlock(), createBlock(unref(script$k), { - key: 0, - class: "absolute inset-0 z-1 w-3/12 h-full" - })) : createCommentVNode("", true) - ], 8, _hoisted_3$c) - ]), - subtitle: withCtx(() => [ - createTextVNode(toDisplayString$1(_ctx.$t(`templateWorkflows.template.${template}`)), 1) - ]), - _: 2 - }, 1024) - ], 8, _hoisted_2$i); - }), 64)) - ]); - }; - } -}); -const TemplateWorkflowsContent = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-98830966"]]); -var theme$c = /* @__PURE__ */ __name(function theme23(_ref) { - var dt2 = _ref.dt; - return "\n.p-floatlabel {\n display: block;\n position: relative;\n}\n\n.p-floatlabel label {\n position: absolute;\n pointer-events: none;\n top: 50%;\n transform: translateY(-50%);\n transition-property: all;\n transition-timing-function: ease;\n line-height: 1;\n font-weight: ".concat(dt2("floatlabel.font.weight"), ";\n left: ").concat(dt2("floatlabel.position.x"), ";\n color: ").concat(dt2("floatlabel.color"), ";\n transition-duration: ").concat(dt2("floatlabel.transition.duration"), ";\n}\n\n.p-floatlabel:has(.p-textarea) label {\n top: ").concat(dt2("floatlabel.position.y"), ";\n transform: translateY(0);\n}\n\n.p-floatlabel:has(.p-inputicon:first-child) label {\n left: calc((").concat(dt2("form.field.padding.x"), " * 2) + ").concat(dt2("icon.size"), ");\n}\n\n.p-floatlabel:has(.p-invalid) label {\n color: ").concat(dt2("floatlabel.invalid.color"), ";\n}\n\n.p-floatlabel:has(input:focus) label,\n.p-floatlabel:has(input.p-filled) label,\n.p-floatlabel:has(input:-webkit-autofill) label,\n.p-floatlabel:has(textarea:focus) label,\n.p-floatlabel:has(textarea.p-filled) label,\n.p-floatlabel:has(.p-inputwrapper-focus) label,\n.p-floatlabel:has(.p-inputwrapper-filled) label {\n top: ").concat(dt2("floatlabel.over.active.top"), ";\n transform: translateY(0);\n font-size: ").concat(dt2("floatlabel.active.font.size"), ";\n font-weight: ").concat(dt2("floatlabel.label.active.font.weight"), ";\n}\n\n.p-floatlabel:has(input.p-filled) label,\n.p-floatlabel:has(textarea.p-filled) label,\n.p-floatlabel:has(.p-inputwrapper-filled) label {\n color: ").concat(dt2("floatlabel.active.color"), ";\n}\n\n.p-floatlabel:has(input:focus) label,\n.p-floatlabel:has(input:-webkit-autofill) label,\n.p-floatlabel:has(textarea:focus) label ,\n.p-floatlabel:has(.p-inputwrapper-focus) label {\n color: ").concat(dt2("floatlabel.focus.color"), ";\n}\n\n/*.p-floatlabel .p-placeholder,\n.p-floatlabel input::placeholder,\n.p-floatlabel .p-inputtext::placeholder {\n opacity: 0;\n transition-property: all;\n transition-timing-function: ease;\n}\n\n.p-floatlabel .p-focus .p-placeholder,\n.p-floatlabel input:focus::placeholder,\n.p-floatlabel .p-inputtext:focus::placeholder {\n opacity: 1;\n transition-property: all;\n transition-timing-function: ease;\n}*/\n\n.p-floatlabel-in .p-inputtext,\n.p-floatlabel-in .p-textarea,\n.p-floatlabel-in .p-select-label,\n.p-floatlabel-in .p-multiselect-label,\n.p-floatlabel-in .p-autocomplete-input-multiple,\n.p-floatlabel-in .p-cascadeselect-label,\n.p-floatlabel-in .p-treeselect-label {\n padding-top: ").concat(dt2("floatlabel.in.input.padding.top"), ";\n padding-bottom: ").concat(dt2("floatlabel.in.input.padding.bottom"), ";\n}\n\n.p-floatlabel-in:has(input:focus) label,\n.p-floatlabel-in:has(input.p-filled) label,\n.p-floatlabel-in:has(input:-webkit-autofill) label,\n.p-floatlabel-in:has(textarea:focus) label,\n.p-floatlabel-in:has(textarea.p-filled) label,\n.p-floatlabel-in:has(.p-inputwrapper-focus) label,\n.p-floatlabel-in:has(.p-inputwrapper-filled) label {\n top: ").concat(dt2("floatlabel.in.active.top"), ";\n}\n\n.p-floatlabel-on:has(input:focus) label,\n.p-floatlabel-on:has(input.p-filled) label,\n.p-floatlabel-on:has(input:-webkit-autofill) label,\n.p-floatlabel-on:has(textarea:focus) label,\n.p-floatlabel-on:has(textarea.p-filled) label,\n.p-floatlabel-on:has(.p-inputwrapper-focus) label,\n.p-floatlabel-on:has(.p-inputwrapper-filled) label {\n top: 0;\n transform: translateY(-50%);\n border-radius: ").concat(dt2("floatlabel.on.border.radius"), ";\n background: ").concat(dt2("floatlabel.on.active.background"), ";\n padding: ").concat(dt2("floatlabel.on.active.padding"), ";\n}\n"); -}, "theme"); -var classes$c = { - root: /* @__PURE__ */ __name(function root16(_ref2) { - _ref2.instance; - var props = _ref2.props; - return ["p-floatlabel", { - "p-floatlabel-over": props.variant === "over", - "p-floatlabel-on": props.variant === "on", - "p-floatlabel-in": props.variant === "in" - }]; - }, "root") -}; -var FloatLabelStyle = BaseStyle.extend({ - name: "floatlabel", - theme: theme$c, - classes: classes$c -}); -var script$1$b = { - name: "BaseFloatLabel", - "extends": script$U, - props: { - variant: { - type: String, - "default": "over" - } - }, - style: FloatLabelStyle, - provide: /* @__PURE__ */ __name(function provide25() { - return { - $pcFloatLabel: this, - $parentInstance: this - }; - }, "provide") -}; -var script$j = { - name: "FloatLabel", - "extends": script$1$b, - inheritAttrs: false -}; -function render$i(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("span", mergeProps$1({ - "class": _ctx.cx("root") - }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); -} -__name(render$i, "render$i"); -script$j.render = render$i; -const _hoisted_1$r = { class: "prompt-dialog-content flex flex-col gap-2 pt-8" }; -const _sfc_main$q = /* @__PURE__ */ defineComponent({ - __name: "PromptDialogContent", - props: { - message: {}, - defaultValue: {}, - onConfirm: { type: Function } - }, - setup(__props) { - const props = __props; - const inputValue = ref(props.defaultValue); - const onConfirm = /* @__PURE__ */ __name(() => { - props.onConfirm(inputValue.value); - useDialogStore().closeDialog(); - }, "onConfirm"); - const inputRef = ref(null); - const selectAllText = /* @__PURE__ */ __name(() => { - if (!inputRef.value) return; - const inputElement = inputRef.value.$el; - inputElement.setSelectionRange(0, inputElement.value.length); - }, "selectAllText"); - return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", _hoisted_1$r, [ - createVNode(unref(script$j), null, { - default: withCtx(() => [ - createVNode(unref(script$N), { - ref_key: "inputRef", - ref: inputRef, - modelValue: inputValue.value, - "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => inputValue.value = $event), - onKeyup: withKeys(onConfirm, ["enter"]), - onFocus: selectAllText, - autofocus: "" - }, null, 8, ["modelValue"]), - createBaseVNode("label", null, toDisplayString$1(_ctx.message), 1) - ]), - _: 1 - }), - createVNode(unref(script$I), { onClick: onConfirm }, { - default: withCtx(() => [ - createTextVNode(toDisplayString$1(_ctx.$t("confirm")), 1) - ]), - _: 1 - }) - ]); - }; - } -}); -const messages = { - en: { - videoFailedToLoad: "Video failed to load", - extensionName: "Extension Name", - reloadToApplyChanges: "Reload to apply changes", - insert: "Insert", - systemInfo: "System Info", - devices: "Devices", - about: "About", - add: "Add", - confirm: "Confirm", - reset: "Reset", - resetKeybindingsTooltip: "Reset keybindings to default", - customizeFolder: "Customize Folder", - icon: "Icon", - color: "Color", - bookmark: "Bookmark", - folder: "Folder", - star: "Star", - heart: "Heart", - file: "File", - inbox: "Inbox", - box: "Box", - briefcase: "Briefcase", - error: "Error", - loading: "Loading", - findIssues: "Find Issues", - copyToClipboard: "Copy to Clipboard", - openNewIssue: "Open New Issue", - showReport: "Show Report", - imageFailedToLoad: "Image failed to load", - reconnecting: "Reconnecting", - reconnected: "Reconnected", - delete: "Delete", - rename: "Rename", - customize: "Customize", - experimental: "BETA", - deprecated: "DEPR", - loadWorkflow: "Load Workflow", - goToNode: "Go to Node", - settings: "Settings", - searchWorkflows: "Search Workflows", - searchSettings: "Search Settings", - searchNodes: "Search Nodes", - searchModels: "Search Models", - searchKeybindings: "Search Keybindings", - noResultsFound: "No Results Found", - searchFailedMessage: "We couldn't find any settings matching your search. Try adjusting your search terms.", - noTasksFound: "No Tasks Found", - noTasksFoundMessage: "There are no tasks in the queue.", - newFolder: "New Folder", - sideToolbar: { - themeToggle: "Toggle Theme", - queue: "Queue", - nodeLibrary: "Node Library", - workflows: "Workflows", - browseTemplates: "Browse example templates", - openWorkflow: "Open workflow in local file system", - newBlankWorkflow: "Create a new blank workflow", - nodeLibraryTab: { - sortOrder: "Sort Order" - }, - modelLibrary: "Model Library", - queueTab: { - showFlatList: "Show Flat List", - backToAllTasks: "Back to All Tasks", - containImagePreview: "Fill Image Preview", - coverImagePreview: "Fit Image Preview", - clearPendingTasks: "Clear Pending Tasks" - } - }, - menu: { - batchCount: "Batch Count", - batchCountTooltip: "The number of times the workflow generation should be queued", - autoQueue: "Auto Queue", - disabled: "Disabled", - disabledTooltip: "The workflow will not be automatically queued", - instant: "Instant", - instantTooltip: "The workflow will be queued instantly after a generation finishes", - change: "On Change", - changeTooltip: "The workflow will be queued once a change is made", - queueWorkflow: "Queue workflow", - queueWorkflowFront: "Queue workflow (Insert at Front)", - queue: "Queue", - interrupt: "Cancel current run", - refresh: "Refresh node definitions", - clipspace: "Open Clipspace", - resetView: "Reset canvas view", - clear: "Clear workflow" - }, - templateWorkflows: { - title: "Get Started with a Template", - template: { - default: "Image Generation", - image2image: "Image to Image", - upscale: "2 Pass Upscale", - flux_schnell: "Flux Schnell" - } - }, - graphCanvasMenu: { - zoomIn: "Zoom In", - zoomOut: "Zoom Out", - resetView: "Reset View", - selectMode: "Select Mode", - panMode: "Pan Mode", - toggleLinkVisibility: "Toggle Link Visibility" - } - }, - zh: { - videoFailedToLoad: "视频加载失败", - extensionName: "扩展名称", - reloadToApplyChanges: "重新加载以应用更改", - insert: "插入", - systemInfo: "系统信息", - devices: "设备", - about: "关于", - add: "添加", - confirm: "确认", - reset: "重置", - resetKeybindingsTooltip: "重置键位", - customizeFolder: "定制文件夹", - icon: "图标", - color: "颜色", - bookmark: "书签", - folder: "文件夹", - star: "星星", - heart: "心", - file: "文件", - inbox: "收件箱", - box: "盒子", - briefcase: "公文包", - error: "错误", - loading: "加载中", - findIssues: "查找 Issue", - copyToClipboard: "复制到剪贴板", - openNewIssue: "开启新 Issue", - showReport: "显示报告", - imageFailedToLoad: "图像加载失败", - reconnecting: "重新连接中", - reconnected: "已重新连接", - delete: "删除", - rename: "重命名", - customize: "定制", - experimental: "BETA", - deprecated: "弃用", - loadWorkflow: "加载工作流", - goToNode: "前往节点", - settings: "设置", - searchWorkflows: "搜索工作流", - searchSettings: "搜索设置", - searchNodes: "搜索节点", - searchModels: "搜索模型", - searchKeybindings: "搜索键位", - noResultsFound: "未找到结果", - searchFailedMessage: "我们找不到与您的搜索匹配的任何设置。请尝试调整搜索条件。", - noContent: "(无内容)", - noTasksFound: "未找到任务", - noTasksFoundMessage: "队列中没有任务。", - newFolder: "新建文件夹", - sideToolbar: { - themeToggle: "主题切换", - queue: "队列", - nodeLibrary: "节点库", - workflows: "工作流", - browseTemplates: "浏览示例模板", - openWorkflow: "在本地文件系统中打开工作流", - newBlankWorkflow: "创建一个新空白工作流", - nodeLibraryTab: { - sortOrder: "排序顺序" - }, - modelLibrary: "模型库", - queueTab: { - showFlatList: "平铺结果", - backToAllTasks: "返回", - containImagePreview: "填充图像预览", - coverImagePreview: "适应图像预览", - clearPendingTasks: "清除待处理任务" - } - }, - menu: { - batchCount: "批次数量", - batchCountTooltip: "工作流生成次数", - autoQueue: "自动执行", - disabled: "禁用", - disabledTooltip: "工作流将不会自动执行", - instant: "实时", - instantTooltip: "工作流将会在生成完成后立即执行", - change: "变动", - changeTooltip: "工作流将会在改变后执行", - queueWorkflow: "执行工作流", - queueWorkflowFront: "执行工作流 (队列首)", - queue: "队列", - interrupt: "取消当前任务", - refresh: "刷新节点", - clipspace: "打开剪贴板", - resetView: "重置画布视图", - clear: "清空工作流" - }, - templateWorkflows: { - title: "从模板开始", - template: { - default: "Image Generation", - image2image: "Image to Image", - upscale: "2 Pass Upscale", - flux_schnell: "Flux Schnell" - } - }, - graphCanvasMenu: { - zoomIn: "放大", - zoomOut: "缩小", - resetView: "重置视图", - selectMode: "选择模式", - panMode: "平移模式", - toggleLinkVisibility: "切换链接可见性" - } - }, - ru: { - videoFailedToLoad: "Видео не удалось загрузить", - extensionName: "Название расширения", - reloadToApplyChanges: "Перезагрузите, чтобы применить изменения", - insert: "Вставить", - systemInfo: "Информация о системе", - devices: "Устройства", - about: "О", - add: "Добавить", - confirm: "Подтвердить", - reset: "Сбросить", - resetKeybindingsTooltip: "Сбросить сочетания клавиш по умолчанию", - customizeFolder: "Настроить папку", - icon: "Иконка", - color: "Цвет", - bookmark: "Закладка", - folder: "Папка", - star: "Звёздочка", - heart: "Сердце", - file: "Файл", - inbox: "Входящие", - box: "Ящик", - briefcase: "Чемодан", - error: "Ошибка", - loading: "Загрузка", - findIssues: "Найти Issue", - copyToClipboard: "Копировать в буфер обмена", - openNewIssue: "Открыть новый Issue", - showReport: "Показать отчёт", - imageFailedToLoad: "Изображение не удалось загрузить", - reconnecting: "Переподключение", - reconnected: "Переподключено", - delete: "Удалить", - rename: "Переименовать", - customize: "Настроить", - experimental: "БЕТА", - deprecated: "УСТАР", - loadWorkflow: "Загрузить рабочий процесс", - goToNode: "Перейти к узлу", - settings: "Настройки", - searchWorkflows: "Поиск рабочих процессов", - searchSettings: "Поиск настроек", - searchNodes: "Поиск узлов", - searchModels: "Поиск моделей", - searchKeybindings: "Поиск сочетаний клавиш", - noResultsFound: "Ничего не найдено", - searchFailedMessage: "Не удалось найти ни одной настройки, соответствующей вашему запросу. Попробуйте скорректировать поисковый запрос.", - noContent: "(Нет контента)", - noTasksFound: "Задачи не найдены", - noTasksFoundMessage: "В очереди нет задач.", - newFolder: "Новая папка", - sideToolbar: { - themeToggle: "Переключить тему", - queue: "Очередь", - nodeLibrary: "Библиотека узлов", - workflows: "Рабочие процессы", - browseTemplates: "Просмотреть примеры шаблонов", - openWorkflow: "Открыть рабочий процесс в локальной файловой системе", - newBlankWorkflow: "Создайте новый пустой рабочий процесс", - nodeLibraryTab: { - sortOrder: "Порядок сортировки" - }, - modelLibrary: "Библиотека моделей", - queueTab: { - showFlatList: "Показать плоский список", - backToAllTasks: "Вернуться ко всем задачам", - containImagePreview: "Предпросмотр заливающего изображения", - coverImagePreview: "Предпросмотр подходящего изображения", - clearPendingTasks: "Очистить отложенные задачи" - } - }, - menu: { - batchCount: "Количество пакетов", - batchCountTooltip: "Количество раз, когда генерация рабочего процесса должна быть помещена в очередь", - autoQueue: "Автоочередь", - disabled: "Отключено", - disabledTooltip: "Рабочий процесс не будет автоматически помещён в очередь", - instant: "Мгновенно", - instantTooltip: "Рабочий процесс будет помещён в очередь сразу же после завершения генерации", - change: "При изменении", - changeTooltip: "Рабочий процесс будет поставлен в очередь после внесения изменений", - queueWorkflow: "Очередь рабочего процесса", - queueWorkflowFront: "Очередь рабочего процесса (Вставка спереди)", - queue: "Очередь", - interrupt: "Отменить текущее выполнение", - refresh: "Обновить определения узлов", - clipspace: "Открыть Clipspace", - resetView: "Сбросить вид холста", - clear: "Очистить рабочий процесс" - }, - templateWorkflows: { - title: "Начните работу с шаблона", - template: { - default: "Image Generation", - image2image: "Image to Image", - upscale: "2 Pass Upscale", - flux_schnell: "Flux Schnell" - } - }, - graphCanvasMenu: { - zoomIn: "Увеличить", - zoomOut: "Уменьшить", - resetView: "Сбросить вид", - selectMode: "Выбрать режим", - panMode: "Режим панорамирования", - toggleLinkVisibility: "Переключить видимость ссылок" - } - } - // TODO: Add more languages -}; -const i18n = createI18n({ - // Must set `false`, as Vue I18n Legacy API is for Vue 2 - legacy: false, - locale: navigator.language.split("-")[0] || "en", - fallbackLocale: "en", - messages -}); -function showLoadWorkflowWarning(props) { - const dialogStore = useDialogStore(); - dialogStore.showDialog({ - component: LoadWorkflowWarning, - props, - dialogComponentProps: { - maximizable: true - } - }); -} -__name(showLoadWorkflowWarning, "showLoadWorkflowWarning"); -function showMissingModelsWarning(props) { - const dialogStore = useDialogStore(); - dialogStore.showDialog({ - component: MissingModelsWarning, - props, - dialogComponentProps: { - maximizable: true - } - }); -} -__name(showMissingModelsWarning, "showMissingModelsWarning"); -function showSettingsDialog() { - useDialogStore().showDialog({ - headerComponent: SettingDialogHeader, - component: SettingDialogContent - }); -} -__name(showSettingsDialog, "showSettingsDialog"); -function showExecutionErrorDialog(error) { - useDialogStore().showDialog({ - component: ExecutionErrorDialogContent, - props: { - error - } - }); -} -__name(showExecutionErrorDialog, "showExecutionErrorDialog"); -function showTemplateWorkflowsDialog() { - useDialogStore().showDialog({ - title: i18n.global.t("templateWorkflows.title"), - component: TemplateWorkflowsContent - }); -} -__name(showTemplateWorkflowsDialog, "showTemplateWorkflowsDialog"); -async function showPromptDialog({ - title, - message: message2, - defaultValue = "" -}) { - const dialogStore = useDialogStore(); - return new Promise((resolve2) => { - dialogStore.showDialog({ - title, - component: _sfc_main$q, - props: { - message: message2, - defaultValue, - onConfirm: /* @__PURE__ */ __name((value3) => { - resolve2(value3); - }, "onConfirm") - }, - dialogComponentProps: { - onClose: /* @__PURE__ */ __name(() => { - resolve2(null); - }, "onClose") - } - }); - }); -} -__name(showPromptDialog, "showPromptDialog"); -const ComfyDialog = ComfyDialog$1; -function $el(tag, propsOrChildren, children) { - const split = tag.split("."); - const element = document.createElement(split.shift()); - if (split.length > 0) { - element.classList.add(...split); - } - if (propsOrChildren) { - if (typeof propsOrChildren === "string") { - propsOrChildren = { textContent: propsOrChildren }; - } else if (propsOrChildren instanceof Element) { - propsOrChildren = [propsOrChildren]; - } - if (Array.isArray(propsOrChildren)) { - element.append(...propsOrChildren); - } else { - const { - parent, - $: cb, - dataset, - style, - ...rest - } = propsOrChildren; - if (rest.for) { - element.setAttribute("for", rest.for); - } - if (style) { - Object.assign(element.style, style); - } - if (dataset) { - Object.assign(element.dataset, dataset); - } - Object.assign(element, rest); - if (children) { - element.append(...Array.isArray(children) ? children : [children]); - } - if (parent) { - parent.append(element); - } - if (cb) { - cb(element); - } - } - } - return element; -} -__name($el, "$el"); -function dragElement(dragEl, settings) { - var posDiffX = 0, posDiffY = 0, posStartX = 0, posStartY = 0, newPosX = 0, newPosY = 0; - if (dragEl.getElementsByClassName("drag-handle")[0]) { - dragEl.getElementsByClassName("drag-handle")[0].onmousedown = dragMouseDown; - } else { - dragEl.onmousedown = dragMouseDown; - } - const resizeObserver = new ResizeObserver(() => { - ensureInBounds(); - }).observe(dragEl); - function ensureInBounds() { - try { - newPosX = Math.min( - document.body.clientWidth - dragEl.clientWidth, - Math.max(0, dragEl.offsetLeft) - ); - newPosY = Math.min( - document.body.clientHeight - dragEl.clientHeight, - Math.max(0, dragEl.offsetTop) - ); - positionElement(); - } catch (exception) { - } - } - __name(ensureInBounds, "ensureInBounds"); - function positionElement() { - if (dragEl.style.display === "none") return; - const halfWidth = document.body.clientWidth / 2; - const anchorRight = newPosX + dragEl.clientWidth / 2 > halfWidth; - if (anchorRight) { - dragEl.style.left = "unset"; - dragEl.style.right = document.body.clientWidth - newPosX - dragEl.clientWidth + "px"; - } else { - dragEl.style.left = newPosX + "px"; - dragEl.style.right = "unset"; - } - dragEl.style.top = newPosY + "px"; - dragEl.style.bottom = "unset"; - if (savePos) { - localStorage.setItem( - "Comfy.MenuPosition", - JSON.stringify({ - x: dragEl.offsetLeft, - y: dragEl.offsetTop - }) - ); - } - } - __name(positionElement, "positionElement"); - function restorePos() { - let posString = localStorage.getItem("Comfy.MenuPosition"); - if (posString) { - const pos2 = JSON.parse(posString); - newPosX = pos2.x; - newPosY = pos2.y; - positionElement(); - ensureInBounds(); - } - } - __name(restorePos, "restorePos"); - let savePos = void 0; - settings.addSetting({ - id: "Comfy.MenuPosition", - category: ["Comfy", "Menu", "MenuPosition"], - name: "Save legacy menu's position", - type: "boolean", - defaultValue: savePos, - onChange(value3) { - if (savePos === void 0 && value3) { - restorePos(); - } - savePos = value3; - } - }); - function dragMouseDown(e) { - e = e || window.event; - e.preventDefault(); - posStartX = e.clientX; - posStartY = e.clientY; - document.onmouseup = closeDragElement; - document.onmousemove = elementDrag; - } - __name(dragMouseDown, "dragMouseDown"); - function elementDrag(e) { - e = e || window.event; - e.preventDefault(); - dragEl.classList.add("comfy-menu-manual-pos"); - posDiffX = e.clientX - posStartX; - posDiffY = e.clientY - posStartY; - posStartX = e.clientX; - posStartY = e.clientY; - newPosX = Math.min( - document.body.clientWidth - dragEl.clientWidth, - Math.max(0, dragEl.offsetLeft + posDiffX) - ); - newPosY = Math.min( - document.body.clientHeight - dragEl.clientHeight, - Math.max(0, dragEl.offsetTop + posDiffY) - ); - positionElement(); - } - __name(elementDrag, "elementDrag"); - window.addEventListener("resize", () => { - ensureInBounds(); - }); - function closeDragElement() { - document.onmouseup = null; - document.onmousemove = null; - } - __name(closeDragElement, "closeDragElement"); - return restorePos; -} -__name(dragElement, "dragElement"); -class ComfyList { - static { - __name(this, "ComfyList"); - } - #type; - #text; - #reverse; - element; - button; - constructor(text, type, reverse) { - this.#text = text; - this.#type = type || text.toLowerCase(); - this.#reverse = reverse || false; - this.element = $el("div.comfy-list"); - this.element.style.display = "none"; - } - get visible() { - return this.element.style.display !== "none"; - } - async load() { - const items2 = await api.getItems(this.#type); - this.element.replaceChildren( - ...Object.keys(items2).flatMap((section) => [ - $el("h4", { - textContent: section - }), - $el("div.comfy-list-items", [ - ...(this.#reverse ? items2[section].reverse() : items2[section]).map( - (item2) => { - const removeAction = "remove" in item2 ? item2.remove : { - name: "Delete", - cb: /* @__PURE__ */ __name(() => api.deleteItem(this.#type, item2.prompt[1]), "cb") - }; - return $el("div", { textContent: item2.prompt[0] + ": " }, [ - $el("button", { - textContent: "Load", - onclick: /* @__PURE__ */ __name(async () => { - await app$1.loadGraphData( - item2.prompt[3].extra_pnginfo.workflow, - true, - false - ); - if ("outputs" in item2) { - app$1.nodeOutputs = {}; - for (const [key, value3] of Object.entries(item2.outputs)) { - const realKey = item2["meta"]?.[key]?.display_node ?? key; - app$1.nodeOutputs[realKey] = value3; - } - } - }, "onclick") - }), - $el("button", { - textContent: removeAction.name, - onclick: /* @__PURE__ */ __name(async () => { - await removeAction.cb(); - await this.update(); - }, "onclick") - }) - ]); - } - ) - ]) - ]), - $el("div.comfy-list-actions", [ - $el("button", { - textContent: "Clear " + this.#text, - onclick: /* @__PURE__ */ __name(async () => { - await api.clearItems(this.#type); - await this.load(); - }, "onclick") - }), - $el("button", { textContent: "Refresh", onclick: /* @__PURE__ */ __name(() => this.load(), "onclick") }) - ]) - ); - } - async update() { - if (this.visible) { - await this.load(); - } - } - async show() { - this.element.style.display = "block"; - this.button.textContent = "Close"; - await this.load(); - } - hide() { - this.element.style.display = "none"; - this.button.textContent = "View " + this.#text; - } - toggle() { - if (this.visible) { - this.hide(); - return false; - } else { - this.show(); - return true; - } - } -} -class ComfyUI { - static { - __name(this, "ComfyUI"); - } - app; - dialog; - settings; - batchCount; - lastQueueSize; - queue; - history; - autoQueueMode; - graphHasChanged; - autoQueueEnabled; - menuHamburger; - menuContainer; - queueSize; - restoreMenuPosition; - loadFile; - constructor(app2) { - this.app = app2; - this.dialog = new ComfyDialog(); - this.settings = new ComfySettingsDialog(app2); - this.batchCount = 1; - this.lastQueueSize = 0; - this.queue = new ComfyList("Queue"); - this.history = new ComfyList("History", "history", true); - api.addEventListener("status", () => { - this.queue.update(); - this.history.update(); - }); - this.setup(document.body); - } - setup(containerElement) { - const fileInput2 = $el("input", { - id: "comfy-file-input", - type: "file", - accept: ".json,image/png,.latent,.safetensors,image/webp,audio/flac", - style: { display: "none" }, - parent: document.body, - onchange: /* @__PURE__ */ __name(async () => { - await app$1.handleFile(fileInput2.files[0]); - fileInput2.value = ""; - }, "onchange") - }); - this.loadFile = () => fileInput2.click(); - const autoQueueModeEl = toggleSwitch( - "autoQueueMode", - [ - { - text: "instant", - tooltip: "A new prompt will be queued as soon as the queue reaches 0" - }, - { - text: "change", - tooltip: "A new prompt will be queued when the queue is at 0 and the graph is/has changed" - } - ], - { - onChange: /* @__PURE__ */ __name((value3) => { - this.autoQueueMode = value3.item.value; - }, "onChange") - } - ); - autoQueueModeEl.style.display = "none"; - api.addEventListener("graphChanged", () => { - if (this.autoQueueMode === "change" && this.autoQueueEnabled === true) { - if (this.lastQueueSize === 0) { - this.graphHasChanged = false; - app$1.queuePrompt(0, this.batchCount); - } else { - this.graphHasChanged = true; - } - } - }); - this.menuHamburger = $el( - "div.comfy-menu-hamburger", - { - parent: containerElement, - onclick: /* @__PURE__ */ __name(() => { - this.menuContainer.style.display = "block"; - this.menuHamburger.style.display = "none"; - }, "onclick") - }, - [$el("div"), $el("div"), $el("div")] - ); - this.menuContainer = $el("div.comfy-menu", { parent: containerElement }, [ - $el( - "div.drag-handle.comfy-menu-header", - { - style: { - overflow: "hidden", - position: "relative", - width: "100%", - cursor: "default" - } - }, - [ - $el("span.drag-handle"), - $el("span.comfy-menu-queue-size", { $: /* @__PURE__ */ __name((q) => this.queueSize = q, "$") }), - $el("div.comfy-menu-actions", [ - $el("button.comfy-settings-btn", { - textContent: "⚙️", - onclick: showSettingsDialog - }), - $el("button.comfy-close-menu-btn", { - textContent: "×", - onclick: /* @__PURE__ */ __name(() => { - this.menuContainer.style.display = "none"; - this.menuHamburger.style.display = "flex"; - }, "onclick") - }) - ]) - ] - ), - $el("button.comfy-queue-btn", { - id: "queue-button", - textContent: "Queue Prompt", - onclick: /* @__PURE__ */ __name(() => app$1.queuePrompt(0, this.batchCount), "onclick") - }), - $el("div", {}, [ - $el("label", { innerHTML: "Extra options" }, [ - $el("input", { - type: "checkbox", - onchange: /* @__PURE__ */ __name((i2) => { - document.getElementById("extraOptions").style.display = i2.srcElement.checked ? "block" : "none"; - this.batchCount = i2.srcElement.checked ? Number.parseInt( - document.getElementById( - "batchCountInputRange" - ).value - ) : 1; - document.getElementById("autoQueueCheckbox").checked = false; - this.autoQueueEnabled = false; - }, "onchange") - }) - ]) - ]), - $el( - "div", - { id: "extraOptions", style: { width: "100%", display: "none" } }, - [ - $el("div", [ - $el("label", { innerHTML: "Batch count" }), - $el("input", { - id: "batchCountInputNumber", - type: "number", - value: this.batchCount, - min: "1", - style: { width: "35%", marginLeft: "0.4em" }, - oninput: /* @__PURE__ */ __name((i2) => { - this.batchCount = i2.target.value; - document.getElementById( - "batchCountInputRange" - ).value = this.batchCount.toString(); - }, "oninput") - }), - $el("input", { - id: "batchCountInputRange", - type: "range", - min: "1", - max: "100", - value: this.batchCount, - oninput: /* @__PURE__ */ __name((i2) => { - this.batchCount = i2.srcElement.value; - document.getElementById( - "batchCountInputNumber" - ).value = i2.srcElement.value; - }, "oninput") - }) - ]), - $el("div", [ - $el("label", { - for: "autoQueueCheckbox", - innerHTML: "Auto Queue" - }), - $el("input", { - id: "autoQueueCheckbox", - type: "checkbox", - checked: false, - title: "Automatically queue prompt when the queue size hits 0", - onchange: /* @__PURE__ */ __name((e) => { - this.autoQueueEnabled = e.target.checked; - autoQueueModeEl.style.display = this.autoQueueEnabled ? "" : "none"; - }, "onchange") - }), - autoQueueModeEl - ]) - ] - ), - $el("div.comfy-menu-btns", [ - $el("button", { - id: "queue-front-button", - textContent: "Queue Front", - onclick: /* @__PURE__ */ __name(() => app$1.queuePrompt(-1, this.batchCount), "onclick") - }), - $el("button", { - $: /* @__PURE__ */ __name((b) => this.queue.button = b, "$"), - id: "comfy-view-queue-button", - textContent: "View Queue", - onclick: /* @__PURE__ */ __name(() => { - this.history.hide(); - this.queue.toggle(); - }, "onclick") - }), - $el("button", { - $: /* @__PURE__ */ __name((b) => this.history.button = b, "$"), - id: "comfy-view-history-button", - textContent: "View History", - onclick: /* @__PURE__ */ __name(() => { - this.queue.hide(); - this.history.toggle(); - }, "onclick") - }) - ]), - this.queue.element, - this.history.element, - $el("button", { - id: "comfy-save-button", - textContent: "Save", - onclick: /* @__PURE__ */ __name(() => { - useCommandStore().execute("Comfy.ExportWorkflow"); - }, "onclick") - }), - $el("button", { - id: "comfy-dev-save-api-button", - textContent: "Save (API Format)", - style: { width: "100%", display: "none" }, - onclick: /* @__PURE__ */ __name(() => { - useCommandStore().execute("Comfy.ExportWorkflowAPI"); - }, "onclick") - }), - $el("button", { - id: "comfy-load-button", - textContent: "Load", - onclick: /* @__PURE__ */ __name(() => fileInput2.click(), "onclick") - }), - $el("button", { - id: "comfy-refresh-button", - textContent: "Refresh", - onclick: /* @__PURE__ */ __name(() => app$1.refreshComboInNodes(), "onclick") - }), - $el("button", { - id: "comfy-clipspace-button", - textContent: "Clipspace", - // @ts-expect-error Move to ComfyApp - onclick: /* @__PURE__ */ __name(() => app$1.openClipspace(), "onclick") - }), - $el("button", { - id: "comfy-clear-button", - textContent: "Clear", - onclick: /* @__PURE__ */ __name(() => { - if (!useSettingStore().get("Comfy.ConfirmClear") || confirm("Clear workflow?")) { - app$1.clean(); - app$1.graph.clear(); - app$1.resetView(); - api.dispatchEvent(new CustomEvent("graphCleared")); - } - }, "onclick") - }), - $el("button", { - id: "comfy-load-default-button", - textContent: "Load Default", - onclick: /* @__PURE__ */ __name(async () => { - if (!useSettingStore().get("Comfy.ConfirmClear") || confirm("Load default workflow?")) { - app$1.resetView(); - await app$1.loadGraphData(); - } - }, "onclick") - }), - $el("button", { - id: "comfy-reset-view-button", - textContent: "Reset View", - onclick: /* @__PURE__ */ __name(async () => { - app$1.resetView(); - }, "onclick") - }) - ]); - this.restoreMenuPosition = dragElement(this.menuContainer, this.settings); - this.setStatus({ exec_info: { queue_remaining: "X" } }); - } - setStatus(status) { - this.queueSize.textContent = "Queue size: " + (status ? status.exec_info.queue_remaining : "ERR"); - if (status) { - if (this.lastQueueSize != 0 && status.exec_info.queue_remaining == 0 && this.autoQueueEnabled && (this.autoQueueMode === "instant" || this.graphHasChanged) && !app$1.lastExecutionError) { - app$1.queuePrompt(0, this.batchCount); - status.exec_info.queue_remaining += this.batchCount; - this.graphHasChanged = false; - } - this.lastQueueSize = status.exec_info.queue_remaining; - } - } -} -window.comfyAPI = window.comfyAPI || {}; -window.comfyAPI.ui = window.comfyAPI.ui || {}; -window.comfyAPI.ui.ComfyDialog = ComfyDialog; -window.comfyAPI.ui.$el = $el; -window.comfyAPI.ui.ComfyUI = ComfyUI; -$el("style", { - textContent: ` - .comfy-logging-logs { - display: grid; - color: var(--fg-color); - white-space: pre-wrap; - } - .comfy-logging-log { - display: contents; - } - .comfy-logging-title { - background: var(--tr-even-bg-color); - font-weight: bold; - margin-bottom: 5px; - text-align: center; - } - .comfy-logging-log div { - background: var(--row-bg); - padding: 5px; - } - `, - parent: document.body -}); -function stringify(val, depth, replacer2, space, onGetObjID) { - depth = isNaN(+depth) ? 1 : depth; - var recursMap = /* @__PURE__ */ new WeakMap(); - function _build(val2, depth2, o, a, r) { - return !val2 || typeof val2 != "object" ? val2 : (r = recursMap.has(val2), recursMap.set(val2, true), a = Array.isArray(val2), r ? o = onGetObjID && onGetObjID(val2) || null : JSON.stringify(val2, function(k, v2) { - if (a || depth2 > 0) { - if (replacer2) v2 = replacer2(k, v2); - if (!k) return a = Array.isArray(v2), val2 = v2; - !o && (o = a ? [] : {}); - o[k] = _build(v2, a ? depth2 : depth2 - 1); - } - }), o === void 0 ? a ? [] : {} : o); - } - __name(_build, "_build"); - return JSON.stringify(_build(val, depth), null, space); -} -__name(stringify, "stringify"); -const jsonReplacer = /* @__PURE__ */ __name((k, v2, ui) => { - if (v2 instanceof Array && v2.length === 1) { - v2 = v2[0]; - } - if (v2 instanceof Date) { - v2 = v2.toISOString(); - if (ui) { - v2 = v2.split("T")[1]; - } - } - if (v2 instanceof Error) { - let err = ""; - if (v2.name) err += v2.name + "\n"; - if (v2.message) err += v2.message + "\n"; - if (v2.stack) err += v2.stack + "\n"; - if (!err) { - err = v2.toString(); - } - v2 = err; - } - return v2; -}, "jsonReplacer"); -const fileInput = $el("input", { - type: "file", - accept: ".json", - style: { display: "none" }, - parent: document.body -}); -class ComfyLoggingDialog extends ComfyDialog { - static { - __name(this, "ComfyLoggingDialog"); - } - logging; - constructor(logging) { - super(); - this.logging = logging; - } - clear() { - this.logging.clear(); - this.show(); - } - export() { - const blob = new Blob( - [stringify([...this.logging.entries], 20, jsonReplacer, " ")], - { - type: "application/json" - } - ); - const url = URL.createObjectURL(blob); - const a = $el("a", { - href: url, - download: `comfyui-logs-${Date.now()}.json`, - style: { display: "none" }, - parent: document.body - }); - a.click(); - setTimeout(function() { - a.remove(); - window.URL.revokeObjectURL(url); - }, 0); - } - import() { - fileInput.onchange = () => { - const reader = new FileReader(); - reader.onload = () => { - fileInput.remove(); - try { - const obj = JSON.parse(reader.result); - if (obj instanceof Array) { - this.show(obj); - } else { - throw new Error("Invalid file selected."); - } - } catch (error) { - useToastStore().addAlert("Unable to load logs: " + error.message); - } - }; - reader.readAsText(fileInput.files[0]); - }; - fileInput.click(); - } - createButtons() { - return [ - $el("button", { - type: "button", - textContent: "Clear", - onclick: /* @__PURE__ */ __name(() => this.clear(), "onclick") - }), - $el("button", { - type: "button", - textContent: "Export logs...", - onclick: /* @__PURE__ */ __name(() => this.export(), "onclick") - }), - $el("button", { - type: "button", - textContent: "View exported logs...", - onclick: /* @__PURE__ */ __name(() => this.import(), "onclick") - }), - ...super.createButtons() - ]; - } - getTypeColor(type) { - switch (type) { - case "error": - return "red"; - case "warn": - return "orange"; - case "debug": - return "dodgerblue"; - } - } - show(entries) { - if (!entries) entries = this.logging.entries; - this.element.style.width = "100%"; - const cols = { - source: "Source", - type: "Type", - timestamp: "Timestamp", - message: "Message" - }; - const keys2 = Object.keys(cols); - const headers = Object.values(cols).map( - (title) => $el("div.comfy-logging-title", { - textContent: title - }) - ); - const rows = entries.map((entry, i2) => { - return $el( - "div.comfy-logging-log", - { - $: /* @__PURE__ */ __name((el) => el.style.setProperty( - "--row-bg", - `var(--tr-${i2 % 2 ? "even" : "odd"}-bg-color)` - ), "$") - }, - keys2.map((key) => { - let v2 = entry[key]; - let color; - if (key === "type") { - color = this.getTypeColor(v2); - } else { - v2 = jsonReplacer(key, v2, true); - if (typeof v2 === "object") { - v2 = stringify(v2, 5, jsonReplacer, " "); - } - } - return $el("div", { - style: { - color - }, - textContent: v2 - }); - }) - ); - }); - const grid = $el( - "div.comfy-logging-logs", - { - style: { - gridTemplateColumns: `repeat(${headers.length}, 1fr)` - } - }, - [...headers, ...rows] - ); - const els2 = [grid]; - if (!this.logging.enabled) { - els2.unshift( - $el("h3", { - style: { textAlign: "center" }, - textContent: "Logging is disabled" - }) - ); - } - super.show($el("div", els2)); - } -} -class ComfyLogging { - static { - __name(this, "ComfyLogging"); - } - /** - * @type Array<{ source: string, type: string, timestamp: Date, message: any }> - */ - entries = []; - #enabled; - #console = {}; - app; - dialog; - get enabled() { - return this.#enabled; - } - set enabled(value3) { - if (value3 === this.#enabled) return; - if (value3) { - this.patchConsole(); - } else { - this.unpatchConsole(); - } - this.#enabled = value3; - } - constructor(app2) { - this.app = app2; - this.dialog = new ComfyLoggingDialog(this); - this.addSetting(); - this.catchUnhandled(); - this.addInitData(); - } - addSetting() { - const settingId = "Comfy.Logging.Enabled"; - const htmlSettingId = settingId.replaceAll(".", "-"); - const setting = this.app.ui.settings.addSetting({ - id: settingId, - name: "Enable logging", - defaultValue: true, - onChange: /* @__PURE__ */ __name((value3) => { - this.enabled = value3; - }, "onChange"), - type: /* @__PURE__ */ __name((name, setter, value3) => { - return $el("tr", [ - $el("td", [ - $el("label", { - textContent: "Logging", - for: htmlSettingId - }) - ]), - $el("td", [ - $el("input", { - id: htmlSettingId, - type: "checkbox", - checked: value3, - onchange: /* @__PURE__ */ __name((event2) => { - setter(event2.target.checked); - }, "onchange") - }), - $el("button", { - textContent: "View Logs", - onclick: /* @__PURE__ */ __name(() => { - this.app.ui.settings.element.close(); - this.dialog.show(); - }, "onclick"), - style: { - fontSize: "14px", - display: "block", - marginTop: "5px" - } - }) - ]) - ]); - }, "type") - }); - this.enabled = setting.value; - } - patchConsole() { - const self2 = this; - for (const type of ["log", "warn", "error", "debug"]) { - const orig = console[type]; - this.#console[type] = orig; - console[type] = function() { - orig.apply(console, arguments); - self2.addEntry("console", type, ...arguments); - }; - } - } - unpatchConsole() { - for (const type of Object.keys(this.#console)) { - console[type] = this.#console[type]; - } - this.#console = {}; - } - catchUnhandled() { - window.addEventListener("error", (e) => { - this.addEntry("window", "error", e.error ?? "Unknown error"); - return false; - }); - window.addEventListener("unhandledrejection", (e) => { - this.addEntry("unhandledrejection", "error", e.reason ?? "Unknown error"); - }); - } - clear() { - this.entries = []; - } - addEntry(source, type, ...args) { - if (this.enabled) { - this.entries.push({ - source, - type, - timestamp: /* @__PURE__ */ new Date(), - message: args - }); - } - } - log(source, ...args) { - this.addEntry(source, "log", ...args); - } - async addInitData() { - if (!this.enabled) return; - const source = "ComfyUI.Logging"; - this.addEntry(source, "debug", { UserAgent: navigator.userAgent }); - } -} -window.comfyAPI = window.comfyAPI || {}; -window.comfyAPI.logging = window.comfyAPI.logging || {}; -window.comfyAPI.logging.ComfyLogging = ComfyLogging; -var __defProp = Object.defineProperty; var __typeError = /* @__PURE__ */ __name((msg) => { throw TypeError(msg); }, "__typeError"); -var __defNormalProp = /* @__PURE__ */ __name((obj, key, value3) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value: value3 }) : obj[key] = value3, "__defNormalProp"); -var __publicField = /* @__PURE__ */ __name((obj, key, value3) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value3), "__publicField"); +var __defNormalProp$3 = /* @__PURE__ */ __name((obj, key, value3) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value: value3 }) : obj[key] = value3, "__defNormalProp$3"); +var __publicField = /* @__PURE__ */ __name((obj, key, value3) => __defNormalProp$3(obj, typeof key !== "symbol" ? key + "" : key, value3), "__publicField"); var __accessCheck = /* @__PURE__ */ __name((obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg), "__accessCheck"); var __privateGet = /* @__PURE__ */ __name((obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj)), "__privateGet"); var __privateAdd = /* @__PURE__ */ __name((obj, member, value3) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value3), "__privateAdd"); @@ -69335,7 +37853,7 @@ const _LGraphCanvas = class __LGraphCanvas { break; case "slider": var old_value = w.value; - var nvalue = clamp((x - 15) / (widget_width - 30), 0, 1); + var nvalue = clamp$1((x - 15) / (widget_width - 30), 0, 1); if (w.options.read_only) break; w.value = w.options.min + (w.options.max - w.options.min) * nvalue; if (old_value != w.value) { @@ -73125,10 +41643,10 @@ class CurveEditor { return; } if (!is_edge_point) - point[0] = clamp(x2, 0, 1); + point[0] = clamp$1(x2, 0, 1); else point[0] = s == 0 ? 0 : 1; - point[1] = 1 - clamp(y2, 0, 1); + point[1] = 1 - clamp$1(y2, 0, 1); points.sort(function(a, b) { return a[0] - b[0]; }); @@ -73175,11 +41693,31011 @@ LiteGraph.DragAndScale = DragAndScale; LiteGraph.LGraphCanvas = LGraphCanvas; LiteGraph.ContextMenu = ContextMenu; LiteGraph.CurveEditor = CurveEditor; -function clamp(v2, a, b) { +function clamp$1(v2, a, b) { return a > v2 ? a : b < v2 ? b : v2; } -__name(clamp, "clamp"); +__name(clamp$1, "clamp$1"); loadPolyfills(); +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.NodeSearchBoxImpl.LinkReleaseTrigger", + category: ["Comfy", "Node Search Box", "LinkReleaseTrigger"], + name: "Trigger on link release", + type: "hidden", + options: Object.values(LinkReleaseTriggerMode), + defaultValue: LinkReleaseTriggerMode.ALWAYS, + deprecated: true + }, + { + id: "Comfy.LinkRelease.Action", + name: "Action on link release (No modifier)", + type: "combo", + options: Object.values(LinkReleaseTriggerAction), + defaultValue: LinkReleaseTriggerAction.CONTEXT_MENU + }, + { + id: "Comfy.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: ["Comfy", "Sidebar", "Location"], + name: "Sidebar location", + type: "combo", + options: ["left", "right"], + defaultValue: "left" + }, + { + id: "Comfy.Sidebar.Size", + category: ["Comfy", "Sidebar", "Size"], + name: "Sidebar size", + type: "combo", + options: ["normal", "small"], + defaultValue: window.innerWidth < 1600 ? "small" : "normal" + }, + { + id: "Comfy.TextareaWidget.FontSize", + category: ["Comfy", "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", + name: "Show canvas info (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", + 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", + 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", + name: "Group selected nodes padding", + type: "slider", + defaultValue: 10, + attrs: { + min: 0, + max: 100 + } + }, + { + id: "Comfy.Node.DoubleClickTitleToEdit", + name: "Double click node title to edit", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.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: false + }, + { + id: "Comfy.TreeExplorer.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: "Locale", + type: "combo", + options: ["en", "zh", "ru"], + defaultValue: navigator.language.split("-")[0] || "en" + }, + { + id: "Comfy.NodeBadge.NodeSourceBadgeMode", + name: "Node source badge mode", + type: "combo", + options: Object.values(NodeBadgeMode), + defaultValue: NodeBadgeMode.HideBuiltIn + }, + { + id: "Comfy.NodeBadge.NodeIdBadgeMode", + name: "Node ID badge mode", + type: "combo", + options: [NodeBadgeMode.None, NodeBadgeMode.ShowAll], + defaultValue: NodeBadgeMode.ShowAll + }, + { + id: "Comfy.NodeBadge.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: ["Comfy", "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: ["Comfy", "Node Widget", "DisableSliders"], + name: "Disable node widget sliders", + type: "boolean", + defaultValue: false + }, + { + id: "Comfy.DisableFloatRounding", + category: ["Comfy", "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: ["Comfy", "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: ["Comfy", "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((value3) => { + const element = document.getElementById("comfy-dev-save-api-button"); + if (element) { + element.style.display = value3 ? "flex" : "none"; + } + }, "onChange") + }, + { + id: "Comfy.UseNewMenu", + category: ["Comfy", "Menu", "UseNewMenu"], + defaultValue: "Disabled", + name: "Use new menu and workflow management.", + experimental: true, + type: "combo", + options: ["Disabled", "Top", "Bottom"], + migrateDeprecatedValue: /* @__PURE__ */ __name((value3) => { + if (value3 === "Floating") { + return "Top"; + } + return value3; + }, "migrateDeprecatedValue") + }, + { + id: "Comfy.Workflow.WorkflowTabsPosition", + name: "Opened workflows position", + type: "combo", + options: ["Sidebar", "Topbar"], + defaultValue: "Sidebar" + }, + { + id: "Comfy.Graph.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" + }, + { + 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.Settings.ExtensionPanel", + name: "Show extension panel in settings dialog", + type: "boolean", + defaultValue: false, + experimental: true, + 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: ["Comfy", "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" } + ] + } +]; +const useSettingStore = /* @__PURE__ */ defineStore("setting", () => { + const settingValues = ref({}); + const settings = ref({}); + const settingTree = computed(() => { + const root23 = buildTree( + Object.values(settings.value).filter( + (setting) => setting.type !== "hidden" + ), + (setting) => setting.category || setting.id.split(".") + ); + const floatingSettings = (root23.children ?? []).filter((node3) => node3.leaf); + if (floatingSettings.length) { + root23.children = (root23.children ?? []).filter((node3) => !node3.leaf); + root23.children.push({ + key: "Other", + label: "Other", + leaf: false, + children: floatingSettings + }); + } + return root23; + }); + function addSettings(settingsDialog) { + for (const id3 in settingsDialog.settingsLookup) { + const value3 = settingsDialog.getSettingValue(id3); + settingValues.value[id3] = value3; + } + settings.value = settingsDialog.settingsParamLookup; + CORE_SETTINGS.forEach((setting) => { + settingsDialog.addSetting(setting); + }); + } + __name(addSettings, "addSettings"); + function loadExtensionSettings(extension) { + extension.settings?.forEach((setting) => { + app$1.ui.settings.addSetting(setting); + }); + } + __name(loadExtensionSettings, "loadExtensionSettings"); + async function set2(key, value3) { + settingValues.value[key] = value3; + await app$1.ui.settings.setSettingValueAsync(key, value3); + } + __name(set2, "set"); + function get2(key) { + return settingValues.value[key] ?? app$1.ui.settings.getSettingDefaultValue(key); + } + __name(get2, "get"); + return { + settingValues, + settings, + settingTree, + addSettings, + loadExtensionSettings, + set: set2, + get: get2 + }; +}); +class ComfySettingsDialog extends ComfyDialog$1 { + static { + __name(this, "ComfySettingsDialog"); + } + app; + settingsValues; + settingsLookup; + settingsParamLookup; + constructor(app2) { + super(); + this.app = app2; + this.settingsValues = {}; + this.settingsLookup = {}; + this.settingsParamLookup = {}; + } + get settings() { + return Object.values(this.settingsLookup); + } + tryMigrateDeprecatedValue(id3, value3) { + if (this.app.vueAppReady) { + const settingStore = useSettingStore(); + const setting = settingStore.settings[id3]; + if (setting?.migrateDeprecatedValue) { + return setting.migrateDeprecatedValue(value3); + } + } + return value3; + } + #dispatchChange(id3, value3, oldValue) { + if (this.app.vueAppReady) { + useSettingStore().settingValues[id3] = value3; + } + this.dispatchEvent( + new CustomEvent(id3 + ".change", { + detail: { + value: value3, + oldValue + } + }) + ); + } + async load() { + if (this.app.storageLocation === "browser") { + this.settingsValues = localStorage; + } else { + this.settingsValues = await api.getSettings(); + } + for (const id3 in this.settingsLookup) { + const compatId = this.getId(id3); + this.settingsValues[compatId] = this.tryMigrateDeprecatedValue( + id3, + this.settingsValues[compatId] + ); + const value3 = this.settingsValues[compatId]; + this.settingsLookup[id3].onChange?.(value3); + this.#dispatchChange(id3, value3); + } + } + getId(id3) { + if (this.app.storageLocation === "browser") { + id3 = "Comfy.Settings." + id3; + } + return id3; + } + getSettingValue(id3, defaultValue) { + let value3 = this.settingsValues[this.getId(id3)]; + if (value3 != null) { + if (this.app.storageLocation === "browser") { + try { + value3 = JSON.parse(value3); + } catch (error) { + } + } + } + return value3 ?? defaultValue; + } + getSettingDefaultValue(id3) { + const param = this.settingsParamLookup[id3]; + return param?.defaultValue; + } + async setSettingValueAsync(id3, value3) { + value3 = this.tryMigrateDeprecatedValue(id3, value3); + const json = JSON.stringify(value3); + localStorage["Comfy.Settings." + id3] = json; + let oldValue = this.getSettingValue(id3, void 0); + this.settingsValues[this.getId(id3)] = value3; + if (id3 in this.settingsLookup) { + this.settingsLookup[id3].onChange?.(value3, oldValue); + } + this.#dispatchChange(id3, value3, oldValue); + await api.storeSetting(id3, value3); + } + setSettingValue(id3, value3) { + this.setSettingValueAsync(id3, value3).catch((err) => { + useToastStore().addAlert(`Error saving setting '${id3}': ${err}`); + }); + } + refreshSetting(id3) { + const value3 = this.getSettingValue(id3); + this.settingsLookup[id3].onChange?.(value3); + this.#dispatchChange(id3, value3); + } + /** + * Deprecated for external callers/extensions. Use `ComfyExtension.settings` field instead. + * Example: + * ```ts + * app.registerExtension({ + * name: 'My Extension', + * settings: [ + * { + * id: 'My.Setting', + * name: 'My Setting', + * type: 'text', + * defaultValue: 'Hello, world!' + * } + * ] + * }) + * ``` + */ + addSetting(params) { + const { id: id3, name, type, defaultValue, onChange: onChange4 } = params; + if (!id3) { + throw new Error("Settings must have an ID"); + } + if (id3 in this.settingsLookup) { + throw new Error(`Setting ${id3} of type ${type} must have a unique ID.`); + } + let skipOnChange = false; + let value3 = this.getSettingValue(id3); + if (value3 == null) { + if (this.app.isNewUserSession) { + const localValue = localStorage["Comfy.Settings." + id3]; + if (localValue) { + value3 = JSON.parse(localValue); + this.setSettingValue(id3, value3); + } + } + if (value3 == null) { + value3 = defaultValue; + } + } + if (!skipOnChange) { + onChange4?.(value3, void 0); + this.#dispatchChange(id3, value3); + } + this.settingsParamLookup[id3] = params; + if (this.app.vueAppReady) { + useSettingStore().settings[id3] = params; + } + this.settingsLookup[id3] = { + id: id3, + onChange: onChange4, + name, + render: /* @__PURE__ */ __name(() => { + console.warn("[ComfyUI] Setting render is deprecated", id3); + }, "render") + }; + const self2 = this; + return { + get value() { + return self2.getSettingValue(id3, defaultValue); + }, + set value(v2) { + self2.setSettingValue(id3, v2); + } + }; + } +} +window.comfyAPI = window.comfyAPI || {}; +window.comfyAPI.settings = window.comfyAPI.settings || {}; +window.comfyAPI.settings.ComfySettingsDialog = ComfySettingsDialog; +const useDialogStore = /* @__PURE__ */ defineStore("dialog", () => { + const isVisible2 = ref(false); + const title = ref(""); + const headerComponent = shallowRef(null); + const component = shallowRef(null); + const props = ref({}); + const dialogComponentProps = ref({}); + function showDialog(options3) { + isVisible2.value = true; + title.value = options3.title ?? ""; + headerComponent.value = options3.headerComponent ? markRaw(options3.headerComponent) : null; + component.value = markRaw(options3.component); + props.value = options3.props || {}; + dialogComponentProps.value = options3.dialogComponentProps || {}; + } + __name(showDialog, "showDialog"); + function closeDialog() { + if (dialogComponentProps.value.onClose) { + dialogComponentProps.value.onClose(); + } + isVisible2.value = false; + } + __name(closeDialog, "closeDialog"); + return { + isVisible: isVisible2, + title, + headerComponent, + component, + props, + dialogComponentProps, + showDialog, + closeDialog + }; +}); +function hasClass(element, className) { + if (element) { + if (element.classList) return element.classList.contains(className); + else return new RegExp("(^| )" + className + "( |$)", "gi").test(element.className); + } + return false; +} +__name(hasClass, "hasClass"); +function addClass(element, className) { + if (element && className) { + const fn = /* @__PURE__ */ __name((_className) => { + if (!hasClass(element, _className)) { + if (element.classList) element.classList.add(_className); + else element.className += " " + _className; + } + }, "fn"); + [className].flat().filter(Boolean).forEach((_classNames) => _classNames.split(" ").forEach(fn)); + } +} +__name(addClass, "addClass"); +function calculateBodyScrollbarWidth() { + return window.innerWidth - document.documentElement.offsetWidth; +} +__name(calculateBodyScrollbarWidth, "calculateBodyScrollbarWidth"); +function getCSSVariableByRegex(variableRegex) { + for (const sheet of document == null ? void 0 : document.styleSheets) { + try { + for (const rule of sheet == null ? void 0 : sheet.cssRules) { + for (const property of rule == null ? void 0 : rule.style) { + if (variableRegex.test(property)) { + return { name: property, value: rule.style.getPropertyValue(property).trim() }; + } + } + } + } catch (e) { + } + } + return null; +} +__name(getCSSVariableByRegex, "getCSSVariableByRegex"); +function blockBodyScroll(className = "p-overflow-hidden") { + const variableData = getCSSVariableByRegex(/-scrollbar-width$/); + (variableData == null ? void 0 : variableData.name) && document.body.style.setProperty(variableData.name, calculateBodyScrollbarWidth() + "px"); + addClass(document.body, className); +} +__name(blockBodyScroll, "blockBodyScroll"); +function saveAs(file) { + if (file) { + let link = document.createElement("a"); + if (link.download !== void 0) { + const { name, src } = file; + link.setAttribute("href", src); + link.setAttribute("download", name); + link.style.display = "none"; + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + return true; + } + } + return false; +} +__name(saveAs, "saveAs"); +function exportCSV(csv, filename) { + let blob = new Blob([csv], { + type: "application/csv;charset=utf-8;" + }); + if (window.navigator.msSaveOrOpenBlob) { + navigator.msSaveOrOpenBlob(blob, filename + ".csv"); + } else { + const isDownloaded = saveAs({ name: filename + ".csv", src: URL.createObjectURL(blob) }); + if (!isDownloaded) { + csv = "data:text/csv;charset=utf-8," + csv; + window.open(encodeURI(csv)); + } + } +} +__name(exportCSV, "exportCSV"); +function removeClass(element, className) { + if (element && className) { + const fn = /* @__PURE__ */ __name((_className) => { + if (element.classList) element.classList.remove(_className); + else element.className = element.className.replace(new RegExp("(^|\\b)" + _className.split(" ").join("|") + "(\\b|$)", "gi"), " "); + }, "fn"); + [className].flat().filter(Boolean).forEach((_classNames) => _classNames.split(" ").forEach(fn)); + } +} +__name(removeClass, "removeClass"); +function unblockBodyScroll(className = "p-overflow-hidden") { + const variableData = getCSSVariableByRegex(/-scrollbar-width$/); + (variableData == null ? void 0 : variableData.name) && document.body.style.removeProperty(variableData.name); + removeClass(document.body, className); +} +__name(unblockBodyScroll, "unblockBodyScroll"); +function getHiddenElementDimensions(element) { + let dimensions = { width: 0, height: 0 }; + if (element) { + element.style.visibility = "hidden"; + element.style.display = "block"; + dimensions.width = element.offsetWidth; + dimensions.height = element.offsetHeight; + element.style.display = "none"; + element.style.visibility = "visible"; + } + return dimensions; +} +__name(getHiddenElementDimensions, "getHiddenElementDimensions"); +function getViewport() { + let win = window, d = document, e = d.documentElement, g = d.getElementsByTagName("body")[0], w2 = win.innerWidth || e.clientWidth || g.clientWidth, h2 = win.innerHeight || e.clientHeight || g.clientHeight; + return { width: w2, height: h2 }; +} +__name(getViewport, "getViewport"); +function getWindowScrollLeft() { + let doc2 = document.documentElement; + return (window.pageXOffset || doc2.scrollLeft) - (doc2.clientLeft || 0); +} +__name(getWindowScrollLeft, "getWindowScrollLeft"); +function getWindowScrollTop() { + let doc2 = document.documentElement; + return (window.pageYOffset || doc2.scrollTop) - (doc2.clientTop || 0); +} +__name(getWindowScrollTop, "getWindowScrollTop"); +function absolutePosition(element, target, gutter = true) { + var _a, _b, _c, _d; + if (element) { + const elementDimensions = element.offsetParent ? { width: element.offsetWidth, height: element.offsetHeight } : getHiddenElementDimensions(element); + const elementOuterHeight = elementDimensions.height; + const elementOuterWidth = elementDimensions.width; + const targetOuterHeight = target.offsetHeight; + const targetOuterWidth = target.offsetWidth; + const targetOffset = target.getBoundingClientRect(); + const windowScrollTop = getWindowScrollTop(); + const windowScrollLeft = getWindowScrollLeft(); + const viewport = getViewport(); + let top, left, origin2 = "top"; + if (targetOffset.top + targetOuterHeight + elementOuterHeight > viewport.height) { + top = targetOffset.top + windowScrollTop - elementOuterHeight; + origin2 = "bottom"; + if (top < 0) { + top = windowScrollTop; + } + } else { + top = targetOuterHeight + targetOffset.top + windowScrollTop; + } + if (targetOffset.left + elementOuterWidth > viewport.width) left = Math.max(0, targetOffset.left + windowScrollLeft + targetOuterWidth - elementOuterWidth); + else left = targetOffset.left + windowScrollLeft; + element.style.top = top + "px"; + element.style.left = left + "px"; + element.style.transformOrigin = origin2; + gutter && (element.style.marginTop = origin2 === "bottom" ? `calc(${(_b = (_a = getCSSVariableByRegex(/-anchor-gutter$/)) == null ? void 0 : _a.value) != null ? _b : "2px"} * -1)` : (_d = (_c = getCSSVariableByRegex(/-anchor-gutter$/)) == null ? void 0 : _c.value) != null ? _d : ""); + } +} +__name(absolutePosition, "absolutePosition"); +function addStyle(element, style) { + if (element) { + if (typeof style === "string") { + element.style.cssText = style; + } else { + Object.entries(style || {}).forEach(([key, value3]) => element.style[key] = value3); + } + } +} +__name(addStyle, "addStyle"); +function getOuterWidth(element, margin) { + if (element instanceof HTMLElement) { + let width2 = element.offsetWidth; + if (margin) { + let style = getComputedStyle(element); + width2 += parseFloat(style.marginLeft) + parseFloat(style.marginRight); + } + return width2; + } + return 0; +} +__name(getOuterWidth, "getOuterWidth"); +function relativePosition(element, target, gutter = true) { + var _a, _b, _c, _d; + if (element) { + const elementDimensions = element.offsetParent ? { width: element.offsetWidth, height: element.offsetHeight } : getHiddenElementDimensions(element); + const targetHeight = target.offsetHeight; + const targetOffset = target.getBoundingClientRect(); + const viewport = getViewport(); + let top, left, origin2 = "top"; + if (targetOffset.top + targetHeight + elementDimensions.height > viewport.height) { + top = -1 * elementDimensions.height; + origin2 = "bottom"; + if (targetOffset.top + top < 0) { + top = -1 * targetOffset.top; + } + } else { + top = targetHeight; + } + if (elementDimensions.width > viewport.width) { + left = targetOffset.left * -1; + } else if (targetOffset.left + elementDimensions.width > viewport.width) { + left = (targetOffset.left + elementDimensions.width - viewport.width) * -1; + } else { + left = 0; + } + element.style.top = top + "px"; + element.style.left = left + "px"; + element.style.transformOrigin = origin2; + gutter && (element.style.marginTop = origin2 === "bottom" ? `calc(${(_b = (_a = getCSSVariableByRegex(/-anchor-gutter$/)) == null ? void 0 : _a.value) != null ? _b : "2px"} * -1)` : (_d = (_c = getCSSVariableByRegex(/-anchor-gutter$/)) == null ? void 0 : _c.value) != null ? _d : ""); + } +} +__name(relativePosition, "relativePosition"); +function alignOverlay(overlay, target, appendTo, calculateMinWidth = true) { + if (overlay && target) { + if (appendTo === "self") { + relativePosition(overlay, target); + } else { + calculateMinWidth && (overlay.style.minWidth = getOuterWidth(target) + "px"); + absolutePosition(overlay, target); + } + } +} +__name(alignOverlay, "alignOverlay"); +function isElement(element) { + return typeof HTMLElement === "object" ? element instanceof HTMLElement : element && typeof element === "object" && element !== null && element.nodeType === 1 && typeof element.nodeName === "string"; +} +__name(isElement, "isElement"); +function toElement(element) { + let target = element; + if (element && typeof element === "object") { + if (element.hasOwnProperty("current")) { + target = element.current; + } else if (element.hasOwnProperty("el")) { + if (element.el.hasOwnProperty("nativeElement")) { + target = element.el.nativeElement; + } else { + target = element.el; + } + } + } + return isElement(target) ? target : void 0; +} +__name(toElement, "toElement"); +function appendChild(element, child) { + const target = toElement(element); + if (target) target.appendChild(child); + else throw new Error("Cannot append " + child + " to " + element); +} +__name(appendChild, "appendChild"); +var calculatedScrollbarHeight = void 0; +function calculateScrollbarHeight(element) { + if (element) { + let style = getComputedStyle(element); + return element.offsetHeight - element.clientHeight - parseFloat(style.borderTopWidth) - parseFloat(style.borderBottomWidth); + } else { + if (calculatedScrollbarHeight != null) return calculatedScrollbarHeight; + let scrollDiv = document.createElement("div"); + addStyle(scrollDiv, { + width: "100px", + height: "100px", + overflow: "scroll", + position: "absolute", + top: "-9999px" + }); + document.body.appendChild(scrollDiv); + let scrollbarHeight = scrollDiv.offsetHeight - scrollDiv.clientHeight; + document.body.removeChild(scrollDiv); + calculatedScrollbarHeight = scrollbarHeight; + return scrollbarHeight; + } +} +__name(calculateScrollbarHeight, "calculateScrollbarHeight"); +var calculatedScrollbarWidth = void 0; +function calculateScrollbarWidth(element) { + if (element) { + let style = getComputedStyle(element); + return element.offsetWidth - element.clientWidth - parseFloat(style.borderLeftWidth) - parseFloat(style.borderRightWidth); + } else { + if (calculatedScrollbarWidth != null) return calculatedScrollbarWidth; + let scrollDiv = document.createElement("div"); + addStyle(scrollDiv, { + width: "100px", + height: "100px", + overflow: "scroll", + position: "absolute", + top: "-9999px" + }); + document.body.appendChild(scrollDiv); + let scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth; + document.body.removeChild(scrollDiv); + calculatedScrollbarWidth = scrollbarWidth; + return scrollbarWidth; + } +} +__name(calculateScrollbarWidth, "calculateScrollbarWidth"); +function clearSelection() { + if (window.getSelection) { + const selection = window.getSelection() || {}; + if (selection.empty) { + selection.empty(); + } else if (selection.removeAllRanges && selection.rangeCount > 0 && selection.getRangeAt(0).getClientRects().length > 0) { + selection.removeAllRanges(); + } + } +} +__name(clearSelection, "clearSelection"); +function setAttributes(element, attributes = {}) { + if (isElement(element)) { + const computedStyles = /* @__PURE__ */ __name((rule, value3) => { + var _a, _b; + const styles = ((_a = element == null ? void 0 : element.$attrs) == null ? void 0 : _a[rule]) ? [(_b = element == null ? void 0 : element.$attrs) == null ? void 0 : _b[rule]] : []; + return [value3].flat().reduce((cv, v2) => { + if (v2 !== null && v2 !== void 0) { + const type = typeof v2; + if (type === "string" || type === "number") { + cv.push(v2); + } else if (type === "object") { + const _cv = Array.isArray(v2) ? computedStyles(rule, v2) : Object.entries(v2).map(([_k, _v]) => rule === "style" && (!!_v || _v === 0) ? `${_k.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}:${_v}` : !!_v ? _k : void 0); + cv = _cv.length ? cv.concat(_cv.filter((c) => !!c)) : cv; + } + } + return cv; + }, styles); + }, "computedStyles"); + Object.entries(attributes).forEach(([key, value3]) => { + if (value3 !== void 0 && value3 !== null) { + const matchedEvent = key.match(/^on(.+)/); + if (matchedEvent) { + element.addEventListener(matchedEvent[1].toLowerCase(), value3); + } else if (key === "p-bind") { + setAttributes(element, value3); + } else { + value3 = key === "class" ? [...new Set(computedStyles("class", value3))].join(" ").trim() : key === "style" ? computedStyles("style", value3).join(";").trim() : value3; + (element.$attrs = element.$attrs || {}) && (element.$attrs[key] = value3); + element.setAttribute(key, value3); + } + } + }); + } +} +__name(setAttributes, "setAttributes"); +function createElement(type, attributes = {}, ...children) { + if (type) { + const element = document.createElement(type); + setAttributes(element, attributes); + element.append(...children); + return element; + } + return void 0; +} +__name(createElement, "createElement"); +function createStyleAsString(css3, options3 = {}) { + return css3 ? `''` : ""; +} +__name(createStyleAsString, "createStyleAsString"); +function createStyleTag(attributes = {}, container) { + let element = document.createElement("style"); + setAttributes(element, attributes); + if (!container) { + container = document.head; + } + container.appendChild(element); + return element; +} +__name(createStyleTag, "createStyleTag"); +function fadeIn(element, duration) { + if (element) { + element.style.opacity = "0"; + let last = +/* @__PURE__ */ new Date(); + let opacity = "0"; + let tick = /* @__PURE__ */ __name(function() { + opacity = `${+element.style.opacity + ((/* @__PURE__ */ new Date()).getTime() - last) / duration}`; + element.style.opacity = opacity; + last = +/* @__PURE__ */ new Date(); + if (+opacity < 1) { + !!window.requestAnimationFrame && requestAnimationFrame(tick) || setTimeout(tick, 16); + } + }, "tick"); + tick(); + } +} +__name(fadeIn, "fadeIn"); +function fadeOut(element, duration) { + if (element) { + let opacity = 1, interval = 50, gap = interval / duration; + let fading = setInterval(() => { + opacity -= gap; + if (opacity <= 0) { + opacity = 0; + clearInterval(fading); + } + element.style.opacity = opacity.toString(); + }, interval); + } +} +__name(fadeOut, "fadeOut"); +function find(element, selector) { + return isElement(element) ? Array.from(element.querySelectorAll(selector)) : []; +} +__name(find, "find"); +function findSingle(element, selector) { + return isElement(element) ? element.matches(selector) ? element : element.querySelector(selector) : null; +} +__name(findSingle, "findSingle"); +function focus(element, options3) { + element && document.activeElement !== element && element.focus(options3); +} +__name(focus, "focus"); +function getAttribute(element, name) { + if (isElement(element)) { + const value3 = element.getAttribute(name); + if (!isNaN(value3)) { + return +value3; + } + if (value3 === "true" || value3 === "false") { + return value3 === "true"; + } + return value3; + } + return void 0; +} +__name(getAttribute, "getAttribute"); +function resolveUserAgent() { + let ua = navigator.userAgent.toLowerCase(); + let match = /(chrome)[ ]([\w.]+)/.exec(ua) || /(webkit)[ ]([\w.]+)/.exec(ua) || /(opera)(?:.*version|)[ ]([\w.]+)/.exec(ua) || /(msie) ([\w.]+)/.exec(ua) || ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || []; + return { + browser: match[1] || "", + version: match[2] || "0" + }; +} +__name(resolveUserAgent, "resolveUserAgent"); +var browser = null; +function getBrowser() { + if (!browser) { + browser = {}; + let matched = resolveUserAgent(); + if (matched.browser) { + browser[matched.browser] = true; + browser["version"] = matched.version; + } + if (browser["chrome"]) { + browser["webkit"] = true; + } else if (browser["webkit"]) { + browser["safari"] = true; + } + } + return browser; +} +__name(getBrowser, "getBrowser"); +function getBrowserLanguage() { + return navigator.languages && navigator.languages.length && navigator.languages[0] || navigator.language || "en"; +} +__name(getBrowserLanguage, "getBrowserLanguage"); +function getCursorOffset(element, prevText, nextText, currentText) { + if (element) { + let style = getComputedStyle(element); + let ghostDiv = document.createElement("div"); + ghostDiv.style.position = "absolute"; + ghostDiv.style.top = "0px"; + ghostDiv.style.left = "0px"; + ghostDiv.style.visibility = "hidden"; + ghostDiv.style.pointerEvents = "none"; + ghostDiv.style.overflow = style.overflow; + ghostDiv.style.width = style.width; + ghostDiv.style.height = style.height; + ghostDiv.style.padding = style.padding; + ghostDiv.style.border = style.border; + ghostDiv.style.overflowWrap = style.overflowWrap; + ghostDiv.style.whiteSpace = style.whiteSpace; + ghostDiv.style.lineHeight = style.lineHeight; + ghostDiv.innerHTML = prevText.replace(/\r\n|\r|\n/g, "
"); + let ghostSpan = document.createElement("span"); + ghostSpan.textContent = currentText; + ghostDiv.appendChild(ghostSpan); + let text = document.createTextNode(nextText); + ghostDiv.appendChild(text); + document.body.appendChild(ghostDiv); + const { offsetLeft, offsetTop, clientHeight } = ghostSpan; + document.body.removeChild(ghostDiv); + return { + left: Math.abs(offsetLeft - element.scrollLeft), + top: Math.abs(offsetTop - element.scrollTop) + clientHeight + }; + } + return { + top: "auto", + left: "auto" + }; +} +__name(getCursorOffset, "getCursorOffset"); +function getFocusableElements(element, selector = "") { + let focusableElements = find( + element, + `button:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}, + [href][clientHeight][clientWidth]:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}, + input:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}, + select:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}, + textarea:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}, + [tabIndex]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}, + [contenteditable]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}` + ); + let visibleFocusableElements = []; + for (let focusableElement of focusableElements) { + if (getComputedStyle(focusableElement).display != "none" && getComputedStyle(focusableElement).visibility != "hidden") visibleFocusableElements.push(focusableElement); + } + return visibleFocusableElements; +} +__name(getFocusableElements, "getFocusableElements"); +function getFirstFocusableElement(element, selector) { + const focusableElements = getFocusableElements(element, selector); + return focusableElements.length > 0 ? focusableElements[0] : null; +} +__name(getFirstFocusableElement, "getFirstFocusableElement"); +function getHeight(element) { + if (element) { + let height = element.offsetHeight; + let style = getComputedStyle(element); + height -= parseFloat(style.paddingTop) + parseFloat(style.paddingBottom) + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth); + return height; + } + return 0; +} +__name(getHeight, "getHeight"); +function getHiddenElementOuterHeight(element) { + if (element) { + element.style.visibility = "hidden"; + element.style.display = "block"; + let elementHeight = element.offsetHeight; + element.style.display = "none"; + element.style.visibility = "visible"; + return elementHeight; + } + return 0; +} +__name(getHiddenElementOuterHeight, "getHiddenElementOuterHeight"); +function getHiddenElementOuterWidth(element) { + if (element) { + element.style.visibility = "hidden"; + element.style.display = "block"; + let elementWidth = element.offsetWidth; + element.style.display = "none"; + element.style.visibility = "visible"; + return elementWidth; + } + return 0; +} +__name(getHiddenElementOuterWidth, "getHiddenElementOuterWidth"); +function getParentNode(element) { + if (element) { + let parent = element.parentNode; + if (parent && parent instanceof ShadowRoot && parent.host) { + parent = parent.host; + } + return parent; + } + return null; +} +__name(getParentNode, "getParentNode"); +function getIndex(element) { + var _a; + if (element) { + let children = (_a = getParentNode(element)) == null ? void 0 : _a.childNodes; + let num = 0; + if (children) { + for (let i2 = 0; i2 < children.length; i2++) { + if (children[i2] === element) return num; + if (children[i2].nodeType === 1) num++; + } + } + } + return -1; +} +__name(getIndex, "getIndex"); +function getInnerWidth(element) { + if (element) { + let width2 = element.offsetWidth; + let style = getComputedStyle(element); + width2 -= parseFloat(style.borderLeft) + parseFloat(style.borderRight); + return width2; + } + return 0; +} +__name(getInnerWidth, "getInnerWidth"); +function getLastFocusableElement(element, selector) { + const focusableElements = getFocusableElements(element, selector); + return focusableElements.length > 0 ? focusableElements[focusableElements.length - 1] : null; +} +__name(getLastFocusableElement, "getLastFocusableElement"); +function getNextElementSibling(element, selector) { + let nextElement = element.nextElementSibling; + while (nextElement) { + if (nextElement.matches(selector)) { + return nextElement; + } else { + nextElement = nextElement.nextElementSibling; + } + } + return null; +} +__name(getNextElementSibling, "getNextElementSibling"); +function getNextFocusableElement(container, element, selector) { + const focusableElements = getFocusableElements(container, selector); + const index2 = focusableElements.length > 0 ? focusableElements.findIndex((el) => el === element) : -1; + const nextIndex = index2 > -1 && focusableElements.length >= index2 + 1 ? index2 + 1 : -1; + return nextIndex > -1 ? focusableElements[nextIndex] : null; +} +__name(getNextFocusableElement, "getNextFocusableElement"); +function getOffset(element) { + if (element) { + let rect = element.getBoundingClientRect(); + return { + top: rect.top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0), + left: rect.left + (window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0) + }; + } + return { + top: "auto", + left: "auto" + }; +} +__name(getOffset, "getOffset"); +function getOuterHeight(element, margin) { + if (element) { + let height = element.offsetHeight; + if (margin) { + let style = getComputedStyle(element); + height += parseFloat(style.marginTop) + parseFloat(style.marginBottom); + } + return height; + } + return 0; +} +__name(getOuterHeight, "getOuterHeight"); +function getParents(element, parents = []) { + const parent = getParentNode(element); + return parent === null ? parents : getParents(parent, parents.concat([parent])); +} +__name(getParents, "getParents"); +function getPreviousElementSibling(element, selector) { + let previousElement = element.previousElementSibling; + while (previousElement) { + if (previousElement.matches(selector)) { + return previousElement; + } else { + previousElement = previousElement.previousElementSibling; + } + } + return null; +} +__name(getPreviousElementSibling, "getPreviousElementSibling"); +function getScrollableParents(element) { + let scrollableParents = []; + if (element) { + let parents = getParents(element); + const overflowRegex = /(auto|scroll)/; + const overflowCheck = /* @__PURE__ */ __name((node3) => { + try { + let styleDeclaration = window["getComputedStyle"](node3, null); + return overflowRegex.test(styleDeclaration.getPropertyValue("overflow")) || overflowRegex.test(styleDeclaration.getPropertyValue("overflowX")) || overflowRegex.test(styleDeclaration.getPropertyValue("overflowY")); + } catch (err) { + return false; + } + }, "overflowCheck"); + for (let parent of parents) { + let scrollSelectors = parent.nodeType === 1 && parent.dataset["scrollselectors"]; + if (scrollSelectors) { + let selectors = scrollSelectors.split(","); + for (let selector of selectors) { + let el = findSingle(parent, selector); + if (el && overflowCheck(el)) { + scrollableParents.push(el); + } + } + } + if (parent.nodeType !== 9 && overflowCheck(parent)) { + scrollableParents.push(parent); + } + } + } + return scrollableParents; +} +__name(getScrollableParents, "getScrollableParents"); +function getSelection() { + if (window.getSelection) return window.getSelection().toString(); + else if (document.getSelection) return document.getSelection().toString(); + return void 0; +} +__name(getSelection, "getSelection"); +function isExist(element) { + return !!(element !== null && typeof element !== "undefined" && element.nodeName && getParentNode(element)); +} +__name(isExist, "isExist"); +function getTargetElement(target, currentElement) { + var _a; + if (!target) return void 0; + switch (target) { + case "document": + return document; + case "window": + return window; + case "body": + return document.body; + case "@next": + return currentElement == null ? void 0 : currentElement.nextElementSibling; + case "@prev": + return currentElement == null ? void 0 : currentElement.previousElementSibling; + case "@parent": + return currentElement == null ? void 0 : currentElement.parentElement; + case "@grandparent": + return (_a = currentElement == null ? void 0 : currentElement.parentElement) == null ? void 0 : _a.parentElement; + default: + if (typeof target === "string") { + return document.querySelector(target); + } + const isFunction2 = /* @__PURE__ */ __name((obj) => !!(obj && obj.constructor && obj.call && obj.apply), "isFunction"); + const element = toElement(isFunction2(target) ? target() : target); + return (element == null ? void 0 : element.nodeType) === 9 || isExist(element) ? element : void 0; + } +} +__name(getTargetElement, "getTargetElement"); +function getUserAgent() { + return navigator.userAgent; +} +__name(getUserAgent, "getUserAgent"); +function getWidth(element) { + if (element) { + let width2 = element.offsetWidth; + let style = getComputedStyle(element); + width2 -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight) + parseFloat(style.borderLeftWidth) + parseFloat(style.borderRightWidth); + return width2; + } + return 0; +} +__name(getWidth, "getWidth"); +function hasCSSAnimation(element) { + if (element) { + const style = getComputedStyle(element); + const animationDuration = parseFloat(style.getPropertyValue("animation-duration") || "0"); + return animationDuration > 0; + } + return false; +} +__name(hasCSSAnimation, "hasCSSAnimation"); +function hasCSSTransition(element) { + if (element) { + const style = getComputedStyle(element); + const transitionDuration = parseFloat(style.getPropertyValue("transition-duration") || "0"); + return transitionDuration > 0; + } + return false; +} +__name(hasCSSTransition, "hasCSSTransition"); +function invokeElementMethod(element, methodName, args) { + element[methodName].apply(element, args); +} +__name(invokeElementMethod, "invokeElementMethod"); +function isAndroid$1() { + return /(android)/i.test(navigator.userAgent); +} +__name(isAndroid$1, "isAndroid$1"); +function isAttributeEquals(element, name, value3) { + return isElement(element) ? getAttribute(element, name) === value3 : false; +} +__name(isAttributeEquals, "isAttributeEquals"); +function isAttributeNotEquals(element, name, value3) { + return !isAttributeEquals(element, name, value3); +} +__name(isAttributeNotEquals, "isAttributeNotEquals"); +function isClickable(element) { + if (element) { + const targetNode = element.nodeName; + const parentNode = element.parentElement && element.parentElement.nodeName; + return targetNode === "INPUT" || targetNode === "TEXTAREA" || targetNode === "BUTTON" || targetNode === "A" || parentNode === "INPUT" || parentNode === "TEXTAREA" || parentNode === "BUTTON" || parentNode === "A" || !!element.closest(".p-button, .p-checkbox, .p-radiobutton"); + } + return false; +} +__name(isClickable, "isClickable"); +function isClient$1() { + return !!(typeof window !== "undefined" && window.document && window.document.createElement); +} +__name(isClient$1, "isClient$1"); +function isFocusableElement(element, selector = "") { + return isElement(element) ? element.matches(`button:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}, + [href][clientHeight][clientWidth]:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}, + input:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}, + select:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}, + textarea:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}, + [tabIndex]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}, + [contenteditable]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}`) : false; +} +__name(isFocusableElement, "isFocusableElement"); +function isVisible(element) { + return !!(element && element.offsetParent != null); +} +__name(isVisible, "isVisible"); +function isHidden(element) { + return !isVisible(element); +} +__name(isHidden, "isHidden"); +function isIOS$1() { + return /iPad|iPhone|iPod/.test(navigator.userAgent) && !window["MSStream"]; +} +__name(isIOS$1, "isIOS$1"); +function isServer() { + return !isClient$1(); +} +__name(isServer, "isServer"); +function isTouchDevice() { + return "ontouchstart" in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0; +} +__name(isTouchDevice, "isTouchDevice"); +function nestedPosition(element, level) { + var _a; + if (element) { + const parentItem = element.parentElement; + const elementOffset = getOffset(parentItem); + const viewport = getViewport(); + const sublistWidth = element.offsetParent ? element.offsetWidth : getHiddenElementOuterWidth(element); + const itemOuterWidth = getOuterWidth((_a = parentItem == null ? void 0 : parentItem.children) == null ? void 0 : _a[0]); + let left = ""; + if (elementOffset.left + itemOuterWidth + sublistWidth > viewport.width - calculateScrollbarWidth()) { + if (elementOffset.left < sublistWidth) { + if (level % 2 === 1) { + left = elementOffset.left ? "-" + elementOffset.left + "px" : "100%"; + } else if (level % 2 === 0) { + left = viewport.width - sublistWidth - calculateScrollbarWidth() + "px"; + } + } else { + left = "-100%"; + } + } else { + left = "100%"; + } + element.style.top = "0px"; + element.style.left = left; + } +} +__name(nestedPosition, "nestedPosition"); +function remove(element) { + var _a; + if (element) { + if (!("remove" in Element.prototype)) (_a = element.parentNode) == null ? void 0 : _a.removeChild(element); + else element.remove(); + } +} +__name(remove, "remove"); +function removeChild(element, child) { + const target = toElement(element); + if (target) target.removeChild(child); + else throw new Error("Cannot remove " + child + " from " + element); +} +__name(removeChild, "removeChild"); +function removeStyleTag(element) { + var _a; + if (isExist(element)) { + try { + (_a = element.parentNode) == null ? void 0 : _a.removeChild(element); + } catch (error) { + } + return null; + } + return element; +} +__name(removeStyleTag, "removeStyleTag"); +function scrollInView(container, item2) { + let borderTopValue = getComputedStyle(container).getPropertyValue("borderTopWidth"); + let borderTop = borderTopValue ? parseFloat(borderTopValue) : 0; + let paddingTopValue = getComputedStyle(container).getPropertyValue("paddingTop"); + let paddingTop = paddingTopValue ? parseFloat(paddingTopValue) : 0; + let containerRect = container.getBoundingClientRect(); + let itemRect = item2.getBoundingClientRect(); + let offset = itemRect.top + document.body.scrollTop - (containerRect.top + document.body.scrollTop) - borderTop - paddingTop; + let scroll = container.scrollTop; + let elementHeight = container.clientHeight; + let itemHeight = getOuterHeight(item2); + if (offset < 0) { + container.scrollTop = scroll + offset; + } else if (offset + itemHeight > elementHeight) { + container.scrollTop = scroll + offset - elementHeight + itemHeight; + } +} +__name(scrollInView, "scrollInView"); +function setAttribute(element, attribute = "", value3) { + if (isElement(element) && value3 !== null && value3 !== void 0) { + element.setAttribute(attribute, value3); + } +} +__name(setAttribute, "setAttribute"); +var __defProp$2 = Object.defineProperty; +var __getOwnPropSymbols$2 = Object.getOwnPropertySymbols; +var __hasOwnProp$2 = Object.prototype.hasOwnProperty; +var __propIsEnum$2 = Object.prototype.propertyIsEnumerable; +var __defNormalProp$2 = /* @__PURE__ */ __name((obj, key, value3) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value: value3 }) : obj[key] = value3, "__defNormalProp$2"); +var __spreadValues$2 = /* @__PURE__ */ __name((a, b) => { + for (var prop2 in b || (b = {})) + if (__hasOwnProp$2.call(b, prop2)) + __defNormalProp$2(a, prop2, b[prop2]); + if (__getOwnPropSymbols$2) + for (var prop2 of __getOwnPropSymbols$2(b)) { + if (__propIsEnum$2.call(b, prop2)) + __defNormalProp$2(a, prop2, b[prop2]); + } + return a; +}, "__spreadValues$2"); +function isEmpty(value3) { + return value3 === null || value3 === void 0 || value3 === "" || Array.isArray(value3) && value3.length === 0 || !(value3 instanceof Date) && typeof value3 === "object" && Object.keys(value3).length === 0; +} +__name(isEmpty, "isEmpty"); +function compare(value1, value22, comparator, order = 1) { + let result = -1; + const emptyValue1 = isEmpty(value1); + const emptyValue2 = isEmpty(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 = comparator(value1, value22); + else result = value1 < value22 ? -1 : value1 > value22 ? 1 : 0; + return result; +} +__name(compare, "compare"); +function _deepEquals(obj1, obj2, visited = /* @__PURE__ */ new WeakSet()) { + if (obj1 === obj2) return true; + 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(obj1[i2], obj2[i2], visited)) return false; + return true; + } + 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(obj1[key], obj2[key], visited)) return false; + } + return true; +} +__name(_deepEquals, "_deepEquals"); +function deepEquals(obj1, obj2) { + return _deepEquals(obj1, obj2); +} +__name(deepEquals, "deepEquals"); +function isFunction$2(value3) { + return !!(value3 && value3.constructor && value3.call && value3.apply); +} +__name(isFunction$2, "isFunction$2"); +function isNotEmpty(value3) { + return !isEmpty(value3); +} +__name(isNotEmpty, "isNotEmpty"); +function resolveFieldData(data21, field) { + if (!data21 || !field) { + return null; + } + try { + const value3 = data21[field]; + if (isNotEmpty(value3)) return value3; + } catch (e) { + } + if (Object.keys(data21).length) { + if (isFunction$2(field)) { + return field(data21); + } else if (field.indexOf(".") === -1) { + return data21[field]; + } else { + let fields = field.split("."); + let value3 = data21; + for (let i2 = 0, len = fields.length; i2 < len; ++i2) { + if (value3 == null) { + return null; + } + value3 = value3[fields[i2]]; + } + return value3; + } + } + 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(equals, "equals"); +function contains(value3, list) { + if (value3 != null && list && list.length) { + for (let val of list) { + if (equals(value3, val)) return true; + } + } + return false; +} +__name(contains, "contains"); +function filter(value3, fields, filterValue) { + let filteredItems = []; + if (value3) { + for (let item2 of value3) { + for (let field of fields) { + if (String(resolveFieldData(item2, field)).toLowerCase().indexOf(filterValue.toLowerCase()) > -1) { + filteredItems.push(item2); + break; + } + } + } + } + return filteredItems; +} +__name(filter, "filter"); +function findIndexInList(value3, list) { + let index2 = -1; + if (list) { + for (let i2 = 0; i2 < list.length; i2++) { + if (list[i2] === value3) { + index2 = i2; + break; + } + } + } + return index2; +} +__name(findIndexInList, "findIndexInList"); +function findLast$1(arr, callback) { + let item2; + if (isNotEmpty(arr)) { + try { + item2 = arr.findLast(callback); + } catch (e) { + item2 = [...arr].reverse().find(callback); + } + } + return item2; +} +__name(findLast$1, "findLast$1"); +function findLastIndex(arr, callback) { + let index2 = -1; + if (isNotEmpty(arr)) { + try { + index2 = arr.findLastIndex(callback); + } catch (e) { + index2 = arr.lastIndexOf([...arr].reverse().find(callback)); + } + } + return index2; +} +__name(findLastIndex, "findLastIndex"); +function isObject$4(value3, empty = true) { + return value3 instanceof Object && value3.constructor === Object && (empty || Object.keys(value3).length !== 0); +} +__name(isObject$4, "isObject$4"); +function resolve(obj, ...params) { + return isFunction$2(obj) ? obj(...params) : obj; +} +__name(resolve, "resolve"); +function isString$3(value3, empty = true) { + return typeof value3 === "string" && (empty || value3 !== ""); +} +__name(isString$3, "isString$3"); +function toFlatCase(str) { + return isString$3(str) ? str.replace(/(-|_)/g, "").toLowerCase() : str; +} +__name(toFlatCase, "toFlatCase"); +function getKeyValue(obj, key = "", params = {}) { + const fKeys = toFlatCase(key).split("."); + const fKey = fKeys.shift(); + return fKey ? isObject$4(obj) ? getKeyValue(resolve(obj[Object.keys(obj).find((k) => toFlatCase(k) === fKey) || ""], params), fKeys.join("."), params) : void 0 : resolve(obj, params); +} +__name(getKeyValue, "getKeyValue"); +function insertIntoOrderedArray(item2, index2, arr, sourceArr) { + if (arr.length > 0) { + let injected = false; + for (let i2 = 0; i2 < arr.length; i2++) { + let currentItemIndex = findIndexInList(arr[i2], sourceArr); + if (currentItemIndex > index2) { + arr.splice(i2, 0, item2); + injected = true; + break; + } + } + if (!injected) { + arr.push(item2); + } + } else { + arr.push(item2); + } +} +__name(insertIntoOrderedArray, "insertIntoOrderedArray"); +function isArray$3(value3, empty = true) { + return Array.isArray(value3) && (empty || value3.length !== 0); +} +__name(isArray$3, "isArray$3"); +function isDate$1(value3) { + return value3 instanceof Date && value3.constructor === Date; +} +__name(isDate$1, "isDate$1"); +function isLetter(char) { + return /^[a-zA-Z\u00C0-\u017F]$/.test(char); +} +__name(isLetter, "isLetter"); +function isNumber$2(value3) { + return isNotEmpty(value3) && !isNaN(value3); +} +__name(isNumber$2, "isNumber$2"); +function isPrintableCharacter(char = "") { + return isNotEmpty(char) && char.length === 1 && !!char.match(/\S| /); +} +__name(isPrintableCharacter, "isPrintableCharacter"); +function isScalar(value3) { + return value3 != null && (typeof value3 === "string" || typeof value3 === "number" || typeof value3 === "bigint" || typeof value3 === "boolean"); +} +__name(isScalar, "isScalar"); +function localeComparator() { + return new Intl.Collator(void 0, { numeric: true }).compare; +} +__name(localeComparator, "localeComparator"); +function matchRegex(str, regex) { + if (regex) { + const match = regex.test(str); + regex.lastIndex = 0; + return match; + } + return false; +} +__name(matchRegex, "matchRegex"); +function mergeKeys(...args) { + const _mergeKeys = /* @__PURE__ */ __name((target = {}, source = {}) => { + const mergedObj = __spreadValues$2({}, target); + Object.keys(source).forEach((key) => { + if (isObject$4(source[key]) && key in target && isObject$4(target[key])) { + mergedObj[key] = _mergeKeys(target[key], source[key]); + } else { + mergedObj[key] = source[key]; + } + }); + return mergedObj; + }, "_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(minifyCSS, "minifyCSS"); +function nestedKeys(obj = {}, parentKey = "") { + return Object.entries(obj).reduce((o, [key, value3]) => { + const currentKey = parentKey ? `${parentKey}.${key}` : key; + isObject$4(value3) ? o = o.concat(nestedKeys(value3, currentKey)) : o.push(currentKey); + return o; + }, []); +} +__name(nestedKeys, "nestedKeys"); +function omit$1(obj, ...keys2) { + if (!isObject$4(obj)) return obj; + const copy = __spreadValues$2({}, obj); + keys2 == null ? void 0 : keys2.flat().forEach((key) => delete copy[key]); + return copy; +} +__name(omit$1, "omit$1"); +function removeAccents(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(value3, from, to) { + if (value3 && from !== to) { + if (to >= value3.length) { + to %= value3.length; + from %= value3.length; + } + value3.splice(to, 0, value3.splice(from, 1)[0]); + } +} +__name(reorderArray, "reorderArray"); +function sort(value1, value22, order = 1, comparator, nullSortOrder = 1) { + const result = compare(value1, value22, comparator, order); + let finalSortOrder = order; + if (isEmpty(value1) || isEmpty(value22)) { + finalSortOrder = nullSortOrder === 1 ? order : nullSortOrder; + } + return finalSortOrder * result; +} +__name(sort, "sort"); +function stringify$1(value3, indent = 2, currentIndent = 0) { + const currentIndentStr = " ".repeat(currentIndent); + const nextIndentStr = " ".repeat(currentIndent + indent); + if (isArray$3(value3)) { + return "[" + value3.map((v2) => stringify$1(v2, indent, currentIndent + indent)).join(", ") + "]"; + } else if (isDate$1(value3)) { + return value3.toISOString(); + } else if (isFunction$2(value3)) { + return value3.toString(); + } else if (isObject$4(value3)) { + return "{\n" + Object.entries(value3).map(([k, v2]) => `${nextIndentStr}${k}: ${stringify$1(v2, indent, currentIndent + indent)}`).join(",\n") + ` +${currentIndentStr}}`; + } else { + return JSON.stringify(value3); + } +} +__name(stringify$1, "stringify$1"); +function toCapitalCase(str) { + return isString$3(str, false) ? str[0].toUpperCase() + str.slice(1) : str; +} +__name(toCapitalCase, "toCapitalCase"); +function toKebabCase(str) { + return isString$3(str) ? str.replace(/(_)/g, "-").replace(/[A-Z]/g, (c, i2) => i2 === 0 ? c : "-" + c.toLowerCase()).toLowerCase() : str; +} +__name(toKebabCase, "toKebabCase"); +function toTokenKey$1(str) { + return isString$3(str) ? str.replace(/[A-Z]/g, (c, i2) => i2 === 0 ? c : "." + c.toLowerCase()).toLowerCase() : str; +} +__name(toTokenKey$1, "toTokenKey$1"); +function toValue$2(value3) { + if (value3 && typeof value3 === "object") { + if (value3.hasOwnProperty("current")) { + return value3.current; + } else if (value3.hasOwnProperty("value")) { + return value3.value; + } + } + return resolve(value3); +} +__name(toValue$2, "toValue$2"); +var FilterMatchMode = { + STARTS_WITH: "startsWith", + CONTAINS: "contains", + NOT_CONTAINS: "notContains", + ENDS_WITH: "endsWith", + EQUALS: "equals", + NOT_EQUALS: "notEquals", + IN: "in", + LESS_THAN: "lt", + LESS_THAN_OR_EQUAL_TO: "lte", + GREATER_THAN: "gt", + GREATER_THAN_OR_EQUAL_TO: "gte", + BETWEEN: "between", + DATE_IS: "dateIs", + DATE_IS_NOT: "dateIsNot", + DATE_BEFORE: "dateBefore", + DATE_AFTER: "dateAfter" +}; +var FilterOperator = { + AND: "and", + OR: "or" +}; +function _createForOfIteratorHelper$4(r, e) { + var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (!t) { + if (Array.isArray(r) || (t = _unsupportedIterableToArray$i(r)) || e) { + t && (r = t); + 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() { + t = t.call(r); + }, "s"), n: /* @__PURE__ */ __name(function n() { + var r2 = t.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 == t["return"] || t["return"](); + } finally { + if (u) throw o; + } + }, "f") }; +} +__name(_createForOfIteratorHelper$4, "_createForOfIteratorHelper$4"); +function _unsupportedIterableToArray$i(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$i(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$i(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$i, "_unsupportedIterableToArray$i"); +function _arrayLikeToArray$i(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$i, "_arrayLikeToArray$i"); +var FilterService = { + filter: /* @__PURE__ */ __name(function filter3(value3, fields, filterValue, filterMatchMode, filterLocale) { + var filteredItems = []; + if (!value3) { + return filteredItems; + } + var _iterator = _createForOfIteratorHelper$4(value3), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var item2 = _step.value; + if (typeof item2 === "string") { + if (this.filters[filterMatchMode](item2, filterValue, filterLocale)) { + filteredItems.push(item2); + continue; + } + } else { + var _iterator2 = _createForOfIteratorHelper$4(fields), _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) { + var field = _step2.value; + var fieldValue = resolveFieldData(item2, field); + if (this.filters[filterMatchMode](fieldValue, filterValue, filterLocale)) { + filteredItems.push(item2); + break; + } + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + return filteredItems; + }, "filter"), + filters: { + startsWith: /* @__PURE__ */ __name(function startsWith(value3, filter4, filterLocale) { + if (filter4 === void 0 || filter4 === null || filter4 === "") { + return true; + } + if (value3 === void 0 || value3 === null) { + return false; + } + var filterValue = removeAccents(filter4.toString()).toLocaleLowerCase(filterLocale); + var stringValue = removeAccents(value3.toString()).toLocaleLowerCase(filterLocale); + return stringValue.slice(0, filterValue.length) === filterValue; + }, "startsWith"), + contains: /* @__PURE__ */ __name(function contains2(value3, filter4, filterLocale) { + if (filter4 === void 0 || filter4 === null || filter4 === "") { + return true; + } + if (value3 === void 0 || value3 === null) { + return false; + } + var filterValue = removeAccents(filter4.toString()).toLocaleLowerCase(filterLocale); + var stringValue = removeAccents(value3.toString()).toLocaleLowerCase(filterLocale); + return stringValue.indexOf(filterValue) !== -1; + }, "contains"), + notContains: /* @__PURE__ */ __name(function notContains(value3, filter4, filterLocale) { + if (filter4 === void 0 || filter4 === null || filter4 === "") { + return true; + } + if (value3 === void 0 || value3 === null) { + return false; + } + var filterValue = removeAccents(filter4.toString()).toLocaleLowerCase(filterLocale); + var stringValue = removeAccents(value3.toString()).toLocaleLowerCase(filterLocale); + return stringValue.indexOf(filterValue) === -1; + }, "notContains"), + endsWith: /* @__PURE__ */ __name(function endsWith2(value3, filter4, filterLocale) { + if (filter4 === void 0 || filter4 === null || filter4 === "") { + return true; + } + if (value3 === void 0 || value3 === null) { + return false; + } + var filterValue = removeAccents(filter4.toString()).toLocaleLowerCase(filterLocale); + var stringValue = removeAccents(value3.toString()).toLocaleLowerCase(filterLocale); + return stringValue.indexOf(filterValue, stringValue.length - filterValue.length) !== -1; + }, "endsWith"), + equals: /* @__PURE__ */ __name(function equals2(value3, filter4, filterLocale) { + if (filter4 === void 0 || filter4 === null || filter4 === "") { + return true; + } + if (value3 === void 0 || value3 === null) { + return false; + } + if (value3.getTime && filter4.getTime) return value3.getTime() === filter4.getTime(); + else return removeAccents(value3.toString()).toLocaleLowerCase(filterLocale) == removeAccents(filter4.toString()).toLocaleLowerCase(filterLocale); + }, "equals"), + notEquals: /* @__PURE__ */ __name(function notEquals(value3, filter4, filterLocale) { + if (filter4 === void 0 || filter4 === null || filter4 === "") { + return false; + } + if (value3 === void 0 || value3 === null) { + return true; + } + if (value3.getTime && filter4.getTime) return value3.getTime() !== filter4.getTime(); + else return removeAccents(value3.toString()).toLocaleLowerCase(filterLocale) != removeAccents(filter4.toString()).toLocaleLowerCase(filterLocale); + }, "notEquals"), + "in": /* @__PURE__ */ __name(function _in(value3, filter4) { + if (filter4 === void 0 || filter4 === null || filter4.length === 0) { + return true; + } + for (var i2 = 0; i2 < filter4.length; i2++) { + if (equals(value3, filter4[i2])) { + return true; + } + } + return false; + }, "_in"), + between: /* @__PURE__ */ __name(function between(value3, filter4) { + if (filter4 == null || filter4[0] == null || filter4[1] == null) { + return true; + } + if (value3 === void 0 || value3 === null) { + return false; + } + if (value3.getTime) return filter4[0].getTime() <= value3.getTime() && value3.getTime() <= filter4[1].getTime(); + else return filter4[0] <= value3 && value3 <= filter4[1]; + }, "between"), + lt: /* @__PURE__ */ __name(function lt(value3, filter4) { + if (filter4 === void 0 || filter4 === null) { + return true; + } + if (value3 === void 0 || value3 === null) { + return false; + } + if (value3.getTime && filter4.getTime) return value3.getTime() < filter4.getTime(); + else return value3 < filter4; + }, "lt"), + lte: /* @__PURE__ */ __name(function lte(value3, filter4) { + if (filter4 === void 0 || filter4 === null) { + return true; + } + if (value3 === void 0 || value3 === null) { + return false; + } + if (value3.getTime && filter4.getTime) return value3.getTime() <= filter4.getTime(); + else return value3 <= filter4; + }, "lte"), + gt: /* @__PURE__ */ __name(function gt(value3, filter4) { + if (filter4 === void 0 || filter4 === null) { + return true; + } + if (value3 === void 0 || value3 === null) { + return false; + } + if (value3.getTime && filter4.getTime) return value3.getTime() > filter4.getTime(); + else return value3 > filter4; + }, "gt"), + gte: /* @__PURE__ */ __name(function gte(value3, filter4) { + if (filter4 === void 0 || filter4 === null) { + return true; + } + if (value3 === void 0 || value3 === null) { + return false; + } + if (value3.getTime && filter4.getTime) return value3.getTime() >= filter4.getTime(); + else return value3 >= filter4; + }, "gte"), + dateIs: /* @__PURE__ */ __name(function dateIs(value3, filter4) { + if (filter4 === void 0 || filter4 === null) { + return true; + } + if (value3 === void 0 || value3 === null) { + return false; + } + return value3.toDateString() === filter4.toDateString(); + }, "dateIs"), + dateIsNot: /* @__PURE__ */ __name(function dateIsNot(value3, filter4) { + if (filter4 === void 0 || filter4 === null) { + return true; + } + if (value3 === void 0 || value3 === null) { + return false; + } + return value3.toDateString() !== filter4.toDateString(); + }, "dateIsNot"), + dateBefore: /* @__PURE__ */ __name(function dateBefore(value3, filter4) { + if (filter4 === void 0 || filter4 === null) { + return true; + } + if (value3 === void 0 || value3 === null) { + return false; + } + return value3.getTime() < filter4.getTime(); + }, "dateBefore"), + dateAfter: /* @__PURE__ */ __name(function dateAfter(value3, filter4) { + if (filter4 === void 0 || filter4 === null) { + return true; + } + if (value3 === void 0 || value3 === null) { + return false; + } + return value3.getTime() > filter4.getTime(); + }, "dateAfter") + }, + register: /* @__PURE__ */ __name(function register2(rule, fn) { + this.filters[rule] = fn; + }, "register") +}; +var PrimeIcons = { + ALIGN_CENTER: "pi pi-align-center", + ALIGN_JUSTIFY: "pi pi-align-justify", + ALIGN_LEFT: "pi pi-align-left", + ALIGN_RIGHT: "pi pi-align-right", + AMAZON: "pi pi-amazon", + ANDROID: "pi pi-android", + ANGLE_DOUBLE_DOWN: "pi pi-angle-double-down", + ANGLE_DOUBLE_LEFT: "pi pi-angle-double-left", + ANGLE_DOUBLE_RIGHT: "pi pi-angle-double-right", + ANGLE_DOUBLE_UP: "pi pi-angle-double-up", + ANGLE_DOWN: "pi pi-angle-down", + ANGLE_LEFT: "pi pi-angle-left", + ANGLE_RIGHT: "pi pi-angle-right", + ANGLE_UP: "pi pi-angle-up", + APPLE: "pi pi-apple", + ARROW_CIRCLE_DOWN: "pi pi-arrow-circle-down", + ARROW_CIRCLE_LEFT: "pi pi-arrow-circle-left", + ARROW_CIRCLE_RIGHT: "pi pi-arrow-circle-right", + ARROW_CIRCLE_UP: "pi pi-arrow-circle-up", + ARROW_DOWN: "pi pi-arrow-down", + ARROW_DOWN_LEFT: "pi pi-arrow-down-left", + ARROW_DOWN_RIGHT: "pi pi-arrow-down-right", + ARROW_LEFT: "pi pi-arrow-left", + ARROW_RIGHT: "pi pi-arrow-right", + ARROW_RIGHT_ARROW_LEFT: "pi pi-arrow-right-arrow-left", + ARROW_UP: "pi pi-arrow-up", + ARROW_UP_LEFT: "pi pi-arrow-up-left", + ARROW_UP_RIGHT: "pi pi-arrow-up-right", + ARROWS_H: "pi pi-arrows-h", + ARROWS_V: "pi pi-arrows-v", + ARROWS_ALT: "pi pi-arrows-alt", + AT: "pi pi-at", + BACKWARD: "pi pi-backward", + BAN: "pi pi-ban", + BARS: "pi pi-bars", + BELL: "pi pi-bell", + BITCOIN: "pi pi-bitcoin", + BOLT: "pi pi-bolt", + BOOK: "pi pi-book", + BOOKMARK: "pi pi-bookmark", + BOOKMARK_FILL: "pi pi-bookmark-fill", + BOX: "pi pi-box", + BRIEFCASE: "pi pi-briefcase", + BUILDING: "pi pi-building", + CALENDAR: "pi pi-calendar", + CALENDAR_MINUS: "pi pi-calendar-minus", + CALENDAR_PLUS: "pi pi-calendar-plus", + CALENDAR_TIMES: "pi pi-calendar-times", + CALCULATOR: "pi pi-calculator", + CAMERA: "pi pi-camera", + CAR: "pi pi-car", + CARET_DOWN: "pi pi-caret-down", + CARET_LEFT: "pi pi-caret-left", + CARET_RIGHT: "pi pi-caret-right", + CARET_UP: "pi pi-caret-up", + CART_PLUS: "pi pi-cart-plus", + CHART_BAR: "pi pi-chart-bar", + CHART_LINE: "pi pi-chart-line", + CHART_PIE: "pi pi-chart-pie", + CHECK: "pi pi-check", + CHECK_CIRCLE: "pi pi-check-circle", + CHECK_SQUARE: "pi pi-check-square", + CHEVRON_CIRCLE_DOWN: "pi pi-chevron-circle-down", + CHEVRON_CIRCLE_LEFT: "pi pi-chevron-circle-left", + CHEVRON_CIRCLE_RIGHT: "pi pi-chevron-circle-right", + CHEVRON_CIRCLE_UP: "pi pi-chevron-circle-up", + CHEVRON_DOWN: "pi pi-chevron-down", + CHEVRON_LEFT: "pi pi-chevron-left", + CHEVRON_RIGHT: "pi pi-chevron-right", + CHEVRON_UP: "pi pi-chevron-up", + CIRCLE: "pi pi-circle", + CIRCLE_FILL: "pi pi-circle-fill", + CLOCK: "pi pi-clock", + CLONE: "pi pi-clone", + CLOUD: "pi pi-cloud", + CLOUD_DOWNLOAD: "pi pi-cloud-download", + CLOUD_UPLOAD: "pi pi-cloud-upload", + CODE: "pi pi-code", + COG: "pi pi-cog", + COMMENT: "pi pi-comment", + COMMENTS: "pi pi-comments", + COMPASS: "pi pi-compass", + COPY: "pi pi-copy", + CREDIT_CARD: "pi pi-credit-card", + DATABASE: "pi pi-database", + DELETELEFT: "pi pi-delete-left", + DESKTOP: "pi pi-desktop", + DIRECTIONS: "pi pi-directions", + DIRECTIONS_ALT: "pi pi-directions-alt", + DISCORD: "pi pi-discord", + DOLLAR: "pi pi-dollar", + DOWNLOAD: "pi pi-download", + EJECT: "pi pi-eject", + ELLIPSIS_H: "pi pi-ellipsis-h", + ELLIPSIS_V: "pi pi-ellipsis-v", + ENVELOPE: "pi pi-envelope", + ERASER: "pi pi-eraser", + EURO: "pi pi-euro", + EXCLAMATION_CIRCLE: "pi pi-exclamation-circle", + EXCLAMATION_TRIANGLE: "pi pi-exclamation-triangle", + EXTERNAL_LINK: "pi pi-external-link", + EYE: "pi pi-eye", + EYE_SLASH: "pi pi-eye-slash", + FACEBOOK: "pi pi-facebook", + FAST_BACKWARD: "pi pi-fast-backward", + FAST_FORWARD: "pi pi-fast-forward", + FILE: "pi pi-file", + FILE_EDIT: "pi pi-file-edit", + FILE_EXCEL: "pi pi-file-excel", + FILE_EXPORT: "pi pi-file-export", + FILE_IMPORT: "pi pi-file-import", + FILE_PDF: "pi pi-file-pdf", + FILE_WORD: "pi pi-file-word", + FILTER: "pi pi-filter", + FILTER_FILL: "pi pi-filter-fill", + FILTER_SLASH: "pi pi-filter-slash", + FLAG: "pi pi-flag", + FLAG_FILL: "pi pi-flag-fill", + FOLDER: "pi pi-folder", + FOLDER_OPEN: "pi pi-folder-open", + FORWARD: "pi pi-forward", + GIFT: "pi pi-gift", + GITHUB: "pi pi-github", + GLOBE: "pi pi-globe", + GOOGLE: "pi pi-google", + HASHTAG: "pi pi-hashtag", + HEART: "pi pi-heart", + HEART_FILL: "pi pi-heart-fill", + HISTORY: "pi pi-history", + HOURGLASS: "pi pi-hourglass", + HOME: "pi pi-home", + ID_CARD: "pi pi-id-card", + IMAGE: "pi pi-image", + IMAGES: "pi pi-images", + INBOX: "pi pi-inbox", + INFO: "pi pi-info", + INFO_CIRCLE: "pi pi-info-circle", + INSTAGRAM: "pi pi-instagram", + KEY: "pi pi-key", + LANGUAGE: "pi pi-language", + LINK: "pi pi-link", + LINKEDIN: "pi pi-linkedin", + LIST: "pi pi-list", + LOCK: "pi pi-lock", + LOCK_OPEN: "pi pi-lock-open", + MAP: "pi pi-map", + MAP_MARKER: "pi pi-map-marker", + MEGAPHONE: "pi pi-megaphone", + MICROPHONE: "pi pi-microphone", + MICROSOFT: "pi pi-microsoft", + MINUS: "pi pi-minus", + MINUS_CIRCLE: "pi pi-minus-circle", + MOBILE: "pi pi-mobile", + MONEY_BILL: "pi pi-money-bill", + MOON: "pi pi-moon", + PALETTE: "pi pi-palette", + PAPERCLIP: "pi pi-paperclip", + PAUSE: "pi pi-pause", + PAYPAL: "pi pi-paypal", + PENCIL: "pi pi-pencil", + PERCENTAGE: "pi pi-percentage", + PHONE: "pi pi-phone", + PLAY: "pi pi-play", + PLUS: "pi pi-plus", + PLUS_CIRCLE: "pi pi-plus-circle", + POUND: "pi pi-pound", + POWER_OFF: "pi pi-power-off", + PRIME: "pi pi-prime", + PRINT: "pi pi-print", + QRCODE: "pi pi-qrcode", + QUESTION: "pi pi-question", + QUESTION_CIRCLE: "pi pi-question-circle", + REDDIT: "pi pi-reddit", + REFRESH: "pi pi-refresh", + REPLAY: "pi pi-replay", + REPLY: "pi pi-reply", + SAVE: "pi pi-save", + SEARCH: "pi pi-search", + SEARCH_MINUS: "pi pi-search-minus", + SEARCH_PLUS: "pi pi-search-plus", + SEND: "pi pi-send", + SERVER: "pi pi-server", + SHARE_ALT: "pi pi-share-alt", + SHIELD: "pi pi-shield", + SHOPPING_BAG: "pi pi-shopping-bag", + SHOPPING_CART: "pi pi-shopping-cart", + SIGN_IN: "pi pi-sign-in", + SIGN_OUT: "pi pi-sign-out", + SITEMAP: "pi pi-sitemap", + SLACK: "pi pi-slack", + SLIDERS_H: "pi pi-sliders-h", + SLIDERS_V: "pi pi-sliders-v", + SORT: "pi pi-sort", + SORT_ALPHA_DOWN: "pi pi-sort-alpha-down", + SORT_ALPHA_DOWN_ALT: "pi pi-sort-alpha-down-alt", + SORT_ALPHA_UP: "pi pi-sort-alpha-up", + SORT_ALPHA_UP_ALT: "pi pi-sort-alpha-up-alt", + SORT_ALT: "pi pi-sort-alt", + SORT_ALT_SLASH: "pi pi-sort-alt-slash", + SORT_AMOUNT_DOWN: "pi pi-sort-amount-down", + SORT_AMOUNT_DOWN_ALT: "pi pi-sort-amount-down-alt", + SORT_AMOUNT_UP: "pi pi-sort-amount-up", + SORT_AMOUNT_UP_ALT: "pi pi-sort-amount-up-alt", + SORT_DOWN: "pi pi-sort-down", + SORT_NUMERIC_DOWN: "pi pi-sort-numeric-down", + SORT_NUMERIC_DOWN_ALT: "pi pi-sort-numeric-down-alt", + SORT_NUMERIC_UP: "pi pi-sort-numeric-up", + SORT_NUMERIC_UP_ALT: "pi pi-sort-numeric-up-alt", + SORT_UP: "pi pi-sort-up", + SPINNER: "pi pi-spinner", + STAR: "pi pi-star", + STAR_FILL: "pi pi-star-fill", + STEP_BACKWARD: "pi pi-step-backward", + STEP_BACKWARD_ALT: "pi pi-step-backward-alt", + STEP_FORWARD: "pi pi-step-forward", + STEP_FORWARD_ALT: "pi pi-step-forward-alt", + STOP: "pi pi-stop", + STOPWATCH: "pi pi-stopwatch", + STOP_CIRCLE: "pi pi-stop-circle", + SUN: "pi pi-sun", + SYNC: "pi pi-sync", + TABLE: "pi pi-table", + TABLET: "pi pi-tablet", + TAG: "pi pi-tag", + TAGS: "pi pi-tags", + TELEGRAM: "pi pi-telegram", + TH_LARGE: "pi pi-th-large", + THUMBS_DOWN: "pi pi-thumbs-down", + THUMBS_DOWN_FILL: "pi pi-thumbs-down-fill", + THUMBS_UP: "pi pi-thumbs-up", + THUMBS_UP_FILL: "pi pi-thumbs-up-fill", + TICKET: "pi pi-ticket", + TIMES: "pi pi-times", + TIMES_CIRCLE: "pi pi-times-circle", + TRASH: "pi pi-trash", + TRUCK: "pi pi-truck", + TWITTER: "pi pi-twitter", + UNDO: "pi pi-undo", + UNLOCK: "pi pi-unlock", + UPLOAD: "pi pi-upload", + USER: "pi pi-user", + USER_EDIT: "pi pi-user-edit", + USER_MINUS: "pi pi-user-minus", + USER_PLUS: "pi pi-user-plus", + USERS: "pi pi-users", + VERIFIED: "pi pi-verified", + VIDEO: "pi pi-video", + VIMEO: "pi pi-vimeo", + VOLUME_DOWN: "pi pi-volume-down", + VOLUME_OFF: "pi pi-volume-off", + VOLUME_UP: "pi pi-volume-up", + WALLET: "pi pi-wallet", + WHATSAPP: "pi pi-whatsapp", + WIFI: "pi pi-wifi", + WINDOW_MAXIMIZE: "pi pi-window-maximize", + WINDOW_MINIMIZE: "pi pi-window-minimize", + WRENCH: "pi pi-wrench", + YOUTUBE: "pi pi-youtube" +}; +var ToastSeverities = { + INFO: "info", + WARN: "warn", + ERROR: "error", + SUCCESS: "success" +}; +function classNames(...args) { + if (args) { + let classes2 = []; + for (let i2 = 0; i2 < args.length; i2++) { + let className = args[i2]; + if (!className) { + continue; + } + const type = typeof className; + if (type === "string" || type === "number") { + classes2.push(className); + } else if (type === "object") { + const _classes = Array.isArray(className) ? [classNames(...className)] : Object.entries(className).map(([key, value3]) => value3 ? key : void 0); + classes2 = _classes.length ? classes2.concat(_classes.filter((c) => !!c)) : classes2; + } + } + return classes2.join(" ").trim(); + } + return void 0; +} +__name(classNames, "classNames"); +function EventBus() { + const allHandlers = /* @__PURE__ */ new Map(); + return { + on(type, handler6) { + let handlers2 = allHandlers.get(type); + if (!handlers2) handlers2 = [handler6]; + else handlers2.push(handler6); + allHandlers.set(type, handlers2); + return this; + }, + off(type, handler6) { + let handlers2 = allHandlers.get(type); + if (handlers2) { + handlers2.splice(handlers2.indexOf(handler6) >>> 0, 1); + } + return this; + }, + emit(type, evt) { + let handlers2 = allHandlers.get(type); + if (handlers2) { + handlers2.slice().map((handler6) => { + handler6(evt); + }); + } + }, + clear() { + allHandlers.clear(); + } + }; +} +__name(EventBus, "EventBus"); +var __defProp$1 = Object.defineProperty; +var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols; +var __hasOwnProp$1 = Object.prototype.hasOwnProperty; +var __propIsEnum$1 = Object.prototype.propertyIsEnumerable; +var __defNormalProp$1 = /* @__PURE__ */ __name((obj, key, value3) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value: value3 }) : obj[key] = value3, "__defNormalProp$1"); +var __spreadValues$1 = /* @__PURE__ */ __name((a, b) => { + for (var prop2 in b || (b = {})) + if (__hasOwnProp$1.call(b, prop2)) + __defNormalProp$1(a, prop2, b[prop2]); + if (__getOwnPropSymbols$1) + for (var prop2 of __getOwnPropSymbols$1(b)) { + if (__propIsEnum$1.call(b, prop2)) + __defNormalProp$1(a, prop2, b[prop2]); + } + return a; +}, "__spreadValues$1"); +function isFunction$1(value3) { + return !!(value3 && value3.constructor && value3.call && value3.apply); +} +__name(isFunction$1, "isFunction$1"); +function mergeProps(...props) { + return props == null ? void 0 : props.reduce((merged, ps = {}) => { + for (const key in ps) { + const value3 = ps[key]; + if (key === "style") { + merged["style"] = __spreadValues$1(__spreadValues$1({}, merged["style"]), ps["style"]); + } else if (key === "class") { + merged["class"] = [merged["class"], ps["class"]].join(" ").trim() || void 0; + } else if (key === "className") { + merged["className"] = [merged["className"], ps["className"]].join(" ").trim() || void 0; + } else if (isFunction$1(value3)) { + const fn = merged[key]; + merged[key] = fn ? (...args) => { + fn(...args); + value3(...args); + } : value3; + } else { + merged[key] = value3; + } + } + return merged; + }, {}); +} +__name(mergeProps, "mergeProps"); +var lastIds = {}; +function uuid(prefix2 = "pui_id_") { + if (!lastIds.hasOwnProperty(prefix2)) { + lastIds[prefix2] = 0; + } + lastIds[prefix2]++; + return `${prefix2}${lastIds[prefix2]}`; +} +__name(uuid, "uuid"); +function handler() { + let zIndexes = []; + const generateZIndex = /* @__PURE__ */ __name((key, autoZIndex, baseZIndex = 999) => { + const lastZIndex = getLastZIndex(key, autoZIndex, baseZIndex); + const newZIndex = lastZIndex.value + (lastZIndex.key === key ? 0 : baseZIndex) + 1; + zIndexes.push({ key, value: newZIndex }); + return newZIndex; + }, "generateZIndex"); + const revertZIndex = /* @__PURE__ */ __name((zIndex) => { + zIndexes = zIndexes.filter((obj) => obj.value !== zIndex); + }, "revertZIndex"); + const getCurrentZIndex = /* @__PURE__ */ __name((key, autoZIndex) => { + return getLastZIndex(key, autoZIndex).value; + }, "getCurrentZIndex"); + const getLastZIndex = /* @__PURE__ */ __name((key, autoZIndex, baseZIndex = 0) => { + return [...zIndexes].reverse().find((obj) => autoZIndex ? true : obj.key === key) || { key, value: baseZIndex }; + }, "getLastZIndex"); + const getZIndex = /* @__PURE__ */ __name((element) => { + return element ? parseInt(element.style.zIndex, 10) || 0 : 0; + }, "getZIndex"); + return { + get: getZIndex, + set: /* @__PURE__ */ __name((key, element, baseZIndex) => { + if (element) { + element.style.zIndex = String(generateZIndex(key, true, baseZIndex)); + } + }, "set"), + clear: /* @__PURE__ */ __name((element) => { + if (element) { + revertZIndex(getZIndex(element)); + element.style.zIndex = ""; + } + }, "clear"), + getCurrent: /* @__PURE__ */ __name((key) => getCurrentZIndex(key, true), "getCurrent") + }; +} +__name(handler, "handler"); +var ZIndex = handler(); +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 _classCallCheck$1(a, n) { + if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); +} +__name(_classCallCheck$1, "_classCallCheck$1"); +function _defineProperties$1(e, r) { + for (var t = 0; t < r.length; t++) { + var o = r[t]; + o.enumerable = o.enumerable || false, o.configurable = true, "value" in o && (o.writable = true), Object.defineProperty(e, _toPropertyKey$1$3(o.key), o); + } +} +__name(_defineProperties$1, "_defineProperties$1"); +function _createClass$1(e, r, t) { + return r && _defineProperties$1(e.prototype, r), Object.defineProperty(e, "prototype", { writable: false }), e; +} +__name(_createClass$1, "_createClass$1"); +function _toPropertyKey$1$3(t) { + var i2 = _toPrimitive$1$3(t, "string"); + return "symbol" == _typeof$1$3(i2) ? i2 : i2 + ""; +} +__name(_toPropertyKey$1$3, "_toPropertyKey$1$3"); +function _toPrimitive$1$3(t, r) { + if ("object" != _typeof$1$3(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i2 = e.call(t, r); + if ("object" != _typeof$1$3(i2)) return i2; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return String(t); +} +__name(_toPrimitive$1$3, "_toPrimitive$1$3"); +var ConnectedOverlayScrollHandler = /* @__PURE__ */ function() { + function ConnectedOverlayScrollHandler2(element) { + var listener = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : function() { + }; + _classCallCheck$1(this, ConnectedOverlayScrollHandler2); + this.element = element; + this.listener = listener; + } + __name(ConnectedOverlayScrollHandler2, "ConnectedOverlayScrollHandler"); + return _createClass$1(ConnectedOverlayScrollHandler2, [{ + key: "bindScrollListener", + value: /* @__PURE__ */ __name(function bindScrollListener6() { + this.scrollableParents = getScrollableParents(this.element); + for (var i2 = 0; i2 < this.scrollableParents.length; i2++) { + this.scrollableParents[i2].addEventListener("scroll", this.listener); + } + }, "bindScrollListener") + }, { + key: "unbindScrollListener", + value: /* @__PURE__ */ __name(function unbindScrollListener6() { + if (this.scrollableParents) { + for (var i2 = 0; i2 < this.scrollableParents.length; i2++) { + this.scrollableParents[i2].removeEventListener("scroll", this.listener); + } + } + }, "unbindScrollListener") + }, { + key: "destroy", + value: /* @__PURE__ */ __name(function destroy() { + this.unbindScrollListener(); + this.element = null; + this.listener = null; + this.scrollableParents = null; + }, "destroy") + }]); +}(); +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 _toConsumableArray$b(r) { + return _arrayWithoutHoles$b(r) || _iterableToArray$c(r) || _unsupportedIterableToArray$h(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$h(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$h(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$h(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$h, "_unsupportedIterableToArray$h"); +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$b(r) { + if (Array.isArray(r)) return _arrayLikeToArray$h(r); +} +__name(_arrayWithoutHoles$b, "_arrayWithoutHoles$b"); +function _arrayLikeToArray$h(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$h, "_arrayLikeToArray$h"); +function _classCallCheck(a, n) { + if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); +} +__name(_classCallCheck, "_classCallCheck"); +function _defineProperties(e, r) { + for (var t = 0; t < r.length; t++) { + var o = r[t]; + o.enumerable = o.enumerable || false, o.configurable = true, "value" in o && (o.writable = true), Object.defineProperty(e, _toPropertyKey$k(o.key), o); + } +} +__name(_defineProperties, "_defineProperties"); +function _createClass(e, r, t) { + return r && _defineProperties(e.prototype, r), Object.defineProperty(e, "prototype", { writable: false }), e; +} +__name(_createClass, "_createClass"); +function _defineProperty$k(e, r, t) { + return (r = _toPropertyKey$k(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$k, "_defineProperty$k"); +function _toPropertyKey$k(t) { + var i2 = _toPrimitive$k(t, "string"); + return "symbol" == _typeof$k(i2) ? i2 : i2 + ""; +} +__name(_toPropertyKey$k, "_toPropertyKey$k"); +function _toPrimitive$k(t, r) { + if ("object" != _typeof$k(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i2 = e.call(t, r); + if ("object" != _typeof$k(i2)) return i2; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return String(t); +} +__name(_toPrimitive$k, "_toPrimitive$k"); +var _default = /* @__PURE__ */ function() { + function _default4(_ref) { + var init2 = _ref.init, type = _ref.type; + _classCallCheck(this, _default4); + _defineProperty$k(this, "helpers", void 0); + _defineProperty$k(this, "type", void 0); + this.helpers = new Set(init2); + this.type = type; + } + __name(_default4, "_default"); + return _createClass(_default4, [{ + key: "add", + value: /* @__PURE__ */ __name(function add2(instance) { + this.helpers.add(instance); + }, "add") + }, { + key: "update", + value: /* @__PURE__ */ __name(function update() { + }, "update") + }, { + key: "delete", + value: /* @__PURE__ */ __name(function _delete(instance) { + this.helpers["delete"](instance); + }, "_delete") + }, { + key: "clear", + value: /* @__PURE__ */ __name(function clear2() { + this.helpers.clear(); + }, "clear") + }, { + key: "get", + value: /* @__PURE__ */ __name(function get2(parentInstance, slots) { + var children = this._get(parentInstance, slots); + var computed2 = children ? this._recursive(_toConsumableArray$b(this.helpers), children) : null; + return isNotEmpty(computed2) ? computed2 : null; + }, "get") + }, { + key: "_isMatched", + value: /* @__PURE__ */ __name(function _isMatched(instance, key) { + var _parent$vnode; + var parent = instance === null || instance === void 0 ? void 0 : instance.parent; + return (parent === null || parent === void 0 || (_parent$vnode = parent.vnode) === null || _parent$vnode === void 0 ? void 0 : _parent$vnode.key) === key || parent && this._isMatched(parent, key) || false; + }, "_isMatched") + }, { + key: "_get", + value: /* @__PURE__ */ __name(function _get(parentInstance, slots) { + var _ref2, _ref2$default; + return ((_ref2 = slots || (parentInstance === null || parentInstance === void 0 ? void 0 : parentInstance.$slots)) === null || _ref2 === void 0 || (_ref2$default = _ref2["default"]) === null || _ref2$default === void 0 ? void 0 : _ref2$default.call(_ref2)) || null; + }, "_get") + }, { + key: "_recursive", + value: /* @__PURE__ */ __name(function _recursive() { + var _this = this; + var helpers = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : []; + var children = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : []; + var components = []; + children.forEach(function(child) { + if (child.children instanceof Array) { + components = components.concat(_this._recursive(components, child.children)); + } else if (child.type.name === _this.type) { + components.push(child); + } else if (isNotEmpty(child.key)) { + components = components.concat(helpers.filter(function(c) { + return _this._isMatched(c, child.key); + }).map(function(c) { + return c.vnode; + })); + } + }); + return components; + }, "_recursive") + }]); +}(); +function UniqueComponentId() { + var prefix2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "pv_id_"; + return uuid(prefix2); +} +__name(UniqueComponentId, "UniqueComponentId"); +function getVNodeProp(vnode, prop2) { + if (vnode) { + var props = vnode.props; + if (props) { + var kebabProp = prop2.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase(); + var propName = Object.prototype.hasOwnProperty.call(props, kebabProp) ? kebabProp : prop2; + return vnode.type["extends"].props[prop2].type === Boolean && props[propName] === "" ? true : props[propName]; + } + } + return null; +} +__name(getVNodeProp, "getVNodeProp"); +var __defProp = 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 = /* @__PURE__ */ __name((obj, key, value3) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value: value3 }) : obj[key] = value3, "__defNormalProp"); +var __spreadValues = /* @__PURE__ */ __name((a, b) => { + for (var prop2 in b || (b = {})) + if (__hasOwnProp.call(b, prop2)) + __defNormalProp(a, prop2, b[prop2]); + if (__getOwnPropSymbols) + for (var prop2 of __getOwnPropSymbols(b)) { + if (__propIsEnum.call(b, prop2)) + __defNormalProp(a, prop2, b[prop2]); + } + return a; +}, "__spreadValues"); +var __spreadProps = /* @__PURE__ */ __name((a, b) => __defProps(a, __getOwnPropDescs(b)), "__spreadProps"); +var __objRest = /* @__PURE__ */ __name((source, exclude) => { + var target = {}; + 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]; + } + return target; +}, "__objRest"); +function definePreset(...presets) { + return mergeKeys(...presets); +} +__name(definePreset, "definePreset"); +var ThemeService = EventBus(); +var service_default = ThemeService; +function toTokenKey(str) { + return isString$3(str) ? str.replace(/[A-Z]/g, (c, i2) => i2 === 0 ? c : "." + c.toLowerCase()).toLowerCase() : str; +} +__name(toTokenKey, "toTokenKey"); +function merge(value1, value22) { + if (isArray$3(value1)) { + value1.push(...value22 || []); + } else if (isObject$4(value1)) { + Object.assign(value1, value22); + } +} +__name(merge, "merge"); +function toValue$1(value3) { + return isObject$4(value3) && value3.hasOwnProperty("value") && value3.hasOwnProperty("type") ? value3.value : value3; +} +__name(toValue$1, "toValue$1"); +function toUnit(value3, 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 = `${value3}`.trim(); + const valArr = val.split(" "); + return valArr.map((v2) => isNumber$2(v2) ? `${v2}px` : v2).join(" "); + } + return value3; +} +__name(toUnit, "toUnit"); +function toNormalizePrefix(prefix2) { + return prefix2.replaceAll(/ /g, "").replace(/[^\w]/g, "-"); +} +__name(toNormalizePrefix, "toNormalizePrefix"); +function toNormalizeVariable(prefix2 = "", variable = "") { + return toNormalizePrefix(`${isString$3(prefix2, false) && isString$3(variable, false) ? `${prefix2}-` : prefix2}${variable}`); +} +__name(toNormalizeVariable, "toNormalizeVariable"); +function getVariableName(prefix2 = "", variable = "") { + return `--${toNormalizeVariable(prefix2, variable)}`; +} +__name(getVariableName, "getVariableName"); +function getVariableValue(value3, variable = "", prefix2 = "", excludedKeyRegexes = [], fallback) { + if (isString$3(value3)) { + const regex = /{([^}]*)}/g; + const val = value3.trim(); + if (matchRegex(val, regex)) { + const _val = val.replaceAll(regex, (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 calculationRegex = /(\d+\s+[\+\-\*\/]\s+\d+)/g; + const cleanedVarRegex = /var\([^)]+\)/g; + return matchRegex(_val.replace(cleanedVarRegex, "0"), calculationRegex) ? `calc(${_val})` : _val; + } + return toUnit(val, variable); + } else if (isNumber$2(value3)) { + return toUnit(value3, variable); + } + return void 0; +} +__name(getVariableValue, "getVariableValue"); +function getComputedValue(obj = {}, value3) { + if (isString$3(value3)) { + const regex = /{([^}]*)}/g; + const val = value3.trim(); + return matchRegex(val, regex) ? val.replaceAll(regex, (v2) => getKeyValue(obj, v2.replace(/{|}/g, ""))) : val; + } else if (isNumber$2(value3)) { + return value3; + } + return void 0; +} +__name(getComputedValue, "getComputedValue"); +function setProperty(properties, key, value3) { + if (isString$3(key, false)) { + properties.push(`${key}:${value3};`); + } +} +__name(setProperty, "setProperty"); +function getRule(selector, properties) { + if (selector) { + return `${selector}{${properties}}`; + } + return ""; +} +__name(getRule, "getRule"); +function normalizeColor(color) { + if (color.length === 4) { + return `#${color[1]}${color[1]}${color[2]}${color[2]}${color[3]}${color[3]}`; + } + return color; +} +__name(normalizeColor, "normalizeColor"); +function hexToRgb$1(hex) { + var bigint = parseInt(hex.substring(1), 16); + var r = bigint >> 16 & 255; + var g = bigint >> 8 & 255; + var b = bigint & 255; + return { r, g, b }; +} +__name(hexToRgb$1, "hexToRgb$1"); +function rgbToHex(r, g, b) { + return `#${r.toString(16).padStart(2, "0")}${g.toString(16).padStart(2, "0")}${b.toString(16).padStart(2, "0")}`; +} +__name(rgbToHex, "rgbToHex"); +var mix_default = /* @__PURE__ */ __name((color1, color2, weight) => { + color1 = normalizeColor(color1); + color2 = normalizeColor(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 r = Math.round(rgb1.r * w1 + rgb2.r * w22); + var g = Math.round(rgb1.g * w1 + rgb2.g * w22); + var b = Math.round(rgb1.b * w1 + rgb2.b * w22); + return rgbToHex(r, g, b); +}, "mix_default"); +var shade_default = /* @__PURE__ */ __name((color, percent) => mix_default("#000000", color, percent), "shade_default"); +var tint_default = /* @__PURE__ */ __name((color, percent) => mix_default("#ffffff", color, percent), "tint_default"); +var scales = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950]; +var palette_default = /* @__PURE__ */ __name((color) => { + if (/{([^}]*)}/g.test(color)) { + const token = color.replace(/{|}/g, ""); + return scales.reduce((acc, scale) => (acc[scale] = `{${token}.${scale}}`, acc), {}); + } + return typeof color === "string" ? scales.reduce((acc, scale, i2) => (acc[scale] = i2 <= 5 ? tint_default(color, (5 - i2) * 19) : shade_default(color, (i2 - 5) * 15), acc), {}) : color; +}, "palette_default"); +var $dt = /* @__PURE__ */ __name((tokenPath) => { + var _a; + const theme36 = config_default.getTheme(); + const variable = dtwt(theme36, tokenPath, void 0, "variable"); + const name = (_a = variable == null ? void 0 : variable.match(/--[\w-]+/g)) == null ? void 0 : _a[0]; + const value3 = dtwt(theme36, tokenPath, void 0, "value"); + return { + name, + variable, + value: value3 + }; +}, "$dt"); +var dt = /* @__PURE__ */ __name((...args) => { + return dtwt(config_default.getTheme(), ...args); +}, "dt"); +var dtwt = /* @__PURE__ */ __name((theme36 = {}, tokenPath, fallback, type) => { + if (tokenPath) { + const { variable: VARIABLE, options: OPTIONS } = config_default.defaults || {}; + const { prefix: prefix2, transform: transform2 } = (theme36 == null ? void 0 : theme36.options) || OPTIONS || {}; + const regex = /{([^}]*)}/g; + const token = matchRegex(tokenPath, regex) ? tokenPath : `{${tokenPath}}`; + const isStrictTransform = type === "value" || isEmpty(type) && transform2 === "strict"; + return isStrictTransform ? config_default.getTokenValue(tokenPath) : getVariableValue(token, void 0, prefix2, [VARIABLE.excludedKeyRegex], fallback); + } + return ""; +}, "dtwt"); +function css$3(style) { + return resolve(style, { dt }); +} +__name(css$3, "css$3"); +var $t = /* @__PURE__ */ __name((theme36 = {}) => { + let { preset: _preset, options: _options } = theme36; + return { + preset(value3) { + _preset = _preset ? mergeKeys(_preset, value3) : value3; + return this; + }, + options(value3) { + _options = _options ? __spreadValues(__spreadValues({}, _options), value3) : value3; + return this; + }, + // features + primaryPalette(primary) { + const { semantic } = _preset || {}; + _preset = __spreadProps(__spreadValues({}, _preset), { semantic: __spreadProps(__spreadValues({}, semantic), { primary }) }); + return this; + }, + surfacePalette(surface) { + var _a, _b; + const { semantic } = _preset || {}; + const lightSurface = (surface == null ? void 0 : surface.hasOwnProperty("light")) ? surface == null ? void 0 : surface.light : surface; + const darkSurface = (surface == null ? void 0 : surface.hasOwnProperty("dark")) ? surface == null ? void 0 : surface.dark : surface; + const newColorScheme = { + colorScheme: { + light: __spreadValues(__spreadValues({}, (_a = semantic == null ? void 0 : semantic.colorScheme) == null ? void 0 : _a.light), !!lightSurface && { surface: lightSurface }), + dark: __spreadValues(__spreadValues({}, (_b = semantic == null ? void 0 : semantic.colorScheme) == null ? void 0 : _b.dark), !!darkSurface && { surface: darkSurface }) + } + }; + _preset = __spreadProps(__spreadValues({}, _preset), { semantic: __spreadValues(__spreadValues({}, semantic), newColorScheme) }); + return this; + }, + // actions + define({ useDefaultPreset = false, useDefaultOptions = false } = {}) { + return { + preset: useDefaultPreset ? config_default.getPreset() : _preset, + options: useDefaultOptions ? config_default.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 + }; + config_default.setTheme(newTheme); + return newTheme; + }, + use(options3) { + const newTheme = this.define(options3); + config_default.setTheme(newTheme); + return newTheme; + } + }; +}, "$t"); +function toVariables_default(theme36, options3 = {}) { + const VARIABLE = config_default.defaults.variable; + const { prefix: prefix2 = VARIABLE.prefix, selector = VARIABLE.selector, excludedKeyRegex = VARIABLE.excludedKeyRegex } = options3; + const _toVariables = /* @__PURE__ */ __name((_theme, _prefix = "") => { + return Object.entries(_theme).reduce( + (acc, [key, value3]) => { + const px = matchRegex(key, excludedKeyRegex) ? toNormalizeVariable(_prefix) : toNormalizeVariable(_prefix, toKebabCase(key)); + const v2 = toValue$1(value3); + if (isObject$4(v2)) { + const { variables: variables2, tokens: tokens2 } = _toVariables(v2, px); + merge(acc["tokens"], tokens2); + merge(acc["variables"], variables2); + } else { + acc["tokens"].push((prefix2 ? px.replace(`${prefix2}-`, "") : px).replaceAll("-", ".")); + setProperty(acc["variables"], getVariableName(px), getVariableValue(v2, px, prefix2, [excludedKeyRegex])); + } + return acc; + }, + { variables: [], tokens: [] } + ); + }, "_toVariables"); + const { variables, tokens } = _toVariables(theme36, prefix2); + return { + value: variables, + tokens, + declarations: variables.join(""), + css: getRule(selector, variables.join("")) + }; +} +__name(toVariables_default, "toVariables_default"); +var themeUtils_default = { + regex: { + rules: { + class: { + pattern: /^\.([a-zA-Z][\w-]*)$/, + resolve(value3) { + return { type: "class", selector: value3, matched: this.pattern.test(value3.trim()) }; + } + }, + attr: { + pattern: /^\[(.*)\]$/, + resolve(value3) { + return { type: "attr", selector: `:root${value3}`, matched: this.pattern.test(value3.trim()) }; + } + }, + media: { + pattern: /^@media (.*)$/, + resolve(value3) { + return { type: "media", selector: `${value3}{:root{[CSS]}}`, matched: this.pattern.test(value3.trim()) }; + } + }, + system: { + pattern: /^system$/, + resolve(value3) { + return { type: "system", selector: "@media (prefers-color-scheme: dark){:root{[CSS]}}", matched: this.pattern.test(value3.trim()) }; + } + }, + custom: { + resolve(value3) { + return { type: "custom", selector: value3, matched: true }; + } + } + }, + resolve(value3) { + const rules = Object.keys(this.rules).filter((k) => k !== "custom").map((r) => this.rules[r]); + return [value3].flat().map((v2) => { + var _a; + return (_a = rules.map((r) => r.resolve(v2)).find((rr) => rr.matched)) != null ? _a : this.rules.custom.resolve(v2); + }); + } + }, + _toVariables(theme36, options3) { + return toVariables_default(theme36, { prefix: options3 == null ? void 0 : options3.prefix }); + }, + getCommon({ name = "", theme: theme36 = {}, params, set: set2, defaults: defaults2 }) { + var _e, _f, _g, _h, _i, _j, _k; + const { preset, options: options3 } = theme36; + let primitive_css, primitive_tokens, semantic_css, semantic_tokens, global_css, global_tokens, style; + if (isNotEmpty(preset) && options3.transform !== "strict") { + const { primitive, semantic, extend: extend4 } = preset; + const _a = semantic || {}, { colorScheme } = _a, sRest = __objRest(_a, ["colorScheme"]); + const _b = extend4 || {}, { colorScheme: eColorScheme } = _b, eRest = __objRest(_b, ["colorScheme"]); + const _c = colorScheme || {}, { dark } = _c, csRest = __objRest(_c, ["dark"]); + const _d = eColorScheme || {}, { dark: eDark } = _d, ecsRest = __objRest(_d, ["dark"]); + const prim_var = isNotEmpty(primitive) ? this._toVariables({ primitive }, options3) : {}; + const sRest_var = isNotEmpty(sRest) ? this._toVariables({ semantic: sRest }, options3) : {}; + const csRest_var = isNotEmpty(csRest) ? this._toVariables({ light: csRest }, options3) : {}; + const csDark_var = isNotEmpty(dark) ? this._toVariables({ dark }, options3) : {}; + const eRest_var = isNotEmpty(eRest) ? this._toVariables({ semantic: eRest }, options3) : {}; + const ecsRest_var = isNotEmpty(ecsRest) ? this._toVariables({ light: ecsRest }, options3) : {}; + const ecsDark_var = isNotEmpty(eDark) ? this._toVariables({ dark: eDark }, options3) : {}; + 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(name, prim_css, "light", "variable", options3, set2, defaults2); + primitive_tokens = prim_tokens; + const semantic_light_css = this.transformCSS(name, `${sRest_css}${csRest_css}`, "light", "variable", options3, set2, defaults2); + const semantic_dark_css = this.transformCSS(name, `${csDark_css}`, "dark", "variable", options3, set2, defaults2); + semantic_css = `${semantic_light_css}${semantic_dark_css}`; + semantic_tokens = [.../* @__PURE__ */ new Set([...sRest_tokens, ...csRest_tokens, ...csDark_tokens])]; + const global_light_css = this.transformCSS(name, `${eRest_css}${ecsRest_css}color-scheme:light`, "light", "variable", options3, set2, defaults2); + const global_dark_css = this.transformCSS(name, `${ecsDark_css}color-scheme:dark`, "dark", "variable", options3, set2, defaults2); + global_css = `${global_light_css}${global_dark_css}`; + global_tokens = [.../* @__PURE__ */ new Set([...eRest_tokens, ...ecsRest_tokens, ...ecsDark_tokens])]; + style = resolve(preset.css, { dt }); + } + return { + primitive: { + css: primitive_css, + tokens: primitive_tokens + }, + semantic: { + css: semantic_css, + tokens: semantic_tokens + }, + global: { + css: global_css, + tokens: global_tokens + }, + style + }; + }, + getPreset({ name = "", preset = {}, options: options3, params, set: set2, defaults: defaults2, selector }) { + var _e, _f, _g; + let p_css, p_tokens, p_style; + if (isNotEmpty(preset) && options3.transform !== "strict") { + const _name = name.replace("-directive", ""); + const _a = preset, { colorScheme, extend: extend4, css: css22 } = _a, vRest = __objRest(_a, ["colorScheme", "extend", "css"]); + const _b = extend4 || {}, { colorScheme: eColorScheme } = _b, evRest = __objRest(_b, ["colorScheme"]); + const _c = colorScheme || {}, { dark } = _c, csRest = __objRest(_c, ["dark"]); + const _d = eColorScheme || {}, { dark: ecsDark } = _d, ecsRest = __objRest(_d, ["dark"]); + const vRest_var = isNotEmpty(vRest) ? this._toVariables({ [_name]: __spreadValues(__spreadValues({}, vRest), evRest) }, options3) : {}; + const csRest_var = isNotEmpty(csRest) ? this._toVariables({ [_name]: __spreadValues(__spreadValues({}, csRest), ecsRest) }, options3) : {}; + const csDark_var = isNotEmpty(dark) ? this._toVariables({ [_name]: __spreadValues(__spreadValues({}, dark), ecsDark) }, options3) : {}; + 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", options3, set2, defaults2, selector); + const dark_variable_css = this.transformCSS(_name, csDark_css, "dark", "variable", options3, set2, defaults2, selector); + p_css = `${light_variable_css}${dark_variable_css}`; + p_tokens = [.../* @__PURE__ */ new Set([...vRest_tokens, ...csRest_tokens, ...csDark_tokens])]; + p_style = resolve(css22, { dt }); + } + return { + css: p_css, + tokens: p_tokens, + style: p_style + }; + }, + getPresetC({ name = "", theme: theme36 = {}, params, set: set2, defaults: defaults2 }) { + var _a; + const { preset, options: options3 } = theme36; + const cPreset = (_a = preset == null ? void 0 : preset.components) == null ? void 0 : _a[name]; + return this.getPreset({ name, preset: cPreset, options: options3, params, set: set2, defaults: defaults2 }); + }, + getPresetD({ name = "", theme: theme36 = {}, params, set: set2, defaults: defaults2 }) { + var _a; + const dName = name.replace("-directive", ""); + const { preset, options: options3 } = theme36; + const dPreset = (_a = preset == null ? void 0 : preset.directives) == null ? void 0 : _a[dName]; + return this.getPreset({ name: dName, preset: dPreset, options: options3, params, set: set2, defaults: defaults2 }); + }, + applyDarkColorScheme(options3) { + return !(options3.darkModeSelector === "none" || options3.darkModeSelector === false); + }, + getColorSchemeOption(options3, defaults2) { + var _a; + return this.applyDarkColorScheme(options3) ? this.regex.resolve(options3.darkModeSelector === true ? defaults2.options.darkModeSelector : (_a = options3.darkModeSelector) != null ? _a : defaults2.options.darkModeSelector) : []; + }, + getLayerOrder(name, options3 = {}, params, defaults2) { + const { cssLayer } = options3; + if (cssLayer) { + const order = resolve(cssLayer.order || "primeui", params); + return `@layer ${order}`; + } + return ""; + }, + getCommonStyleSheet({ name = "", theme: theme36 = {}, params, props = {}, set: set2, defaults: defaults2 }) { + const common = this.getCommon({ name, theme: theme36, params, set: set2, defaults: defaults2 }); + const _props = Object.entries(props).reduce((acc, [k, v2]) => acc.push(`${k}="${v2}"`) && acc, []).join(" "); + return Object.entries(common || {}).reduce((acc, [key, value3]) => { + if (value3 == null ? void 0 : value3.css) { + const _css = minifyCSS(value3 == null ? void 0 : value3.css); + const id3 = `${key}-variables`; + acc.push(``); + } + return acc; + }, []).join(""); + }, + getStyleSheet({ name = "", theme: theme36 = {}, params, props = {}, set: set2, defaults: defaults2 }) { + var _a; + const options3 = { name, theme: theme36, params, set: set2, defaults: defaults2 }; + const preset_css = (_a = name.includes("-directive") ? this.getPresetD(options3) : this.getPresetC(options3)) == null ? void 0 : _a.css; + const _props = Object.entries(props).reduce((acc, [k, v2]) => acc.push(`${k}="${v2}"`) && acc, []).join(" "); + return preset_css ? `` : ""; + }, + createTokens(obj = {}, defaults2, parentKey = "", parentPath = "", tokens = {}) { + Object.entries(obj).forEach(([key, value3]) => { + const currentKey = matchRegex(key, defaults2.variable.excludedKeyRegex) ? parentKey : parentKey ? `${parentKey}.${toTokenKey$1(key)}` : toTokenKey$1(key); + const currentPath = parentPath ? `${parentPath}.${key}` : key; + if (isObject$4(value3)) { + this.createTokens(value3, defaults2, currentKey, currentPath, tokens); + } else { + tokens[currentKey] || (tokens[currentKey] = { + paths: [], + computed(colorScheme, tokenPathMap = {}) { + var _a, _b; + if (this.paths.length === 1) { + return (_a = this.paths[0]) == null ? void 0 : _a.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])); + } + }); + tokens[currentKey].paths.push({ + path: currentPath, + value: value3, + scheme: currentPath.includes("colorScheme.light") ? "light" : currentPath.includes("colorScheme.dark") ? "dark" : "none", + computed(colorScheme, tokenPathMap = {}) { + const regex = /{([^}]*)}/g; + let computedValue = value3; + tokenPathMap["name"] = this.path; + tokenPathMap["binding"] || (tokenPathMap["binding"] = {}); + if (matchRegex(value3, regex)) { + const val = value3.trim(); + const _val = val.replaceAll(regex, (v2) => { + var _a; + const path = v2.replace(/{|}/g, ""); + const computed2 = (_a = tokens[path]) == null ? void 0 : _a.computed(colorScheme, tokenPathMap); + return isArray$3(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; + } + isEmpty(tokenPathMap["binding"]) && delete tokenPathMap["binding"]; + return { + colorScheme, + path: this.path, + paths: tokenPathMap, + value: computedValue.includes("undefined") ? void 0 : computedValue + }; + } + }); + } + }); + return tokens; + }, + getTokenValue(tokens, path, defaults2) { + var _a; + const normalizePath = /* @__PURE__ */ __name((str) => { + const strArr = str.split("."); + return strArr.filter((s) => !matchRegex(s.toLowerCase(), defaults2.variable.excludedKeyRegex)).join("."); + }, "normalizePath"); + const token = normalizePath(path); + const colorScheme = path.includes("colorScheme.light") ? "light" : path.includes("colorScheme.dark") ? "dark" : void 0; + const computedValues = [(_a = tokens[token]) == null ? void 0 : _a.computed(colorScheme)].flat().filter((computed2) => computed2); + return computedValues.length === 1 ? computedValues[0].value : computedValues.reduce((acc = {}, computed2) => { + const _a2 = computed2, { colorScheme: cs } = _a2, rest = __objRest(_a2, ["colorScheme"]); + acc[cs] = rest; + return acc; + }, void 0); + }, + getSelectorRule(selector1, selector2, type, css22) { + return type === "class" || type === "attr" ? getRule(isNotEmpty(selector2) ? `${selector1}${selector2},${selector1} ${selector2}` : selector1, css22) : getRule(selector1, isNotEmpty(selector2) ? getRule(selector2, css22) : css22); + }, + transformCSS(name, css22, mode2, type, options3 = {}, set2, defaults2, selector) { + if (isNotEmpty(css22)) { + const { cssLayer } = options3; + if (type !== "style") { + const colorSchemeOption = this.getColorSchemeOption(options3, defaults2); + css22 = mode2 === "dark" ? colorSchemeOption.reduce((acc, { type: type2, selector: _selector }) => { + if (isNotEmpty(_selector)) { + acc += _selector.includes("[CSS]") ? _selector.replace("[CSS]", css22) : this.getSelectorRule(_selector, selector, type2, css22); + } + return acc; + }, "") : getRule(selector != null ? selector : ":root", css22); + } + if (cssLayer) { + const layerOptions = { + name: "primeui", + order: "primeui" + }; + isObject$4(cssLayer) && (layerOptions.name = resolve(cssLayer.name, { name, type })); + if (isNotEmpty(layerOptions.name)) { + css22 = getRule(`@layer ${layerOptions.name}`, css22); + set2 == null ? void 0 : set2.layerNames(layerOptions.name); + } + } + return css22; + } + return ""; + } +}; +var config_default = { + defaults: { + variable: { + prefix: "p", + selector: ":root", + excludedKeyRegex: /^(primitive|semantic|components|directives|variables|colorscheme|light|dark|common|root|states|extend|css)$/gi + }, + options: { + prefix: "p", + darkModeSelector: "system", + cssLayer: false + } + }, + _theme: void 0, + _layerNames: /* @__PURE__ */ new Set(), + _loadedStyleNames: /* @__PURE__ */ new Set(), + _loadingStyles: /* @__PURE__ */ new Set(), + _tokens: {}, + update(newValues = {}) { + const { theme: theme36 } = newValues; + if (theme36) { + this._theme = __spreadProps(__spreadValues({}, theme36), { + options: __spreadValues(__spreadValues({}, this.defaults.options), theme36.options) + }); + this._tokens = themeUtils_default.createTokens(this.preset, this.defaults); + this.clearLoadedStyleNames(); + } + }, + get theme() { + return this._theme; + }, + get preset() { + var _a; + return ((_a = this.theme) == null ? void 0 : _a.preset) || {}; + }, + get options() { + var _a; + return ((_a = this.theme) == null ? void 0 : _a.options) || {}; + }, + get tokens() { + return this._tokens; + }, + getTheme() { + return this.theme; + }, + setTheme(newValue) { + this.update({ theme: newValue }); + service_default.emit("theme:change", newValue); + }, + getPreset() { + return this.preset; + }, + setPreset(newValue) { + this._theme = __spreadProps(__spreadValues({}, this.theme), { preset: newValue }); + this._tokens = themeUtils_default.createTokens(newValue, this.defaults); + this.clearLoadedStyleNames(); + service_default.emit("preset:change", newValue); + service_default.emit("theme:change", this.theme); + }, + getOptions() { + return this.options; + }, + setOptions(newValue) { + this._theme = __spreadProps(__spreadValues({}, this.theme), { options: newValue }); + this.clearLoadedStyleNames(); + service_default.emit("options:change", newValue); + service_default.emit("theme:change", this.theme); + }, + getLayerNames() { + return [...this._layerNames]; + }, + setLayerNames(layerName) { + this._layerNames.add(layerName); + }, + getLoadedStyleNames() { + return this._loadedStyleNames; + }, + isStyleNameLoaded(name) { + return this._loadedStyleNames.has(name); + }, + setLoadedStyleName(name) { + this._loadedStyleNames.add(name); + }, + deleteLoadedStyleName(name) { + this._loadedStyleNames.delete(name); + }, + clearLoadedStyleNames() { + this._loadedStyleNames.clear(); + }, + getTokenValue(tokenPath) { + return themeUtils_default.getTokenValue(this.tokens, tokenPath, this.defaults); + }, + getCommon(name = "", params) { + return themeUtils_default.getCommon({ name, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } }); + }, + getComponent(name = "", params) { + const options3 = { name, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } }; + return themeUtils_default.getPresetC(options3); + }, + getDirective(name = "", params) { + const options3 = { name, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } }; + return themeUtils_default.getPresetD(options3); + }, + getCustomPreset(name = "", preset, selector, params) { + const options3 = { name, preset, options: this.options, selector, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } }; + return themeUtils_default.getPreset(options3); + }, + getLayerOrderCSS(name = "") { + return themeUtils_default.getLayerOrder(name, this.options, { names: this.getLayerNames() }, this.defaults); + }, + transformCSS(name = "", css22, type = "style", mode2) { + return themeUtils_default.transformCSS(name, css22, mode2, type, this.options, { layerNames: this.setLayerNames.bind(this) }, this.defaults); + }, + getCommonStyleSheet(name = "", params, props = {}) { + return themeUtils_default.getCommonStyleSheet({ name, theme: this.theme, params, props, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } }); + }, + getStyleSheet(name, params, props = {}) { + return themeUtils_default.getStyleSheet({ name, theme: this.theme, params, props, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } }); + }, + onStyleMounted(name) { + this._loadingStyles.add(name); + }, + onStyleUpdated(name) { + this._loadingStyles.add(name); + }, + onStyleLoaded(event2, { name }) { + if (this._loadingStyles.size) { + this._loadingStyles.delete(name); + service_default.emit(`theme:${name}:load`, event2); + !this._loadingStyles.size && service_default.emit("theme:load"); + } + } +}; +function updatePreset(...presets) { + const newPreset = mergeKeys(config_default.getPreset(), ...presets); + config_default.setPreset(newPreset); + return newPreset; +} +__name(updatePreset, "updatePreset"); +function updatePrimaryPalette(primary) { + return $t().primaryPalette(primary).update().preset; +} +__name(updatePrimaryPalette, "updatePrimaryPalette"); +function updateSurfacePalette(palette) { + return $t().surfacePalette(palette).update().preset; +} +__name(updateSurfacePalette, "updateSurfacePalette"); +function usePreset(...presets) { + const newPreset = mergeKeys(...presets); + config_default.setPreset(newPreset); + return newPreset; +} +__name(usePreset, "usePreset"); +function useTheme(theme36) { + return $t(theme36).update({ mergePresets: false }); +} +__name(useTheme, "useTheme"); +var Base = { + _loadedStyleNames: /* @__PURE__ */ new Set(), + getLoadedStyleNames: /* @__PURE__ */ __name(function getLoadedStyleNames() { + return this._loadedStyleNames; + }, "getLoadedStyleNames"), + isStyleNameLoaded: /* @__PURE__ */ __name(function isStyleNameLoaded(name) { + return this._loadedStyleNames.has(name); + }, "isStyleNameLoaded"), + setLoadedStyleName: /* @__PURE__ */ __name(function setLoadedStyleName(name) { + this._loadedStyleNames.add(name); + }, "setLoadedStyleName"), + deleteLoadedStyleName: /* @__PURE__ */ __name(function deleteLoadedStyleName(name) { + this._loadedStyleNames["delete"](name); + }, "deleteLoadedStyleName"), + clearLoadedStyleNames: /* @__PURE__ */ __name(function clearLoadedStyleNames() { + this._loadedStyleNames.clear(); + }, "clearLoadedStyleNames") +}; +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$j(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$j, "ownKeys$j"); +function _objectSpread$j(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$j(Object(t), true).forEach(function(r2) { + _defineProperty$j(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$j(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread$j, "_objectSpread$j"); +function _defineProperty$j(e, r, t) { + return (r = _toPropertyKey$j(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$j, "_defineProperty$j"); +function _toPropertyKey$j(t) { + var i2 = _toPrimitive$j(t, "string"); + return "symbol" == _typeof$j(i2) ? i2 : i2 + ""; +} +__name(_toPropertyKey$j, "_toPropertyKey$j"); +function _toPrimitive$j(t, r) { + if ("object" != _typeof$j(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i2 = e.call(t, r || "default"); + if ("object" != _typeof$j(i2)) return i2; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$j, "_toPrimitive$j"); +function tryOnMounted$1(fn) { + var sync = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true; + if (getCurrentInstance()) onMounted(fn); + else if (sync) fn(); + else nextTick(fn); +} +__name(tryOnMounted$1, "tryOnMounted$1"); +var _id$1 = 0; +function useStyle(css3) { + var options3 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + var isLoaded = ref(false); + var cssRef = ref(css3); + var styleRef = ref(null); + var defaultDocument2 = isClient$1() ? window.document : void 0; + var _options$document = options3.document, document2 = _options$document === void 0 ? defaultDocument2 : _options$document, _options$immediate = options3.immediate, immediate = _options$immediate === void 0 ? true : _options$immediate, _options$manual = options3.manual, manual = _options$manual === void 0 ? false : _options$manual, _options$name = options3.name, name = _options$name === void 0 ? "style_".concat(++_id$1) : _options$name, _options$id = options3.id, id3 = _options$id === void 0 ? void 0 : _options$id, _options$media = options3.media, media = _options$media === void 0 ? void 0 : _options$media, _options$nonce = options3.nonce, nonce = _options$nonce === void 0 ? void 0 : _options$nonce, _options$first = options3.first, first = _options$first === void 0 ? false : _options$first, _options$onMounted = options3.onMounted, onStyleMounted = _options$onMounted === void 0 ? void 0 : _options$onMounted, _options$onUpdated = options3.onUpdated, onStyleUpdated = _options$onUpdated === void 0 ? void 0 : _options$onUpdated, _options$onLoad = options3.onLoad, onStyleLoaded = _options$onLoad === void 0 ? void 0 : _options$onLoad, _options$props = options3.props, props = _options$props === void 0 ? {} : _options$props; + var stop2 = /* @__PURE__ */ __name(function stop3() { + }, "stop"); + var load2 = /* @__PURE__ */ __name(function load3(_css) { + var _props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + if (!document2) return; + var _styleProps = _objectSpread$j(_objectSpread$j({}, props), _props); + var _name = _styleProps.name || name, _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) { + cssRef.value = _css || css3; + setAttributes(styleRef.value, { + type: "text/css", + id: _id2, + media, + nonce: _nonce + }); + first ? document2.head.prepend(styleRef.value) : document2.head.appendChild(styleRef.value); + setAttribute(styleRef.value, "data-primevue-style-id", _name); + setAttributes(styleRef.value, _styleProps); + styleRef.value.onload = function(event2) { + return onStyleLoaded === null || onStyleLoaded === void 0 ? void 0 : onStyleLoaded(event2, { + name: _name + }); + }; + onStyleMounted === null || onStyleMounted === void 0 || onStyleMounted(_name); + } + if (isLoaded.value) return; + stop2 = watch(cssRef, function(value3) { + styleRef.value.textContent = value3; + onStyleUpdated === null || onStyleUpdated === void 0 || onStyleUpdated(_name); + }, { + immediate: true + }); + isLoaded.value = true; + }, "load"); + var unload = /* @__PURE__ */ __name(function unload2() { + if (!document2 || !isLoaded.value) return; + stop2(); + isExist(styleRef.value) && document2.head.removeChild(styleRef.value); + isLoaded.value = false; + }, "unload"); + if (immediate && !manual) tryOnMounted$1(load2); + return { + id: id3, + name, + el: styleRef, + css: cssRef, + unload, + load: load2, + isLoaded: readonly(isLoaded) + }; +} +__name(useStyle, "useStyle"); +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 _slicedToArray$4(r, e) { + return _arrayWithHoles$4(r) || _iterableToArrayLimit$4(r, e) || _unsupportedIterableToArray$g(r, e) || _nonIterableRest$4(); +} +__name(_slicedToArray$4, "_slicedToArray$4"); +function _nonIterableRest$4() { + 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$4, "_nonIterableRest$4"); +function _unsupportedIterableToArray$g(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$g(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$g(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$g, "_unsupportedIterableToArray$g"); +function _arrayLikeToArray$g(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$g, "_arrayLikeToArray$g"); +function _iterableToArrayLimit$4(r, l) { + var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (null != t) { + var e, n, i2, u, a = [], f = true, o = false; + try { + if (i2 = (t = t.call(r)).next, 0 === l) ; + else for (; !(f = (e = i2.call(t)).done) && (a.push(e.value), a.length !== l); f = true) ; + } catch (r2) { + o = true, n = r2; + } finally { + try { + if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; + } finally { + if (o) throw n; + } + } + return a; + } +} +__name(_iterableToArrayLimit$4, "_iterableToArrayLimit$4"); +function _arrayWithHoles$4(r) { + if (Array.isArray(r)) return r; +} +__name(_arrayWithHoles$4, "_arrayWithHoles$4"); +function ownKeys$i(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$i, "ownKeys$i"); +function _objectSpread$i(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$i(Object(t), true).forEach(function(r2) { + _defineProperty$i(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$i(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread$i, "_objectSpread$i"); +function _defineProperty$i(e, r, t) { + return (r = _toPropertyKey$i(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$i, "_defineProperty$i"); +function _toPropertyKey$i(t) { + var i2 = _toPrimitive$i(t, "string"); + return "symbol" == _typeof$i(i2) ? i2 : i2 + ""; +} +__name(_toPropertyKey$i, "_toPropertyKey$i"); +function _toPrimitive$i(t, r) { + if ("object" != _typeof$i(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i2 = e.call(t, r || "default"); + if ("object" != _typeof$i(i2)) return i2; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$i, "_toPrimitive$i"); +var theme$x = /* @__PURE__ */ __name(function theme2(_ref) { + var dt2 = _ref.dt; + return "\n* {\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"); +var css$2 = /* @__PURE__ */ __name(function css2(_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$z = {}; +var inlineStyles$4 = {}; +var BaseStyle = { + name: "base", + css: css$2, + theme: theme$x, + classes: classes$z, + inlineStyles: inlineStyles$4, + load: /* @__PURE__ */ __name(function load(style) { + var options3 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + var transform2 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : function(cs) { + return cs; + }; + var computedStyle = transform2(resolve(style, { + dt + })); + return isNotEmpty(computedStyle) ? useStyle(minifyCSS(computedStyle), _objectSpread$i({ + name: this.name + }, options3)) : {}; + }, "load"), + loadCSS: /* @__PURE__ */ __name(function loadCSS() { + var options3 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; + return this.load(this.css, options3); + }, "loadCSS"), + loadTheme: /* @__PURE__ */ __name(function loadTheme() { + var _this = this; + var options3 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; + var style = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ""; + return this.load(this.theme, options3, function() { + var computedStyle = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ""; + return config_default.transformCSS(options3.name || _this.name, "".concat(computedStyle).concat(style)); + }); + }, "loadTheme"), + getCommonTheme: /* @__PURE__ */ __name(function getCommonTheme(params) { + return config_default.getCommon(this.name, params); + }, "getCommonTheme"), + getComponentTheme: /* @__PURE__ */ __name(function getComponentTheme(params) { + return config_default.getComponent(this.name, params); + }, "getComponentTheme"), + getDirectiveTheme: /* @__PURE__ */ __name(function getDirectiveTheme(params) { + return config_default.getDirective(this.name, params); + }, "getDirectiveTheme"), + getPresetTheme: /* @__PURE__ */ __name(function getPresetTheme(preset, selector, params) { + return config_default.getCustomPreset(this.name, preset, selector, params); + }, "getPresetTheme"), + getLayerOrderThemeCSS: /* @__PURE__ */ __name(function getLayerOrderThemeCSS() { + return config_default.getLayerOrderCSS(this.name); + }, "getLayerOrderThemeCSS"), + getStyleSheet: /* @__PURE__ */ __name(function getStyleSheet() { + var extendedCSS = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ""; + var props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + if (this.css) { + var _css = resolve(this.css, { + dt + }) || ""; + var _style = minifyCSS("".concat(_css).concat(extendedCSS)); + var _props = Object.entries(props).reduce(function(acc, _ref3) { + var _ref4 = _slicedToArray$4(_ref3, 2), k = _ref4[0], v2 = _ref4[1]; + return acc.push("".concat(k, '="').concat(v2, '"')) && acc; + }, []).join(" "); + return isNotEmpty(_style) ? '") : ""; + } + return ""; + }, "getStyleSheet"), + getCommonThemeStyleSheet: /* @__PURE__ */ __name(function getCommonThemeStyleSheet(params) { + var props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + return config_default.getCommonStyleSheet(this.name, params, props); + }, "getCommonThemeStyleSheet"), + getThemeStyleSheet: /* @__PURE__ */ __name(function getThemeStyleSheet(params) { + var props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + var css3 = [config_default.getStyleSheet(this.name, params, props)]; + if (this.theme) { + var name = this.name === "base" ? "global-style" : "".concat(this.name, "-style"); + var _css = resolve(this.theme, { + dt + }); + var _style = minifyCSS(config_default.transformCSS(name, _css)); + var _props = Object.entries(props).reduce(function(acc, _ref5) { + var _ref6 = _slicedToArray$4(_ref5, 2), k = _ref6[0], v2 = _ref6[1]; + return acc.push("".concat(k, '="').concat(v2, '"')) && acc; + }, []).join(" "); + isNotEmpty(_style) && css3.push('")); + } + return css3.join(""); + }, "getThemeStyleSheet"), + extend: /* @__PURE__ */ __name(function extend2(style) { + return _objectSpread$i(_objectSpread$i({}, this), {}, { + css: void 0, + theme: void 0 + }, style); + }, "extend") +}; +var BaseComponentStyle = BaseStyle.extend({ + name: "common" +}); +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 _toArray(r) { + return _arrayWithHoles$3(r) || _iterableToArray$b(r) || _unsupportedIterableToArray$f(r) || _nonIterableRest$3(); +} +__name(_toArray, "_toArray"); +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 _slicedToArray$3(r, e) { + return _arrayWithHoles$3(r) || _iterableToArrayLimit$3(r, e) || _unsupportedIterableToArray$f(r, e) || _nonIterableRest$3(); +} +__name(_slicedToArray$3, "_slicedToArray$3"); +function _nonIterableRest$3() { + 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$3, "_nonIterableRest$3"); +function _unsupportedIterableToArray$f(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$f(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$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$3(r, l) { + var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (null != t) { + var e, n, i2, u, a = [], f = true, o = false; + try { + if (i2 = (t = t.call(r)).next, 0 === l) { + if (Object(t) !== t) return; + f = false; + } else for (; !(f = (e = i2.call(t)).done) && (a.push(e.value), a.length !== l); f = true) ; + } catch (r2) { + o = true, n = r2; + } finally { + try { + if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; + } finally { + if (o) throw n; + } + } + return a; + } +} +__name(_iterableToArrayLimit$3, "_iterableToArrayLimit$3"); +function _arrayWithHoles$3(r) { + if (Array.isArray(r)) return r; +} +__name(_arrayWithHoles$3, "_arrayWithHoles$3"); +function ownKeys$h(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$h, "ownKeys$h"); +function _objectSpread$h(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$h(Object(t), true).forEach(function(r2) { + _defineProperty$h(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$h(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread$h, "_objectSpread$h"); +function _defineProperty$h(e, r, t) { + return (r = _toPropertyKey$h(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$h, "_defineProperty$h"); +function _toPropertyKey$h(t) { + var i2 = _toPrimitive$h(t, "string"); + return "symbol" == _typeof$h(i2) ? i2 : i2 + ""; +} +__name(_toPropertyKey$h, "_toPropertyKey$h"); +function _toPrimitive$h(t, r) { + if ("object" != _typeof$h(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i2 = e.call(t, r || "default"); + if ("object" != _typeof$h(i2)) return i2; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$h, "_toPrimitive$h"); +var script$U = { + name: "BaseComponent", + props: { + pt: { + type: Object, + "default": void 0 + }, + ptOptions: { + type: Object, + "default": void 0 + }, + unstyled: { + type: Boolean, + "default": void 0 + }, + dt: { + type: Object, + "default": void 0 + } + }, + inject: { + $parentInstance: { + "default": void 0 + } + }, + watch: { + isUnstyled: { + immediate: true, + handler: /* @__PURE__ */ __name(function handler2(newValue) { + if (!newValue) { + this._loadCoreStyles(); + this._themeChangeListener(this._loadCoreStyles); + } + }, "handler") + }, + dt: { + immediate: true, + handler: /* @__PURE__ */ __name(function handler3(newValue) { + var _this = this; + if (newValue) { + this._loadScopedThemeStyles(newValue); + this._themeChangeListener(function() { + return _this._loadScopedThemeStyles(newValue); + }); + } else { + this._unloadScopedThemeStyles(); + } + }, "handler") + } + }, + scopedStyleEl: void 0, + rootEl: void 0, + $attrSelector: void 0, + beforeCreate: /* @__PURE__ */ __name(function beforeCreate() { + var _this$pt, _this$pt2, _this$pt3, _ref, _ref$onBeforeCreate, _this$$primevueConfig, _this$$primevue, _this$$primevue2, _this$$primevue3, _ref2, _ref2$onBeforeCreate; + var _usept = (_this$pt = this.pt) === null || _this$pt === void 0 ? void 0 : _this$pt["_usept"]; + var originalValue = _usept ? (_this$pt2 = this.pt) === null || _this$pt2 === void 0 || (_this$pt2 = _this$pt2.originalValue) === null || _this$pt2 === void 0 ? void 0 : _this$pt2[this.$.type.name] : void 0; + var value3 = _usept ? (_this$pt3 = this.pt) === null || _this$pt3 === void 0 || (_this$pt3 = _this$pt3.value) === null || _this$pt3 === void 0 ? void 0 : _this$pt3[this.$.type.name] : this.pt; + (_ref = value3 || originalValue) === null || _ref === void 0 || (_ref = _ref.hooks) === null || _ref === void 0 || (_ref$onBeforeCreate = _ref["onBeforeCreate"]) === null || _ref$onBeforeCreate === void 0 || _ref$onBeforeCreate.call(_ref); + var _useptInConfig = (_this$$primevueConfig = this.$primevueConfig) === null || _this$$primevueConfig === void 0 || (_this$$primevueConfig = _this$$primevueConfig.pt) === null || _this$$primevueConfig === void 0 ? void 0 : _this$$primevueConfig["_usept"]; + var originalValueInConfig = _useptInConfig ? (_this$$primevue = this.$primevue) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.config) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.pt) === null || _this$$primevue === void 0 ? void 0 : _this$$primevue.originalValue : void 0; + var valueInConfig = _useptInConfig ? (_this$$primevue2 = this.$primevue) === null || _this$$primevue2 === void 0 || (_this$$primevue2 = _this$$primevue2.config) === null || _this$$primevue2 === void 0 || (_this$$primevue2 = _this$$primevue2.pt) === null || _this$$primevue2 === void 0 ? void 0 : _this$$primevue2.value : (_this$$primevue3 = this.$primevue) === null || _this$$primevue3 === void 0 || (_this$$primevue3 = _this$$primevue3.config) === null || _this$$primevue3 === void 0 ? void 0 : _this$$primevue3.pt; + (_ref2 = valueInConfig || originalValueInConfig) === null || _ref2 === void 0 || (_ref2 = _ref2[this.$.type.name]) === null || _ref2 === void 0 || (_ref2 = _ref2.hooks) === null || _ref2 === void 0 || (_ref2$onBeforeCreate = _ref2["onBeforeCreate"]) === null || _ref2$onBeforeCreate === void 0 || _ref2$onBeforeCreate.call(_ref2); + this.$attrSelector = uuid("pc"); + }, "beforeCreate"), + created: /* @__PURE__ */ __name(function created() { + this._hook("onCreated"); + }, "created"), + beforeMount: /* @__PURE__ */ __name(function beforeMount() { + this.rootEl = findSingle(this.$el, '[data-pc-name="'.concat(toFlatCase(this.$.type.name), '"]')); + if (this.rootEl) { + this.$attrSelector && !this.rootEl.hasAttribute(this.$attrSelector) && this.rootEl.setAttribute(this.$attrSelector, ""); + this.rootEl.$pc = _objectSpread$h({ + name: this.$.type.name, + attrSelector: this.$attrSelector + }, this.$params); + } + this._loadStyles(); + this._hook("onBeforeMount"); + }, "beforeMount"), + mounted: /* @__PURE__ */ __name(function mounted() { + this._hook("onMounted"); + }, "mounted"), + beforeUpdate: /* @__PURE__ */ __name(function beforeUpdate() { + this._hook("onBeforeUpdate"); + }, "beforeUpdate"), + updated: /* @__PURE__ */ __name(function updated() { + this._hook("onUpdated"); + }, "updated"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount() { + this._hook("onBeforeUnmount"); + }, "beforeUnmount"), + unmounted: /* @__PURE__ */ __name(function unmounted() { + this._unloadScopedThemeStyles(); + this._hook("onUnmounted"); + }, "unmounted"), + methods: { + _hook: /* @__PURE__ */ __name(function _hook(hookName) { + if (!this.$options.hostName) { + var selfHook = this._usePT(this._getPT(this.pt, this.$.type.name), this._getOptionValue, "hooks.".concat(hookName)); + var defaultHook = this._useDefaultPT(this._getOptionValue, "hooks.".concat(hookName)); + selfHook === null || selfHook === void 0 || selfHook(); + defaultHook === null || defaultHook === void 0 || defaultHook(); + } + }, "_hook"), + _mergeProps: /* @__PURE__ */ __name(function _mergeProps(fn) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key2 = 1; _key2 < _len; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + return isFunction$2(fn) ? fn.apply(void 0, args) : mergeProps$1.apply(void 0, args); + }, "_mergeProps"), + _loadStyles: /* @__PURE__ */ __name(function _loadStyles() { + var _this2 = this; + var _load = /* @__PURE__ */ __name(function _load2() { + if (!Base.isStyleNameLoaded("base")) { + BaseStyle.loadCSS(_this2.$styleOptions); + _this2._loadGlobalStyles(); + Base.setLoadedStyleName("base"); + } + _this2._loadThemeStyles(); + }, "_load"); + _load(); + this._themeChangeListener(_load); + }, "_loadStyles"), + _loadCoreStyles: /* @__PURE__ */ __name(function _loadCoreStyles() { + var _this$$style, _this$$style2; + if (!Base.isStyleNameLoaded((_this$$style = this.$style) === null || _this$$style === void 0 ? void 0 : _this$$style.name) && (_this$$style2 = this.$style) !== null && _this$$style2 !== void 0 && _this$$style2.name) { + BaseComponentStyle.loadCSS(this.$styleOptions); + this.$options.style && this.$style.loadCSS(this.$styleOptions); + Base.setLoadedStyleName(this.$style.name); + } + }, "_loadCoreStyles"), + _loadGlobalStyles: /* @__PURE__ */ __name(function _loadGlobalStyles() { + var globalCSS = this._useGlobalPT(this._getOptionValue, "global.css", this.$params); + isNotEmpty(globalCSS) && BaseStyle.load(globalCSS, _objectSpread$h({ + name: "global" + }, this.$styleOptions)); + }, "_loadGlobalStyles"), + _loadThemeStyles: /* @__PURE__ */ __name(function _loadThemeStyles() { + var _this$$style4, _this$$style5; + if (this.isUnstyled || this.$theme === "none") return; + 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, style = _ref3.style; + BaseStyle.load(primitive === null || primitive === void 0 ? void 0 : primitive.css, _objectSpread$h({ + name: "primitive-variables" + }, this.$styleOptions)); + BaseStyle.load(semantic === null || semantic === void 0 ? void 0 : semantic.css, _objectSpread$h({ + name: "semantic-variables" + }, this.$styleOptions)); + BaseStyle.load(global2 === null || global2 === void 0 ? void 0 : global2.css, _objectSpread$h({ + name: "global-variables" + }, this.$styleOptions)); + BaseStyle.loadTheme(_objectSpread$h({ + name: "global-style" + }, this.$styleOptions), style); + config_default.setLoadedStyleName("common"); + } + 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)) || {}, css3 = _ref4.css, _style = _ref4.style; + (_this$$style7 = this.$style) === null || _this$$style7 === void 0 || _this$$style7.load(css3, _objectSpread$h({ + name: "".concat(this.$style.name, "-variables") + }, this.$styleOptions)); + (_this$$style8 = this.$style) === null || _this$$style8 === void 0 || _this$$style8.loadTheme(_objectSpread$h({ + name: "".concat(this.$style.name, "-style") + }, this.$styleOptions), _style); + config_default.setLoadedStyleName(this.$style.name); + } + 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$h({ + name: "layer-order", + first: true + }, this.$styleOptions)); + config_default.setLoadedStyleName("layer-order"); + } + }, "_loadThemeStyles"), + _loadScopedThemeStyles: /* @__PURE__ */ __name(function _loadScopedThemeStyles(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, "]"))) || {}, css3 = _ref5.css; + var scopedStyle = (_this$$style11 = this.$style) === null || _this$$style11 === void 0 ? void 0 : _this$$style11.load(css3, _objectSpread$h({ + name: "".concat(this.$attrSelector, "-").concat(this.$style.name) + }, this.$styleOptions)); + this.scopedStyleEl = scopedStyle.el; + }, "_loadScopedThemeStyles"), + _unloadScopedThemeStyles: /* @__PURE__ */ __name(function _unloadScopedThemeStyles() { + var _this$scopedStyleEl; + (_this$scopedStyleEl = this.scopedStyleEl) === null || _this$scopedStyleEl === void 0 || (_this$scopedStyleEl = _this$scopedStyleEl.value) === null || _this$scopedStyleEl === void 0 || _this$scopedStyleEl.remove(); + }, "_unloadScopedThemeStyles"), + _themeChangeListener: /* @__PURE__ */ __name(function _themeChangeListener() { + var callback = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function() { + }; + Base.clearLoadedStyleNames(); + service_default.on("theme:change", callback); + }, "_themeChangeListener"), + _getHostInstance: /* @__PURE__ */ __name(function _getHostInstance(instance) { + return instance ? this.$options.hostName ? instance.$.type.name === this.$options.hostName ? instance : this._getHostInstance(instance.$parentInstance) : instance.$parentInstance : void 0; + }, "_getHostInstance"), + _getPropValue: /* @__PURE__ */ __name(function _getPropValue(name) { + var _this$_getHostInstanc; + return this[name] || ((_this$_getHostInstanc = this._getHostInstance(this)) === null || _this$_getHostInstanc === void 0 ? void 0 : _this$_getHostInstanc[name]); + }, "_getPropValue"), + _getOptionValue: /* @__PURE__ */ __name(function _getOptionValue(options3) { + var key = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ""; + var params = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; + return getKeyValue(options3, key, params); + }, "_getOptionValue"), + _getPTValue: /* @__PURE__ */ __name(function _getPTValue() { + var _this$$primevueConfig2; + 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] : {}; + var searchInDefaultPT = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : true; + 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$h(_objectSpread$h({}, params), {}, { + global: global2 || {} + })); + var datasets = this._getPTDatasets(key); + return mergeSections || !mergeSections && self2 ? useMergeProps ? this._mergeProps(useMergeProps, global2, self2, datasets) : _objectSpread$h(_objectSpread$h(_objectSpread$h({}, global2), self2), datasets) : _objectSpread$h(_objectSpread$h({}, self2), datasets); + }, "_getPTValue"), + _getPTSelf: /* @__PURE__ */ __name(function _getPTSelf() { + var obj = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; + for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key3 = 1; _key3 < _len2; _key3++) { + args[_key3 - 1] = arguments[_key3]; + } + return mergeProps$1( + this._usePT.apply(this, [this._getPT(obj, this.$name)].concat(args)), + // Exp; 0 && arguments[0] !== void 0 ? arguments[0] : ""; + var datasetPrefix = "data-pc-"; + var isExtended = key === "root" && isNotEmpty((_this$pt4 = this.pt) === null || _this$pt4 === void 0 ? void 0 : _this$pt4["data-pc-section"]); + return key !== "transition" && _objectSpread$h(_objectSpread$h({}, key === "root" && _objectSpread$h(_objectSpread$h(_defineProperty$h({}, "".concat(datasetPrefix, "name"), toFlatCase(isExtended ? (_this$pt5 = this.pt) === null || _this$pt5 === void 0 ? void 0 : _this$pt5["data-pc-section"] : this.$.type.name)), isExtended && _defineProperty$h({}, "".concat(datasetPrefix, "extend"), toFlatCase(this.$.type.name))), isClient$1() && _defineProperty$h({}, "".concat(this.$attrSelector), ""))), {}, _defineProperty$h({}, "".concat(datasetPrefix, "section"), toFlatCase(key))); + }, "_getPTDatasets"), + _getPTClassValue: /* @__PURE__ */ __name(function _getPTClassValue() { + var value3 = this._getOptionValue.apply(this, arguments); + return isString$3(value3) || isArray$3(value3) ? { + "class": value3 + } : value3; + }, "_getPTClassValue"), + _getPT: /* @__PURE__ */ __name(function _getPT(pt) { + var _this3 = this; + var key = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ""; + var callback = arguments.length > 2 ? arguments[2] : void 0; + var getValue2 = /* @__PURE__ */ __name(function getValue3(value3) { + var _ref9; + var checkSameKey = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + var computedValue = callback ? callback(value3) : value3; + var _key = toFlatCase(key); + var _cKey = toFlatCase(_this3.$name); + return (_ref9 = checkSameKey ? _key !== _cKey ? computedValue === null || computedValue === void 0 ? void 0 : computedValue[_key] : void 0 : computedValue === null || computedValue === void 0 ? void 0 : computedValue[_key]) !== null && _ref9 !== void 0 ? _ref9 : computedValue; + }, "getValue"); + return pt !== null && pt !== void 0 && pt.hasOwnProperty("_usept") ? { + _usept: pt["_usept"], + originalValue: getValue2(pt.originalValue), + value: getValue2(pt.value) + } : getValue2(pt, true); + }, "_getPT"), + _usePT: /* @__PURE__ */ __name(function _usePT(pt, callback, key, params) { + var fn = /* @__PURE__ */ __name(function fn2(value4) { + return callback(value4, key, params); + }, "fn"); + if (pt !== null && pt !== void 0 && pt.hasOwnProperty("_usept")) { + var _this$$primevueConfig3; + var _ref10 = pt["_usept"] || ((_this$$primevueConfig3 = this.$primevueConfig) === null || _this$$primevueConfig3 === void 0 ? void 0 : _this$$primevueConfig3.ptOptions) || {}, _ref10$mergeSections = _ref10.mergeSections, mergeSections = _ref10$mergeSections === void 0 ? true : _ref10$mergeSections, _ref10$mergeProps = _ref10.mergeProps, useMergeProps = _ref10$mergeProps === void 0 ? false : _ref10$mergeProps; + var originalValue = fn(pt.originalValue); + var value3 = fn(pt.value); + if (originalValue === void 0 && value3 === void 0) return void 0; + else if (isString$3(value3)) return value3; + else if (isString$3(originalValue)) return originalValue; + return mergeSections || !mergeSections && value3 ? useMergeProps ? this._mergeProps(useMergeProps, originalValue, value3) : _objectSpread$h(_objectSpread$h({}, originalValue), value3) : value3; + } + return fn(pt); + }, "_usePT"), + _useGlobalPT: /* @__PURE__ */ __name(function _useGlobalPT(callback, key, params) { + return this._usePT(this.globalPT, callback, key, params); + }, "_useGlobalPT"), + _useDefaultPT: /* @__PURE__ */ __name(function _useDefaultPT(callback, key, params) { + return this._usePT(this.defaultPT, callback, key, params); + }, "_useDefaultPT"), + ptm: /* @__PURE__ */ __name(function ptm() { + 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$h(_objectSpread$h({}, this.$params), params)); + }, "ptm"), + ptmi: /* @__PURE__ */ __name(function ptmi() { + var key = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ""; + var params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + return mergeProps$1(this.$_attrsWithoutPT, this.ptm(key, params)); + }, "ptmi"), + ptmo: /* @__PURE__ */ __name(function ptmo() { + 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$h({ + instance: this + }, params), false); + }, "ptmo"), + cx: /* @__PURE__ */ __name(function cx() { + 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$h(_objectSpread$h({}, this.$params), params)) : void 0; + }, "cx"), + sx: /* @__PURE__ */ __name(function sx() { + 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$h(_objectSpread$h({}, this.$params), params)); + var base = this._getOptionValue(BaseComponentStyle.inlineStyles, key, _objectSpread$h(_objectSpread$h({}, this.$params), params)); + return [base, self2]; + } + return void 0; + }, "sx") + }, + computed: { + globalPT: /* @__PURE__ */ __name(function globalPT() { + var _this$$primevueConfig4, _this4 = this; + return this._getPT((_this$$primevueConfig4 = this.$primevueConfig) === null || _this$$primevueConfig4 === void 0 ? void 0 : _this$$primevueConfig4.pt, void 0, function(value3) { + return resolve(value3, { + instance: _this4 + }); + }); + }, "globalPT"), + defaultPT: /* @__PURE__ */ __name(function defaultPT() { + 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(value3) { + return _this5._getOptionValue(value3, _this5.$name, _objectSpread$h({}, _this5.$params)) || resolve(value3, _objectSpread$h({}, _this5.$params)); + }); + }, "defaultPT"), + isUnstyled: /* @__PURE__ */ __name(function isUnstyled() { + var _this$$primevueConfig6; + return this.unstyled !== void 0 ? this.unstyled : (_this$$primevueConfig6 = this.$primevueConfig) === null || _this$$primevueConfig6 === void 0 ? void 0 : _this$$primevueConfig6.unstyled; + }, "isUnstyled"), + $theme: /* @__PURE__ */ __name(function $theme() { + var _this$$primevueConfig7; + return (_this$$primevueConfig7 = this.$primevueConfig) === null || _this$$primevueConfig7 === void 0 ? void 0 : _this$$primevueConfig7.theme; + }, "$theme"), + $style: /* @__PURE__ */ __name(function $style() { + return _objectSpread$h(_objectSpread$h({ + classes: void 0, + inlineStyles: void 0, + load: /* @__PURE__ */ __name(function load2() { + }, "load"), + loadCSS: /* @__PURE__ */ __name(function loadCSS2() { + }, "loadCSS"), + loadTheme: /* @__PURE__ */ __name(function loadTheme2() { + }, "loadTheme") + }, (this._getHostInstance(this) || {}).$style), this.$options.style); + }, "$style"), + $styleOptions: /* @__PURE__ */ __name(function $styleOptions() { + var _this$$primevueConfig8; + return { + nonce: (_this$$primevueConfig8 = this.$primevueConfig) === null || _this$$primevueConfig8 === void 0 || (_this$$primevueConfig8 = _this$$primevueConfig8.csp) === null || _this$$primevueConfig8 === void 0 ? void 0 : _this$$primevueConfig8.nonce + }; + }, "$styleOptions"), + $primevueConfig: /* @__PURE__ */ __name(function $primevueConfig() { + var _this$$primevue4; + return (_this$$primevue4 = this.$primevue) === null || _this$$primevue4 === void 0 ? void 0 : _this$$primevue4.config; + }, "$primevueConfig"), + $name: /* @__PURE__ */ __name(function $name() { + return this.$options.hostName || this.$.type.name; + }, "$name"), + $params: /* @__PURE__ */ __name(function $params() { + var parentInstance = this._getHostInstance(this) || this.$parent; + return { + instance: this, + props: this.$props, + state: this.$data, + attrs: this.$attrs, + parent: { + instance: parentInstance, + props: parentInstance === null || parentInstance === void 0 ? void 0 : parentInstance.$props, + state: parentInstance === null || parentInstance === void 0 ? void 0 : parentInstance.$data, + attrs: parentInstance === null || parentInstance === void 0 ? void 0 : parentInstance.$attrs + } + }; + }, "$params"), + $_attrsPT: /* @__PURE__ */ __name(function $_attrsPT() { + return Object.entries(this.$attrs || {}).filter(function(_ref11) { + var _ref12 = _slicedToArray$3(_ref11, 1), key = _ref12[0]; + return key === null || key === void 0 ? void 0 : key.startsWith("pt:"); + }).reduce(function(result, _ref13) { + var _ref14 = _slicedToArray$3(_ref13, 2), key = _ref14[0], value3 = _ref14[1]; + var _key$split = key.split(":"), _key$split2 = _toArray(_key$split), rest = _key$split2.slice(1); + rest === null || rest === void 0 || rest.reduce(function(currentObj, nestedKey, index2, array) { + !currentObj[nestedKey] && (currentObj[nestedKey] = index2 === array.length - 1 ? value3 : {}); + return currentObj[nestedKey]; + }, result); + return result; + }, {}); + }, "$_attrsPT"), + $_attrsWithoutPT: /* @__PURE__ */ __name(function $_attrsWithoutPT() { + return Object.entries(this.$attrs || {}).filter(function(_ref15) { + var _ref16 = _slicedToArray$3(_ref15, 1), key = _ref16[0]; + return !(key !== null && key !== void 0 && key.startsWith("pt:")); + }).reduce(function(acc, _ref17) { + var _ref18 = _slicedToArray$3(_ref17, 2), key = _ref18[0], value3 = _ref18[1]; + acc[key] = value3; + return acc; + }, {}); + }, "$_attrsWithoutPT") + } +}; +var css$1 = "\n.p-icon {\n display: inline-block;\n vertical-align: baseline;\n}\n\n.p-icon-spin {\n -webkit-animation: p-icon-spin 2s infinite linear;\n animation: p-icon-spin 2s infinite linear;\n}\n\n@-webkit-keyframes p-icon-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n@keyframes p-icon-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n"; +var BaseIconStyle = BaseStyle.extend({ + name: "baseicon", + css: css$1 +}); +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$g(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$g, "ownKeys$g"); +function _objectSpread$g(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$g(Object(t), true).forEach(function(r2) { + _defineProperty$g(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$g(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread$g, "_objectSpread$g"); +function _defineProperty$g(e, r, t) { + return (r = _toPropertyKey$g(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$g, "_defineProperty$g"); +function _toPropertyKey$g(t) { + var i2 = _toPrimitive$g(t, "string"); + return "symbol" == _typeof$g(i2) ? i2 : i2 + ""; +} +__name(_toPropertyKey$g, "_toPropertyKey$g"); +function _toPrimitive$g(t, r) { + if ("object" != _typeof$g(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i2 = e.call(t, r || "default"); + if ("object" != _typeof$g(i2)) return i2; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$g, "_toPrimitive$g"); +var script$T = { + name: "BaseIcon", + "extends": script$U, + props: { + label: { + type: String, + "default": void 0 + }, + spin: { + type: Boolean, + "default": false + } + }, + style: BaseIconStyle, + provide: /* @__PURE__ */ __name(function provide2() { + return { + $pcIcon: this, + $parentInstance: this + }; + }, "provide"), + methods: { + pti: /* @__PURE__ */ __name(function pti() { + var isLabelEmpty = isEmpty(this.label); + return _objectSpread$g(_objectSpread$g({}, !this.isUnstyled && { + "class": ["p-icon", { + "p-icon-spin": this.spin + }] + }), {}, { + role: !isLabelEmpty ? "img" : void 0, + "aria-label": !isLabelEmpty ? this.label : void 0, + "aria-hidden": isLabelEmpty + }); + }, "pti") + } +}; +var script$S = { + name: "BlankIcon", + "extends": script$T +}; +function render$R(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("svg", mergeProps$1({ + 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("rect", { + width: "1", + height: "1", + fill: "currentColor", + "fill-opacity": "0" + }, null, -1)]), 16); +} +__name(render$R, "render$R"); +script$S.render = render$R; +var script$R = { + name: "CheckIcon", + "extends": script$T +}; +function render$Q(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("svg", mergeProps$1({ + 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: "M4.86199 11.5948C4.78717 11.5923 4.71366 11.5745 4.64596 11.5426C4.57826 11.5107 4.51779 11.4652 4.46827 11.4091L0.753985 7.69483C0.683167 7.64891 0.623706 7.58751 0.580092 7.51525C0.536478 7.44299 0.509851 7.36177 0.502221 7.27771C0.49459 7.19366 0.506156 7.10897 0.536046 7.03004C0.565935 6.95111 0.613367 6.88 0.674759 6.82208C0.736151 6.76416 0.8099 6.72095 0.890436 6.69571C0.970973 6.67046 1.05619 6.66385 1.13966 6.67635C1.22313 6.68886 1.30266 6.72017 1.37226 6.76792C1.44186 6.81567 1.4997 6.8786 1.54141 6.95197L4.86199 10.2503L12.6397 2.49483C12.7444 2.42694 12.8689 2.39617 12.9932 2.40745C13.1174 2.41873 13.2343 2.47141 13.3251 2.55705C13.4159 2.64268 13.4753 2.75632 13.4938 2.87973C13.5123 3.00315 13.4888 3.1292 13.4271 3.23768L5.2557 11.4091C5.20618 11.4652 5.14571 11.5107 5.07801 11.5426C5.01031 11.5745 4.9368 11.5923 4.86199 11.5948Z", + fill: "currentColor" + }, null, -1)]), 16); +} +__name(render$Q, "render$Q"); +script$R.render = render$Q; +var script$Q = { + name: "SearchIcon", + "extends": script$T +}; +function render$P(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("svg", mergeProps$1({ + 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.67602 11.0265C3.6661 11.688 4.83011 12.0411 6.02086 12.0411C6.81149 12.0411 7.59438 11.8854 8.32483 11.5828C8.87005 11.357 9.37808 11.0526 9.83317 10.6803L12.9769 13.8241C13.0323 13.8801 13.0983 13.9245 13.171 13.9548C13.2438 13.985 13.3219 14.0003 13.4007 14C13.4795 14.0003 13.5575 13.985 13.6303 13.9548C13.7031 13.9245 13.7691 13.8801 13.8244 13.8241C13.9367 13.7116 13.9998 13.5592 13.9998 13.4003C13.9998 13.2414 13.9367 13.089 13.8244 12.9765L10.6807 9.8328C11.053 9.37773 11.3573 8.86972 11.5831 8.32452C11.8857 7.59408 12.0414 6.81119 12.0414 6.02056C12.0414 4.8298 11.6883 3.66579 11.0268 2.67572C10.3652 1.68564 9.42494 0.913972 8.32483 0.45829C7.22472 0.00260857 6.01418 -0.116618 4.84631 0.115686C3.67844 0.34799 2.60568 0.921393 1.76369 1.76338C0.921698 2.60537 0.348296 3.67813 0.115991 4.84601C-0.116313 6.01388 0.00291375 7.22441 0.458595 8.32452C0.914277 9.42464 1.68595 10.3649 2.67602 11.0265ZM3.35565 2.0158C4.14456 1.48867 5.07206 1.20731 6.02086 1.20731C7.29317 1.20731 8.51338 1.71274 9.41304 2.6124C10.3127 3.51206 10.8181 4.73226 10.8181 6.00457C10.8181 6.95337 10.5368 7.88088 10.0096 8.66978C9.48251 9.45868 8.73328 10.0736 7.85669 10.4367C6.98011 10.7997 6.01554 10.8947 5.08496 10.7096C4.15439 10.5245 3.2996 10.0676 2.62869 9.39674C1.95778 8.72583 1.50089 7.87104 1.31579 6.94046C1.13068 6.00989 1.22568 5.04532 1.58878 4.16874C1.95187 3.29215 2.56675 2.54292 3.35565 2.0158Z", + fill: "currentColor" + }, null, -1)]), 16); +} +__name(render$P, "render$P"); +script$Q.render = render$P; +var theme$w = /* @__PURE__ */ __name(function theme3(_ref) { + var dt2 = _ref.dt; + return "\n.p-iconfield {\n position: relative;\n}\n\n.p-inputicon {\n position: absolute;\n top: 50%;\n margin-top: calc(-1 * (".concat(dt2("icon.size"), " / 2));\n color: ").concat(dt2("iconfield.icon.color"), ";\n line-height: 1;\n}\n\n.p-iconfield .p-inputicon:first-child {\n left: ").concat(dt2("form.field.padding.x"), ";\n}\n\n.p-iconfield .p-inputicon:last-child {\n right: ").concat(dt2("form.field.padding.x"), ";\n}\n\n.p-iconfield .p-inputtext:not(:first-child) {\n padding-left: calc((").concat(dt2("form.field.padding.x"), " * 2) + ").concat(dt2("icon.size"), ");\n}\n\n.p-iconfield .p-inputtext:not(:last-child) {\n padding-right: calc((").concat(dt2("form.field.padding.x"), " * 2) + ").concat(dt2("icon.size"), ");\n}\n"); +}, "theme"); +var classes$y = { + root: "p-iconfield" +}; +var IconFieldStyle = BaseStyle.extend({ + name: "iconfield", + theme: theme$w, + classes: classes$y +}); +var script$1$x = { + name: "BaseIconField", + "extends": script$U, + style: IconFieldStyle, + provide: /* @__PURE__ */ __name(function provide3() { + return { + $pcIconField: this, + $parentInstance: this + }; + }, "provide") +}; +var script$P = { + name: "IconField", + "extends": script$1$x, + inheritAttrs: false +}; +function render$O(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps$1({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); +} +__name(render$O, "render$O"); +script$P.render = render$O; +var classes$x = { + root: "p-inputicon" +}; +var InputIconStyle = BaseStyle.extend({ + name: "inputicon", + classes: classes$x +}); +var script$1$w = { + name: "BaseInputIcon", + "extends": script$U, + style: InputIconStyle, + props: { + "class": null + }, + provide: /* @__PURE__ */ __name(function provide4() { + return { + $pcInputIcon: this, + $parentInstance: this + }; + }, "provide") +}; +var script$O = { + name: "InputIcon", + "extends": script$1$w, + inheritAttrs: false, + computed: { + containerClass: /* @__PURE__ */ __name(function containerClass() { + return [this.cx("root"), this["class"]]; + }, "containerClass") + } +}; +function render$N(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("span", mergeProps$1({ + "class": $options.containerClass + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); +} +__name(render$N, "render$N"); +script$O.render = render$N; +var theme$v = /* @__PURE__ */ __name(function theme4(_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: ").concat(dt2("inputtext.padding.y"), " ").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 border-color: ").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-sm {\n font-size: ").concat(dt2("inputtext.sm.font.size"), ";\n padding: ").concat(dt2("inputtext.sm.padding.y"), " ").concat(dt2("inputtext.sm.padding.x"), ";\n}\n\n.p-inputtext-lg {\n font-size: ").concat(dt2("inputtext.lg.font.size"), ";\n padding: ").concat(dt2("inputtext.lg.padding.y"), " ").concat(dt2("inputtext.lg.padding.x"), ";\n}\n\n.p-inputtext-fluid {\n width: 100%;\n}\n"); +}, "theme"); +var classes$w = { + root: /* @__PURE__ */ __name(function root(_ref2) { + var instance = _ref2.instance, props = _ref2.props; + return ["p-inputtext p-component", { + "p-filled": instance.filled, + "p-inputtext-sm": props.size === "small", + "p-inputtext-lg": props.size === "large", + "p-invalid": props.invalid, + "p-variant-filled": props.variant ? props.variant === "filled" : instance.$primevue.config.inputStyle === "filled" || instance.$primevue.config.inputVariant === "filled", + "p-inputtext-fluid": instance.hasFluid + }]; + }, "root") +}; +var InputTextStyle = BaseStyle.extend({ + name: "inputtext", + theme: theme$v, + classes: classes$w +}); +var script$1$v = { + name: "BaseInputText", + "extends": script$U, + props: { + modelValue: null, + size: { + type: String, + "default": null + }, + invalid: { + type: Boolean, + "default": false + }, + variant: { + type: String, + "default": null + }, + fluid: { + type: Boolean, + "default": null + } + }, + style: InputTextStyle, + provide: /* @__PURE__ */ __name(function provide5() { + return { + $pcInputText: this, + $parentInstance: this + }; + }, "provide") +}; +var script$N = { + name: "InputText", + "extends": script$1$v, + inheritAttrs: false, + emits: ["update:modelValue"], + inject: { + $pcFluid: { + "default": null + } + }, + methods: { + getPTOptions: /* @__PURE__ */ __name(function getPTOptions(key) { + var _ptm = key === "root" ? this.ptmi : this.ptm; + return _ptm(key, { + context: { + filled: this.filled, + disabled: this.$attrs.disabled || this.$attrs.disabled === "" + } + }); + }, "getPTOptions"), + onInput: /* @__PURE__ */ __name(function onInput(event2) { + this.$emit("update:modelValue", event2.target.value); + }, "onInput") + }, + computed: { + filled: /* @__PURE__ */ __name(function filled() { + return this.modelValue != null && this.modelValue.toString().length > 0; + }, "filled"), + hasFluid: /* @__PURE__ */ __name(function hasFluid() { + return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid; + }, "hasFluid") + } +}; +var _hoisted_1$R = ["value", "aria-invalid"]; +function render$M(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("input", mergeProps$1({ + type: "text", + "class": _ctx.cx("root"), + value: _ctx.modelValue, + "aria-invalid": _ctx.invalid || void 0, + onInput: _cache[0] || (_cache[0] = function() { + return $options.onInput && $options.onInput.apply($options, arguments); + }) + }, $options.getPTOptions("root")), null, 16, _hoisted_1$R); +} +__name(render$M, "render$M"); +script$N.render = render$M; +var PrimeVueService = EventBus(); +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"); +function _slicedToArray$2(r, e) { + return _arrayWithHoles$2(r) || _iterableToArrayLimit$2(r, e) || _unsupportedIterableToArray$e(r, e) || _nonIterableRest$2(); +} +__name(_slicedToArray$2, "_slicedToArray$2"); +function _nonIterableRest$2() { + 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$2, "_nonIterableRest$2"); +function _unsupportedIterableToArray$e(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$e(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$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"); +function _iterableToArrayLimit$2(r, l) { + var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (null != t) { + var e, n, i2, u, a = [], f = true, o = false; + try { + if (i2 = (t = t.call(r)).next, 0 === l) ; + else for (; !(f = (e = i2.call(t)).done) && (a.push(e.value), a.length !== l); f = true) ; + } catch (r2) { + o = true, n = r2; + } finally { + try { + if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; + } finally { + if (o) throw n; + } + } + return a; + } +} +__name(_iterableToArrayLimit$2, "_iterableToArrayLimit$2"); +function _arrayWithHoles$2(r) { + if (Array.isArray(r)) return r; +} +__name(_arrayWithHoles$2, "_arrayWithHoles$2"); +function ownKeys$f(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$f, "ownKeys$f"); +function _objectSpread$f(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$f(Object(t), true).forEach(function(r2) { + _defineProperty$f(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$f(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread$f, "_objectSpread$f"); +function _defineProperty$f(e, r, t) { + return (r = _toPropertyKey$f(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$f, "_defineProperty$f"); +function _toPropertyKey$f(t) { + var i2 = _toPrimitive$f(t, "string"); + return "symbol" == _typeof$f(i2) ? i2 : i2 + ""; +} +__name(_toPropertyKey$f, "_toPropertyKey$f"); +function _toPrimitive$f(t, r) { + if ("object" != _typeof$f(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i2 = e.call(t, r || "default"); + if ("object" != _typeof$f(i2)) return i2; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$f, "_toPrimitive$f"); +var BaseDirective = { + _getMeta: /* @__PURE__ */ __name(function _getMeta() { + return [isObject$4(arguments.length <= 0 ? void 0 : arguments[0]) ? void 0 : arguments.length <= 0 ? void 0 : arguments[0], resolve(isObject$4(arguments.length <= 0 ? void 0 : arguments[0]) ? arguments.length <= 0 ? void 0 : arguments[0] : arguments.length <= 1 ? void 0 : arguments[1])]; + }, "_getMeta"), + _getConfig: /* @__PURE__ */ __name(function _getConfig(binding, vnode) { + var _ref, _binding$instance, _vnode$ctx; + return (_ref = (binding === null || binding === void 0 || (_binding$instance = binding.instance) === null || _binding$instance === void 0 ? void 0 : _binding$instance.$primevue) || (vnode === null || vnode === void 0 || (_vnode$ctx = vnode.ctx) === null || _vnode$ctx === void 0 || (_vnode$ctx = _vnode$ctx.appContext) === null || _vnode$ctx === void 0 || (_vnode$ctx = _vnode$ctx.config) === null || _vnode$ctx === void 0 || (_vnode$ctx = _vnode$ctx.globalProperties) === null || _vnode$ctx === void 0 ? void 0 : _vnode$ctx.$primevue)) === null || _ref === void 0 ? void 0 : _ref.config; + }, "_getConfig"), + _getOptionValue: getKeyValue, + _getPTValue: /* @__PURE__ */ __name(function _getPTValue2() { + var _instance$binding, _instance$$primevueCo; + var instance = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; + var obj = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + var key = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : ""; + var params = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {}; + var searchInDefaultPT = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : true; + var getValue2 = /* @__PURE__ */ __name(function getValue3() { + var value3 = BaseDirective._getOptionValue.apply(BaseDirective, arguments); + return isString$3(value3) || isArray$3(value3) ? { + "class": value3 + } : value3; + }, "getValue"); + var _ref2 = ((_instance$binding = instance.binding) === null || _instance$binding === void 0 || (_instance$binding = _instance$binding.value) === null || _instance$binding === void 0 ? void 0 : _instance$binding.ptOptions) || ((_instance$$primevueCo = instance.$primevueConfig) === null || _instance$$primevueCo === void 0 ? void 0 : _instance$$primevueCo.ptOptions) || {}, _ref2$mergeSections = _ref2.mergeSections, mergeSections = _ref2$mergeSections === void 0 ? true : _ref2$mergeSections, _ref2$mergeProps = _ref2.mergeProps, useMergeProps = _ref2$mergeProps === void 0 ? false : _ref2$mergeProps; + var global2 = searchInDefaultPT ? BaseDirective._useDefaultPT(instance, instance.defaultPT(), getValue2, key, params) : void 0; + var self2 = BaseDirective._usePT(instance, BaseDirective._getPT(obj, instance.$name), getValue2, key, _objectSpread$f(_objectSpread$f({}, params), {}, { + global: global2 || {} + })); + var datasets = BaseDirective._getPTDatasets(instance, key); + return mergeSections || !mergeSections && self2 ? useMergeProps ? BaseDirective._mergeProps(instance, useMergeProps, global2, self2, datasets) : _objectSpread$f(_objectSpread$f(_objectSpread$f({}, global2), self2), datasets) : _objectSpread$f(_objectSpread$f({}, self2), datasets); + }, "_getPTValue"), + _getPTDatasets: /* @__PURE__ */ __name(function _getPTDatasets2() { + var instance = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; + var key = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ""; + var datasetPrefix = "data-pc-"; + return _objectSpread$f(_objectSpread$f({}, key === "root" && _defineProperty$f({}, "".concat(datasetPrefix, "name"), toFlatCase(instance.$name))), {}, _defineProperty$f({}, "".concat(datasetPrefix, "section"), toFlatCase(key))); + }, "_getPTDatasets"), + _getPT: /* @__PURE__ */ __name(function _getPT2(pt) { + var key = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ""; + var callback = arguments.length > 2 ? arguments[2] : void 0; + var getValue2 = /* @__PURE__ */ __name(function getValue3(value3) { + var _computedValue$_key; + var computedValue = callback ? callback(value3) : value3; + var _key = toFlatCase(key); + return (_computedValue$_key = computedValue === null || computedValue === void 0 ? void 0 : computedValue[_key]) !== null && _computedValue$_key !== void 0 ? _computedValue$_key : computedValue; + }, "getValue"); + return pt !== null && pt !== void 0 && pt.hasOwnProperty("_usept") ? { + _usept: pt["_usept"], + originalValue: getValue2(pt.originalValue), + value: getValue2(pt.value) + } : getValue2(pt); + }, "_getPT"), + _usePT: /* @__PURE__ */ __name(function _usePT2() { + var instance = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; + var pt = arguments.length > 1 ? arguments[1] : void 0; + var callback = arguments.length > 2 ? arguments[2] : void 0; + var key = arguments.length > 3 ? arguments[3] : void 0; + var params = arguments.length > 4 ? arguments[4] : void 0; + var fn = /* @__PURE__ */ __name(function fn2(value4) { + return callback(value4, key, params); + }, "fn"); + if (pt !== null && pt !== void 0 && pt.hasOwnProperty("_usept")) { + var _instance$$primevueCo2; + var _ref4 = pt["_usept"] || ((_instance$$primevueCo2 = instance.$primevueConfig) === null || _instance$$primevueCo2 === void 0 ? void 0 : _instance$$primevueCo2.ptOptions) || {}, _ref4$mergeSections = _ref4.mergeSections, mergeSections = _ref4$mergeSections === void 0 ? true : _ref4$mergeSections, _ref4$mergeProps = _ref4.mergeProps, useMergeProps = _ref4$mergeProps === void 0 ? false : _ref4$mergeProps; + var originalValue = fn(pt.originalValue); + var value3 = fn(pt.value); + if (originalValue === void 0 && value3 === void 0) return void 0; + else if (isString$3(value3)) return value3; + else if (isString$3(originalValue)) return originalValue; + return mergeSections || !mergeSections && value3 ? useMergeProps ? BaseDirective._mergeProps(instance, useMergeProps, originalValue, value3) : _objectSpread$f(_objectSpread$f({}, originalValue), value3) : value3; + } + return fn(pt); + }, "_usePT"), + _useDefaultPT: /* @__PURE__ */ __name(function _useDefaultPT2() { + var instance = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; + var defaultPT2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + var callback = arguments.length > 2 ? arguments[2] : void 0; + var key = arguments.length > 3 ? arguments[3] : void 0; + var params = arguments.length > 4 ? arguments[4] : void 0; + return BaseDirective._usePT(instance, defaultPT2, callback, key, params); + }, "_useDefaultPT"), + _loadStyles: /* @__PURE__ */ __name(function _loadStyles2(el, binding, vnode) { + var _config$csp; + var config2 = BaseDirective._getConfig(binding, vnode); + var useStyleOptions = { + nonce: config2 === null || config2 === void 0 || (_config$csp = config2.csp) === null || _config$csp === void 0 ? void 0 : _config$csp.nonce + }; + BaseDirective._loadCoreStyles(el.$instance, useStyleOptions); + BaseDirective._loadThemeStyles(el.$instance, useStyleOptions); + BaseDirective._loadScopedThemeStyles(el.$instance, useStyleOptions); + BaseDirective._themeChangeListener(function() { + return BaseDirective._loadThemeStyles(el.$instance, useStyleOptions); + }); + }, "_loadStyles"), + _loadCoreStyles: /* @__PURE__ */ __name(function _loadCoreStyles2() { + var _instance$$style, _instance$$style2; + var instance = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; + var useStyleOptions = arguments.length > 1 ? arguments[1] : void 0; + if (!Base.isStyleNameLoaded((_instance$$style = instance.$style) === null || _instance$$style === void 0 ? void 0 : _instance$$style.name) && (_instance$$style2 = instance.$style) !== null && _instance$$style2 !== void 0 && _instance$$style2.name) { + var _instance$$style3; + BaseStyle.loadCSS(useStyleOptions); + (_instance$$style3 = instance.$style) === null || _instance$$style3 === void 0 || _instance$$style3.loadCSS(useStyleOptions); + Base.setLoadedStyleName(instance.$style.name); + } + }, "_loadCoreStyles"), + _loadThemeStyles: /* @__PURE__ */ __name(function _loadThemeStyles2() { + var _instance$theme, _instance$$style5, _instance$$style6; + var instance = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; + var useStyleOptions = arguments.length > 1 ? arguments[1] : void 0; + if (instance !== null && instance !== void 0 && instance.isUnstyled() || (instance === null || instance === void 0 || (_instance$theme = instance.theme) === null || _instance$theme === void 0 ? void 0 : _instance$theme.call(instance)) === "none") return; + if (!config_default.isStyleNameLoaded("common")) { + var _instance$$style4, _instance$$style4$get; + var _ref5 = ((_instance$$style4 = instance.$style) === null || _instance$$style4 === void 0 || (_instance$$style4$get = _instance$$style4.getCommonTheme) === null || _instance$$style4$get === void 0 ? void 0 : _instance$$style4$get.call(_instance$$style4)) || {}, primitive = _ref5.primitive, semantic = _ref5.semantic, global2 = _ref5.global, style = _ref5.style; + BaseStyle.load(primitive === null || primitive === void 0 ? void 0 : primitive.css, _objectSpread$f({ + name: "primitive-variables" + }, useStyleOptions)); + BaseStyle.load(semantic === null || semantic === void 0 ? void 0 : semantic.css, _objectSpread$f({ + name: "semantic-variables" + }, useStyleOptions)); + BaseStyle.load(global2 === null || global2 === void 0 ? void 0 : global2.css, _objectSpread$f({ + name: "global-variables" + }, useStyleOptions)); + BaseStyle.loadTheme(_objectSpread$f({ + name: "global-style" + }, useStyleOptions), style); + config_default.setLoadedStyleName("common"); + } + if (!config_default.isStyleNameLoaded((_instance$$style5 = instance.$style) === null || _instance$$style5 === void 0 ? void 0 : _instance$$style5.name) && (_instance$$style6 = instance.$style) !== null && _instance$$style6 !== void 0 && _instance$$style6.name) { + var _instance$$style7, _instance$$style7$get, _instance$$style8, _instance$$style9; + var _ref6 = ((_instance$$style7 = instance.$style) === null || _instance$$style7 === void 0 || (_instance$$style7$get = _instance$$style7.getDirectiveTheme) === null || _instance$$style7$get === void 0 ? void 0 : _instance$$style7$get.call(_instance$$style7)) || {}, css3 = _ref6.css, _style = _ref6.style; + (_instance$$style8 = instance.$style) === null || _instance$$style8 === void 0 || _instance$$style8.load(css3, _objectSpread$f({ + name: "".concat(instance.$style.name, "-variables") + }, useStyleOptions)); + (_instance$$style9 = instance.$style) === null || _instance$$style9 === void 0 || _instance$$style9.loadTheme(_objectSpread$f({ + name: "".concat(instance.$style.name, "-style") + }, useStyleOptions), _style); + config_default.setLoadedStyleName(instance.$style.name); + } + if (!config_default.isStyleNameLoaded("layer-order")) { + var _instance$$style10, _instance$$style10$ge; + var layerOrder = (_instance$$style10 = instance.$style) === null || _instance$$style10 === void 0 || (_instance$$style10$ge = _instance$$style10.getLayerOrderThemeCSS) === null || _instance$$style10$ge === void 0 ? void 0 : _instance$$style10$ge.call(_instance$$style10); + BaseStyle.load(layerOrder, _objectSpread$f({ + name: "layer-order", + first: true + }, useStyleOptions)); + config_default.setLoadedStyleName("layer-order"); + } + }, "_loadThemeStyles"), + _loadScopedThemeStyles: /* @__PURE__ */ __name(function _loadScopedThemeStyles2() { + var instance = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; + var useStyleOptions = arguments.length > 1 ? arguments[1] : void 0; + var preset = instance.preset(); + if (preset && instance.$attrSelector) { + var _instance$$style11, _instance$$style11$ge, _instance$$style12; + var _ref7 = ((_instance$$style11 = instance.$style) === null || _instance$$style11 === void 0 || (_instance$$style11$ge = _instance$$style11.getPresetTheme) === null || _instance$$style11$ge === void 0 ? void 0 : _instance$$style11$ge.call(_instance$$style11, preset, "[".concat(instance.$attrSelector, "]"))) || {}, css3 = _ref7.css; + var scopedStyle = (_instance$$style12 = instance.$style) === null || _instance$$style12 === void 0 ? void 0 : _instance$$style12.load(css3, _objectSpread$f({ + name: "".concat(instance.$attrSelector, "-").concat(instance.$style.name) + }, useStyleOptions)); + instance.scopedStyleEl = scopedStyle.el; + } + }, "_loadScopedThemeStyles"), + _themeChangeListener: /* @__PURE__ */ __name(function _themeChangeListener2() { + var callback = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function() { + }; + Base.clearLoadedStyleNames(); + service_default.on("theme:change", callback); + }, "_themeChangeListener"), + _hook: /* @__PURE__ */ __name(function _hook2(directiveName, hookName, el, binding, vnode, prevVnode) { + var _binding$value, _config$pt; + var name = "on".concat(toCapitalCase(hookName)); + var config2 = BaseDirective._getConfig(binding, vnode); + var instance = el === null || el === void 0 ? void 0 : el.$instance; + var selfHook = BaseDirective._usePT(instance, BaseDirective._getPT(binding === null || binding === void 0 || (_binding$value = binding.value) === null || _binding$value === void 0 ? void 0 : _binding$value.pt, directiveName), BaseDirective._getOptionValue, "hooks.".concat(name)); + var defaultHook = BaseDirective._useDefaultPT(instance, config2 === null || config2 === void 0 || (_config$pt = config2.pt) === null || _config$pt === void 0 || (_config$pt = _config$pt.directives) === null || _config$pt === void 0 ? void 0 : _config$pt[directiveName], BaseDirective._getOptionValue, "hooks.".concat(name)); + var options3 = { + el, + binding, + vnode, + prevVnode + }; + selfHook === null || selfHook === void 0 || selfHook(instance, options3); + defaultHook === null || defaultHook === void 0 || defaultHook(instance, options3); + }, "_hook"), + _mergeProps: /* @__PURE__ */ __name(function _mergeProps2() { + var fn = arguments.length > 1 ? arguments[1] : void 0; + for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key2 = 2; _key2 < _len; _key2++) { + args[_key2 - 2] = arguments[_key2]; + } + return isFunction$2(fn) ? fn.apply(void 0, args) : mergeProps$1.apply(void 0, args); + }, "_mergeProps"), + _extend: /* @__PURE__ */ __name(function _extend(name) { + var options3 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + var handleHook = /* @__PURE__ */ __name(function handleHook2(hook, el, binding, vnode, prevVnode) { + var _el$$pd, _el$$instance$hook, _el$$instance9, _el$$pd2; + el._$instances = el._$instances || {}; + var config2 = BaseDirective._getConfig(binding, vnode); + var $prevInstance = el._$instances[name] || {}; + var $options = isEmpty($prevInstance) ? _objectSpread$f(_objectSpread$f({}, options3), options3 === null || options3 === void 0 ? void 0 : options3.methods) : {}; + el._$instances[name] = _objectSpread$f(_objectSpread$f({}, $prevInstance), {}, { + /* new instance variables to pass in directive methods */ + $name: name, + $host: el, + $binding: binding, + $modifiers: binding === null || binding === void 0 ? void 0 : binding.modifiers, + $value: binding === null || binding === void 0 ? void 0 : binding.value, + $el: $prevInstance["$el"] || el || void 0, + $style: _objectSpread$f({ + classes: void 0, + inlineStyles: void 0, + load: /* @__PURE__ */ __name(function load2() { + }, "load"), + loadCSS: /* @__PURE__ */ __name(function loadCSS2() { + }, "loadCSS"), + loadTheme: /* @__PURE__ */ __name(function loadTheme2() { + }, "loadTheme") + }, options3 === null || options3 === void 0 ? void 0 : options3.style), + $primevueConfig: config2, + $attrSelector: (_el$$pd = el.$pd) === null || _el$$pd === void 0 || (_el$$pd = _el$$pd[name]) === null || _el$$pd === void 0 ? void 0 : _el$$pd.attrSelector, + /* computed instance variables */ + defaultPT: /* @__PURE__ */ __name(function defaultPT2() { + return BaseDirective._getPT(config2 === null || config2 === void 0 ? void 0 : config2.pt, void 0, function(value3) { + var _value$directives; + return value3 === null || value3 === void 0 || (_value$directives = value3.directives) === null || _value$directives === void 0 ? void 0 : _value$directives[name]; + }); + }, "defaultPT"), + isUnstyled: /* @__PURE__ */ __name(function isUnstyled2() { + var _el$$instance, _el$$instance2; + return ((_el$$instance = el.$instance) === null || _el$$instance === void 0 || (_el$$instance = _el$$instance.$binding) === null || _el$$instance === void 0 || (_el$$instance = _el$$instance.value) === null || _el$$instance === void 0 ? void 0 : _el$$instance.unstyled) !== void 0 ? (_el$$instance2 = el.$instance) === null || _el$$instance2 === void 0 || (_el$$instance2 = _el$$instance2.$binding) === null || _el$$instance2 === void 0 || (_el$$instance2 = _el$$instance2.value) === null || _el$$instance2 === void 0 ? void 0 : _el$$instance2.unstyled : config2 === null || config2 === void 0 ? void 0 : config2.unstyled; + }, "isUnstyled"), + theme: /* @__PURE__ */ __name(function theme36() { + var _el$$instance3; + return (_el$$instance3 = el.$instance) === null || _el$$instance3 === void 0 || (_el$$instance3 = _el$$instance3.$primevueConfig) === null || _el$$instance3 === void 0 ? void 0 : _el$$instance3.theme; + }, "theme"), + preset: /* @__PURE__ */ __name(function preset() { + var _el$$instance4; + return (_el$$instance4 = el.$instance) === null || _el$$instance4 === void 0 || (_el$$instance4 = _el$$instance4.$binding) === null || _el$$instance4 === void 0 || (_el$$instance4 = _el$$instance4.value) === null || _el$$instance4 === void 0 ? void 0 : _el$$instance4.dt; + }, "preset"), + /* instance's methods */ + ptm: /* @__PURE__ */ __name(function ptm2() { + var _el$$instance5; + var key = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ""; + var params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + return BaseDirective._getPTValue(el.$instance, (_el$$instance5 = el.$instance) === null || _el$$instance5 === void 0 || (_el$$instance5 = _el$$instance5.$binding) === null || _el$$instance5 === void 0 || (_el$$instance5 = _el$$instance5.value) === null || _el$$instance5 === void 0 ? void 0 : _el$$instance5.pt, key, _objectSpread$f({}, params)); + }, "ptm"), + ptmo: /* @__PURE__ */ __name(function ptmo2() { + 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 BaseDirective._getPTValue(el.$instance, obj, key, params, false); + }, "ptmo"), + cx: /* @__PURE__ */ __name(function cx2() { + var _el$$instance6, _el$$instance7; + var key = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ""; + var params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + return !((_el$$instance6 = el.$instance) !== null && _el$$instance6 !== void 0 && _el$$instance6.isUnstyled()) ? BaseDirective._getOptionValue((_el$$instance7 = el.$instance) === null || _el$$instance7 === void 0 || (_el$$instance7 = _el$$instance7.$style) === null || _el$$instance7 === void 0 ? void 0 : _el$$instance7.classes, key, _objectSpread$f({}, params)) : void 0; + }, "cx"), + sx: /* @__PURE__ */ __name(function sx2() { + var _el$$instance8; + 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] : {}; + return when ? BaseDirective._getOptionValue((_el$$instance8 = el.$instance) === null || _el$$instance8 === void 0 || (_el$$instance8 = _el$$instance8.$style) === null || _el$$instance8 === void 0 ? void 0 : _el$$instance8.inlineStyles, key, _objectSpread$f({}, params)) : void 0; + }, "sx") + }, $options); + el.$instance = el._$instances[name]; + (_el$$instance$hook = (_el$$instance9 = el.$instance)[hook]) === null || _el$$instance$hook === void 0 || _el$$instance$hook.call(_el$$instance9, el, binding, vnode, prevVnode); + el["$".concat(name)] = el.$instance; + BaseDirective._hook(name, hook, el, binding, vnode, prevVnode); + el.$pd || (el.$pd = {}); + el.$pd[name] = _objectSpread$f(_objectSpread$f({}, (_el$$pd2 = el.$pd) === null || _el$$pd2 === void 0 ? void 0 : _el$$pd2[name]), {}, { + name, + instance: el.$instance + }); + }, "handleHook"); + var handleWatch = /* @__PURE__ */ __name(function handleWatch2(el) { + var _el$$instance10, _watchers$config, _el$$instance11, _watchers$configRipp, _el$$instance12; + var watchers = (_el$$instance10 = el.$instance) === null || _el$$instance10 === void 0 ? void 0 : _el$$instance10.watch; + 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 newValue = _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, newValue, 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 newValue = _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, newValue, oldValue); + }); + }, "handleWatch"); + return { + created: /* @__PURE__ */ __name(function created3(el, binding, vnode, prevVnode) { + el.$pd || (el.$pd = {}); + el.$pd[name] = { + name, + attrSelector: uuid("pd") + }; + handleHook("created", el, binding, vnode, prevVnode); + }, "created"), + beforeMount: /* @__PURE__ */ __name(function beforeMount4(el, binding, vnode, prevVnode) { + BaseDirective._loadStyles(el, binding, vnode); + handleHook("beforeMount", el, binding, vnode, prevVnode); + handleWatch(el); + }, "beforeMount"), + mounted: /* @__PURE__ */ __name(function mounted20(el, binding, vnode, prevVnode) { + BaseDirective._loadStyles(el, binding, vnode); + handleHook("mounted", el, binding, vnode, prevVnode); + }, "mounted"), + beforeUpdate: /* @__PURE__ */ __name(function beforeUpdate2(el, binding, vnode, prevVnode) { + handleHook("beforeUpdate", el, binding, vnode, prevVnode); + }, "beforeUpdate"), + updated: /* @__PURE__ */ __name(function updated12(el, binding, vnode, prevVnode) { + BaseDirective._loadStyles(el, binding, vnode); + handleHook("updated", el, binding, vnode, prevVnode); + }, "updated"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount13(el, binding, vnode, prevVnode) { + handleHook("beforeUnmount", el, binding, vnode, prevVnode); + }, "beforeUnmount"), + unmounted: /* @__PURE__ */ __name(function unmounted6(el, binding, vnode, prevVnode) { + var _el$$instance13; + (_el$$instance13 = el.$instance) === null || _el$$instance13 === void 0 || (_el$$instance13 = _el$$instance13.scopedStyleEl) === null || _el$$instance13 === void 0 || (_el$$instance13 = _el$$instance13.value) === null || _el$$instance13 === void 0 || _el$$instance13.remove(); + handleHook("unmounted", el, binding, vnode, prevVnode); + }, "unmounted") + }; + }, "_extend"), + extend: /* @__PURE__ */ __name(function extend3() { + var _BaseDirective$_getMe = BaseDirective._getMeta.apply(BaseDirective, arguments), _BaseDirective$_getMe2 = _slicedToArray$2(_BaseDirective$_getMe, 2), name = _BaseDirective$_getMe2[0], options3 = _BaseDirective$_getMe2[1]; + return _objectSpread$f({ + extend: /* @__PURE__ */ __name(function extend4() { + var _BaseDirective$_getMe3 = BaseDirective._getMeta.apply(BaseDirective, arguments), _BaseDirective$_getMe4 = _slicedToArray$2(_BaseDirective$_getMe3, 2), _name = _BaseDirective$_getMe4[0], _options = _BaseDirective$_getMe4[1]; + return BaseDirective.extend(_name, _objectSpread$f(_objectSpread$f(_objectSpread$f({}, options3), options3 === null || options3 === void 0 ? void 0 : options3.methods), _options)); + }, "extend") + }, BaseDirective._extend(name, options3)); + }, "extend") +}; +var theme$u = /* @__PURE__ */ __name(function theme5(_ref) { + var dt2 = _ref.dt; + return "\n.p-ink {\n display: block;\n position: absolute;\n background: ".concat(dt2("ripple.background"), ";\n border-radius: 100%;\n transform: scale(0);\n pointer-events: none;\n}\n\n.p-ink-active {\n animation: ripple 0.4s linear;\n}\n\n@keyframes ripple {\n 100% {\n opacity: 0;\n transform: scale(2.5);\n }\n}\n"); +}, "theme"); +var classes$v = { + root: "p-ink" +}; +var RippleStyle = BaseStyle.extend({ + name: "ripple-directive", + theme: theme$u, + classes: classes$v +}); +var BaseRipple = BaseDirective.extend({ + style: RippleStyle +}); +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 _toConsumableArray$a(r) { + return _arrayWithoutHoles$a(r) || _iterableToArray$a(r) || _unsupportedIterableToArray$d(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$d(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$d(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$d(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$d, "_unsupportedIterableToArray$d"); +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$d(r); +} +__name(_arrayWithoutHoles$a, "_arrayWithoutHoles$a"); +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"); +function _defineProperty$e(e, r, t) { + return (r = _toPropertyKey$e(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$e, "_defineProperty$e"); +function _toPropertyKey$e(t) { + var i2 = _toPrimitive$e(t, "string"); + return "symbol" == _typeof$e(i2) ? i2 : i2 + ""; +} +__name(_toPropertyKey$e, "_toPropertyKey$e"); +function _toPrimitive$e(t, r) { + if ("object" != _typeof$e(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i2 = e.call(t, r || "default"); + if ("object" != _typeof$e(i2)) return i2; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$e, "_toPrimitive$e"); +var Ripple = BaseRipple.extend("ripple", { + watch: { + "config.ripple": /* @__PURE__ */ __name(function configRipple(newValue) { + if (newValue) { + this.createRipple(this.$host); + this.bindEvents(this.$host); + this.$host.setAttribute("data-pd-ripple", true); + this.$host.style["overflow"] = "hidden"; + this.$host.style["position"] = "relative"; + } else { + this.remove(this.$host); + this.$host.removeAttribute("data-pd-ripple"); + } + }, "configRipple") + }, + unmounted: /* @__PURE__ */ __name(function unmounted2(el) { + this.remove(el); + }, "unmounted"), + timeout: void 0, + methods: { + bindEvents: /* @__PURE__ */ __name(function bindEvents(el) { + el.addEventListener("mousedown", this.onMouseDown.bind(this)); + }, "bindEvents"), + unbindEvents: /* @__PURE__ */ __name(function unbindEvents(el) { + el.removeEventListener("mousedown", this.onMouseDown.bind(this)); + }, "unbindEvents"), + createRipple: /* @__PURE__ */ __name(function createRipple(el) { + var ink = createElement("span", _defineProperty$e(_defineProperty$e({ + role: "presentation", + "aria-hidden": true, + "data-p-ink": true, + "data-p-ink-active": false, + "class": !this.isUnstyled() && this.cx("root"), + onAnimationEnd: this.onAnimationEnd.bind(this) + }, this.$attrSelector, ""), "p-bind", this.ptm("root"))); + el.appendChild(ink); + this.$el = ink; + }, "createRipple"), + remove: /* @__PURE__ */ __name(function remove2(el) { + var ink = this.getInk(el); + if (ink) { + this.$host.style["overflow"] = ""; + this.$host.style["position"] = ""; + this.unbindEvents(el); + ink.removeEventListener("animationend", this.onAnimationEnd); + ink.remove(); + } + }, "remove"), + onMouseDown: /* @__PURE__ */ __name(function onMouseDown(event2) { + var _this = this; + var target = event2.currentTarget; + var ink = this.getInk(target); + if (!ink || getComputedStyle(ink, null).display === "none") { + return; + } + !this.isUnstyled() && removeClass(ink, "p-ink-active"); + ink.setAttribute("data-p-ink-active", "false"); + if (!getHeight(ink) && !getWidth(ink)) { + var d = Math.max(getOuterWidth(target), getOuterHeight(target)); + ink.style.height = d + "px"; + ink.style.width = d + "px"; + } + var offset = getOffset(target); + var x2 = event2.pageX - offset.left + document.body.scrollTop - getWidth(ink) / 2; + var y2 = event2.pageY - offset.top + document.body.scrollLeft - getHeight(ink) / 2; + ink.style.top = y2 + "px"; + ink.style.left = x2 + "px"; + !this.isUnstyled() && addClass(ink, "p-ink-active"); + ink.setAttribute("data-p-ink-active", "true"); + this.timeout = setTimeout(function() { + if (ink) { + !_this.isUnstyled() && removeClass(ink, "p-ink-active"); + ink.setAttribute("data-p-ink-active", "false"); + } + }, 401); + }, "onMouseDown"), + onAnimationEnd: /* @__PURE__ */ __name(function onAnimationEnd(event2) { + if (this.timeout) { + clearTimeout(this.timeout); + } + !this.isUnstyled() && removeClass(event2.currentTarget, "p-ink-active"); + event2.currentTarget.setAttribute("data-p-ink-active", "false"); + }, "onAnimationEnd"), + getInk: /* @__PURE__ */ __name(function getInk(el) { + return el && el.children ? _toConsumableArray$a(el.children).find(function(child) { + return getAttribute(child, "data-pc-name") === "ripple"; + }) : void 0; + }, "getInk") + } +}); +var script$M = { + name: "SpinnerIcon", + "extends": script$T +}; +function render$L(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("svg", mergeProps$1({ + 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: "M6.99701 14C5.85441 13.999 4.72939 13.7186 3.72012 13.1832C2.71084 12.6478 1.84795 11.8737 1.20673 10.9284C0.565504 9.98305 0.165424 8.89526 0.041387 7.75989C-0.0826496 6.62453 0.073125 5.47607 0.495122 4.4147C0.917119 3.35333 1.59252 2.4113 2.46241 1.67077C3.33229 0.930247 4.37024 0.413729 5.4857 0.166275C6.60117 -0.0811796 7.76026 -0.0520535 8.86188 0.251112C9.9635 0.554278 10.9742 1.12227 11.8057 1.90555C11.915 2.01493 11.9764 2.16319 11.9764 2.31778C11.9764 2.47236 11.915 2.62062 11.8057 2.73C11.7521 2.78503 11.688 2.82877 11.6171 2.85864C11.5463 2.8885 11.4702 2.90389 11.3933 2.90389C11.3165 2.90389 11.2404 2.8885 11.1695 2.85864C11.0987 2.82877 11.0346 2.78503 10.9809 2.73C9.9998 1.81273 8.73246 1.26138 7.39226 1.16876C6.05206 1.07615 4.72086 1.44794 3.62279 2.22152C2.52471 2.99511 1.72683 4.12325 1.36345 5.41602C1.00008 6.70879 1.09342 8.08723 1.62775 9.31926C2.16209 10.5513 3.10478 11.5617 4.29713 12.1803C5.48947 12.7989 6.85865 12.988 8.17414 12.7157C9.48963 12.4435 10.6711 11.7264 11.5196 10.6854C12.3681 9.64432 12.8319 8.34282 12.8328 7C12.8328 6.84529 12.8943 6.69692 13.0038 6.58752C13.1132 6.47812 13.2616 6.41667 13.4164 6.41667C13.5712 6.41667 13.7196 6.47812 13.8291 6.58752C13.9385 6.69692 14 6.84529 14 7C14 8.85651 13.2622 10.637 11.9489 11.9497C10.6356 13.2625 8.85432 14 6.99701 14Z", + fill: "currentColor" + }, null, -1)]), 16); +} +__name(render$L, "render$L"); +script$M.render = render$L; +var theme$t = /* @__PURE__ */ __name(function theme6(_ref) { + var dt2 = _ref.dt; + return "\n.p-virtualscroller-loader {\n background: ".concat(dt2("virtualscroller.loader.mask.background"), ";\n color: ").concat(dt2("virtualscroller.loader.mask.color"), ";\n}\n\n.p-virtualscroller-loading-icon {\n font-size: ").concat(dt2("virtualscroller.loader.icon.size"), ";\n width: ").concat(dt2("virtualscroller.loader.icon.size"), ";\n height: ").concat(dt2("virtualscroller.loader.icon.size"), ";\n}\n"); +}, "theme"); +var css = "\n.p-virtualscroller {\n position: relative;\n overflow: auto;\n contain: strict;\n transform: translateZ(0);\n will-change: scroll-position;\n outline: 0 none;\n}\n\n.p-virtualscroller-content {\n position: absolute;\n top: 0;\n left: 0;\n min-height: 100%;\n min-width: 100%;\n will-change: transform;\n}\n\n.p-virtualscroller-spacer {\n position: absolute;\n top: 0;\n left: 0;\n height: 1px;\n width: 1px;\n transform-origin: 0 0;\n pointer-events: none;\n}\n\n.p-virtualscroller-loader {\n position: sticky;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.p-virtualscroller-loader-mask {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.p-virtualscroller-horizontal > .p-virtualscroller-content {\n display: flex;\n}\n\n.p-virtualscroller-inline .p-virtualscroller-content {\n position: static;\n}\n"; +var VirtualScrollerStyle = BaseStyle.extend({ + name: "virtualscroller", + css, + theme: theme$t +}); +var script$1$u = { + name: "BaseVirtualScroller", + "extends": script$U, + props: { + id: { + type: String, + "default": null + }, + style: null, + "class": null, + items: { + type: Array, + "default": null + }, + itemSize: { + type: [Number, Array], + "default": 0 + }, + scrollHeight: null, + scrollWidth: null, + orientation: { + type: String, + "default": "vertical" + }, + numToleratedItems: { + type: Number, + "default": null + }, + delay: { + type: Number, + "default": 0 + }, + resizeDelay: { + type: Number, + "default": 10 + }, + lazy: { + type: Boolean, + "default": false + }, + disabled: { + type: Boolean, + "default": false + }, + loaderDisabled: { + type: Boolean, + "default": false + }, + columns: { + type: Array, + "default": null + }, + loading: { + type: Boolean, + "default": false + }, + showSpacer: { + type: Boolean, + "default": true + }, + showLoader: { + type: Boolean, + "default": false + }, + tabindex: { + type: Number, + "default": 0 + }, + inline: { + type: Boolean, + "default": false + }, + step: { + type: Number, + "default": 0 + }, + appendOnly: { + type: Boolean, + "default": false + }, + autoSize: { + type: Boolean, + "default": false + } + }, + style: VirtualScrollerStyle, + provide: /* @__PURE__ */ __name(function provide6() { + return { + $pcVirtualScroller: this, + $parentInstance: this + }; + }, "provide"), + beforeMount: /* @__PURE__ */ __name(function beforeMount2() { + var _this$$primevueConfig; + VirtualScrollerStyle.loadCSS({ + nonce: (_this$$primevueConfig = this.$primevueConfig) === null || _this$$primevueConfig === void 0 || (_this$$primevueConfig = _this$$primevueConfig.csp) === null || _this$$primevueConfig === void 0 ? void 0 : _this$$primevueConfig.nonce + }); + }, "beforeMount") +}; +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$e(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$e, "ownKeys$e"); +function _objectSpread$e(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$e(Object(t), true).forEach(function(r2) { + _defineProperty$d(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$e(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread$e, "_objectSpread$e"); +function _defineProperty$d(e, r, t) { + return (r = _toPropertyKey$d(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$d, "_defineProperty$d"); +function _toPropertyKey$d(t) { + var i2 = _toPrimitive$d(t, "string"); + return "symbol" == _typeof$d(i2) ? i2 : i2 + ""; +} +__name(_toPropertyKey$d, "_toPropertyKey$d"); +function _toPrimitive$d(t, r) { + if ("object" != _typeof$d(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i2 = e.call(t, r || "default"); + if ("object" != _typeof$d(i2)) return i2; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$d, "_toPrimitive$d"); +var script$L = { + name: "VirtualScroller", + "extends": script$1$u, + inheritAttrs: false, + emits: ["update:numToleratedItems", "scroll", "scroll-index-change", "lazy-load"], + data: /* @__PURE__ */ __name(function data() { + var both = this.isBoth(); + return { + first: both ? { + rows: 0, + cols: 0 + } : 0, + last: both ? { + rows: 0, + cols: 0 + } : 0, + page: both ? { + rows: 0, + cols: 0 + } : 0, + numItemsInViewport: both ? { + rows: 0, + cols: 0 + } : 0, + lastScrollPos: both ? { + top: 0, + left: 0 + } : 0, + d_numToleratedItems: this.numToleratedItems, + d_loading: this.loading, + loaderArr: [], + spacerStyle: {}, + contentStyle: {} + }; + }, "data"), + element: null, + content: null, + lastScrollPos: null, + scrollTimeout: null, + resizeTimeout: null, + defaultWidth: 0, + defaultHeight: 0, + defaultContentWidth: 0, + defaultContentHeight: 0, + isRangeChanged: false, + lazyLoadState: {}, + resizeListener: null, + initialized: false, + watch: { + numToleratedItems: /* @__PURE__ */ __name(function numToleratedItems(newValue) { + this.d_numToleratedItems = newValue; + }, "numToleratedItems"), + loading: /* @__PURE__ */ __name(function loading(newValue, oldValue) { + if (this.lazy && newValue !== oldValue && newValue !== this.d_loading) { + this.d_loading = newValue; + } + }, "loading"), + items: /* @__PURE__ */ __name(function items(newValue, oldValue) { + if (!oldValue || oldValue.length !== (newValue || []).length) { + this.init(); + this.calculateAutoSize(); + } + }, "items"), + itemSize: /* @__PURE__ */ __name(function itemSize() { + this.init(); + this.calculateAutoSize(); + }, "itemSize"), + orientation: /* @__PURE__ */ __name(function orientation() { + this.lastScrollPos = this.isBoth() ? { + top: 0, + left: 0 + } : 0; + }, "orientation"), + scrollHeight: /* @__PURE__ */ __name(function scrollHeight() { + this.init(); + this.calculateAutoSize(); + }, "scrollHeight"), + scrollWidth: /* @__PURE__ */ __name(function scrollWidth() { + this.init(); + this.calculateAutoSize(); + }, "scrollWidth") + }, + mounted: /* @__PURE__ */ __name(function mounted2() { + this.viewInit(); + this.lastScrollPos = this.isBoth() ? { + top: 0, + left: 0 + } : 0; + this.lazyLoadState = this.lazyLoadState || {}; + }, "mounted"), + updated: /* @__PURE__ */ __name(function updated2() { + !this.initialized && this.viewInit(); + }, "updated"), + unmounted: /* @__PURE__ */ __name(function unmounted3() { + this.unbindResizeListener(); + this.initialized = false; + }, "unmounted"), + methods: { + viewInit: /* @__PURE__ */ __name(function viewInit() { + if (isVisible(this.element)) { + this.setContentEl(this.content); + this.init(); + this.calculateAutoSize(); + this.bindResizeListener(); + this.defaultWidth = getWidth(this.element); + this.defaultHeight = getHeight(this.element); + this.defaultContentWidth = getWidth(this.content); + this.defaultContentHeight = getHeight(this.content); + this.initialized = true; + } + }, "viewInit"), + init: /* @__PURE__ */ __name(function init() { + if (!this.disabled) { + this.setSize(); + this.calculateOptions(); + this.setSpacerSize(); + } + }, "init"), + isVertical: /* @__PURE__ */ __name(function isVertical() { + return this.orientation === "vertical"; + }, "isVertical"), + isHorizontal: /* @__PURE__ */ __name(function isHorizontal() { + return this.orientation === "horizontal"; + }, "isHorizontal"), + isBoth: /* @__PURE__ */ __name(function isBoth() { + return this.orientation === "both"; + }, "isBoth"), + scrollTo: /* @__PURE__ */ __name(function scrollTo2(options3) { + this.element && this.element.scrollTo(options3); + }, "scrollTo"), + scrollToIndex: /* @__PURE__ */ __name(function scrollToIndex(index2) { + var _this = this; + var behavior = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "auto"; + var both = this.isBoth(); + var horizontal2 = this.isHorizontal(); + var valid = both ? index2.every(function(i2) { + return i2 > -1; + }) : index2 > -1; + if (valid) { + var first = this.first; + var _this$element = this.element, _this$element$scrollT = _this$element.scrollTop, scrollTop2 = _this$element$scrollT === void 0 ? 0 : _this$element$scrollT, _this$element$scrollL = _this$element.scrollLeft, scrollLeft = _this$element$scrollL === void 0 ? 0 : _this$element$scrollL; + var _this$calculateNumIte = this.calculateNumItems(), numToleratedItems2 = _this$calculateNumIte.numToleratedItems; + var contentPos = this.getContentPosition(); + var itemSize2 = this.itemSize; + var calculateFirst = /* @__PURE__ */ __name(function calculateFirst2() { + var _index = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0; + var _numT = arguments.length > 1 ? arguments[1] : void 0; + return _index <= _numT ? 0 : _index; + }, "calculateFirst"); + var calculateCoord = /* @__PURE__ */ __name(function calculateCoord2(_first, _size, _cpos) { + return _first * _size + _cpos; + }, "calculateCoord"); + var scrollTo3 = /* @__PURE__ */ __name(function scrollTo4() { + var left = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0; + var top = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; + return _this.scrollTo({ + left, + top, + behavior + }); + }, "scrollTo"); + var newFirst = both ? { + rows: 0, + cols: 0 + } : 0; + var isRangeChanged = false, isScrollChanged = false; + if (both) { + newFirst = { + rows: calculateFirst(index2[0], numToleratedItems2[0]), + cols: calculateFirst(index2[1], numToleratedItems2[1]) + }; + scrollTo3(calculateCoord(newFirst.cols, itemSize2[1], contentPos.left), calculateCoord(newFirst.rows, itemSize2[0], contentPos.top)); + isScrollChanged = this.lastScrollPos.top !== scrollTop2 || this.lastScrollPos.left !== scrollLeft; + isRangeChanged = newFirst.rows !== first.rows || newFirst.cols !== first.cols; + } else { + newFirst = calculateFirst(index2, numToleratedItems2); + horizontal2 ? scrollTo3(calculateCoord(newFirst, itemSize2, contentPos.left), scrollTop2) : scrollTo3(scrollLeft, calculateCoord(newFirst, itemSize2, contentPos.top)); + isScrollChanged = this.lastScrollPos !== (horizontal2 ? scrollLeft : scrollTop2); + isRangeChanged = newFirst !== first; + } + this.isRangeChanged = isRangeChanged; + isScrollChanged && (this.first = newFirst); + } + }, "scrollToIndex"), + scrollInView: /* @__PURE__ */ __name(function scrollInView2(index2, to) { + var _this2 = this; + var behavior = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "auto"; + if (to) { + var both = this.isBoth(); + var horizontal2 = this.isHorizontal(); + var valid = both ? index2.every(function(i2) { + return i2 > -1; + }) : index2 > -1; + if (valid) { + var _this$getRenderedRang = this.getRenderedRange(), first = _this$getRenderedRang.first, viewport = _this$getRenderedRang.viewport; + var scrollTo3 = /* @__PURE__ */ __name(function scrollTo4() { + var left = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0; + var top = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; + return _this2.scrollTo({ + left, + top, + behavior + }); + }, "scrollTo"); + var isToStart = to === "to-start"; + var isToEnd = to === "to-end"; + if (isToStart) { + if (both) { + if (viewport.first.rows - first.rows > index2[0]) { + scrollTo3(viewport.first.cols * this.itemSize[1], (viewport.first.rows - 1) * this.itemSize[0]); + } else if (viewport.first.cols - first.cols > index2[1]) { + scrollTo3((viewport.first.cols - 1) * this.itemSize[1], viewport.first.rows * this.itemSize[0]); + } + } else { + if (viewport.first - first > index2) { + var pos2 = (viewport.first - 1) * this.itemSize; + horizontal2 ? scrollTo3(pos2, 0) : scrollTo3(0, pos2); + } + } + } else if (isToEnd) { + if (both) { + if (viewport.last.rows - first.rows <= index2[0] + 1) { + scrollTo3(viewport.first.cols * this.itemSize[1], (viewport.first.rows + 1) * this.itemSize[0]); + } else if (viewport.last.cols - first.cols <= index2[1] + 1) { + scrollTo3((viewport.first.cols + 1) * this.itemSize[1], viewport.first.rows * this.itemSize[0]); + } + } else { + if (viewport.last - first <= index2 + 1) { + var _pos2 = (viewport.first + 1) * this.itemSize; + horizontal2 ? scrollTo3(_pos2, 0) : scrollTo3(0, _pos2); + } + } + } + } + } else { + this.scrollToIndex(index2, behavior); + } + }, "scrollInView"), + getRenderedRange: /* @__PURE__ */ __name(function getRenderedRange() { + var calculateFirstInViewport = /* @__PURE__ */ __name(function calculateFirstInViewport2(_pos, _size) { + return Math.floor(_pos / (_size || _pos)); + }, "calculateFirstInViewport"); + var firstInViewport = this.first; + var lastInViewport = 0; + if (this.element) { + var both = this.isBoth(); + var horizontal2 = this.isHorizontal(); + var _this$element2 = this.element, scrollTop2 = _this$element2.scrollTop, scrollLeft = _this$element2.scrollLeft; + if (both) { + firstInViewport = { + rows: calculateFirstInViewport(scrollTop2, this.itemSize[0]), + cols: calculateFirstInViewport(scrollLeft, this.itemSize[1]) + }; + lastInViewport = { + rows: firstInViewport.rows + this.numItemsInViewport.rows, + cols: firstInViewport.cols + this.numItemsInViewport.cols + }; + } else { + var scrollPos = horizontal2 ? scrollLeft : scrollTop2; + firstInViewport = calculateFirstInViewport(scrollPos, this.itemSize); + lastInViewport = firstInViewport + this.numItemsInViewport; + } + } + return { + first: this.first, + last: this.last, + viewport: { + first: firstInViewport, + last: lastInViewport + } + }; + }, "getRenderedRange"), + calculateNumItems: /* @__PURE__ */ __name(function calculateNumItems() { + var both = this.isBoth(); + var horizontal2 = this.isHorizontal(); + var itemSize2 = this.itemSize; + var contentPos = this.getContentPosition(); + var contentWidth = this.element ? this.element.offsetWidth - contentPos.left : 0; + var contentHeight = this.element ? this.element.offsetHeight - contentPos.top : 0; + var calculateNumItemsInViewport = /* @__PURE__ */ __name(function calculateNumItemsInViewport2(_contentSize, _itemSize) { + return Math.ceil(_contentSize / (_itemSize || _contentSize)); + }, "calculateNumItemsInViewport"); + var calculateNumToleratedItems = /* @__PURE__ */ __name(function calculateNumToleratedItems2(_numItems) { + return Math.ceil(_numItems / 2); + }, "calculateNumToleratedItems"); + var numItemsInViewport = both ? { + rows: calculateNumItemsInViewport(contentHeight, itemSize2[0]), + cols: calculateNumItemsInViewport(contentWidth, itemSize2[1]) + } : calculateNumItemsInViewport(horizontal2 ? contentWidth : contentHeight, itemSize2); + var numToleratedItems2 = this.d_numToleratedItems || (both ? [calculateNumToleratedItems(numItemsInViewport.rows), calculateNumToleratedItems(numItemsInViewport.cols)] : calculateNumToleratedItems(numItemsInViewport)); + return { + numItemsInViewport, + numToleratedItems: numToleratedItems2 + }; + }, "calculateNumItems"), + calculateOptions: /* @__PURE__ */ __name(function calculateOptions() { + var _this3 = this; + var both = this.isBoth(); + var first = this.first; + var _this$calculateNumIte2 = this.calculateNumItems(), numItemsInViewport = _this$calculateNumIte2.numItemsInViewport, numToleratedItems2 = _this$calculateNumIte2.numToleratedItems; + var calculateLast = /* @__PURE__ */ __name(function calculateLast2(_first, _num, _numT) { + var _isCols = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false; + return _this3.getLast(_first + _num + (_first < _numT ? 2 : 3) * _numT, _isCols); + }, "calculateLast"); + var last = both ? { + rows: calculateLast(first.rows, numItemsInViewport.rows, numToleratedItems2[0]), + cols: calculateLast(first.cols, numItemsInViewport.cols, numToleratedItems2[1], true) + } : calculateLast(first, numItemsInViewport, numToleratedItems2); + this.last = last; + this.numItemsInViewport = numItemsInViewport; + this.d_numToleratedItems = numToleratedItems2; + this.$emit("update:numToleratedItems", this.d_numToleratedItems); + if (this.showLoader) { + this.loaderArr = both ? Array.from({ + length: numItemsInViewport.rows + }).map(function() { + return Array.from({ + length: numItemsInViewport.cols + }); + }) : Array.from({ + length: numItemsInViewport + }); + } + if (this.lazy) { + Promise.resolve().then(function() { + var _this3$items; + _this3.lazyLoadState = { + first: _this3.step ? both ? { + rows: 0, + cols: first.cols + } : 0 : first, + last: Math.min(_this3.step ? _this3.step : last, ((_this3$items = _this3.items) === null || _this3$items === void 0 ? void 0 : _this3$items.length) || 0) + }; + _this3.$emit("lazy-load", _this3.lazyLoadState); + }); + } + }, "calculateOptions"), + calculateAutoSize: /* @__PURE__ */ __name(function calculateAutoSize() { + var _this4 = this; + if (this.autoSize && !this.d_loading) { + Promise.resolve().then(function() { + if (_this4.content) { + var both = _this4.isBoth(); + var horizontal2 = _this4.isHorizontal(); + var vertical2 = _this4.isVertical(); + _this4.content.style.minHeight = _this4.content.style.minWidth = "auto"; + _this4.content.style.position = "relative"; + _this4.element.style.contain = "none"; + var _ref = [getWidth(_this4.element), getHeight(_this4.element)], width2 = _ref[0], height = _ref[1]; + (both || horizontal2) && (_this4.element.style.width = width2 < _this4.defaultWidth ? width2 + "px" : _this4.scrollWidth || _this4.defaultWidth + "px"); + (both || vertical2) && (_this4.element.style.height = height < _this4.defaultHeight ? height + "px" : _this4.scrollHeight || _this4.defaultHeight + "px"); + _this4.content.style.minHeight = _this4.content.style.minWidth = ""; + _this4.content.style.position = ""; + _this4.element.style.contain = ""; + } + }); + } + }, "calculateAutoSize"), + getLast: /* @__PURE__ */ __name(function getLast() { + var _ref2, _this$items; + var last = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0; + var isCols = arguments.length > 1 ? arguments[1] : void 0; + return this.items ? Math.min(isCols ? ((_ref2 = this.columns || this.items[0]) === null || _ref2 === void 0 ? void 0 : _ref2.length) || 0 : ((_this$items = this.items) === null || _this$items === void 0 ? void 0 : _this$items.length) || 0, last) : 0; + }, "getLast"), + getContentPosition: /* @__PURE__ */ __name(function getContentPosition() { + if (this.content) { + var style = getComputedStyle(this.content); + var left = parseFloat(style.paddingLeft) + Math.max(parseFloat(style.left) || 0, 0); + var right = parseFloat(style.paddingRight) + Math.max(parseFloat(style.right) || 0, 0); + var top = parseFloat(style.paddingTop) + Math.max(parseFloat(style.top) || 0, 0); + var bottom = parseFloat(style.paddingBottom) + Math.max(parseFloat(style.bottom) || 0, 0); + return { + left, + right, + top, + bottom, + x: left + right, + y: top + bottom + }; + } + return { + left: 0, + right: 0, + top: 0, + bottom: 0, + x: 0, + y: 0 + }; + }, "getContentPosition"), + setSize: /* @__PURE__ */ __name(function setSize() { + var _this5 = this; + if (this.element) { + var both = this.isBoth(); + var horizontal2 = this.isHorizontal(); + var parentElement = this.element.parentElement; + var width2 = this.scrollWidth || "".concat(this.element.offsetWidth || parentElement.offsetWidth, "px"); + var height = this.scrollHeight || "".concat(this.element.offsetHeight || parentElement.offsetHeight, "px"); + var setProp = /* @__PURE__ */ __name(function setProp2(_name, _value) { + return _this5.element.style[_name] = _value; + }, "setProp"); + if (both || horizontal2) { + setProp("height", height); + setProp("width", width2); + } else { + setProp("height", height); + } + } + }, "setSize"), + setSpacerSize: /* @__PURE__ */ __name(function setSpacerSize() { + var _this6 = this; + var items2 = this.items; + if (items2) { + var both = this.isBoth(); + var horizontal2 = this.isHorizontal(); + var contentPos = this.getContentPosition(); + var setProp = /* @__PURE__ */ __name(function setProp2(_name, _value, _size) { + var _cpos = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0; + return _this6.spacerStyle = _objectSpread$e(_objectSpread$e({}, _this6.spacerStyle), _defineProperty$d({}, "".concat(_name), (_value || []).length * _size + _cpos + "px")); + }, "setProp"); + if (both) { + setProp("height", items2, this.itemSize[0], contentPos.y); + setProp("width", this.columns || items2[1], this.itemSize[1], contentPos.x); + } else { + horizontal2 ? setProp("width", this.columns || items2, this.itemSize, contentPos.x) : setProp("height", items2, this.itemSize, contentPos.y); + } + } + }, "setSpacerSize"), + setContentPosition: /* @__PURE__ */ __name(function setContentPosition(pos2) { + var _this7 = this; + if (this.content && !this.appendOnly) { + var both = this.isBoth(); + var horizontal2 = this.isHorizontal(); + var first = pos2 ? pos2.first : this.first; + var calculateTranslateVal = /* @__PURE__ */ __name(function calculateTranslateVal2(_first, _size) { + return _first * _size; + }, "calculateTranslateVal"); + var setTransform = /* @__PURE__ */ __name(function setTransform2() { + var _x = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0; + var _y = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; + return _this7.contentStyle = _objectSpread$e(_objectSpread$e({}, _this7.contentStyle), { + transform: "translate3d(".concat(_x, "px, ").concat(_y, "px, 0)") + }); + }, "setTransform"); + if (both) { + setTransform(calculateTranslateVal(first.cols, this.itemSize[1]), calculateTranslateVal(first.rows, this.itemSize[0])); + } else { + var translateVal = calculateTranslateVal(first, this.itemSize); + horizontal2 ? setTransform(translateVal, 0) : setTransform(0, translateVal); + } + } + }, "setContentPosition"), + onScrollPositionChange: /* @__PURE__ */ __name(function onScrollPositionChange(event2) { + var _this8 = this; + var target = event2.target; + var both = this.isBoth(); + var horizontal2 = this.isHorizontal(); + var contentPos = this.getContentPosition(); + var calculateScrollPos = /* @__PURE__ */ __name(function calculateScrollPos2(_pos, _cpos) { + return _pos ? _pos > _cpos ? _pos - _cpos : _pos : 0; + }, "calculateScrollPos"); + var calculateCurrentIndex = /* @__PURE__ */ __name(function calculateCurrentIndex2(_pos, _size) { + return Math.floor(_pos / (_size || _pos)); + }, "calculateCurrentIndex"); + var calculateTriggerIndex = /* @__PURE__ */ __name(function calculateTriggerIndex2(_currentIndex, _first, _last, _num, _numT, _isScrollDownOrRight) { + return _currentIndex <= _numT ? _numT : _isScrollDownOrRight ? _last - _num - _numT : _first + _numT - 1; + }, "calculateTriggerIndex"); + var calculateFirst = /* @__PURE__ */ __name(function calculateFirst2(_currentIndex, _triggerIndex, _first, _last, _num, _numT, _isScrollDownOrRight) { + if (_currentIndex <= _numT) return 0; + else return Math.max(0, _isScrollDownOrRight ? _currentIndex < _triggerIndex ? _first : _currentIndex - _numT : _currentIndex > _triggerIndex ? _first : _currentIndex - 2 * _numT); + }, "calculateFirst"); + var calculateLast = /* @__PURE__ */ __name(function calculateLast2(_currentIndex, _first, _last, _num, _numT, _isCols) { + var lastValue = _first + _num + 2 * _numT; + if (_currentIndex >= _numT) { + lastValue += _numT + 1; + } + return _this8.getLast(lastValue, _isCols); + }, "calculateLast"); + var scrollTop2 = calculateScrollPos(target.scrollTop, contentPos.top); + var scrollLeft = calculateScrollPos(target.scrollLeft, contentPos.left); + var newFirst = both ? { + rows: 0, + cols: 0 + } : 0; + var newLast = this.last; + var isRangeChanged = false; + var newScrollPos = this.lastScrollPos; + if (both) { + var isScrollDown = this.lastScrollPos.top <= scrollTop2; + var isScrollRight = this.lastScrollPos.left <= scrollLeft; + if (!this.appendOnly || this.appendOnly && (isScrollDown || isScrollRight)) { + var currentIndex = { + rows: calculateCurrentIndex(scrollTop2, this.itemSize[0]), + cols: calculateCurrentIndex(scrollLeft, this.itemSize[1]) + }; + var triggerIndex = { + rows: calculateTriggerIndex(currentIndex.rows, this.first.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0], isScrollDown), + cols: calculateTriggerIndex(currentIndex.cols, this.first.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], isScrollRight) + }; + newFirst = { + rows: calculateFirst(currentIndex.rows, triggerIndex.rows, this.first.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0], isScrollDown), + cols: calculateFirst(currentIndex.cols, triggerIndex.cols, this.first.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], isScrollRight) + }; + newLast = { + rows: calculateLast(currentIndex.rows, newFirst.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0]), + cols: calculateLast(currentIndex.cols, newFirst.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], true) + }; + isRangeChanged = newFirst.rows !== this.first.rows || newLast.rows !== this.last.rows || newFirst.cols !== this.first.cols || newLast.cols !== this.last.cols || this.isRangeChanged; + newScrollPos = { + top: scrollTop2, + left: scrollLeft + }; + } + } else { + var scrollPos = horizontal2 ? scrollLeft : scrollTop2; + var isScrollDownOrRight = this.lastScrollPos <= scrollPos; + if (!this.appendOnly || this.appendOnly && isScrollDownOrRight) { + var _currentIndex2 = calculateCurrentIndex(scrollPos, this.itemSize); + var _triggerIndex2 = calculateTriggerIndex(_currentIndex2, this.first, this.last, this.numItemsInViewport, this.d_numToleratedItems, isScrollDownOrRight); + newFirst = calculateFirst(_currentIndex2, _triggerIndex2, this.first, this.last, this.numItemsInViewport, this.d_numToleratedItems, isScrollDownOrRight); + newLast = calculateLast(_currentIndex2, newFirst, this.last, this.numItemsInViewport, this.d_numToleratedItems); + isRangeChanged = newFirst !== this.first || newLast !== this.last || this.isRangeChanged; + newScrollPos = scrollPos; + } + } + return { + first: newFirst, + last: newLast, + isRangeChanged, + scrollPos: newScrollPos + }; + }, "onScrollPositionChange"), + onScrollChange: /* @__PURE__ */ __name(function onScrollChange(event2) { + var _this$onScrollPositio = this.onScrollPositionChange(event2), first = _this$onScrollPositio.first, last = _this$onScrollPositio.last, isRangeChanged = _this$onScrollPositio.isRangeChanged, scrollPos = _this$onScrollPositio.scrollPos; + if (isRangeChanged) { + var newState = { + first, + last + }; + this.setContentPosition(newState); + this.first = first; + this.last = last; + this.lastScrollPos = scrollPos; + this.$emit("scroll-index-change", newState); + if (this.lazy && this.isPageChanged(first)) { + var _this$items2, _this$items3; + var lazyLoadState = { + first: this.step ? Math.min(this.getPageByFirst(first) * this.step, (((_this$items2 = this.items) === null || _this$items2 === void 0 ? void 0 : _this$items2.length) || 0) - this.step) : first, + last: Math.min(this.step ? (this.getPageByFirst(first) + 1) * this.step : last, ((_this$items3 = this.items) === null || _this$items3 === void 0 ? void 0 : _this$items3.length) || 0) + }; + var isLazyStateChanged = this.lazyLoadState.first !== lazyLoadState.first || this.lazyLoadState.last !== lazyLoadState.last; + isLazyStateChanged && this.$emit("lazy-load", lazyLoadState); + this.lazyLoadState = lazyLoadState; + } + } + }, "onScrollChange"), + onScroll: /* @__PURE__ */ __name(function onScroll(event2) { + var _this9 = this; + this.$emit("scroll", event2); + if (this.delay) { + if (this.scrollTimeout) { + clearTimeout(this.scrollTimeout); + } + if (this.isPageChanged()) { + if (!this.d_loading && this.showLoader) { + var _this$onScrollPositio2 = this.onScrollPositionChange(event2), isRangeChanged = _this$onScrollPositio2.isRangeChanged; + var changed = isRangeChanged || (this.step ? this.isPageChanged() : false); + changed && (this.d_loading = true); + } + this.scrollTimeout = setTimeout(function() { + _this9.onScrollChange(event2); + if (_this9.d_loading && _this9.showLoader && (!_this9.lazy || _this9.loading === void 0)) { + _this9.d_loading = false; + _this9.page = _this9.getPageByFirst(); + } + }, this.delay); + } + } else { + this.onScrollChange(event2); + } + }, "onScroll"), + onResize: /* @__PURE__ */ __name(function onResize() { + var _this10 = this; + if (this.resizeTimeout) { + clearTimeout(this.resizeTimeout); + } + this.resizeTimeout = setTimeout(function() { + if (isVisible(_this10.element)) { + var both = _this10.isBoth(); + var vertical2 = _this10.isVertical(); + var horizontal2 = _this10.isHorizontal(); + var _ref3 = [getWidth(_this10.element), getHeight(_this10.element)], width2 = _ref3[0], height = _ref3[1]; + var isDiffWidth = width2 !== _this10.defaultWidth, isDiffHeight = height !== _this10.defaultHeight; + var reinit = both ? isDiffWidth || isDiffHeight : horizontal2 ? isDiffWidth : vertical2 ? isDiffHeight : false; + if (reinit) { + _this10.d_numToleratedItems = _this10.numToleratedItems; + _this10.defaultWidth = width2; + _this10.defaultHeight = height; + _this10.defaultContentWidth = getWidth(_this10.content); + _this10.defaultContentHeight = getHeight(_this10.content); + _this10.init(); + } + } + }, this.resizeDelay); + }, "onResize"), + bindResizeListener: /* @__PURE__ */ __name(function bindResizeListener() { + if (!this.resizeListener) { + this.resizeListener = this.onResize.bind(this); + window.addEventListener("resize", this.resizeListener); + window.addEventListener("orientationchange", this.resizeListener); + } + }, "bindResizeListener"), + unbindResizeListener: /* @__PURE__ */ __name(function unbindResizeListener() { + if (this.resizeListener) { + window.removeEventListener("resize", this.resizeListener); + window.removeEventListener("orientationchange", this.resizeListener); + this.resizeListener = null; + } + }, "unbindResizeListener"), + getOptions: /* @__PURE__ */ __name(function getOptions(renderedIndex) { + var count = (this.items || []).length; + var index2 = this.isBoth() ? this.first.rows + renderedIndex : this.first + renderedIndex; + return { + index: index2, + count, + first: index2 === 0, + last: index2 === count - 1, + even: index2 % 2 === 0, + odd: index2 % 2 !== 0 + }; + }, "getOptions"), + getLoaderOptions: /* @__PURE__ */ __name(function getLoaderOptions(index2, extOptions) { + var count = this.loaderArr.length; + return _objectSpread$e({ + index: index2, + count, + first: index2 === 0, + last: index2 === count - 1, + even: index2 % 2 === 0, + odd: index2 % 2 !== 0 + }, extOptions); + }, "getLoaderOptions"), + getPageByFirst: /* @__PURE__ */ __name(function getPageByFirst(first) { + return Math.floor(((first !== null && first !== void 0 ? first : this.first) + this.d_numToleratedItems * 4) / (this.step || 1)); + }, "getPageByFirst"), + isPageChanged: /* @__PURE__ */ __name(function isPageChanged(first) { + return this.step ? this.page !== this.getPageByFirst(first !== null && first !== void 0 ? first : this.first) : true; + }, "isPageChanged"), + setContentEl: /* @__PURE__ */ __name(function setContentEl(el) { + this.content = el || this.content || findSingle(this.element, '[data-pc-section="content"]'); + }, "setContentEl"), + elementRef: /* @__PURE__ */ __name(function elementRef(el) { + this.element = el; + }, "elementRef"), + contentRef: /* @__PURE__ */ __name(function contentRef(el) { + this.content = el; + }, "contentRef") + }, + computed: { + containerClass: /* @__PURE__ */ __name(function containerClass2() { + return ["p-virtualscroller", this["class"], { + "p-virtualscroller-inline": this.inline, + "p-virtualscroller-both p-both-scroll": this.isBoth(), + "p-virtualscroller-horizontal p-horizontal-scroll": this.isHorizontal() + }]; + }, "containerClass"), + contentClass: /* @__PURE__ */ __name(function contentClass() { + return ["p-virtualscroller-content", { + "p-virtualscroller-loading": this.d_loading + }]; + }, "contentClass"), + loaderClass: /* @__PURE__ */ __name(function loaderClass() { + return ["p-virtualscroller-loader", { + "p-virtualscroller-loader-mask": !this.$slots.loader + }]; + }, "loaderClass"), + loadedItems: /* @__PURE__ */ __name(function loadedItems() { + var _this11 = this; + if (this.items && !this.d_loading) { + if (this.isBoth()) return this.items.slice(this.appendOnly ? 0 : this.first.rows, this.last.rows).map(function(item2) { + return _this11.columns ? item2 : item2.slice(_this11.appendOnly ? 0 : _this11.first.cols, _this11.last.cols); + }); + else if (this.isHorizontal() && this.columns) return this.items; + else return this.items.slice(this.appendOnly ? 0 : this.first, this.last); + } + return []; + }, "loadedItems"), + loadedRows: /* @__PURE__ */ __name(function loadedRows() { + return this.d_loading ? this.loaderDisabled ? this.loaderArr : [] : this.loadedItems; + }, "loadedRows"), + loadedColumns: /* @__PURE__ */ __name(function loadedColumns() { + if (this.columns) { + var both = this.isBoth(); + var horizontal2 = this.isHorizontal(); + if (both || horizontal2) { + return this.d_loading && this.loaderDisabled ? both ? this.loaderArr[0] : this.loaderArr : this.columns.slice(both ? this.first.cols : this.first, both ? this.last.cols : this.last); + } + } + return this.columns; + }, "loadedColumns") + }, + components: { + SpinnerIcon: script$M + } +}; +var _hoisted_1$Q = ["tabindex"]; +function render$K(_ctx, _cache, $props, $setup, $data, $options) { + var _component_SpinnerIcon = resolveComponent("SpinnerIcon"); + return !_ctx.disabled ? (openBlock(), createElementBlock("div", mergeProps$1({ + key: 0, + ref: $options.elementRef, + "class": $options.containerClass, + tabindex: _ctx.tabindex, + style: _ctx.style, + onScroll: _cache[0] || (_cache[0] = function() { + return $options.onScroll && $options.onScroll.apply($options, arguments); + }) + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "content", { + styleClass: $options.contentClass, + items: $options.loadedItems, + getItemOptions: $options.getOptions, + loading: $data.d_loading, + getLoaderOptions: $options.getLoaderOptions, + itemSize: _ctx.itemSize, + rows: $options.loadedRows, + columns: $options.loadedColumns, + contentRef: $options.contentRef, + spacerStyle: $data.spacerStyle, + contentStyle: $data.contentStyle, + vertical: $options.isVertical(), + horizontal: $options.isHorizontal(), + both: $options.isBoth() + }, function() { + return [createBaseVNode("div", mergeProps$1({ + ref: $options.contentRef, + "class": $options.contentClass, + style: $data.contentStyle + }, _ctx.ptm("content")), [(openBlock(true), createElementBlock(Fragment, null, renderList($options.loadedItems, function(item2, index2) { + return renderSlot(_ctx.$slots, "item", { + key: index2, + item: item2, + options: $options.getOptions(index2) + }); + }), 128))], 16)]; + }), _ctx.showSpacer ? (openBlock(), createElementBlock("div", mergeProps$1({ + key: 0, + "class": "p-virtualscroller-spacer", + style: $data.spacerStyle + }, _ctx.ptm("spacer")), null, 16)) : createCommentVNode("", true), !_ctx.loaderDisabled && _ctx.showLoader && $data.d_loading ? (openBlock(), createElementBlock("div", mergeProps$1({ + key: 1, + "class": $options.loaderClass + }, _ctx.ptm("loader")), [_ctx.$slots && _ctx.$slots.loader ? (openBlock(true), createElementBlock(Fragment, { + key: 0 + }, renderList($data.loaderArr, function(_2, index2) { + return renderSlot(_ctx.$slots, "loader", { + key: index2, + options: $options.getLoaderOptions(index2, $options.isBoth() && { + numCols: _ctx.d_numItemsInViewport.cols + }) + }); + }), 128)) : createCommentVNode("", true), renderSlot(_ctx.$slots, "loadingicon", {}, function() { + return [createVNode(_component_SpinnerIcon, mergeProps$1({ + spin: "", + "class": "p-virtualscroller-loading-icon" + }, _ctx.ptm("loadingIcon")), null, 16)]; + })], 16)) : createCommentVNode("", true)], 16, _hoisted_1$Q)) : (openBlock(), createElementBlock(Fragment, { + key: 1 + }, [renderSlot(_ctx.$slots, "default"), renderSlot(_ctx.$slots, "content", { + items: _ctx.items, + rows: _ctx.items, + columns: $options.loadedColumns + })], 64)); +} +__name(render$K, "render$K"); +script$L.render = render$K; +var theme$s = /* @__PURE__ */ __name(function theme7(_ref) { + var dt2 = _ref.dt; + return "\n.p-listbox {\n background: ".concat(dt2("listbox.background"), ";\n color: ").concat(dt2("listbox.color"), ";\n border: 1px solid ").concat(dt2("listbox.border.color"), ";\n border-radius: ").concat(dt2("listbox.border.radius"), ";\n transition: background ").concat(dt2("listbox.transition.duration"), ", color ").concat(dt2("listbox.transition.duration"), ", border-color ").concat(dt2("listbox.transition.duration"), ",\n box-shadow ").concat(dt2("listbox.transition.duration"), ", outline-color ").concat(dt2("listbox.transition.duration"), ";\n outline-color: transparent;\n box-shadow: ").concat(dt2("listbox.shadow"), ";\n}\n\n.p-listbox.p-focus {\n border-color: ").concat(dt2("listbox.focus.border.color"), ";\n box-shadow: ").concat(dt2("listbox.focus.ring.shadow"), ";\n outline: ").concat(dt2("listbox.focus.ring.width"), " ").concat(dt2("listbox.focus.ring.style"), " ").concat(dt2("listbox.focus.ring.color"), ";\n outline-offset: ").concat(dt2("listbox.focus.ring.offset"), ";\n}\n\n.p-listbox.p-disabled {\n opacity: 1;\n background: ").concat(dt2("listbox.disabled.background"), ";\n color: ").concat(dt2("listbox.disabled.color"), ";\n}\n\n.p-listbox.p-disabled .p-listbox-option {\n color: ").concat(dt2("listbox.disabled.color"), ";\n}\n\n.p-listbox.p-invalid {\n border-color: ").concat(dt2("listbox.invalid.border.color"), ";\n}\n\n.p-listbox-header {\n padding: ").concat(dt2("listbox.list.header.padding"), ";\n}\n\n.p-listbox-filter {\n width: 100%;\n}\n\n.p-listbox-list-container {\n overflow: auto;\n}\n\n.p-listbox-list {\n list-style-type: none;\n margin: 0;\n padding: ").concat(dt2("listbox.list.padding"), ";\n outline: 0 none;\n display: flex;\n flex-direction: column;\n gap: ").concat(dt2("listbox.list.gap"), ";\n}\n\n.p-listbox-option {\n display: flex;\n align-items: center;\n cursor: pointer;\n position: relative;\n overflow: hidden;\n padding: ").concat(dt2("listbox.option.padding"), ";\n border: 0 none;\n border-radius: ").concat(dt2("listbox.option.border.radius"), ";\n color: ").concat(dt2("listbox.option.color"), ";\n transition: background ").concat(dt2("listbox.transition.duration"), ", color ").concat(dt2("listbox.transition.duration"), ", border-color ").concat(dt2("listbox.transition.duration"), ",\n box-shadow ").concat(dt2("listbox.transition.duration"), ", outline-color ").concat(dt2("listbox.transition.duration"), ";\n}\n\n.p-listbox-striped li:nth-child(even of .p-listbox-option) {\n background: ").concat(dt2("listbox.option.striped.background"), ";\n}\n\n.p-listbox .p-listbox-list .p-listbox-option.p-listbox-option-selected {\n background: ").concat(dt2("listbox.option.selected.background"), ";\n color: ").concat(dt2("listbox.option.selected.color"), ";\n}\n\n.p-listbox:not(.p-disabled) .p-listbox-option.p-listbox-option-selected.p-focus {\n background: ").concat(dt2("listbox.option.selected.focus.background"), ";\n color: ").concat(dt2("listbox.option.selected.focus.color"), ";\n}\n\n.p-listbox:not(.p-disabled) .p-listbox-option:not(.p-listbox-option-selected):not(.p-disabled).p-focus {\n background: ").concat(dt2("listbox.option.focus.background"), ";\n color: ").concat(dt2("listbox.option.focus.color"), ";\n}\n\n.p-listbox:not(.p-disabled) .p-listbox-option:not(.p-listbox-option-selected):not(.p-disabled):hover {\n background: ").concat(dt2("listbox.option.focus.background"), ";\n color: ").concat(dt2("listbox.option.focus.color"), ";\n}\n\n.p-listbox-option-check-icon {\n position: relative;\n margin-inline-start: ").concat(dt2("listbox.checkmark.gutter.start"), ";\n margin-inline-end: ").concat(dt2("listbox.checkmark.gutter.end"), ";\n color: ").concat(dt2("listbox.checkmark.color"), ";\n}\n\n.p-listbox-option-group {\n margin: 0;\n padding: ").concat(dt2("listbox.option.group.padding"), ";\n color: ").concat(dt2("listbox.option.group.color"), ";\n background: ").concat(dt2("listbox.option.group.background"), ";\n font-weight: ").concat(dt2("listbox.option.group.font.weight"), ";\n}\n\n.p-listbox-empty-message {\n padding: ").concat(dt2("listbox.empty.message.padding"), ";\n}\n"); +}, "theme"); +var classes$u = { + root: /* @__PURE__ */ __name(function root2(_ref2) { + var props = _ref2.props; + return ["p-listbox p-component", { + "p-listbox-striped": props.striped, + "p-disabled": props.disabled, + "p-invalid": props.invalid + }]; + }, "root"), + header: "p-listbox-header", + pcFilter: "p-listbox-filter", + listContainer: "p-listbox-list-container", + list: "p-listbox-list", + optionGroup: "p-listbox-option-group", + option: /* @__PURE__ */ __name(function option(_ref3) { + var instance = _ref3.instance, props = _ref3.props, _option = _ref3.option, index2 = _ref3.index, getItemOptions = _ref3.getItemOptions; + return ["p-listbox-option", { + "p-listbox-option-selected": instance.isSelected(_option) && props.highlightOnSelect, + "p-focus": instance.focusedOptionIndex === instance.getOptionIndex(index2, getItemOptions), + "p-disabled": instance.isOptionDisabled(_option) + }]; + }, "option"), + optionCheckIcon: "p-listbox-option-check-icon", + optionBlankIcon: "p-listbox-option-blank-icon", + emptyMessage: "p-listbox-empty-message" +}; +var ListboxStyle = BaseStyle.extend({ + name: "listbox", + theme: theme$s, + classes: classes$u +}); +var script$1$t = { + name: "BaseListbox", + "extends": script$U, + props: { + modelValue: null, + options: Array, + optionLabel: null, + optionValue: null, + optionDisabled: null, + optionGroupLabel: null, + optionGroupChildren: null, + listStyle: null, + scrollHeight: { + type: String, + "default": "14rem" + }, + invalid: { + type: Boolean, + "default": false + }, + disabled: { + type: Boolean, + "default": false + }, + dataKey: null, + multiple: { + type: Boolean, + "default": false + }, + metaKeySelection: { + type: Boolean, + "default": false + }, + filter: Boolean, + filterPlaceholder: String, + filterLocale: String, + filterMatchMode: { + type: String, + "default": "contains" + }, + filterFields: { + type: Array, + "default": null + }, + virtualScrollerOptions: { + type: Object, + "default": null + }, + autoOptionFocus: { + type: Boolean, + "default": true + }, + selectOnFocus: { + type: Boolean, + "default": false + }, + focusOnHover: { + type: Boolean, + "default": true + }, + highlightOnSelect: { + type: Boolean, + "default": true + }, + checkmark: { + 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 + }, + filterIcon: { + type: String, + "default": void 0 + }, + striped: { + type: Boolean, + "default": false + }, + tabindex: { + type: Number, + "default": 0 + }, + ariaLabel: { + type: String, + "default": null + }, + ariaLabelledby: { + type: String, + "default": null + } + }, + style: ListboxStyle, + provide: /* @__PURE__ */ __name(function provide7() { + return { + $pcListbox: this, + $parentInstance: this + }; + }, "provide") +}; +function _toConsumableArray$9(r) { + return _arrayWithoutHoles$9(r) || _iterableToArray$9(r) || _unsupportedIterableToArray$c(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 _unsupportedIterableToArray$c(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$c(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$c(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$c, "_unsupportedIterableToArray$c"); +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$c(r); +} +__name(_arrayWithoutHoles$9, "_arrayWithoutHoles$9"); +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$K = { + name: "Listbox", + "extends": script$1$t, + inheritAttrs: false, + emits: ["update:modelValue", "change", "focus", "blur", "filter", "item-dblclick", "option-dblclick"], + list: null, + virtualScroller: null, + optionTouched: false, + startRangeIndex: -1, + searchTimeout: null, + searchValue: "", + data: /* @__PURE__ */ __name(function data2() { + return { + id: this.$attrs.id, + filterValue: null, + focused: false, + focusedOptionIndex: -1 + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId"), + options: /* @__PURE__ */ __name(function options() { + this.autoUpdateModel(); + }, "options") + }, + mounted: /* @__PURE__ */ __name(function mounted3() { + this.id = this.id || UniqueComponentId(); + this.autoUpdateModel(); + }, "mounted"), + methods: { + getOptionIndex: /* @__PURE__ */ __name(function getOptionIndex(index2, fn) { + return this.virtualScrollerDisabled ? index2 : fn && fn(index2)["index"]; + }, "getOptionIndex"), + getOptionLabel: /* @__PURE__ */ __name(function getOptionLabel(option3) { + return this.optionLabel ? resolveFieldData(option3, this.optionLabel) : typeof option3 === "string" ? option3 : null; + }, "getOptionLabel"), + getOptionValue: /* @__PURE__ */ __name(function getOptionValue(option3) { + return this.optionValue ? resolveFieldData(option3, this.optionValue) : option3; + }, "getOptionValue"), + getOptionRenderKey: /* @__PURE__ */ __name(function getOptionRenderKey(option3, index2) { + return (this.dataKey ? resolveFieldData(option3, this.dataKey) : this.getOptionLabel(option3)) + "_" + index2; + }, "getOptionRenderKey"), + getPTOptions: /* @__PURE__ */ __name(function getPTOptions2(option3, itemOptions, index2, key) { + return this.ptm(key, { + context: { + selected: this.isSelected(option3), + focused: this.focusedOptionIndex === this.getOptionIndex(index2, itemOptions), + disabled: this.isOptionDisabled(option3) + } + }); + }, "getPTOptions"), + isOptionDisabled: /* @__PURE__ */ __name(function isOptionDisabled(option3) { + return this.optionDisabled ? resolveFieldData(option3, this.optionDisabled) : false; + }, "isOptionDisabled"), + isOptionGroup: /* @__PURE__ */ __name(function isOptionGroup(option3) { + return this.optionGroupLabel && option3.optionGroup && option3.group; + }, "isOptionGroup"), + getOptionGroupLabel: /* @__PURE__ */ __name(function getOptionGroupLabel(optionGroup) { + return resolveFieldData(optionGroup, this.optionGroupLabel); + }, "getOptionGroupLabel"), + getOptionGroupChildren: /* @__PURE__ */ __name(function getOptionGroupChildren(optionGroup) { + return resolveFieldData(optionGroup, this.optionGroupChildren); + }, "getOptionGroupChildren"), + getAriaPosInset: /* @__PURE__ */ __name(function getAriaPosInset(index2) { + var _this = this; + return (this.optionGroupLabel ? index2 - this.visibleOptions.slice(0, index2).filter(function(option3) { + return _this.isOptionGroup(option3); + }).length : index2) + 1; + }, "getAriaPosInset"), + onFirstHiddenFocus: /* @__PURE__ */ __name(function onFirstHiddenFocus() { + focus(this.list); + var firstFocusableEl = getFirstFocusableElement(this.$el, ':not([data-p-hidden-focusable="true"])'); + this.$refs.lastHiddenFocusableElement.tabIndex = isElement(firstFocusableEl) ? void 0 : -1; + this.$refs.firstHiddenFocusableElement.tabIndex = -1; + }, "onFirstHiddenFocus"), + onLastHiddenFocus: /* @__PURE__ */ __name(function onLastHiddenFocus(event2) { + var relatedTarget = event2.relatedTarget; + if (relatedTarget === this.list) { + var firstFocusableEl = getFirstFocusableElement(this.$el, ':not([data-p-hidden-focusable="true"])'); + focus(firstFocusableEl); + this.$refs.firstHiddenFocusableElement.tabIndex = void 0; + } else { + focus(this.$refs.firstHiddenFocusableElement); + } + this.$refs.lastHiddenFocusableElement.tabIndex = -1; + }, "onLastHiddenFocus"), + onFocusout: /* @__PURE__ */ __name(function onFocusout(event2) { + if (!this.$el.contains(event2.relatedTarget) && this.$refs.lastHiddenFocusableElement && this.$refs.firstHiddenFocusableElement) { + this.$refs.lastHiddenFocusableElement.tabIndex = this.$refs.firstHiddenFocusableElement.tabIndex = void 0; + } + }, "onFocusout"), + onListFocus: /* @__PURE__ */ __name(function onListFocus(event2) { + this.focused = true; + this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.findSelectedOptionIndex(); + this.autoUpdateModel(); + this.$emit("focus", event2); + }, "onListFocus"), + onListBlur: /* @__PURE__ */ __name(function onListBlur(event2) { + this.focused = false; + this.focusedOptionIndex = this.startRangeIndex = -1; + this.searchValue = ""; + this.$emit("blur", event2); + }, "onListBlur"), + onListKeyDown: /* @__PURE__ */ __name(function onListKeyDown(event2) { + var _this2 = this; + 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.onSpaceKey(event2); + break; + case "Tab": + break; + case "ShiftLeft": + case "ShiftRight": + this.onShiftKey(event2); + break; + default: + if (this.multiple && event2.code === "KeyA" && metaKey) { + var value3 = this.visibleOptions.filter(function(option3) { + return _this2.isValidOption(option3); + }).map(function(option3) { + return _this2.getOptionValue(option3); + }); + this.updateModel(event2, value3); + event2.preventDefault(); + break; + } + if (!metaKey && isPrintableCharacter(event2.key)) { + this.searchOptions(event2, event2.key); + event2.preventDefault(); + } + break; + } + }, "onListKeyDown"), + onOptionSelect: /* @__PURE__ */ __name(function onOptionSelect(event2, option3) { + var index2 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : -1; + if (this.disabled || this.isOptionDisabled(option3)) { + return; + } + this.multiple ? this.onOptionSelectMultiple(event2, option3) : this.onOptionSelectSingle(event2, option3); + this.optionTouched = false; + index2 !== -1 && (this.focusedOptionIndex = index2); + }, "onOptionSelect"), + onOptionMouseDown: /* @__PURE__ */ __name(function onOptionMouseDown(event2, index2) { + this.changeFocusedOptionIndex(event2, index2); + }, "onOptionMouseDown"), + onOptionMouseMove: /* @__PURE__ */ __name(function onOptionMouseMove(event2, index2) { + if (this.focusOnHover && this.focused) { + this.changeFocusedOptionIndex(event2, index2); + } + }, "onOptionMouseMove"), + onOptionTouchEnd: /* @__PURE__ */ __name(function onOptionTouchEnd() { + if (this.disabled) { + return; + } + this.optionTouched = true; + }, "onOptionTouchEnd"), + onOptionDblClick: /* @__PURE__ */ __name(function onOptionDblClick(event2, item2) { + this.$emit("item-dblclick", { + originalEvent: event2, + value: item2 + }); + this.$emit("option-dblclick", { + originalEvent: event2, + value: item2 + }); + }, "onOptionDblClick"), + onOptionSelectSingle: /* @__PURE__ */ __name(function onOptionSelectSingle(event2, option3) { + var selected2 = this.isSelected(option3); + var valueChanged = false; + var value3 = null; + var metaSelection = this.optionTouched ? false : this.metaKeySelection; + if (metaSelection) { + var metaKey = event2 && (event2.metaKey || event2.ctrlKey); + if (selected2) { + if (metaKey) { + value3 = null; + valueChanged = true; + } + } else { + value3 = this.getOptionValue(option3); + valueChanged = true; + } + } else { + value3 = selected2 ? null : this.getOptionValue(option3); + valueChanged = true; + } + if (valueChanged) { + this.updateModel(event2, value3); + } + }, "onOptionSelectSingle"), + onOptionSelectMultiple: /* @__PURE__ */ __name(function onOptionSelectMultiple(event2, option3) { + var selected2 = this.isSelected(option3); + var value3 = null; + var metaSelection = this.optionTouched ? false : this.metaKeySelection; + if (metaSelection) { + var metaKey = event2.metaKey || event2.ctrlKey; + if (selected2) { + value3 = metaKey ? this.removeOption(option3) : [this.getOptionValue(option3)]; + } else { + value3 = metaKey ? this.modelValue || [] : []; + value3 = [].concat(_toConsumableArray$9(value3), [this.getOptionValue(option3)]); + } + } else { + value3 = selected2 ? this.removeOption(option3) : [].concat(_toConsumableArray$9(this.modelValue || []), [this.getOptionValue(option3)]); + } + this.updateModel(event2, value3); + }, "onOptionSelectMultiple"), + onOptionSelectRange: /* @__PURE__ */ __name(function onOptionSelectRange(event2) { + var _this3 = this; + var start2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : -1; + var end = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : -1; + start2 === -1 && (start2 = this.findNearestSelectedOptionIndex(end, true)); + end === -1 && (end = this.findNearestSelectedOptionIndex(start2)); + if (start2 !== -1 && end !== -1) { + var rangeStart = Math.min(start2, end); + var rangeEnd = Math.max(start2, end); + var value3 = this.visibleOptions.slice(rangeStart, rangeEnd + 1).filter(function(option3) { + return _this3.isValidOption(option3); + }).map(function(option3) { + return _this3.getOptionValue(option3); + }); + this.updateModel(event2, value3); + } + }, "onOptionSelectRange"), + onFilterChange: /* @__PURE__ */ __name(function onFilterChange(event2) { + this.$emit("filter", { + originalEvent: event2, + value: event2.target.value + }); + this.focusedOptionIndex = this.startRangeIndex = -1; + }, "onFilterChange"), + onFilterBlur: /* @__PURE__ */ __name(function onFilterBlur() { + this.focusedOptionIndex = this.startRangeIndex = -1; + }, "onFilterBlur"), + onFilterKeyDown: /* @__PURE__ */ __name(function onFilterKeyDown(event2) { + switch (event2.code) { + case "ArrowDown": + this.onArrowDownKey(event2); + break; + case "ArrowUp": + this.onArrowUpKey(event2); + 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 "ShiftLeft": + case "ShiftRight": + this.onShiftKey(event2); + break; + } + }, "onFilterKeyDown"), + onArrowDownKey: /* @__PURE__ */ __name(function onArrowDownKey(event2) { + var optionIndex = this.focusedOptionIndex !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex) : this.findFirstFocusedOptionIndex(); + if (this.multiple && event2.shiftKey) { + this.onOptionSelectRange(event2, this.startRangeIndex, optionIndex); + } + this.changeFocusedOptionIndex(event2, optionIndex); + event2.preventDefault(); + }, "onArrowDownKey"), + onArrowUpKey: /* @__PURE__ */ __name(function onArrowUpKey(event2) { + var optionIndex = this.focusedOptionIndex !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex) : this.findLastFocusedOptionIndex(); + if (this.multiple && event2.shiftKey) { + this.onOptionSelectRange(event2, optionIndex, this.startRangeIndex); + } + this.changeFocusedOptionIndex(event2, optionIndex); + event2.preventDefault(); + }, "onArrowUpKey"), + onArrowLeftKey: /* @__PURE__ */ __name(function onArrowLeftKey(event2) { + var pressedInInputText = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + pressedInInputText && (this.focusedOptionIndex = -1); + }, "onArrowLeftKey"), + onHomeKey: /* @__PURE__ */ __name(function onHomeKey(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 (this.multiple && event2.shiftKey && metaKey) { + this.onOptionSelectRange(event2, optionIndex, this.startRangeIndex); + } + this.changeFocusedOptionIndex(event2, optionIndex); + } + event2.preventDefault(); + }, "onHomeKey"), + onEndKey: /* @__PURE__ */ __name(function onEndKey(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 (this.multiple && event2.shiftKey && metaKey) { + this.onOptionSelectRange(event2, this.startRangeIndex, optionIndex); + } + this.changeFocusedOptionIndex(event2, optionIndex); + } + 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 onEnterKey(event2) { + if (this.focusedOptionIndex !== -1) { + if (this.multiple && event2.shiftKey) this.onOptionSelectRange(event2, this.focusedOptionIndex); + else this.onOptionSelect(event2, this.visibleOptions[this.focusedOptionIndex]); + } + }, "onEnterKey"), + onSpaceKey: /* @__PURE__ */ __name(function onSpaceKey(event2) { + event2.preventDefault(); + this.onEnterKey(event2); + }, "onSpaceKey"), + onShiftKey: /* @__PURE__ */ __name(function onShiftKey() { + this.startRangeIndex = this.focusedOptionIndex; + }, "onShiftKey"), + isOptionMatched: /* @__PURE__ */ __name(function isOptionMatched(option3) { + var _this$getOptionLabel; + return this.isValidOption(option3) && typeof this.getOptionLabel(option3) === "string" && ((_this$getOptionLabel = this.getOptionLabel(option3)) === null || _this$getOptionLabel === void 0 ? void 0 : _this$getOptionLabel.toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale))); + }, "isOptionMatched"), + isValidOption: /* @__PURE__ */ __name(function isValidOption(option3) { + return isNotEmpty(option3) && !(this.isOptionDisabled(option3) || this.isOptionGroup(option3)); + }, "isValidOption"), + isValidSelectedOption: /* @__PURE__ */ __name(function isValidSelectedOption(option3) { + return this.isValidOption(option3) && this.isSelected(option3); + }, "isValidSelectedOption"), + isEquals: /* @__PURE__ */ __name(function isEquals(value1, value22) { + return equals(value1, value22, this.equalityKey); + }, "isEquals"), + isSelected: /* @__PURE__ */ __name(function isSelected(option3) { + var _this4 = this; + var optionValue = this.getOptionValue(option3); + if (this.multiple) return (this.modelValue || []).some(function(value3) { + return _this4.isEquals(value3, optionValue); + }); + else return this.isEquals(this.modelValue, optionValue); + }, "isSelected"), + findFirstOptionIndex: /* @__PURE__ */ __name(function findFirstOptionIndex() { + var _this5 = this; + return this.visibleOptions.findIndex(function(option3) { + return _this5.isValidOption(option3); + }); + }, "findFirstOptionIndex"), + findLastOptionIndex: /* @__PURE__ */ __name(function findLastOptionIndex() { + var _this6 = this; + return findLastIndex(this.visibleOptions, function(option3) { + return _this6.isValidOption(option3); + }); + }, "findLastOptionIndex"), + findNextOptionIndex: /* @__PURE__ */ __name(function findNextOptionIndex(index2) { + var _this7 = this; + var matchedOptionIndex = index2 < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index2 + 1).findIndex(function(option3) { + return _this7.isValidOption(option3); + }) : -1; + return matchedOptionIndex > -1 ? matchedOptionIndex + index2 + 1 : index2; + }, "findNextOptionIndex"), + findPrevOptionIndex: /* @__PURE__ */ __name(function findPrevOptionIndex(index2) { + var _this8 = this; + var matchedOptionIndex = index2 > 0 ? findLastIndex(this.visibleOptions.slice(0, index2), function(option3) { + return _this8.isValidOption(option3); + }) : -1; + return matchedOptionIndex > -1 ? matchedOptionIndex : index2; + }, "findPrevOptionIndex"), + findSelectedOptionIndex: /* @__PURE__ */ __name(function findSelectedOptionIndex() { + var _this9 = this; + if (this.hasSelectedOption) { + if (this.multiple) { + var _loop = /* @__PURE__ */ __name(function _loop2() { + var value3 = _this9.modelValue[index2]; + var matchedOptionIndex = _this9.visibleOptions.findIndex(function(option3) { + return _this9.isValidSelectedOption(option3) && _this9.isEquals(value3, _this9.getOptionValue(option3)); + }); + if (matchedOptionIndex > -1) return { + v: matchedOptionIndex + }; + }, "_loop"), _ret; + for (var index2 = this.modelValue.length - 1; index2 >= 0; index2--) { + _ret = _loop(); + if (_ret) return _ret.v; + } + } else { + return this.visibleOptions.findIndex(function(option3) { + return _this9.isValidSelectedOption(option3); + }); + } + } + return -1; + }, "findSelectedOptionIndex"), + findFirstSelectedOptionIndex: /* @__PURE__ */ __name(function findFirstSelectedOptionIndex() { + var _this10 = this; + return this.hasSelectedOption ? this.visibleOptions.findIndex(function(option3) { + return _this10.isValidSelectedOption(option3); + }) : -1; + }, "findFirstSelectedOptionIndex"), + findLastSelectedOptionIndex: /* @__PURE__ */ __name(function findLastSelectedOptionIndex() { + var _this11 = this; + return this.hasSelectedOption ? findLastIndex(this.visibleOptions, function(option3) { + return _this11.isValidSelectedOption(option3); + }) : -1; + }, "findLastSelectedOptionIndex"), + findNextSelectedOptionIndex: /* @__PURE__ */ __name(function findNextSelectedOptionIndex(index2) { + var _this12 = this; + var matchedOptionIndex = this.hasSelectedOption && index2 < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index2 + 1).findIndex(function(option3) { + return _this12.isValidSelectedOption(option3); + }) : -1; + return matchedOptionIndex > -1 ? matchedOptionIndex + index2 + 1 : -1; + }, "findNextSelectedOptionIndex"), + findPrevSelectedOptionIndex: /* @__PURE__ */ __name(function findPrevSelectedOptionIndex(index2) { + var _this13 = this; + var matchedOptionIndex = this.hasSelectedOption && index2 > 0 ? findLastIndex(this.visibleOptions.slice(0, index2), function(option3) { + return _this13.isValidSelectedOption(option3); + }) : -1; + return matchedOptionIndex > -1 ? matchedOptionIndex : -1; + }, "findPrevSelectedOptionIndex"), + findNearestSelectedOptionIndex: /* @__PURE__ */ __name(function findNearestSelectedOptionIndex(index2) { + var firstCheckUp = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + var matchedOptionIndex = -1; + if (this.hasSelectedOption) { + if (firstCheckUp) { + matchedOptionIndex = this.findPrevSelectedOptionIndex(index2); + matchedOptionIndex = matchedOptionIndex === -1 ? this.findNextSelectedOptionIndex(index2) : matchedOptionIndex; + } else { + matchedOptionIndex = this.findNextSelectedOptionIndex(index2); + matchedOptionIndex = matchedOptionIndex === -1 ? this.findPrevSelectedOptionIndex(index2) : matchedOptionIndex; + } + } + return matchedOptionIndex > -1 ? matchedOptionIndex : index2; + }, "findNearestSelectedOptionIndex"), + findFirstFocusedOptionIndex: /* @__PURE__ */ __name(function findFirstFocusedOptionIndex() { + var selectedIndex = this.findFirstSelectedOptionIndex(); + return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex; + }, "findFirstFocusedOptionIndex"), + findLastFocusedOptionIndex: /* @__PURE__ */ __name(function findLastFocusedOptionIndex() { + var selectedIndex = this.findLastSelectedOptionIndex(); + return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex; + }, "findLastFocusedOptionIndex"), + searchOptions: /* @__PURE__ */ __name(function searchOptions(event2, _char) { + var _this14 = this; + this.searchValue = (this.searchValue || "") + _char; + var optionIndex = -1; + if (isNotEmpty(this.searchValue)) { + if (this.focusedOptionIndex !== -1) { + optionIndex = this.visibleOptions.slice(this.focusedOptionIndex).findIndex(function(option3) { + return _this14.isOptionMatched(option3); + }); + optionIndex = optionIndex === -1 ? this.visibleOptions.slice(0, this.focusedOptionIndex).findIndex(function(option3) { + return _this14.isOptionMatched(option3); + }) : optionIndex + this.focusedOptionIndex; + } else { + optionIndex = this.visibleOptions.findIndex(function(option3) { + return _this14.isOptionMatched(option3); + }); + } + 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() { + _this14.searchValue = ""; + _this14.searchTimeout = null; + }, 500); + }, "searchOptions"), + removeOption: /* @__PURE__ */ __name(function removeOption(option3) { + var _this15 = this; + return this.modelValue.filter(function(val) { + return !equals(val, _this15.getOptionValue(option3), _this15.equalityKey); + }); + }, "removeOption"), + changeFocusedOptionIndex: /* @__PURE__ */ __name(function changeFocusedOptionIndex(event2, index2) { + if (this.focusedOptionIndex !== index2) { + this.focusedOptionIndex = index2; + this.scrollInView(); + if (this.selectOnFocus && !this.multiple) { + this.onOptionSelect(event2, this.visibleOptions[index2]); + } + } + }, "changeFocusedOptionIndex"), + scrollInView: /* @__PURE__ */ __name(function scrollInView3() { + var _this16 = this; + var index2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : -1; + this.$nextTick(function() { + var id3 = index2 !== -1 ? "".concat(_this16.id, "_").concat(index2) : _this16.focusedOptionId; + var element = findSingle(_this16.list, 'li[id="'.concat(id3, '"]')); + if (element) { + element.scrollIntoView && element.scrollIntoView({ + block: "nearest", + inline: "nearest", + behavior: "smooth" + }); + } else if (!_this16.virtualScrollerDisabled) { + _this16.virtualScroller && _this16.virtualScroller.scrollToIndex(index2 !== -1 ? index2 : _this16.focusedOptionIndex); + } + }); + }, "scrollInView"), + autoUpdateModel: /* @__PURE__ */ __name(function autoUpdateModel() { + if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption && !this.multiple && this.focused) { + this.focusedOptionIndex = this.findFirstFocusedOptionIndex(); + this.onOptionSelect(null, this.visibleOptions[this.focusedOptionIndex]); + } + }, "autoUpdateModel"), + updateModel: /* @__PURE__ */ __name(function updateModel(event2, value3) { + this.$emit("update:modelValue", value3); + this.$emit("change", { + originalEvent: event2, + value: value3 + }); + }, "updateModel"), + flatOptions: /* @__PURE__ */ __name(function flatOptions(options3) { + var _this17 = this; + return (options3 || []).reduce(function(result, option3, index2) { + result.push({ + optionGroup: option3, + group: true, + index: index2 + }); + var optionGroupChildren = _this17.getOptionGroupChildren(option3); + optionGroupChildren && optionGroupChildren.forEach(function(o) { + return result.push(o); + }); + return result; + }, []); + }, "flatOptions"), + listRef: /* @__PURE__ */ __name(function listRef(el, contentRef3) { + this.list = el; + contentRef3 && contentRef3(el); + }, "listRef"), + virtualScrollerRef: /* @__PURE__ */ __name(function virtualScrollerRef(el) { + this.virtualScroller = el; + }, "virtualScrollerRef") + }, + computed: { + visibleOptions: /* @__PURE__ */ __name(function visibleOptions() { + var options3 = this.optionGroupLabel ? this.flatOptions(this.options) : this.options || []; + return this.filterValue ? FilterService.filter(options3, this.searchFields, this.filterValue, this.filterMatchMode, this.filterLocale) : options3; + }, "visibleOptions"), + hasSelectedOption: /* @__PURE__ */ __name(function hasSelectedOption() { + return isNotEmpty(this.modelValue); + }, "hasSelectedOption"), + equalityKey: /* @__PURE__ */ __name(function equalityKey() { + return this.optionValue ? null : this.dataKey; + }, "equalityKey"), + searchFields: /* @__PURE__ */ __name(function searchFields() { + return this.filterFields || [this.optionLabel]; + }, "searchFields"), + 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 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.hasSelectedOption ? this.selectionMessageText.replaceAll("{0}", this.multiple ? this.modelValue.length : "1") : this.emptySelectionMessageText; + }, "selectedMessageText"), + focusedOptionId: /* @__PURE__ */ __name(function focusedOptionId() { + return this.focusedOptionIndex !== -1 ? "".concat(this.id, "_").concat(this.focusedOptionIndex) : null; + }, "focusedOptionId"), + ariaSetSize: /* @__PURE__ */ __name(function ariaSetSize() { + var _this18 = this; + return this.visibleOptions.filter(function(option3) { + return !_this18.isOptionGroup(option3); + }).length; + }, "ariaSetSize"), + virtualScrollerDisabled: /* @__PURE__ */ __name(function virtualScrollerDisabled() { + return !this.virtualScrollerOptions; + }, "virtualScrollerDisabled") + }, + directives: { + ripple: Ripple + }, + components: { + InputText: script$N, + VirtualScroller: script$L, + InputIcon: script$O, + IconField: script$P, + SearchIcon: script$Q, + CheckIcon: script$R, + BlankIcon: script$S + } +}; +var _hoisted_1$P = ["id"]; +var _hoisted_2$B = ["tabindex"]; +var _hoisted_3$n = ["id", "aria-multiselectable", "aria-label", "aria-labelledby", "aria-activedescendant", "aria-disabled"]; +var _hoisted_4$f = ["id"]; +var _hoisted_5$c = ["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$8 = ["tabindex"]; +function render$J(_ctx, _cache, $props, $setup, $data, $options) { + var _component_InputText = resolveComponent("InputText"); + var _component_SearchIcon = resolveComponent("SearchIcon"); + var _component_InputIcon = resolveComponent("InputIcon"); + var _component_IconField = resolveComponent("IconField"); + var _component_CheckIcon = resolveComponent("CheckIcon"); + var _component_BlankIcon = resolveComponent("BlankIcon"); + var _component_VirtualScroller = resolveComponent("VirtualScroller"); + var _directive_ripple = resolveDirective("ripple"); + return openBlock(), createElementBlock("div", mergeProps$1({ + id: $data.id, + "class": _ctx.cx("root"), + onFocusout: _cache[7] || (_cache[7] = function() { + return $options.onFocusout && $options.onFocusout.apply($options, arguments); + }) + }, _ctx.ptmi("root")), [createBaseVNode("span", mergeProps$1({ + ref: "firstHiddenFocusableElement", + role: "presentation", + "aria-hidden": "true", + "class": "p-hidden-accessible p-hidden-focusable", + tabindex: !_ctx.disabled ? _ctx.tabindex : -1, + onFocus: _cache[0] || (_cache[0] = function() { + return $options.onFirstHiddenFocus && $options.onFirstHiddenFocus.apply($options, arguments); + }) + }, _ctx.ptm("hiddenFirstFocusableEl"), { + "data-p-hidden-accessible": true, + "data-p-hidden-focusable": true + }), null, 16, _hoisted_2$B), _ctx.$slots.header ? (openBlock(), createElementBlock("div", { + key: 0, + "class": normalizeClass(_ctx.cx("header")) + }, [renderSlot(_ctx.$slots, "header", { + value: _ctx.modelValue, + options: $options.visibleOptions + })], 2)) : createCommentVNode("", true), _ctx.filter ? (openBlock(), createElementBlock("div", mergeProps$1({ + key: 1, + "class": _ctx.cx("header") + }, _ctx.ptm("header")), [createVNode(_component_IconField, { + unstyled: _ctx.unstyled, + pt: _ctx.ptm("pcFilterContainer") + }, { + "default": withCtx(function() { + return [createVNode(_component_InputText, { + modelValue: $data.filterValue, + "onUpdate:modelValue": _cache[1] || (_cache[1] = function($event) { + return $data.filterValue = $event; + }), + type: "text", + "class": normalizeClass(_ctx.cx("pcFilter")), + placeholder: _ctx.filterPlaceholder, + role: "searchbox", + autocomplete: "off", + disabled: _ctx.disabled, + unstyled: _ctx.unstyled, + "aria-owns": $data.id + "_list", + "aria-activedescendant": $options.focusedOptionId, + tabindex: !_ctx.disabled && !$data.focused ? _ctx.tabindex : -1, + onInput: $options.onFilterChange, + onBlur: $options.onFilterBlur, + onKeydown: $options.onFilterKeyDown, + pt: _ctx.ptm("pcFilter") + }, null, 8, ["modelValue", "class", "placeholder", "disabled", "unstyled", "aria-owns", "aria-activedescendant", "tabindex", "onInput", "onBlur", "onKeydown", "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$1({ + key: 0, + "class": _ctx.filterIcon + }, _ctx.ptm("filterIcon")), null, 16)) : (openBlock(), createBlock(_component_SearchIcon, normalizeProps(mergeProps$1({ + key: 1 + }, _ctx.ptm("filterIcon"))), null, 16))]; + })]; + }), + _: 3 + }, 8, ["unstyled", "pt"])]; + }), + _: 3 + }, 8, ["unstyled", "pt"]), createBaseVNode("span", mergeProps$1({ + role: "status", + "aria-live": "polite", + "class": "p-hidden-accessible" + }, _ctx.ptm("hiddenFilterResult"), { + "data-p-hidden-accessible": true + }), toDisplayString$1($options.filterResultMessageText), 17)], 16)) : createCommentVNode("", true), createBaseVNode("div", mergeProps$1({ + "class": _ctx.cx("listContainer"), + style: [{ + "max-height": $options.virtualScrollerDisabled ? _ctx.scrollHeight : "" + }, _ctx.listStyle] + }, _ctx.ptm("listContainer")), [createVNode(_component_VirtualScroller, mergeProps$1({ + ref: $options.virtualScrollerRef + }, _ctx.virtualScrollerOptions, { + items: $options.visibleOptions, + style: [{ + height: _ctx.scrollHeight + }, _ctx.listStyle], + tabindex: -1, + disabled: $options.virtualScrollerDisabled, + pt: _ctx.ptm("virtualScroller") + }), createSlots({ + content: withCtx(function(_ref) { + var styleClass = _ref.styleClass, contentRef3 = _ref.contentRef, items2 = _ref.items, getItemOptions = _ref.getItemOptions, contentStyle = _ref.contentStyle, itemSize2 = _ref.itemSize; + return [createBaseVNode("ul", mergeProps$1({ + ref: /* @__PURE__ */ __name(function ref2(el) { + return $options.listRef(el, contentRef3); + }, "ref"), + id: $data.id + "_list", + "class": [_ctx.cx("list"), styleClass], + style: contentStyle, + tabindex: -1, + role: "listbox", + "aria-multiselectable": _ctx.multiple, + "aria-label": _ctx.ariaLabel, + "aria-labelledby": _ctx.ariaLabelledby, + "aria-activedescendant": $data.focused ? $options.focusedOptionId : void 0, + "aria-disabled": _ctx.disabled, + onFocus: _cache[3] || (_cache[3] = function() { + return $options.onListFocus && $options.onListFocus.apply($options, arguments); + }), + onBlur: _cache[4] || (_cache[4] = function() { + return $options.onListBlur && $options.onListBlur.apply($options, arguments); + }), + onKeydown: _cache[5] || (_cache[5] = function() { + return $options.onListKeyDown && $options.onListKeyDown.apply($options, arguments); + }) + }, _ctx.ptm("list")), [(openBlock(true), createElementBlock(Fragment, null, renderList(items2, function(option3, i2) { + return openBlock(), createElementBlock(Fragment, { + key: $options.getOptionRenderKey(option3, $options.getOptionIndex(i2, getItemOptions)) + }, [$options.isOptionGroup(option3) ? (openBlock(), createElementBlock("li", mergeProps$1({ + key: 0, + id: $data.id + "_" + $options.getOptionIndex(i2, getItemOptions), + style: { + height: itemSize2 ? itemSize2 + "px" : void 0 + }, + "class": _ctx.cx("optionGroup"), + role: "option", + ref_for: true + }, _ctx.ptm("optionGroup")), [renderSlot(_ctx.$slots, "optiongroup", { + option: option3.optionGroup, + index: $options.getOptionIndex(i2, getItemOptions) + }, function() { + return [createTextVNode(toDisplayString$1($options.getOptionGroupLabel(option3.optionGroup)), 1)]; + })], 16, _hoisted_4$f)) : withDirectives((openBlock(), createElementBlock("li", mergeProps$1({ + key: 1, + id: $data.id + "_" + $options.getOptionIndex(i2, getItemOptions), + style: { + height: itemSize2 ? itemSize2 + "px" : void 0 + }, + "class": _ctx.cx("option", { + option: option3, + index: i2, + getItemOptions + }), + role: "option", + "aria-label": $options.getOptionLabel(option3), + "aria-selected": $options.isSelected(option3), + "aria-disabled": $options.isOptionDisabled(option3), + "aria-setsize": $options.ariaSetSize, + "aria-posinset": $options.getAriaPosInset($options.getOptionIndex(i2, getItemOptions)), + onClick: /* @__PURE__ */ __name(function onClick3($event) { + return $options.onOptionSelect($event, option3, $options.getOptionIndex(i2, getItemOptions)); + }, "onClick"), + onMousedown: /* @__PURE__ */ __name(function onMousedown($event) { + return $options.onOptionMouseDown($event, $options.getOptionIndex(i2, getItemOptions)); + }, "onMousedown"), + onMousemove: /* @__PURE__ */ __name(function onMousemove($event) { + return $options.onOptionMouseMove($event, $options.getOptionIndex(i2, getItemOptions)); + }, "onMousemove"), + onTouchend: _cache[2] || (_cache[2] = function($event) { + return $options.onOptionTouchEnd(); + }), + onDblclick: /* @__PURE__ */ __name(function onDblclick($event) { + return $options.onOptionDblClick($event, option3); + }, "onDblclick"), + ref_for: true + }, $options.getPTOptions(option3, getItemOptions, i2, "option"), { + "data-p-selected": $options.isSelected(option3), + "data-p-focused": $data.focusedOptionIndex === $options.getOptionIndex(i2, getItemOptions), + "data-p-disabled": $options.isOptionDisabled(option3) + }), [_ctx.checkmark ? (openBlock(), createElementBlock(Fragment, { + key: 0 + }, [$options.isSelected(option3) ? (openBlock(), createBlock(_component_CheckIcon, mergeProps$1({ + key: 0, + "class": _ctx.cx("optionCheckIcon"), + ref_for: true + }, _ctx.ptm("optionCheckIcon")), null, 16, ["class"])) : (openBlock(), createBlock(_component_BlankIcon, mergeProps$1({ + key: 1, + "class": _ctx.cx("optionBlankIcon"), + ref_for: true + }, _ctx.ptm("optionBlankIcon")), null, 16, ["class"]))], 64)) : createCommentVNode("", true), renderSlot(_ctx.$slots, "option", { + option: option3, + selected: $options.isSelected(option3), + index: $options.getOptionIndex(i2, getItemOptions) + }, function() { + return [createTextVNode(toDisplayString$1($options.getOptionLabel(option3)), 1)]; + })], 16, _hoisted_5$c)), [[_directive_ripple]])], 64); + }), 128)), $data.filterValue && (!items2 || items2 && items2.length === 0) ? (openBlock(), createElementBlock("li", mergeProps$1({ + key: 0, + "class": _ctx.cx("emptyMessage"), + role: "option" + }, _ctx.ptm("emptyMessage")), [renderSlot(_ctx.$slots, "emptyfilter", {}, function() { + return [createTextVNode(toDisplayString$1($options.emptyFilterMessageText), 1)]; + })], 16)) : !_ctx.options || _ctx.options && _ctx.options.length === 0 ? (openBlock(), createElementBlock("li", mergeProps$1({ + key: 1, + "class": _ctx.cx("emptyMessage"), + role: "option" + }, _ctx.ptm("emptyMessage")), [renderSlot(_ctx.$slots, "empty", {}, function() { + return [createTextVNode(toDisplayString$1($options.emptyMessageText), 1)]; + })], 16)) : createCommentVNode("", true)], 16, _hoisted_3$n)]; + }), + _: 2 + }, [_ctx.$slots.loader ? { + name: "loader", + fn: withCtx(function(_ref2) { + var options3 = _ref2.options; + return [renderSlot(_ctx.$slots, "loader", { + options: options3 + })]; + }), + key: "0" + } : void 0]), 1040, ["items", "style", "disabled", "pt"])], 16), renderSlot(_ctx.$slots, "footer", { + value: _ctx.modelValue, + options: $options.visibleOptions + }), !_ctx.options || _ctx.options && _ctx.options.length === 0 ? (openBlock(), createElementBlock("span", mergeProps$1({ + key: 2, + role: "status", + "aria-live": "polite", + "class": "p-hidden-accessible" + }, _ctx.ptm("hiddenEmptyMessage"), { + "data-p-hidden-accessible": true + }), toDisplayString$1($options.emptyMessageText), 17)) : createCommentVNode("", true), createBaseVNode("span", mergeProps$1({ + role: "status", + "aria-live": "polite", + "class": "p-hidden-accessible" + }, _ctx.ptm("hiddenSelectedMessage"), { + "data-p-hidden-accessible": true + }), toDisplayString$1($options.selectedMessageText), 17), createBaseVNode("span", mergeProps$1({ + ref: "lastHiddenFocusableElement", + role: "presentation", + "aria-hidden": "true", + "class": "p-hidden-accessible p-hidden-focusable", + tabindex: !_ctx.disabled ? _ctx.tabindex : -1, + onFocus: _cache[6] || (_cache[6] = function() { + return $options.onLastHiddenFocus && $options.onLastHiddenFocus.apply($options, arguments); + }) + }, _ctx.ptm("hiddenLastFocusableEl"), { + "data-p-hidden-accessible": true, + "data-p-hidden-focusable": true + }), null, 16, _hoisted_6$8)], 16, _hoisted_1$P); +} +__name(render$J, "render$J"); +script$K.render = render$J; +var theme$r = /* @__PURE__ */ __name(function theme8(_ref) { + var dt2 = _ref.dt; + return "\n.p-badge {\n display: inline-flex;\n border-radius: ".concat(dt2("badge.border.radius"), ";\n align-items: center;\n justify-content: center;\n padding: ").concat(dt2("badge.padding"), ";\n background: ").concat(dt2("badge.primary.background"), ";\n color: ").concat(dt2("badge.primary.color"), ";\n font-size: ").concat(dt2("badge.font.size"), ";\n font-weight: ").concat(dt2("badge.font.weight"), ";\n min-width: ").concat(dt2("badge.min.width"), ";\n height: ").concat(dt2("badge.height"), ";\n}\n\n.p-badge-dot {\n width: ").concat(dt2("badge.dot.size"), ";\n min-width: ").concat(dt2("badge.dot.size"), ";\n height: ").concat(dt2("badge.dot.size"), ";\n border-radius: 50%;\n padding: 0;\n}\n\n.p-badge-circle {\n padding: 0;\n border-radius: 50%;\n}\n\n.p-badge-secondary {\n background: ").concat(dt2("badge.secondary.background"), ";\n color: ").concat(dt2("badge.secondary.color"), ";\n}\n\n.p-badge-success {\n background: ").concat(dt2("badge.success.background"), ";\n color: ").concat(dt2("badge.success.color"), ";\n}\n\n.p-badge-info {\n background: ").concat(dt2("badge.info.background"), ";\n color: ").concat(dt2("badge.info.color"), ";\n}\n\n.p-badge-warn {\n background: ").concat(dt2("badge.warn.background"), ";\n color: ").concat(dt2("badge.warn.color"), ";\n}\n\n.p-badge-danger {\n background: ").concat(dt2("badge.danger.background"), ";\n color: ").concat(dt2("badge.danger.color"), ";\n}\n\n.p-badge-contrast {\n background: ").concat(dt2("badge.contrast.background"), ";\n color: ").concat(dt2("badge.contrast.color"), ";\n}\n\n.p-badge-sm {\n font-size: ").concat(dt2("badge.sm.font.size"), ";\n min-width: ").concat(dt2("badge.sm.min.width"), ";\n height: ").concat(dt2("badge.sm.height"), ";\n}\n\n.p-badge-lg {\n font-size: ").concat(dt2("badge.lg.font.size"), ";\n min-width: ").concat(dt2("badge.lg.min.width"), ";\n height: ").concat(dt2("badge.lg.height"), ";\n}\n\n.p-badge-xl {\n font-size: ").concat(dt2("badge.xl.font.size"), ";\n min-width: ").concat(dt2("badge.xl.min.width"), ";\n height: ").concat(dt2("badge.xl.height"), ";\n}\n"); +}, "theme"); +var classes$t = { + root: /* @__PURE__ */ __name(function root3(_ref2) { + var props = _ref2.props, instance = _ref2.instance; + return ["p-badge p-component", { + "p-badge-circle": isNotEmpty(props.value) && String(props.value).length === 1, + "p-badge-dot": isEmpty(props.value) && !instance.$slots["default"], + "p-badge-sm": props.size === "small", + "p-badge-lg": props.size === "large", + "p-badge-xl": props.size === "xlarge", + "p-badge-info": props.severity === "info", + "p-badge-success": props.severity === "success", + "p-badge-warn": props.severity === "warn", + "p-badge-danger": props.severity === "danger", + "p-badge-secondary": props.severity === "secondary", + "p-badge-contrast": props.severity === "contrast" + }]; + }, "root") +}; +var BadgeStyle = BaseStyle.extend({ + name: "badge", + theme: theme$r, + classes: classes$t +}); +var script$1$s = { + name: "BaseBadge", + "extends": script$U, + props: { + value: { + type: [String, Number], + "default": null + }, + severity: { + type: String, + "default": null + }, + size: { + type: String, + "default": null + } + }, + style: BadgeStyle, + provide: /* @__PURE__ */ __name(function provide8() { + return { + $pcBadge: this, + $parentInstance: this + }; + }, "provide") +}; +var script$J = { + name: "Badge", + "extends": script$1$s, + inheritAttrs: false +}; +function render$I(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("span", mergeProps$1({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default", {}, function() { + return [createTextVNode(toDisplayString$1(_ctx.value), 1)]; + })], 16); +} +__name(render$I, "render$I"); +script$J.render = render$I; +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 _defineProperty$c(e, r, t) { + return (r = _toPropertyKey$c(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$c, "_defineProperty$c"); +function _toPropertyKey$c(t) { + var i2 = _toPrimitive$c(t, "string"); + return "symbol" == _typeof$c(i2) ? i2 : i2 + ""; +} +__name(_toPropertyKey$c, "_toPropertyKey$c"); +function _toPrimitive$c(t, r) { + if ("object" != _typeof$c(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i2 = e.call(t, r || "default"); + if ("object" != _typeof$c(i2)) return i2; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$c, "_toPrimitive$c"); +var theme$q = /* @__PURE__ */ __name(function theme9(_ref) { + var dt2 = _ref.dt; + return "\n.p-button {\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 color: ".concat(dt2("button.primary.color"), ";\n background: ").concat(dt2("button.primary.background"), ";\n border: 1px solid ").concat(dt2("button.primary.border.color"), ";\n padding: ").concat(dt2("button.padding.y"), " ").concat(dt2("button.padding.x"), ";\n font-size: 1rem;\n font-family: inherit;\n font-feature-settings: inherit;\n transition: background ").concat(dt2("button.transition.duration"), ", color ").concat(dt2("button.transition.duration"), ", border-color ").concat(dt2("button.transition.duration"), ",\n outline-color ").concat(dt2("button.transition.duration"), ", box-shadow ").concat(dt2("button.transition.duration"), ";\n border-radius: ").concat(dt2("button.border.radius"), ";\n outline-color: transparent;\n gap: ").concat(dt2("button.gap"), ";\n}\n\n.p-button:disabled {\n cursor: default;\n}\n\n.p-button-icon-right {\n order: 1;\n}\n\n.p-button-icon-bottom {\n order: 2;\n}\n\n.p-button-icon-only {\n width: ").concat(dt2("button.icon.only.width"), ";\n padding-left: 0;\n padding-right: 0;\n gap: 0;\n}\n\n.p-button-icon-only.p-button-rounded {\n border-radius: 50%;\n height: ").concat(dt2("button.icon.only.width"), ";\n}\n\n.p-button-icon-only .p-button-label {\n visibility: hidden;\n width: 0;\n}\n\n.p-button-sm {\n font-size: ").concat(dt2("button.sm.font.size"), ";\n padding: ").concat(dt2("button.sm.padding.y"), " ").concat(dt2("button.sm.padding.x"), ";\n}\n\n.p-button-sm .p-button-icon {\n font-size: ").concat(dt2("button.sm.font.size"), ";\n}\n\n.p-button-lg {\n font-size: ").concat(dt2("button.lg.font.size"), ";\n padding: ").concat(dt2("button.lg.padding.y"), " ").concat(dt2("button.lg.padding.x"), ";\n}\n\n.p-button-lg .p-button-icon {\n font-size: ").concat(dt2("button.lg.font.size"), ";\n}\n\n.p-button-vertical {\n flex-direction: column;\n}\n\n.p-button-label {\n font-weight: ").concat(dt2("button.label.font.weight"), ";\n}\n\n.p-button-fluid {\n width: 100%;\n}\n\n.p-button-fluid.p-button-icon-only {\n width: ").concat(dt2("button.icon.only.width"), ";\n}\n\n.p-button:not(:disabled):hover {\n background: ").concat(dt2("button.primary.hover.background"), ";\n border: 1px solid ").concat(dt2("button.primary.hover.border.color"), ";\n color: ").concat(dt2("button.primary.hover.color"), ";\n}\n\n.p-button:not(:disabled):active {\n background: ").concat(dt2("button.primary.active.background"), ";\n border: 1px solid ").concat(dt2("button.primary.active.border.color"), ";\n color: ").concat(dt2("button.primary.active.color"), ";\n}\n\n.p-button:focus-visible {\n box-shadow: ").concat(dt2("button.primary.focus.ring.shadow"), ";\n outline: ").concat(dt2("button.focus.ring.width"), " ").concat(dt2("button.focus.ring.style"), " ").concat(dt2("button.primary.focus.ring.color"), ";\n outline-offset: ").concat(dt2("button.focus.ring.offset"), ";\n}\n\n.p-button .p-badge {\n min-width: ").concat(dt2("button.badge.size"), ";\n height: ").concat(dt2("button.badge.size"), ";\n line-height: ").concat(dt2("button.badge.size"), ";\n}\n\n.p-button-raised {\n box-shadow: ").concat(dt2("button.raised.shadow"), ";\n}\n\n.p-button-rounded {\n border-radius: ").concat(dt2("button.rounded.border.radius"), ";\n}\n\n.p-button-secondary {\n background: ").concat(dt2("button.secondary.background"), ";\n border: 1px solid ").concat(dt2("button.secondary.border.color"), ";\n color: ").concat(dt2("button.secondary.color"), ";\n}\n\n.p-button-secondary:not(:disabled):hover {\n background: ").concat(dt2("button.secondary.hover.background"), ";\n border: 1px solid ").concat(dt2("button.secondary.hover.border.color"), ";\n color: ").concat(dt2("button.secondary.hover.color"), ";\n}\n\n.p-button-secondary:not(:disabled):active {\n background: ").concat(dt2("button.secondary.active.background"), ";\n border: 1px solid ").concat(dt2("button.secondary.active.border.color"), ";\n color: ").concat(dt2("button.secondary.active.color"), ";\n}\n\n.p-button-secondary:focus-visible {\n outline-color: ").concat(dt2("button.secondary.focus.ring.color"), ";\n box-shadow: ").concat(dt2("button.secondary.focus.ring.shadow"), ";\n}\n\n.p-button-success {\n background: ").concat(dt2("button.success.background"), ";\n border: 1px solid ").concat(dt2("button.success.border.color"), ";\n color: ").concat(dt2("button.success.color"), ";\n}\n\n.p-button-success:not(:disabled):hover {\n background: ").concat(dt2("button.success.hover.background"), ";\n border: 1px solid ").concat(dt2("button.success.hover.border.color"), ";\n color: ").concat(dt2("button.success.hover.color"), ";\n}\n\n.p-button-success:not(:disabled):active {\n background: ").concat(dt2("button.success.active.background"), ";\n border: 1px solid ").concat(dt2("button.success.active.border.color"), ";\n color: ").concat(dt2("button.success.active.color"), ";\n}\n\n.p-button-success:focus-visible {\n outline-color: ").concat(dt2("button.success.focus.ring.color"), ";\n box-shadow: ").concat(dt2("button.success.focus.ring.shadow"), ";\n}\n\n.p-button-info {\n background: ").concat(dt2("button.info.background"), ";\n border: 1px solid ").concat(dt2("button.info.border.color"), ";\n color: ").concat(dt2("button.info.color"), ";\n}\n\n.p-button-info:not(:disabled):hover {\n background: ").concat(dt2("button.info.hover.background"), ";\n border: 1px solid ").concat(dt2("button.info.hover.border.color"), ";\n color: ").concat(dt2("button.info.hover.color"), ";\n}\n\n.p-button-info:not(:disabled):active {\n background: ").concat(dt2("button.info.active.background"), ";\n border: 1px solid ").concat(dt2("button.info.active.border.color"), ";\n color: ").concat(dt2("button.info.active.color"), ";\n}\n\n.p-button-info:focus-visible {\n outline-color: ").concat(dt2("button.info.focus.ring.color"), ";\n box-shadow: ").concat(dt2("button.info.focus.ring.shadow"), ";\n}\n\n.p-button-warn {\n background: ").concat(dt2("button.warn.background"), ";\n border: 1px solid ").concat(dt2("button.warn.border.color"), ";\n color: ").concat(dt2("button.warn.color"), ";\n}\n\n.p-button-warn:not(:disabled):hover {\n background: ").concat(dt2("button.warn.hover.background"), ";\n border: 1px solid ").concat(dt2("button.warn.hover.border.color"), ";\n color: ").concat(dt2("button.warn.hover.color"), ";\n}\n\n.p-button-warn:not(:disabled):active {\n background: ").concat(dt2("button.warn.active.background"), ";\n border: 1px solid ").concat(dt2("button.warn.active.border.color"), ";\n color: ").concat(dt2("button.warn.active.color"), ";\n}\n\n.p-button-warn:focus-visible {\n outline-color: ").concat(dt2("button.warn.focus.ring.color"), ";\n box-shadow: ").concat(dt2("button.warn.focus.ring.shadow"), ";\n}\n\n.p-button-help {\n background: ").concat(dt2("button.help.background"), ";\n border: 1px solid ").concat(dt2("button.help.border.color"), ";\n color: ").concat(dt2("button.help.color"), ";\n}\n\n.p-button-help:not(:disabled):hover {\n background: ").concat(dt2("button.help.hover.background"), ";\n border: 1px solid ").concat(dt2("button.help.hover.border.color"), ";\n color: ").concat(dt2("button.help.hover.color"), ";\n}\n\n.p-button-help:not(:disabled):active {\n background: ").concat(dt2("button.help.active.background"), ";\n border: 1px solid ").concat(dt2("button.help.active.border.color"), ";\n color: ").concat(dt2("button.help.active.color"), ";\n}\n\n.p-button-help:focus-visible {\n outline-color: ").concat(dt2("button.help.focus.ring.color"), ";\n box-shadow: ").concat(dt2("button.help.focus.ring.shadow"), ";\n}\n\n.p-button-danger {\n background: ").concat(dt2("button.danger.background"), ";\n border: 1px solid ").concat(dt2("button.danger.border.color"), ";\n color: ").concat(dt2("button.danger.color"), ";\n}\n\n.p-button-danger:not(:disabled):hover {\n background: ").concat(dt2("button.danger.hover.background"), ";\n border: 1px solid ").concat(dt2("button.danger.hover.border.color"), ";\n color: ").concat(dt2("button.danger.hover.color"), ";\n}\n\n.p-button-danger:not(:disabled):active {\n background: ").concat(dt2("button.danger.active.background"), ";\n border: 1px solid ").concat(dt2("button.danger.active.border.color"), ";\n color: ").concat(dt2("button.danger.active.color"), ";\n}\n\n.p-button-danger:focus-visible {\n outline-color: ").concat(dt2("button.danger.focus.ring.color"), ";\n box-shadow: ").concat(dt2("button.danger.focus.ring.shadow"), ";\n}\n\n.p-button-contrast {\n background: ").concat(dt2("button.contrast.background"), ";\n border: 1px solid ").concat(dt2("button.contrast.border.color"), ";\n color: ").concat(dt2("button.contrast.color"), ";\n}\n\n.p-button-contrast:not(:disabled):hover {\n background: ").concat(dt2("button.contrast.hover.background"), ";\n border: 1px solid ").concat(dt2("button.contrast.hover.border.color"), ";\n color: ").concat(dt2("button.contrast.hover.color"), ";\n}\n\n.p-button-contrast:not(:disabled):active {\n background: ").concat(dt2("button.contrast.active.background"), ";\n border: 1px solid ").concat(dt2("button.contrast.active.border.color"), ";\n color: ").concat(dt2("button.contrast.active.color"), ";\n}\n\n.p-button-contrast:focus-visible {\n outline-color: ").concat(dt2("button.contrast.focus.ring.color"), ";\n box-shadow: ").concat(dt2("button.contrast.focus.ring.shadow"), ";\n}\n\n.p-button-outlined {\n background: transparent;\n border-color: ").concat(dt2("button.outlined.primary.border.color"), ";\n color: ").concat(dt2("button.outlined.primary.color"), ";\n}\n\n.p-button-outlined:not(:disabled):hover {\n background: ").concat(dt2("button.outlined.primary.hover.background"), ";\n border-color: ").concat(dt2("button.outlined.primary.border.color"), ";\n color: ").concat(dt2("button.outlined.primary.color"), ";\n}\n\n.p-button-outlined:not(:disabled):active {\n background: ").concat(dt2("button.outlined.primary.active.background"), ";\n border-color: ").concat(dt2("button.outlined.primary.border.color"), ";\n color: ").concat(dt2("button.outlined.primary.color"), ";\n}\n\n.p-button-outlined.p-button-secondary {\n border-color: ").concat(dt2("button.outlined.secondary.border.color"), ";\n color: ").concat(dt2("button.outlined.secondary.color"), ";\n}\n\n.p-button-outlined.p-button-secondary:not(:disabled):hover {\n background: ").concat(dt2("button.outlined.secondary.hover.background"), ";\n border-color: ").concat(dt2("button.outlined.secondary.border.color"), ";\n color: ").concat(dt2("button.outlined.secondary.color"), ";\n}\n\n.p-button-outlined.p-button-secondary:not(:disabled):active {\n background: ").concat(dt2("button.outlined.secondary.active.background"), ";\n border-color: ").concat(dt2("button.outlined.secondary.border.color"), ";\n color: ").concat(dt2("button.outlined.secondary.color"), ";\n}\n\n.p-button-outlined.p-button-success {\n border-color: ").concat(dt2("button.outlined.success.border.color"), ";\n color: ").concat(dt2("button.outlined.success.color"), ";\n}\n\n.p-button-outlined.p-button-success:not(:disabled):hover {\n background: ").concat(dt2("button.outlined.success.hover.background"), ";\n border-color: ").concat(dt2("button.outlined.success.border.color"), ";\n color: ").concat(dt2("button.outlined.success.color"), ";\n}\n\n.p-button-outlined.p-button-success:not(:disabled):active {\n background: ").concat(dt2("button.outlined.success.active.background"), ";\n border-color: ").concat(dt2("button.outlined.success.border.color"), ";\n color: ").concat(dt2("button.outlined.success.color"), ";\n}\n\n.p-button-outlined.p-button-info {\n border-color: ").concat(dt2("button.outlined.info.border.color"), ";\n color: ").concat(dt2("button.outlined.info.color"), ";\n}\n\n.p-button-outlined.p-button-info:not(:disabled):hover {\n background: ").concat(dt2("button.outlined.info.hover.background"), ";\n border-color: ").concat(dt2("button.outlined.info.border.color"), ";\n color: ").concat(dt2("button.outlined.info.color"), ";\n}\n\n.p-button-outlined.p-button-info:not(:disabled):active {\n background: ").concat(dt2("button.outlined.info.active.background"), ";\n border-color: ").concat(dt2("button.outlined.info.border.color"), ";\n color: ").concat(dt2("button.outlined.info.color"), ";\n}\n\n.p-button-outlined.p-button-warn {\n border-color: ").concat(dt2("button.outlined.warn.border.color"), ";\n color: ").concat(dt2("button.outlined.warn.color"), ";\n}\n\n.p-button-outlined.p-button-warn:not(:disabled):hover {\n background: ").concat(dt2("button.outlined.warn.hover.background"), ";\n border-color: ").concat(dt2("button.outlined.warn.border.color"), ";\n color: ").concat(dt2("button.outlined.warn.color"), ";\n}\n\n.p-button-outlined.p-button-warn:not(:disabled):active {\n background: ").concat(dt2("button.outlined.warn.active.background"), ";\n border-color: ").concat(dt2("button.outlined.warn.border.color"), ";\n color: ").concat(dt2("button.outlined.warn.color"), ";\n}\n\n.p-button-outlined.p-button-help {\n border-color: ").concat(dt2("button.outlined.help.border.color"), ";\n color: ").concat(dt2("button.outlined.help.color"), ";\n}\n\n.p-button-outlined.p-button-help:not(:disabled):hover {\n background: ").concat(dt2("button.outlined.help.hover.background"), ";\n border-color: ").concat(dt2("button.outlined.help.border.color"), ";\n color: ").concat(dt2("button.outlined.help.color"), ";\n}\n\n.p-button-outlined.p-button-help:not(:disabled):active {\n background: ").concat(dt2("button.outlined.help.active.background"), ";\n border-color: ").concat(dt2("button.outlined.help.border.color"), ";\n color: ").concat(dt2("button.outlined.help.color"), ";\n}\n\n.p-button-outlined.p-button-danger {\n border-color: ").concat(dt2("button.outlined.danger.border.color"), ";\n color: ").concat(dt2("button.outlined.danger.color"), ";\n}\n\n.p-button-outlined.p-button-danger:not(:disabled):hover {\n background: ").concat(dt2("button.outlined.danger.hover.background"), ";\n border-color: ").concat(dt2("button.outlined.danger.border.color"), ";\n color: ").concat(dt2("button.outlined.danger.color"), ";\n}\n\n.p-button-outlined.p-button-danger:not(:disabled):active {\n background: ").concat(dt2("button.outlined.danger.active.background"), ";\n border-color: ").concat(dt2("button.outlined.danger.border.color"), ";\n color: ").concat(dt2("button.outlined.danger.color"), ";\n}\n\n.p-button-outlined.p-button-contrast {\n border-color: ").concat(dt2("button.outlined.contrast.border.color"), ";\n color: ").concat(dt2("button.outlined.contrast.color"), ";\n}\n\n.p-button-outlined.p-button-contrast:not(:disabled):hover {\n background: ").concat(dt2("button.outlined.contrast.hover.background"), ";\n border-color: ").concat(dt2("button.outlined.contrast.border.color"), ";\n color: ").concat(dt2("button.outlined.contrast.color"), ";\n}\n\n.p-button-outlined.p-button-contrast:not(:disabled):active {\n background: ").concat(dt2("button.outlined.contrast.active.background"), ";\n border-color: ").concat(dt2("button.outlined.contrast.border.color"), ";\n color: ").concat(dt2("button.outlined.contrast.color"), ";\n}\n\n.p-button-outlined.p-button-plain {\n border-color: ").concat(dt2("button.outlined.plain.border.color"), ";\n color: ").concat(dt2("button.outlined.plain.color"), ";\n}\n\n.p-button-outlined.p-button-plain:not(:disabled):hover {\n background: ").concat(dt2("button.outlined.plain.hover.background"), ";\n border-color: ").concat(dt2("button.outlined.plain.border.color"), ";\n color: ").concat(dt2("button.outlined.plain.color"), ";\n}\n\n.p-button-outlined.p-button-plain:not(:disabled):active {\n background: ").concat(dt2("button.outlined.plain.active.background"), ";\n border-color: ").concat(dt2("button.outlined.plain.border.color"), ";\n color: ").concat(dt2("button.outlined.plain.color"), ";\n}\n\n.p-button-text {\n background: transparent;\n border-color: transparent;\n color: ").concat(dt2("button.text.primary.color"), ";\n}\n\n.p-button-text:not(:disabled):hover {\n background: ").concat(dt2("button.text.primary.hover.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.primary.color"), ";\n}\n\n.p-button-text:not(:disabled):active {\n background: ").concat(dt2("button.text.primary.active.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.primary.color"), ";\n}\n\n.p-button-text.p-button-secondary {\n background: transparent;\n border-color: transparent;\n color: ").concat(dt2("button.text.secondary.color"), ";\n}\n\n.p-button-text.p-button-secondary:not(:disabled):hover {\n background: ").concat(dt2("button.text.secondary.hover.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.secondary.color"), ";\n}\n\n.p-button-text.p-button-secondary:not(:disabled):active {\n background: ").concat(dt2("button.text.secondary.active.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.secondary.color"), ";\n}\n\n.p-button-text.p-button-success {\n background: transparent;\n border-color: transparent;\n color: ").concat(dt2("button.text.success.color"), ";\n}\n\n.p-button-text.p-button-success:not(:disabled):hover {\n background: ").concat(dt2("button.text.success.hover.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.success.color"), ";\n}\n\n.p-button-text.p-button-success:not(:disabled):active {\n background: ").concat(dt2("button.text.success.active.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.success.color"), ";\n}\n\n.p-button-text.p-button-info {\n background: transparent;\n border-color: transparent;\n color: ").concat(dt2("button.text.info.color"), ";\n}\n\n.p-button-text.p-button-info:not(:disabled):hover {\n background: ").concat(dt2("button.text.info.hover.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.info.color"), ";\n}\n\n.p-button-text.p-button-info:not(:disabled):active {\n background: ").concat(dt2("button.text.info.active.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.info.color"), ";\n}\n\n.p-button-text.p-button-warn {\n background: transparent;\n border-color: transparent;\n color: ").concat(dt2("button.text.warn.color"), ";\n}\n\n.p-button-text.p-button-warn:not(:disabled):hover {\n background: ").concat(dt2("button.text.warn.hover.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.warn.color"), ";\n}\n\n.p-button-text.p-button-warn:not(:disabled):active {\n background: ").concat(dt2("button.text.warn.active.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.warn.color"), ";\n}\n\n.p-button-text.p-button-help {\n background: transparent;\n border-color: transparent;\n color: ").concat(dt2("button.text.help.color"), ";\n}\n\n.p-button-text.p-button-help:not(:disabled):hover {\n background: ").concat(dt2("button.text.help.hover.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.help.color"), ";\n}\n\n.p-button-text.p-button-help:not(:disabled):active {\n background: ").concat(dt2("button.text.help.active.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.help.color"), ";\n}\n\n.p-button-text.p-button-danger {\n background: transparent;\n border-color: transparent;\n color: ").concat(dt2("button.text.danger.color"), ";\n}\n\n.p-button-text.p-button-danger:not(:disabled):hover {\n background: ").concat(dt2("button.text.danger.hover.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.danger.color"), ";\n}\n\n.p-button-text.p-button-danger:not(:disabled):active {\n background: ").concat(dt2("button.text.danger.active.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.danger.color"), ";\n}\n\n.p-button-text.p-button-plain {\n background: transparent;\n border-color: transparent;\n color: ").concat(dt2("button.text.plain.color"), ";\n}\n\n.p-button-text.p-button-plain:not(:disabled):hover {\n background: ").concat(dt2("button.text.plain.hover.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.plain.color"), ";\n}\n\n.p-button-text.p-button-plain:not(:disabled):active {\n background: ").concat(dt2("button.text.plain.active.background"), ";\n border-color: transparent;\n color: ").concat(dt2("button.text.plain.color"), ";\n}\n\n.p-button-link {\n background: transparent;\n border-color: transparent;\n color: ").concat(dt2("button.link.color"), ";\n}\n\n.p-button-link:not(:disabled):hover {\n background: transparent;\n border-color: transparent;\n color: ").concat(dt2("button.link.hover.color"), ";\n}\n\n.p-button-link:not(:disabled):hover .p-button-label {\n text-decoration: underline;\n}\n\n.p-button-link:not(:disabled):active {\n background: transparent;\n border-color: transparent;\n color: ").concat(dt2("button.link.active.color"), ";\n}\n"); +}, "theme"); +var classes$s = { + root: /* @__PURE__ */ __name(function root4(_ref2) { + var instance = _ref2.instance, props = _ref2.props; + return ["p-button p-component", _defineProperty$c(_defineProperty$c(_defineProperty$c(_defineProperty$c(_defineProperty$c(_defineProperty$c(_defineProperty$c(_defineProperty$c(_defineProperty$c({ + "p-button-icon-only": instance.hasIcon && !props.label && !props.badge, + "p-button-vertical": (props.iconPos === "top" || props.iconPos === "bottom") && props.label, + "p-button-loading": props.loading, + "p-button-link": props.link + }, "p-button-".concat(props.severity), props.severity), "p-button-raised", props.raised), "p-button-rounded", props.rounded), "p-button-text", props.text), "p-button-outlined", props.outlined), "p-button-sm", props.size === "small"), "p-button-lg", props.size === "large"), "p-button-plain", props.plain), "p-button-fluid", instance.hasFluid)]; + }, "root"), + loadingIcon: "p-button-loading-icon", + icon: /* @__PURE__ */ __name(function icon(_ref4) { + var props = _ref4.props; + return ["p-button-icon", _defineProperty$c({}, "p-button-icon-".concat(props.iconPos), props.label)]; + }, "icon"), + label: "p-button-label" +}; +var ButtonStyle = BaseStyle.extend({ + name: "button", + theme: theme$q, + classes: classes$s +}); +var script$1$r = { + name: "BaseButton", + "extends": script$U, + props: { + label: { + type: String, + "default": null + }, + icon: { + type: String, + "default": null + }, + iconPos: { + type: String, + "default": "left" + }, + iconClass: { + type: [String, Object], + "default": null + }, + badge: { + type: String, + "default": null + }, + badgeClass: { + type: [String, Object], + "default": null + }, + badgeSeverity: { + type: String, + "default": "secondary" + }, + loading: { + type: Boolean, + "default": false + }, + loadingIcon: { + type: String, + "default": void 0 + }, + as: { + type: [String, Object], + "default": "BUTTON" + }, + asChild: { + type: Boolean, + "default": false + }, + link: { + type: Boolean, + "default": false + }, + severity: { + type: String, + "default": null + }, + raised: { + type: Boolean, + "default": false + }, + rounded: { + type: Boolean, + "default": false + }, + text: { + type: Boolean, + "default": false + }, + outlined: { + type: Boolean, + "default": false + }, + size: { + type: String, + "default": null + }, + plain: { + type: Boolean, + "default": false + }, + fluid: { + type: Boolean, + "default": null + } + }, + style: ButtonStyle, + provide: /* @__PURE__ */ __name(function provide9() { + return { + $pcButton: this, + $parentInstance: this + }; + }, "provide") +}; +var script$I = { + name: "Button", + "extends": script$1$r, + inheritAttrs: false, + inject: { + $pcFluid: { + "default": null + } + }, + methods: { + getPTOptions: /* @__PURE__ */ __name(function getPTOptions3(key) { + var _ptm = key === "root" ? this.ptmi : this.ptm; + return _ptm(key, { + context: { + disabled: this.disabled + } + }); + }, "getPTOptions") + }, + computed: { + disabled: /* @__PURE__ */ __name(function disabled() { + return this.$attrs.disabled || this.$attrs.disabled === "" || this.loading; + }, "disabled"), + defaultAriaLabel: /* @__PURE__ */ __name(function defaultAriaLabel() { + return this.label ? this.label + (this.badge ? " " + this.badge : "") : this.$attrs.ariaLabel; + }, "defaultAriaLabel"), + hasIcon: /* @__PURE__ */ __name(function hasIcon() { + return this.icon || this.$slots.icon; + }, "hasIcon"), + attrs: /* @__PURE__ */ __name(function attrs() { + return mergeProps$1(this.asAttrs, this.a11yAttrs, this.getPTOptions("root")); + }, "attrs"), + asAttrs: /* @__PURE__ */ __name(function asAttrs() { + return this.as === "BUTTON" ? { + type: "button", + disabled: this.disabled + } : void 0; + }, "asAttrs"), + a11yAttrs: /* @__PURE__ */ __name(function a11yAttrs() { + return { + "aria-label": this.defaultAriaLabel, + "data-pc-name": "button", + "data-p-disabled": this.disabled, + "data-p-severity": this.severity + }; + }, "a11yAttrs"), + hasFluid: /* @__PURE__ */ __name(function hasFluid2() { + return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid; + }, "hasFluid") + }, + components: { + SpinnerIcon: script$M, + Badge: script$J + }, + directives: { + ripple: Ripple + } +}; +function render$H(_ctx, _cache, $props, $setup, $data, $options) { + var _component_SpinnerIcon = resolveComponent("SpinnerIcon"); + var _component_Badge = resolveComponent("Badge"); + var _directive_ripple = resolveDirective("ripple"); + return !_ctx.asChild ? withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps$1({ + key: 0, + "class": _ctx.cx("root") + }, $options.attrs), { + "default": withCtx(function() { + return [renderSlot(_ctx.$slots, "default", {}, function() { + return [_ctx.loading ? renderSlot(_ctx.$slots, "loadingicon", { + key: 0, + "class": normalizeClass([_ctx.cx("loadingIcon"), _ctx.cx("icon")]) + }, function() { + return [_ctx.loadingIcon ? (openBlock(), createElementBlock("span", mergeProps$1({ + key: 0, + "class": [_ctx.cx("loadingIcon"), _ctx.cx("icon"), _ctx.loadingIcon] + }, _ctx.ptm("loadingIcon")), null, 16)) : (openBlock(), createBlock(_component_SpinnerIcon, mergeProps$1({ + key: 1, + "class": [_ctx.cx("loadingIcon"), _ctx.cx("icon")], + spin: "" + }, _ctx.ptm("loadingIcon")), null, 16, ["class"]))]; + }) : renderSlot(_ctx.$slots, "icon", { + key: 1, + "class": normalizeClass([_ctx.cx("icon")]) + }, function() { + return [_ctx.icon ? (openBlock(), createElementBlock("span", mergeProps$1({ + key: 0, + "class": [_ctx.cx("icon"), _ctx.icon, _ctx.iconClass] + }, _ctx.ptm("icon")), null, 16)) : createCommentVNode("", true)]; + }), createBaseVNode("span", mergeProps$1({ + "class": _ctx.cx("label") + }, _ctx.ptm("label")), toDisplayString$1(_ctx.label || " "), 17), _ctx.badge ? (openBlock(), createBlock(_component_Badge, { + key: 2, + value: _ctx.badge, + "class": normalizeClass(_ctx.badgeClass), + severity: _ctx.badgeSeverity, + unstyled: _ctx.unstyled, + pt: _ctx.ptm("pcBadge") + }, null, 8, ["value", "class", "severity", "unstyled", "pt"])) : createCommentVNode("", true)]; + })]; + }), + _: 3 + }, 16, ["class"])), [[_directive_ripple]]) : renderSlot(_ctx.$slots, "default", { + key: 1, + "class": normalizeClass(_ctx.cx("root")), + a11yAttrs: $options.a11yAttrs + }); +} +__name(render$H, "render$H"); +script$I.render = render$H; +var theme$p = /* @__PURE__ */ __name(function theme10(_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$r = { + root: "p-card p-component", + header: "p-card-header", + body: "p-card-body", + caption: "p-card-caption", + title: "p-card-title", + subtitle: "p-card-subtitle", + content: "p-card-content", + footer: "p-card-footer" +}; +var CardStyle = BaseStyle.extend({ + name: "card", + theme: theme$p, + classes: classes$r +}); +var script$1$q = { + name: "BaseCard", + "extends": script$U, + style: CardStyle, + provide: /* @__PURE__ */ __name(function provide10() { + return { + $pcCard: this, + $parentInstance: this + }; + }, "provide") +}; +var script$H = { + name: "Card", + "extends": script$1$q, + inheritAttrs: false +}; +function render$G(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps$1({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [_ctx.$slots.header ? (openBlock(), createElementBlock("div", mergeProps$1({ + key: 0, + "class": _ctx.cx("header") + }, _ctx.ptm("header")), [renderSlot(_ctx.$slots, "header")], 16)) : createCommentVNode("", true), createBaseVNode("div", mergeProps$1({ + "class": _ctx.cx("body") + }, _ctx.ptm("body")), [_ctx.$slots.title || _ctx.$slots.subtitle ? (openBlock(), createElementBlock("div", mergeProps$1({ + key: 0, + "class": _ctx.cx("caption") + }, _ctx.ptm("caption")), [_ctx.$slots.title ? (openBlock(), createElementBlock("div", mergeProps$1({ + key: 0, + "class": _ctx.cx("title") + }, _ctx.ptm("title")), [renderSlot(_ctx.$slots, "title")], 16)) : createCommentVNode("", true), _ctx.$slots.subtitle ? (openBlock(), createElementBlock("div", mergeProps$1({ + key: 1, + "class": _ctx.cx("subtitle") + }, _ctx.ptm("subtitle")), [renderSlot(_ctx.$slots, "subtitle")], 16)) : createCommentVNode("", true)], 16)) : createCommentVNode("", true), createBaseVNode("div", mergeProps$1({ + "class": _ctx.cx("content") + }, _ctx.ptm("content")), [renderSlot(_ctx.$slots, "content")], 16), _ctx.$slots.footer ? (openBlock(), createElementBlock("div", mergeProps$1({ + key: 1, + "class": _ctx.cx("footer") + }, _ctx.ptm("footer")), [renderSlot(_ctx.$slots, "footer")], 16)) : createCommentVNode("", true)], 16)], 16); +} +__name(render$G, "render$G"); +script$H.render = render$G; +const _hoisted_1$O = { class: "flex flex-col items-center" }; +const _hoisted_2$A = { class: "whitespace-pre-line text-center" }; +const _sfc_main$I = /* @__PURE__ */ defineComponent({ + __name: "NoResultsPlaceholder", + props: { + class: {}, + icon: {}, + title: {}, + message: {}, + buttonLabel: {} + }, + emits: ["action"], + setup(__props) { + const props = __props; + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", { + class: normalizeClass(["no-results-placeholder p-8 h-full", props.class]) + }, [ + createVNode(unref(script$H), null, { + content: withCtx(() => [ + createBaseVNode("div", _hoisted_1$O, [ + createBaseVNode("i", { + class: normalizeClass(_ctx.icon), + style: { "font-size": "3rem", "margin-bottom": "1rem" } + }, null, 2), + createBaseVNode("h3", null, toDisplayString$1(_ctx.title), 1), + createBaseVNode("p", _hoisted_2$A, toDisplayString$1(_ctx.message), 1), + _ctx.buttonLabel ? (openBlock(), createBlock(unref(script$I), { + key: 0, + label: _ctx.buttonLabel, + onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("action")), + class: "p-button-text" + }, null, 8, ["label"])) : createCommentVNode("", true) + ]) + ]), + _: 1 + }) + ], 2); + }; + } +}); +const _export_sfc = /* @__PURE__ */ __name((sfc, props) => { + const target = sfc.__vccOpts || sfc; + for (const [key, val] of props) { + target[key] = val; + } + return target; +}, "_export_sfc"); +const NoResultsPlaceholder = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["__scopeId", "data-v-a1e982e0"]]); +const _hoisted_1$N = { class: "flex align-items-center" }; +const _hoisted_2$z = { class: "node-type" }; +const _hoisted_3$m = { + key: 0, + class: "node-hint" +}; +const _sfc_main$H = /* @__PURE__ */ defineComponent({ + __name: "LoadWorkflowWarning", + props: { + missingNodeTypes: {} + }, + setup(__props) { + const props = __props; + const uniqueNodes = computed(() => { + const seenTypes = /* @__PURE__ */ new Set(); + return props.missingNodeTypes.filter((node3) => { + const type = typeof node3 === "object" ? node3.type : node3; + if (seenTypes.has(type)) return false; + seenTypes.add(type); + return true; + }).map((node3) => { + if (typeof node3 === "object") { + return { + label: node3.type, + hint: node3.hint, + action: node3.action + }; + } + return { label: node3 }; + }); + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock(Fragment, null, [ + createVNode(NoResultsPlaceholder, { + class: "pb-0", + icon: "pi pi-exclamation-circle", + title: "Missing Node Types", + message: "When loading the graph, the following node types were not found" + }), + createVNode(unref(script$K), { + options: uniqueNodes.value, + optionLabel: "label", + scrollHeight: "100%", + class: "comfy-missing-nodes", + pt: { + list: { class: "border-none" } + } + }, { + option: withCtx((slotProps) => [ + createBaseVNode("div", _hoisted_1$N, [ + createBaseVNode("span", _hoisted_2$z, toDisplayString$1(slotProps.option.label), 1), + slotProps.option.hint ? (openBlock(), createElementBlock("span", _hoisted_3$m, toDisplayString$1(slotProps.option.hint), 1)) : createCommentVNode("", true), + slotProps.option.action ? (openBlock(), createBlock(unref(script$I), { + key: 1, + onClick: slotProps.option.action.callback, + label: slotProps.option.action.text, + size: "small", + outlined: "" + }, null, 8, ["onClick", "label"])) : createCommentVNode("", true) + ]) + ]), + _: 1 + }, 8, ["options"]) + ], 64); + }; + } +}); +const LoadWorkflowWarning = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["__scopeId", "data-v-05a7c5eb"]]); +function useDownload(url, fileName) { + const fileSize = ref(null); + const fetchFileSize = /* @__PURE__ */ __name(async () => { + try { + const response = await fetch(url, { method: "HEAD" }); + if (!response.ok) throw new Error("Failed to fetch file size"); + const size2 = response.headers.get("content-length"); + if (size2) { + return parseInt(size2); + } else { + console.error('"content-length" header not found'); + return null; + } + } catch (e) { + console.error("Error fetching file size:", e); + return null; + } + }, "fetchFileSize"); + const triggerBrowserDownload = /* @__PURE__ */ __name(() => { + const link = document.createElement("a"); + link.href = url; + link.download = fileName || url.split("/").pop() || "download"; + link.target = "_blank"; + link.rel = "noopener noreferrer"; + link.click(); + }, "triggerBrowserDownload"); + onMounted(async () => { + fileSize.value = await fetchFileSize(); + }); + return { + triggerBrowserDownload, + fileSize + }; +} +__name(useDownload, "useDownload"); +function formatCamelCase(str) { + const isCamelCase = /^([A-Z][a-z]*)+$/.test(str); + if (!isCamelCase) { + return str; + } + const words = str.split(/(?=[A-Z][a-z])|\d+/); + const processedWords = words.map((word) => { + if (word.length > 1 && word === word.toUpperCase()) { + return word; + } + return word.charAt(0).toUpperCase() + word.slice(1); + }); + return processedWords.join(" "); +} +__name(formatCamelCase, "formatCamelCase"); +function appendJsonExt(path) { + if (!path.toLowerCase().endsWith(".json")) { + path += ".json"; + } + return path; +} +__name(appendJsonExt, "appendJsonExt"); +function trimJsonExt(path) { + return path?.replace(/\.json$/, ""); +} +__name(trimJsonExt, "trimJsonExt"); +function highlightQuery(text, query) { + if (!query) return text; + const regex = new RegExp(`(${query})`, "gi"); + return text.replace(regex, '$1'); +} +__name(highlightQuery, "highlightQuery"); +function formatNumberWithSuffix(num, { + precision = 1, + roundToInt = false +} = {}) { + const suffixes = ["", "k", "m", "b", "t"]; + const absNum = Math.abs(num); + if (absNum < 1e3) { + return roundToInt ? Math.round(num).toString() : num.toFixed(precision); + } + const exp = Math.min(Math.floor(Math.log10(absNum) / 3), suffixes.length - 1); + const formattedNum = (num / Math.pow(1e3, exp)).toFixed(precision); + return `${formattedNum}${suffixes[exp]}`; +} +__name(formatNumberWithSuffix, "formatNumberWithSuffix"); +function formatSize(value3) { + if (value3 === null || value3 === void 0) { + return "-"; + } + const bytes = value3; + if (bytes === 0) return "0 B"; + const k = 1024; + const sizes = ["B", "KB", "MB", "GB"]; + const i2 = Math.floor(Math.log(bytes) / Math.log(k)); + return `${parseFloat((bytes / Math.pow(k, i2)).toFixed(2))} ${sizes[i2]}`; +} +__name(formatSize, "formatSize"); +const _hoisted_1$M = { class: "flex flex-row items-center gap-2" }; +const _hoisted_2$y = { class: "file-info" }; +const _hoisted_3$l = { class: "file-details" }; +const _hoisted_4$e = ["title"]; +const _hoisted_5$b = { + key: 0, + class: "file-error" +}; +const _hoisted_6$7 = { class: "file-action" }; +const _sfc_main$G = /* @__PURE__ */ defineComponent({ + __name: "FileDownload", + props: { + url: {}, + hint: {}, + label: {}, + error: {} + }, + setup(__props) { + const props = __props; + const label5 = computed(() => props.label || props.url.split("/").pop()); + const hint = computed(() => props.hint || props.url); + const download2 = useDownload(props.url); + const fileSize = computed( + () => download2.fileSize.value ? formatSize(download2.fileSize.value) : "?" + ); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$M, [ + createBaseVNode("div", _hoisted_2$y, [ + createBaseVNode("div", _hoisted_3$l, [ + createBaseVNode("span", { + class: "file-type", + title: hint.value + }, toDisplayString$1(label5.value), 9, _hoisted_4$e) + ]), + props.error ? (openBlock(), createElementBlock("div", _hoisted_5$b, toDisplayString$1(props.error), 1)) : createCommentVNode("", true) + ]), + createBaseVNode("div", _hoisted_6$7, [ + createVNode(unref(script$I), { + class: "file-action-button", + label: _ctx.$t("download") + " (" + fileSize.value + ")", + size: "small", + outlined: "", + disabled: props.error, + onClick: unref(download2).triggerBrowserDownload + }, null, 8, ["label", "disabled", "onClick"]) + ]) + ]); + }; + } +}); +const _sfc_main$F = /* @__PURE__ */ defineComponent({ + __name: "MissingModelsWarning", + props: { + missingModels: {}, + paths: {} + }, + setup(__props) { + const allowedSources = [ + "https://civitai.com/", + "https://huggingface.co/", + "http://localhost:" + // Included for testing usage only + ]; + const allowedSuffixes = [".safetensors", ".sft"]; + const props = __props; + const modelDownloads = ref({}); + const missingModels = computed(() => { + return props.missingModels.map((model) => { + const paths = props.paths[model.directory]; + if (model.directory_invalid || !paths) { + return { + label: `${model.directory} / ${model.name}`, + url: model.url, + error: "Invalid directory specified (does this require custom nodes?)" + }; + } + const downloadInfo = modelDownloads.value[model.name] ?? { + downloading: false, + completed: false, + progress: 0, + error: null, + name: model.name, + directory: model.directory, + url: model.url, + folder_path: paths[0] + }; + modelDownloads.value[model.name] = downloadInfo; + if (!allowedSources.some((source) => model.url.startsWith(source))) { + return { + label: `${model.directory} / ${model.name}`, + url: model.url, + error: `Download not allowed from source '${model.url}', only allowed from '${allowedSources.join("', '")}'` + }; + } + if (!allowedSuffixes.some((suffix2) => model.name.endsWith(suffix2))) { + return { + label: `${model.directory} / ${model.name}`, + url: model.url, + error: `Only allowed suffixes are: '${allowedSuffixes.join("', '")}'` + }; + } + return { + url: model.url, + label: `${model.directory} / ${model.name}`, + downloading: downloadInfo.downloading, + completed: downloadInfo.completed, + progress: downloadInfo.progress, + error: downloadInfo.error, + name: model.name, + paths, + folderPath: downloadInfo.folder_path + }; + }); + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock(Fragment, null, [ + createVNode(NoResultsPlaceholder, { + class: "pb-0", + icon: "pi pi-exclamation-circle", + title: "Missing Models", + message: "When loading the graph, the following models were not found" + }), + createVNode(unref(script$K), { + options: missingModels.value, + class: "comfy-missing-models" + }, { + option: withCtx(({ option: option3 }) => [ + createVNode(_sfc_main$G, { + url: option3.url, + label: option3.label, + error: option3.error + }, null, 8, ["url", "label", "error"]) + ]), + _: 1 + }, 8, ["options"]) + ], 64); + }; + } +}); +const MissingModelsWarning = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__scopeId", "data-v-936032d2"]]); +var theme$o = /* @__PURE__ */ __name(function theme11(_ref) { + var dt2 = _ref.dt; + return "\n.p-tabs {\n display: flex;\n flex-direction: column;\n}\n\n.p-tablist {\n display: flex;\n position: relative;\n}\n\n.p-tabs-scrollable > .p-tablist {\n overflow: hidden;\n}\n\n.p-tablist-viewport {\n overflow-x: auto;\n overflow-y: hidden;\n scroll-behavior: smooth;\n scrollbar-width: none;\n overscroll-behavior: contain auto;\n}\n\n.p-tablist-viewport::-webkit-scrollbar {\n display: none;\n}\n\n.p-tablist-tab-list {\n position: relative;\n display: flex;\n background: ".concat(dt2("tabs.tablist.background"), ";\n border-style: solid;\n border-color: ").concat(dt2("tabs.tablist.border.color"), ";\n border-width: ").concat(dt2("tabs.tablist.border.width"), ";\n}\n\n.p-tablist-content {\n flex-grow: 1;\n}\n\n.p-tablist-nav-button {\n all: unset;\n position: absolute !important;\n flex-shrink: 0;\n top: 0;\n z-index: 2;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n background: ").concat(dt2("tabs.nav.button.background"), ";\n color: ").concat(dt2("tabs.nav.button.color"), ";\n width: ").concat(dt2("tabs.nav.button.width"), ";\n transition: color ").concat(dt2("tabs.transition.duration"), ", outline-color ").concat(dt2("tabs.transition.duration"), ", box-shadow ").concat(dt2("tabs.transition.duration"), ";\n box-shadow: ").concat(dt2("tabs.nav.button.shadow"), ";\n outline-color: transparent;\n cursor: pointer;\n}\n\n.p-tablist-nav-button:focus-visible {\n z-index: 1;\n box-shadow: ").concat(dt2("tabs.nav.button.focus.ring.shadow"), ";\n outline: ").concat(dt2("tabs.nav.button.focus.ring.width"), " ").concat(dt2("tabs.nav.button.focus.ring.style"), " ").concat(dt2("tabs.nav.button.focus.ring.color"), ";\n outline-offset: ").concat(dt2("tabs.nav.button.focus.ring.offset"), ";\n}\n\n.p-tablist-nav-button:hover {\n color: ").concat(dt2("tabs.nav.button.hover.color"), ";\n}\n\n.p-tablist-prev-button {\n left: 0;\n}\n\n.p-tablist-next-button {\n right: 0;\n}\n\n.p-tab {\n flex-shrink: 0;\n cursor: pointer;\n user-select: none;\n position: relative;\n border-style: solid;\n white-space: nowrap;\n background: ").concat(dt2("tabs.tab.background"), ";\n border-width: ").concat(dt2("tabs.tab.border.width"), ";\n border-color: ").concat(dt2("tabs.tab.border.color"), ";\n color: ").concat(dt2("tabs.tab.color"), ";\n padding: ").concat(dt2("tabs.tab.padding"), ";\n font-weight: ").concat(dt2("tabs.tab.font.weight"), ";\n transition: background ").concat(dt2("tabs.transition.duration"), ", border-color ").concat(dt2("tabs.transition.duration"), ", color ").concat(dt2("tabs.transition.duration"), ", outline-color ").concat(dt2("tabs.transition.duration"), ", box-shadow ").concat(dt2("tabs.transition.duration"), ";\n margin: ").concat(dt2("tabs.tab.margin"), ";\n outline-color: transparent;\n}\n\n.p-tab:not(.p-disabled):focus-visible {\n z-index: 1;\n box-shadow: ").concat(dt2("tabs.tab.focus.ring.shadow"), ";\n outline: ").concat(dt2("tabs.tab.focus.ring.width"), " ").concat(dt2("tabs.tab.focus.ring.style"), " ").concat(dt2("tabs.tab.focus.ring.color"), ";\n outline-offset: ").concat(dt2("tabs.tab.focus.ring.offset"), ";\n}\n\n.p-tab:not(.p-tab-active):not(.p-disabled):hover {\n background: ").concat(dt2("tabs.tab.hover.background"), ";\n border-color: ").concat(dt2("tabs.tab.hover.border.color"), ";\n color: ").concat(dt2("tabs.tab.hover.color"), ";\n}\n\n.p-tab-active {\n background: ").concat(dt2("tabs.tab.active.background"), ";\n border-color: ").concat(dt2("tabs.tab.active.border.color"), ";\n color: ").concat(dt2("tabs.tab.active.color"), ";\n}\n\n.p-tabpanels {\n background: ").concat(dt2("tabs.tabpanel.background"), ";\n color: ").concat(dt2("tabs.tabpanel.color"), ";\n padding: ").concat(dt2("tabs.tabpanel.padding"), ";\n outline: 0 none;\n}\n\n.p-tabpanel:focus-visible {\n box-shadow: ").concat(dt2("tabs.tabpanel.focus.ring.shadow"), ";\n outline: ").concat(dt2("tabs.tabpanel.focus.ring.width"), " ").concat(dt2("tabs.tabpanel.focus.ring.style"), " ").concat(dt2("tabs.tabpanel.focus.ring.color"), ";\n outline-offset: ").concat(dt2("tabs.tabpanel.focus.ring.offset"), ";\n}\n\n.p-tablist-active-bar {\n z-index: 1;\n display: block;\n position: absolute;\n bottom: ").concat(dt2("tabs.active.bar.bottom"), ";\n height: ").concat(dt2("tabs.active.bar.height"), ";\n background: ").concat(dt2("tabs.active.bar.background"), ";\n transition: 250ms cubic-bezier(0.35, 0, 0.25, 1);\n}\n"); +}, "theme"); +var classes$q = { + root: /* @__PURE__ */ __name(function root5(_ref2) { + var props = _ref2.props; + return ["p-tabs p-component", { + "p-tabs-scrollable": props.scrollable + }]; + }, "root") +}; +var TabsStyle = BaseStyle.extend({ + name: "tabs", + theme: theme$o, + classes: classes$q +}); +var script$1$p = { + name: "BaseTabs", + "extends": script$U, + props: { + value: { + type: [String, Number], + "default": void 0 + }, + lazy: { + type: Boolean, + "default": false + }, + scrollable: { + type: Boolean, + "default": false + }, + showNavigators: { + type: Boolean, + "default": true + }, + tabindex: { + type: Number, + "default": 0 + }, + selectOnFocus: { + type: Boolean, + "default": false + } + }, + style: TabsStyle, + provide: /* @__PURE__ */ __name(function provide11() { + return { + $pcTabs: this, + $parentInstance: this + }; + }, "provide") +}; +var script$G = { + name: "Tabs", + "extends": script$1$p, + 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 $attrsId2(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId"), + value: /* @__PURE__ */ __name(function value(newValue) { + this.d_value = newValue; + }, "value") + }, + mounted: /* @__PURE__ */ __name(function mounted4() { + this.id = this.id || UniqueComponentId(); + }, "mounted"), + methods: { + updateValue: /* @__PURE__ */ __name(function updateValue(newValue) { + if (this.d_value !== newValue) { + this.d_value = newValue; + this.$emit("update:value", newValue); + } + }, "updateValue"), + isVertical: /* @__PURE__ */ __name(function isVertical2() { + return this.orientation === "vertical"; + }, "isVertical") + } +}; +function render$F(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps$1({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); +} +__name(render$F, "render$F"); +script$G.render = render$F; +var classes$p = { + root: "p-tabpanels" +}; +var TabPanelsStyle = BaseStyle.extend({ + name: "tabpanels", + classes: classes$p +}); +var script$1$o = { + name: "BaseTabPanels", + "extends": script$U, + props: {}, + style: TabPanelsStyle, + provide: /* @__PURE__ */ __name(function provide12() { + return { + $pcTabPanels: this, + $parentInstance: this + }; + }, "provide") +}; +var script$F = { + name: "TabPanels", + "extends": script$1$o, + inheritAttrs: false +}; +function render$E(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps$1({ + "class": _ctx.cx("root"), + role: "presentation" + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); +} +__name(render$E, "render$E"); +script$F.render = render$E; +var classes$o = { + root: /* @__PURE__ */ __name(function root6(_ref) { + var instance = _ref.instance; + return ["p-tabpanel", { + "p-tabpanel-active": instance.active + }]; + }, "root") +}; +var TabPanelStyle = BaseStyle.extend({ + name: "tabpanel", + classes: classes$o +}); +var script$1$n = { + name: "BaseTabPanel", + "extends": script$U, + props: { + // in Tabs + value: { + type: [String, Number], + "default": void 0 + }, + as: { + type: [String, Object], + "default": "DIV" + }, + asChild: { + type: Boolean, + "default": false + }, + // in TabView + header: null, + headerStyle: null, + headerClass: null, + headerProps: null, + headerActionProps: null, + contentStyle: null, + contentClass: null, + contentProps: null, + disabled: Boolean + }, + style: TabPanelStyle, + provide: /* @__PURE__ */ __name(function provide13() { + return { + $pcTabPanel: this, + $parentInstance: this + }; + }, "provide") +}; +var script$E = { + name: "TabPanel", + "extends": script$1$n, + inheritAttrs: false, + inject: ["$pcTabs"], + computed: { + active: /* @__PURE__ */ __name(function active() { + var _this$$pcTabs; + return equals((_this$$pcTabs = this.$pcTabs) === null || _this$$pcTabs === void 0 ? void 0 : _this$$pcTabs.d_value, this.value); + }, "active"), + id: /* @__PURE__ */ __name(function id2() { + var _this$$pcTabs2; + return "".concat((_this$$pcTabs2 = this.$pcTabs) === null || _this$$pcTabs2 === void 0 ? void 0 : _this$$pcTabs2.id, "_tabpanel_").concat(this.value); + }, "id"), + ariaLabelledby: /* @__PURE__ */ __name(function ariaLabelledby() { + var _this$$pcTabs3; + return "".concat((_this$$pcTabs3 = this.$pcTabs) === null || _this$$pcTabs3 === void 0 ? void 0 : _this$$pcTabs3.id, "_tab_").concat(this.value); + }, "ariaLabelledby"), + attrs: /* @__PURE__ */ __name(function attrs2() { + return mergeProps$1(this.a11yAttrs, this.ptmi("root", this.ptParams)); + }, "attrs"), + a11yAttrs: /* @__PURE__ */ __name(function a11yAttrs2() { + var _this$$pcTabs4; + return { + id: this.id, + tabindex: (_this$$pcTabs4 = this.$pcTabs) === null || _this$$pcTabs4 === void 0 ? void 0 : _this$$pcTabs4.tabindex, + role: "tabpanel", + "aria-labelledby": this.ariaLabelledby, + "data-pc-name": "tabpanel", + "data-p-active": this.active + }; + }, "a11yAttrs"), + ptParams: /* @__PURE__ */ __name(function ptParams() { + return { + context: { + active: this.active + } + }; + }, "ptParams") + } +}; +function render$D(_ctx, _cache, $props, $setup, $data, $options) { + var _$options$$pcTabs, _$options$$pcTabs2; + return !$options.$pcTabs ? renderSlot(_ctx.$slots, "default", { + key: 0 + }) : (openBlock(), createElementBlock(Fragment, { + key: 1 + }, [!_ctx.asChild ? (openBlock(), createElementBlock(Fragment, { + key: 0 + }, [((_$options$$pcTabs = $options.$pcTabs) !== null && _$options$$pcTabs !== void 0 && _$options$$pcTabs.lazy ? $options.active : true) ? withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps$1({ + key: 0, + "class": _ctx.cx("root") + }, $options.attrs), { + "default": withCtx(function() { + return [renderSlot(_ctx.$slots, "default")]; + }), + _: 3 + }, 16, ["class"])), [[vShow, (_$options$$pcTabs2 = $options.$pcTabs) !== null && _$options$$pcTabs2 !== void 0 && _$options$$pcTabs2.lazy ? true : $options.active]]) : createCommentVNode("", true)], 64)) : renderSlot(_ctx.$slots, "default", { + key: 1, + "class": normalizeClass(_ctx.cx("root")), + active: $options.active, + a11yAttrs: $options.a11yAttrs + })], 64)); +} +__name(render$D, "render$D"); +script$E.render = render$D; +var theme$n = /* @__PURE__ */ __name(function theme12(_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 top: 50%;\n left: 0;\n width: 100%;\n content: "";\n border-top: 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 margin: 0 1rem;\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 top: 0;\n left: 50%;\n height: 100%;\n content: "";\n border-left: 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-top-style: solid;\n}\n\n.p-divider-solid.p-divider-vertical:before {\n border-left-style: solid;\n}\n\n.p-divider-dashed.p-divider-horizontal:before {\n border-top-style: dashed;\n}\n\n.p-divider-dashed.p-divider-vertical:before {\n border-left-style: dashed;\n}\n\n.p-divider-dotted.p-divider-horizontal:before {\n border-top-style: dotted;\n}\n\n.p-divider-dotted.p-divider-vertical:before {\n border-left-style: dotted;\n}\n"); +}, "theme"); +var inlineStyles$3 = { + root: /* @__PURE__ */ __name(function root7(_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, + alignItems: props.layout === "vertical" ? props.align === "center" || props.align === null ? "center" : props.align === "top" ? "flex-start" : props.align === "bottom" ? "flex-end" : null : null + }; + }, "root") +}; +var classes$n = { + root: /* @__PURE__ */ __name(function root8(_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") + }, { + "p-divider-center": props.layout === "horizontal" && props.align === "center" + }, { + "p-divider-right": props.layout === "horizontal" && props.align === "right" + }, { + "p-divider-top": props.layout === "vertical" && props.align === "top" + }, { + "p-divider-center": props.layout === "vertical" && (!props.align || props.align === "center") + }, { + "p-divider-bottom": props.layout === "vertical" && props.align === "bottom" + }]; + }, "root"), + content: "p-divider-content" +}; +var DividerStyle = BaseStyle.extend({ + name: "divider", + theme: theme$n, + classes: classes$n, + inlineStyles: inlineStyles$3 +}); +var script$1$m = { + name: "BaseDivider", + "extends": script$U, + props: { + align: { + type: String, + "default": null + }, + layout: { + type: String, + "default": "horizontal" + }, + type: { + type: String, + "default": "solid" + } + }, + style: DividerStyle, + provide: /* @__PURE__ */ __name(function provide14() { + return { + $pcDivider: this, + $parentInstance: this + }; + }, "provide") +}; +var script$D = { + name: "Divider", + "extends": script$1$m, + inheritAttrs: false +}; +var _hoisted_1$L = ["aria-orientation"]; +function render$C(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps$1({ + "class": _ctx.cx("root"), + style: _ctx.sx("root"), + role: "separator", + "aria-orientation": _ctx.layout + }, _ctx.ptmi("root")), [_ctx.$slots["default"] ? (openBlock(), createElementBlock("div", mergeProps$1({ + key: 0, + "class": _ctx.cx("content") + }, _ctx.ptm("content")), [renderSlot(_ctx.$slots, "default")], 16)) : createCommentVNode("", true)], 16, _hoisted_1$L); +} +__name(render$C, "render$C"); +script$D.render = render$C; +var theme$m = /* @__PURE__ */ __name(function theme13(_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: 0 calc(2 * ").concat(dt2("scrollpanel.bar.size"), ") calc(2 * ").concat(dt2("scrollpanel.bar.size"), ") 0;\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 transition: outline-color ").concat(dt2("scrollpanel.transition.duration"), ";\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 top: 0;\n}\n\n.p-scrollpanel-bar-x {\n height: ").concat(dt2("scrollpanel.bar.size"), ";\n bottom: 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$m = { + root: "p-scrollpanel p-component", + contentContainer: "p-scrollpanel-content-container", + content: "p-scrollpanel-content", + barX: "p-scrollpanel-bar p-scrollpanel-bar-x", + barY: "p-scrollpanel-bar p-scrollpanel-bar-y" +}; +var ScrollPanelStyle = BaseStyle.extend({ + name: "scrollpanel", + theme: theme$m, + classes: classes$m +}); +var script$1$l = { + name: "BaseScrollPanel", + "extends": script$U, + props: { + step: { + type: Number, + "default": 5 + } + }, + style: ScrollPanelStyle, + provide: /* @__PURE__ */ __name(function provide15() { + return { + $pcScrollPanel: this, + $parentInstance: this + }; + }, "provide") +}; +var script$C = { + name: "ScrollPanel", + "extends": script$1$l, + inheritAttrs: false, + initialized: false, + documentResizeListener: null, + documentMouseMoveListener: null, + documentMouseUpListener: null, + frame: null, + scrollXRatio: null, + scrollYRatio: null, + isXBarClicked: false, + isYBarClicked: false, + lastPageX: null, + lastPageY: null, + timer: null, + outsideClickListener: null, + data: /* @__PURE__ */ __name(function data4() { + return { + id: this.$attrs.id, + orientation: "vertical", + lastScrollTop: 0, + lastScrollLeft: 0 + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId3(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId") + }, + mounted: /* @__PURE__ */ __name(function mounted5() { + this.id = this.id || UniqueComponentId(); + if (this.$el.offsetParent) { + this.initialize(); + } + }, "mounted"), + updated: /* @__PURE__ */ __name(function updated3() { + if (!this.initialized && this.$el.offsetParent) { + this.initialize(); + } + }, "updated"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount2() { + this.unbindDocumentResizeListener(); + if (this.frame) { + window.cancelAnimationFrame(this.frame); + } + }, "beforeUnmount"), + methods: { + initialize: /* @__PURE__ */ __name(function initialize() { + this.moveBar(); + this.bindDocumentResizeListener(); + this.calculateContainerHeight(); + }, "initialize"), + calculateContainerHeight: /* @__PURE__ */ __name(function calculateContainerHeight() { + var containerStyles = getComputedStyle(this.$el), xBarStyles = getComputedStyle(this.$refs.xBar), pureContainerHeight = getHeight(this.$el) - parseInt(xBarStyles["height"], 10); + if (containerStyles["max-height"] !== "none" && pureContainerHeight === 0) { + if (this.$refs.content.offsetHeight + parseInt(xBarStyles["height"], 10) > parseInt(containerStyles["max-height"], 10)) { + this.$el.style.height = containerStyles["max-height"]; + } else { + this.$el.style.height = this.$refs.content.offsetHeight + parseFloat(containerStyles.paddingTop) + parseFloat(containerStyles.paddingBottom) + parseFloat(containerStyles.borderTopWidth) + parseFloat(containerStyles.borderBottomWidth) + "px"; + } + } + }, "calculateContainerHeight"), + moveBar: /* @__PURE__ */ __name(function moveBar() { + var _this = this; + if (this.$refs.content) { + var totalWidth = this.$refs.content.scrollWidth; + var ownWidth = this.$refs.content.clientWidth; + var bottom = (this.$el.clientHeight - this.$refs.xBar.clientHeight) * -1; + this.scrollXRatio = ownWidth / totalWidth; + var totalHeight = this.$refs.content.scrollHeight; + var ownHeight = this.$refs.content.clientHeight; + var right = (this.$el.clientWidth - this.$refs.yBar.clientWidth) * -1; + this.scrollYRatio = ownHeight / totalHeight; + this.frame = this.requestAnimationFrame(function() { + if (_this.$refs.xBar) { + if (_this.scrollXRatio >= 1) { + _this.$refs.xBar.setAttribute("data-p-scrollpanel-hidden", "true"); + !_this.isUnstyled && addClass(_this.$refs.xBar, "p-scrollpanel-hidden"); + } else { + _this.$refs.xBar.setAttribute("data-p-scrollpanel-hidden", "false"); + !_this.isUnstyled && removeClass(_this.$refs.xBar, "p-scrollpanel-hidden"); + _this.$refs.xBar.style.cssText = "width:" + Math.max(_this.scrollXRatio * 100, 10) + "%; left:" + _this.$refs.content.scrollLeft / totalWidth * 100 + "%;bottom:" + bottom + "px;"; + } + } + if (_this.$refs.yBar) { + if (_this.scrollYRatio >= 1) { + _this.$refs.yBar.setAttribute("data-p-scrollpanel-hidden", "true"); + !_this.isUnstyled && addClass(_this.$refs.yBar, "p-scrollpanel-hidden"); + } else { + _this.$refs.yBar.setAttribute("data-p-scrollpanel-hidden", "false"); + !_this.isUnstyled && removeClass(_this.$refs.yBar, "p-scrollpanel-hidden"); + _this.$refs.yBar.style.cssText = "height:" + Math.max(_this.scrollYRatio * 100, 10) + "%; top: calc(" + _this.$refs.content.scrollTop / totalHeight * 100 + "% - " + _this.$refs.xBar.clientHeight + "px);right:" + right + "px;"; + } + } + }); + } + }, "moveBar"), + onYBarMouseDown: /* @__PURE__ */ __name(function onYBarMouseDown(e) { + this.isYBarClicked = true; + this.$refs.yBar.focus(); + this.lastPageY = e.pageY; + this.$refs.yBar.setAttribute("data-p-scrollpanel-grabbed", "true"); + !this.isUnstyled && addClass(this.$refs.yBar, "p-scrollpanel-grabbed"); + document.body.setAttribute("data-p-scrollpanel-grabbed", "true"); + !this.isUnstyled && addClass(document.body, "p-scrollpanel-grabbed"); + this.bindDocumentMouseListeners(); + e.preventDefault(); + }, "onYBarMouseDown"), + onXBarMouseDown: /* @__PURE__ */ __name(function onXBarMouseDown(e) { + this.isXBarClicked = true; + this.$refs.xBar.focus(); + this.lastPageX = e.pageX; + this.$refs.yBar.setAttribute("data-p-scrollpanel-grabbed", "false"); + !this.isUnstyled && addClass(this.$refs.xBar, "p-scrollpanel-grabbed"); + document.body.setAttribute("data-p-scrollpanel-grabbed", "false"); + !this.isUnstyled && addClass(document.body, "p-scrollpanel-grabbed"); + this.bindDocumentMouseListeners(); + e.preventDefault(); + }, "onXBarMouseDown"), + onScroll: /* @__PURE__ */ __name(function onScroll2(event2) { + if (this.lastScrollLeft !== event2.target.scrollLeft) { + this.lastScrollLeft = event2.target.scrollLeft; + this.orientation = "horizontal"; + } else if (this.lastScrollTop !== event2.target.scrollTop) { + this.lastScrollTop = event2.target.scrollTop; + this.orientation = "vertical"; + } + this.moveBar(); + }, "onScroll"), + onKeyDown: /* @__PURE__ */ __name(function onKeyDown2(event2) { + if (this.orientation === "vertical") { + switch (event2.code) { + case "ArrowDown": { + this.setTimer("scrollTop", this.step); + event2.preventDefault(); + break; + } + case "ArrowUp": { + this.setTimer("scrollTop", this.step * -1); + event2.preventDefault(); + break; + } + case "ArrowLeft": + case "ArrowRight": { + event2.preventDefault(); + break; + } + } + } else if (this.orientation === "horizontal") { + switch (event2.code) { + case "ArrowRight": { + this.setTimer("scrollLeft", this.step); + event2.preventDefault(); + break; + } + case "ArrowLeft": { + this.setTimer("scrollLeft", this.step * -1); + event2.preventDefault(); + break; + } + case "ArrowDown": + case "ArrowUp": { + event2.preventDefault(); + break; + } + } + } + }, "onKeyDown"), + onKeyUp: /* @__PURE__ */ __name(function onKeyUp2() { + this.clearTimer(); + }, "onKeyUp"), + repeat: /* @__PURE__ */ __name(function repeat(bar, step2) { + this.$refs.content[bar] += step2; + this.moveBar(); + }, "repeat"), + setTimer: /* @__PURE__ */ __name(function setTimer(bar, step2) { + var _this2 = this; + this.clearTimer(); + this.timer = setTimeout(function() { + _this2.repeat(bar, step2); + }, 40); + }, "setTimer"), + clearTimer: /* @__PURE__ */ __name(function clearTimer() { + if (this.timer) { + clearTimeout(this.timer); + } + }, "clearTimer"), + onDocumentMouseMove: /* @__PURE__ */ __name(function onDocumentMouseMove(e) { + if (this.isXBarClicked) { + this.onMouseMoveForXBar(e); + } else if (this.isYBarClicked) { + this.onMouseMoveForYBar(e); + } else { + this.onMouseMoveForXBar(e); + this.onMouseMoveForYBar(e); + } + }, "onDocumentMouseMove"), + onMouseMoveForXBar: /* @__PURE__ */ __name(function onMouseMoveForXBar(e) { + var _this3 = this; + var deltaX = e.pageX - this.lastPageX; + this.lastPageX = e.pageX; + this.frame = this.requestAnimationFrame(function() { + _this3.$refs.content.scrollLeft += deltaX / _this3.scrollXRatio; + }); + }, "onMouseMoveForXBar"), + onMouseMoveForYBar: /* @__PURE__ */ __name(function onMouseMoveForYBar(e) { + var _this4 = this; + var deltaY = e.pageY - this.lastPageY; + this.lastPageY = e.pageY; + this.frame = this.requestAnimationFrame(function() { + _this4.$refs.content.scrollTop += deltaY / _this4.scrollYRatio; + }); + }, "onMouseMoveForYBar"), + onFocus: /* @__PURE__ */ __name(function onFocus(event2) { + if (this.$refs.xBar.isSameNode(event2.target)) { + this.orientation = "horizontal"; + } else if (this.$refs.yBar.isSameNode(event2.target)) { + this.orientation = "vertical"; + } + }, "onFocus"), + onBlur: /* @__PURE__ */ __name(function onBlur() { + if (this.orientation === "horizontal") { + this.orientation = "vertical"; + } + }, "onBlur"), + onDocumentMouseUp: /* @__PURE__ */ __name(function onDocumentMouseUp() { + this.$refs.yBar.setAttribute("data-p-scrollpanel-grabbed", "false"); + !this.isUnstyled && removeClass(this.$refs.yBar, "p-scrollpanel-grabbed"); + this.$refs.xBar.setAttribute("data-p-scrollpanel-grabbed", "false"); + !this.isUnstyled && removeClass(this.$refs.xBar, "p-scrollpanel-grabbed"); + document.body.setAttribute("data-p-scrollpanel-grabbed", "false"); + !this.isUnstyled && removeClass(document.body, "p-scrollpanel-grabbed"); + this.unbindDocumentMouseListeners(); + this.isXBarClicked = false; + this.isYBarClicked = false; + }, "onDocumentMouseUp"), + requestAnimationFrame: /* @__PURE__ */ __name(function requestAnimationFrame2(f) { + var frame = window.requestAnimationFrame || this.timeoutFrame; + return frame(f); + }, "requestAnimationFrame"), + refresh: /* @__PURE__ */ __name(function refresh() { + this.moveBar(); + }, "refresh"), + scrollTop: /* @__PURE__ */ __name(function scrollTop(_scrollTop) { + var scrollableHeight = this.$refs.content.scrollHeight - this.$refs.content.clientHeight; + _scrollTop = _scrollTop > scrollableHeight ? scrollableHeight : _scrollTop > 0 ? _scrollTop : 0; + this.$refs.content.scrollTop = _scrollTop; + }, "scrollTop"), + timeoutFrame: /* @__PURE__ */ __name(function timeoutFrame(fn) { + setTimeout(fn, 0); + }, "timeoutFrame"), + bindDocumentMouseListeners: /* @__PURE__ */ __name(function bindDocumentMouseListeners() { + var _this5 = this; + if (!this.documentMouseMoveListener) { + this.documentMouseMoveListener = function(e) { + _this5.onDocumentMouseMove(e); + }; + document.addEventListener("mousemove", this.documentMouseMoveListener); + } + if (!this.documentMouseUpListener) { + this.documentMouseUpListener = function(e) { + _this5.onDocumentMouseUp(e); + }; + document.addEventListener("mouseup", this.documentMouseUpListener); + } + }, "bindDocumentMouseListeners"), + unbindDocumentMouseListeners: /* @__PURE__ */ __name(function unbindDocumentMouseListeners() { + if (this.documentMouseMoveListener) { + document.removeEventListener("mousemove", this.documentMouseMoveListener); + this.documentMouseMoveListener = null; + } + if (this.documentMouseUpListener) { + document.removeEventListener("mouseup", this.documentMouseUpListener); + this.documentMouseUpListener = null; + } + }, "unbindDocumentMouseListeners"), + bindDocumentResizeListener: /* @__PURE__ */ __name(function bindDocumentResizeListener() { + var _this6 = this; + if (!this.documentResizeListener) { + this.documentResizeListener = function() { + _this6.moveBar(); + }; + window.addEventListener("resize", this.documentResizeListener); + } + }, "bindDocumentResizeListener"), + unbindDocumentResizeListener: /* @__PURE__ */ __name(function unbindDocumentResizeListener() { + if (this.documentResizeListener) { + window.removeEventListener("resize", this.documentResizeListener); + this.documentResizeListener = null; + } + }, "unbindDocumentResizeListener") + }, + computed: { + contentId: /* @__PURE__ */ __name(function contentId() { + return this.id + "_content"; + }, "contentId") + } +}; +var _hoisted_1$K = ["id"]; +var _hoisted_2$x = ["aria-controls", "aria-valuenow"]; +var _hoisted_3$k = ["aria-controls", "aria-valuenow"]; +function render$B(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps$1({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [createBaseVNode("div", mergeProps$1({ + "class": _ctx.cx("contentContainer") + }, _ctx.ptm("contentContainer")), [createBaseVNode("div", mergeProps$1({ + ref: "content", + id: $options.contentId, + "class": _ctx.cx("content"), + onScroll: _cache[0] || (_cache[0] = function() { + return $options.onScroll && $options.onScroll.apply($options, arguments); + }), + onMouseenter: _cache[1] || (_cache[1] = function() { + return $options.moveBar && $options.moveBar.apply($options, arguments); + }) + }, _ctx.ptm("content")), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1$K)], 16), createBaseVNode("div", mergeProps$1({ + ref: "xBar", + "class": _ctx.cx("barx"), + tabindex: "0", + role: "scrollbar", + "aria-orientation": "horizontal", + "aria-controls": $options.contentId, + "aria-valuenow": $data.lastScrollLeft, + onMousedown: _cache[2] || (_cache[2] = function() { + return $options.onXBarMouseDown && $options.onXBarMouseDown.apply($options, arguments); + }), + onKeydown: _cache[3] || (_cache[3] = function($event) { + return $options.onKeyDown($event); + }), + onKeyup: _cache[4] || (_cache[4] = function() { + return $options.onKeyUp && $options.onKeyUp.apply($options, arguments); + }), + onFocus: _cache[5] || (_cache[5] = function() { + return $options.onFocus && $options.onFocus.apply($options, arguments); + }), + onBlur: _cache[6] || (_cache[6] = function() { + return $options.onBlur && $options.onBlur.apply($options, arguments); + }) + }, _ctx.ptm("barx"), { + "data-pc-group-section": "bar" + }), null, 16, _hoisted_2$x), createBaseVNode("div", mergeProps$1({ + ref: "yBar", + "class": _ctx.cx("bary"), + tabindex: "0", + role: "scrollbar", + "aria-orientation": "vertical", + "aria-controls": $options.contentId, + "aria-valuenow": $data.lastScrollTop, + onMousedown: _cache[7] || (_cache[7] = function() { + return $options.onYBarMouseDown && $options.onYBarMouseDown.apply($options, arguments); + }), + onKeydown: _cache[8] || (_cache[8] = function($event) { + return $options.onKeyDown($event); + }), + onKeyup: _cache[9] || (_cache[9] = function() { + return $options.onKeyUp && $options.onKeyUp.apply($options, arguments); + }), + onFocus: _cache[10] || (_cache[10] = function() { + return $options.onFocus && $options.onFocus.apply($options, arguments); + }) + }, _ctx.ptm("bary"), { + "data-pc-group-section": "bar" + }), null, 16, _hoisted_3$k)], 16); +} +__name(render$B, "render$B"); +script$C.render = render$B; +var script$B = { + name: "AngleDownIcon", + "extends": script$T +}; +function render$A(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("svg", mergeProps$1({ + 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: "M3.58659 4.5007C3.68513 4.50023 3.78277 4.51945 3.87379 4.55723C3.9648 4.59501 4.04735 4.65058 4.11659 4.7207L7.11659 7.7207L10.1166 4.7207C10.2619 4.65055 10.4259 4.62911 10.5843 4.65956C10.7427 4.69002 10.8871 4.77074 10.996 4.88976C11.1049 5.00877 11.1726 5.15973 11.1889 5.32022C11.2052 5.48072 11.1693 5.6422 11.0866 5.7807L7.58659 9.2807C7.44597 9.42115 7.25534 9.50004 7.05659 9.50004C6.85784 9.50004 6.66722 9.42115 6.52659 9.2807L3.02659 5.7807C2.88614 5.64007 2.80725 5.44945 2.80725 5.2507C2.80725 5.05195 2.88614 4.86132 3.02659 4.7207C3.09932 4.64685 3.18675 4.58911 3.28322 4.55121C3.37969 4.51331 3.48305 4.4961 3.58659 4.5007Z", + fill: "currentColor" + }, null, -1)]), 16); +} +__name(render$A, "render$A"); +script$B.render = render$A; +var script$A = { + name: "AngleUpIcon", + "extends": script$T +}; +function render$z(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("svg", mergeProps$1({ + 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.4134 9.49931C10.3148 9.49977 10.2172 9.48055 10.1262 9.44278C10.0352 9.405 9.95263 9.34942 9.88338 9.27931L6.88338 6.27931L3.88338 9.27931C3.73811 9.34946 3.57409 9.3709 3.41567 9.34044C3.25724 9.30999 3.11286 9.22926 3.00395 9.11025C2.89504 8.99124 2.82741 8.84028 2.8111 8.67978C2.79478 8.51928 2.83065 8.35781 2.91338 8.21931L6.41338 4.71931C6.55401 4.57886 6.74463 4.49997 6.94338 4.49997C7.14213 4.49997 7.33276 4.57886 7.47338 4.71931L10.9734 8.21931C11.1138 8.35994 11.1927 8.55056 11.1927 8.74931C11.1927 8.94806 11.1138 9.13868 10.9734 9.27931C10.9007 9.35315 10.8132 9.41089 10.7168 9.44879C10.6203 9.48669 10.5169 9.5039 10.4134 9.49931Z", + fill: "currentColor" + }, null, -1)]), 16); +} +__name(render$z, "render$z"); +script$A.render = render$z; +var theme$l = /* @__PURE__ */ __name(function theme14(_ref) { + var dt2 = _ref.dt; + return "\n.p-inputnumber {\n display: inline-flex;\n position: relative;\n}\n\n.p-inputnumber-button {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 auto;\n cursor: pointer;\n background: ".concat(dt2("inputnumber.button.background"), ";\n color: ").concat(dt2("inputnumber.button.color"), ";\n width: ").concat(dt2("inputnumber.button.width"), ";\n transition: background ").concat(dt2("inputnumber.transition.duration"), ", color ").concat(dt2("inputnumber.transition.duration"), ", border-color ").concat(dt2("inputnumber.transition.duration"), ", outline-color ").concat(dt2("inputnumber.transition.duration"), ";\n}\n\n.p-inputnumber-button:hover {\n background: ").concat(dt2("inputnumber.button.hover.background"), ";\n color: ").concat(dt2("inputnumber.button.hover.color"), ";\n}\n\n.p-inputnumber-button:active {\n background: ").concat(dt2("inputnumber.button.active.background"), ";\n color: ").concat(dt2("inputnumber.button.active.color"), ";\n}\n\n.p-inputnumber-stacked .p-inputnumber-button {\n position: relative;\n border: 0 none;\n}\n\n.p-inputnumber-stacked .p-inputnumber-button-group {\n display: flex;\n flex-direction: column;\n position: absolute;\n top: 1px;\n right: 1px;\n height: calc(100% - 2px);\n z-index: 1;\n}\n\n.p-inputnumber-stacked .p-inputnumber-increment-button {\n padding: 0;\n border-top-right-radius: calc(").concat(dt2("inputnumber.button.border.radius"), " - 1px);\n}\n\n.p-inputnumber-stacked .p-inputnumber-decrement-button {\n padding: 0;\n border-bottom-right-radius: calc(").concat(dt2("inputnumber.button.border.radius"), " - 1px);\n}\n\n.p-inputnumber-stacked .p-inputnumber-button {\n flex: 1 1 auto;\n border: 0 none;\n}\n\n.p-inputnumber-horizontal .p-inputnumber-button {\n border: 1px solid ").concat(dt2("inputnumber.button.border.color"), ";\n}\n\n.p-inputnumber-horizontal .p-inputnumber-button:hover {\n border-color: ").concat(dt2("inputnumber.button.hover.border.color"), ";\n}\n\n.p-inputnumber-horizontal .p-inputnumber-button:active {\n border-color: ").concat(dt2("inputnumber.button.active.border.color"), ";\n}\n\n.p-inputnumber-horizontal .p-inputnumber-increment-button {\n order: 3;\n border-top-right-radius: ").concat(dt2("inputnumber.button.border.radius"), ";\n border-bottom-right-radius: ").concat(dt2("inputnumber.button.border.radius"), ";\n border-left: 0 none;\n}\n\n.p-inputnumber-horizontal .p-inputnumber-input {\n order: 2;\n border-radius: 0;\n}\n\n.p-inputnumber-horizontal .p-inputnumber-decrement-button {\n order: 1;\n border-top-left-radius: ").concat(dt2("inputnumber.button.border.radius"), ";\n border-bottom-left-radius: ").concat(dt2("inputnumber.button.border.radius"), ";\n border-right: 0 none;\n}\n\n.p-floatlabel:has(.p-inputnumber-horizontal) label {\n margin-inline-start: ").concat(dt2("inputnumber.button.width"), ";\n}\n\n.p-inputnumber-vertical {\n flex-direction: column;\n}\n\n.p-inputnumber-vertical .p-inputnumber-button {\n border: 1px solid ").concat(dt2("inputnumber.button.border.color"), ";\n padding: ").concat(dt2("inputnumber.button.vertical.padding"), "; 0;\n}\n\n.p-inputnumber-vertical .p-inputnumber-button:hover {\n border-color: ").concat(dt2("inputnumber.button.hover.border.color"), ";\n}\n\n.p-inputnumber-vertical .p-inputnumber-button:active {\n border-color: ").concat(dt2("inputnumber.button.active.border.color"), ";\n}\n\n.p-inputnumber-vertical .p-inputnumber-increment-button {\n order: 1;\n border-top-left-radius: ").concat(dt2("inputnumber.button.border.radius"), ";\n border-top-right-radius: ").concat(dt2("inputnumber.button.border.radius"), ";\n width: 100%;\n border-bottom: 0 none;\n}\n\n.p-inputnumber-vertical .p-inputnumber-input {\n order: 2;\n border-radius: 0;\n text-align: center;\n}\n\n.p-inputnumber-vertical .p-inputnumber-decrement-button {\n order: 3;\n border-bottom-left-radius: ").concat(dt2("inputnumber.button.border.radius"), ";\n border-bottom-right-radius: ").concat(dt2("inputnumber.button.border.radius"), ";\n width: 100%;\n border-top: 0 none;\n}\n\n.p-inputnumber-input {\n flex: 1 1 auto;\n}\n\n.p-inputnumber-fluid {\n width: 100%;\n}\n\n.p-inputnumber-fluid .p-inputnumber-input {\n width: 1%;\n}\n\n.p-inputnumber-fluid.p-inputnumber-vertical .p-inputnumber-input {\n width: 100%;\n}\n"); +}, "theme"); +var classes$l = { + root: /* @__PURE__ */ __name(function root9(_ref2) { + var instance = _ref2.instance, props = _ref2.props; + return ["p-inputnumber p-component p-inputwrapper", { + "p-inputwrapper-filled": instance.filled || props.allowEmpty === false, + "p-inputwrapper-focus": instance.focused, + "p-inputnumber-stacked": props.showButtons && props.buttonLayout === "stacked", + "p-inputnumber-horizontal": props.showButtons && props.buttonLayout === "horizontal", + "p-inputnumber-vertical": props.showButtons && props.buttonLayout === "vertical", + "p-inputnumber-fluid": instance.hasFluid + }]; + }, "root"), + pcInputText: "p-inputnumber-input", + buttonGroup: "p-inputnumber-button-group", + incrementButton: /* @__PURE__ */ __name(function incrementButton(_ref3) { + var instance = _ref3.instance, props = _ref3.props; + return ["p-inputnumber-button p-inputnumber-increment-button", { + "p-disabled": props.showButtons && props.max !== null && instance.maxBoundry() + }]; + }, "incrementButton"), + decrementButton: /* @__PURE__ */ __name(function decrementButton(_ref4) { + var instance = _ref4.instance, props = _ref4.props; + return ["p-inputnumber-button p-inputnumber-decrement-button", { + "p-disabled": props.showButtons && props.min !== null && instance.minBoundry() + }]; + }, "decrementButton") +}; +var InputNumberStyle = BaseStyle.extend({ + name: "inputnumber", + theme: theme$l, + classes: classes$l +}); +var script$1$k = { + name: "BaseInputNumber", + "extends": script$U, + props: { + modelValue: { + type: Number, + "default": null + }, + format: { + type: Boolean, + "default": true + }, + showButtons: { + type: Boolean, + "default": false + }, + buttonLayout: { + type: String, + "default": "stacked" + }, + incrementButtonClass: { + type: String, + "default": null + }, + decrementButtonClass: { + type: String, + "default": null + }, + incrementButtonIcon: { + type: String, + "default": void 0 + }, + incrementIcon: { + type: String, + "default": void 0 + }, + decrementButtonIcon: { + type: String, + "default": void 0 + }, + decrementIcon: { + type: String, + "default": void 0 + }, + locale: { + type: String, + "default": void 0 + }, + localeMatcher: { + type: String, + "default": void 0 + }, + mode: { + type: String, + "default": "decimal" + }, + prefix: { + type: String, + "default": null + }, + suffix: { + type: String, + "default": null + }, + currency: { + type: String, + "default": void 0 + }, + currencyDisplay: { + type: String, + "default": void 0 + }, + useGrouping: { + type: Boolean, + "default": true + }, + minFractionDigits: { + type: Number, + "default": void 0 + }, + maxFractionDigits: { + type: Number, + "default": void 0 + }, + roundingMode: { + type: String, + "default": "halfExpand", + validator: /* @__PURE__ */ __name(function validator2(value3) { + return ["ceil", "floor", "expand", "trunc", "halfCeil", "halfFloor", "halfExpand", "halfTrunc", "halfEven"].includes(value3); + }, "validator") + }, + min: { + type: Number, + "default": null + }, + max: { + type: Number, + "default": null + }, + step: { + type: Number, + "default": 1 + }, + allowEmpty: { + type: Boolean, + "default": true + }, + highlightOnFocus: { + type: Boolean, + "default": false + }, + readonly: { + type: Boolean, + "default": false + }, + variant: { + type: String, + "default": null + }, + invalid: { + type: Boolean, + "default": false + }, + disabled: { + type: Boolean, + "default": false + }, + placeholder: { + type: String, + "default": null + }, + fluid: { + type: Boolean, + "default": null + }, + inputId: { + type: String, + "default": null + }, + inputClass: { + type: [String, Object], + "default": null + }, + inputStyle: { + type: Object, + "default": null + }, + ariaLabelledby: { + type: String, + "default": null + }, + ariaLabel: { + type: String, + "default": null + } + }, + style: InputNumberStyle, + provide: /* @__PURE__ */ __name(function provide16() { + return { + $pcInputNumber: this, + $parentInstance: this + }; + }, "provide") +}; +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$d(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$d, "ownKeys$d"); +function _objectSpread$d(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$d(Object(t), true).forEach(function(r2) { + _defineProperty$b(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$d(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread$d, "_objectSpread$d"); +function _defineProperty$b(e, r, t) { + return (r = _toPropertyKey$b(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$b, "_defineProperty$b"); +function _toPropertyKey$b(t) { + var i2 = _toPrimitive$b(t, "string"); + return "symbol" == _typeof$b(i2) ? i2 : i2 + ""; +} +__name(_toPropertyKey$b, "_toPropertyKey$b"); +function _toPrimitive$b(t, r) { + if ("object" != _typeof$b(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i2 = e.call(t, r || "default"); + if ("object" != _typeof$b(i2)) return i2; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$b, "_toPrimitive$b"); +function _toConsumableArray$8(r) { + return _arrayWithoutHoles$8(r) || _iterableToArray$8(r) || _unsupportedIterableToArray$b(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$b(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$b(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$b(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$b, "_unsupportedIterableToArray$b"); +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$b(r); +} +__name(_arrayWithoutHoles$8, "_arrayWithoutHoles$8"); +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$z = { + name: "InputNumber", + "extends": script$1$k, + inheritAttrs: false, + emits: ["update:modelValue", "input", "focus", "blur"], + inject: { + $pcFluid: { + "default": null + } + }, + numberFormat: null, + _numeral: null, + _decimal: null, + _group: null, + _minusSign: null, + _currency: null, + _suffix: null, + _prefix: null, + _index: null, + groupChar: "", + isSpecialChar: null, + prefixChar: null, + suffixChar: null, + timer: null, + data: /* @__PURE__ */ __name(function data5() { + return { + d_modelValue: this.modelValue, + focused: false + }; + }, "data"), + watch: { + modelValue: /* @__PURE__ */ __name(function modelValue(newValue) { + this.d_modelValue = newValue; + }, "modelValue"), + locale: /* @__PURE__ */ __name(function locale(newValue, oldValue) { + this.updateConstructParser(newValue, oldValue); + }, "locale"), + localeMatcher: /* @__PURE__ */ __name(function localeMatcher(newValue, oldValue) { + this.updateConstructParser(newValue, oldValue); + }, "localeMatcher"), + mode: /* @__PURE__ */ __name(function mode(newValue, oldValue) { + this.updateConstructParser(newValue, oldValue); + }, "mode"), + currency: /* @__PURE__ */ __name(function currency(newValue, oldValue) { + this.updateConstructParser(newValue, oldValue); + }, "currency"), + currencyDisplay: /* @__PURE__ */ __name(function currencyDisplay(newValue, oldValue) { + this.updateConstructParser(newValue, oldValue); + }, "currencyDisplay"), + useGrouping: /* @__PURE__ */ __name(function useGrouping(newValue, oldValue) { + this.updateConstructParser(newValue, oldValue); + }, "useGrouping"), + minFractionDigits: /* @__PURE__ */ __name(function minFractionDigits(newValue, oldValue) { + this.updateConstructParser(newValue, oldValue); + }, "minFractionDigits"), + maxFractionDigits: /* @__PURE__ */ __name(function maxFractionDigits(newValue, oldValue) { + this.updateConstructParser(newValue, oldValue); + }, "maxFractionDigits"), + suffix: /* @__PURE__ */ __name(function suffix(newValue, oldValue) { + this.updateConstructParser(newValue, oldValue); + }, "suffix"), + prefix: /* @__PURE__ */ __name(function prefix(newValue, oldValue) { + this.updateConstructParser(newValue, oldValue); + }, "prefix") + }, + created: /* @__PURE__ */ __name(function created2() { + this.constructParser(); + }, "created"), + methods: { + getOptions: /* @__PURE__ */ __name(function getOptions2() { + return { + localeMatcher: this.localeMatcher, + style: this.mode, + currency: this.currency, + currencyDisplay: this.currencyDisplay, + useGrouping: this.useGrouping, + minimumFractionDigits: this.minFractionDigits, + maximumFractionDigits: this.maxFractionDigits, + roundingMode: this.roundingMode + }; + }, "getOptions"), + constructParser: /* @__PURE__ */ __name(function constructParser() { + this.numberFormat = new Intl.NumberFormat(this.locale, this.getOptions()); + var numerals = _toConsumableArray$8(new Intl.NumberFormat(this.locale, { + useGrouping: false + }).format(9876543210)).reverse(); + var index2 = new Map(numerals.map(function(d, i2) { + return [d, i2]; + })); + this._numeral = new RegExp("[".concat(numerals.join(""), "]"), "g"); + this._group = this.getGroupingExpression(); + this._minusSign = this.getMinusSignExpression(); + this._currency = this.getCurrencyExpression(); + this._decimal = this.getDecimalExpression(); + this._suffix = this.getSuffixExpression(); + this._prefix = this.getPrefixExpression(); + this._index = function(d) { + return index2.get(d); + }; + }, "constructParser"), + updateConstructParser: /* @__PURE__ */ __name(function updateConstructParser(newValue, oldValue) { + if (newValue !== oldValue) { + this.constructParser(); + } + }, "updateConstructParser"), + escapeRegExp: /* @__PURE__ */ __name(function escapeRegExp(text) { + return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); + }, "escapeRegExp"), + getDecimalExpression: /* @__PURE__ */ __name(function getDecimalExpression() { + var formatter = new Intl.NumberFormat(this.locale, _objectSpread$d(_objectSpread$d({}, this.getOptions()), {}, { + useGrouping: false + })); + return new RegExp("[".concat(formatter.format(1.1).replace(this._currency, "").trim().replace(this._numeral, ""), "]"), "g"); + }, "getDecimalExpression"), + getGroupingExpression: /* @__PURE__ */ __name(function getGroupingExpression() { + var formatter = new Intl.NumberFormat(this.locale, { + useGrouping: true + }); + this.groupChar = formatter.format(1e6).trim().replace(this._numeral, "").charAt(0); + return new RegExp("[".concat(this.groupChar, "]"), "g"); + }, "getGroupingExpression"), + getMinusSignExpression: /* @__PURE__ */ __name(function getMinusSignExpression() { + var formatter = new Intl.NumberFormat(this.locale, { + useGrouping: false + }); + return new RegExp("[".concat(formatter.format(-1).trim().replace(this._numeral, ""), "]"), "g"); + }, "getMinusSignExpression"), + getCurrencyExpression: /* @__PURE__ */ __name(function getCurrencyExpression() { + if (this.currency) { + var formatter = new Intl.NumberFormat(this.locale, { + style: "currency", + currency: this.currency, + currencyDisplay: this.currencyDisplay, + minimumFractionDigits: 0, + maximumFractionDigits: 0, + roundingMode: this.roundingMode + }); + return new RegExp("[".concat(formatter.format(1).replace(/\s/g, "").replace(this._numeral, "").replace(this._group, ""), "]"), "g"); + } + return new RegExp("[]", "g"); + }, "getCurrencyExpression"), + getPrefixExpression: /* @__PURE__ */ __name(function getPrefixExpression() { + if (this.prefix) { + this.prefixChar = this.prefix; + } else { + var formatter = new Intl.NumberFormat(this.locale, { + style: this.mode, + currency: this.currency, + currencyDisplay: this.currencyDisplay + }); + this.prefixChar = formatter.format(1).split("1")[0]; + } + return new RegExp("".concat(this.escapeRegExp(this.prefixChar || "")), "g"); + }, "getPrefixExpression"), + getSuffixExpression: /* @__PURE__ */ __name(function getSuffixExpression() { + if (this.suffix) { + this.suffixChar = this.suffix; + } else { + var formatter = new Intl.NumberFormat(this.locale, { + style: this.mode, + currency: this.currency, + currencyDisplay: this.currencyDisplay, + minimumFractionDigits: 0, + maximumFractionDigits: 0, + roundingMode: this.roundingMode + }); + this.suffixChar = formatter.format(1).split("1")[1]; + } + return new RegExp("".concat(this.escapeRegExp(this.suffixChar || "")), "g"); + }, "getSuffixExpression"), + formatValue: /* @__PURE__ */ __name(function formatValue(value3) { + if (value3 != null) { + if (value3 === "-") { + return value3; + } + if (this.format) { + var formatter = new Intl.NumberFormat(this.locale, this.getOptions()); + var formattedValue2 = formatter.format(value3); + if (this.prefix) { + formattedValue2 = this.prefix + formattedValue2; + } + if (this.suffix) { + formattedValue2 = formattedValue2 + this.suffix; + } + return formattedValue2; + } + return value3.toString(); + } + return ""; + }, "formatValue"), + parseValue: /* @__PURE__ */ __name(function parseValue2(text) { + var filteredText = text.replace(this._suffix, "").replace(this._prefix, "").trim().replace(/\s/g, "").replace(this._currency, "").replace(this._group, "").replace(this._minusSign, "-").replace(this._decimal, ".").replace(this._numeral, this._index); + if (filteredText) { + if (filteredText === "-") + return filteredText; + var parsedValue = +filteredText; + return isNaN(parsedValue) ? null : parsedValue; + } + return null; + }, "parseValue"), + repeat: /* @__PURE__ */ __name(function repeat2(event2, interval, dir) { + var _this = this; + if (this.readonly) { + return; + } + var i2 = interval || 500; + this.clearTimer(); + this.timer = setTimeout(function() { + _this.repeat(event2, 40, dir); + }, i2); + this.spin(event2, dir); + }, "repeat"), + spin: /* @__PURE__ */ __name(function spin(event2, dir) { + if (this.$refs.input) { + var step2 = this.step * dir; + var currentValue = this.parseValue(this.$refs.input.$el.value) || 0; + var newValue = this.validateValue(currentValue + step2); + this.updateInput(newValue, null, "spin"); + this.updateModel(event2, newValue); + this.handleOnInput(event2, currentValue, newValue); + } + }, "spin"), + onUpButtonMouseDown: /* @__PURE__ */ __name(function onUpButtonMouseDown(event2) { + if (!this.disabled) { + this.$refs.input.$el.focus(); + this.repeat(event2, null, 1); + event2.preventDefault(); + } + }, "onUpButtonMouseDown"), + onUpButtonMouseUp: /* @__PURE__ */ __name(function onUpButtonMouseUp() { + if (!this.disabled) { + this.clearTimer(); + } + }, "onUpButtonMouseUp"), + onUpButtonMouseLeave: /* @__PURE__ */ __name(function onUpButtonMouseLeave() { + if (!this.disabled) { + this.clearTimer(); + } + }, "onUpButtonMouseLeave"), + onUpButtonKeyUp: /* @__PURE__ */ __name(function onUpButtonKeyUp() { + if (!this.disabled) { + this.clearTimer(); + } + }, "onUpButtonKeyUp"), + onUpButtonKeyDown: /* @__PURE__ */ __name(function onUpButtonKeyDown(event2) { + if (event2.code === "Space" || event2.code === "Enter" || event2.code === "NumpadEnter") { + this.repeat(event2, null, 1); + } + }, "onUpButtonKeyDown"), + onDownButtonMouseDown: /* @__PURE__ */ __name(function onDownButtonMouseDown(event2) { + if (!this.disabled) { + this.$refs.input.$el.focus(); + this.repeat(event2, null, -1); + event2.preventDefault(); + } + }, "onDownButtonMouseDown"), + onDownButtonMouseUp: /* @__PURE__ */ __name(function onDownButtonMouseUp() { + if (!this.disabled) { + this.clearTimer(); + } + }, "onDownButtonMouseUp"), + onDownButtonMouseLeave: /* @__PURE__ */ __name(function onDownButtonMouseLeave() { + if (!this.disabled) { + this.clearTimer(); + } + }, "onDownButtonMouseLeave"), + onDownButtonKeyUp: /* @__PURE__ */ __name(function onDownButtonKeyUp() { + if (!this.disabled) { + this.clearTimer(); + } + }, "onDownButtonKeyUp"), + onDownButtonKeyDown: /* @__PURE__ */ __name(function onDownButtonKeyDown(event2) { + if (event2.code === "Space" || event2.code === "Enter" || event2.code === "NumpadEnter") { + this.repeat(event2, null, -1); + } + }, "onDownButtonKeyDown"), + onUserInput: /* @__PURE__ */ __name(function onUserInput() { + if (this.isSpecialChar) { + this.$refs.input.$el.value = this.lastValue; + } + this.isSpecialChar = false; + }, "onUserInput"), + onInputKeyDown: /* @__PURE__ */ __name(function onInputKeyDown(event2) { + if (this.readonly) { + return; + } + if (event2.altKey || event2.ctrlKey || event2.metaKey) { + this.isSpecialChar = true; + this.lastValue = this.$refs.input.$el.value; + return; + } + this.lastValue = event2.target.value; + var selectionStart = event2.target.selectionStart; + var selectionEnd = event2.target.selectionEnd; + var inputValue = event2.target.value; + var newValueStr = null; + switch (event2.code) { + case "ArrowUp": + this.spin(event2, 1); + event2.preventDefault(); + break; + case "ArrowDown": + this.spin(event2, -1); + event2.preventDefault(); + break; + case "ArrowLeft": + if (!this.isNumeralChar(inputValue.charAt(selectionStart - 1))) { + event2.preventDefault(); + } + break; + case "ArrowRight": + if (!this.isNumeralChar(inputValue.charAt(selectionStart))) { + event2.preventDefault(); + } + break; + case "Tab": + case "Enter": + case "NumpadEnter": + newValueStr = this.validateValue(this.parseValue(inputValue)); + this.$refs.input.$el.value = this.formatValue(newValueStr); + this.$refs.input.$el.setAttribute("aria-valuenow", newValueStr); + this.updateModel(event2, newValueStr); + break; + case "Backspace": { + event2.preventDefault(); + if (selectionStart === selectionEnd) { + var deleteChar = inputValue.charAt(selectionStart - 1); + var _this$getDecimalCharI = this.getDecimalCharIndexes(inputValue), decimalCharIndex = _this$getDecimalCharI.decimalCharIndex, decimalCharIndexWithoutPrefix = _this$getDecimalCharI.decimalCharIndexWithoutPrefix; + if (this.isNumeralChar(deleteChar)) { + var decimalLength = this.getDecimalLength(inputValue); + if (this._group.test(deleteChar)) { + this._group.lastIndex = 0; + newValueStr = inputValue.slice(0, selectionStart - 2) + inputValue.slice(selectionStart - 1); + } else if (this._decimal.test(deleteChar)) { + this._decimal.lastIndex = 0; + if (decimalLength) { + this.$refs.input.$el.setSelectionRange(selectionStart - 1, selectionStart - 1); + } else { + newValueStr = inputValue.slice(0, selectionStart - 1) + inputValue.slice(selectionStart); + } + } else if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) { + var insertedText = this.isDecimalMode() && (this.minFractionDigits || 0) < decimalLength ? "" : "0"; + newValueStr = inputValue.slice(0, selectionStart - 1) + insertedText + inputValue.slice(selectionStart); + } else if (decimalCharIndexWithoutPrefix === 1) { + newValueStr = inputValue.slice(0, selectionStart - 1) + "0" + inputValue.slice(selectionStart); + newValueStr = this.parseValue(newValueStr) > 0 ? newValueStr : ""; + } else { + newValueStr = inputValue.slice(0, selectionStart - 1) + inputValue.slice(selectionStart); + } + } + this.updateValue(event2, newValueStr, null, "delete-single"); + } else { + newValueStr = this.deleteRange(inputValue, selectionStart, selectionEnd); + this.updateValue(event2, newValueStr, null, "delete-range"); + } + break; + } + case "Delete": + event2.preventDefault(); + if (selectionStart === selectionEnd) { + var _deleteChar = inputValue.charAt(selectionStart); + var _this$getDecimalCharI2 = this.getDecimalCharIndexes(inputValue), _decimalCharIndex = _this$getDecimalCharI2.decimalCharIndex, _decimalCharIndexWithoutPrefix = _this$getDecimalCharI2.decimalCharIndexWithoutPrefix; + if (this.isNumeralChar(_deleteChar)) { + var _decimalLength = this.getDecimalLength(inputValue); + if (this._group.test(_deleteChar)) { + this._group.lastIndex = 0; + newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 2); + } else if (this._decimal.test(_deleteChar)) { + this._decimal.lastIndex = 0; + if (_decimalLength) { + this.$refs.input.$el.setSelectionRange(selectionStart + 1, selectionStart + 1); + } else { + newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 1); + } + } else if (_decimalCharIndex > 0 && selectionStart > _decimalCharIndex) { + var _insertedText = this.isDecimalMode() && (this.minFractionDigits || 0) < _decimalLength ? "" : "0"; + newValueStr = inputValue.slice(0, selectionStart) + _insertedText + inputValue.slice(selectionStart + 1); + } else if (_decimalCharIndexWithoutPrefix === 1) { + newValueStr = inputValue.slice(0, selectionStart) + "0" + inputValue.slice(selectionStart + 1); + newValueStr = this.parseValue(newValueStr) > 0 ? newValueStr : ""; + } else { + newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 1); + } + } + this.updateValue(event2, newValueStr, null, "delete-back-single"); + } else { + newValueStr = this.deleteRange(inputValue, selectionStart, selectionEnd); + this.updateValue(event2, newValueStr, null, "delete-range"); + } + break; + case "Home": + event2.preventDefault(); + if (isNotEmpty(this.min)) { + this.updateModel(event2, this.min); + } + break; + case "End": + event2.preventDefault(); + if (isNotEmpty(this.max)) { + this.updateModel(event2, this.max); + } + break; + } + }, "onInputKeyDown"), + onInputKeyPress: /* @__PURE__ */ __name(function onInputKeyPress(event2) { + if (this.readonly) { + return; + } + var _char = event2.key; + var isDecimalSign2 = this.isDecimalSign(_char); + var isMinusSign2 = this.isMinusSign(_char); + if (event2.code !== "Enter") { + event2.preventDefault(); + } + if (Number(_char) >= 0 && Number(_char) <= 9 || isMinusSign2 || isDecimalSign2) { + this.insert(event2, _char, { + isDecimalSign: isDecimalSign2, + isMinusSign: isMinusSign2 + }); + } + }, "onInputKeyPress"), + onPaste: /* @__PURE__ */ __name(function onPaste(event2) { + event2.preventDefault(); + var data21 = (event2.clipboardData || window["clipboardData"]).getData("Text"); + if (data21) { + var filteredData = this.parseValue(data21); + if (filteredData != null) { + this.insert(event2, filteredData.toString()); + } + } + }, "onPaste"), + allowMinusSign: /* @__PURE__ */ __name(function allowMinusSign() { + return this.min === null || this.min < 0; + }, "allowMinusSign"), + isMinusSign: /* @__PURE__ */ __name(function isMinusSign(_char2) { + if (this._minusSign.test(_char2) || _char2 === "-") { + this._minusSign.lastIndex = 0; + return true; + } + return false; + }, "isMinusSign"), + isDecimalSign: /* @__PURE__ */ __name(function isDecimalSign(_char3) { + if (this._decimal.test(_char3)) { + this._decimal.lastIndex = 0; + return true; + } + return false; + }, "isDecimalSign"), + isDecimalMode: /* @__PURE__ */ __name(function isDecimalMode() { + return this.mode === "decimal"; + }, "isDecimalMode"), + getDecimalCharIndexes: /* @__PURE__ */ __name(function getDecimalCharIndexes(val) { + var decimalCharIndex = val.search(this._decimal); + this._decimal.lastIndex = 0; + var filteredVal = val.replace(this._prefix, "").trim().replace(/\s/g, "").replace(this._currency, ""); + var decimalCharIndexWithoutPrefix = filteredVal.search(this._decimal); + this._decimal.lastIndex = 0; + return { + decimalCharIndex, + decimalCharIndexWithoutPrefix + }; + }, "getDecimalCharIndexes"), + getCharIndexes: /* @__PURE__ */ __name(function getCharIndexes(val) { + var decimalCharIndex = val.search(this._decimal); + this._decimal.lastIndex = 0; + var minusCharIndex = val.search(this._minusSign); + this._minusSign.lastIndex = 0; + var suffixCharIndex = val.search(this._suffix); + this._suffix.lastIndex = 0; + var currencyCharIndex = val.search(this._currency); + this._currency.lastIndex = 0; + return { + decimalCharIndex, + minusCharIndex, + suffixCharIndex, + currencyCharIndex + }; + }, "getCharIndexes"), + insert: /* @__PURE__ */ __name(function insert(event2, text) { + var sign = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : { + isDecimalSign: false, + isMinusSign: false + }; + var minusCharIndexOnText = text.search(this._minusSign); + this._minusSign.lastIndex = 0; + if (!this.allowMinusSign() && minusCharIndexOnText !== -1) { + return; + } + var selectionStart = this.$refs.input.$el.selectionStart; + var selectionEnd = this.$refs.input.$el.selectionEnd; + var inputValue = this.$refs.input.$el.value.trim(); + var _this$getCharIndexes = this.getCharIndexes(inputValue), decimalCharIndex = _this$getCharIndexes.decimalCharIndex, minusCharIndex = _this$getCharIndexes.minusCharIndex, suffixCharIndex = _this$getCharIndexes.suffixCharIndex, currencyCharIndex = _this$getCharIndexes.currencyCharIndex; + var newValueStr; + if (sign.isMinusSign) { + if (selectionStart === 0) { + newValueStr = inputValue; + if (minusCharIndex === -1 || selectionEnd !== 0) { + newValueStr = this.insertText(inputValue, text, 0, selectionEnd); + } + this.updateValue(event2, newValueStr, text, "insert"); + } + } else if (sign.isDecimalSign) { + if (decimalCharIndex > 0 && selectionStart === decimalCharIndex) { + this.updateValue(event2, inputValue, text, "insert"); + } else if (decimalCharIndex > selectionStart && decimalCharIndex < selectionEnd) { + newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd); + this.updateValue(event2, newValueStr, text, "insert"); + } else if (decimalCharIndex === -1 && this.maxFractionDigits) { + newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd); + this.updateValue(event2, newValueStr, text, "insert"); + } + } else { + var maxFractionDigits2 = this.numberFormat.resolvedOptions().maximumFractionDigits; + var operation = selectionStart !== selectionEnd ? "range-insert" : "insert"; + if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) { + if (selectionStart + text.length - (decimalCharIndex + 1) <= maxFractionDigits2) { + var charIndex = currencyCharIndex >= selectionStart ? currencyCharIndex - 1 : suffixCharIndex >= selectionStart ? suffixCharIndex : inputValue.length; + newValueStr = inputValue.slice(0, selectionStart) + text + inputValue.slice(selectionStart + text.length, charIndex) + inputValue.slice(charIndex); + this.updateValue(event2, newValueStr, text, operation); + } + } else { + newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd); + this.updateValue(event2, newValueStr, text, operation); + } + } + }, "insert"), + insertText: /* @__PURE__ */ __name(function insertText(value3, text, start2, end) { + var textSplit = text === "." ? text : text.split("."); + if (textSplit.length === 2) { + var decimalCharIndex = value3.slice(start2, end).search(this._decimal); + this._decimal.lastIndex = 0; + return decimalCharIndex > 0 ? value3.slice(0, start2) + this.formatValue(text) + value3.slice(end) : this.formatValue(text) || value3; + } else if (end - start2 === value3.length) { + return this.formatValue(text); + } else if (start2 === 0) { + return text + value3.slice(end); + } else if (end === value3.length) { + return value3.slice(0, start2) + text; + } else { + return value3.slice(0, start2) + text + value3.slice(end); + } + }, "insertText"), + deleteRange: /* @__PURE__ */ __name(function deleteRange(value3, start2, end) { + var newValueStr; + if (end - start2 === value3.length) newValueStr = ""; + else if (start2 === 0) newValueStr = value3.slice(end); + else if (end === value3.length) newValueStr = value3.slice(0, start2); + else newValueStr = value3.slice(0, start2) + value3.slice(end); + return newValueStr; + }, "deleteRange"), + initCursor: /* @__PURE__ */ __name(function initCursor() { + var selectionStart = this.$refs.input.$el.selectionStart; + var inputValue = this.$refs.input.$el.value; + var valueLength = inputValue.length; + var index2 = null; + var prefixLength = (this.prefixChar || "").length; + inputValue = inputValue.replace(this._prefix, ""); + selectionStart = selectionStart - prefixLength; + var _char4 = inputValue.charAt(selectionStart); + if (this.isNumeralChar(_char4)) { + return selectionStart + prefixLength; + } + var i2 = selectionStart - 1; + while (i2 >= 0) { + _char4 = inputValue.charAt(i2); + if (this.isNumeralChar(_char4)) { + index2 = i2 + prefixLength; + break; + } else { + i2--; + } + } + if (index2 !== null) { + this.$refs.input.$el.setSelectionRange(index2 + 1, index2 + 1); + } else { + i2 = selectionStart; + while (i2 < valueLength) { + _char4 = inputValue.charAt(i2); + if (this.isNumeralChar(_char4)) { + index2 = i2 + prefixLength; + break; + } else { + i2++; + } + } + if (index2 !== null) { + this.$refs.input.$el.setSelectionRange(index2, index2); + } + } + return index2 || 0; + }, "initCursor"), + onInputClick: /* @__PURE__ */ __name(function onInputClick() { + var currentValue = this.$refs.input.$el.value; + if (!this.readonly && currentValue !== getSelection()) { + this.initCursor(); + } + }, "onInputClick"), + isNumeralChar: /* @__PURE__ */ __name(function isNumeralChar(_char5) { + if (_char5.length === 1 && (this._numeral.test(_char5) || this._decimal.test(_char5) || this._group.test(_char5) || this._minusSign.test(_char5))) { + this.resetRegex(); + return true; + } + return false; + }, "isNumeralChar"), + resetRegex: /* @__PURE__ */ __name(function resetRegex() { + this._numeral.lastIndex = 0; + this._decimal.lastIndex = 0; + this._group.lastIndex = 0; + this._minusSign.lastIndex = 0; + }, "resetRegex"), + updateValue: /* @__PURE__ */ __name(function updateValue2(event2, valueStr, insertedValueStr, operation) { + var currentValue = this.$refs.input.$el.value; + var newValue = null; + if (valueStr != null) { + newValue = this.parseValue(valueStr); + newValue = !newValue && !this.allowEmpty ? 0 : newValue; + this.updateInput(newValue, insertedValueStr, operation, valueStr); + this.handleOnInput(event2, currentValue, newValue); + } + }, "updateValue"), + handleOnInput: /* @__PURE__ */ __name(function handleOnInput(event2, currentValue, newValue) { + if (this.isValueChanged(currentValue, newValue)) { + this.$emit("input", { + originalEvent: event2, + value: newValue, + formattedValue: currentValue + }); + } + }, "handleOnInput"), + isValueChanged: /* @__PURE__ */ __name(function isValueChanged(currentValue, newValue) { + if (newValue === null && currentValue !== null) { + return true; + } + if (newValue != null) { + var parsedCurrentValue = typeof currentValue === "string" ? this.parseValue(currentValue) : currentValue; + return newValue !== parsedCurrentValue; + } + return false; + }, "isValueChanged"), + validateValue: /* @__PURE__ */ __name(function validateValue(value3) { + if (value3 === "-" || value3 == null) { + return null; + } + if (this.min != null && value3 < this.min) { + return this.min; + } + if (this.max != null && value3 > this.max) { + return this.max; + } + return value3; + }, "validateValue"), + updateInput: /* @__PURE__ */ __name(function updateInput(value3, insertedValueStr, operation, valueStr) { + insertedValueStr = insertedValueStr || ""; + var inputValue = this.$refs.input.$el.value; + var newValue = this.formatValue(value3); + var currentLength = inputValue.length; + if (newValue !== valueStr) { + newValue = this.concatValues(newValue, valueStr); + } + if (currentLength === 0) { + this.$refs.input.$el.value = newValue; + this.$refs.input.$el.setSelectionRange(0, 0); + var index2 = this.initCursor(); + var selectionEnd = index2 + insertedValueStr.length; + this.$refs.input.$el.setSelectionRange(selectionEnd, selectionEnd); + } else { + var selectionStart = this.$refs.input.$el.selectionStart; + var _selectionEnd = this.$refs.input.$el.selectionEnd; + this.$refs.input.$el.value = newValue; + var newLength = newValue.length; + if (operation === "range-insert") { + var startValue = this.parseValue((inputValue || "").slice(0, selectionStart)); + var startValueStr = startValue !== null ? startValue.toString() : ""; + var startExpr = startValueStr.split("").join("(".concat(this.groupChar, ")?")); + var sRegex = new RegExp(startExpr, "g"); + sRegex.test(newValue); + var tExpr = insertedValueStr.split("").join("(".concat(this.groupChar, ")?")); + var tRegex = new RegExp(tExpr, "g"); + tRegex.test(newValue.slice(sRegex.lastIndex)); + _selectionEnd = sRegex.lastIndex + tRegex.lastIndex; + this.$refs.input.$el.setSelectionRange(_selectionEnd, _selectionEnd); + } else if (newLength === currentLength) { + if (operation === "insert" || operation === "delete-back-single") { + this.$refs.input.$el.setSelectionRange(_selectionEnd + 1, _selectionEnd + 1); + } else if (operation === "delete-single") { + this.$refs.input.$el.setSelectionRange(_selectionEnd - 1, _selectionEnd - 1); + } else if (operation === "delete-range" || operation === "spin") { + this.$refs.input.$el.setSelectionRange(_selectionEnd, _selectionEnd); + } + } else if (operation === "delete-back-single") { + var prevChar = inputValue.charAt(_selectionEnd - 1); + var nextChar = inputValue.charAt(_selectionEnd); + var diff = currentLength - newLength; + var isGroupChar = this._group.test(nextChar); + if (isGroupChar && diff === 1) { + _selectionEnd += 1; + } else if (!isGroupChar && this.isNumeralChar(prevChar)) { + _selectionEnd += -1 * diff + 1; + } + this._group.lastIndex = 0; + this.$refs.input.$el.setSelectionRange(_selectionEnd, _selectionEnd); + } else if (inputValue === "-" && operation === "insert") { + this.$refs.input.$el.setSelectionRange(0, 0); + var _index = this.initCursor(); + var _selectionEnd2 = _index + insertedValueStr.length + 1; + this.$refs.input.$el.setSelectionRange(_selectionEnd2, _selectionEnd2); + } else { + _selectionEnd = _selectionEnd + (newLength - currentLength); + this.$refs.input.$el.setSelectionRange(_selectionEnd, _selectionEnd); + } + } + this.$refs.input.$el.setAttribute("aria-valuenow", value3); + }, "updateInput"), + concatValues: /* @__PURE__ */ __name(function concatValues(val1, val2) { + if (val1 && val2) { + var decimalCharIndex = val2.search(this._decimal); + this._decimal.lastIndex = 0; + if (this.suffixChar) { + return decimalCharIndex !== -1 ? val1.replace(this.suffixChar, "").split(this._decimal)[0] + val2.replace(this.suffixChar, "").slice(decimalCharIndex) + this.suffixChar : val1; + } else { + return decimalCharIndex !== -1 ? val1.split(this._decimal)[0] + val2.slice(decimalCharIndex) : val1; + } + } + return val1; + }, "concatValues"), + getDecimalLength: /* @__PURE__ */ __name(function getDecimalLength(value3) { + if (value3) { + var valueSplit = value3.split(this._decimal); + if (valueSplit.length === 2) { + return valueSplit[1].replace(this._suffix, "").trim().replace(/\s/g, "").replace(this._currency, "").length; + } + } + return 0; + }, "getDecimalLength"), + updateModel: /* @__PURE__ */ __name(function updateModel2(event2, value3) { + this.d_modelValue = value3; + this.$emit("update:modelValue", value3); + }, "updateModel"), + onInputFocus: /* @__PURE__ */ __name(function onInputFocus(event2) { + this.focused = true; + if (!this.disabled && !this.readonly && this.$refs.input.$el.value !== getSelection() && this.highlightOnFocus) { + event2.target.select(); + } + this.$emit("focus", event2); + }, "onInputFocus"), + onInputBlur: /* @__PURE__ */ __name(function onInputBlur(event2) { + this.focused = false; + var input = event2.target; + var newValue = this.validateValue(this.parseValue(input.value)); + this.$emit("blur", { + originalEvent: event2, + value: input.value + }); + input.value = this.formatValue(newValue); + input.setAttribute("aria-valuenow", newValue); + this.updateModel(event2, newValue); + if (!this.disabled && !this.readonly && this.highlightOnFocus) { + clearSelection(); + } + }, "onInputBlur"), + clearTimer: /* @__PURE__ */ __name(function clearTimer2() { + if (this.timer) { + clearInterval(this.timer); + } + }, "clearTimer"), + maxBoundry: /* @__PURE__ */ __name(function maxBoundry() { + return this.d_modelValue >= this.max; + }, "maxBoundry"), + minBoundry: /* @__PURE__ */ __name(function minBoundry() { + return this.d_modelValue <= this.min; + }, "minBoundry") + }, + computed: { + filled: /* @__PURE__ */ __name(function filled2() { + return this.modelValue != null && this.modelValue.toString().length > 0; + }, "filled"), + upButtonListeners: /* @__PURE__ */ __name(function upButtonListeners() { + var _this2 = this; + return { + mousedown: /* @__PURE__ */ __name(function mousedown(event2) { + return _this2.onUpButtonMouseDown(event2); + }, "mousedown"), + mouseup: /* @__PURE__ */ __name(function mouseup(event2) { + return _this2.onUpButtonMouseUp(event2); + }, "mouseup"), + mouseleave: /* @__PURE__ */ __name(function mouseleave(event2) { + return _this2.onUpButtonMouseLeave(event2); + }, "mouseleave"), + keydown: /* @__PURE__ */ __name(function keydown(event2) { + return _this2.onUpButtonKeyDown(event2); + }, "keydown"), + keyup: /* @__PURE__ */ __name(function keyup(event2) { + return _this2.onUpButtonKeyUp(event2); + }, "keyup") + }; + }, "upButtonListeners"), + downButtonListeners: /* @__PURE__ */ __name(function downButtonListeners() { + var _this3 = this; + return { + mousedown: /* @__PURE__ */ __name(function mousedown(event2) { + return _this3.onDownButtonMouseDown(event2); + }, "mousedown"), + mouseup: /* @__PURE__ */ __name(function mouseup(event2) { + return _this3.onDownButtonMouseUp(event2); + }, "mouseup"), + mouseleave: /* @__PURE__ */ __name(function mouseleave(event2) { + return _this3.onDownButtonMouseLeave(event2); + }, "mouseleave"), + keydown: /* @__PURE__ */ __name(function keydown(event2) { + return _this3.onDownButtonKeyDown(event2); + }, "keydown"), + keyup: /* @__PURE__ */ __name(function keyup(event2) { + return _this3.onDownButtonKeyUp(event2); + }, "keyup") + }; + }, "downButtonListeners"), + formattedValue: /* @__PURE__ */ __name(function formattedValue() { + var val = !this.modelValue && !this.allowEmpty ? 0 : this.modelValue; + return this.formatValue(val); + }, "formattedValue"), + getFormatter: /* @__PURE__ */ __name(function getFormatter() { + return this.numberFormat; + }, "getFormatter"), + hasFluid: /* @__PURE__ */ __name(function hasFluid3() { + return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid; + }, "hasFluid") + }, + components: { + InputText: script$N, + AngleUpIcon: script$A, + AngleDownIcon: script$B + } +}; +var _hoisted_1$J = ["disabled"]; +var _hoisted_2$w = ["disabled"]; +var _hoisted_3$j = ["disabled"]; +var _hoisted_4$d = ["disabled"]; +function render$y(_ctx, _cache, $props, $setup, $data, $options) { + var _component_InputText = resolveComponent("InputText"); + return openBlock(), createElementBlock("span", mergeProps$1({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [createVNode(_component_InputText, { + ref: "input", + id: _ctx.inputId, + role: "spinbutton", + "class": normalizeClass([_ctx.cx("pcInputText"), _ctx.inputClass]), + style: normalizeStyle(_ctx.inputStyle), + value: $options.formattedValue, + "aria-valuemin": _ctx.min, + "aria-valuemax": _ctx.max, + "aria-valuenow": _ctx.modelValue, + inputmode: _ctx.mode === "decimal" && !_ctx.minFractionDigits ? "numeric" : "decimal", + disabled: _ctx.disabled, + readonly: _ctx.readonly, + placeholder: _ctx.placeholder, + "aria-labelledby": _ctx.ariaLabelledby, + "aria-label": _ctx.ariaLabel, + invalid: _ctx.invalid, + variant: _ctx.variant, + onInput: $options.onUserInput, + onKeydown: $options.onInputKeyDown, + onKeypress: $options.onInputKeyPress, + onPaste: $options.onPaste, + onClick: $options.onInputClick, + onFocus: $options.onInputFocus, + onBlur: $options.onInputBlur, + pt: _ctx.ptm("pcInputText"), + unstyled: _ctx.unstyled + }, null, 8, ["id", "class", "style", "value", "aria-valuemin", "aria-valuemax", "aria-valuenow", "inputmode", "disabled", "readonly", "placeholder", "aria-labelledby", "aria-label", "invalid", "variant", "onInput", "onKeydown", "onKeypress", "onPaste", "onClick", "onFocus", "onBlur", "pt", "unstyled"]), _ctx.showButtons && _ctx.buttonLayout === "stacked" ? (openBlock(), createElementBlock("span", mergeProps$1({ + key: 0, + "class": _ctx.cx("buttonGroup") + }, _ctx.ptm("buttonGroup")), [renderSlot(_ctx.$slots, "incrementbutton", { + listeners: $options.upButtonListeners + }, function() { + return [createBaseVNode("button", mergeProps$1({ + "class": [_ctx.cx("incrementButton"), _ctx.incrementButtonClass] + }, toHandlers($options.upButtonListeners, true), { + disabled: _ctx.disabled, + tabindex: -1, + "aria-hidden": "true", + type: "button" + }, _ctx.ptm("incrementButton")), [renderSlot(_ctx.$slots, _ctx.$slots.incrementicon ? "incrementicon" : "incrementbuttonicon", {}, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.incrementIcon || _ctx.incrementButtonIcon ? "span" : "AngleUpIcon"), mergeProps$1({ + "class": [_ctx.incrementIcon, _ctx.incrementButtonIcon] + }, _ctx.ptm("incrementIcon"), { + "data-pc-section": "incrementicon" + }), null, 16, ["class"]))]; + })], 16, _hoisted_1$J)]; + }), renderSlot(_ctx.$slots, "decrementbutton", { + listeners: $options.downButtonListeners + }, function() { + return [createBaseVNode("button", mergeProps$1({ + "class": [_ctx.cx("decrementButton"), _ctx.decrementButtonClass] + }, toHandlers($options.downButtonListeners, true), { + disabled: _ctx.disabled, + tabindex: -1, + "aria-hidden": "true", + type: "button" + }, _ctx.ptm("decrementButton")), [renderSlot(_ctx.$slots, _ctx.$slots.decrementicon ? "decrementicon" : "decrementbuttonicon", {}, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.decrementIcon || _ctx.decrementButtonIcon ? "span" : "AngleDownIcon"), mergeProps$1({ + "class": [_ctx.decrementIcon, _ctx.decrementButtonIcon] + }, _ctx.ptm("decrementIcon"), { + "data-pc-section": "decrementicon" + }), null, 16, ["class"]))]; + })], 16, _hoisted_2$w)]; + })], 16)) : createCommentVNode("", true), renderSlot(_ctx.$slots, "incrementbutton", { + listeners: $options.upButtonListeners + }, function() { + return [_ctx.showButtons && _ctx.buttonLayout !== "stacked" ? (openBlock(), createElementBlock("button", mergeProps$1({ + key: 0, + "class": [_ctx.cx("incrementButton"), _ctx.incrementButtonClass] + }, toHandlers($options.upButtonListeners, true), { + disabled: _ctx.disabled, + tabindex: -1, + "aria-hidden": "true", + type: "button" + }, _ctx.ptm("incrementButton")), [renderSlot(_ctx.$slots, _ctx.$slots.incrementicon ? "incrementicon" : "incrementbuttonicon", {}, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.incrementIcon || _ctx.incrementButtonIcon ? "span" : "AngleUpIcon"), mergeProps$1({ + "class": [_ctx.incrementIcon, _ctx.incrementButtonIcon] + }, _ctx.ptm("incrementIcon"), { + "data-pc-section": "incrementicon" + }), null, 16, ["class"]))]; + })], 16, _hoisted_3$j)) : createCommentVNode("", true)]; + }), renderSlot(_ctx.$slots, "decrementbutton", { + listeners: $options.downButtonListeners + }, function() { + return [_ctx.showButtons && _ctx.buttonLayout !== "stacked" ? (openBlock(), createElementBlock("button", mergeProps$1({ + key: 0, + "class": [_ctx.cx("decrementButton"), _ctx.decrementButtonClass] + }, toHandlers($options.downButtonListeners, true), { + disabled: _ctx.disabled, + tabindex: -1, + "aria-hidden": "true", + type: "button" + }, _ctx.ptm("decrementButton")), [renderSlot(_ctx.$slots, _ctx.$slots.decrementicon ? "decrementicon" : "decrementbuttonicon", {}, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.decrementIcon || _ctx.decrementButtonIcon ? "span" : "AngleDownIcon"), mergeProps$1({ + "class": [_ctx.decrementIcon, _ctx.decrementButtonIcon] + }, _ctx.ptm("decrementIcon"), { + "data-pc-section": "decrementicon" + }), null, 16, ["class"]))]; + })], 16, _hoisted_4$d)) : createCommentVNode("", true)]; + })], 16); +} +__name(render$y, "render$y"); +script$z.render = render$y; +var script$y = { + name: "ChevronDownIcon", + "extends": script$T +}; +function render$x(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("svg", mergeProps$1({ + 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.01744 10.398C6.91269 10.3985 6.8089 10.378 6.71215 10.3379C6.61541 10.2977 6.52766 10.2386 6.45405 10.1641L1.13907 4.84913C1.03306 4.69404 0.985221 4.5065 1.00399 4.31958C1.02276 4.13266 1.10693 3.95838 1.24166 3.82747C1.37639 3.69655 1.55301 3.61742 1.74039 3.60402C1.92777 3.59062 2.11386 3.64382 2.26584 3.75424L7.01744 8.47394L11.769 3.75424C11.9189 3.65709 12.097 3.61306 12.2748 3.62921C12.4527 3.64535 12.6199 3.72073 12.7498 3.84328C12.8797 3.96582 12.9647 4.12842 12.9912 4.30502C13.0177 4.48162 12.9841 4.662 12.8958 4.81724L7.58083 10.1322C7.50996 10.2125 7.42344 10.2775 7.32656 10.3232C7.22968 10.3689 7.12449 10.3944 7.01744 10.398Z", + fill: "currentColor" + }, null, -1)]), 16); +} +__name(render$x, "render$x"); +script$y.render = render$x; +var script$x = { + name: "TimesIcon", + "extends": script$T +}; +function render$w(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("svg", mergeProps$1({ + 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: "M8.01186 7.00933L12.27 2.75116C12.341 2.68501 12.398 2.60524 12.4375 2.51661C12.4769 2.42798 12.4982 2.3323 12.4999 2.23529C12.5016 2.13827 12.4838 2.0419 12.4474 1.95194C12.4111 1.86197 12.357 1.78024 12.2884 1.71163C12.2198 1.64302 12.138 1.58893 12.0481 1.55259C11.9581 1.51625 11.8617 1.4984 11.7647 1.50011C11.6677 1.50182 11.572 1.52306 11.4834 1.56255C11.3948 1.60204 11.315 1.65898 11.2488 1.72997L6.99067 5.98814L2.7325 1.72997C2.59553 1.60234 2.41437 1.53286 2.22718 1.53616C2.03999 1.53946 1.8614 1.61529 1.72901 1.74767C1.59663 1.88006 1.5208 2.05865 1.5175 2.24584C1.5142 2.43303 1.58368 2.61419 1.71131 2.75116L5.96948 7.00933L1.71131 11.2675C1.576 11.403 1.5 11.5866 1.5 11.7781C1.5 11.9696 1.576 12.1532 1.71131 12.2887C1.84679 12.424 2.03043 12.5 2.2219 12.5C2.41338 12.5 2.59702 12.424 2.7325 12.2887L6.99067 8.03052L11.2488 12.2887C11.3843 12.424 11.568 12.5 11.7594 12.5C11.9509 12.5 12.1346 12.424 12.27 12.2887C12.4053 12.1532 12.4813 11.9696 12.4813 11.7781C12.4813 11.5866 12.4053 11.403 12.27 11.2675L8.01186 7.00933Z", + fill: "currentColor" + }, null, -1)]), 16); +} +__name(render$w, "render$w"); +script$x.render = render$w; +var OverlayEventBus = EventBus(); +var script$w = { + name: "Portal", + props: { + appendTo: { + type: [String, Object], + "default": "body" + }, + disabled: { + type: Boolean, + "default": false + } + }, + data: /* @__PURE__ */ __name(function data6() { + return { + mounted: false + }; + }, "data"), + mounted: /* @__PURE__ */ __name(function mounted6() { + this.mounted = isClient$1(); + }, "mounted"), + computed: { + inline: /* @__PURE__ */ __name(function inline() { + return this.disabled || this.appendTo === "self"; + }, "inline") + } +}; +function render$v(_ctx, _cache, $props, $setup, $data, $options) { + return $options.inline ? renderSlot(_ctx.$slots, "default", { + key: 0 + }) : $data.mounted ? (openBlock(), createBlock(Teleport, { + key: 1, + to: $props.appendTo + }, [renderSlot(_ctx.$slots, "default")], 8, ["to"])) : createCommentVNode("", true); +} +__name(render$v, "render$v"); +script$w.render = render$v; +var theme$k = /* @__PURE__ */ __name(function theme15(_ref) { + var dt2 = _ref.dt; + return "\n.p-select {\n display: inline-flex;\n cursor: pointer;\n position: relative;\n user-select: none;\n background: ".concat(dt2("select.background"), ";\n border: 1px solid ").concat(dt2("select.border.color"), ";\n transition: background ").concat(dt2("select.transition.duration"), ", color ").concat(dt2("select.transition.duration"), ", border-color ").concat(dt2("select.transition.duration"), ",\n outline-color ").concat(dt2("select.transition.duration"), ", box-shadow ").concat(dt2("select.transition.duration"), ";\n border-radius: ").concat(dt2("select.border.radius"), ";\n outline-color: transparent;\n box-shadow: ").concat(dt2("select.shadow"), ";\n}\n\n.p-select:not(.p-disabled):hover {\n border-color: ").concat(dt2("select.hover.border.color"), ";\n}\n\n.p-select:not(.p-disabled).p-focus {\n border-color: ").concat(dt2("select.focus.border.color"), ";\n box-shadow: ").concat(dt2("select.focus.ring.shadow"), ";\n outline: ").concat(dt2("select.focus.ring.width"), " ").concat(dt2("select.focus.ring.style"), " ").concat(dt2("select.focus.ring.color"), ";\n outline-offset: ").concat(dt2("select.focus.ring.offset"), ";\n}\n\n.p-select.p-variant-filled {\n background: ").concat(dt2("select.filled.background"), ";\n}\n\n.p-select.p-variant-filled:not(.p-disabled):hover {\n background: ").concat(dt2("select.filled.hover.background"), ";\n}\n\n.p-select.p-variant-filled:not(.p-disabled).p-focus {\n background: ").concat(dt2("select.filled.focus.background"), ";\n}\n\n.p-select.p-invalid {\n border-color: ").concat(dt2("select.invalid.border.color"), ";\n}\n\n.p-select.p-disabled {\n opacity: 1;\n background: ").concat(dt2("select.disabled.background"), ";\n}\n\n.p-select-clear-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n color: ").concat(dt2("select.clear.icon.color"), ";\n right: ").concat(dt2("select.dropdown.width"), ";\n}\n\n.p-select-dropdown {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n background: transparent;\n color: ").concat(dt2("select.dropdown.color"), ";\n width: ").concat(dt2("select.dropdown.width"), ";\n border-top-right-radius: ").concat(dt2("select.border.radius"), ";\n border-bottom-right-radius: ").concat(dt2("select.border.radius"), ";\n}\n\n.p-select-label {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n flex: 1 1 auto;\n width: 1%;\n padding: ").concat(dt2("select.padding.y"), " ").concat(dt2("select.padding.x"), ";\n text-overflow: ellipsis;\n cursor: pointer;\n color: ").concat(dt2("select.color"), ";\n background: transparent;\n border: 0 none;\n outline: 0 none;\n}\n\n.p-select-label.p-placeholder {\n color: ").concat(dt2("select.placeholder.color"), ";\n}\n\n.p-select:has(.p-select-clear-icon) .p-select-label {\n padding-right: calc(1rem + ").concat(dt2("select.padding.x"), ");\n}\n\n.p-select.p-disabled .p-select-label {\n color: ").concat(dt2("select.disabled.color"), ";\n}\n\n.p-select-label-empty {\n overflow: hidden;\n opacity: 0;\n}\n\ninput.p-select-label {\n cursor: default;\n}\n\n.p-select .p-select-overlay {\n min-width: 100%;\n}\n\n.p-select-overlay {\n position: absolute;\n top: 0;\n left: 0;\n background: ").concat(dt2("select.overlay.background"), ";\n color: ").concat(dt2("select.overlay.color"), ";\n border: 1px solid ").concat(dt2("select.overlay.border.color"), ";\n border-radius: ").concat(dt2("select.overlay.border.radius"), ";\n box-shadow: ").concat(dt2("select.overlay.shadow"), ";\n}\n\n.p-select-header {\n padding: ").concat(dt2("select.list.header.padding"), ";\n}\n\n.p-select-filter {\n width: 100%;\n}\n\n.p-select-list-container {\n overflow: auto;\n}\n\n.p-select-option-group {\n cursor: auto;\n margin: 0;\n padding: ").concat(dt2("select.option.group.padding"), ";\n background: ").concat(dt2("select.option.group.background"), ";\n color: ").concat(dt2("select.option.group.color"), ";\n font-weight: ").concat(dt2("select.option.group.font.weight"), ";\n}\n\n.p-select-list {\n margin: 0;\n padding: 0;\n list-style-type: none;\n padding: ").concat(dt2("select.list.padding"), ";\n gap: ").concat(dt2("select.list.gap"), ";\n display: flex;\n flex-direction: column;\n}\n\n.p-select-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 padding: ").concat(dt2("select.option.padding"), ";\n border: 0 none;\n color: ").concat(dt2("select.option.color"), ";\n background: transparent;\n transition: background ").concat(dt2("select.transition.duration"), ", color ").concat(dt2("select.transition.duration"), ", border-color ").concat(dt2("select.transition.duration"), ",\n box-shadow ").concat(dt2("select.transition.duration"), ", outline-color ").concat(dt2("select.transition.duration"), ";\n border-radius: ").concat(dt2("select.option.border.radius"), ";\n}\n\n.p-select-option:not(.p-select-option-selected):not(.p-disabled).p-focus {\n background: ").concat(dt2("select.option.focus.background"), ";\n color: ").concat(dt2("select.option.focus.color"), ";\n}\n\n.p-select-option.p-select-option-selected {\n background: ").concat(dt2("select.option.selected.background"), ";\n color: ").concat(dt2("select.option.selected.color"), ";\n}\n\n.p-select-option.p-select-option-selected.p-focus {\n background: ").concat(dt2("select.option.selected.focus.background"), ";\n color: ").concat(dt2("select.option.selected.focus.color"), ";\n}\n\n.p-select-option-check-icon {\n position: relative;\n margin-inline-start: ").concat(dt2("select.checkmark.gutter.start"), ";\n margin-inline-end: ").concat(dt2("select.checkmark.gutter.end"), ";\n color: ").concat(dt2("select.checkmark.color"), ";\n}\n\n.p-select-empty-message {\n padding: ").concat(dt2("select.empty.message.padding"), ";\n}\n\n.p-select-fluid {\n display: flex;\n}\n"); +}, "theme"); +var classes$k = { + root: /* @__PURE__ */ __name(function root10(_ref2) { + var instance = _ref2.instance, props = _ref2.props, state = _ref2.state; + return ["p-select p-component p-inputwrapper", { + "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-focus": state.focused, + "p-inputwrapper-filled": instance.hasSelectedOption, + "p-inputwrapper-focus": state.focused || state.overlayVisible, + "p-select-open": state.overlayVisible, + "p-select-fluid": instance.hasFluid + }]; + }, "root"), + label: /* @__PURE__ */ __name(function label(_ref3) { + var instance = _ref3.instance, props = _ref3.props; + return ["p-select-label", { + "p-placeholder": !props.editable && instance.label === props.placeholder, + "p-select-label-empty": !props.editable && !instance.$slots["value"] && (instance.label === "p-emptylabel" || instance.label.length === 0) + }]; + }, "label"), + clearIcon: "p-select-clear-icon", + dropdown: "p-select-dropdown", + loadingicon: "p-select-loading-icon", + dropdownIcon: "p-select-dropdown-icon", + overlay: "p-select-overlay p-component", + header: "p-select-header", + pcFilter: "p-select-filter", + listContainer: "p-select-list-container", + list: "p-select-list", + optionGroup: "p-select-option-group", + optionGroupLabel: "p-select-option-group-label", + option: /* @__PURE__ */ __name(function option2(_ref4) { + var instance = _ref4.instance, props = _ref4.props, state = _ref4.state, _option = _ref4.option, focusedOption = _ref4.focusedOption; + return ["p-select-option", { + "p-select-option-selected": instance.isSelected(_option) && props.highlightOnSelect, + "p-focus": state.focusedOptionIndex === focusedOption, + "p-disabled": instance.isOptionDisabled(_option) + }]; + }, "option"), + optionLabel: "p-select-option-label", + optionCheckIcon: "p-select-option-check-icon", + optionBlankIcon: "p-select-option-blank-icon", + emptyMessage: "p-select-empty-message" +}; +var SelectStyle = BaseStyle.extend({ + name: "select", + theme: theme$k, + classes: classes$k +}); +var script$1$j = { + name: "BaseSelect", + "extends": script$U, + props: { + modelValue: null, + options: Array, + optionLabel: [String, Function], + optionValue: [String, Function], + optionDisabled: [String, Function], + optionGroupLabel: [String, Function], + optionGroupChildren: [String, Function], + scrollHeight: { + type: String, + "default": "14rem" + }, + filter: Boolean, + filterPlaceholder: String, + filterLocale: String, + filterMatchMode: { + type: String, + "default": "contains" + }, + filterFields: { + type: Array, + "default": null + }, + editable: Boolean, + placeholder: { + type: String, + "default": null + }, + variant: { + type: String, + "default": null + }, + invalid: { + type: Boolean, + "default": false + }, + disabled: { + type: Boolean, + "default": false + }, + dataKey: null, + showClear: { + type: Boolean, + "default": false + }, + fluid: { + type: Boolean, + "default": null + }, + inputId: { + type: String, + "default": null + }, + inputClass: { + type: [String, Object], + "default": null + }, + inputStyle: { + type: Object, + "default": null + }, + labelId: { + type: String, + "default": null + }, + labelClass: { + type: [String, Object], + "default": null + }, + labelStyle: { + type: Object, + "default": null + }, + panelClass: { + type: [String, Object], + "default": null + }, + overlayStyle: { + type: Object, + "default": null + }, + overlayClass: { + type: [String, Object], + "default": null + }, + panelStyle: { + type: Object, + "default": null + }, + appendTo: { + type: [String, Object], + "default": "body" + }, + loading: { + type: Boolean, + "default": false + }, + clearIcon: { + type: String, + "default": void 0 + }, + dropdownIcon: { + type: String, + "default": void 0 + }, + filterIcon: { + type: String, + "default": void 0 + }, + loadingIcon: { + type: String, + "default": void 0 + }, + resetFilterOnHide: { + type: Boolean, + "default": false + }, + resetFilterOnClear: { + type: Boolean, + "default": false + }, + virtualScrollerOptions: { + type: Object, + "default": null + }, + autoOptionFocus: { + type: Boolean, + "default": false + }, + autoFilterFocus: { + type: Boolean, + "default": false + }, + selectOnFocus: { + type: Boolean, + "default": false + }, + focusOnHover: { + type: Boolean, + "default": true + }, + highlightOnSelect: { + type: Boolean, + "default": true + }, + checkmark: { + 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: SelectStyle, + provide: /* @__PURE__ */ __name(function provide17() { + return { + $pcSelect: this, + $parentInstance: this + }; + }, "provide") +}; +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 _toConsumableArray$7(r) { + return _arrayWithoutHoles$7(r) || _iterableToArray$7(r) || _unsupportedIterableToArray$a(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$a(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$a(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$a(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$a, "_unsupportedIterableToArray$a"); +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$a(r); +} +__name(_arrayWithoutHoles$7, "_arrayWithoutHoles$7"); +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"); +function ownKeys$c(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$c, "ownKeys$c"); +function _objectSpread$c(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$c(Object(t), true).forEach(function(r2) { + _defineProperty$a(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$c(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread$c, "_objectSpread$c"); +function _defineProperty$a(e, r, t) { + return (r = _toPropertyKey$a(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$a, "_defineProperty$a"); +function _toPropertyKey$a(t) { + var i2 = _toPrimitive$a(t, "string"); + return "symbol" == _typeof$a(i2) ? i2 : i2 + ""; +} +__name(_toPropertyKey$a, "_toPropertyKey$a"); +function _toPrimitive$a(t, r) { + if ("object" != _typeof$a(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i2 = e.call(t, r || "default"); + if ("object" != _typeof$a(i2)) return i2; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$a, "_toPrimitive$a"); +var script$v = { + name: "Select", + "extends": script$1$j, + inheritAttrs: false, + emits: ["update:modelValue", "change", "focus", "blur", "before-show", "before-hide", "show", "hide", "filter"], + inject: { + $pcFluid: { + "default": null + } + }, + outsideClickListener: null, + scrollHandler: null, + resizeListener: null, + labelClickListener: null, + overlay: null, + list: null, + virtualScroller: null, + searchTimeout: null, + searchValue: null, + isModelValueChanged: false, + data: /* @__PURE__ */ __name(function data7() { + return { + id: this.$attrs.id, + clicked: false, + focused: false, + focusedOptionIndex: -1, + filterValue: null, + overlayVisible: false + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId4(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId"), + modelValue: /* @__PURE__ */ __name(function modelValue2() { + this.isModelValueChanged = true; + }, "modelValue"), + options: /* @__PURE__ */ __name(function options2() { + this.autoUpdateModel(); + }, "options") + }, + mounted: /* @__PURE__ */ __name(function mounted7() { + this.id = this.id || UniqueComponentId(); + this.autoUpdateModel(); + this.bindLabelClickListener(); + }, "mounted"), + updated: /* @__PURE__ */ __name(function updated4() { + if (this.overlayVisible && this.isModelValueChanged) { + this.scrollInView(this.findSelectedOptionIndex()); + } + this.isModelValueChanged = false; + }, "updated"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount3() { + this.unbindOutsideClickListener(); + this.unbindResizeListener(); + this.unbindLabelClickListener(); + 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 getOptionIndex2(index2, fn) { + return this.virtualScrollerDisabled ? index2 : fn && fn(index2)["index"]; + }, "getOptionIndex"), + getOptionLabel: /* @__PURE__ */ __name(function getOptionLabel2(option3) { + return this.optionLabel ? resolveFieldData(option3, this.optionLabel) : option3; + }, "getOptionLabel"), + getOptionValue: /* @__PURE__ */ __name(function getOptionValue2(option3) { + return this.optionValue ? resolveFieldData(option3, this.optionValue) : option3; + }, "getOptionValue"), + getOptionRenderKey: /* @__PURE__ */ __name(function getOptionRenderKey2(option3, index2) { + return (this.dataKey ? resolveFieldData(option3, this.dataKey) : this.getOptionLabel(option3)) + "_" + index2; + }, "getOptionRenderKey"), + getPTItemOptions: /* @__PURE__ */ __name(function getPTItemOptions(option3, itemOptions, index2, key) { + return this.ptm(key, { + context: { + option: option3, + index: index2, + selected: this.isSelected(option3), + focused: this.focusedOptionIndex === this.getOptionIndex(index2, itemOptions), + disabled: this.isOptionDisabled(option3) + } + }); + }, "getPTItemOptions"), + isOptionDisabled: /* @__PURE__ */ __name(function isOptionDisabled2(option3) { + return this.optionDisabled ? resolveFieldData(option3, this.optionDisabled) : false; + }, "isOptionDisabled"), + isOptionGroup: /* @__PURE__ */ __name(function isOptionGroup2(option3) { + return this.optionGroupLabel && option3.optionGroup && option3.group; + }, "isOptionGroup"), + getOptionGroupLabel: /* @__PURE__ */ __name(function getOptionGroupLabel2(optionGroup) { + return resolveFieldData(optionGroup, this.optionGroupLabel); + }, "getOptionGroupLabel"), + getOptionGroupChildren: /* @__PURE__ */ __name(function getOptionGroupChildren2(optionGroup) { + return resolveFieldData(optionGroup, this.optionGroupChildren); + }, "getOptionGroupChildren"), + getAriaPosInset: /* @__PURE__ */ __name(function getAriaPosInset2(index2) { + var _this = this; + return (this.optionGroupLabel ? index2 - this.visibleOptions.slice(0, index2).filter(function(option3) { + return _this.isOptionGroup(option3); + }).length : index2) + 1; + }, "getAriaPosInset"), + show: /* @__PURE__ */ __name(function show(isFocus) { + this.$emit("before-show"); + this.overlayVisible = true; + this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.editable ? -1 : this.findSelectedOptionIndex(); + isFocus && focus(this.$refs.focusInput); + }, "show"), + hide: /* @__PURE__ */ __name(function hide(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 onFocus2(event2) { + if (this.disabled) { + return; + } + this.focused = true; + if (this.overlayVisible) { + this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.editable ? -1 : this.findSelectedOptionIndex(); + this.scrollInView(this.focusedOptionIndex); + } + this.$emit("focus", event2); + }, "onFocus"), + onBlur: /* @__PURE__ */ __name(function onBlur2(event2) { + this.focused = false; + this.focusedOptionIndex = -1; + this.searchValue = ""; + this.$emit("blur", event2); + }, "onBlur"), + onKeyDown: /* @__PURE__ */ __name(function onKeyDown3(event2) { + if (this.disabled || isAndroid$1()) { + event2.preventDefault(); + return; + } + var metaKey = event2.metaKey || event2.ctrlKey; + switch (event2.code) { + case "ArrowDown": + this.onArrowDownKey(event2); + break; + case "ArrowUp": + this.onArrowUpKey(event2, this.editable); + break; + case "ArrowLeft": + case "ArrowRight": + this.onArrowLeftKey(event2, this.editable); + break; + case "Home": + this.onHomeKey(event2, this.editable); + break; + case "End": + this.onEndKey(event2, this.editable); + break; + case "PageDown": + this.onPageDownKey(event2); + break; + case "PageUp": + this.onPageUpKey(event2); + break; + case "Space": + this.onSpaceKey(event2, this.editable); + break; + case "Enter": + case "NumpadEnter": + this.onEnterKey(event2); + break; + case "Escape": + this.onEscapeKey(event2); + break; + case "Tab": + this.onTabKey(event2); + break; + case "Backspace": + this.onBackspaceKey(event2, this.editable); + break; + case "ShiftLeft": + case "ShiftRight": + break; + default: + if (!metaKey && isPrintableCharacter(event2.key)) { + !this.overlayVisible && this.show(); + !this.editable && this.searchOptions(event2, event2.key); + } + break; + } + this.clicked = false; + }, "onKeyDown"), + onEditableInput: /* @__PURE__ */ __name(function onEditableInput(event2) { + var value3 = event2.target.value; + this.searchValue = ""; + var matched = this.searchOptions(event2, value3); + !matched && (this.focusedOptionIndex = -1); + this.updateModel(event2, value3); + !this.overlayVisible && isNotEmpty(value3) && this.show(); + }, "onEditableInput"), + onContainerClick: /* @__PURE__ */ __name(function onContainerClick(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 onClearClick(event2) { + this.updateModel(event2, null); + this.resetFilterOnClear && (this.filterValue = null); + }, "onClearClick"), + 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"), + onOptionSelect: /* @__PURE__ */ __name(function onOptionSelect2(event2, option3) { + var isHide = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true; + var value3 = this.getOptionValue(option3); + this.updateModel(event2, value3); + isHide && this.hide(true); + }, "onOptionSelect"), + onOptionMouseMove: /* @__PURE__ */ __name(function onOptionMouseMove2(event2, index2) { + if (this.focusOnHover) { + this.changeFocusedOptionIndex(event2, index2); + } + }, "onOptionMouseMove"), + onFilterChange: /* @__PURE__ */ __name(function onFilterChange2(event2) { + var value3 = event2.target.value; + this.filterValue = value3; + this.focusedOptionIndex = -1; + this.$emit("filter", { + originalEvent: event2, + value: value3 + }); + !this.virtualScrollerDisabled && this.virtualScroller.scrollToIndex(0); + }, "onFilterChange"), + onFilterKeyDown: /* @__PURE__ */ __name(function onFilterKeyDown2(event2) { + if (event2.isComposing) return; + 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 onFilterBlur2() { + this.focusedOptionIndex = -1; + }, "onFilterBlur"), + onFilterUpdated: /* @__PURE__ */ __name(function onFilterUpdated() { + if (this.overlayVisible) { + this.alignOverlay(); + } + }, "onFilterUpdated"), + onOverlayClick: /* @__PURE__ */ __name(function onOverlayClick(event2) { + OverlayEventBus.emit("overlay-click", { + originalEvent: event2, + target: this.$el + }); + }, "onOverlayClick"), + onOverlayKeyDown: /* @__PURE__ */ __name(function onOverlayKeyDown(event2) { + switch (event2.code) { + case "Escape": + this.onEscapeKey(event2); + break; + } + }, "onOverlayKeyDown"), + onArrowDownKey: /* @__PURE__ */ __name(function onArrowDownKey2(event2) { + if (!this.overlayVisible) { + this.show(); + this.editable && this.changeFocusedOptionIndex(event2, this.findSelectedOptionIndex()); + } else { + var optionIndex = this.focusedOptionIndex !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex) : this.clicked ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex(); + this.changeFocusedOptionIndex(event2, optionIndex); + } + event2.preventDefault(); + }, "onArrowDownKey"), + onArrowUpKey: /* @__PURE__ */ __name(function onArrowUpKey2(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(); + this.changeFocusedOptionIndex(event2, optionIndex); + !this.overlayVisible && this.show(); + event2.preventDefault(); + } + }, "onArrowUpKey"), + onArrowLeftKey: /* @__PURE__ */ __name(function onArrowLeftKey2(event2) { + var pressedInInputText = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + pressedInInputText && (this.focusedOptionIndex = -1); + }, "onArrowLeftKey"), + onHomeKey: /* @__PURE__ */ __name(function onHomeKey2(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 { + this.changeFocusedOptionIndex(event2, this.findFirstOptionIndex()); + !this.overlayVisible && this.show(); + } + event2.preventDefault(); + }, "onHomeKey"), + onEndKey: /* @__PURE__ */ __name(function onEndKey2(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 { + this.changeFocusedOptionIndex(event2, this.findLastOptionIndex()); + !this.overlayVisible && this.show(); + } + event2.preventDefault(); + }, "onEndKey"), + onPageUpKey: /* @__PURE__ */ __name(function onPageUpKey2(event2) { + this.scrollInView(0); + event2.preventDefault(); + }, "onPageUpKey"), + onPageDownKey: /* @__PURE__ */ __name(function onPageDownKey2(event2) { + this.scrollInView(this.visibleOptions.length - 1); + event2.preventDefault(); + }, "onPageDownKey"), + onEnterKey: /* @__PURE__ */ __name(function onEnterKey2(event2) { + if (!this.overlayVisible) { + this.focusedOptionIndex = -1; + this.onArrowDownKey(event2); + } else { + if (this.focusedOptionIndex !== -1) { + this.onOptionSelect(event2, this.visibleOptions[this.focusedOptionIndex]); + } + this.hide(); + } + event2.preventDefault(); + }, "onEnterKey"), + onSpaceKey: /* @__PURE__ */ __name(function onSpaceKey2(event2) { + var pressedInInputText = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + !pressedInInputText && this.onEnterKey(event2); + }, "onSpaceKey"), + onEscapeKey: /* @__PURE__ */ __name(function onEscapeKey(event2) { + this.overlayVisible && this.hide(true); + event2.preventDefault(); + event2.stopPropagation(); + }, "onEscapeKey"), + onTabKey: /* @__PURE__ */ __name(function onTabKey(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(); + } else { + if (this.focusedOptionIndex !== -1) { + this.onOptionSelect(event2, this.visibleOptions[this.focusedOptionIndex]); + } + this.overlayVisible && this.hide(this.filter); + } + } + }, "onTabKey"), + onBackspaceKey: /* @__PURE__ */ __name(function onBackspaceKey(event2) { + var pressedInInputText = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + if (pressedInInputText) { + !this.overlayVisible && this.show(); + } + }, "onBackspaceKey"), + onOverlayEnter: /* @__PURE__ */ __name(function onOverlayEnter(el) { + var _this3 = this; + ZIndex.set("overlay", el, this.$primevue.config.zIndex.overlay); + addStyle(el, { + position: "absolute", + top: "0", + left: "0" + }); + this.alignOverlay(); + this.scrollInView(); + setTimeout(function() { + _this3.autoFilterFocus && focus(_this3.$refs.filterInput.$el); + }, 1); + }, "onOverlayEnter"), + onOverlayAfterEnter: /* @__PURE__ */ __name(function onOverlayAfterEnter() { + this.bindOutsideClickListener(); + this.bindScrollListener(); + this.bindResizeListener(); + this.$emit("show"); + }, "onOverlayAfterEnter"), + onOverlayLeave: /* @__PURE__ */ __name(function onOverlayLeave() { + var _this4 = this; + this.unbindOutsideClickListener(); + this.unbindScrollListener(); + this.unbindResizeListener(); + if (this.autoFilterFocus && this.filter) { + this.$nextTick(function() { + focus(_this4.$refs.filterInput.$el); + }); + } + this.$emit("hide"); + this.overlay = null; + }, "onOverlayLeave"), + onOverlayAfterLeave: /* @__PURE__ */ __name(function onOverlayAfterLeave(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 bindOutsideClickListener() { + var _this5 = this; + if (!this.outsideClickListener) { + this.outsideClickListener = function(event2) { + if (_this5.overlayVisible && _this5.overlay && !_this5.$el.contains(event2.target) && !_this5.overlay.contains(event2.target)) { + _this5.hide(); + } + }; + document.addEventListener("click", this.outsideClickListener); + } + }, "bindOutsideClickListener"), + unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener() { + if (this.outsideClickListener) { + document.removeEventListener("click", this.outsideClickListener); + this.outsideClickListener = null; + } + }, "unbindOutsideClickListener"), + bindScrollListener: /* @__PURE__ */ __name(function bindScrollListener() { + var _this6 = this; + if (!this.scrollHandler) { + this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.container, function() { + if (_this6.overlayVisible) { + _this6.hide(); + } + }); + } + this.scrollHandler.bindScrollListener(); + }, "bindScrollListener"), + unbindScrollListener: /* @__PURE__ */ __name(function unbindScrollListener() { + if (this.scrollHandler) { + this.scrollHandler.unbindScrollListener(); + } + }, "unbindScrollListener"), + bindResizeListener: /* @__PURE__ */ __name(function bindResizeListener2() { + var _this7 = this; + if (!this.resizeListener) { + this.resizeListener = function() { + if (_this7.overlayVisible && !isTouchDevice()) { + _this7.hide(); + } + }; + window.addEventListener("resize", this.resizeListener); + } + }, "bindResizeListener"), + unbindResizeListener: /* @__PURE__ */ __name(function unbindResizeListener2() { + if (this.resizeListener) { + window.removeEventListener("resize", this.resizeListener); + this.resizeListener = null; + } + }, "unbindResizeListener"), + bindLabelClickListener: /* @__PURE__ */ __name(function bindLabelClickListener() { + var _this8 = this; + if (!this.editable && !this.labelClickListener) { + var label5 = document.querySelector('label[for="'.concat(this.labelId, '"]')); + if (label5 && isVisible(label5)) { + this.labelClickListener = function() { + focus(_this8.$refs.focusInput); + }; + label5.addEventListener("click", this.labelClickListener); + } + } + }, "bindLabelClickListener"), + unbindLabelClickListener: /* @__PURE__ */ __name(function unbindLabelClickListener() { + if (this.labelClickListener) { + var label5 = document.querySelector('label[for="'.concat(this.labelId, '"]')); + if (label5 && isVisible(label5)) { + label5.removeEventListener("click", this.labelClickListener); + } + } + }, "unbindLabelClickListener"), + hasFocusableElements: /* @__PURE__ */ __name(function hasFocusableElements() { + return getFocusableElements(this.overlay, ':not([data-p-hidden-focusable="true"])').length > 0; + }, "hasFocusableElements"), + isOptionMatched: /* @__PURE__ */ __name(function isOptionMatched2(option3) { + var _this$getOptionLabel; + return this.isValidOption(option3) && typeof this.getOptionLabel(option3) === "string" && ((_this$getOptionLabel = this.getOptionLabel(option3)) === null || _this$getOptionLabel === void 0 ? void 0 : _this$getOptionLabel.toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale))); + }, "isOptionMatched"), + isValidOption: /* @__PURE__ */ __name(function isValidOption2(option3) { + return isNotEmpty(option3) && !(this.isOptionDisabled(option3) || this.isOptionGroup(option3)); + }, "isValidOption"), + isValidSelectedOption: /* @__PURE__ */ __name(function isValidSelectedOption2(option3) { + return this.isValidOption(option3) && this.isSelected(option3); + }, "isValidSelectedOption"), + isSelected: /* @__PURE__ */ __name(function isSelected2(option3) { + return equals(this.modelValue, this.getOptionValue(option3), this.equalityKey); + }, "isSelected"), + findFirstOptionIndex: /* @__PURE__ */ __name(function findFirstOptionIndex2() { + var _this9 = this; + return this.visibleOptions.findIndex(function(option3) { + return _this9.isValidOption(option3); + }); + }, "findFirstOptionIndex"), + findLastOptionIndex: /* @__PURE__ */ __name(function findLastOptionIndex2() { + var _this10 = this; + return findLastIndex(this.visibleOptions, function(option3) { + return _this10.isValidOption(option3); + }); + }, "findLastOptionIndex"), + findNextOptionIndex: /* @__PURE__ */ __name(function findNextOptionIndex2(index2) { + var _this11 = this; + var matchedOptionIndex = index2 < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index2 + 1).findIndex(function(option3) { + return _this11.isValidOption(option3); + }) : -1; + return matchedOptionIndex > -1 ? matchedOptionIndex + index2 + 1 : index2; + }, "findNextOptionIndex"), + findPrevOptionIndex: /* @__PURE__ */ __name(function findPrevOptionIndex2(index2) { + var _this12 = this; + var matchedOptionIndex = index2 > 0 ? findLastIndex(this.visibleOptions.slice(0, index2), function(option3) { + return _this12.isValidOption(option3); + }) : -1; + return matchedOptionIndex > -1 ? matchedOptionIndex : index2; + }, "findPrevOptionIndex"), + findSelectedOptionIndex: /* @__PURE__ */ __name(function findSelectedOptionIndex2() { + var _this13 = this; + return this.hasSelectedOption ? this.visibleOptions.findIndex(function(option3) { + return _this13.isValidSelectedOption(option3); + }) : -1; + }, "findSelectedOptionIndex"), + 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, _char) { + var _this14 = this; + this.searchValue = (this.searchValue || "") + _char; + var optionIndex = -1; + var matched = false; + if (isNotEmpty(this.searchValue)) { + if (this.focusedOptionIndex !== -1) { + optionIndex = this.visibleOptions.slice(this.focusedOptionIndex).findIndex(function(option3) { + return _this14.isOptionMatched(option3); + }); + optionIndex = optionIndex === -1 ? this.visibleOptions.slice(0, this.focusedOptionIndex).findIndex(function(option3) { + return _this14.isOptionMatched(option3); + }) : optionIndex + this.focusedOptionIndex; + } else { + optionIndex = this.visibleOptions.findIndex(function(option3) { + return _this14.isOptionMatched(option3); + }); + } + if (optionIndex !== -1) { + matched = true; + } + 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() { + _this14.searchValue = ""; + _this14.searchTimeout = null; + }, 500); + return matched; + }, "searchOptions"), + changeFocusedOptionIndex: /* @__PURE__ */ __name(function changeFocusedOptionIndex2(event2, index2) { + if (this.focusedOptionIndex !== index2) { + this.focusedOptionIndex = index2; + this.scrollInView(); + if (this.selectOnFocus) { + this.onOptionSelect(event2, this.visibleOptions[index2], false); + } + } + }, "changeFocusedOptionIndex"), + scrollInView: /* @__PURE__ */ __name(function scrollInView4() { + var _this15 = this; + var index2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : -1; + this.$nextTick(function() { + var id3 = index2 !== -1 ? "".concat(_this15.id, "_").concat(index2) : _this15.focusedOptionId; + var element = findSingle(_this15.list, 'li[id="'.concat(id3, '"]')); + if (element) { + element.scrollIntoView && element.scrollIntoView({ + block: "nearest", + inline: "start" + }); + } else if (!_this15.virtualScrollerDisabled) { + _this15.virtualScroller && _this15.virtualScroller.scrollToIndex(index2 !== -1 ? index2 : _this15.focusedOptionIndex); + } + }); + }, "scrollInView"), + autoUpdateModel: /* @__PURE__ */ __name(function autoUpdateModel2() { + if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption) { + this.focusedOptionIndex = this.findFirstFocusedOptionIndex(); + this.onOptionSelect(null, this.visibleOptions[this.focusedOptionIndex], false); + } + }, "autoUpdateModel"), + updateModel: /* @__PURE__ */ __name(function updateModel3(event2, value3) { + this.$emit("update:modelValue", value3); + this.$emit("change", { + originalEvent: event2, + value: value3 + }); + }, "updateModel"), + flatOptions: /* @__PURE__ */ __name(function flatOptions2(options3) { + var _this16 = this; + return (options3 || []).reduce(function(result, option3, index2) { + result.push({ + optionGroup: option3, + group: true, + index: index2 + }); + var optionGroupChildren = _this16.getOptionGroupChildren(option3); + optionGroupChildren && optionGroupChildren.forEach(function(o) { + return result.push(o); + }); + return result; + }, []); + }, "flatOptions"), + overlayRef: /* @__PURE__ */ __name(function overlayRef(el) { + this.overlay = el; + }, "overlayRef"), + listRef: /* @__PURE__ */ __name(function listRef2(el, contentRef3) { + this.list = el; + contentRef3 && contentRef3(el); + }, "listRef"), + virtualScrollerRef: /* @__PURE__ */ __name(function virtualScrollerRef2(el) { + this.virtualScroller = el; + }, "virtualScrollerRef") + }, + computed: { + visibleOptions: /* @__PURE__ */ __name(function visibleOptions2() { + var _this17 = this; + var options3 = this.optionGroupLabel ? this.flatOptions(this.options) : this.options || []; + if (this.filterValue) { + var filteredOptions = FilterService.filter(options3, this.searchFields, this.filterValue, this.filterMatchMode, this.filterLocale); + if (this.optionGroupLabel) { + var optionGroups = this.options || []; + var filtered = []; + optionGroups.forEach(function(group) { + var groupChildren = _this17.getOptionGroupChildren(group); + var filteredItems = groupChildren.filter(function(item2) { + return filteredOptions.includes(item2); + }); + if (filteredItems.length > 0) filtered.push(_objectSpread$c(_objectSpread$c({}, group), {}, _defineProperty$a({}, typeof _this17.optionGroupChildren === "string" ? _this17.optionGroupChildren : "items", _toConsumableArray$7(filteredItems)))); + }); + return this.flatOptions(filtered); + } + return filteredOptions; + } + return options3; + }, "visibleOptions"), + hasSelectedOption: /* @__PURE__ */ __name(function hasSelectedOption2() { + return isNotEmpty(this.modelValue); + }, "hasSelectedOption"), + label: /* @__PURE__ */ __name(function label2() { + var selectedOptionIndex = this.findSelectedOptionIndex(); + return selectedOptionIndex !== -1 ? this.getOptionLabel(this.visibleOptions[selectedOptionIndex]) : this.placeholder || "p-emptylabel"; + }, "label"), + editableInputValue: /* @__PURE__ */ __name(function editableInputValue() { + var selectedOptionIndex = this.findSelectedOptionIndex(); + return selectedOptionIndex !== -1 ? this.getOptionLabel(this.visibleOptions[selectedOptionIndex]) : this.modelValue || ""; + }, "editableInputValue"), + equalityKey: /* @__PURE__ */ __name(function equalityKey2() { + return this.optionValue ? null : this.dataKey; + }, "equalityKey"), + searchFields: /* @__PURE__ */ __name(function searchFields2() { + return this.filterFields || [this.optionLabel]; + }, "searchFields"), + filterResultMessageText: /* @__PURE__ */ __name(function filterResultMessageText2() { + return isNotEmpty(this.visibleOptions) ? this.filterMessageText.replaceAll("{0}", this.visibleOptions.length) : this.emptyFilterMessageText; + }, "filterResultMessageText"), + filterMessageText: /* @__PURE__ */ __name(function filterMessageText2() { + return this.filterMessage || this.$primevue.config.locale.searchMessage || ""; + }, "filterMessageText"), + emptyFilterMessageText: /* @__PURE__ */ __name(function emptyFilterMessageText2() { + return this.emptyFilterMessage || this.$primevue.config.locale.emptySearchMessage || this.$primevue.config.locale.emptyFilterMessage || ""; + }, "emptyFilterMessageText"), + emptyMessageText: /* @__PURE__ */ __name(function emptyMessageText2() { + 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.hasSelectedOption ? this.selectionMessageText.replaceAll("{0}", "1") : this.emptySelectionMessageText; + }, "selectedMessageText"), + focusedOptionId: /* @__PURE__ */ __name(function focusedOptionId2() { + return this.focusedOptionIndex !== -1 ? "".concat(this.id, "_").concat(this.focusedOptionIndex) : null; + }, "focusedOptionId"), + ariaSetSize: /* @__PURE__ */ __name(function ariaSetSize2() { + var _this18 = this; + return this.visibleOptions.filter(function(option3) { + return !_this18.isOptionGroup(option3); + }).length; + }, "ariaSetSize"), + isClearIconVisible: /* @__PURE__ */ __name(function isClearIconVisible() { + return this.showClear && this.modelValue != null && isNotEmpty(this.options); + }, "isClearIconVisible"), + virtualScrollerDisabled: /* @__PURE__ */ __name(function virtualScrollerDisabled2() { + return !this.virtualScrollerOptions; + }, "virtualScrollerDisabled"), + hasFluid: /* @__PURE__ */ __name(function hasFluid4() { + return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid; + }, "hasFluid") + }, + directives: { + ripple: Ripple + }, + components: { + InputText: script$N, + VirtualScroller: script$L, + Portal: script$w, + InputIcon: script$O, + IconField: script$P, + TimesIcon: script$x, + ChevronDownIcon: script$y, + SpinnerIcon: script$M, + SearchIcon: script$Q, + CheckIcon: script$R, + BlankIcon: script$S + } +}; +var _hoisted_1$I = ["id"]; +var _hoisted_2$v = ["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$a = ["id"]; +var _hoisted_6$6 = ["id", "aria-label", "aria-selected", "aria-disabled", "aria-setsize", "aria-posinset", "onClick", "onMousemove", "data-p-selected", "data-p-focused", "data-p-disabled"]; +function render$u(_ctx, _cache, $props, $setup, $data, $options) { + var _component_SpinnerIcon = resolveComponent("SpinnerIcon"); + var _component_InputText = resolveComponent("InputText"); + var _component_SearchIcon = resolveComponent("SearchIcon"); + var _component_InputIcon = resolveComponent("InputIcon"); + var _component_IconField = resolveComponent("IconField"); + var _component_CheckIcon = resolveComponent("CheckIcon"); + var _component_BlankIcon = resolveComponent("BlankIcon"); + var _component_VirtualScroller = resolveComponent("VirtualScroller"); + var _component_Portal = resolveComponent("Portal"); + var _directive_ripple = resolveDirective("ripple"); + return openBlock(), createElementBlock("div", mergeProps$1({ + ref: "container", + id: $data.id, + "class": _ctx.cx("root"), + onClick: _cache[11] || (_cache[11] = function() { + return $options.onContainerClick && $options.onContainerClick.apply($options, arguments); + }) + }, _ctx.ptmi("root")), [_ctx.editable ? (openBlock(), createElementBlock("input", mergeProps$1({ + key: 0, + ref: "focusInput", + id: _ctx.labelId || _ctx.inputId, + type: "text", + "class": [_ctx.cx("label"), _ctx.inputClass, _ctx.labelClass], + style: [_ctx.inputStyle, _ctx.labelStyle], + value: $options.editableInputValue, + placeholder: _ctx.placeholder, + tabindex: !_ctx.disabled ? _ctx.tabindex : -1, + disabled: _ctx.disabled, + autocomplete: "off", + 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); + }), + onInput: _cache[3] || (_cache[3] = function() { + return $options.onEditableInput && $options.onEditableInput.apply($options, arguments); + }) + }, _ctx.ptm("label")), null, 16, _hoisted_2$v)) : (openBlock(), createElementBlock("span", mergeProps$1({ + key: 1, + ref: "focusInput", + id: _ctx.labelId || _ctx.inputId, + "class": [_ctx.cx("label"), _ctx.inputClass, _ctx.labelClass], + style: [_ctx.inputStyle, _ctx.labelStyle], + tabindex: !_ctx.disabled ? _ctx.tabindex : -1, + role: "combobox", + "aria-label": _ctx.ariaLabel || ($options.label === "p-emptylabel" ? void 0 : $options.label), + "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-disabled": _ctx.disabled, + onFocus: _cache[4] || (_cache[4] = function() { + return $options.onFocus && $options.onFocus.apply($options, arguments); + }), + onBlur: _cache[5] || (_cache[5] = function() { + return $options.onBlur && $options.onBlur.apply($options, arguments); + }), + onKeydown: _cache[6] || (_cache[6] = function() { + return $options.onKeyDown && $options.onKeyDown.apply($options, arguments); + }) + }, _ctx.ptm("label")), [renderSlot(_ctx.$slots, "value", { + value: _ctx.modelValue, + placeholder: _ctx.placeholder + }, function() { + var _$options$label; + return [createTextVNode(toDisplayString$1($options.label === "p-emptylabel" ? " " : (_$options$label = $options.label) !== null && _$options$label !== void 0 ? _$options$label : "empty"), 1)]; + })], 16, _hoisted_3$i)), $options.isClearIconVisible ? renderSlot(_ctx.$slots, "clearicon", { + key: 2, + "class": normalizeClass(_ctx.cx("clearIcon")), + clearCallback: $options.onClearClick + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.clearIcon ? "i" : "TimesIcon"), mergeProps$1({ + 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$1({ + "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$1({ + key: 0, + "class": [_ctx.cx("loadingIcon"), "pi-spin", _ctx.loadingIcon], + "aria-hidden": "true" + }, _ctx.ptm("loadingIcon")), null, 16)) : (openBlock(), createBlock(_component_SpinnerIcon, mergeProps$1({ + 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$1({ + "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$1({ + 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$1({ + key: 0, + ref: $options.overlayRef, + "class": [_ctx.cx("overlay"), _ctx.panelClass, _ctx.overlayClass], + style: [_ctx.panelStyle, _ctx.overlayStyle], + onClick: _cache[9] || (_cache[9] = function() { + return $options.onOverlayClick && $options.onOverlayClick.apply($options, arguments); + }), + onKeydown: _cache[10] || (_cache[10] = function() { + return $options.onOverlayKeyDown && $options.onOverlayKeyDown.apply($options, arguments); + }) + }, _ctx.ptm("overlay")), [createBaseVNode("span", mergeProps$1({ + ref: "firstHiddenFocusableElementOnOverlay", + role: "presentation", + "aria-hidden": "true", + "class": "p-hidden-accessible p-hidden-focusable", + tabindex: 0, + onFocus: _cache[7] || (_cache[7] = 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.modelValue, + options: $options.visibleOptions + }), _ctx.filter ? (openBlock(), createElementBlock("div", mergeProps$1({ + key: 0, + "class": _ctx.cx("header") + }, _ctx.ptm("header")), [createVNode(_component_IconField, { + unstyled: _ctx.unstyled, + pt: _ctx.ptm("pcFilterContainer") + }, { + "default": withCtx(function() { + return [createVNode(_component_InputText, { + ref: "filterInput", + type: "text", + value: $data.filterValue, + onVnodeMounted: $options.onFilterUpdated, + onVnodeUpdated: $options.onFilterUpdated, + "class": normalizeClass(_ctx.cx("pcFilter")), + placeholder: _ctx.filterPlaceholder, + 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", "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$1({ + key: 0, + "class": _ctx.filterIcon + }, _ctx.ptm("filterIcon")), null, 16)) : (openBlock(), createBlock(_component_SearchIcon, normalizeProps(mergeProps$1({ + key: 1 + }, _ctx.ptm("filterIcon"))), null, 16))]; + })]; + }), + _: 3 + }, 8, ["unstyled", "pt"])]; + }), + _: 3 + }, 8, ["unstyled", "pt"]), createBaseVNode("span", mergeProps$1({ + role: "status", + "aria-live": "polite", + "class": "p-hidden-accessible" + }, _ctx.ptm("hiddenFilterResult"), { + "data-p-hidden-accessible": true + }), toDisplayString$1($options.filterResultMessageText), 17)], 16)) : createCommentVNode("", true), createBaseVNode("div", mergeProps$1({ + "class": _ctx.cx("listContainer"), + style: { + "max-height": $options.virtualScrollerDisabled ? _ctx.scrollHeight : "" + } + }, _ctx.ptm("listContainer")), [createVNode(_component_VirtualScroller, mergeProps$1({ + 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(_ref) { + var styleClass = _ref.styleClass, contentRef3 = _ref.contentRef, items2 = _ref.items, getItemOptions = _ref.getItemOptions, contentStyle = _ref.contentStyle, itemSize2 = _ref.itemSize; + return [createBaseVNode("ul", mergeProps$1({ + ref: /* @__PURE__ */ __name(function ref2(el) { + return $options.listRef(el, contentRef3); + }, "ref"), + id: $data.id + "_list", + "class": [_ctx.cx("list"), styleClass], + style: contentStyle, + role: "listbox" + }, _ctx.ptm("list")), [(openBlock(true), createElementBlock(Fragment, null, renderList(items2, function(option3, i2) { + return openBlock(), createElementBlock(Fragment, { + key: $options.getOptionRenderKey(option3, $options.getOptionIndex(i2, getItemOptions)) + }, [$options.isOptionGroup(option3) ? (openBlock(), createElementBlock("li", mergeProps$1({ + key: 0, + id: $data.id + "_" + $options.getOptionIndex(i2, getItemOptions), + style: { + height: itemSize2 ? itemSize2 + "px" : void 0 + }, + "class": _ctx.cx("optionGroup"), + role: "option", + ref_for: true + }, _ctx.ptm("optionGroup")), [renderSlot(_ctx.$slots, "optiongroup", { + option: option3.optionGroup, + index: $options.getOptionIndex(i2, getItemOptions) + }, function() { + return [createBaseVNode("span", mergeProps$1({ + "class": _ctx.cx("optionGroupLabel"), + ref_for: true + }, _ctx.ptm("optionGroupLabel")), toDisplayString$1($options.getOptionGroupLabel(option3.optionGroup)), 17)]; + })], 16, _hoisted_5$a)) : withDirectives((openBlock(), createElementBlock("li", mergeProps$1({ + key: 1, + id: $data.id + "_" + $options.getOptionIndex(i2, getItemOptions), + "class": _ctx.cx("option", { + option: option3, + focusedOption: $options.getOptionIndex(i2, getItemOptions) + }), + style: { + height: itemSize2 ? itemSize2 + "px" : void 0 + }, + role: "option", + "aria-label": $options.getOptionLabel(option3), + "aria-selected": $options.isSelected(option3), + "aria-disabled": $options.isOptionDisabled(option3), + "aria-setsize": $options.ariaSetSize, + "aria-posinset": $options.getAriaPosInset($options.getOptionIndex(i2, getItemOptions)), + onClick: /* @__PURE__ */ __name(function onClick3($event) { + return $options.onOptionSelect($event, option3); + }, "onClick"), + onMousemove: /* @__PURE__ */ __name(function onMousemove($event) { + return $options.onOptionMouseMove($event, $options.getOptionIndex(i2, getItemOptions)); + }, "onMousemove"), + "data-p-selected": $options.isSelected(option3), + "data-p-focused": $data.focusedOptionIndex === $options.getOptionIndex(i2, getItemOptions), + "data-p-disabled": $options.isOptionDisabled(option3), + ref_for: true + }, $options.getPTItemOptions(option3, getItemOptions, i2, "option")), [_ctx.checkmark ? (openBlock(), createElementBlock(Fragment, { + key: 0 + }, [$options.isSelected(option3) ? (openBlock(), createBlock(_component_CheckIcon, mergeProps$1({ + key: 0, + "class": _ctx.cx("optionCheckIcon"), + ref_for: true + }, _ctx.ptm("optionCheckIcon")), null, 16, ["class"])) : (openBlock(), createBlock(_component_BlankIcon, mergeProps$1({ + key: 1, + "class": _ctx.cx("optionBlankIcon"), + ref_for: true + }, _ctx.ptm("optionBlankIcon")), null, 16, ["class"]))], 64)) : createCommentVNode("", true), renderSlot(_ctx.$slots, "option", { + option: option3, + selected: $options.isSelected(option3), + index: $options.getOptionIndex(i2, getItemOptions) + }, function() { + return [createBaseVNode("span", mergeProps$1({ + "class": _ctx.cx("optionLabel"), + ref_for: true + }, _ctx.ptm("optionLabel")), toDisplayString$1($options.getOptionLabel(option3)), 17)]; + })], 16, _hoisted_6$6)), [[_directive_ripple]])], 64); + }), 128)), $data.filterValue && (!items2 || items2 && items2.length === 0) ? (openBlock(), createElementBlock("li", mergeProps$1({ + key: 0, + "class": _ctx.cx("emptyMessage"), + role: "option" + }, _ctx.ptm("emptyMessage"), { + "data-p-hidden-accessible": true + }), [renderSlot(_ctx.$slots, "emptyfilter", {}, function() { + return [createTextVNode(toDisplayString$1($options.emptyFilterMessageText), 1)]; + })], 16)) : !_ctx.options || _ctx.options && _ctx.options.length === 0 ? (openBlock(), createElementBlock("li", mergeProps$1({ + key: 1, + "class": _ctx.cx("emptyMessage"), + role: "option" + }, _ctx.ptm("emptyMessage"), { + "data-p-hidden-accessible": true + }), [renderSlot(_ctx.$slots, "empty", {}, function() { + return [createTextVNode(toDisplayString$1($options.emptyMessageText), 1)]; + })], 16)) : createCommentVNode("", true)], 16, _hoisted_4$c)]; + }), + _: 2 + }, [_ctx.$slots.loader ? { + name: "loader", + fn: withCtx(function(_ref2) { + var options3 = _ref2.options; + return [renderSlot(_ctx.$slots, "loader", { + options: options3 + })]; + }), + key: "0" + } : void 0]), 1040, ["items", "style", "disabled", "pt"])], 16), renderSlot(_ctx.$slots, "footer", { + value: _ctx.modelValue, + options: $options.visibleOptions + }), !_ctx.options || _ctx.options && _ctx.options.length === 0 ? (openBlock(), createElementBlock("span", mergeProps$1({ + key: 1, + role: "status", + "aria-live": "polite", + "class": "p-hidden-accessible" + }, _ctx.ptm("hiddenEmptyMessage"), { + "data-p-hidden-accessible": true + }), toDisplayString$1($options.emptyMessageText), 17)) : createCommentVNode("", true), createBaseVNode("span", mergeProps$1({ + role: "status", + "aria-live": "polite", + "class": "p-hidden-accessible" + }, _ctx.ptm("hiddenSelectedMessage"), { + "data-p-hidden-accessible": true + }), toDisplayString$1($options.selectedMessageText), 17), createBaseVNode("span", mergeProps$1({ + ref: "lastHiddenFocusableElementOnOverlay", + role: "presentation", + "aria-hidden": "true", + "class": "p-hidden-accessible p-hidden-focusable", + tabindex: 0, + onFocus: _cache[8] || (_cache[8] = 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, _hoisted_1$I); +} +__name(render$u, "render$u"); +script$v.render = render$u; +var theme$j = /* @__PURE__ */ __name(function theme16(_ref) { + var dt2 = _ref.dt; + return "\n.p-toggleswitch {\n display: inline-block;\n width: ".concat(dt2("toggleswitch.width"), ";\n height: ").concat(dt2("toggleswitch.height"), ";\n}\n\n.p-toggleswitch-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-radius: ").concat(dt2("toggleswitch.border.radius"), ";\n}\n\n.p-toggleswitch-slider {\n display: inline-block;\n cursor: pointer;\n width: 100%;\n height: 100%;\n border-width: ").concat(dt2("toggleswitch.border.width"), ";\n border-style: solid;\n border-color: ").concat(dt2("toggleswitch.border.color"), ";\n background: ").concat(dt2("toggleswitch.background"), ";\n transition: background ").concat(dt2("toggleswitch.transition.duration"), ", color ").concat(dt2("toggleswitch.transition.duration"), ", border-color ").concat(dt2("toggleswitch.transition.duration"), ", outline-color ").concat(dt2("toggleswitch.transition.duration"), ", box-shadow ").concat(dt2("toggleswitch.transition.duration"), ";\n border-radius: ").concat(dt2("toggleswitch.border.radius"), ";\n outline-color: transparent;\n box-shadow: ").concat(dt2("toggleswitch.shadow"), ";\n}\n\n.p-toggleswitch-handle {\n position: absolute;\n top: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n background: ").concat(dt2("toggleswitch.handle.background"), ";\n color: ").concat(dt2("toggleswitch.handle.color"), ";\n width: ").concat(dt2("toggleswitch.handle.size"), ";\n height: ").concat(dt2("toggleswitch.handle.size"), ";\n left: ").concat(dt2("toggleswitch.gap"), ";\n margin-top: calc(-1 * calc(").concat(dt2("toggleswitch.handle.size"), " / 2));\n border-radius: ").concat(dt2("toggleswitch.handle.border.radius"), ";\n transition: background ").concat(dt2("toggleswitch.transition.duration"), ", color ").concat(dt2("toggleswitch.transition.duration"), ", left ").concat(dt2("toggleswitch.slide.duration"), ", box-shadow ").concat(dt2("toggleswitch.slide.duration"), ";\n}\n\n.p-toggleswitch.p-toggleswitch-checked .p-toggleswitch-slider {\n background: ").concat(dt2("toggleswitch.checked.background"), ";\n border-color: ").concat(dt2("toggleswitch.checked.border.color"), ";\n}\n\n.p-toggleswitch.p-toggleswitch-checked .p-toggleswitch-handle {\n background: ").concat(dt2("toggleswitch.handle.checked.background"), ";\n color: ").concat(dt2("toggleswitch.handle.checked.color"), ";\n left: calc(").concat(dt2("toggleswitch.width"), " - calc(").concat(dt2("toggleswitch.handle.size"), " + ").concat(dt2("toggleswitch.gap"), "));\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover) .p-toggleswitch-slider {\n background: ").concat(dt2("toggleswitch.hover.background"), ";\n border-color: ").concat(dt2("toggleswitch.hover.border.color"), ";\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover) .p-toggleswitch-handle {\n background: ").concat(dt2("toggleswitch.handle.hover.background"), ";\n color: ").concat(dt2("toggleswitch.handle.hover.color"), ";\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover).p-toggleswitch-checked .p-toggleswitch-slider {\n background: ").concat(dt2("toggleswitch.checked.hover.background"), ";\n border-color: ").concat(dt2("toggleswitch.checked.hover.border.color"), ";\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover).p-toggleswitch-checked .p-toggleswitch-handle {\n background: ").concat(dt2("toggleswitch.handle.checked.hover.background"), ";\n color: ").concat(dt2("toggleswitch.handle.checked.hover.color"), ";\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:focus-visible) .p-toggleswitch-slider {\n box-shadow: ").concat(dt2("toggleswitch.focus.ring.shadow"), ";\n outline: ").concat(dt2("toggleswitch.focus.ring.width"), " ").concat(dt2("toggleswitch.focus.ring.style"), " ").concat(dt2("toggleswitch.focus.ring.color"), ";\n outline-offset: ").concat(dt2("toggleswitch.focus.ring.offset"), ";\n}\n\n.p-toggleswitch.p-invalid > .p-toggleswitch-slider {\n border-color: ").concat(dt2("toggleswitch.invalid.border.color"), ";\n}\n\n.p-toggleswitch.p-disabled {\n opacity: 1;\n}\n\n.p-toggleswitch.p-disabled .p-toggleswitch-slider {\n background: ").concat(dt2("toggleswitch.disabled.background"), ";\n}\n\n.p-toggleswitch.p-disabled .p-toggleswitch-handle {\n background: ").concat(dt2("toggleswitch.handle.disabled.background"), ";\n}\n"); +}, "theme"); +var inlineStyles$2 = { + root: { + position: "relative" + } +}; +var classes$j = { + root: /* @__PURE__ */ __name(function root11(_ref2) { + var instance = _ref2.instance, props = _ref2.props; + return ["p-toggleswitch p-component", { + "p-toggleswitch-checked": instance.checked, + "p-disabled": props.disabled, + "p-invalid": props.invalid + }]; + }, "root"), + input: "p-toggleswitch-input", + slider: "p-toggleswitch-slider", + handle: "p-toggleswitch-handle" +}; +var ToggleSwitchStyle = BaseStyle.extend({ + name: "toggleswitch", + theme: theme$j, + classes: classes$j, + inlineStyles: inlineStyles$2 +}); +var script$1$i = { + name: "BaseToggleSwitch", + "extends": script$U, + props: { + modelValue: { + type: null, + "default": false + }, + trueValue: { + type: null, + "default": true + }, + falseValue: { + type: null, + "default": false + }, + invalid: { + type: Boolean, + "default": false + }, + disabled: { + type: Boolean, + "default": false + }, + readonly: { + type: Boolean, + "default": false + }, + tabindex: { + type: Number, + "default": null + }, + inputId: { + type: String, + "default": null + }, + inputClass: { + type: [String, Object], + "default": null + }, + inputStyle: { + type: Object, + "default": null + }, + ariaLabelledby: { + type: String, + "default": null + }, + ariaLabel: { + type: String, + "default": null + } + }, + style: ToggleSwitchStyle, + provide: /* @__PURE__ */ __name(function provide18() { + return { + $pcToggleSwitch: this, + $parentInstance: this + }; + }, "provide") +}; +var script$u = { + name: "ToggleSwitch", + "extends": script$1$i, + inheritAttrs: false, + emits: ["update:modelValue", "change", "focus", "blur"], + methods: { + getPTOptions: /* @__PURE__ */ __name(function getPTOptions4(key) { + var _ptm = key === "root" ? this.ptmi : this.ptm; + return _ptm(key, { + context: { + checked: this.checked, + disabled: this.disabled + } + }); + }, "getPTOptions"), + onChange: /* @__PURE__ */ __name(function onChange(event2) { + if (!this.disabled && !this.readonly) { + var newValue = this.checked ? this.falseValue : this.trueValue; + this.$emit("update:modelValue", newValue); + this.$emit("change", event2); + } + }, "onChange"), + onFocus: /* @__PURE__ */ __name(function onFocus3(event2) { + this.$emit("focus", event2); + }, "onFocus"), + onBlur: /* @__PURE__ */ __name(function onBlur3(event2) { + this.$emit("blur", event2); + }, "onBlur") + }, + computed: { + checked: /* @__PURE__ */ __name(function checked() { + return this.modelValue === this.trueValue; + }, "checked") + } +}; +var _hoisted_1$H = ["data-p-checked", "data-p-disabled"]; +var _hoisted_2$u = ["id", "checked", "tabindex", "disabled", "readonly", "aria-checked", "aria-labelledby", "aria-label", "aria-invalid"]; +function render$t(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps$1({ + "class": _ctx.cx("root"), + style: _ctx.sx("root") + }, $options.getPTOptions("root"), { + "data-p-checked": $options.checked, + "data-p-disabled": _ctx.disabled + }), [createBaseVNode("input", mergeProps$1({ + id: _ctx.inputId, + type: "checkbox", + role: "switch", + "class": [_ctx.cx("input"), _ctx.inputClass], + style: _ctx.inputStyle, + checked: $options.checked, + tabindex: _ctx.tabindex, + disabled: _ctx.disabled, + readonly: _ctx.readonly, + "aria-checked": $options.checked, + "aria-labelledby": _ctx.ariaLabelledby, + "aria-label": _ctx.ariaLabel, + "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); + }), + onChange: _cache[2] || (_cache[2] = function() { + return $options.onChange && $options.onChange.apply($options, arguments); + }) + }, $options.getPTOptions("input")), null, 16, _hoisted_2$u), createBaseVNode("div", mergeProps$1({ + "class": _ctx.cx("slider") + }, $options.getPTOptions("slider")), [createBaseVNode("div", mergeProps$1({ + "class": _ctx.cx("handle") + }, $options.getPTOptions("handle")), [renderSlot(_ctx.$slots, "handle", { + checked: $options.checked + })], 16)], 16)], 16, _hoisted_1$H); +} +__name(render$t, "render$t"); +script$u.render = render$t; +var theme$i = /* @__PURE__ */ __name(function theme17(_ref) { + var dt2 = _ref.dt; + return "\n.p-tag {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: ".concat(dt2("tag.primary.background"), ";\n color: ").concat(dt2("tag.primary.color"), ";\n font-size: ").concat(dt2("tag.font.size"), ";\n font-weight: ").concat(dt2("tag.font.weight"), ";\n padding: ").concat(dt2("tag.padding"), ";\n border-radius: ").concat(dt2("tag.border.radius"), ";\n gap: ").concat(dt2("tag.gap"), ";\n}\n\n.p-tag-icon {\n font-size: ").concat(dt2("tag.icon.size"), ";\n width: ").concat(dt2("tag.icon.size"), ";\n height:").concat(dt2("tag.icon.size"), ";\n}\n\n.p-tag-rounded {\n border-radius: ").concat(dt2("tag.rounded.border.radius"), ";\n}\n\n.p-tag-success {\n background: ").concat(dt2("tag.success.background"), ";\n color: ").concat(dt2("tag.success.color"), ";\n}\n\n.p-tag-info {\n background: ").concat(dt2("tag.info.background"), ";\n color: ").concat(dt2("tag.info.color"), ";\n}\n\n.p-tag-warn {\n background: ").concat(dt2("tag.warn.background"), ";\n color: ").concat(dt2("tag.warn.color"), ";\n}\n\n.p-tag-danger {\n background: ").concat(dt2("tag.danger.background"), ";\n color: ").concat(dt2("tag.danger.color"), ";\n}\n\n.p-tag-secondary {\n background: ").concat(dt2("tag.secondary.background"), ";\n color: ").concat(dt2("tag.secondary.color"), ";\n}\n\n.p-tag-contrast {\n background: ").concat(dt2("tag.contrast.background"), ";\n color: ").concat(dt2("tag.contrast.color"), ";\n}\n"); +}, "theme"); +var classes$i = { + root: /* @__PURE__ */ __name(function root12(_ref2) { + var props = _ref2.props; + return ["p-tag p-component", { + "p-tag-info": props.severity === "info", + "p-tag-success": props.severity === "success", + "p-tag-warn": props.severity === "warn", + "p-tag-danger": props.severity === "danger", + "p-tag-secondary": props.severity === "secondary", + "p-tag-contrast": props.severity === "contrast", + "p-tag-rounded": props.rounded + }]; + }, "root"), + icon: "p-tag-icon", + label: "p-tag-label" +}; +var TagStyle = BaseStyle.extend({ + name: "tag", + theme: theme$i, + classes: classes$i +}); +var script$1$h = { + name: "BaseTag", + "extends": script$U, + props: { + value: null, + severity: null, + rounded: Boolean, + icon: String + }, + style: TagStyle, + provide: /* @__PURE__ */ __name(function provide19() { + return { + $pcTag: this, + $parentInstance: this + }; + }, "provide") +}; +var script$t = { + name: "Tag", + "extends": script$1$h, + inheritAttrs: false +}; +function render$s(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("span", mergeProps$1({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [_ctx.$slots.icon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.icon), mergeProps$1({ + key: 0, + "class": _ctx.cx("icon") + }, _ctx.ptm("icon")), null, 16, ["class"])) : _ctx.icon ? (openBlock(), createElementBlock("span", mergeProps$1({ + key: 1, + "class": [_ctx.cx("icon"), _ctx.icon] + }, _ctx.ptm("icon")), null, 16)) : createCommentVNode("", true), _ctx.value != null || _ctx.$slots["default"] ? renderSlot(_ctx.$slots, "default", { + key: 2 + }, function() { + return [createBaseVNode("span", mergeProps$1({ + "class": _ctx.cx("label") + }, _ctx.ptm("label")), toDisplayString$1(_ctx.value), 17)]; + }) : createCommentVNode("", true)], 16); +} +__name(render$s, "render$s"); +script$t.render = render$s; +const _sfc_main$E = /* @__PURE__ */ defineComponent({ + __name: "CustomSettingValue", + props: { + renderFunction: { type: Function } + }, + setup(__props) { + const props = __props; + const container = ref(null); + function renderContent() { + if (container.value) { + container.value.innerHTML = ""; + const element = props.renderFunction(); + container.value.appendChild(element); + } + } + __name(renderContent, "renderContent"); + onMounted(renderContent); + watch(() => props.renderFunction, renderContent); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", { + ref_key: "container", + ref: container + }, null, 512); + }; + } +}); +var theme$h = /* @__PURE__ */ __name(function theme18(_ref) { + var dt2 = _ref.dt; + return "\n.p-slider {\n position: relative;\n background: ".concat(dt2("slider.track.background"), ";\n border-radius: ").concat(dt2("slider.border.radius"), ";\n}\n\n.p-slider-handle {\n cursor: grab;\n touch-action: none;\n display: flex;\n justify-content: center;\n align-items: center;\n height: ").concat(dt2("slider.handle.height"), ";\n width: ").concat(dt2("slider.handle.width"), ";\n background: ").concat(dt2("slider.handle.background"), ";\n border-radius: ").concat(dt2("slider.handle.border.radius"), ";\n transition: background ").concat(dt2("slider.transition.duration"), ", color ").concat(dt2("slider.transition.duration"), ", border-color ").concat(dt2("slider.transition.duration"), ", box-shadow ").concat(dt2("slider.transition.duration"), ", outline-color ").concat(dt2("slider.transition.duration"), ';\n outline-color: transparent;\n}\n\n.p-slider-handle::before {\n content: "";\n width: ').concat(dt2("slider.handle.content.width"), ";\n height: ").concat(dt2("slider.handle.content.height"), ";\n display: block;\n background: ").concat(dt2("slider.handle.content.background"), ";\n border-radius: ").concat(dt2("slider.handle.content.border.radius"), ";\n box-shadow: ").concat(dt2("slider.handle.content.shadow"), ";\n transition: background ").concat(dt2("slider.transition.duration"), ";\n}\n\n.p-slider:not(.p-disabled) .p-slider-handle:hover {\n background: ").concat(dt2("slider.handle.hover.background"), ";\n}\n\n.p-slider:not(.p-disabled) .p-slider-handle:hover::before {\n background: ").concat(dt2("slider.handle.content.hover.background"), ";\n}\n\n.p-slider-handle:focus-visible {\n border-color: ").concat(dt2("slider.handle.focus.border.color"), ";\n box-shadow: ").concat(dt2("slider.handle.focus.ring.shadow"), ";\n outline: ").concat(dt2("slider.handle.focus.ring.width"), " ").concat(dt2("slider.handle.focus.ring.style"), " ").concat(dt2("slider.handle.focus.ring.color"), ";\n outline-offset: ").concat(dt2("slider.handle.focus.ring.offset"), ";\n}\n\n.p-slider-range {\n display: block;\n background: ").concat(dt2("slider.range.background"), ";\n border-radius: ").concat(dt2("slider.border.radius"), ";\n}\n\n.p-slider.p-slider-horizontal {\n height: ").concat(dt2("slider.track.size"), ";\n}\n\n.p-slider-horizontal .p-slider-range {\n top: 0;\n left: 0;\n height: 100%;\n}\n\n.p-slider-horizontal .p-slider-handle {\n top: 50%;\n margin-top: calc(-1 * calc(").concat(dt2("slider.handle.height"), " / 2));\n margin-left: calc(-1 * calc(").concat(dt2("slider.handle.width"), " / 2));\n}\n\n.p-slider-vertical {\n min-height: 100px;\n width: ").concat(dt2("slider.track.size"), ";\n}\n\n.p-slider-vertical .p-slider-handle {\n left: 50%;\n margin-left: calc(-1 * calc(").concat(dt2("slider.handle.width"), " / 2));\n margin-bottom: calc(-1 * calc(").concat(dt2("slider.handle.height"), " / 2));\n}\n\n.p-slider-vertical .p-slider-range {\n bottom: 0;\n left: 0;\n width: 100%;\n}\n"); +}, "theme"); +var inlineStyles$1 = { + handle: { + position: "absolute" + }, + range: { + position: "absolute" + } +}; +var classes$h = { + root: /* @__PURE__ */ __name(function root13(_ref2) { + var props = _ref2.props; + return ["p-slider p-component", { + "p-disabled": props.disabled, + "p-slider-horizontal": props.orientation === "horizontal", + "p-slider-vertical": props.orientation === "vertical" + }]; + }, "root"), + range: "p-slider-range", + handle: "p-slider-handle" +}; +var SliderStyle = BaseStyle.extend({ + name: "slider", + theme: theme$h, + classes: classes$h, + inlineStyles: inlineStyles$1 +}); +var script$1$g = { + name: "BaseSlider", + "extends": script$U, + props: { + modelValue: [Number, Array], + min: { + type: Number, + "default": 0 + }, + max: { + type: Number, + "default": 100 + }, + orientation: { + type: String, + "default": "horizontal" + }, + step: { + type: Number, + "default": null + }, + range: { + type: Boolean, + "default": false + }, + disabled: { + type: Boolean, + "default": false + }, + tabindex: { + type: Number, + "default": 0 + }, + ariaLabelledby: { + type: String, + "default": null + }, + ariaLabel: { + type: String, + "default": null + } + }, + style: SliderStyle, + provide: /* @__PURE__ */ __name(function provide20() { + return { + $pcSlider: this, + $parentInstance: this + }; + }, "provide") +}; +function _toConsumableArray$6(r) { + return _arrayWithoutHoles$6(r) || _iterableToArray$6(r) || _unsupportedIterableToArray$9(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$9(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$9(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$9(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$9, "_unsupportedIterableToArray$9"); +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$9(r); +} +__name(_arrayWithoutHoles$6, "_arrayWithoutHoles$6"); +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"); +var script$s = { + name: "Slider", + "extends": script$1$g, + inheritAttrs: false, + emits: ["update:modelValue", "change", "slideend"], + dragging: false, + handleIndex: null, + initX: null, + initY: null, + barWidth: null, + barHeight: null, + dragListener: null, + dragEndListener: null, + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount4() { + this.unbindDragListeners(); + }, "beforeUnmount"), + methods: { + updateDomData: /* @__PURE__ */ __name(function updateDomData() { + var rect = this.$el.getBoundingClientRect(); + this.initX = rect.left + getWindowScrollLeft(); + this.initY = rect.top + getWindowScrollTop(); + this.barWidth = this.$el.offsetWidth; + this.barHeight = this.$el.offsetHeight; + }, "updateDomData"), + setValue: /* @__PURE__ */ __name(function setValue(event2) { + var handleValue; + var pageX = event2.touches ? event2.touches[0].pageX : event2.pageX; + var pageY = event2.touches ? event2.touches[0].pageY : event2.pageY; + if (this.orientation === "horizontal") handleValue = (pageX - this.initX) * 100 / this.barWidth; + else handleValue = (this.initY + this.barHeight - pageY) * 100 / this.barHeight; + var newValue = (this.max - this.min) * (handleValue / 100) + this.min; + if (this.step) { + var oldValue = this.range ? this.value[this.handleIndex] : this.value; + var diff = newValue - oldValue; + if (diff < 0) newValue = oldValue + Math.ceil(newValue / this.step - oldValue / this.step) * this.step; + else if (diff > 0) newValue = oldValue + Math.floor(newValue / this.step - oldValue / this.step) * this.step; + } else { + newValue = Math.floor(newValue); + } + this.updateModel(event2, newValue); + }, "setValue"), + updateModel: /* @__PURE__ */ __name(function updateModel4(event2, value3) { + var newValue = parseFloat(value3.toFixed(10)); + var modelValue3; + if (this.range) { + modelValue3 = this.value ? _toConsumableArray$6(this.value) : []; + if (this.handleIndex == 0) { + if (newValue < this.min) newValue = this.min; + else if (newValue >= this.max) newValue = this.max; + modelValue3[0] = newValue; + } else { + if (newValue > this.max) newValue = this.max; + else if (newValue <= this.min) newValue = this.min; + modelValue3[1] = newValue; + } + } else { + if (newValue < this.min) newValue = this.min; + else if (newValue > this.max) newValue = this.max; + modelValue3 = newValue; + } + this.$emit("update:modelValue", modelValue3); + this.$emit("change", modelValue3); + }, "updateModel"), + onDragStart: /* @__PURE__ */ __name(function onDragStart(event2, index2) { + if (this.disabled) { + return; + } + this.$el.setAttribute("data-p-sliding", true); + this.dragging = true; + this.updateDomData(); + if (this.range && this.value[0] === this.max) { + this.handleIndex = 0; + } else { + this.handleIndex = index2; + } + event2.currentTarget.focus(); + event2.preventDefault(); + }, "onDragStart"), + onDrag: /* @__PURE__ */ __name(function onDrag(event2) { + if (this.dragging) { + this.setValue(event2); + event2.preventDefault(); + } + }, "onDrag"), + onDragEnd: /* @__PURE__ */ __name(function onDragEnd(event2) { + if (this.dragging) { + this.dragging = false; + this.$el.setAttribute("data-p-sliding", false); + this.$emit("slideend", { + originalEvent: event2, + value: this.value + }); + } + }, "onDragEnd"), + onBarClick: /* @__PURE__ */ __name(function onBarClick(event2) { + if (this.disabled) { + return; + } + if (getAttribute(event2.target, "data-pc-section") !== "handle") { + this.updateDomData(); + this.setValue(event2); + } + }, "onBarClick"), + onMouseDown: /* @__PURE__ */ __name(function onMouseDown2(event2, index2) { + this.bindDragListeners(); + this.onDragStart(event2, index2); + }, "onMouseDown"), + onKeyDown: /* @__PURE__ */ __name(function onKeyDown4(event2, index2) { + this.handleIndex = index2; + switch (event2.code) { + case "ArrowDown": + case "ArrowLeft": + this.decrementValue(event2, index2); + event2.preventDefault(); + break; + case "ArrowUp": + case "ArrowRight": + this.incrementValue(event2, index2); + event2.preventDefault(); + break; + case "PageDown": + this.decrementValue(event2, index2, true); + event2.preventDefault(); + break; + case "PageUp": + this.incrementValue(event2, index2, true); + event2.preventDefault(); + break; + case "Home": + this.updateModel(event2, this.min); + event2.preventDefault(); + break; + case "End": + this.updateModel(event2, this.max); + event2.preventDefault(); + break; + } + }, "onKeyDown"), + decrementValue: /* @__PURE__ */ __name(function decrementValue(event2, index2) { + var pageKey = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false; + var newValue; + if (this.range) { + if (this.step) newValue = this.value[index2] - this.step; + else newValue = this.value[index2] - 1; + } else { + if (this.step) newValue = this.value - this.step; + else if (!this.step && pageKey) newValue = this.value - 10; + else newValue = this.value - 1; + } + this.updateModel(event2, newValue); + event2.preventDefault(); + }, "decrementValue"), + incrementValue: /* @__PURE__ */ __name(function incrementValue(event2, index2) { + var pageKey = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false; + var newValue; + if (this.range) { + if (this.step) newValue = this.value[index2] + this.step; + else newValue = this.value[index2] + 1; + } else { + if (this.step) newValue = this.value + this.step; + else if (!this.step && pageKey) newValue = this.value + 10; + else newValue = this.value + 1; + } + this.updateModel(event2, newValue); + event2.preventDefault(); + }, "incrementValue"), + bindDragListeners: /* @__PURE__ */ __name(function bindDragListeners() { + if (!this.dragListener) { + this.dragListener = this.onDrag.bind(this); + document.addEventListener("mousemove", this.dragListener); + } + if (!this.dragEndListener) { + this.dragEndListener = this.onDragEnd.bind(this); + document.addEventListener("mouseup", this.dragEndListener); + } + }, "bindDragListeners"), + unbindDragListeners: /* @__PURE__ */ __name(function unbindDragListeners() { + if (this.dragListener) { + document.removeEventListener("mousemove", this.dragListener); + this.dragListener = null; + } + if (this.dragEndListener) { + document.removeEventListener("mouseup", this.dragEndListener); + this.dragEndListener = null; + } + }, "unbindDragListeners") + }, + computed: { + value: /* @__PURE__ */ __name(function value2() { + var _this$modelValue3; + if (this.range) { + var _this$modelValue$, _this$modelValue, _this$modelValue$2, _this$modelValue2; + return [(_this$modelValue$ = (_this$modelValue = this.modelValue) === null || _this$modelValue === void 0 ? void 0 : _this$modelValue[0]) !== null && _this$modelValue$ !== void 0 ? _this$modelValue$ : this.min, (_this$modelValue$2 = (_this$modelValue2 = this.modelValue) === null || _this$modelValue2 === void 0 ? void 0 : _this$modelValue2[1]) !== null && _this$modelValue$2 !== void 0 ? _this$modelValue$2 : this.max]; + } + return (_this$modelValue3 = this.modelValue) !== null && _this$modelValue3 !== void 0 ? _this$modelValue3 : this.min; + }, "value"), + horizontal: /* @__PURE__ */ __name(function horizontal() { + return this.orientation === "horizontal"; + }, "horizontal"), + vertical: /* @__PURE__ */ __name(function vertical() { + return this.orientation === "vertical"; + }, "vertical"), + rangeStyle: /* @__PURE__ */ __name(function rangeStyle() { + if (this.range) { + var rangeSliderWidth = this.rangeEndPosition > this.rangeStartPosition ? this.rangeEndPosition - this.rangeStartPosition : this.rangeStartPosition - this.rangeEndPosition; + var rangeSliderPosition = this.rangeEndPosition > this.rangeStartPosition ? this.rangeStartPosition : this.rangeEndPosition; + if (this.horizontal) return { + left: rangeSliderPosition + "%", + width: rangeSliderWidth + "%" + }; + else return { + bottom: rangeSliderPosition + "%", + height: rangeSliderWidth + "%" + }; + } else { + if (this.horizontal) return { + width: this.handlePosition + "%" + }; + else return { + height: this.handlePosition + "%" + }; + } + }, "rangeStyle"), + handleStyle: /* @__PURE__ */ __name(function handleStyle() { + if (this.horizontal) return { + left: this.handlePosition + "%" + }; + else return { + bottom: this.handlePosition + "%" + }; + }, "handleStyle"), + handlePosition: /* @__PURE__ */ __name(function handlePosition() { + if (this.value < this.min) return 0; + else if (this.value > this.max) return 100; + else return (this.value - this.min) * 100 / (this.max - this.min); + }, "handlePosition"), + rangeStartPosition: /* @__PURE__ */ __name(function rangeStartPosition() { + if (this.value && this.value[0]) return (this.value[0] < this.min ? 0 : this.value[0] - this.min) * 100 / (this.max - this.min); + else return 0; + }, "rangeStartPosition"), + rangeEndPosition: /* @__PURE__ */ __name(function rangeEndPosition() { + if (this.value && this.value.length === 2) return (this.value[1] > this.max ? 100 : this.value[1] - this.min) * 100 / (this.max - this.min); + else return 100; + }, "rangeEndPosition"), + rangeStartHandleStyle: /* @__PURE__ */ __name(function rangeStartHandleStyle() { + if (this.horizontal) return { + left: this.rangeStartPosition + "%" + }; + else return { + bottom: this.rangeStartPosition + "%" + }; + }, "rangeStartHandleStyle"), + rangeEndHandleStyle: /* @__PURE__ */ __name(function rangeEndHandleStyle() { + if (this.horizontal) return { + left: this.rangeEndPosition + "%" + }; + else return { + bottom: this.rangeEndPosition + "%" + }; + }, "rangeEndHandleStyle") + } +}; +var _hoisted_1$G = ["tabindex", "aria-valuemin", "aria-valuenow", "aria-valuemax", "aria-labelledby", "aria-label", "aria-orientation"]; +var _hoisted_2$t = ["tabindex", "aria-valuemin", "aria-valuenow", "aria-valuemax", "aria-labelledby", "aria-label", "aria-orientation"]; +var _hoisted_3$h = ["tabindex", "aria-valuemin", "aria-valuenow", "aria-valuemax", "aria-labelledby", "aria-label", "aria-orientation"]; +function render$r(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps$1({ + "class": _ctx.cx("root"), + onClick: _cache[15] || (_cache[15] = function() { + return $options.onBarClick && $options.onBarClick.apply($options, arguments); + }) + }, _ctx.ptmi("root"), { + "data-p-sliding": false + }), [createBaseVNode("span", mergeProps$1({ + "class": _ctx.cx("range"), + style: [_ctx.sx("range"), $options.rangeStyle] + }, _ctx.ptm("range")), null, 16), !_ctx.range ? (openBlock(), createElementBlock("span", mergeProps$1({ + key: 0, + "class": _ctx.cx("handle"), + style: [_ctx.sx("handle"), $options.handleStyle], + onTouchstartPassive: _cache[0] || (_cache[0] = function($event) { + return $options.onDragStart($event); + }), + onTouchmovePassive: _cache[1] || (_cache[1] = function($event) { + return $options.onDrag($event); + }), + onTouchend: _cache[2] || (_cache[2] = function($event) { + return $options.onDragEnd($event); + }), + onMousedown: _cache[3] || (_cache[3] = function($event) { + return $options.onMouseDown($event); + }), + onKeydown: _cache[4] || (_cache[4] = function($event) { + return $options.onKeyDown($event); + }), + tabindex: _ctx.tabindex, + role: "slider", + "aria-valuemin": _ctx.min, + "aria-valuenow": _ctx.modelValue, + "aria-valuemax": _ctx.max, + "aria-labelledby": _ctx.ariaLabelledby, + "aria-label": _ctx.ariaLabel, + "aria-orientation": _ctx.orientation + }, _ctx.ptm("handle")), null, 16, _hoisted_1$G)) : createCommentVNode("", true), _ctx.range ? (openBlock(), createElementBlock("span", mergeProps$1({ + key: 1, + "class": _ctx.cx("handle"), + style: [_ctx.sx("handle"), $options.rangeStartHandleStyle], + onTouchstartPassive: _cache[5] || (_cache[5] = function($event) { + return $options.onDragStart($event, 0); + }), + onTouchmovePassive: _cache[6] || (_cache[6] = function($event) { + return $options.onDrag($event); + }), + onTouchend: _cache[7] || (_cache[7] = function($event) { + return $options.onDragEnd($event); + }), + onMousedown: _cache[8] || (_cache[8] = function($event) { + return $options.onMouseDown($event, 0); + }), + onKeydown: _cache[9] || (_cache[9] = function($event) { + return $options.onKeyDown($event, 0); + }), + tabindex: _ctx.tabindex, + role: "slider", + "aria-valuemin": _ctx.min, + "aria-valuenow": _ctx.modelValue ? _ctx.modelValue[0] : null, + "aria-valuemax": _ctx.max, + "aria-labelledby": _ctx.ariaLabelledby, + "aria-label": _ctx.ariaLabel, + "aria-orientation": _ctx.orientation + }, _ctx.ptm("startHandler")), null, 16, _hoisted_2$t)) : createCommentVNode("", true), _ctx.range ? (openBlock(), createElementBlock("span", mergeProps$1({ + key: 2, + "class": _ctx.cx("handle"), + style: [_ctx.sx("handle"), $options.rangeEndHandleStyle], + onTouchstartPassive: _cache[10] || (_cache[10] = function($event) { + return $options.onDragStart($event, 1); + }), + onTouchmovePassive: _cache[11] || (_cache[11] = function($event) { + return $options.onDrag($event); + }), + onTouchend: _cache[12] || (_cache[12] = function($event) { + return $options.onDragEnd($event); + }), + onMousedown: _cache[13] || (_cache[13] = function($event) { + return $options.onMouseDown($event, 1); + }), + onKeydown: _cache[14] || (_cache[14] = function($event) { + return $options.onKeyDown($event, 1); + }), + tabindex: _ctx.tabindex, + role: "slider", + "aria-valuemin": _ctx.min, + "aria-valuenow": _ctx.modelValue ? _ctx.modelValue[1] : null, + "aria-valuemax": _ctx.max, + "aria-labelledby": _ctx.ariaLabelledby, + "aria-label": _ctx.ariaLabel, + "aria-orientation": _ctx.orientation + }, _ctx.ptm("endHandler")), null, 16, _hoisted_3$h)) : createCommentVNode("", true)], 16); +} +__name(render$r, "render$r"); +script$s.render = render$r; +const _hoisted_1$F = { class: "input-slider flex flex-row items-center gap-2" }; +const _sfc_main$D = /* @__PURE__ */ defineComponent({ + __name: "InputSlider", + props: { + modelValue: {}, + inputClass: {}, + sliderClass: {}, + min: {}, + max: {}, + step: {} + }, + emits: ["update:modelValue"], + setup(__props, { emit: __emit }) { + const props = __props; + const emit2 = __emit; + const localValue = ref(props.modelValue); + watch( + () => props.modelValue, + (newValue) => { + localValue.value = newValue; + } + ); + const updateValue3 = /* @__PURE__ */ __name((newValue) => { + if (newValue === null) { + newValue = Number(props.min) || 0; + } + const min = Number(props.min ?? Number.NEGATIVE_INFINITY); + const max = Number(props.max ?? Number.POSITIVE_INFINITY); + const step2 = Number(props.step) || 1; + newValue = Math.max(min, Math.min(max, newValue)); + newValue = Math.round(newValue / step2) * step2; + localValue.value = newValue; + emit2("update:modelValue", newValue); + }, "updateValue"); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$F, [ + createVNode(unref(script$s), { + modelValue: _ctx.modelValue, + "onUpdate:modelValue": updateValue3, + class: normalizeClass(["slider-part", _ctx.sliderClass]), + min: _ctx.min, + max: _ctx.max, + step: _ctx.step + }, null, 8, ["modelValue", "class", "min", "max", "step"]), + createVNode(unref(script$z), { + modelValue: _ctx.modelValue, + "onUpdate:modelValue": updateValue3, + class: normalizeClass(["input-part", _ctx.inputClass]), + min: _ctx.min, + max: _ctx.max, + step: _ctx.step, + allowEmpty: false + }, null, 8, ["modelValue", "class", "min", "max", "step"]) + ]); + }; + } +}); +const _hoisted_1$E = { class: "setting-group" }; +const _hoisted_2$s = { class: "setting-label flex flex-grow items-center" }; +const _hoisted_3$g = { class: "text-[var(--p-text-muted-color)]" }; +const _hoisted_4$b = { + key: 2, + class: "pi pi-info-circle bg-transparent" +}; +const _hoisted_5$9 = { class: "setting-input flex justify-end" }; +const _sfc_main$C = /* @__PURE__ */ defineComponent({ + __name: "SettingGroup", + props: { + group: {}, + divider: { type: Boolean } + }, + setup(__props) { + const settingStore = useSettingStore(); + function getSettingAttrs(setting) { + const attrs3 = { ...setting.attrs || {} }; + const settingType = setting.type; + if (typeof settingType === "function") { + attrs3["renderFunction"] = () => settingType( + setting.name, + (v2) => updateSetting(setting, v2), + settingStore.get(setting.id), + setting.attrs + ); + } + switch (setting.type) { + case "combo": + attrs3["options"] = typeof setting.options === "function" ? setting.options(settingStore.get(setting.id)) : setting.options; + if (typeof setting.options[0] !== "string") { + attrs3["optionLabel"] = "text"; + attrs3["optionValue"] = "value"; + } + break; + } + return attrs3; + } + __name(getSettingAttrs, "getSettingAttrs"); + const updateSetting = /* @__PURE__ */ __name((setting, value3) => { + if (setting.onChange) setting.onChange(value3, settingStore.get(setting.id)); + settingStore.set(setting.id, value3); + }, "updateSetting"); + function getSettingComponent(setting) { + if (typeof setting.type === "function") { + return _sfc_main$E; + } + switch (setting.type) { + case "boolean": + return script$u; + case "number": + return script$z; + case "slider": + return _sfc_main$D; + case "combo": + return script$v; + default: + return script$N; + } + } + __name(getSettingComponent, "getSettingComponent"); + return (_ctx, _cache) => { + const _directive_tooltip = resolveDirective("tooltip"); + return openBlock(), createElementBlock("div", _hoisted_1$E, [ + _ctx.divider ? (openBlock(), createBlock(unref(script$D), { key: 0 })) : createCommentVNode("", true), + createBaseVNode("h3", null, toDisplayString$1(unref(formatCamelCase)(_ctx.group.label)), 1), + (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.group.settings, (setting) => { + return openBlock(), createElementBlock("div", { + key: setting.id, + class: "setting-item flex items-center mb-4" + }, [ + createBaseVNode("div", _hoisted_2$s, [ + createBaseVNode("span", _hoisted_3$g, [ + setting.experimental ? (openBlock(), createBlock(unref(script$t), { + key: 0, + value: _ctx.$t("experimental") + }, null, 8, ["value"])) : createCommentVNode("", true), + setting.deprecated ? (openBlock(), createBlock(unref(script$t), { + key: 1, + value: _ctx.$t("deprecated"), + severity: "danger" + }, null, 8, ["value"])) : createCommentVNode("", true), + createTextVNode(" " + toDisplayString$1(setting.name) + " ", 1), + setting.tooltip ? withDirectives((openBlock(), createElementBlock("i", _hoisted_4$b, null, 512)), [ + [_directive_tooltip, setting.tooltip] + ]) : createCommentVNode("", true) + ]) + ]), + createBaseVNode("div", _hoisted_5$9, [ + (openBlock(), createBlock(resolveDynamicComponent(markRaw(getSettingComponent(setting))), mergeProps$1({ + id: setting.id, + modelValue: unref(settingStore).get(setting.id), + "onUpdate:modelValue": /* @__PURE__ */ __name(($event) => updateSetting(setting, $event), "onUpdate:modelValue"), + ref_for: true + }, getSettingAttrs(setting)), null, 16, ["id", "modelValue", "onUpdate:modelValue"])) + ]) + ]); + }), 128)) + ]); + }; + } +}); +const SettingGroup = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__scopeId", "data-v-04f094d4"]]); +var script$r = { + name: "TimesCircleIcon", + "extends": script$T +}; +function render$q(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("svg", mergeProps$1({ + 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: "M7 14C5.61553 14 4.26215 13.5895 3.11101 12.8203C1.95987 12.0511 1.06266 10.9579 0.532846 9.67879C0.00303296 8.3997 -0.13559 6.99224 0.134506 5.63437C0.404603 4.2765 1.07129 3.02922 2.05026 2.05026C3.02922 1.07129 4.2765 0.404603 5.63437 0.134506C6.99224 -0.13559 8.3997 0.00303296 9.67879 0.532846C10.9579 1.06266 12.0511 1.95987 12.8203 3.11101C13.5895 4.26215 14 5.61553 14 7C14 8.85652 13.2625 10.637 11.9497 11.9497C10.637 13.2625 8.85652 14 7 14ZM7 1.16667C5.84628 1.16667 4.71846 1.50879 3.75918 2.14976C2.79989 2.79074 2.05222 3.70178 1.61071 4.76768C1.16919 5.83358 1.05367 7.00647 1.27876 8.13803C1.50384 9.26958 2.05941 10.309 2.87521 11.1248C3.69102 11.9406 4.73042 12.4962 5.86198 12.7212C6.99353 12.9463 8.16642 12.8308 9.23232 12.3893C10.2982 11.9478 11.2093 11.2001 11.8502 10.2408C12.4912 9.28154 12.8333 8.15373 12.8333 7C12.8333 5.45291 12.2188 3.96918 11.1248 2.87521C10.0308 1.78125 8.5471 1.16667 7 1.16667ZM4.66662 9.91668C4.58998 9.91704 4.51404 9.90209 4.44325 9.87271C4.37246 9.84333 4.30826 9.8001 4.2544 9.74557C4.14516 9.6362 4.0838 9.48793 4.0838 9.33335C4.0838 9.17876 4.14516 9.0305 4.2544 8.92113L6.17553 7L4.25443 5.07891C4.15139 4.96832 4.09529 4.82207 4.09796 4.67094C4.10063 4.51982 4.16185 4.37563 4.26872 4.26876C4.3756 4.16188 4.51979 4.10066 4.67091 4.09799C4.82204 4.09532 4.96829 4.15142 5.07887 4.25446L6.99997 6.17556L8.92106 4.25446C9.03164 4.15142 9.1779 4.09532 9.32903 4.09799C9.48015 4.10066 9.62434 4.16188 9.73121 4.26876C9.83809 4.37563 9.89931 4.51982 9.90198 4.67094C9.90464 4.82207 9.84855 4.96832 9.74551 5.07891L7.82441 7L9.74554 8.92113C9.85478 9.0305 9.91614 9.17876 9.91614 9.33335C9.91614 9.48793 9.85478 9.6362 9.74554 9.74557C9.69168 9.8001 9.62748 9.84333 9.55669 9.87271C9.4859 9.90209 9.40996 9.91704 9.33332 9.91668C9.25668 9.91704 9.18073 9.90209 9.10995 9.87271C9.03916 9.84333 8.97495 9.8001 8.9211 9.74557L6.99997 7.82444L5.07884 9.74557C5.02499 9.8001 4.96078 9.84333 4.88999 9.87271C4.81921 9.90209 4.74326 9.91704 4.66662 9.91668Z", + fill: "currentColor" + }, null, -1)]), 16); +} +__name(render$q, "render$q"); +script$r.render = render$q; +var theme$g = /* @__PURE__ */ __name(function theme19(_ref) { + var dt2 = _ref.dt; + return "\n.p-chip {\n display: inline-flex;\n align-items: center;\n background: ".concat(dt2("chip.background"), ";\n color: ").concat(dt2("chip.color"), ";\n border-radius: ").concat(dt2("chip.border.radius"), ";\n padding: ").concat(dt2("chip.padding.y"), " ").concat(dt2("chip.padding.x"), ";\n gap: ").concat(dt2("chip.gap"), ";\n}\n\n.p-chip-icon {\n color: ").concat(dt2("chip.icon.color"), ";\n font-size: ").concat(dt2("chip.icon.font.size"), ";\n width: ").concat(dt2("chip.icon.size"), ";\n height: ").concat(dt2("chip.icon.size"), ";\n}\n\n.p-chip-image {\n border-radius: 50%;\n width: ").concat(dt2("chip.image.width"), ";\n height: ").concat(dt2("chip.image.height"), ";\n margin-left: calc(-1 * ").concat(dt2("chip.padding.y"), ");\n}\n\n.p-chip:has(.p-chip-remove-icon) {\n padding-right: ").concat(dt2("chip.padding.y"), ";\n}\n\n.p-chip:has(.p-chip-image) {\n padding-top: calc(").concat(dt2("chip.padding.y"), " / 2);\n padding-bottom: calc(").concat(dt2("chip.padding.y"), " / 2);\n}\n\n.p-chip-remove-icon {\n cursor: pointer;\n font-size: ").concat(dt2("chip.remove.icon.size"), ";\n width: ").concat(dt2("chip.remove.icon.size"), ";\n height: ").concat(dt2("chip.remove.icon.size"), ";\n color: ").concat(dt2("chip.remove.icon.color"), ";\n border-radius: 50%;\n transition: outline-color ").concat(dt2("chip.transition.duration"), ", box-shadow ").concat(dt2("chip.transition.duration"), ";\n outline-color: transparent;\n}\n\n.p-chip-remove-icon:focus-visible {\n box-shadow: ").concat(dt2("chip.remove.icon.focus.ring.shadow"), ";\n outline: ").concat(dt2("chip.remove.icon.focus.ring.width"), " ").concat(dt2("chip.remove.icon.focus.ring.style"), " ").concat(dt2("chip.remove.icon.focus.ring.color"), ";\n outline-offset: ").concat(dt2("chip.remove.icon.focus.ring.offset"), ";\n}\n"); +}, "theme"); +var classes$g = { + root: "p-chip p-component", + image: "p-chip-image", + icon: "p-chip-icon", + label: "p-chip-label", + removeIcon: "p-chip-remove-icon" +}; +var ChipStyle = BaseStyle.extend({ + name: "chip", + theme: theme$g, + classes: classes$g +}); +var script$1$f = { + name: "BaseChip", + "extends": script$U, + props: { + label: { + type: String, + "default": null + }, + icon: { + type: String, + "default": null + }, + image: { + type: String, + "default": null + }, + removable: { + type: Boolean, + "default": false + }, + removeIcon: { + type: String, + "default": void 0 + } + }, + style: ChipStyle, + provide: /* @__PURE__ */ __name(function provide21() { + return { + $pcChip: this, + $parentInstance: this + }; + }, "provide") +}; +var script$q = { + name: "Chip", + "extends": script$1$f, + inheritAttrs: false, + emits: ["remove"], + data: /* @__PURE__ */ __name(function data8() { + return { + visible: true + }; + }, "data"), + methods: { + onKeydown: /* @__PURE__ */ __name(function onKeydown(event2) { + if (event2.key === "Enter" || event2.key === "Backspace") { + this.close(event2); + } + }, "onKeydown"), + close: /* @__PURE__ */ __name(function close(event2) { + this.visible = false; + this.$emit("remove", event2); + }, "close") + }, + components: { + TimesCircleIcon: script$r + } +}; +var _hoisted_1$D = ["aria-label"]; +var _hoisted_2$r = ["src"]; +function render$p(_ctx, _cache, $props, $setup, $data, $options) { + return $data.visible ? (openBlock(), createElementBlock("div", mergeProps$1({ + key: 0, + "class": _ctx.cx("root"), + "aria-label": _ctx.label + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default", {}, function() { + return [_ctx.image ? (openBlock(), createElementBlock("img", mergeProps$1({ + key: 0, + src: _ctx.image + }, _ctx.ptm("image"), { + "class": _ctx.cx("image") + }), null, 16, _hoisted_2$r)) : _ctx.$slots.icon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.icon), mergeProps$1({ + key: 1, + "class": _ctx.cx("icon") + }, _ctx.ptm("icon")), null, 16, ["class"])) : _ctx.icon ? (openBlock(), createElementBlock("span", mergeProps$1({ + key: 2, + "class": [_ctx.cx("icon"), _ctx.icon] + }, _ctx.ptm("icon")), null, 16)) : createCommentVNode("", true), _ctx.label ? (openBlock(), createElementBlock("div", mergeProps$1({ + key: 3, + "class": _ctx.cx("label") + }, _ctx.ptm("label")), toDisplayString$1(_ctx.label), 17)) : createCommentVNode("", true)]; + }), _ctx.removable ? renderSlot(_ctx.$slots, "removeicon", { + key: 0, + removeCallback: $options.close, + keydownCallback: $options.onKeydown + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.removeIcon ? "span" : "TimesCircleIcon"), mergeProps$1({ + tabindex: "0", + "class": [_ctx.cx("removeIcon"), _ctx.removeIcon], + onClick: $options.close, + onKeydown: $options.onKeydown + }, _ctx.ptm("removeIcon")), null, 16, ["class", "onClick", "onKeydown"]))]; + }) : createCommentVNode("", true)], 16, _hoisted_1$D)) : createCommentVNode("", true); +} +__name(render$p, "render$p"); +script$q.render = render$p; +const _sfc_main$B = /* @__PURE__ */ defineComponent({ + __name: "SearchFilterChip", + props: { + text: {}, + badge: {}, + badgeClass: {} + }, + emits: ["remove"], + setup(__props) { + return (_ctx, _cache) => { + return openBlock(), createBlock(unref(script$q), { + removable: "", + onRemove: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("remove", $event)) + }, { + default: withCtx(() => [ + createVNode(unref(script$J), { + size: "small", + class: normalizeClass(_ctx.badgeClass) + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString$1(_ctx.badge), 1) + ]), + _: 1 + }, 8, ["class"]), + createTextVNode(" " + toDisplayString$1(_ctx.text), 1) + ]), + _: 1 + }); + }; + } +}); +const SearchFilterChip = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["__scopeId", "data-v-a4c03005"]]); +const _hoisted_1$C = { + key: 0, + class: "search-filters pt-2 flex flex-wrap gap-2" +}; +const _sfc_main$A = /* @__PURE__ */ defineComponent({ + __name: "SearchBox", + props: { + class: {}, + modelValue: {}, + placeholder: { default: "Search..." }, + icon: { default: "pi pi-search" }, + debounceTime: { default: 300 }, + filterIcon: {}, + filters: {} + }, + emits: [ + "update:modelValue", + "search", + "showFilter", + "removeFilter" + ], + setup(__props, { emit: __emit }) { + const props = __props; + const { filters } = toRefs$1(props); + const emit2 = __emit; + const emitSearch = lodashExports.debounce((value3) => { + emit2("search", value3, props.filters); + }, props.debounceTime); + const handleInput = /* @__PURE__ */ __name((event2) => { + const target = event2.target; + emit2("update:modelValue", target.value); + emitSearch(target.value); + }, "handleInput"); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", { + class: normalizeClass(props.class) + }, [ + createVNode(unref(script$P), null, { + default: withCtx(() => [ + createVNode(unref(script$O), { + class: normalizeClass(props.icon) + }, null, 8, ["class"]), + createVNode(unref(script$N), { + class: normalizeClass(["search-box-input", { ["with-filter"]: props.filterIcon }]), + onInput: handleInput, + modelValue: props.modelValue, + placeholder: props.placeholder + }, null, 8, ["class", "modelValue", "placeholder"]), + props.filterIcon ? (openBlock(), createBlock(unref(script$I), { + key: 0, + class: "p-inputicon", + icon: props.filterIcon, + text: "", + severity: "contrast", + onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("showFilter", $event)) + }, null, 8, ["icon"])) : createCommentVNode("", true) + ]), + _: 1 + }), + unref(filters)?.length ? (openBlock(), createElementBlock("div", _hoisted_1$C, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(unref(filters), (filter4) => { + return openBlock(), createBlock(SearchFilterChip, { + key: filter4.id, + text: filter4.text, + badge: filter4.badge, + "badge-class": filter4.badgeClass, + onRemove: /* @__PURE__ */ __name(($event) => _ctx.$emit("removeFilter", filter4), "onRemove") + }, null, 8, ["text", "badge", "badge-class", "onRemove"]); + }), 128)) + ])) : createCommentVNode("", true) + ], 2); + }; + } +}); +const SearchBox = /* @__PURE__ */ _export_sfc(_sfc_main$A, [["__scopeId", "data-v-f28148d1"]]); +const useSystemStatsStore = /* @__PURE__ */ defineStore("systemStats", () => { + const systemStats = ref(null); + const isLoading = ref(false); + const error = ref(null); + async function fetchSystemStats() { + isLoading.value = true; + error.value = null; + try { + systemStats.value = await api.getSystemStats(); + } catch (err) { + error.value = err instanceof Error ? err.message : "An error occurred while fetching system stats"; + console.error("Error fetching system stats:", err); + } finally { + isLoading.value = false; + } + } + __name(fetchSystemStats, "fetchSystemStats"); + return { + systemStats, + isLoading, + error, + fetchSystemStats + }; +}); +var script$p = { + name: "ChevronLeftIcon", + "extends": script$T +}; +function render$o(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("svg", mergeProps$1({ + 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: "M9.61296 13C9.50997 13.0005 9.40792 12.9804 9.3128 12.9409C9.21767 12.9014 9.13139 12.8433 9.05902 12.7701L3.83313 7.54416C3.68634 7.39718 3.60388 7.19795 3.60388 6.99022C3.60388 6.78249 3.68634 6.58325 3.83313 6.43628L9.05902 1.21039C9.20762 1.07192 9.40416 0.996539 9.60724 1.00012C9.81032 1.00371 10.0041 1.08597 10.1477 1.22959C10.2913 1.37322 10.3736 1.56698 10.3772 1.77005C10.3808 1.97313 10.3054 2.16968 10.1669 2.31827L5.49496 6.99022L10.1669 11.6622C10.3137 11.8091 10.3962 12.0084 10.3962 12.2161C10.3962 12.4238 10.3137 12.6231 10.1669 12.7701C10.0945 12.8433 10.0083 12.9014 9.91313 12.9409C9.81801 12.9804 9.71596 13.0005 9.61296 13Z", + fill: "currentColor" + }, null, -1)]), 16); +} +__name(render$o, "render$o"); +script$p.render = render$o; +var script$o = { + name: "ChevronRightIcon", + "extends": script$T +}; +function render$n(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("svg", mergeProps$1({ + 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: "M4.38708 13C4.28408 13.0005 4.18203 12.9804 4.08691 12.9409C3.99178 12.9014 3.9055 12.8433 3.83313 12.7701C3.68634 12.6231 3.60388 12.4238 3.60388 12.2161C3.60388 12.0084 3.68634 11.8091 3.83313 11.6622L8.50507 6.99022L3.83313 2.31827C3.69467 2.16968 3.61928 1.97313 3.62287 1.77005C3.62645 1.56698 3.70872 1.37322 3.85234 1.22959C3.99596 1.08597 4.18972 1.00371 4.3928 1.00012C4.59588 0.996539 4.79242 1.07192 4.94102 1.21039L10.1669 6.43628C10.3137 6.58325 10.3962 6.78249 10.3962 6.99022C10.3962 7.19795 10.3137 7.39718 10.1669 7.54416L4.94102 12.7701C4.86865 12.8433 4.78237 12.9014 4.68724 12.9409C4.59212 12.9804 4.49007 13.0005 4.38708 13Z", + fill: "currentColor" + }, null, -1)]), 16); +} +__name(render$n, "render$n"); +script$o.render = render$n; +var theme$f = /* @__PURE__ */ __name(function theme20(_ref) { + var dt2 = _ref.dt; + return "\n.p-tabview-tablist-container {\n position: relative;\n}\n\n.p-tabview-scrollable > .p-tabview-tablist-container {\n overflow: hidden;\n}\n\n.p-tabview-tablist-scroll-container {\n overflow-x: auto;\n overflow-y: hidden;\n scroll-behavior: smooth;\n scrollbar-width: none;\n overscroll-behavior: contain auto;\n}\n\n.p-tabview-tablist-scroll-container::-webkit-scrollbar {\n display: none;\n}\n\n.p-tabview-tablist {\n display: flex;\n margin: 0;\n padding: 0;\n list-style-type: none;\n flex: 1 1 auto;\n background: ".concat(dt2("tabview.tab.list.background"), ";\n border: 1px solid ").concat(dt2("tabview.tab.list.border.color"), ";\n border-width: 0 0 1px 0;\n position: relative;\n}\n\n.p-tabview-tab-header {\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 border-style: solid;\n border-width: 0 0 1px 0;\n border-color: transparent transparent ").concat(dt2("tabview.tab.border.color"), " transparent;\n color: ").concat(dt2("tabview.tab.color"), ";\n padding: 1rem 1.125rem;\n font-weight: 600;\n border-top-right-radius: ").concat(dt2("border.radius.md"), ";\n border-top-left-radius: ").concat(dt2("border.radius.md"), ";\n transition: color ").concat(dt2("tabview.transition.duration"), ", outline-color ").concat(dt2("tabview.transition.duration"), ";\n margin: 0 0 -1px 0;\n outline-color: transparent;\n}\n\n.p-tabview-tablist-item:not(.p-disabled) .p-tabview-tab-header:focus-visible {\n outline: ").concat(dt2("focus.ring.width"), " ").concat(dt2("focus.ring.style"), " ").concat(dt2("focus.ring.color"), ";\n outline-offset: -1px;\n}\n\n.p-tabview-tablist-item:not(.p-highlight):not(.p-disabled):hover > .p-tabview-tab-header {\n color: ").concat(dt2("tabview.tab.hover.color"), ";\n}\n\n.p-tabview-tablist-item.p-highlight > .p-tabview-tab-header {\n color: ").concat(dt2("tabview.tab.active.color"), ";\n}\n\n.p-tabview-tab-title {\n line-height: 1;\n white-space: nowrap;\n}\n\n.p-tabview-next-button,\n.p-tabview-prev-button {\n position: absolute;\n top: 0;\n margin: 0;\n padding: 0;\n z-index: 2;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n background: ").concat(dt2("tabview.nav.button.background"), ";\n color: ").concat(dt2("tabview.nav.button.color"), ";\n width: 2.5rem;\n border-radius: 0;\n outline-color: transparent;\n transition: color ").concat(dt2("tabview.transition.duration"), ", outline-color ").concat(dt2("tabview.transition.duration"), ";\n box-shadow: ").concat(dt2("tabview.nav.button.shadow"), ";\n border: none;\n cursor: pointer;\n user-select: none;\n}\n\n.p-tabview-next-button:focus-visible,\n.p-tabview-prev-button:focus-visible {\n outline: ").concat(dt2("focus.ring.width"), " ").concat(dt2("focus.ring.style"), " ").concat(dt2("focus.ring.color"), ";\n outline-offset: ").concat(dt2("focus.ring.offset"), ";\n}\n\n.p-tabview-next-button:hover,\n.p-tabview-prev-button:hover {\n color: ").concat(dt2("tabview.nav.button.hover.color"), ";\n}\n\n.p-tabview-prev-button {\n left: 0;\n}\n\n.p-tabview-next-button {\n right: 0;\n}\n\n.p-tabview-panels {\n background: ").concat(dt2("tabview.tab.panel.background"), ";\n color: ").concat(dt2("tabview.tab.panel.color"), ";\n padding: 0.875rem 1.125rem 1.125rem 1.125rem;\n}\n\n.p-tabview-ink-bar {\n z-index: 1;\n display: block;\n position: absolute;\n bottom: -1px;\n height: 1px;\n background: ").concat(dt2("tabview.tab.active.border.color"), ";\n transition: 250ms cubic-bezier(0.35, 0, 0.25, 1);\n}\n"); +}, "theme"); +var classes$f = { + root: /* @__PURE__ */ __name(function root14(_ref2) { + var props = _ref2.props; + return ["p-tabview p-component", { + "p-tabview-scrollable": props.scrollable + }]; + }, "root"), + navContainer: "p-tabview-tablist-container", + prevButton: "p-tabview-prev-button", + navContent: "p-tabview-tablist-scroll-container", + nav: "p-tabview-tablist", + tab: { + header: /* @__PURE__ */ __name(function header(_ref3) { + var instance = _ref3.instance, tab = _ref3.tab, index2 = _ref3.index; + return ["p-tabview-tablist-item", instance.getTabProp(tab, "headerClass"), { + "p-tabview-tablist-item-active": instance.d_activeIndex === index2, + "p-disabled": instance.getTabProp(tab, "disabled") + }]; + }, "header"), + headerAction: "p-tabview-tab-header", + headerTitle: "p-tabview-tab-title", + content: /* @__PURE__ */ __name(function content(_ref4) { + var instance = _ref4.instance, tab = _ref4.tab; + return ["p-tabview-panel", instance.getTabProp(tab, "contentClass")]; + }, "content") + }, + inkbar: "p-tabview-ink-bar", + nextButton: "p-tabview-next-button", + panelContainer: "p-tabview-panels" +}; +var TabViewStyle = BaseStyle.extend({ + name: "tabview", + theme: theme$f, + classes: classes$f +}); +var script$1$e = { + name: "BaseTabView", + "extends": script$U, + props: { + activeIndex: { + type: Number, + "default": 0 + }, + lazy: { + type: Boolean, + "default": false + }, + scrollable: { + type: Boolean, + "default": false + }, + tabindex: { + type: Number, + "default": 0 + }, + selectOnFocus: { + type: Boolean, + "default": false + }, + prevButtonProps: { + type: null, + "default": null + }, + nextButtonProps: { + type: null, + "default": null + }, + prevIcon: { + type: String, + "default": void 0 + }, + nextIcon: { + type: String, + "default": void 0 + } + }, + style: TabViewStyle, + provide: /* @__PURE__ */ __name(function provide22() { + return { + $pcTabs: void 0, + // Backwards compatible to prevent component from breaking + $pcTabView: this, + $parentInstance: this + }; + }, "provide") +}; +var script$n = { + name: "TabView", + "extends": script$1$e, + inheritAttrs: false, + emits: ["update:activeIndex", "tab-change", "tab-click"], + data: /* @__PURE__ */ __name(function data9() { + return { + id: this.$attrs.id, + d_activeIndex: this.activeIndex, + isPrevButtonDisabled: true, + isNextButtonDisabled: false + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId5(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId"), + activeIndex: /* @__PURE__ */ __name(function activeIndex(newValue) { + this.d_activeIndex = newValue; + this.scrollInView({ + index: newValue + }); + }, "activeIndex") + }, + mounted: /* @__PURE__ */ __name(function mounted8() { + console.warn("Deprecated since v4. Use Tabs component instead."); + this.id = this.id || UniqueComponentId(); + this.updateInkBar(); + this.scrollable && this.updateButtonState(); + }, "mounted"), + updated: /* @__PURE__ */ __name(function updated5() { + this.updateInkBar(); + this.scrollable && this.updateButtonState(); + }, "updated"), + methods: { + isTabPanel: /* @__PURE__ */ __name(function isTabPanel(child) { + return child.type.name === "TabPanel"; + }, "isTabPanel"), + isTabActive: /* @__PURE__ */ __name(function isTabActive(index2) { + return this.d_activeIndex === index2; + }, "isTabActive"), + getTabProp: /* @__PURE__ */ __name(function getTabProp(tab, name) { + return tab.props ? tab.props[name] : void 0; + }, "getTabProp"), + getKey: /* @__PURE__ */ __name(function getKey(tab, index2) { + return this.getTabProp(tab, "header") || index2; + }, "getKey"), + getTabHeaderActionId: /* @__PURE__ */ __name(function getTabHeaderActionId(index2) { + return "".concat(this.id, "_").concat(index2, "_header_action"); + }, "getTabHeaderActionId"), + getTabContentId: /* @__PURE__ */ __name(function getTabContentId(index2) { + return "".concat(this.id, "_").concat(index2, "_content"); + }, "getTabContentId"), + getTabPT: /* @__PURE__ */ __name(function getTabPT(tab, key, index2) { + var count = this.tabs.length; + var tabMetaData = { + props: tab.props, + parent: { + instance: this, + props: this.$props, + state: this.$data + }, + context: { + index: index2, + count, + first: index2 === 0, + last: index2 === count - 1, + active: this.isTabActive(index2) + } + }; + return mergeProps$1(this.ptm("tabpanel.".concat(key), { + tabpanel: tabMetaData + }), this.ptm("tabpanel.".concat(key), tabMetaData), this.ptmo(this.getTabProp(tab, "pt"), key, tabMetaData)); + }, "getTabPT"), + onScroll: /* @__PURE__ */ __name(function onScroll3(event2) { + this.scrollable && this.updateButtonState(); + event2.preventDefault(); + }, "onScroll"), + onPrevButtonClick: /* @__PURE__ */ __name(function onPrevButtonClick() { + var content2 = this.$refs.content; + var width2 = getWidth(content2); + var pos2 = content2.scrollLeft - width2; + content2.scrollLeft = pos2 <= 0 ? 0 : pos2; + }, "onPrevButtonClick"), + onNextButtonClick: /* @__PURE__ */ __name(function onNextButtonClick() { + var content2 = this.$refs.content; + var width2 = getWidth(content2) - this.getVisibleButtonWidths(); + var pos2 = content2.scrollLeft + width2; + var lastPos = content2.scrollWidth - width2; + content2.scrollLeft = pos2 >= lastPos ? lastPos : pos2; + }, "onNextButtonClick"), + onTabClick: /* @__PURE__ */ __name(function onTabClick(event2, tab, index2) { + this.changeActiveIndex(event2, tab, index2); + this.$emit("tab-click", { + originalEvent: event2, + index: index2 + }); + }, "onTabClick"), + onTabKeyDown: /* @__PURE__ */ __name(function onTabKeyDown(event2, tab, index2) { + switch (event2.code) { + case "ArrowLeft": + this.onTabArrowLeftKey(event2); + break; + case "ArrowRight": + this.onTabArrowRightKey(event2); + break; + case "Home": + this.onTabHomeKey(event2); + break; + case "End": + this.onTabEndKey(event2); + break; + case "PageDown": + this.onPageDownKey(event2); + break; + case "PageUp": + this.onPageUpKey(event2); + break; + case "Enter": + case "NumpadEnter": + case "Space": + this.onTabEnterKey(event2, tab, index2); + break; + } + }, "onTabKeyDown"), + onTabArrowRightKey: /* @__PURE__ */ __name(function onTabArrowRightKey(event2) { + var nextHeaderAction = this.findNextHeaderAction(event2.target.parentElement); + nextHeaderAction ? this.changeFocusedTab(event2, nextHeaderAction) : this.onTabHomeKey(event2); + event2.preventDefault(); + }, "onTabArrowRightKey"), + onTabArrowLeftKey: /* @__PURE__ */ __name(function onTabArrowLeftKey(event2) { + var prevHeaderAction = this.findPrevHeaderAction(event2.target.parentElement); + prevHeaderAction ? this.changeFocusedTab(event2, prevHeaderAction) : this.onTabEndKey(event2); + event2.preventDefault(); + }, "onTabArrowLeftKey"), + onTabHomeKey: /* @__PURE__ */ __name(function onTabHomeKey(event2) { + var firstHeaderAction = this.findFirstHeaderAction(); + this.changeFocusedTab(event2, firstHeaderAction); + event2.preventDefault(); + }, "onTabHomeKey"), + onTabEndKey: /* @__PURE__ */ __name(function onTabEndKey(event2) { + var lastHeaderAction = this.findLastHeaderAction(); + this.changeFocusedTab(event2, lastHeaderAction); + event2.preventDefault(); + }, "onTabEndKey"), + onPageDownKey: /* @__PURE__ */ __name(function onPageDownKey3(event2) { + this.scrollInView({ + index: this.$refs.nav.children.length - 2 + }); + event2.preventDefault(); + }, "onPageDownKey"), + onPageUpKey: /* @__PURE__ */ __name(function onPageUpKey3(event2) { + this.scrollInView({ + index: 0 + }); + event2.preventDefault(); + }, "onPageUpKey"), + onTabEnterKey: /* @__PURE__ */ __name(function onTabEnterKey(event2, tab, index2) { + this.changeActiveIndex(event2, tab, index2); + event2.preventDefault(); + }, "onTabEnterKey"), + findNextHeaderAction: /* @__PURE__ */ __name(function findNextHeaderAction(tabElement) { + var selfCheck = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + var headerElement = selfCheck ? tabElement : tabElement.nextElementSibling; + return headerElement ? getAttribute(headerElement, "data-p-disabled") || getAttribute(headerElement, "data-pc-section") === "inkbar" ? this.findNextHeaderAction(headerElement) : findSingle(headerElement, '[data-pc-section="headeraction"]') : null; + }, "findNextHeaderAction"), + findPrevHeaderAction: /* @__PURE__ */ __name(function findPrevHeaderAction(tabElement) { + var selfCheck = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + var headerElement = selfCheck ? tabElement : tabElement.previousElementSibling; + return headerElement ? getAttribute(headerElement, "data-p-disabled") || getAttribute(headerElement, "data-pc-section") === "inkbar" ? this.findPrevHeaderAction(headerElement) : findSingle(headerElement, '[data-pc-section="headeraction"]') : null; + }, "findPrevHeaderAction"), + findFirstHeaderAction: /* @__PURE__ */ __name(function findFirstHeaderAction() { + return this.findNextHeaderAction(this.$refs.nav.firstElementChild, true); + }, "findFirstHeaderAction"), + findLastHeaderAction: /* @__PURE__ */ __name(function findLastHeaderAction() { + return this.findPrevHeaderAction(this.$refs.nav.lastElementChild, true); + }, "findLastHeaderAction"), + changeActiveIndex: /* @__PURE__ */ __name(function changeActiveIndex(event2, tab, index2) { + if (!this.getTabProp(tab, "disabled") && this.d_activeIndex !== index2) { + this.d_activeIndex = index2; + this.$emit("update:activeIndex", index2); + this.$emit("tab-change", { + originalEvent: event2, + index: index2 + }); + this.scrollInView({ + index: index2 + }); + } + }, "changeActiveIndex"), + changeFocusedTab: /* @__PURE__ */ __name(function changeFocusedTab(event2, element) { + if (element) { + focus(element); + this.scrollInView({ + element + }); + if (this.selectOnFocus) { + var index2 = parseInt(element.parentElement.dataset.pcIndex, 10); + var tab = this.tabs[index2]; + this.changeActiveIndex(event2, tab, index2); + } + } + }, "changeFocusedTab"), + scrollInView: /* @__PURE__ */ __name(function scrollInView5(_ref) { + var element = _ref.element, _ref$index = _ref.index, index2 = _ref$index === void 0 ? -1 : _ref$index; + var currentElement = element || this.$refs.nav.children[index2]; + if (currentElement) { + currentElement.scrollIntoView && currentElement.scrollIntoView({ + block: "nearest" + }); + } + }, "scrollInView"), + updateInkBar: /* @__PURE__ */ __name(function updateInkBar() { + var tabHeader = this.$refs.nav.children[this.d_activeIndex]; + this.$refs.inkbar.style.width = getWidth(tabHeader) + "px"; + this.$refs.inkbar.style.left = getOffset(tabHeader).left - getOffset(this.$refs.nav).left + "px"; + }, "updateInkBar"), + updateButtonState: /* @__PURE__ */ __name(function updateButtonState() { + var content2 = this.$refs.content; + var scrollLeft = content2.scrollLeft, scrollWidth2 = content2.scrollWidth; + var width2 = getWidth(content2); + this.isPrevButtonDisabled = scrollLeft === 0; + this.isNextButtonDisabled = parseInt(scrollLeft) === scrollWidth2 - width2; + }, "updateButtonState"), + getVisibleButtonWidths: /* @__PURE__ */ __name(function getVisibleButtonWidths() { + var _this$$refs = this.$refs, prevBtn = _this$$refs.prevBtn, nextBtn = _this$$refs.nextBtn; + return [prevBtn, nextBtn].reduce(function(acc, el) { + return el ? acc + getWidth(el) : acc; + }, 0); + }, "getVisibleButtonWidths") + }, + computed: { + tabs: /* @__PURE__ */ __name(function tabs() { + var _this = this; + return this.$slots["default"]().reduce(function(tabs2, child) { + if (_this.isTabPanel(child)) { + tabs2.push(child); + } else if (child.children && child.children instanceof Array) { + child.children.forEach(function(nestedChild) { + if (_this.isTabPanel(nestedChild)) { + tabs2.push(nestedChild); + } + }); + } + return tabs2; + }, []); + }, "tabs"), + prevButtonAriaLabel: /* @__PURE__ */ __name(function prevButtonAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.previous : void 0; + }, "prevButtonAriaLabel"), + nextButtonAriaLabel: /* @__PURE__ */ __name(function nextButtonAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.next : void 0; + }, "nextButtonAriaLabel") + }, + directives: { + ripple: Ripple + }, + components: { + ChevronLeftIcon: script$p, + ChevronRightIcon: script$o + } +}; +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$b(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$b, "ownKeys$b"); +function _objectSpread$b(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$b(Object(t), true).forEach(function(r2) { + _defineProperty$9(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$b(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread$b, "_objectSpread$b"); +function _defineProperty$9(e, r, t) { + return (r = _toPropertyKey$9(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$9, "_defineProperty$9"); +function _toPropertyKey$9(t) { + var i2 = _toPrimitive$9(t, "string"); + return "symbol" == _typeof$9(i2) ? i2 : i2 + ""; +} +__name(_toPropertyKey$9, "_toPropertyKey$9"); +function _toPrimitive$9(t, r) { + if ("object" != _typeof$9(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i2 = e.call(t, r || "default"); + if ("object" != _typeof$9(i2)) return i2; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$9, "_toPrimitive$9"); +var _hoisted_1$B = ["tabindex", "aria-label"]; +var _hoisted_2$q = ["data-p-active", "data-p-disabled", "data-pc-index"]; +var _hoisted_3$f = ["id", "tabindex", "aria-disabled", "aria-selected", "aria-controls", "onClick", "onKeydown"]; +var _hoisted_4$a = ["tabindex", "aria-label"]; +var _hoisted_5$8 = ["id", "aria-labelledby", "data-pc-index", "data-p-active"]; +function render$m(_ctx, _cache, $props, $setup, $data, $options) { + var _directive_ripple = resolveDirective("ripple"); + return openBlock(), createElementBlock("div", mergeProps$1({ + "class": _ctx.cx("root"), + role: "tablist" + }, _ctx.ptmi("root")), [createBaseVNode("div", mergeProps$1({ + "class": _ctx.cx("navContainer") + }, _ctx.ptm("navContainer")), [_ctx.scrollable && !$data.isPrevButtonDisabled ? withDirectives((openBlock(), createElementBlock("button", mergeProps$1({ + key: 0, + ref: "prevBtn", + type: "button", + "class": _ctx.cx("prevButton"), + tabindex: _ctx.tabindex, + "aria-label": $options.prevButtonAriaLabel, + onClick: _cache[0] || (_cache[0] = function() { + return $options.onPrevButtonClick && $options.onPrevButtonClick.apply($options, arguments); + }) + }, _objectSpread$b(_objectSpread$b({}, _ctx.prevButtonProps), _ctx.ptm("prevButton")), { + "data-pc-group-section": "navbutton" + }), [renderSlot(_ctx.$slots, "previcon", {}, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.prevIcon ? "span" : "ChevronLeftIcon"), mergeProps$1({ + "aria-hidden": "true", + "class": _ctx.prevIcon + }, _ctx.ptm("prevIcon")), null, 16, ["class"]))]; + })], 16, _hoisted_1$B)), [[_directive_ripple]]) : createCommentVNode("", true), createBaseVNode("div", mergeProps$1({ + ref: "content", + "class": _ctx.cx("navContent"), + onScroll: _cache[1] || (_cache[1] = function() { + return $options.onScroll && $options.onScroll.apply($options, arguments); + }) + }, _ctx.ptm("navContent")), [createBaseVNode("ul", mergeProps$1({ + ref: "nav", + "class": _ctx.cx("nav") + }, _ctx.ptm("nav")), [(openBlock(true), createElementBlock(Fragment, null, renderList($options.tabs, function(tab, index2) { + return openBlock(), createElementBlock("li", mergeProps$1({ + key: $options.getKey(tab, index2), + style: $options.getTabProp(tab, "headerStyle"), + "class": _ctx.cx("tab.header", { + tab, + index: index2 + }), + role: "presentation", + ref_for: true + }, _objectSpread$b(_objectSpread$b(_objectSpread$b({}, $options.getTabProp(tab, "headerProps")), $options.getTabPT(tab, "root", index2)), $options.getTabPT(tab, "header", index2)), { + "data-pc-name": "tabpanel", + "data-p-active": $data.d_activeIndex === index2, + "data-p-disabled": $options.getTabProp(tab, "disabled"), + "data-pc-index": index2 + }), [withDirectives((openBlock(), createElementBlock("a", mergeProps$1({ + id: $options.getTabHeaderActionId(index2), + "class": _ctx.cx("tab.headerAction"), + tabindex: $options.getTabProp(tab, "disabled") || !$options.isTabActive(index2) ? -1 : _ctx.tabindex, + role: "tab", + "aria-disabled": $options.getTabProp(tab, "disabled"), + "aria-selected": $options.isTabActive(index2), + "aria-controls": $options.getTabContentId(index2), + onClick: /* @__PURE__ */ __name(function onClick3($event) { + return $options.onTabClick($event, tab, index2); + }, "onClick"), + onKeydown: /* @__PURE__ */ __name(function onKeydown3($event) { + return $options.onTabKeyDown($event, tab, index2); + }, "onKeydown"), + ref_for: true + }, _objectSpread$b(_objectSpread$b({}, $options.getTabProp(tab, "headerActionProps")), $options.getTabPT(tab, "headerAction", index2))), [tab.props && tab.props.header ? (openBlock(), createElementBlock("span", mergeProps$1({ + key: 0, + "class": _ctx.cx("tab.headerTitle"), + ref_for: true + }, $options.getTabPT(tab, "headerTitle", index2)), toDisplayString$1(tab.props.header), 17)) : createCommentVNode("", true), tab.children && tab.children.header ? (openBlock(), createBlock(resolveDynamicComponent(tab.children.header), { + key: 1 + })) : createCommentVNode("", true)], 16, _hoisted_3$f)), [[_directive_ripple]])], 16, _hoisted_2$q); + }), 128)), createBaseVNode("li", mergeProps$1({ + ref: "inkbar", + "class": _ctx.cx("inkbar"), + role: "presentation", + "aria-hidden": "true" + }, _ctx.ptm("inkbar")), null, 16)], 16)], 16), _ctx.scrollable && !$data.isNextButtonDisabled ? withDirectives((openBlock(), createElementBlock("button", mergeProps$1({ + key: 1, + ref: "nextBtn", + type: "button", + "class": _ctx.cx("nextButton"), + tabindex: _ctx.tabindex, + "aria-label": $options.nextButtonAriaLabel, + onClick: _cache[2] || (_cache[2] = function() { + return $options.onNextButtonClick && $options.onNextButtonClick.apply($options, arguments); + }) + }, _objectSpread$b(_objectSpread$b({}, _ctx.nextButtonProps), _ctx.ptm("nextButton")), { + "data-pc-group-section": "navbutton" + }), [renderSlot(_ctx.$slots, "nexticon", {}, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.nextIcon ? "span" : "ChevronRightIcon"), mergeProps$1({ + "aria-hidden": "true", + "class": _ctx.nextIcon + }, _ctx.ptm("nextIcon")), null, 16, ["class"]))]; + })], 16, _hoisted_4$a)), [[_directive_ripple]]) : createCommentVNode("", true)], 16), createBaseVNode("div", mergeProps$1({ + "class": _ctx.cx("panelContainer") + }, _ctx.ptm("panelContainer")), [(openBlock(true), createElementBlock(Fragment, null, renderList($options.tabs, function(tab, index2) { + return openBlock(), createElementBlock(Fragment, { + key: $options.getKey(tab, index2) + }, [(_ctx.lazy ? $options.isTabActive(index2) : true) ? withDirectives((openBlock(), createElementBlock("div", mergeProps$1({ + key: 0, + id: $options.getTabContentId(index2), + style: $options.getTabProp(tab, "contentStyle"), + "class": _ctx.cx("tab.content", { + tab + }), + role: "tabpanel", + "aria-labelledby": $options.getTabHeaderActionId(index2), + ref_for: true + }, _objectSpread$b(_objectSpread$b(_objectSpread$b({}, $options.getTabProp(tab, "contentProps")), $options.getTabPT(tab, "root", index2)), $options.getTabPT(tab, "content", index2)), { + "data-pc-name": "tabpanel", + "data-pc-index": index2, + "data-p-active": $data.d_activeIndex === index2 + }), [(openBlock(), createBlock(resolveDynamicComponent(tab)))], 16, _hoisted_5$8)), [[vShow, _ctx.lazy ? true : $options.isTabActive(index2)]]) : createCommentVNode("", true)], 64); + }), 128))], 16)], 16); +} +__name(render$m, "render$m"); +script$n.render = render$m; +const _hoisted_1$A = { class: "grid grid-cols-2 gap-2" }; +const _hoisted_2$p = { class: "font-medium" }; +const _sfc_main$z = /* @__PURE__ */ defineComponent({ + __name: "DeviceInfo", + props: { + device: {} + }, + setup(__props) { + const props = __props; + const deviceColumns = [ + { field: "name", header: "Name" }, + { field: "type", header: "Type" }, + { field: "vram_total", header: "VRAM Total" }, + { field: "vram_free", header: "VRAM Free" }, + { field: "torch_vram_total", header: "Torch VRAM Total" }, + { field: "torch_vram_free", header: "Torch VRAM Free" } + ]; + const formatValue2 = /* @__PURE__ */ __name((value3, field) => { + if (["vram_total", "vram_free", "torch_vram_total", "torch_vram_free"].includes( + field + )) { + return formatSize(value3); + } + return value3; + }, "formatValue"); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$A, [ + (openBlock(), createElementBlock(Fragment, null, renderList(deviceColumns, (col) => { + return openBlock(), createElementBlock(Fragment, { + key: col.field + }, [ + createBaseVNode("div", _hoisted_2$p, toDisplayString$1(_ctx.$t(col.header)), 1), + createBaseVNode("div", null, toDisplayString$1(formatValue2(props.device[col.field], col.field)), 1) + ], 64); + }), 64)) + ]); + }; + } +}); +const _hoisted_1$z = { class: "system-stats" }; +const _hoisted_2$o = { class: "mb-6" }; +const _hoisted_3$e = { class: "text-2xl font-semibold mb-4" }; +const _hoisted_4$9 = { class: "grid grid-cols-2 gap-2" }; +const _hoisted_5$7 = { class: "font-medium" }; +const _hoisted_6$5 = { class: "text-2xl font-semibold mb-4" }; +const _sfc_main$y = /* @__PURE__ */ defineComponent({ + __name: "SystemStatsPanel", + props: { + stats: {} + }, + setup(__props) { + const props = __props; + const systemInfo = computed(() => ({ + ...props.stats.system, + argv: props.stats.system.argv.join(" ") + })); + const systemColumns = [ + { field: "os", header: "OS" }, + { field: "python_version", header: "Python Version" }, + { field: "embedded_python", header: "Embedded Python" }, + { field: "pytorch_version", header: "Pytorch Version" }, + { field: "argv", header: "Arguments" }, + { field: "ram_total", header: "RAM Total" }, + { field: "ram_free", header: "RAM Free" } + ]; + const formatValue2 = /* @__PURE__ */ __name((value3, field) => { + if (["ram_total", "ram_free"].includes(field)) { + return formatSize(value3); + } + return value3; + }, "formatValue"); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$z, [ + createBaseVNode("div", _hoisted_2$o, [ + createBaseVNode("h2", _hoisted_3$e, toDisplayString$1(_ctx.$t("systemInfo")), 1), + createBaseVNode("div", _hoisted_4$9, [ + (openBlock(), createElementBlock(Fragment, null, renderList(systemColumns, (col) => { + return openBlock(), createElementBlock(Fragment, { + key: col.field + }, [ + createBaseVNode("div", _hoisted_5$7, toDisplayString$1(_ctx.$t(col.header)), 1), + createBaseVNode("div", null, toDisplayString$1(formatValue2(systemInfo.value[col.field], col.field)), 1) + ], 64); + }), 64)) + ]) + ]), + createVNode(unref(script$D)), + createBaseVNode("div", null, [ + createBaseVNode("h2", _hoisted_6$5, toDisplayString$1(_ctx.$t("devices")), 1), + props.stats.devices.length > 1 ? (openBlock(), createBlock(unref(script$n), { key: 0 }, { + default: withCtx(() => [ + (openBlock(true), createElementBlock(Fragment, null, renderList(props.stats.devices, (device) => { + return openBlock(), createBlock(unref(script$E), { + key: device.index, + header: device.name + }, { + default: withCtx(() => [ + createVNode(_sfc_main$z, { device }, null, 8, ["device"]) + ]), + _: 2 + }, 1032, ["header"]); + }), 128)) + ]), + _: 1 + })) : (openBlock(), createBlock(_sfc_main$z, { + key: 1, + device: props.stats.devices[0] + }, null, 8, ["device"])) + ]) + ]); + }; + } +}); +const _hoisted_1$y = { class: "text-2xl font-bold mb-2" }; +const _hoisted_2$n = { class: "space-y-2" }; +const _hoisted_3$d = ["href"]; +const _sfc_main$x = /* @__PURE__ */ defineComponent({ + __name: "AboutPanel", + setup(__props) { + const systemStatsStore = useSystemStatsStore(); + const frontendVersion = window["__COMFYUI_FRONTEND_VERSION__"]; + const coreVersion = computed( + () => systemStatsStore.systemStats?.system?.comfyui_version ?? "" + ); + const links = computed(() => [ + { + label: `ComfyUI ${coreVersion.value}`, + url: "https://github.com/comfyanonymous/ComfyUI", + icon: "pi pi-github" + }, + { + label: `ComfyUI_frontend v${frontendVersion}`, + url: "https://github.com/Comfy-Org/ComfyUI_frontend", + icon: "pi pi-github" + }, + { + label: "Discord", + url: "https://www.comfy.org/discord", + icon: "pi pi-discord" + }, + { label: "ComfyOrg", url: "https://www.comfy.org/", icon: "pi pi-globe" } + ]); + onMounted(async () => { + if (!systemStatsStore.systemStats) { + await systemStatsStore.fetchSystemStats(); + } + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", null, [ + createBaseVNode("h2", _hoisted_1$y, toDisplayString$1(_ctx.$t("about")), 1), + createBaseVNode("div", _hoisted_2$n, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(links.value, (link) => { + return openBlock(), createElementBlock("a", { + key: link.url, + href: link.url, + target: "_blank", + rel: "noopener noreferrer", + class: "inline-flex items-center no-underline" + }, [ + createVNode(unref(script$t), { class: "mr-2" }, { + icon: withCtx(() => [ + createBaseVNode("i", { + class: normalizeClass([link.icon, "mr-2 text-xl"]) + }, null, 2) + ]), + default: withCtx(() => [ + createTextVNode(" " + toDisplayString$1(link.label), 1) + ]), + _: 2 + }, 1024) + ], 8, _hoisted_3$d); + }), 128)) + ]), + createVNode(unref(script$D)), + unref(systemStatsStore).systemStats ? (openBlock(), createBlock(_sfc_main$y, { + key: 0, + stats: unref(systemStatsStore).systemStats + }, null, 8, ["stats"])) : createCommentVNode("", true) + ]); + }; + } +}); +const _hoisted_1$x = { class: "settings-container" }; +const _hoisted_2$m = { key: 0 }; +const _sfc_main$w = /* @__PURE__ */ defineComponent({ + __name: "SettingDialogContent", + setup(__props) { + const KeybindingPanel = /* @__PURE__ */ defineAsyncComponent( + () => __vitePreload(() => import("./KeybindingPanel-DU4DXDix.js"), true ? __vite__mapDeps([0,1,2,3]) : void 0, import.meta.url) + ); + const ExtensionPanel = /* @__PURE__ */ defineAsyncComponent( + () => __vitePreload(() => import("./ExtensionPanel-BNXC3_Y5.js"), true ? __vite__mapDeps([4,1,2]) : void 0, import.meta.url) + ); + const aboutPanelNode = { + key: "about", + label: "About", + children: [] + }; + const keybindingPanelNode = { + key: "keybinding", + label: "Keybinding", + children: [] + }; + const extensionPanelNode = { + key: "extension", + label: "Extension", + children: [] + }; + const extensionPanelNodeList = computed(() => { + const settingStore2 = useSettingStore(); + const showExtensionPanel = settingStore2.get("Comfy.Settings.ExtensionPanel"); + return showExtensionPanel ? [extensionPanelNode] : []; + }); + const settingStore = useSettingStore(); + const settingRoot = computed(() => settingStore.settingTree); + const categories = computed(() => [ + ...settingRoot.value.children || [], + keybindingPanelNode, + ...extensionPanelNodeList.value, + aboutPanelNode + ]); + const activeCategory = ref(null); + const searchResults = ref([]); + watch(activeCategory, (newCategory, oldCategory) => { + if (newCategory === null) { + activeCategory.value = oldCategory; + } + }); + onMounted(() => { + activeCategory.value = categories.value[0]; + }); + const sortedGroups = /* @__PURE__ */ __name((category) => { + return [...category.children || []].sort( + (a, b) => a.label.localeCompare(b.label) + ); + }, "sortedGroups"); + const searchQuery = ref(""); + const searchInProgress = ref(false); + watch(searchQuery, () => searchInProgress.value = true); + const handleSearch = /* @__PURE__ */ __name((query) => { + if (!query) { + searchResults.value = []; + return; + } + const allSettings = flattenTree(settingRoot.value); + const filteredSettings = allSettings.filter( + (setting) => setting.id.toLowerCase().includes(query.toLowerCase()) || setting.name.toLowerCase().includes(query.toLowerCase()) + ); + const groupedSettings = {}; + filteredSettings.forEach((setting) => { + const groupLabel = setting.id.split(".")[1]; + if (!groupedSettings[groupLabel]) { + groupedSettings[groupLabel] = []; + } + groupedSettings[groupLabel].push(setting); + }); + searchResults.value = Object.entries(groupedSettings).map( + ([label5, settings]) => ({ + label: label5, + settings + }) + ); + searchInProgress.value = false; + }, "handleSearch"); + const inSearch = computed( + () => searchQuery.value.length > 0 && !searchInProgress.value + ); + const tabValue = computed( + () => inSearch.value ? "Search Results" : activeCategory.value?.label + ); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$x, [ + createVNode(unref(script$C), { class: "settings-sidebar flex-shrink-0 p-2 w-64" }, { + default: withCtx(() => [ + createVNode(SearchBox, { + class: "settings-search-box w-full mb-2", + modelValue: searchQuery.value, + "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchQuery.value = $event), + onSearch: handleSearch, + placeholder: _ctx.$t("searchSettings") + "..." + }, null, 8, ["modelValue", "placeholder"]), + createVNode(unref(script$K), { + modelValue: activeCategory.value, + "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => activeCategory.value = $event), + options: categories.value, + optionLabel: "label", + scrollHeight: "100%", + disabled: inSearch.value, + class: "border-none w-full" + }, null, 8, ["modelValue", "options", "disabled"]) + ]), + _: 1 + }), + createVNode(unref(script$D), { layout: "vertical" }), + createVNode(unref(script$C), { class: "settings-content flex-grow" }, { + default: withCtx(() => [ + createVNode(unref(script$G), { value: tabValue.value }, { + default: withCtx(() => [ + createVNode(unref(script$F), { class: "settings-tab-panels" }, { + default: withCtx(() => [ + createVNode(unref(script$E), { + key: "search-results", + value: "Search Results" + }, { + default: withCtx(() => [ + searchResults.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_2$m, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(searchResults.value, (group, i2) => { + return openBlock(), createBlock(SettingGroup, { + key: group.label, + divider: i2 !== 0, + group + }, null, 8, ["divider", "group"]); + }), 128)) + ])) : (openBlock(), createBlock(NoResultsPlaceholder, { + key: 1, + icon: "pi pi-search", + title: _ctx.$t("noResultsFound"), + message: _ctx.$t("searchFailedMessage") + }, null, 8, ["title", "message"])) + ]), + _: 1 + }), + (openBlock(true), createElementBlock(Fragment, null, renderList(categories.value, (category) => { + return openBlock(), createBlock(unref(script$E), { + key: category.key, + value: category.label + }, { + default: withCtx(() => [ + (openBlock(true), createElementBlock(Fragment, null, renderList(sortedGroups(category), (group, i2) => { + return openBlock(), createBlock(SettingGroup, { + key: group.label, + divider: i2 !== 0, + group: { + label: group.label, + settings: unref(flattenTree)(group) + } + }, null, 8, ["divider", "group"]); + }), 128)) + ]), + _: 2 + }, 1032, ["value"]); + }), 128)), + createVNode(unref(script$E), { + key: "about", + value: "About" + }, { + default: withCtx(() => [ + createVNode(_sfc_main$x) + ]), + _: 1 + }), + createVNode(unref(script$E), { + key: "keybinding", + value: "Keybinding" + }, { + default: withCtx(() => [ + (openBlock(), createBlock(Suspense, null, { + fallback: withCtx(() => _cache[2] || (_cache[2] = [ + createBaseVNode("div", null, "Loading keybinding panel...", -1) + ])), + default: withCtx(() => [ + createVNode(unref(KeybindingPanel)) + ]), + _: 1 + })) + ]), + _: 1 + }), + createVNode(unref(script$E), { + key: "extension", + value: "Extension" + }, { + default: withCtx(() => [ + (openBlock(), createBlock(Suspense, null, { + fallback: withCtx(() => _cache[3] || (_cache[3] = [ + createBaseVNode("div", null, "Loading extension panel...", -1) + ])), + default: withCtx(() => [ + createVNode(unref(ExtensionPanel)) + ]), + _: 1 + })) + ]), + _: 1 + }) + ]), + _: 1 + }) + ]), + _: 1 + }, 8, ["value"]) + ]), + _: 1 + }) + ]); + }; + } +}); +const SettingDialogContent = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["__scopeId", "data-v-63951e2f"]]); +const _sfc_main$v = {}; +function _sfc_render$1(_ctx, _cache) { + return openBlock(), createElementBlock("div", null, [ + createBaseVNode("h2", null, [ + _cache[0] || (_cache[0] = createBaseVNode("i", { class: "pi pi-cog" }, null, -1)), + createBaseVNode("span", null, toDisplayString$1(_ctx.$t("settings")), 1) + ]) + ]); +} +__name(_sfc_render$1, "_sfc_render$1"); +const SettingDialogHeader = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["render", _sfc_render$1], ["__scopeId", "data-v-3f3c5ee5"]]); +function computedEager(fn, options3) { + var _a; + const result = shallowRef(); + watchEffect(() => { + result.value = fn(); + }, { + ...options3, + flush: (_a = options3 == null ? void 0 : options3.flush) != null ? _a : "sync" + }); + return readonly(result); +} +__name(computedEager, "computedEager"); +function computedWithControl(source, fn) { + let v2 = void 0; + let track2; + let trigger2; + const dirty = ref(true); + const update = /* @__PURE__ */ __name(() => { + dirty.value = true; + trigger2(); + }, "update"); + watch(source, update, { flush: "sync" }); + const get2 = typeof fn === "function" ? fn : fn.get; + const set2 = typeof fn === "function" ? void 0 : fn.set; + const result = customRef((_track, _trigger) => { + track2 = _track; + trigger2 = _trigger; + return { + get() { + if (dirty.value) { + v2 = get2(v2); + dirty.value = false; + } + track2(); + return v2; + }, + set(v22) { + set2 == null ? void 0 : set2(v22); + } + }; + }); + if (Object.isExtensible(result)) + result.trigger = update; + return result; +} +__name(computedWithControl, "computedWithControl"); +function tryOnScopeDispose(fn) { + if (getCurrentScope()) { + onScopeDispose(fn); + return true; + } + return false; +} +__name(tryOnScopeDispose, "tryOnScopeDispose"); +function createEventHook() { + const fns = /* @__PURE__ */ new Set(); + const off = /* @__PURE__ */ __name((fn) => { + fns.delete(fn); + }, "off"); + const on = /* @__PURE__ */ __name((fn) => { + fns.add(fn); + const offFn = /* @__PURE__ */ __name(() => off(fn), "offFn"); + tryOnScopeDispose(offFn); + return { + off: offFn + }; + }, "on"); + const trigger2 = /* @__PURE__ */ __name((...args) => { + return Promise.all(Array.from(fns).map((fn) => fn(...args))); + }, "trigger"); + return { + on, + off, + trigger: trigger2 + }; +} +__name(createEventHook, "createEventHook"); +function createGlobalState(stateFactory) { + let initialized = false; + let state; + const scope = effectScope(true); + return (...args) => { + if (!initialized) { + state = scope.run(() => stateFactory(...args)); + initialized = true; + } + return state; + }; +} +__name(createGlobalState, "createGlobalState"); +const localProvidedStateMap = /* @__PURE__ */ new WeakMap(); +const injectLocal = /* @__PURE__ */ __name((...args) => { + var _a; + const key = args[0]; + const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy; + if (instance == null) + throw new Error("injectLocal must be called in setup"); + if (localProvidedStateMap.has(instance) && key in localProvidedStateMap.get(instance)) + return localProvidedStateMap.get(instance)[key]; + return inject(...args); +}, "injectLocal"); +const provideLocal = /* @__PURE__ */ __name((key, value3) => { + var _a; + const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy; + if (instance == null) + throw new Error("provideLocal must be called in setup"); + if (!localProvidedStateMap.has(instance)) + localProvidedStateMap.set(instance, /* @__PURE__ */ Object.create(null)); + const localProvidedState = localProvidedStateMap.get(instance); + localProvidedState[key] = value3; + provide(key, value3); +}, "provideLocal"); +function createInjectionState(composable, options3) { + const key = (options3 == null ? void 0 : options3.injectionKey) || Symbol(composable.name || "InjectionState"); + const defaultValue = options3 == null ? void 0 : options3.defaultValue; + const useProvidingState = /* @__PURE__ */ __name((...args) => { + const state = composable(...args); + provideLocal(key, state); + return state; + }, "useProvidingState"); + const useInjectedState = /* @__PURE__ */ __name(() => injectLocal(key, defaultValue), "useInjectedState"); + return [useProvidingState, useInjectedState]; +} +__name(createInjectionState, "createInjectionState"); +function createSharedComposable(composable) { + let subscribers = 0; + let state; + let scope; + const dispose = /* @__PURE__ */ __name(() => { + subscribers -= 1; + if (scope && subscribers <= 0) { + scope.stop(); + state = void 0; + scope = void 0; + } + }, "dispose"); + return (...args) => { + subscribers += 1; + if (!scope) { + scope = effectScope(true); + state = scope.run(() => composable(...args)); + } + tryOnScopeDispose(dispose); + return state; + }; +} +__name(createSharedComposable, "createSharedComposable"); +function extendRef(ref2, extend4, { enumerable = false, unwrap = true } = {}) { + if (!isVue3 && !version.startsWith("2.7.")) { + if (false) + throw new Error("[VueUse] extendRef only works in Vue 2.7 or above."); + return; + } + for (const [key, value3] of Object.entries(extend4)) { + if (key === "value") + continue; + if (isRef(value3) && unwrap) { + Object.defineProperty(ref2, key, { + get() { + return value3.value; + }, + set(v2) { + value3.value = v2; + }, + enumerable + }); + } else { + Object.defineProperty(ref2, key, { value: value3, enumerable }); + } + } + return ref2; +} +__name(extendRef, "extendRef"); +function get$1(obj, key) { + if (key == null) + return unref(obj); + return unref(obj)[key]; +} +__name(get$1, "get$1"); +function isDefined$1(v2) { + return unref(v2) != null; +} +__name(isDefined$1, "isDefined$1"); +function makeDestructurable(obj, arr) { + if (typeof Symbol !== "undefined") { + const clone2 = { ...obj }; + Object.defineProperty(clone2, Symbol.iterator, { + enumerable: false, + value() { + let index2 = 0; + return { + next: /* @__PURE__ */ __name(() => ({ + value: arr[index2++], + done: index2 > arr.length + }), "next") + }; + } + }); + return clone2; + } else { + return Object.assign([...arr], obj); + } +} +__name(makeDestructurable, "makeDestructurable"); +function toValue(r) { + return typeof r === "function" ? r() : unref(r); +} +__name(toValue, "toValue"); +const resolveUnref = toValue; +function reactify(fn, options3) { + const unrefFn = (options3 == null ? void 0 : options3.computedGetter) === false ? unref : toValue; + return function(...args) { + return computed(() => fn.apply(this, args.map((i2) => unrefFn(i2)))); + }; +} +__name(reactify, "reactify"); +function reactifyObject(obj, optionsOrKeys = {}) { + let keys2 = []; + let options3; + if (Array.isArray(optionsOrKeys)) { + keys2 = optionsOrKeys; + } else { + options3 = optionsOrKeys; + const { includeOwnProperties = true } = optionsOrKeys; + keys2.push(...Object.keys(obj)); + if (includeOwnProperties) + keys2.push(...Object.getOwnPropertyNames(obj)); + } + return Object.fromEntries( + keys2.map((key) => { + const value3 = obj[key]; + return [ + key, + typeof value3 === "function" ? reactify(value3.bind(obj), options3) : value3 + ]; + }) + ); +} +__name(reactifyObject, "reactifyObject"); +function toReactive(objectRef) { + if (!isRef(objectRef)) + return reactive(objectRef); + const proxy = new Proxy({}, { + get(_2, p2, receiver) { + return unref(Reflect.get(objectRef.value, p2, receiver)); + }, + set(_2, p2, value3) { + if (isRef(objectRef.value[p2]) && !isRef(value3)) + objectRef.value[p2].value = value3; + else + objectRef.value[p2] = value3; + return true; + }, + deleteProperty(_2, p2) { + return Reflect.deleteProperty(objectRef.value, p2); + }, + has(_2, p2) { + return Reflect.has(objectRef.value, p2); + }, + ownKeys() { + return Object.keys(objectRef.value); + }, + getOwnPropertyDescriptor() { + return { + enumerable: true, + configurable: true + }; + } + }); + return reactive(proxy); +} +__name(toReactive, "toReactive"); +function reactiveComputed(fn) { + return toReactive(computed(fn)); +} +__name(reactiveComputed, "reactiveComputed"); +function reactiveOmit(obj, ...keys2) { + const flatKeys = keys2.flat(); + const predicate = flatKeys[0]; + return reactiveComputed(() => typeof predicate === "function" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v2]) => !predicate(toValue(v2), k))) : Object.fromEntries(Object.entries(toRefs$1(obj)).filter((e) => !flatKeys.includes(e[0])))); +} +__name(reactiveOmit, "reactiveOmit"); +const directiveHooks = { + mounted: isVue3 ? "mounted" : "inserted", + updated: isVue3 ? "updated" : "componentUpdated", + unmounted: isVue3 ? "unmounted" : "unbind" +}; +const isClient = typeof window !== "undefined" && typeof document !== "undefined"; +const isWorker = typeof WorkerGlobalScope !== "undefined" && globalThis instanceof WorkerGlobalScope; +const isDef = /* @__PURE__ */ __name((val) => typeof val !== "undefined", "isDef"); +const notNullish = /* @__PURE__ */ __name((val) => val != null, "notNullish"); +const assert = /* @__PURE__ */ __name((condition, ...infos) => { + if (!condition) + console.warn(...infos); +}, "assert"); +const toString$1 = Object.prototype.toString; +const isObject$3 = /* @__PURE__ */ __name((val) => toString$1.call(val) === "[object Object]", "isObject$3"); +const now = /* @__PURE__ */ __name(() => Date.now(), "now"); +const timestamp = /* @__PURE__ */ __name(() => +Date.now(), "timestamp"); +const clamp = /* @__PURE__ */ __name((n, min, max) => Math.min(max, Math.max(min, n)), "clamp"); +const noop$1 = /* @__PURE__ */ __name(() => { +}, "noop$1"); +const rand = /* @__PURE__ */ __name((min, max) => { + min = Math.ceil(min); + max = Math.floor(max); + return Math.floor(Math.random() * (max - min + 1)) + min; +}, "rand"); +const hasOwn$2 = /* @__PURE__ */ __name((val, key) => Object.prototype.hasOwnProperty.call(val, key), "hasOwn$2"); +const isIOS = /* @__PURE__ */ getIsIOS(); +function getIsIOS() { + var _a, _b; + return isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((_b = window == null ? void 0 : window.navigator) == null ? void 0 : _b.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window == null ? void 0 : window.navigator.userAgent)); +} +__name(getIsIOS, "getIsIOS"); +function createFilterWrapper(filter4, fn) { + function wrapper(...args) { + return new Promise((resolve2, reject2) => { + Promise.resolve(filter4(() => fn.apply(this, args), { fn, thisArg: this, args })).then(resolve2).catch(reject2); + }); + } + __name(wrapper, "wrapper"); + return wrapper; +} +__name(createFilterWrapper, "createFilterWrapper"); +const bypassFilter = /* @__PURE__ */ __name((invoke2) => { + return invoke2(); +}, "bypassFilter"); +function debounceFilter(ms, options3 = {}) { + let timer; + let maxTimer; + let lastRejector = noop$1; + const _clearTimeout = /* @__PURE__ */ __name((timer2) => { + clearTimeout(timer2); + lastRejector(); + lastRejector = noop$1; + }, "_clearTimeout"); + const filter4 = /* @__PURE__ */ __name((invoke2) => { + const duration = toValue(ms); + const maxDuration = toValue(options3.maxWait); + if (timer) + _clearTimeout(timer); + if (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) { + if (maxTimer) { + _clearTimeout(maxTimer); + maxTimer = null; + } + return Promise.resolve(invoke2()); + } + return new Promise((resolve2, reject2) => { + lastRejector = options3.rejectOnCancel ? reject2 : resolve2; + if (maxDuration && !maxTimer) { + maxTimer = setTimeout(() => { + if (timer) + _clearTimeout(timer); + maxTimer = null; + resolve2(invoke2()); + }, maxDuration); + } + timer = setTimeout(() => { + if (maxTimer) + _clearTimeout(maxTimer); + maxTimer = null; + resolve2(invoke2()); + }, duration); + }); + }, "filter"); + return filter4; +} +__name(debounceFilter, "debounceFilter"); +function throttleFilter(...args) { + let lastExec = 0; + let timer; + let isLeading = true; + let lastRejector = noop$1; + let lastValue; + let ms; + let trailing; + let leading; + let rejectOnCancel; + if (!isRef(args[0]) && typeof args[0] === "object") + ({ delay: ms, trailing = true, leading = true, rejectOnCancel = false } = args[0]); + else + [ms, trailing = true, leading = true, rejectOnCancel = false] = args; + const clear2 = /* @__PURE__ */ __name(() => { + if (timer) { + clearTimeout(timer); + timer = void 0; + lastRejector(); + lastRejector = noop$1; + } + }, "clear"); + const filter4 = /* @__PURE__ */ __name((_invoke) => { + const duration = toValue(ms); + const elapsed = Date.now() - lastExec; + const invoke2 = /* @__PURE__ */ __name(() => { + return lastValue = _invoke(); + }, "invoke2"); + clear2(); + if (duration <= 0) { + lastExec = Date.now(); + return invoke2(); + } + if (elapsed > duration && (leading || !isLeading)) { + lastExec = Date.now(); + invoke2(); + } else if (trailing) { + lastValue = new Promise((resolve2, reject2) => { + lastRejector = rejectOnCancel ? reject2 : resolve2; + timer = setTimeout(() => { + lastExec = Date.now(); + isLeading = true; + resolve2(invoke2()); + clear2(); + }, Math.max(0, duration - elapsed)); + }); + } + if (!leading && !timer) + timer = setTimeout(() => isLeading = true, duration); + isLeading = false; + return lastValue; + }, "filter"); + return filter4; +} +__name(throttleFilter, "throttleFilter"); +function pausableFilter(extendFilter = bypassFilter) { + const isActive = ref(true); + function pause() { + isActive.value = false; + } + __name(pause, "pause"); + function resume() { + isActive.value = true; + } + __name(resume, "resume"); + const eventFilter = /* @__PURE__ */ __name((...args) => { + if (isActive.value) + extendFilter(...args); + }, "eventFilter"); + return { isActive: readonly(isActive), pause, resume, eventFilter }; +} +__name(pausableFilter, "pausableFilter"); +function cacheStringFunction(fn) { + const cache2 = /* @__PURE__ */ Object.create(null); + return (str) => { + const hit = cache2[str]; + return hit || (cache2[str] = fn(str)); + }; +} +__name(cacheStringFunction, "cacheStringFunction"); +const hyphenateRE = /\B([A-Z])/g; +const hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, "-$1").toLowerCase()); +const camelizeRE = /-(\w)/g; +const camelize = cacheStringFunction((str) => { + return str.replace(camelizeRE, (_2, c) => c ? c.toUpperCase() : ""); +}); +function promiseTimeout(ms, throwOnTimeout = false, reason = "Timeout") { + return new Promise((resolve2, reject2) => { + if (throwOnTimeout) + setTimeout(() => reject2(reason), ms); + else + setTimeout(resolve2, ms); + }); +} +__name(promiseTimeout, "promiseTimeout"); +function identity(arg) { + return arg; +} +__name(identity, "identity"); +function createSingletonPromise(fn) { + let _promise; + function wrapper() { + if (!_promise) + _promise = fn(); + return _promise; + } + __name(wrapper, "wrapper"); + wrapper.reset = async () => { + const _prev = _promise; + _promise = void 0; + if (_prev) + await _prev; + }; + return wrapper; +} +__name(createSingletonPromise, "createSingletonPromise"); +function invoke(fn) { + return fn(); +} +__name(invoke, "invoke"); +function containsProp(obj, ...props) { + return props.some((k) => k in obj); +} +__name(containsProp, "containsProp"); +function increaseWithUnit(target, delta2) { + var _a; + if (typeof target === "number") + return target + delta2; + const value3 = ((_a = target.match(/^-?\d+\.?\d*/)) == null ? void 0 : _a[0]) || ""; + const unit = target.slice(value3.length); + const result = Number.parseFloat(value3) + delta2; + if (Number.isNaN(result)) + return target; + return result + unit; +} +__name(increaseWithUnit, "increaseWithUnit"); +function objectPick(obj, keys2, omitUndefined = false) { + return keys2.reduce((n, k) => { + if (k in obj) { + if (!omitUndefined || obj[k] !== void 0) + n[k] = obj[k]; + } + return n; + }, {}); +} +__name(objectPick, "objectPick"); +function objectOmit(obj, keys2, omitUndefined = false) { + return Object.fromEntries(Object.entries(obj).filter(([key, value3]) => { + return (!omitUndefined || value3 !== void 0) && !keys2.includes(key); + })); +} +__name(objectOmit, "objectOmit"); +function objectEntries(obj) { + return Object.entries(obj); +} +__name(objectEntries, "objectEntries"); +function getLifeCycleTarget(target) { + return target || getCurrentInstance(); +} +__name(getLifeCycleTarget, "getLifeCycleTarget"); +function toRef(...args) { + if (args.length !== 1) + return toRef$1(...args); + const r = args[0]; + return typeof r === "function" ? readonly(customRef(() => ({ get: r, set: noop$1 }))) : ref(r); +} +__name(toRef, "toRef"); +const resolveRef = toRef; +function reactivePick(obj, ...keys2) { + const flatKeys = keys2.flat(); + const predicate = flatKeys[0]; + return reactiveComputed(() => typeof predicate === "function" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v2]) => predicate(toValue(v2), k))) : Object.fromEntries(flatKeys.map((k) => [k, toRef(obj, k)]))); +} +__name(reactivePick, "reactivePick"); +function refAutoReset(defaultValue, afterMs = 1e4) { + return customRef((track2, trigger2) => { + let value3 = toValue(defaultValue); + let timer; + const resetAfter = /* @__PURE__ */ __name(() => setTimeout(() => { + value3 = toValue(defaultValue); + trigger2(); + }, toValue(afterMs)), "resetAfter"); + tryOnScopeDispose(() => { + clearTimeout(timer); + }); + return { + get() { + track2(); + return value3; + }, + set(newValue) { + value3 = newValue; + trigger2(); + clearTimeout(timer); + timer = resetAfter(); + } + }; + }); +} +__name(refAutoReset, "refAutoReset"); +function useDebounceFn(fn, ms = 200, options3 = {}) { + return createFilterWrapper( + debounceFilter(ms, options3), + fn + ); +} +__name(useDebounceFn, "useDebounceFn"); +function refDebounced(value3, ms = 200, options3 = {}) { + const debounced = ref(value3.value); + const updater = useDebounceFn(() => { + debounced.value = value3.value; + }, ms, options3); + watch(value3, () => updater()); + return debounced; +} +__name(refDebounced, "refDebounced"); +function refDefault(source, defaultValue) { + return computed({ + get() { + var _a; + return (_a = source.value) != null ? _a : defaultValue; + }, + set(value3) { + source.value = value3; + } + }); +} +__name(refDefault, "refDefault"); +function useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnCancel = false) { + return createFilterWrapper( + throttleFilter(ms, trailing, leading, rejectOnCancel), + fn + ); +} +__name(useThrottleFn, "useThrottleFn"); +function refThrottled(value3, delay = 200, trailing = true, leading = true) { + if (delay <= 0) + return value3; + const throttled = ref(value3.value); + const updater = useThrottleFn(() => { + throttled.value = value3.value; + }, delay, trailing, leading); + watch(value3, () => updater()); + return throttled; +} +__name(refThrottled, "refThrottled"); +function refWithControl(initial, options3 = {}) { + let source = initial; + let track2; + let trigger2; + const ref2 = customRef((_track, _trigger) => { + track2 = _track; + trigger2 = _trigger; + return { + get() { + return get2(); + }, + set(v2) { + set2(v2); + } + }; + }); + function get2(tracking = true) { + if (tracking) + track2(); + return source; + } + __name(get2, "get2"); + function set2(value3, triggering = true) { + var _a, _b; + if (value3 === source) + return; + const old = source; + if (((_a = options3.onBeforeChange) == null ? void 0 : _a.call(options3, value3, old)) === false) + return; + source = value3; + (_b = options3.onChanged) == null ? void 0 : _b.call(options3, value3, old); + if (triggering) + trigger2(); + } + __name(set2, "set2"); + const untrackedGet = /* @__PURE__ */ __name(() => get2(false), "untrackedGet"); + const silentSet = /* @__PURE__ */ __name((v2) => set2(v2, false), "silentSet"); + const peek = /* @__PURE__ */ __name(() => get2(false), "peek"); + const lay = /* @__PURE__ */ __name((v2) => set2(v2, false), "lay"); + return extendRef( + ref2, + { + get: get2, + set: set2, + untrackedGet, + silentSet, + peek, + lay + }, + { enumerable: true } + ); +} +__name(refWithControl, "refWithControl"); +const controlledRef = refWithControl; +function set(...args) { + if (args.length === 2) { + const [ref2, value3] = args; + ref2.value = value3; + } + if (args.length === 3) { + if (isVue2) { + set$1(...args); + } else { + const [target, key, value3] = args; + target[key] = value3; + } + } +} +__name(set, "set"); +function watchWithFilter(source, cb, options3 = {}) { + const { + eventFilter = bypassFilter, + ...watchOptions + } = options3; + return watch( + source, + createFilterWrapper( + eventFilter, + cb + ), + watchOptions + ); +} +__name(watchWithFilter, "watchWithFilter"); +function watchPausable(source, cb, options3 = {}) { + const { + eventFilter: filter4, + ...watchOptions + } = options3; + const { eventFilter, pause, resume, isActive } = pausableFilter(filter4); + const stop2 = watchWithFilter( + source, + cb, + { + ...watchOptions, + eventFilter + } + ); + return { stop: stop2, pause, resume, isActive }; +} +__name(watchPausable, "watchPausable"); +function syncRef(left, right, ...[options3]) { + const { + flush = "sync", + deep = false, + immediate = true, + direction = "both", + transform: transform2 = {} + } = options3 || {}; + const watchers = []; + const transformLTR = "ltr" in transform2 && transform2.ltr || ((v2) => v2); + const transformRTL = "rtl" in transform2 && transform2.rtl || ((v2) => v2); + if (direction === "both" || direction === "ltr") { + watchers.push(watchPausable( + left, + (newValue) => { + watchers.forEach((w2) => w2.pause()); + right.value = transformLTR(newValue); + watchers.forEach((w2) => w2.resume()); + }, + { flush, deep, immediate } + )); + } + if (direction === "both" || direction === "rtl") { + watchers.push(watchPausable( + right, + (newValue) => { + watchers.forEach((w2) => w2.pause()); + left.value = transformRTL(newValue); + watchers.forEach((w2) => w2.resume()); + }, + { flush, deep, immediate } + )); + } + const stop2 = /* @__PURE__ */ __name(() => { + watchers.forEach((w2) => w2.stop()); + }, "stop"); + return stop2; +} +__name(syncRef, "syncRef"); +function syncRefs(source, targets, options3 = {}) { + const { + flush = "sync", + deep = false, + immediate = true + } = options3; + if (!Array.isArray(targets)) + targets = [targets]; + return watch( + source, + (newValue) => targets.forEach((target) => target.value = newValue), + { flush, deep, immediate } + ); +} +__name(syncRefs, "syncRefs"); +function toRefs(objectRef, options3 = {}) { + if (!isRef(objectRef)) + return toRefs$1(objectRef); + const result = Array.isArray(objectRef.value) ? Array.from({ length: objectRef.value.length }) : {}; + for (const key in objectRef.value) { + result[key] = customRef(() => ({ + get() { + return objectRef.value[key]; + }, + set(v2) { + var _a; + const replaceRef = (_a = toValue(options3.replaceRef)) != null ? _a : true; + if (replaceRef) { + if (Array.isArray(objectRef.value)) { + const copy = [...objectRef.value]; + copy[key] = v2; + objectRef.value = copy; + } else { + const newObject = { ...objectRef.value, [key]: v2 }; + Object.setPrototypeOf(newObject, Object.getPrototypeOf(objectRef.value)); + objectRef.value = newObject; + } + } else { + objectRef.value[key] = v2; + } + } + })); + } + return result; +} +__name(toRefs, "toRefs"); +function tryOnBeforeMount(fn, sync = true, target) { + const instance = getLifeCycleTarget(target); + if (instance) + onBeforeMount(fn, target); + else if (sync) + fn(); + else + nextTick(fn); +} +__name(tryOnBeforeMount, "tryOnBeforeMount"); +function tryOnBeforeUnmount(fn, target) { + const instance = getLifeCycleTarget(target); + if (instance) + onBeforeUnmount(fn, target); +} +__name(tryOnBeforeUnmount, "tryOnBeforeUnmount"); +function tryOnMounted(fn, sync = true, target) { + const instance = getLifeCycleTarget(); + if (instance) + onMounted(fn, target); + else if (sync) + fn(); + else + nextTick(fn); +} +__name(tryOnMounted, "tryOnMounted"); +function tryOnUnmounted(fn, target) { + const instance = getLifeCycleTarget(target); + if (instance) + onUnmounted(fn, target); +} +__name(tryOnUnmounted, "tryOnUnmounted"); +function createUntil(r, isNot = false) { + function toMatch(condition, { flush = "sync", deep = false, timeout, throwOnTimeout } = {}) { + let stop2 = null; + const watcher = new Promise((resolve2) => { + stop2 = watch( + r, + (v2) => { + if (condition(v2) !== isNot) { + if (stop2) + stop2(); + else + nextTick(() => stop2 == null ? void 0 : stop2()); + resolve2(v2); + } + }, + { + flush, + deep, + immediate: true + } + ); + }); + const promises = [watcher]; + if (timeout != null) { + promises.push( + promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => stop2 == null ? void 0 : stop2()) + ); + } + return Promise.race(promises); + } + __name(toMatch, "toMatch"); + function toBe(value3, options3) { + if (!isRef(value3)) + return toMatch((v2) => v2 === value3, options3); + const { flush = "sync", deep = false, timeout, throwOnTimeout } = options3 != null ? options3 : {}; + let stop2 = null; + const watcher = new Promise((resolve2) => { + stop2 = watch( + [r, value3], + ([v1, v2]) => { + if (isNot !== (v1 === v2)) { + if (stop2) + stop2(); + else + nextTick(() => stop2 == null ? void 0 : stop2()); + resolve2(v1); + } + }, + { + flush, + deep, + immediate: true + } + ); + }); + const promises = [watcher]; + if (timeout != null) { + promises.push( + promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => { + stop2 == null ? void 0 : stop2(); + return toValue(r); + }) + ); + } + return Promise.race(promises); + } + __name(toBe, "toBe"); + function toBeTruthy(options3) { + return toMatch((v2) => Boolean(v2), options3); + } + __name(toBeTruthy, "toBeTruthy"); + function toBeNull(options3) { + return toBe(null, options3); + } + __name(toBeNull, "toBeNull"); + function toBeUndefined(options3) { + return toBe(void 0, options3); + } + __name(toBeUndefined, "toBeUndefined"); + function toBeNaN(options3) { + return toMatch(Number.isNaN, options3); + } + __name(toBeNaN, "toBeNaN"); + function toContains(value3, options3) { + return toMatch((v2) => { + const array = Array.from(v2); + return array.includes(value3) || array.includes(toValue(value3)); + }, options3); + } + __name(toContains, "toContains"); + function changed(options3) { + return changedTimes(1, options3); + } + __name(changed, "changed"); + function changedTimes(n = 1, options3) { + let count = -1; + return toMatch(() => { + count += 1; + return count >= n; + }, options3); + } + __name(changedTimes, "changedTimes"); + if (Array.isArray(toValue(r))) { + const instance = { + toMatch, + toContains, + changed, + changedTimes, + get not() { + return createUntil(r, !isNot); + } + }; + return instance; + } else { + const instance = { + toMatch, + toBe, + toBeTruthy, + toBeNull, + toBeNaN, + toBeUndefined, + changed, + changedTimes, + get not() { + return createUntil(r, !isNot); + } + }; + return instance; + } +} +__name(createUntil, "createUntil"); +function until(r) { + return createUntil(r); +} +__name(until, "until"); +function defaultComparator(value3, othVal) { + return value3 === othVal; +} +__name(defaultComparator, "defaultComparator"); +function useArrayDifference(...args) { + var _a; + const list = args[0]; + const values2 = args[1]; + let compareFn = (_a = args[2]) != null ? _a : defaultComparator; + if (typeof compareFn === "string") { + const key = compareFn; + compareFn = /* @__PURE__ */ __name((value3, othVal) => value3[key] === othVal[key], "compareFn"); + } + return computed(() => toValue(list).filter((x2) => toValue(values2).findIndex((y2) => compareFn(x2, y2)) === -1)); +} +__name(useArrayDifference, "useArrayDifference"); +function useArrayEvery(list, fn) { + return computed(() => toValue(list).every((element, index2, array) => fn(toValue(element), index2, array))); +} +__name(useArrayEvery, "useArrayEvery"); +function useArrayFilter(list, fn) { + return computed(() => toValue(list).map((i2) => toValue(i2)).filter(fn)); +} +__name(useArrayFilter, "useArrayFilter"); +function useArrayFind(list, fn) { + return computed(() => toValue( + toValue(list).find((element, index2, array) => fn(toValue(element), index2, array)) + )); +} +__name(useArrayFind, "useArrayFind"); +function useArrayFindIndex(list, fn) { + return computed(() => toValue(list).findIndex((element, index2, array) => fn(toValue(element), index2, array))); +} +__name(useArrayFindIndex, "useArrayFindIndex"); +function findLast(arr, cb) { + let index2 = arr.length; + while (index2-- > 0) { + if (cb(arr[index2], index2, arr)) + return arr[index2]; + } + return void 0; +} +__name(findLast, "findLast"); +function useArrayFindLast(list, fn) { + return computed(() => toValue( + !Array.prototype.findLast ? findLast(toValue(list), (element, index2, array) => fn(toValue(element), index2, array)) : toValue(list).findLast((element, index2, array) => fn(toValue(element), index2, array)) + )); +} +__name(useArrayFindLast, "useArrayFindLast"); +function isArrayIncludesOptions(obj) { + return isObject$3(obj) && containsProp(obj, "formIndex", "comparator"); +} +__name(isArrayIncludesOptions, "isArrayIncludesOptions"); +function useArrayIncludes(...args) { + var _a; + const list = args[0]; + const value3 = args[1]; + let comparator = args[2]; + let formIndex = 0; + if (isArrayIncludesOptions(comparator)) { + formIndex = (_a = comparator.fromIndex) != null ? _a : 0; + comparator = comparator.comparator; + } + if (typeof comparator === "string") { + const key = comparator; + comparator = /* @__PURE__ */ __name((element, value22) => element[key] === toValue(value22), "comparator"); + } + comparator = comparator != null ? comparator : (element, value22) => element === toValue(value22); + return computed(() => toValue(list).slice(formIndex).some((element, index2, array) => comparator( + toValue(element), + toValue(value3), + index2, + toValue(array) + ))); +} +__name(useArrayIncludes, "useArrayIncludes"); +function useArrayJoin(list, separator) { + return computed(() => toValue(list).map((i2) => toValue(i2)).join(toValue(separator))); +} +__name(useArrayJoin, "useArrayJoin"); +function useArrayMap(list, fn) { + return computed(() => toValue(list).map((i2) => toValue(i2)).map(fn)); +} +__name(useArrayMap, "useArrayMap"); +function useArrayReduce(list, reducer, ...args) { + const reduceCallback = /* @__PURE__ */ __name((sum, value3, index2) => reducer(toValue(sum), toValue(value3), index2), "reduceCallback"); + return computed(() => { + const resolved = toValue(list); + return args.length ? resolved.reduce(reduceCallback, toValue(args[0])) : resolved.reduce(reduceCallback); + }); +} +__name(useArrayReduce, "useArrayReduce"); +function useArraySome(list, fn) { + return computed(() => toValue(list).some((element, index2, array) => fn(toValue(element), index2, array))); +} +__name(useArraySome, "useArraySome"); +function uniq(array) { + return Array.from(new Set(array)); +} +__name(uniq, "uniq"); +function uniqueElementsBy(array, fn) { + return array.reduce((acc, v2) => { + if (!acc.some((x2) => fn(v2, x2, array))) + acc.push(v2); + return acc; + }, []); +} +__name(uniqueElementsBy, "uniqueElementsBy"); +function useArrayUnique(list, compareFn) { + return computed(() => { + const resolvedList = toValue(list).map((element) => toValue(element)); + return compareFn ? uniqueElementsBy(resolvedList, compareFn) : uniq(resolvedList); + }); +} +__name(useArrayUnique, "useArrayUnique"); +function useCounter(initialValue = 0, options3 = {}) { + let _initialValue = unref(initialValue); + const count = ref(initialValue); + const { + max = Number.POSITIVE_INFINITY, + min = Number.NEGATIVE_INFINITY + } = options3; + const inc2 = /* @__PURE__ */ __name((delta2 = 1) => count.value = Math.max(Math.min(max, count.value + delta2), min), "inc"); + const dec = /* @__PURE__ */ __name((delta2 = 1) => count.value = Math.min(Math.max(min, count.value - delta2), max), "dec"); + const get2 = /* @__PURE__ */ __name(() => count.value, "get2"); + const set2 = /* @__PURE__ */ __name((val) => count.value = Math.max(min, Math.min(max, val)), "set2"); + const reset = /* @__PURE__ */ __name((val = _initialValue) => { + _initialValue = val; + return set2(val); + }, "reset"); + return { count, inc: inc2, dec, get: get2, set: set2, reset }; +} +__name(useCounter, "useCounter"); +const REGEX_PARSE = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[T\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/i; +const REGEX_FORMAT = /[YMDHhms]o|\[([^\]]+)\]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g; +function defaultMeridiem(hours, minutes, isLowercase, hasPeriod) { + let m = hours < 12 ? "AM" : "PM"; + if (hasPeriod) + m = m.split("").reduce((acc, curr) => acc += `${curr}.`, ""); + return isLowercase ? m.toLowerCase() : m; +} +__name(defaultMeridiem, "defaultMeridiem"); +function formatOrdinal(num) { + const suffixes = ["th", "st", "nd", "rd"]; + const v2 = num % 100; + return num + (suffixes[(v2 - 20) % 10] || suffixes[v2] || suffixes[0]); +} +__name(formatOrdinal, "formatOrdinal"); +function formatDate$1(date, formatStr, options3 = {}) { + var _a; + const years = date.getFullYear(); + const month = date.getMonth(); + const days = date.getDate(); + const hours = date.getHours(); + const minutes = date.getMinutes(); + const seconds = date.getSeconds(); + const milliseconds = date.getMilliseconds(); + const day = date.getDay(); + const meridiem = (_a = options3.customMeridiem) != null ? _a : defaultMeridiem; + const matches2 = { + Yo: /* @__PURE__ */ __name(() => formatOrdinal(years), "Yo"), + YY: /* @__PURE__ */ __name(() => String(years).slice(-2), "YY"), + YYYY: /* @__PURE__ */ __name(() => years, "YYYY"), + M: /* @__PURE__ */ __name(() => month + 1, "M"), + Mo: /* @__PURE__ */ __name(() => formatOrdinal(month + 1), "Mo"), + MM: /* @__PURE__ */ __name(() => `${month + 1}`.padStart(2, "0"), "MM"), + MMM: /* @__PURE__ */ __name(() => date.toLocaleDateString(toValue(options3.locales), { month: "short" }), "MMM"), + MMMM: /* @__PURE__ */ __name(() => date.toLocaleDateString(toValue(options3.locales), { month: "long" }), "MMMM"), + D: /* @__PURE__ */ __name(() => String(days), "D"), + Do: /* @__PURE__ */ __name(() => formatOrdinal(days), "Do"), + DD: /* @__PURE__ */ __name(() => `${days}`.padStart(2, "0"), "DD"), + H: /* @__PURE__ */ __name(() => String(hours), "H"), + Ho: /* @__PURE__ */ __name(() => formatOrdinal(hours), "Ho"), + HH: /* @__PURE__ */ __name(() => `${hours}`.padStart(2, "0"), "HH"), + h: /* @__PURE__ */ __name(() => `${hours % 12 || 12}`.padStart(1, "0"), "h"), + ho: /* @__PURE__ */ __name(() => formatOrdinal(hours % 12 || 12), "ho"), + hh: /* @__PURE__ */ __name(() => `${hours % 12 || 12}`.padStart(2, "0"), "hh"), + m: /* @__PURE__ */ __name(() => String(minutes), "m"), + mo: /* @__PURE__ */ __name(() => formatOrdinal(minutes), "mo"), + mm: /* @__PURE__ */ __name(() => `${minutes}`.padStart(2, "0"), "mm"), + s: /* @__PURE__ */ __name(() => String(seconds), "s"), + so: /* @__PURE__ */ __name(() => formatOrdinal(seconds), "so"), + ss: /* @__PURE__ */ __name(() => `${seconds}`.padStart(2, "0"), "ss"), + SSS: /* @__PURE__ */ __name(() => `${milliseconds}`.padStart(3, "0"), "SSS"), + d: /* @__PURE__ */ __name(() => day, "d"), + dd: /* @__PURE__ */ __name(() => date.toLocaleDateString(toValue(options3.locales), { weekday: "narrow" }), "dd"), + ddd: /* @__PURE__ */ __name(() => date.toLocaleDateString(toValue(options3.locales), { weekday: "short" }), "ddd"), + dddd: /* @__PURE__ */ __name(() => date.toLocaleDateString(toValue(options3.locales), { weekday: "long" }), "dddd"), + A: /* @__PURE__ */ __name(() => meridiem(hours, minutes), "A"), + AA: /* @__PURE__ */ __name(() => meridiem(hours, minutes, false, true), "AA"), + a: /* @__PURE__ */ __name(() => meridiem(hours, minutes, true), "a"), + aa: /* @__PURE__ */ __name(() => meridiem(hours, minutes, true, true), "aa") + }; + return formatStr.replace(REGEX_FORMAT, (match, $1) => { + var _a2, _b; + return (_b = $1 != null ? $1 : (_a2 = matches2[match]) == null ? void 0 : _a2.call(matches2)) != null ? _b : match; + }); +} +__name(formatDate$1, "formatDate$1"); +function normalizeDate(date) { + if (date === null) + return new Date(Number.NaN); + if (date === void 0) + return /* @__PURE__ */ new Date(); + if (date instanceof Date) + return new Date(date); + if (typeof date === "string" && !/Z$/i.test(date)) { + const d = date.match(REGEX_PARSE); + if (d) { + const m = d[2] - 1 || 0; + const ms = (d[7] || "0").substring(0, 3); + return new Date(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms); + } + } + return new Date(date); +} +__name(normalizeDate, "normalizeDate"); +function useDateFormat(date, formatStr = "HH:mm:ss", options3 = {}) { + return computed(() => formatDate$1(normalizeDate(toValue(date)), toValue(formatStr), options3)); +} +__name(useDateFormat, "useDateFormat"); +function useIntervalFn(cb, interval = 1e3, options3 = {}) { + const { + immediate = true, + immediateCallback = false + } = options3; + let timer = null; + const isActive = ref(false); + function clean() { + if (timer) { + clearInterval(timer); + timer = null; + } + } + __name(clean, "clean"); + function pause() { + isActive.value = false; + clean(); + } + __name(pause, "pause"); + function resume() { + const intervalValue = toValue(interval); + if (intervalValue <= 0) + return; + isActive.value = true; + if (immediateCallback) + cb(); + clean(); + timer = setInterval(cb, intervalValue); + } + __name(resume, "resume"); + if (immediate && isClient) + resume(); + if (isRef(interval) || typeof interval === "function") { + const stopWatch = watch(interval, () => { + if (isActive.value && isClient) + resume(); + }); + tryOnScopeDispose(stopWatch); + } + tryOnScopeDispose(pause); + return { + isActive, + pause, + resume + }; +} +__name(useIntervalFn, "useIntervalFn"); +function useInterval(interval = 1e3, options3 = {}) { + const { + controls: exposeControls = false, + immediate = true, + callback + } = options3; + const counter = ref(0); + const update = /* @__PURE__ */ __name(() => counter.value += 1, "update"); + const reset = /* @__PURE__ */ __name(() => { + counter.value = 0; + }, "reset"); + const controls = useIntervalFn( + callback ? () => { + update(); + callback(counter.value); + } : update, + interval, + { immediate } + ); + if (exposeControls) { + return { + counter, + reset, + ...controls + }; + } else { + return counter; + } +} +__name(useInterval, "useInterval"); +function useLastChanged(source, options3 = {}) { + var _a; + const ms = ref((_a = options3.initialValue) != null ? _a : null); + watch( + source, + () => ms.value = timestamp(), + options3 + ); + return ms; +} +__name(useLastChanged, "useLastChanged"); +function useTimeoutFn(cb, interval, options3 = {}) { + const { + immediate = true + } = options3; + const isPending = ref(false); + let timer = null; + function clear2() { + if (timer) { + clearTimeout(timer); + timer = null; + } + } + __name(clear2, "clear"); + function stop2() { + isPending.value = false; + clear2(); + } + __name(stop2, "stop"); + function start2(...args) { + clear2(); + isPending.value = true; + timer = setTimeout(() => { + isPending.value = false; + timer = null; + cb(...args); + }, toValue(interval)); + } + __name(start2, "start"); + if (immediate) { + isPending.value = true; + if (isClient) + start2(); + } + tryOnScopeDispose(stop2); + return { + isPending: readonly(isPending), + start: start2, + stop: stop2 + }; +} +__name(useTimeoutFn, "useTimeoutFn"); +function useTimeout(interval = 1e3, options3 = {}) { + const { + controls: exposeControls = false, + callback + } = options3; + const controls = useTimeoutFn( + callback != null ? callback : noop$1, + interval, + options3 + ); + const ready = computed(() => !controls.isPending.value); + if (exposeControls) { + return { + ready, + ...controls + }; + } else { + return ready; + } +} +__name(useTimeout, "useTimeout"); +function useToNumber(value3, options3 = {}) { + const { + method = "parseFloat", + radix, + nanToZero + } = options3; + return computed(() => { + let resolved = toValue(value3); + if (typeof resolved === "string") + resolved = Number[method](resolved, radix); + if (nanToZero && Number.isNaN(resolved)) + resolved = 0; + return resolved; + }); +} +__name(useToNumber, "useToNumber"); +function useToString(value3) { + return computed(() => `${toValue(value3)}`); +} +__name(useToString, "useToString"); +function useToggle(initialValue = false, options3 = {}) { + const { + truthyValue = true, + falsyValue = false + } = options3; + const valueIsRef = isRef(initialValue); + const _value = ref(initialValue); + function toggle4(value3) { + if (arguments.length) { + _value.value = value3; + return _value.value; + } else { + const truthy = toValue(truthyValue); + _value.value = _value.value === truthy ? toValue(falsyValue) : truthy; + return _value.value; + } + } + __name(toggle4, "toggle"); + if (valueIsRef) + return toggle4; + else + return [_value, toggle4]; +} +__name(useToggle, "useToggle"); +function watchArray(source, cb, options3) { + let oldList = (options3 == null ? void 0 : options3.immediate) ? [] : [...source instanceof Function ? source() : Array.isArray(source) ? source : toValue(source)]; + return watch(source, (newList, _2, onCleanup) => { + const oldListRemains = Array.from({ length: oldList.length }); + const added = []; + for (const obj of newList) { + let found = false; + for (let i2 = 0; i2 < oldList.length; i2++) { + if (!oldListRemains[i2] && obj === oldList[i2]) { + oldListRemains[i2] = true; + found = true; + break; + } + } + if (!found) + added.push(obj); + } + const removed = oldList.filter((_22, i2) => !oldListRemains[i2]); + cb(newList, oldList, added, removed, onCleanup); + oldList = [...newList]; + }, options3); +} +__name(watchArray, "watchArray"); +function watchAtMost(source, cb, options3) { + const { + count, + ...watchOptions + } = options3; + const current = ref(0); + const stop2 = watchWithFilter( + source, + (...args) => { + current.value += 1; + if (current.value >= toValue(count)) + nextTick(() => stop2()); + cb(...args); + }, + watchOptions + ); + return { count: current, stop: stop2 }; +} +__name(watchAtMost, "watchAtMost"); +function watchDebounced(source, cb, options3 = {}) { + const { + debounce = 0, + maxWait = void 0, + ...watchOptions + } = options3; + return watchWithFilter( + source, + cb, + { + ...watchOptions, + eventFilter: debounceFilter(debounce, { maxWait }) + } + ); +} +__name(watchDebounced, "watchDebounced"); +function watchDeep(source, cb, options3) { + return watch( + source, + cb, + { + ...options3, + deep: true + } + ); +} +__name(watchDeep, "watchDeep"); +function watchIgnorable(source, cb, options3 = {}) { + const { + eventFilter = bypassFilter, + ...watchOptions + } = options3; + const filteredCb = createFilterWrapper( + eventFilter, + cb + ); + let ignoreUpdates; + let ignorePrevAsyncUpdates; + let stop2; + if (watchOptions.flush === "sync") { + const ignore = ref(false); + ignorePrevAsyncUpdates = /* @__PURE__ */ __name(() => { + }, "ignorePrevAsyncUpdates"); + ignoreUpdates = /* @__PURE__ */ __name((updater) => { + ignore.value = true; + updater(); + ignore.value = false; + }, "ignoreUpdates"); + stop2 = watch( + source, + (...args) => { + if (!ignore.value) + filteredCb(...args); + }, + watchOptions + ); + } else { + const disposables = []; + const ignoreCounter = ref(0); + const syncCounter = ref(0); + ignorePrevAsyncUpdates = /* @__PURE__ */ __name(() => { + ignoreCounter.value = syncCounter.value; + }, "ignorePrevAsyncUpdates"); + disposables.push( + watch( + source, + () => { + syncCounter.value++; + }, + { ...watchOptions, flush: "sync" } + ) + ); + ignoreUpdates = /* @__PURE__ */ __name((updater) => { + const syncCounterPrev = syncCounter.value; + updater(); + ignoreCounter.value += syncCounter.value - syncCounterPrev; + }, "ignoreUpdates"); + disposables.push( + watch( + source, + (...args) => { + const ignore = ignoreCounter.value > 0 && ignoreCounter.value === syncCounter.value; + ignoreCounter.value = 0; + syncCounter.value = 0; + if (ignore) + return; + filteredCb(...args); + }, + watchOptions + ) + ); + stop2 = /* @__PURE__ */ __name(() => { + disposables.forEach((fn) => fn()); + }, "stop"); + } + return { stop: stop2, ignoreUpdates, ignorePrevAsyncUpdates }; +} +__name(watchIgnorable, "watchIgnorable"); +function watchImmediate(source, cb, options3) { + return watch( + source, + cb, + { + ...options3, + immediate: true + } + ); +} +__name(watchImmediate, "watchImmediate"); +function watchOnce(source, cb, options3) { + const stop2 = watch(source, (...args) => { + nextTick(() => stop2()); + return cb(...args); + }, options3); + return stop2; +} +__name(watchOnce, "watchOnce"); +function watchThrottled(source, cb, options3 = {}) { + const { + throttle: throttle2 = 0, + trailing = true, + leading = true, + ...watchOptions + } = options3; + return watchWithFilter( + source, + cb, + { + ...watchOptions, + eventFilter: throttleFilter(throttle2, trailing, leading) + } + ); +} +__name(watchThrottled, "watchThrottled"); +function watchTriggerable(source, cb, options3 = {}) { + let cleanupFn; + function onEffect() { + if (!cleanupFn) + return; + const fn = cleanupFn; + cleanupFn = void 0; + fn(); + } + __name(onEffect, "onEffect"); + function onCleanup(callback) { + cleanupFn = callback; + } + __name(onCleanup, "onCleanup"); + const _cb = /* @__PURE__ */ __name((value3, oldValue) => { + onEffect(); + return cb(value3, oldValue, onCleanup); + }, "_cb"); + const res = watchIgnorable(source, _cb, options3); + const { ignoreUpdates } = res; + const trigger2 = /* @__PURE__ */ __name(() => { + let res2; + ignoreUpdates(() => { + res2 = _cb(getWatchSources(source), getOldValue(source)); + }); + return res2; + }, "trigger"); + return { + ...res, + trigger: trigger2 + }; +} +__name(watchTriggerable, "watchTriggerable"); +function getWatchSources(sources) { + if (isReactive(sources)) + return sources; + if (Array.isArray(sources)) + return sources.map((item2) => toValue(item2)); + return toValue(sources); +} +__name(getWatchSources, "getWatchSources"); +function getOldValue(source) { + return Array.isArray(source) ? source.map(() => void 0) : void 0; +} +__name(getOldValue, "getOldValue"); +function whenever(source, cb, options3) { + const stop2 = watch( + source, + (v2, ov, onInvalidate) => { + if (v2) { + if (options3 == null ? void 0 : options3.once) + nextTick(() => stop2()); + cb(v2, ov, onInvalidate); + } + }, + { + ...options3, + once: false + } + ); + return stop2; +} +__name(whenever, "whenever"); +function computedAsync(evaluationCallback, initialState, optionsOrRef) { + let options3; + if (isRef(optionsOrRef)) { + options3 = { + evaluating: optionsOrRef + }; + } else { + options3 = optionsOrRef || {}; + } + const { + lazy = false, + evaluating = void 0, + shallow = true, + onError = noop$1 + } = options3; + const started = ref(!lazy); + const current = shallow ? shallowRef(initialState) : ref(initialState); + let counter = 0; + watchEffect(async (onInvalidate) => { + if (!started.value) + return; + counter++; + const counterAtBeginning = counter; + let hasFinished = false; + if (evaluating) { + Promise.resolve().then(() => { + evaluating.value = true; + }); + } + try { + const result = await evaluationCallback((cancelCallback) => { + onInvalidate(() => { + if (evaluating) + evaluating.value = false; + if (!hasFinished) + cancelCallback(); + }); + }); + if (counterAtBeginning === counter) + current.value = result; + } catch (e) { + onError(e); + } finally { + if (evaluating && counterAtBeginning === counter) + evaluating.value = false; + hasFinished = true; + } + }); + if (lazy) { + return computed(() => { + started.value = true; + return current.value; + }); + } else { + return current; + } +} +__name(computedAsync, "computedAsync"); +function computedInject(key, options3, defaultSource, treatDefaultAsFactory) { + let source = inject(key); + if (defaultSource) + source = inject(key, defaultSource); + if (treatDefaultAsFactory) + source = inject(key, defaultSource, treatDefaultAsFactory); + if (typeof options3 === "function") { + return computed((ctx) => options3(source, ctx)); + } else { + return computed({ + get: /* @__PURE__ */ __name((ctx) => options3.get(source, ctx), "get"), + set: options3.set + }); + } +} +__name(computedInject, "computedInject"); +function createReusableTemplate(options3 = {}) { + if (!isVue3 && !version.startsWith("2.7.")) { + if (false) + throw new Error("[VueUse] createReusableTemplate only works in Vue 2.7 or above."); + return; + } + const { + inheritAttrs = true + } = options3; + const render2 = shallowRef(); + const define = /* @__PURE__ */ defineComponent({ + setup(_2, { slots }) { + return () => { + render2.value = slots.default; + }; + } + }); + const reuse = /* @__PURE__ */ defineComponent({ + inheritAttrs, + setup(_2, { attrs: attrs3, slots }) { + return () => { + var _a; + if (!render2.value && false) + throw new Error("[VueUse] Failed to find the definition of reusable template"); + const vnode = (_a = render2.value) == null ? void 0 : _a.call(render2, { ...keysToCamelKebabCase(attrs3), $slots: slots }); + return inheritAttrs && (vnode == null ? void 0 : vnode.length) === 1 ? vnode[0] : vnode; + }; + } + }); + return makeDestructurable( + { define, reuse }, + [define, reuse] + ); +} +__name(createReusableTemplate, "createReusableTemplate"); +function keysToCamelKebabCase(obj) { + const newObj = {}; + for (const key in obj) + newObj[camelize(key)] = obj[key]; + return newObj; +} +__name(keysToCamelKebabCase, "keysToCamelKebabCase"); +function createTemplatePromise(options3 = {}) { + if (!isVue3) { + if (false) + throw new Error("[VueUse] createTemplatePromise only works in Vue 3 or above."); + return; + } + let index2 = 0; + const instances = ref([]); + function create2(...args) { + const props = shallowReactive({ + key: index2++, + args, + promise: void 0, + resolve: /* @__PURE__ */ __name(() => { + }, "resolve"), + reject: /* @__PURE__ */ __name(() => { + }, "reject"), + isResolving: false, + options: options3 + }); + instances.value.push(props); + props.promise = new Promise((_resolve, _reject) => { + props.resolve = (v2) => { + props.isResolving = true; + return _resolve(v2); + }; + props.reject = _reject; + }).finally(() => { + props.promise = void 0; + const index22 = instances.value.indexOf(props); + if (index22 !== -1) + instances.value.splice(index22, 1); + }); + return props.promise; + } + __name(create2, "create"); + function start2(...args) { + if (options3.singleton && instances.value.length > 0) + return instances.value[0].promise; + return create2(...args); + } + __name(start2, "start"); + const component = /* @__PURE__ */ defineComponent((_2, { slots }) => { + const renderList2 = /* @__PURE__ */ __name(() => instances.value.map((props) => { + var _a; + return h(Fragment, { key: props.key }, (_a = slots.default) == null ? void 0 : _a.call(slots, props)); + }), "renderList"); + if (options3.transition) + return () => h(TransitionGroup, options3.transition, renderList2); + return renderList2; + }); + component.start = start2; + return component; +} +__name(createTemplatePromise, "createTemplatePromise"); +function createUnrefFn(fn) { + return function(...args) { + return fn.apply(this, args.map((i2) => toValue(i2))); + }; +} +__name(createUnrefFn, "createUnrefFn"); +const defaultWindow = isClient ? window : void 0; +const defaultDocument = isClient ? window.document : void 0; +const defaultNavigator = isClient ? window.navigator : void 0; +const defaultLocation = isClient ? window.location : void 0; +function unrefElement(elRef) { + var _a; + const plain = toValue(elRef); + return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain; +} +__name(unrefElement, "unrefElement"); +function useEventListener(...args) { + let target; + let events2; + let listeners; + let options3; + if (typeof args[0] === "string" || Array.isArray(args[0])) { + [events2, listeners, options3] = args; + target = defaultWindow; + } else { + [target, events2, listeners, options3] = args; + } + if (!target) + return noop$1; + if (!Array.isArray(events2)) + events2 = [events2]; + if (!Array.isArray(listeners)) + listeners = [listeners]; + const cleanups = []; + const cleanup = /* @__PURE__ */ __name(() => { + cleanups.forEach((fn) => fn()); + cleanups.length = 0; + }, "cleanup"); + const register3 = /* @__PURE__ */ __name((el, event2, listener, options22) => { + el.addEventListener(event2, listener, options22); + return () => el.removeEventListener(event2, listener, options22); + }, "register"); + const stopWatch = watch( + () => [unrefElement(target), toValue(options3)], + ([el, options22]) => { + cleanup(); + if (!el) + return; + const optionsClone = isObject$3(options22) ? { ...options22 } : options22; + cleanups.push( + ...events2.flatMap((event2) => { + return listeners.map((listener) => register3(el, event2, listener, optionsClone)); + }) + ); + }, + { immediate: true, flush: "post" } + ); + const stop2 = /* @__PURE__ */ __name(() => { + stopWatch(); + cleanup(); + }, "stop"); + tryOnScopeDispose(stop2); + return stop2; +} +__name(useEventListener, "useEventListener"); +let _iOSWorkaround = false; +function onClickOutside(target, handler6, options3 = {}) { + const { window: window2 = defaultWindow, ignore = [], capture = true, detectIframe = false } = options3; + if (!window2) + return noop$1; + if (isIOS && !_iOSWorkaround) { + _iOSWorkaround = true; + Array.from(window2.document.body.children).forEach((el) => el.addEventListener("click", noop$1)); + window2.document.documentElement.addEventListener("click", noop$1); + } + let shouldListen = true; + const shouldIgnore = /* @__PURE__ */ __name((event2) => { + return toValue(ignore).some((target2) => { + if (typeof target2 === "string") { + return Array.from(window2.document.querySelectorAll(target2)).some((el) => el === event2.target || event2.composedPath().includes(el)); + } else { + const el = unrefElement(target2); + return el && (event2.target === el || event2.composedPath().includes(el)); + } + }); + }, "shouldIgnore"); + const listener = /* @__PURE__ */ __name((event2) => { + const el = unrefElement(target); + if (!el || el === event2.target || event2.composedPath().includes(el)) + return; + if (event2.detail === 0) + shouldListen = !shouldIgnore(event2); + if (!shouldListen) { + shouldListen = true; + return; + } + handler6(event2); + }, "listener"); + let isProcessingClick = false; + const cleanup = [ + useEventListener(window2, "click", (event2) => { + if (!isProcessingClick) { + isProcessingClick = true; + setTimeout(() => { + isProcessingClick = false; + }, 0); + listener(event2); + } + }, { passive: true, capture }), + useEventListener(window2, "pointerdown", (e) => { + const el = unrefElement(target); + shouldListen = !shouldIgnore(e) && !!(el && !e.composedPath().includes(el)); + }, { passive: true }), + detectIframe && useEventListener(window2, "blur", (event2) => { + setTimeout(() => { + var _a; + const el = unrefElement(target); + if (((_a = window2.document.activeElement) == null ? void 0 : _a.tagName) === "IFRAME" && !(el == null ? void 0 : el.contains(window2.document.activeElement))) { + handler6(event2); + } + }, 0); + }) + ].filter(Boolean); + const stop2 = /* @__PURE__ */ __name(() => cleanup.forEach((fn) => fn()), "stop"); + return stop2; +} +__name(onClickOutside, "onClickOutside"); +function createKeyPredicate(keyFilter) { + if (typeof keyFilter === "function") + return keyFilter; + else if (typeof keyFilter === "string") + return (event2) => event2.key === keyFilter; + else if (Array.isArray(keyFilter)) + return (event2) => keyFilter.includes(event2.key); + return () => true; +} +__name(createKeyPredicate, "createKeyPredicate"); +function onKeyStroke(...args) { + let key; + let handler6; + let options3 = {}; + if (args.length === 3) { + key = args[0]; + handler6 = args[1]; + options3 = args[2]; + } else if (args.length === 2) { + if (typeof args[1] === "object") { + key = true; + handler6 = args[0]; + options3 = args[1]; + } else { + key = args[0]; + handler6 = args[1]; + } + } else { + key = true; + handler6 = args[0]; + } + const { + target = defaultWindow, + eventName = "keydown", + passive = false, + dedupe = false + } = options3; + const predicate = createKeyPredicate(key); + const listener = /* @__PURE__ */ __name((e) => { + if (e.repeat && toValue(dedupe)) + return; + if (predicate(e)) + handler6(e); + }, "listener"); + return useEventListener(target, eventName, listener, passive); +} +__name(onKeyStroke, "onKeyStroke"); +function onKeyDown(key, handler6, options3 = {}) { + return onKeyStroke(key, handler6, { ...options3, eventName: "keydown" }); +} +__name(onKeyDown, "onKeyDown"); +function onKeyPressed(key, handler6, options3 = {}) { + return onKeyStroke(key, handler6, { ...options3, eventName: "keypress" }); +} +__name(onKeyPressed, "onKeyPressed"); +function onKeyUp(key, handler6, options3 = {}) { + return onKeyStroke(key, handler6, { ...options3, eventName: "keyup" }); +} +__name(onKeyUp, "onKeyUp"); +const DEFAULT_DELAY = 500; +const DEFAULT_THRESHOLD = 10; +function onLongPress(target, handler6, options3) { + var _a, _b; + const elementRef2 = computed(() => unrefElement(target)); + let timeout; + let posStart; + let startTimestamp; + let hasLongPressed = false; + function clear2() { + if (timeout) { + clearTimeout(timeout); + timeout = void 0; + } + posStart = void 0; + startTimestamp = void 0; + hasLongPressed = false; + } + __name(clear2, "clear"); + function onRelease(ev) { + var _a2, _b2, _c; + const [_startTimestamp, _posStart, _hasLongPressed] = [startTimestamp, posStart, hasLongPressed]; + clear2(); + if (!(options3 == null ? void 0 : options3.onMouseUp) || !_posStart || !_startTimestamp) + return; + if (((_a2 = options3 == null ? void 0 : options3.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef2.value) + return; + if ((_b2 = options3 == null ? void 0 : options3.modifiers) == null ? void 0 : _b2.prevent) + ev.preventDefault(); + if ((_c = options3 == null ? void 0 : options3.modifiers) == null ? void 0 : _c.stop) + ev.stopPropagation(); + const dx = ev.x - _posStart.x; + const dy = ev.y - _posStart.y; + const distance2 = Math.sqrt(dx * dx + dy * dy); + options3.onMouseUp(ev.timeStamp - _startTimestamp, distance2, _hasLongPressed); + } + __name(onRelease, "onRelease"); + function onDown(ev) { + var _a2, _b2, _c, _d; + if (((_a2 = options3 == null ? void 0 : options3.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef2.value) + return; + clear2(); + if ((_b2 = options3 == null ? void 0 : options3.modifiers) == null ? void 0 : _b2.prevent) + ev.preventDefault(); + if ((_c = options3 == null ? void 0 : options3.modifiers) == null ? void 0 : _c.stop) + ev.stopPropagation(); + posStart = { + x: ev.x, + y: ev.y + }; + startTimestamp = ev.timeStamp; + timeout = setTimeout( + () => { + hasLongPressed = true; + handler6(ev); + }, + (_d = options3 == null ? void 0 : options3.delay) != null ? _d : DEFAULT_DELAY + ); + } + __name(onDown, "onDown"); + function onMove(ev) { + var _a2, _b2, _c, _d; + if (((_a2 = options3 == null ? void 0 : options3.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef2.value) + return; + if (!posStart || (options3 == null ? void 0 : options3.distanceThreshold) === false) + return; + if ((_b2 = options3 == null ? void 0 : options3.modifiers) == null ? void 0 : _b2.prevent) + ev.preventDefault(); + if ((_c = options3 == null ? void 0 : options3.modifiers) == null ? void 0 : _c.stop) + ev.stopPropagation(); + const dx = ev.x - posStart.x; + const dy = ev.y - posStart.y; + const distance2 = Math.sqrt(dx * dx + dy * dy); + if (distance2 >= ((_d = options3 == null ? void 0 : options3.distanceThreshold) != null ? _d : DEFAULT_THRESHOLD)) + clear2(); + } + __name(onMove, "onMove"); + const listenerOptions = { + capture: (_a = options3 == null ? void 0 : options3.modifiers) == null ? void 0 : _a.capture, + once: (_b = options3 == null ? void 0 : options3.modifiers) == null ? void 0 : _b.once + }; + const cleanup = [ + useEventListener(elementRef2, "pointerdown", onDown, listenerOptions), + useEventListener(elementRef2, "pointermove", onMove, listenerOptions), + useEventListener(elementRef2, ["pointerup", "pointerleave"], onRelease, listenerOptions) + ]; + const stop2 = /* @__PURE__ */ __name(() => cleanup.forEach((fn) => fn()), "stop"); + return stop2; +} +__name(onLongPress, "onLongPress"); +function isFocusedElementEditable() { + const { activeElement, body } = document; + if (!activeElement) + return false; + if (activeElement === body) + return false; + switch (activeElement.tagName) { + case "INPUT": + case "TEXTAREA": + return true; + } + return activeElement.hasAttribute("contenteditable"); +} +__name(isFocusedElementEditable, "isFocusedElementEditable"); +function isTypedCharValid({ + keyCode, + metaKey, + ctrlKey, + altKey +}) { + if (metaKey || ctrlKey || altKey) + return false; + if (keyCode >= 48 && keyCode <= 57) + return true; + if (keyCode >= 65 && keyCode <= 90) + return true; + if (keyCode >= 97 && keyCode <= 122) + return true; + return false; +} +__name(isTypedCharValid, "isTypedCharValid"); +function onStartTyping(callback, options3 = {}) { + const { document: document2 = defaultDocument } = options3; + const keydown = /* @__PURE__ */ __name((event2) => { + if (!isFocusedElementEditable() && isTypedCharValid(event2)) { + callback(event2); + } + }, "keydown"); + if (document2) + useEventListener(document2, "keydown", keydown, { passive: true }); +} +__name(onStartTyping, "onStartTyping"); +function templateRef(key, initialValue = null) { + const instance = getCurrentInstance(); + let _trigger = /* @__PURE__ */ __name(() => { + }, "_trigger"); + const element = customRef((track2, trigger2) => { + _trigger = trigger2; + return { + get() { + var _a, _b; + track2(); + return (_b = (_a = instance == null ? void 0 : instance.proxy) == null ? void 0 : _a.$refs[key]) != null ? _b : initialValue; + }, + set() { + } + }; + }); + tryOnMounted(_trigger); + onUpdated(_trigger); + return element; +} +__name(templateRef, "templateRef"); +function useMounted() { + const isMounted = ref(false); + const instance = getCurrentInstance(); + if (instance) { + onMounted(() => { + isMounted.value = true; + }, isVue2 ? void 0 : instance); + } + return isMounted; +} +__name(useMounted, "useMounted"); +function useSupported(callback) { + const isMounted = useMounted(); + return computed(() => { + isMounted.value; + return Boolean(callback()); + }); +} +__name(useSupported, "useSupported"); +function useMutationObserver(target, callback, options3 = {}) { + const { window: window2 = defaultWindow, ...mutationOptions } = options3; + let observer; + const isSupported2 = useSupported(() => window2 && "MutationObserver" in window2); + const cleanup = /* @__PURE__ */ __name(() => { + if (observer) { + observer.disconnect(); + observer = void 0; + } + }, "cleanup"); + const targets = computed(() => { + const value3 = toValue(target); + const items2 = (Array.isArray(value3) ? value3 : [value3]).map(unrefElement).filter(notNullish); + return new Set(items2); + }); + const stopWatch = watch( + () => targets.value, + (targets2) => { + cleanup(); + if (isSupported2.value && targets2.size) { + observer = new MutationObserver(callback); + targets2.forEach((el) => observer.observe(el, mutationOptions)); + } + }, + { immediate: true, flush: "post" } + ); + const takeRecords = /* @__PURE__ */ __name(() => { + return observer == null ? void 0 : observer.takeRecords(); + }, "takeRecords"); + const stop2 = /* @__PURE__ */ __name(() => { + stopWatch(); + cleanup(); + }, "stop"); + tryOnScopeDispose(stop2); + return { + isSupported: isSupported2, + stop: stop2, + takeRecords + }; +} +__name(useMutationObserver, "useMutationObserver"); +function useActiveElement(options3 = {}) { + var _a; + const { + window: window2 = defaultWindow, + deep = true, + triggerOnRemoval = false + } = options3; + const document2 = (_a = options3.document) != null ? _a : window2 == null ? void 0 : window2.document; + const getDeepActiveElement = /* @__PURE__ */ __name(() => { + var _a2; + let element = document2 == null ? void 0 : document2.activeElement; + if (deep) { + while (element == null ? void 0 : element.shadowRoot) + element = (_a2 = element == null ? void 0 : element.shadowRoot) == null ? void 0 : _a2.activeElement; + } + return element; + }, "getDeepActiveElement"); + const activeElement = ref(); + const trigger2 = /* @__PURE__ */ __name(() => { + activeElement.value = getDeepActiveElement(); + }, "trigger"); + if (window2) { + useEventListener(window2, "blur", (event2) => { + if (event2.relatedTarget !== null) + return; + trigger2(); + }, true); + useEventListener(window2, "focus", trigger2, true); + } + if (triggerOnRemoval) { + useMutationObserver(document2, (mutations) => { + mutations.filter((m) => m.removedNodes.length).map((n) => Array.from(n.removedNodes)).flat().forEach((node3) => { + if (node3 === activeElement.value) + trigger2(); + }); + }, { + childList: true, + subtree: true + }); + } + trigger2(); + return activeElement; +} +__name(useActiveElement, "useActiveElement"); +function useRafFn(fn, options3 = {}) { + const { + immediate = true, + fpsLimit = void 0, + window: window2 = defaultWindow + } = options3; + const isActive = ref(false); + const intervalLimit = fpsLimit ? 1e3 / fpsLimit : null; + let previousFrameTimestamp = 0; + let rafId = null; + function loop(timestamp2) { + if (!isActive.value || !window2) + return; + if (!previousFrameTimestamp) + previousFrameTimestamp = timestamp2; + const delta2 = timestamp2 - previousFrameTimestamp; + if (intervalLimit && delta2 < intervalLimit) { + rafId = window2.requestAnimationFrame(loop); + return; + } + previousFrameTimestamp = timestamp2; + fn({ delta: delta2, timestamp: timestamp2 }); + rafId = window2.requestAnimationFrame(loop); + } + __name(loop, "loop"); + function resume() { + if (!isActive.value && window2) { + isActive.value = true; + previousFrameTimestamp = 0; + rafId = window2.requestAnimationFrame(loop); + } + } + __name(resume, "resume"); + function pause() { + isActive.value = false; + if (rafId != null && window2) { + window2.cancelAnimationFrame(rafId); + rafId = null; + } + } + __name(pause, "pause"); + if (immediate) + resume(); + tryOnScopeDispose(pause); + return { + isActive: readonly(isActive), + pause, + resume + }; +} +__name(useRafFn, "useRafFn"); +function useAnimate(target, keyframes, options3) { + let config2; + let animateOptions; + if (isObject$3(options3)) { + config2 = options3; + animateOptions = objectOmit(options3, ["window", "immediate", "commitStyles", "persist", "onReady", "onError"]); + } else { + config2 = { duration: options3 }; + animateOptions = options3; + } + const { + window: window2 = defaultWindow, + immediate = true, + commitStyles, + persist, + playbackRate: _playbackRate = 1, + onReady, + onError = /* @__PURE__ */ __name((e) => { + console.error(e); + }, "onError") + } = config2; + const isSupported2 = useSupported(() => window2 && HTMLElement && "animate" in HTMLElement.prototype); + const animate = shallowRef(void 0); + const store = shallowReactive({ + startTime: null, + currentTime: null, + timeline: null, + playbackRate: _playbackRate, + pending: false, + playState: immediate ? "idle" : "paused", + replaceState: "active" + }); + const pending = computed(() => store.pending); + const playState = computed(() => store.playState); + const replaceState = computed(() => store.replaceState); + const startTime = computed({ + get() { + return store.startTime; + }, + set(value3) { + store.startTime = value3; + if (animate.value) + animate.value.startTime = value3; + } + }); + const currentTime = computed({ + get() { + return store.currentTime; + }, + set(value3) { + store.currentTime = value3; + if (animate.value) { + animate.value.currentTime = value3; + syncResume(); + } + } + }); + const timeline = computed({ + get() { + return store.timeline; + }, + set(value3) { + store.timeline = value3; + if (animate.value) + animate.value.timeline = value3; + } + }); + const playbackRate = computed({ + get() { + return store.playbackRate; + }, + set(value3) { + store.playbackRate = value3; + if (animate.value) + animate.value.playbackRate = value3; + } + }); + const play = /* @__PURE__ */ __name(() => { + if (animate.value) { + try { + animate.value.play(); + syncResume(); + } catch (e) { + syncPause(); + onError(e); + } + } else { + update(); + } + }, "play"); + const pause = /* @__PURE__ */ __name(() => { + var _a; + try { + (_a = animate.value) == null ? void 0 : _a.pause(); + syncPause(); + } catch (e) { + onError(e); + } + }, "pause"); + const reverse = /* @__PURE__ */ __name(() => { + var _a; + if (!animate.value) + update(); + try { + (_a = animate.value) == null ? void 0 : _a.reverse(); + syncResume(); + } catch (e) { + syncPause(); + onError(e); + } + }, "reverse"); + const finish = /* @__PURE__ */ __name(() => { + var _a; + try { + (_a = animate.value) == null ? void 0 : _a.finish(); + syncPause(); + } catch (e) { + onError(e); + } + }, "finish"); + const cancel = /* @__PURE__ */ __name(() => { + var _a; + try { + (_a = animate.value) == null ? void 0 : _a.cancel(); + syncPause(); + } catch (e) { + onError(e); + } + }, "cancel"); + watch(() => unrefElement(target), (el) => { + if (el) + update(); + }); + watch(() => keyframes, (value3) => { + if (animate.value) + update(); + if (!unrefElement(target) && animate.value) { + animate.value.effect = new KeyframeEffect( + unrefElement(target), + toValue(value3), + animateOptions + ); + } + }, { deep: true }); + tryOnMounted(() => update(true), false); + tryOnScopeDispose(cancel); + function update(init2) { + const el = unrefElement(target); + if (!isSupported2.value || !el) + return; + if (!animate.value) + animate.value = el.animate(toValue(keyframes), animateOptions); + if (persist) + animate.value.persist(); + if (_playbackRate !== 1) + animate.value.playbackRate = _playbackRate; + if (init2 && !immediate) + animate.value.pause(); + else + syncResume(); + onReady == null ? void 0 : onReady(animate.value); + } + __name(update, "update"); + useEventListener(animate, ["cancel", "finish", "remove"], syncPause); + useEventListener(animate, "finish", () => { + var _a; + if (commitStyles) + (_a = animate.value) == null ? void 0 : _a.commitStyles(); + }); + const { resume: resumeRef, pause: pauseRef } = useRafFn(() => { + if (!animate.value) + return; + store.pending = animate.value.pending; + store.playState = animate.value.playState; + store.replaceState = animate.value.replaceState; + store.startTime = animate.value.startTime; + store.currentTime = animate.value.currentTime; + store.timeline = animate.value.timeline; + store.playbackRate = animate.value.playbackRate; + }, { immediate: false }); + function syncResume() { + if (isSupported2.value) + resumeRef(); + } + __name(syncResume, "syncResume"); + function syncPause() { + if (isSupported2.value && window2) + window2.requestAnimationFrame(pauseRef); + } + __name(syncPause, "syncPause"); + return { + isSupported: isSupported2, + animate, + // actions + play, + pause, + reverse, + finish, + cancel, + // state + pending, + playState, + replaceState, + startTime, + currentTime, + timeline, + playbackRate + }; +} +__name(useAnimate, "useAnimate"); +function useAsyncQueue(tasks, options3) { + const { + interrupt = true, + onError = noop$1, + onFinished = noop$1, + signal + } = options3 || {}; + const promiseState = { + aborted: "aborted", + fulfilled: "fulfilled", + pending: "pending", + rejected: "rejected" + }; + const initialResult = Array.from(Array.from({ length: tasks.length }), () => ({ state: promiseState.pending, data: null })); + const result = reactive(initialResult); + const activeIndex3 = ref(-1); + if (!tasks || tasks.length === 0) { + onFinished(); + return { + activeIndex: activeIndex3, + result + }; + } + function updateResult(state, res) { + activeIndex3.value++; + result[activeIndex3.value].data = res; + result[activeIndex3.value].state = state; + } + __name(updateResult, "updateResult"); + tasks.reduce((prev2, curr) => { + return prev2.then((prevRes) => { + var _a; + if (signal == null ? void 0 : signal.aborted) { + updateResult(promiseState.aborted, new Error("aborted")); + return; + } + if (((_a = result[activeIndex3.value]) == null ? void 0 : _a.state) === promiseState.rejected && interrupt) { + onFinished(); + return; + } + const done = curr(prevRes).then((currentRes) => { + updateResult(promiseState.fulfilled, currentRes); + if (activeIndex3.value === tasks.length - 1) + onFinished(); + return currentRes; + }); + if (!signal) + return done; + return Promise.race([done, whenAborted(signal)]); + }).catch((e) => { + if (signal == null ? void 0 : signal.aborted) { + updateResult(promiseState.aborted, e); + return e; + } + updateResult(promiseState.rejected, e); + onError(); + return e; + }); + }, Promise.resolve()); + return { + activeIndex: activeIndex3, + result + }; +} +__name(useAsyncQueue, "useAsyncQueue"); +function whenAborted(signal) { + return new Promise((resolve2, reject2) => { + const error = new Error("aborted"); + if (signal.aborted) + reject2(error); + else + signal.addEventListener("abort", () => reject2(error), { once: true }); + }); +} +__name(whenAborted, "whenAborted"); +function useAsyncState(promise, initialState, options3) { + const { + immediate = true, + delay = 0, + onError = noop$1, + onSuccess = noop$1, + resetOnExecute = true, + shallow = true, + throwError + } = options3 != null ? options3 : {}; + const state = shallow ? shallowRef(initialState) : ref(initialState); + const isReady = ref(false); + const isLoading = ref(false); + const error = shallowRef(void 0); + async function execute(delay2 = 0, ...args) { + if (resetOnExecute) + state.value = initialState; + error.value = void 0; + isReady.value = false; + isLoading.value = true; + if (delay2 > 0) + await promiseTimeout(delay2); + const _promise = typeof promise === "function" ? promise(...args) : promise; + try { + const data21 = await _promise; + state.value = data21; + isReady.value = true; + onSuccess(data21); + } catch (e) { + error.value = e; + onError(e); + if (throwError) + throw e; + } finally { + isLoading.value = false; + } + return state.value; + } + __name(execute, "execute"); + if (immediate) + execute(delay); + const shell = { + state, + isReady, + isLoading, + error, + execute + }; + function waitUntilIsLoaded() { + return new Promise((resolve2, reject2) => { + until(isLoading).toBe(false).then(() => resolve2(shell)).catch(reject2); + }); + } + __name(waitUntilIsLoaded, "waitUntilIsLoaded"); + return { + ...shell, + then(onFulfilled, onRejected) { + return waitUntilIsLoaded().then(onFulfilled, onRejected); + } + }; +} +__name(useAsyncState, "useAsyncState"); +const defaults = { + array: /* @__PURE__ */ __name((v2) => JSON.stringify(v2), "array"), + object: /* @__PURE__ */ __name((v2) => JSON.stringify(v2), "object"), + set: /* @__PURE__ */ __name((v2) => JSON.stringify(Array.from(v2)), "set"), + map: /* @__PURE__ */ __name((v2) => JSON.stringify(Object.fromEntries(v2)), "map"), + null: /* @__PURE__ */ __name(() => "", "null") +}; +function getDefaultSerialization(target) { + if (!target) + return defaults.null; + if (target instanceof Map) + return defaults.map; + else if (target instanceof Set) + return defaults.set; + else if (Array.isArray(target)) + return defaults.array; + else + return defaults.object; +} +__name(getDefaultSerialization, "getDefaultSerialization"); +function useBase64(target, options3) { + const base64 = ref(""); + const promise = ref(); + function execute() { + if (!isClient) + return; + promise.value = new Promise((resolve2, reject2) => { + try { + const _target = toValue(target); + if (_target == null) { + resolve2(""); + } else if (typeof _target === "string") { + resolve2(blobToBase64(new Blob([_target], { type: "text/plain" }))); + } else if (_target instanceof Blob) { + resolve2(blobToBase64(_target)); + } else if (_target instanceof ArrayBuffer) { + resolve2(window.btoa(String.fromCharCode(...new Uint8Array(_target)))); + } else if (_target instanceof HTMLCanvasElement) { + resolve2(_target.toDataURL(options3 == null ? void 0 : options3.type, options3 == null ? void 0 : options3.quality)); + } else if (_target instanceof HTMLImageElement) { + 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(options3 == null ? void 0 : options3.type, options3 == null ? void 0 : options3.quality)); + }).catch(reject2); + } else if (typeof _target === "object") { + const _serializeFn = (options3 == null ? void 0 : options3.serializer) || getDefaultSerialization(_target); + const serialized = _serializeFn(_target); + return resolve2(blobToBase64(new Blob([serialized], { type: "application/json" }))); + } else { + reject2(new Error("target is unsupported types")); + } + } catch (error) { + reject2(error); + } + }); + promise.value.then((res) => base64.value = res); + return promise.value; + } + __name(execute, "execute"); + if (isRef(target) || typeof target === "function") + watch(target, execute, { immediate: true }); + else + execute(); + return { + base64, + promise, + execute + }; +} +__name(useBase64, "useBase64"); +function imgLoaded(img) { + return new Promise((resolve2, reject2) => { + if (!img.complete) { + img.onload = () => { + resolve2(); + }; + img.onerror = reject2; + } else { + resolve2(); + } + }); +} +__name(imgLoaded, "imgLoaded"); +function blobToBase64(blob) { + return new Promise((resolve2, reject2) => { + const fr = new FileReader(); + fr.onload = (e) => { + resolve2(e.target.result); + }; + fr.onerror = reject2; + fr.readAsDataURL(blob); + }); +} +__name(blobToBase64, "blobToBase64"); +function useBattery(options3 = {}) { + const { navigator: navigator2 = defaultNavigator } = options3; + const events2 = ["chargingchange", "chargingtimechange", "dischargingtimechange", "levelchange"]; + const isSupported2 = useSupported(() => navigator2 && "getBattery" in navigator2 && typeof navigator2.getBattery === "function"); + const charging = ref(false); + const chargingTime = ref(0); + const dischargingTime = ref(0); + const level = ref(1); + let battery; + function updateBatteryInfo() { + charging.value = this.charging; + chargingTime.value = this.chargingTime || 0; + dischargingTime.value = this.dischargingTime || 0; + level.value = this.level; + } + __name(updateBatteryInfo, "updateBatteryInfo"); + if (isSupported2.value) { + navigator2.getBattery().then((_battery) => { + battery = _battery; + updateBatteryInfo.call(battery); + useEventListener(battery, events2, updateBatteryInfo, { passive: true }); + }); + } + return { + isSupported: isSupported2, + charging, + chargingTime, + dischargingTime, + level + }; +} +__name(useBattery, "useBattery"); +function useBluetooth(options3) { + let { + acceptAllDevices = false + } = options3 || {}; + const { + filters = void 0, + optionalServices = void 0, + navigator: navigator2 = defaultNavigator + } = options3 || {}; + const isSupported2 = useSupported(() => navigator2 && "bluetooth" in navigator2); + const device = shallowRef(void 0); + const error = shallowRef(null); + watch(device, () => { + connectToBluetoothGATTServer(); + }); + async function requestDevice() { + if (!isSupported2.value) + return; + error.value = null; + if (filters && filters.length > 0) + acceptAllDevices = false; + try { + device.value = await (navigator2 == null ? void 0 : navigator2.bluetooth.requestDevice({ + acceptAllDevices, + filters, + optionalServices + })); + } catch (err) { + error.value = err; + } + } + __name(requestDevice, "requestDevice"); + const server = ref(); + const isConnected = computed(() => { + var _a; + return ((_a = server.value) == null ? void 0 : _a.connected) || false; + }); + async function connectToBluetoothGATTServer() { + error.value = null; + if (device.value && device.value.gatt) { + device.value.addEventListener("gattserverdisconnected", () => { + }); + try { + server.value = await device.value.gatt.connect(); + } catch (err) { + error.value = err; + } + } + } + __name(connectToBluetoothGATTServer, "connectToBluetoothGATTServer"); + tryOnMounted(() => { + var _a; + if (device.value) + (_a = device.value.gatt) == null ? void 0 : _a.connect(); + }); + tryOnScopeDispose(() => { + var _a; + if (device.value) + (_a = device.value.gatt) == null ? void 0 : _a.disconnect(); + }); + return { + isSupported: isSupported2, + isConnected, + // Device: + device, + requestDevice, + // Server: + server, + // Errors: + error + }; +} +__name(useBluetooth, "useBluetooth"); +function useMediaQuery(query, options3 = {}) { + const { window: window2 = defaultWindow } = options3; + const isSupported2 = useSupported(() => window2 && "matchMedia" in window2 && typeof window2.matchMedia === "function"); + let mediaQuery; + const matches2 = ref(false); + const handler6 = /* @__PURE__ */ __name((event2) => { + matches2.value = event2.matches; + }, "handler"); + const cleanup = /* @__PURE__ */ __name(() => { + if (!mediaQuery) + return; + if ("removeEventListener" in mediaQuery) + mediaQuery.removeEventListener("change", handler6); + else + mediaQuery.removeListener(handler6); + }, "cleanup"); + const stopWatch = watchEffect(() => { + if (!isSupported2.value) + return; + cleanup(); + mediaQuery = window2.matchMedia(toValue(query)); + if ("addEventListener" in mediaQuery) + mediaQuery.addEventListener("change", handler6); + else + mediaQuery.addListener(handler6); + matches2.value = mediaQuery.matches; + }); + tryOnScopeDispose(() => { + stopWatch(); + cleanup(); + mediaQuery = void 0; + }); + return matches2; +} +__name(useMediaQuery, "useMediaQuery"); +const breakpointsTailwind = { + "sm": 640, + "md": 768, + "lg": 1024, + "xl": 1280, + "2xl": 1536 +}; +const breakpointsBootstrapV5 = { + xs: 0, + sm: 576, + md: 768, + lg: 992, + xl: 1200, + xxl: 1400 +}; +const breakpointsVuetifyV2 = { + xs: 0, + sm: 600, + md: 960, + lg: 1264, + xl: 1904 +}; +const breakpointsVuetifyV3 = { + xs: 0, + sm: 600, + md: 960, + lg: 1280, + xl: 1920, + xxl: 2560 +}; +const breakpointsVuetify = breakpointsVuetifyV2; +const breakpointsAntDesign = { + xs: 480, + sm: 576, + md: 768, + lg: 992, + xl: 1200, + xxl: 1600 +}; +const breakpointsQuasar = { + xs: 0, + sm: 600, + md: 1024, + lg: 1440, + xl: 1920 +}; +const breakpointsSematic = { + mobileS: 320, + mobileM: 375, + mobileL: 425, + tablet: 768, + laptop: 1024, + laptopL: 1440, + desktop4K: 2560 +}; +const breakpointsMasterCss = { + "3xs": 360, + "2xs": 480, + "xs": 600, + "sm": 768, + "md": 1024, + "lg": 1280, + "xl": 1440, + "2xl": 1600, + "3xl": 1920, + "4xl": 2560 +}; +const breakpointsPrimeFlex = { + sm: 576, + md: 768, + lg: 992, + xl: 1200 +}; +function useBreakpoints(breakpoints, options3 = {}) { + function getValue2(k, delta2) { + let v2 = toValue(breakpoints[toValue(k)]); + if (delta2 != null) + v2 = increaseWithUnit(v2, delta2); + if (typeof v2 === "number") + v2 = `${v2}px`; + return v2; + } + __name(getValue2, "getValue2"); + const { window: window2 = defaultWindow, strategy = "min-width" } = options3; + function match(query) { + if (!window2) + return false; + return window2.matchMedia(query).matches; + } + __name(match, "match"); + const greaterOrEqual = /* @__PURE__ */ __name((k) => { + return useMediaQuery(() => `(min-width: ${getValue2(k)})`, options3); + }, "greaterOrEqual"); + const smallerOrEqual = /* @__PURE__ */ __name((k) => { + return useMediaQuery(() => `(max-width: ${getValue2(k)})`, options3); + }, "smallerOrEqual"); + const shortcutMethods = Object.keys(breakpoints).reduce((shortcuts, k) => { + Object.defineProperty(shortcuts, k, { + get: /* @__PURE__ */ __name(() => strategy === "min-width" ? greaterOrEqual(k) : smallerOrEqual(k), "get"), + enumerable: true, + configurable: true + }); + return shortcuts; + }, {}); + function current() { + const points = Object.keys(breakpoints).map((i2) => [i2, greaterOrEqual(i2)]); + return computed(() => points.filter(([, v2]) => v2.value).map(([k]) => k)); + } + __name(current, "current"); + return Object.assign(shortcutMethods, { + greaterOrEqual, + smallerOrEqual, + greater(k) { + return useMediaQuery(() => `(min-width: ${getValue2(k, 0.1)})`, options3); + }, + smaller(k) { + return useMediaQuery(() => `(max-width: ${getValue2(k, -0.1)})`, options3); + }, + between(a, b) { + return useMediaQuery(() => `(min-width: ${getValue2(a)}) and (max-width: ${getValue2(b, -0.1)})`, options3); + }, + isGreater(k) { + return match(`(min-width: ${getValue2(k, 0.1)})`); + }, + isGreaterOrEqual(k) { + return match(`(min-width: ${getValue2(k)})`); + }, + isSmaller(k) { + return match(`(max-width: ${getValue2(k, -0.1)})`); + }, + isSmallerOrEqual(k) { + return match(`(max-width: ${getValue2(k)})`); + }, + isInBetween(a, b) { + return match(`(min-width: ${getValue2(a)}) and (max-width: ${getValue2(b, -0.1)})`); + }, + current, + active() { + const bps = current(); + return computed(() => bps.value.length === 0 ? "" : bps.value.at(-1)); + } + }); +} +__name(useBreakpoints, "useBreakpoints"); +function useBroadcastChannel(options3) { + const { + name, + window: window2 = defaultWindow + } = options3; + const isSupported2 = useSupported(() => window2 && "BroadcastChannel" in window2); + const isClosed = ref(false); + const channel = ref(); + const data21 = ref(); + const error = shallowRef(null); + const post = /* @__PURE__ */ __name((data22) => { + if (channel.value) + channel.value.postMessage(data22); + }, "post"); + const close3 = /* @__PURE__ */ __name(() => { + if (channel.value) + channel.value.close(); + isClosed.value = true; + }, "close"); + if (isSupported2.value) { + tryOnMounted(() => { + error.value = null; + channel.value = new BroadcastChannel(name); + channel.value.addEventListener("message", (e) => { + data21.value = e.data; + }, { passive: true }); + channel.value.addEventListener("messageerror", (e) => { + error.value = e; + }, { passive: true }); + channel.value.addEventListener("close", () => { + isClosed.value = true; + }); + }); + } + tryOnScopeDispose(() => { + close3(); + }); + return { + isSupported: isSupported2, + channel, + data: data21, + post, + close: close3, + error, + isClosed + }; +} +__name(useBroadcastChannel, "useBroadcastChannel"); +const WRITABLE_PROPERTIES = [ + "hash", + "host", + "hostname", + "href", + "pathname", + "port", + "protocol", + "search" +]; +function useBrowserLocation(options3 = {}) { + const { window: window2 = defaultWindow } = options3; + const refs = Object.fromEntries( + WRITABLE_PROPERTIES.map((key) => [key, ref()]) + ); + for (const [key, ref2] of objectEntries(refs)) { + watch(ref2, (value3) => { + if (!(window2 == null ? void 0 : window2.location) || window2.location[key] === value3) + return; + window2.location[key] = value3; + }); + } + const buildState2 = /* @__PURE__ */ __name((trigger2) => { + var _a; + const { state: state2, length } = (window2 == null ? void 0 : window2.history) || {}; + const { origin: origin2 } = (window2 == null ? void 0 : window2.location) || {}; + for (const key of WRITABLE_PROPERTIES) + refs[key].value = (_a = window2 == null ? void 0 : window2.location) == null ? void 0 : _a[key]; + return reactive({ + trigger: trigger2, + state: state2, + length, + origin: origin2, + ...refs + }); + }, "buildState"); + const state = ref(buildState2("load")); + if (window2) { + useEventListener(window2, "popstate", () => state.value = buildState2("popstate"), { passive: true }); + useEventListener(window2, "hashchange", () => state.value = buildState2("hashchange"), { passive: true }); + } + return state; +} +__name(useBrowserLocation, "useBrowserLocation"); +function useCached(refValue, comparator = (a, b) => a === b, watchOptions) { + const cachedValue = ref(refValue.value); + watch(() => refValue.value, (value3) => { + if (!comparator(value3, cachedValue.value)) + cachedValue.value = value3; + }, watchOptions); + return cachedValue; +} +__name(useCached, "useCached"); +function usePermission(permissionDesc, options3 = {}) { + const { + controls = false, + navigator: navigator2 = defaultNavigator + } = options3; + const isSupported2 = useSupported(() => navigator2 && "permissions" in navigator2); + const permissionStatus = shallowRef(); + const desc = typeof permissionDesc === "string" ? { name: permissionDesc } : permissionDesc; + const state = shallowRef(); + const update = /* @__PURE__ */ __name(() => { + var _a, _b; + state.value = (_b = (_a = permissionStatus.value) == null ? void 0 : _a.state) != null ? _b : "prompt"; + }, "update"); + useEventListener(permissionStatus, "change", update); + const query = createSingletonPromise(async () => { + if (!isSupported2.value) + return; + if (!permissionStatus.value) { + try { + permissionStatus.value = await navigator2.permissions.query(desc); + } catch (e) { + permissionStatus.value = void 0; + } finally { + update(); + } + } + if (controls) + return toRaw(permissionStatus.value); + }); + query(); + if (controls) { + return { + state, + isSupported: isSupported2, + query + }; + } else { + return state; + } +} +__name(usePermission, "usePermission"); +function useClipboard(options3 = {}) { + const { + navigator: navigator2 = defaultNavigator, + read = false, + source, + copiedDuring = 1500, + legacy = false + } = options3; + const isClipboardApiSupported = useSupported(() => navigator2 && "clipboard" in navigator2); + const permissionRead = usePermission("clipboard-read"); + const permissionWrite = usePermission("clipboard-write"); + const isSupported2 = computed(() => isClipboardApiSupported.value || legacy); + const text = ref(""); + const copied = ref(false); + const timeout = useTimeoutFn(() => copied.value = false, copiedDuring); + function updateText() { + if (isClipboardApiSupported.value && isAllowed(permissionRead.value)) { + navigator2.clipboard.readText().then((value3) => { + text.value = value3; + }); + } else { + text.value = legacyRead(); + } + } + __name(updateText, "updateText"); + if (isSupported2.value && read) + useEventListener(["copy", "cut"], updateText); + async function copy(value3 = toValue(source)) { + if (isSupported2.value && value3 != null) { + if (isClipboardApiSupported.value && isAllowed(permissionWrite.value)) + await navigator2.clipboard.writeText(value3); + else + legacyCopy(value3); + text.value = value3; + copied.value = true; + timeout.start(); + } + } + __name(copy, "copy"); + function legacyCopy(value3) { + const ta = document.createElement("textarea"); + ta.value = value3 != null ? value3 : ""; + ta.style.position = "absolute"; + ta.style.opacity = "0"; + document.body.appendChild(ta); + ta.select(); + document.execCommand("copy"); + ta.remove(); + } + __name(legacyCopy, "legacyCopy"); + function legacyRead() { + var _a, _b, _c; + return (_c = (_b = (_a = document == null ? void 0 : document.getSelection) == null ? void 0 : _a.call(document)) == null ? void 0 : _b.toString()) != null ? _c : ""; + } + __name(legacyRead, "legacyRead"); + function isAllowed(status) { + return status === "granted" || status === "prompt"; + } + __name(isAllowed, "isAllowed"); + return { + isSupported: isSupported2, + text, + copied, + copy + }; +} +__name(useClipboard, "useClipboard"); +function useClipboardItems(options3 = {}) { + const { + navigator: navigator2 = defaultNavigator, + read = false, + source, + copiedDuring = 1500 + } = options3; + const isSupported2 = useSupported(() => navigator2 && "clipboard" in navigator2); + const content2 = ref([]); + const copied = ref(false); + const timeout = useTimeoutFn(() => copied.value = false, copiedDuring); + function updateContent() { + if (isSupported2.value) { + navigator2.clipboard.read().then((items2) => { + content2.value = items2; + }); + } + } + __name(updateContent, "updateContent"); + if (isSupported2.value && read) + useEventListener(["copy", "cut"], updateContent); + async function copy(value3 = toValue(source)) { + if (isSupported2.value && value3 != null) { + await navigator2.clipboard.write(value3); + content2.value = value3; + copied.value = true; + timeout.start(); + } + } + __name(copy, "copy"); + return { + isSupported: isSupported2, + content: content2, + copied, + copy + }; +} +__name(useClipboardItems, "useClipboardItems"); +function cloneFnJSON(source) { + return JSON.parse(JSON.stringify(source)); +} +__name(cloneFnJSON, "cloneFnJSON"); +function useCloned(source, options3 = {}) { + const cloned = ref({}); + const { + manual, + clone: clone2 = cloneFnJSON, + // watch options + deep = true, + immediate = true + } = options3; + function sync() { + cloned.value = clone2(toValue(source)); + } + __name(sync, "sync"); + if (!manual && (isRef(source) || typeof source === "function")) { + watch(source, sync, { + ...options3, + deep, + immediate + }); + } else { + sync(); + } + return { cloned, sync }; +} +__name(useCloned, "useCloned"); +const _global = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {}; +const globalKey = "__vueuse_ssr_handlers__"; +const handlers = /* @__PURE__ */ getHandlers(); +function getHandlers() { + if (!(globalKey in _global)) + _global[globalKey] = _global[globalKey] || {}; + return _global[globalKey]; +} +__name(getHandlers, "getHandlers"); +function getSSRHandler(key, fallback) { + return handlers[key] || fallback; +} +__name(getSSRHandler, "getSSRHandler"); +function setSSRHandler(key, fn) { + handlers[key] = fn; +} +__name(setSSRHandler, "setSSRHandler"); +function usePreferredDark(options3) { + return useMediaQuery("(prefers-color-scheme: dark)", options3); +} +__name(usePreferredDark, "usePreferredDark"); +function guessSerializerType(rawInit) { + return rawInit == null ? "any" : rawInit instanceof Set ? "set" : rawInit instanceof Map ? "map" : rawInit instanceof Date ? "date" : typeof rawInit === "boolean" ? "boolean" : typeof rawInit === "string" ? "string" : typeof rawInit === "object" ? "object" : !Number.isNaN(rawInit) ? "number" : "any"; +} +__name(guessSerializerType, "guessSerializerType"); +const StorageSerializers = { + boolean: { + read: /* @__PURE__ */ __name((v2) => v2 === "true", "read"), + write: /* @__PURE__ */ __name((v2) => String(v2), "write") + }, + object: { + read: /* @__PURE__ */ __name((v2) => JSON.parse(v2), "read"), + write: /* @__PURE__ */ __name((v2) => JSON.stringify(v2), "write") + }, + number: { + read: /* @__PURE__ */ __name((v2) => Number.parseFloat(v2), "read"), + write: /* @__PURE__ */ __name((v2) => String(v2), "write") + }, + any: { + read: /* @__PURE__ */ __name((v2) => v2, "read"), + write: /* @__PURE__ */ __name((v2) => String(v2), "write") + }, + string: { + read: /* @__PURE__ */ __name((v2) => v2, "read"), + write: /* @__PURE__ */ __name((v2) => String(v2), "write") + }, + map: { + read: /* @__PURE__ */ __name((v2) => new Map(JSON.parse(v2)), "read"), + write: /* @__PURE__ */ __name((v2) => JSON.stringify(Array.from(v2.entries())), "write") + }, + set: { + read: /* @__PURE__ */ __name((v2) => new Set(JSON.parse(v2)), "read"), + write: /* @__PURE__ */ __name((v2) => JSON.stringify(Array.from(v2)), "write") + }, + date: { + read: /* @__PURE__ */ __name((v2) => new Date(v2), "read"), + write: /* @__PURE__ */ __name((v2) => v2.toISOString(), "write") + } +}; +const customStorageEventName = "vueuse-storage"; +function useStorage(key, defaults2, storage, options3 = {}) { + var _a; + const { + flush = "pre", + deep = true, + listenToStorageChanges = true, + writeDefaults = true, + mergeDefaults: mergeDefaults2 = false, + shallow, + window: window2 = defaultWindow, + eventFilter, + onError = /* @__PURE__ */ __name((e) => { + console.error(e); + }, "onError"), + initOnMounted + } = options3; + const data21 = (shallow ? shallowRef : ref)(typeof defaults2 === "function" ? defaults2() : defaults2); + if (!storage) { + try { + storage = getSSRHandler("getDefaultStorage", () => { + var _a2; + return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage; + })(); + } catch (e) { + onError(e); + } + } + if (!storage) + return data21; + const rawInit = toValue(defaults2); + const type = guessSerializerType(rawInit); + const serializer = (_a = options3.serializer) != null ? _a : StorageSerializers[type]; + const { pause: pauseWatch, resume: resumeWatch } = watchPausable( + data21, + () => write(data21.value), + { flush, deep, eventFilter } + ); + if (window2 && listenToStorageChanges) { + tryOnMounted(() => { + if (storage instanceof Storage) + useEventListener(window2, "storage", update); + else + useEventListener(window2, customStorageEventName, updateFromCustomEvent); + if (initOnMounted) + update(); + }); + } + if (!initOnMounted) + update(); + function dispatchWriteEvent(oldValue, newValue) { + if (window2) { + const payload = { + key, + oldValue, + newValue, + storageArea: storage + }; + window2.dispatchEvent(storage instanceof Storage ? new StorageEvent("storage", payload) : new CustomEvent(customStorageEventName, { + detail: payload + })); + } + } + __name(dispatchWriteEvent, "dispatchWriteEvent"); + function write(v2) { + try { + const oldValue = storage.getItem(key); + if (v2 == null) { + dispatchWriteEvent(oldValue, null); + storage.removeItem(key); + } else { + const serialized = serializer.write(v2); + if (oldValue !== serialized) { + storage.setItem(key, serialized); + dispatchWriteEvent(oldValue, serialized); + } + } + } catch (e) { + onError(e); + } + } + __name(write, "write"); + function read(event2) { + const rawValue = event2 ? event2.newValue : storage.getItem(key); + if (rawValue == null) { + if (writeDefaults && rawInit != null) + storage.setItem(key, serializer.write(rawInit)); + return rawInit; + } else if (!event2 && mergeDefaults2) { + const value3 = serializer.read(rawValue); + if (typeof mergeDefaults2 === "function") + return mergeDefaults2(value3, rawInit); + else if (type === "object" && !Array.isArray(value3)) + return { ...rawInit, ...value3 }; + return value3; + } else if (typeof rawValue !== "string") { + return rawValue; + } else { + return serializer.read(rawValue); + } + } + __name(read, "read"); + function update(event2) { + if (event2 && event2.storageArea !== storage) + return; + if (event2 && event2.key == null) { + data21.value = rawInit; + return; + } + if (event2 && event2.key !== key) + return; + pauseWatch(); + try { + if ((event2 == null ? void 0 : event2.newValue) !== serializer.write(data21.value)) + data21.value = read(event2); + } catch (e) { + onError(e); + } finally { + if (event2) + nextTick(resumeWatch); + else + resumeWatch(); + } + } + __name(update, "update"); + function updateFromCustomEvent(event2) { + update(event2.detail); + } + __name(updateFromCustomEvent, "updateFromCustomEvent"); + return data21; +} +__name(useStorage, "useStorage"); +const CSS_DISABLE_TRANS = "*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}"; +function useColorMode(options3 = {}) { + const { + selector = "html", + attribute = "class", + initialValue = "auto", + window: window2 = defaultWindow, + storage, + storageKey = "vueuse-color-scheme", + listenToStorageChanges = true, + storageRef, + emitAuto, + disableTransition = true + } = options3; + const modes = { + auto: "", + light: "light", + dark: "dark", + ...options3.modes || {} + }; + const preferredDark = usePreferredDark({ window: window2 }); + const system = computed(() => preferredDark.value ? "dark" : "light"); + const store = storageRef || (storageKey == null ? toRef(initialValue) : useStorage(storageKey, initialValue, storage, { window: window2, listenToStorageChanges })); + const state = computed(() => store.value === "auto" ? system.value : store.value); + const updateHTMLAttrs = getSSRHandler( + "updateHTMLAttrs", + (selector2, attribute2, value3) => { + const el = typeof selector2 === "string" ? window2 == null ? void 0 : window2.document.querySelector(selector2) : unrefElement(selector2); + if (!el) + return; + const classesToAdd = /* @__PURE__ */ new Set(); + const classesToRemove = /* @__PURE__ */ new Set(); + let attributeToChange = null; + if (attribute2 === "class") { + const current = value3.split(/\s/g); + Object.values(modes).flatMap((i2) => (i2 || "").split(/\s/g)).filter(Boolean).forEach((v2) => { + if (current.includes(v2)) + classesToAdd.add(v2); + else + classesToRemove.add(v2); + }); + } else { + attributeToChange = { key: attribute2, value: value3 }; + } + if (classesToAdd.size === 0 && classesToRemove.size === 0 && attributeToChange === null) + return; + let style; + if (disableTransition) { + style = window2.document.createElement("style"); + style.appendChild(document.createTextNode(CSS_DISABLE_TRANS)); + window2.document.head.appendChild(style); + } + for (const c of classesToAdd) { + el.classList.add(c); + } + for (const c of classesToRemove) { + el.classList.remove(c); + } + if (attributeToChange) { + el.setAttribute(attributeToChange.key, attributeToChange.value); + } + if (disableTransition) { + window2.getComputedStyle(style).opacity; + document.head.removeChild(style); + } + } + ); + function defaultOnChanged(mode2) { + var _a; + updateHTMLAttrs(selector, attribute, (_a = modes[mode2]) != null ? _a : mode2); + } + __name(defaultOnChanged, "defaultOnChanged"); + function onChanged(mode2) { + if (options3.onChanged) + options3.onChanged(mode2, defaultOnChanged); + else + defaultOnChanged(mode2); + } + __name(onChanged, "onChanged"); + watch(state, onChanged, { flush: "post", immediate: true }); + tryOnMounted(() => onChanged(state.value)); + const auto = computed({ + get() { + return emitAuto ? store.value : state.value; + }, + set(v2) { + store.value = v2; + } + }); + try { + return Object.assign(auto, { store, system, state }); + } catch (e) { + return auto; + } +} +__name(useColorMode, "useColorMode"); +function useConfirmDialog(revealed = ref(false)) { + const confirmHook = createEventHook(); + const cancelHook = createEventHook(); + const revealHook = createEventHook(); + let _resolve = noop$1; + const reveal = /* @__PURE__ */ __name((data21) => { + revealHook.trigger(data21); + revealed.value = true; + return new Promise((resolve2) => { + _resolve = resolve2; + }); + }, "reveal"); + const confirm2 = /* @__PURE__ */ __name((data21) => { + revealed.value = false; + confirmHook.trigger(data21); + _resolve({ data: data21, isCanceled: false }); + }, "confirm"); + const cancel = /* @__PURE__ */ __name((data21) => { + revealed.value = false; + cancelHook.trigger(data21); + _resolve({ data: data21, isCanceled: true }); + }, "cancel"); + return { + isRevealed: computed(() => revealed.value), + reveal, + confirm: confirm2, + cancel, + onReveal: revealHook.on, + onConfirm: confirmHook.on, + onCancel: cancelHook.on + }; +} +__name(useConfirmDialog, "useConfirmDialog"); +function useCssVar(prop2, target, options3 = {}) { + const { window: window2 = defaultWindow, initialValue, observe = false } = options3; + const variable = ref(initialValue); + const elRef = computed(() => { + var _a; + return unrefElement(target) || ((_a = window2 == null ? void 0 : window2.document) == null ? void 0 : _a.documentElement); + }); + function updateCssVar() { + var _a; + const key = toValue(prop2); + const el = toValue(elRef); + if (el && window2 && key) { + const value3 = (_a = window2.getComputedStyle(el).getPropertyValue(key)) == null ? void 0 : _a.trim(); + variable.value = value3 || initialValue; + } + } + __name(updateCssVar, "updateCssVar"); + if (observe) { + useMutationObserver(elRef, updateCssVar, { + attributeFilter: ["style", "class"], + window: window2 + }); + } + watch( + [elRef, () => toValue(prop2)], + (_2, old) => { + if (old[0] && old[1]) + old[0].style.removeProperty(old[1]); + updateCssVar(); + }, + { immediate: true } + ); + watch( + variable, + (val) => { + var _a; + const raw_prop = toValue(prop2); + if (((_a = elRef.value) == null ? void 0 : _a.style) && raw_prop) { + if (val == null) + elRef.value.style.removeProperty(raw_prop); + else + elRef.value.style.setProperty(raw_prop, val); + } + } + ); + return variable; +} +__name(useCssVar, "useCssVar"); +function useCurrentElement(rootComponent) { + const vm = getCurrentInstance(); + const currentElement = computedWithControl( + () => null, + () => rootComponent ? unrefElement(rootComponent) : vm.proxy.$el + ); + onUpdated(currentElement.trigger); + onMounted(currentElement.trigger); + return currentElement; +} +__name(useCurrentElement, "useCurrentElement"); +function useCycleList(list, options3) { + const state = shallowRef(getInitialValue()); + const listRef4 = toRef(list); + const index2 = computed({ + get() { + var _a; + const targetList = listRef4.value; + let index22 = (options3 == null ? void 0 : options3.getIndexOf) ? options3.getIndexOf(state.value, targetList) : targetList.indexOf(state.value); + if (index22 < 0) + index22 = (_a = options3 == null ? void 0 : options3.fallbackIndex) != null ? _a : 0; + return index22; + }, + set(v2) { + set2(v2); + } + }); + function set2(i2) { + const targetList = listRef4.value; + const length = targetList.length; + const index22 = (i2 % length + length) % length; + const value3 = targetList[index22]; + state.value = value3; + return value3; + } + __name(set2, "set2"); + function shift(delta2 = 1) { + return set2(index2.value + delta2); + } + __name(shift, "shift"); + function next2(n = 1) { + return shift(n); + } + __name(next2, "next"); + function prev2(n = 1) { + return shift(-n); + } + __name(prev2, "prev"); + function getInitialValue() { + var _a, _b; + return (_b = toValue((_a = options3 == null ? void 0 : options3.initialValue) != null ? _a : toValue(list)[0])) != null ? _b : void 0; + } + __name(getInitialValue, "getInitialValue"); + watch(listRef4, () => set2(index2.value)); + return { + state, + index: index2, + next: next2, + prev: prev2, + go: set2 + }; +} +__name(useCycleList, "useCycleList"); +function useDark(options3 = {}) { + const { + valueDark = "dark", + valueLight = "", + window: window2 = defaultWindow + } = options3; + const mode2 = useColorMode({ + ...options3, + onChanged: /* @__PURE__ */ __name((mode22, defaultHandler) => { + var _a; + if (options3.onChanged) + (_a = options3.onChanged) == null ? void 0 : _a.call(options3, mode22 === "dark", defaultHandler, mode22); + else + defaultHandler(mode22); + }, "onChanged"), + modes: { + dark: valueDark, + light: valueLight + } + }); + const system = computed(() => { + if (mode2.system) { + return mode2.system.value; + } else { + const preferredDark = usePreferredDark({ window: window2 }); + return preferredDark.value ? "dark" : "light"; + } + }); + const isDark = computed({ + get() { + return mode2.value === "dark"; + }, + set(v2) { + const modeVal = v2 ? "dark" : "light"; + if (system.value === modeVal) + mode2.value = "auto"; + else + mode2.value = modeVal; + } + }); + return isDark; +} +__name(useDark, "useDark"); +function fnBypass(v2) { + return v2; +} +__name(fnBypass, "fnBypass"); +function fnSetSource(source, value3) { + return source.value = value3; +} +__name(fnSetSource, "fnSetSource"); +function defaultDump(clone2) { + return clone2 ? typeof clone2 === "function" ? clone2 : cloneFnJSON : fnBypass; +} +__name(defaultDump, "defaultDump"); +function defaultParse(clone2) { + return clone2 ? typeof clone2 === "function" ? clone2 : cloneFnJSON : fnBypass; +} +__name(defaultParse, "defaultParse"); +function useManualRefHistory(source, options3 = {}) { + const { + clone: clone2 = false, + dump = defaultDump(clone2), + parse: parse2 = defaultParse(clone2), + setSource = fnSetSource + } = options3; + function _createHistoryRecord() { + return markRaw({ + snapshot: dump(source.value), + timestamp: timestamp() + }); + } + __name(_createHistoryRecord, "_createHistoryRecord"); + const last = ref(_createHistoryRecord()); + const undoStack = ref([]); + const redoStack = ref([]); + const _setSource = /* @__PURE__ */ __name((record) => { + setSource(source, parse2(record.snapshot)); + last.value = record; + }, "_setSource"); + const commit = /* @__PURE__ */ __name(() => { + undoStack.value.unshift(last.value); + last.value = _createHistoryRecord(); + if (options3.capacity && undoStack.value.length > options3.capacity) + undoStack.value.splice(options3.capacity, Number.POSITIVE_INFINITY); + if (redoStack.value.length) + redoStack.value.splice(0, redoStack.value.length); + }, "commit"); + const clear2 = /* @__PURE__ */ __name(() => { + undoStack.value.splice(0, undoStack.value.length); + redoStack.value.splice(0, redoStack.value.length); + }, "clear"); + const undo = /* @__PURE__ */ __name(() => { + const state = undoStack.value.shift(); + if (state) { + redoStack.value.unshift(last.value); + _setSource(state); + } + }, "undo"); + const redo = /* @__PURE__ */ __name(() => { + const state = redoStack.value.shift(); + if (state) { + undoStack.value.unshift(last.value); + _setSource(state); + } + }, "redo"); + const reset = /* @__PURE__ */ __name(() => { + _setSource(last.value); + }, "reset"); + const history2 = computed(() => [last.value, ...undoStack.value]); + const canUndo = computed(() => undoStack.value.length > 0); + const canRedo = computed(() => redoStack.value.length > 0); + return { + source, + undoStack, + redoStack, + last, + history: history2, + canUndo, + canRedo, + clear: clear2, + commit, + reset, + undo, + redo + }; +} +__name(useManualRefHistory, "useManualRefHistory"); +function useRefHistory(source, options3 = {}) { + const { + deep = false, + flush = "pre", + eventFilter + } = options3; + const { + eventFilter: composedFilter, + pause, + resume: resumeTracking, + isActive: isTracking + } = pausableFilter(eventFilter); + const { + ignoreUpdates, + ignorePrevAsyncUpdates, + stop: stop2 + } = watchIgnorable( + source, + commit, + { deep, flush, eventFilter: composedFilter } + ); + function setSource(source2, value3) { + ignorePrevAsyncUpdates(); + ignoreUpdates(() => { + source2.value = value3; + }); + } + __name(setSource, "setSource"); + const manualHistory = useManualRefHistory(source, { ...options3, clone: options3.clone || deep, setSource }); + const { clear: clear2, commit: manualCommit } = manualHistory; + function commit() { + ignorePrevAsyncUpdates(); + manualCommit(); + } + __name(commit, "commit"); + function resume(commitNow) { + resumeTracking(); + if (commitNow) + commit(); + } + __name(resume, "resume"); + function batch2(fn) { + let canceled = false; + const cancel = /* @__PURE__ */ __name(() => canceled = true, "cancel"); + ignoreUpdates(() => { + fn(cancel); + }); + if (!canceled) + commit(); + } + __name(batch2, "batch"); + function dispose() { + stop2(); + clear2(); + } + __name(dispose, "dispose"); + return { + ...manualHistory, + isTracking, + pause, + resume, + commit, + batch: batch2, + dispose + }; +} +__name(useRefHistory, "useRefHistory"); +function useDebouncedRefHistory(source, options3 = {}) { + const filter4 = options3.debounce ? debounceFilter(options3.debounce) : void 0; + const history2 = useRefHistory(source, { ...options3, eventFilter: filter4 }); + return { + ...history2 + }; +} +__name(useDebouncedRefHistory, "useDebouncedRefHistory"); +function useDeviceMotion(options3 = {}) { + const { + window: window2 = defaultWindow, + eventFilter = bypassFilter + } = options3; + const acceleration = ref({ x: null, y: null, z: null }); + const rotationRate = ref({ alpha: null, beta: null, gamma: null }); + const interval = ref(0); + const accelerationIncludingGravity = ref({ + x: null, + y: null, + z: null + }); + if (window2) { + const onDeviceMotion = createFilterWrapper( + eventFilter, + (event2) => { + acceleration.value = event2.acceleration; + accelerationIncludingGravity.value = event2.accelerationIncludingGravity; + rotationRate.value = event2.rotationRate; + interval.value = event2.interval; + } + ); + useEventListener(window2, "devicemotion", onDeviceMotion); + } + return { + acceleration, + accelerationIncludingGravity, + rotationRate, + interval + }; +} +__name(useDeviceMotion, "useDeviceMotion"); +function useDeviceOrientation(options3 = {}) { + const { window: window2 = defaultWindow } = options3; + const isSupported2 = useSupported(() => window2 && "DeviceOrientationEvent" in window2); + const isAbsolute = ref(false); + const alpha = ref(null); + const beta = ref(null); + const gamma = ref(null); + if (window2 && isSupported2.value) { + useEventListener(window2, "deviceorientation", (event2) => { + isAbsolute.value = event2.absolute; + alpha.value = event2.alpha; + beta.value = event2.beta; + gamma.value = event2.gamma; + }); + } + return { + isSupported: isSupported2, + isAbsolute, + alpha, + beta, + gamma + }; +} +__name(useDeviceOrientation, "useDeviceOrientation"); +function useDevicePixelRatio(options3 = {}) { + const { + window: window2 = defaultWindow + } = options3; + const pixelRatio = ref(1); + if (window2) { + let observe2 = /* @__PURE__ */ __name(function() { + pixelRatio.value = window2.devicePixelRatio; + cleanup2(); + media = window2.matchMedia(`(resolution: ${pixelRatio.value}dppx)`); + media.addEventListener("change", observe2, { once: true }); + }, "observe2"), cleanup2 = /* @__PURE__ */ __name(function() { + media == null ? void 0 : media.removeEventListener("change", observe2); + }, "cleanup2"); + let media; + observe2(); + tryOnScopeDispose(cleanup2); + } + return { pixelRatio }; +} +__name(useDevicePixelRatio, "useDevicePixelRatio"); +function useDevicesList(options3 = {}) { + const { + navigator: navigator2 = defaultNavigator, + requestPermissions = false, + constraints = { audio: true, video: true }, + onUpdated: onUpdated2 + } = options3; + const devices = ref([]); + const videoInputs = computed(() => devices.value.filter((i2) => i2.kind === "videoinput")); + const audioInputs = computed(() => devices.value.filter((i2) => i2.kind === "audioinput")); + const audioOutputs = computed(() => devices.value.filter((i2) => i2.kind === "audiooutput")); + const isSupported2 = useSupported(() => navigator2 && navigator2.mediaDevices && navigator2.mediaDevices.enumerateDevices); + const permissionGranted = ref(false); + let stream; + async function update() { + if (!isSupported2.value) + return; + devices.value = await navigator2.mediaDevices.enumerateDevices(); + onUpdated2 == null ? void 0 : onUpdated2(devices.value); + if (stream) { + stream.getTracks().forEach((t) => t.stop()); + stream = null; + } + } + __name(update, "update"); + async function ensurePermissions() { + if (!isSupported2.value) + return false; + if (permissionGranted.value) + return true; + const { state, query } = usePermission("camera", { controls: true }); + await query(); + if (state.value !== "granted") { + stream = await navigator2.mediaDevices.getUserMedia(constraints); + update(); + permissionGranted.value = true; + } else { + permissionGranted.value = true; + } + return permissionGranted.value; + } + __name(ensurePermissions, "ensurePermissions"); + if (isSupported2.value) { + if (requestPermissions) + ensurePermissions(); + useEventListener(navigator2.mediaDevices, "devicechange", update); + update(); + } + return { + devices, + ensurePermissions, + permissionGranted, + videoInputs, + audioInputs, + audioOutputs, + isSupported: isSupported2 + }; +} +__name(useDevicesList, "useDevicesList"); +function useDisplayMedia(options3 = {}) { + var _a; + const enabled = ref((_a = options3.enabled) != null ? _a : false); + const video = options3.video; + const audio = options3.audio; + const { navigator: navigator2 = defaultNavigator } = options3; + const isSupported2 = useSupported(() => { + var _a2; + return (_a2 = navigator2 == null ? void 0 : navigator2.mediaDevices) == null ? void 0 : _a2.getDisplayMedia; + }); + const constraint = { audio, video }; + const stream = shallowRef(); + async function _start() { + var _a2; + if (!isSupported2.value || stream.value) + return; + stream.value = await navigator2.mediaDevices.getDisplayMedia(constraint); + (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.addEventListener("ended", stop2)); + return stream.value; + } + __name(_start, "_start"); + async function _stop() { + var _a2; + (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.stop()); + stream.value = void 0; + } + __name(_stop, "_stop"); + function stop2() { + _stop(); + enabled.value = false; + } + __name(stop2, "stop"); + async function start2() { + await _start(); + if (stream.value) + enabled.value = true; + return stream.value; + } + __name(start2, "start"); + watch( + enabled, + (v2) => { + if (v2) + _start(); + else + _stop(); + }, + { immediate: true } + ); + return { + isSupported: isSupported2, + stream, + start: start2, + stop: stop2, + enabled + }; +} +__name(useDisplayMedia, "useDisplayMedia"); +function useDocumentVisibility(options3 = {}) { + const { document: document2 = defaultDocument } = options3; + if (!document2) + return ref("visible"); + const visibility = ref(document2.visibilityState); + useEventListener(document2, "visibilitychange", () => { + visibility.value = document2.visibilityState; + }); + return visibility; +} +__name(useDocumentVisibility, "useDocumentVisibility"); +function useDraggable(target, options3 = {}) { + var _a, _b; + const { + pointerTypes, + preventDefault: preventDefault2, + stopPropagation, + exact, + onMove, + onEnd, + onStart, + initialValue, + axis = "both", + draggingElement = defaultWindow, + containerElement, + handle: draggingHandle = target, + buttons = [0] + } = options3; + const position2 = ref( + (_a = toValue(initialValue)) != null ? _a : { x: 0, y: 0 } + ); + const pressedDelta = ref(); + const filterEvent = /* @__PURE__ */ __name((e) => { + if (pointerTypes) + return pointerTypes.includes(e.pointerType); + return true; + }, "filterEvent"); + const handleEvent = /* @__PURE__ */ __name((e) => { + if (toValue(preventDefault2)) + e.preventDefault(); + if (toValue(stopPropagation)) + e.stopPropagation(); + }, "handleEvent"); + const start2 = /* @__PURE__ */ __name((e) => { + var _a2; + if (!toValue(buttons).includes(e.button)) + return; + if (toValue(options3.disabled) || !filterEvent(e)) + return; + if (toValue(exact) && e.target !== toValue(target)) + return; + const container = toValue(containerElement); + const containerRect = (_a2 = container == null ? void 0 : container.getBoundingClientRect) == null ? void 0 : _a2.call(container); + const targetRect = toValue(target).getBoundingClientRect(); + const pos2 = { + x: e.clientX - (container ? targetRect.left - containerRect.left + container.scrollLeft : targetRect.left), + y: e.clientY - (container ? targetRect.top - containerRect.top + container.scrollTop : targetRect.top) + }; + if ((onStart == null ? void 0 : onStart(pos2, e)) === false) + return; + pressedDelta.value = pos2; + handleEvent(e); + }, "start"); + const move = /* @__PURE__ */ __name((e) => { + if (toValue(options3.disabled) || !filterEvent(e)) + return; + if (!pressedDelta.value) + return; + const container = toValue(containerElement); + const targetRect = toValue(target).getBoundingClientRect(); + let { x: x2, y: y2 } = position2.value; + if (axis === "x" || axis === "both") { + x2 = e.clientX - pressedDelta.value.x; + if (container) + x2 = Math.min(Math.max(0, x2), container.scrollWidth - targetRect.width); + } + if (axis === "y" || axis === "both") { + y2 = e.clientY - pressedDelta.value.y; + if (container) + y2 = Math.min(Math.max(0, y2), container.scrollHeight - targetRect.height); + } + position2.value = { + x: x2, + y: y2 + }; + onMove == null ? void 0 : onMove(position2.value, e); + handleEvent(e); + }, "move"); + const end = /* @__PURE__ */ __name((e) => { + if (toValue(options3.disabled) || !filterEvent(e)) + return; + if (!pressedDelta.value) + return; + pressedDelta.value = void 0; + onEnd == null ? void 0 : onEnd(position2.value, e); + handleEvent(e); + }, "end"); + if (isClient) { + const config2 = { capture: (_b = options3.capture) != null ? _b : true }; + useEventListener(draggingHandle, "pointerdown", start2, config2); + useEventListener(draggingElement, "pointermove", move, config2); + useEventListener(draggingElement, "pointerup", end, config2); + } + return { + ...toRefs(position2), + position: position2, + isDragging: computed(() => !!pressedDelta.value), + style: computed( + () => `left:${position2.value.x}px;top:${position2.value.y}px;` + ) + }; +} +__name(useDraggable, "useDraggable"); +function useDropZone(target, options3 = {}) { + var _a, _b; + const isOverDropZone = ref(false); + const files = shallowRef(null); + let counter = 0; + let isValid2 = true; + if (isClient) { + const _options = typeof options3 === "function" ? { onDrop: options3 } : options3; + const multiple = (_a = _options.multiple) != null ? _a : true; + const preventDefaultForUnhandled = (_b = _options.preventDefaultForUnhandled) != null ? _b : false; + const getFiles = /* @__PURE__ */ __name((event2) => { + var _a2, _b2; + const list = Array.from((_b2 = (_a2 = event2.dataTransfer) == null ? void 0 : _a2.files) != null ? _b2 : []); + return list.length === 0 ? null : multiple ? list : [list[0]]; + }, "getFiles"); + const checkDataTypes = /* @__PURE__ */ __name((types) => { + if (_options.dataTypes) { + const dataTypes = unref(_options.dataTypes); + return typeof dataTypes === "function" ? dataTypes(types) : dataTypes ? dataTypes.some((item2) => types.includes(item2)) : true; + } + return true; + }, "checkDataTypes"); + const checkValidity = /* @__PURE__ */ __name((event2) => { + var _a2, _b2; + const items2 = Array.from((_b2 = (_a2 = event2.dataTransfer) == null ? void 0 : _a2.items) != null ? _b2 : []); + const types = items2.filter((item2) => item2.kind === "file").map((item2) => item2.type); + const dataTypesValid = checkDataTypes(types); + const multipleFilesValid = multiple || items2.filter((item2) => item2.kind === "file").length <= 1; + return dataTypesValid && multipleFilesValid; + }, "checkValidity"); + const handleDragEvent = /* @__PURE__ */ __name((event2, eventType) => { + var _a2, _b2, _c, _d; + isValid2 = checkValidity(event2); + if (!isValid2) { + if (preventDefaultForUnhandled) { + event2.preventDefault(); + } + if (event2.dataTransfer) { + event2.dataTransfer.dropEffect = "none"; + } + return; + } + event2.preventDefault(); + if (event2.dataTransfer) { + event2.dataTransfer.dropEffect = "copy"; + } + const currentFiles = getFiles(event2); + switch (eventType) { + case "enter": + counter += 1; + isOverDropZone.value = true; + (_a2 = _options.onEnter) == null ? void 0 : _a2.call(_options, null, event2); + break; + case "over": + (_b2 = _options.onOver) == null ? void 0 : _b2.call(_options, null, event2); + break; + case "leave": + counter -= 1; + if (counter === 0) + isOverDropZone.value = false; + (_c = _options.onLeave) == null ? void 0 : _c.call(_options, null, event2); + break; + case "drop": + counter = 0; + isOverDropZone.value = false; + if (isValid2) { + files.value = currentFiles; + (_d = _options.onDrop) == null ? void 0 : _d.call(_options, currentFiles, event2); + } + break; + } + }, "handleDragEvent"); + useEventListener(target, "dragenter", (event2) => handleDragEvent(event2, "enter")); + useEventListener(target, "dragover", (event2) => handleDragEvent(event2, "over")); + useEventListener(target, "dragleave", (event2) => handleDragEvent(event2, "leave")); + useEventListener(target, "drop", (event2) => handleDragEvent(event2, "drop")); + } + return { + files, + isOverDropZone + }; +} +__name(useDropZone, "useDropZone"); +function useResizeObserver(target, callback, options3 = {}) { + const { window: window2 = defaultWindow, ...observerOptions } = options3; + let observer; + const isSupported2 = useSupported(() => window2 && "ResizeObserver" in window2); + const cleanup = /* @__PURE__ */ __name(() => { + if (observer) { + observer.disconnect(); + observer = void 0; + } + }, "cleanup"); + const targets = computed(() => { + const _targets = toValue(target); + return Array.isArray(_targets) ? _targets.map((el) => unrefElement(el)) : [unrefElement(_targets)]; + }); + const stopWatch = watch( + targets, + (els2) => { + cleanup(); + if (isSupported2.value && window2) { + observer = new ResizeObserver(callback); + for (const _el of els2) { + if (_el) + observer.observe(_el, observerOptions); + } + } + }, + { immediate: true, flush: "post" } + ); + const stop2 = /* @__PURE__ */ __name(() => { + cleanup(); + stopWatch(); + }, "stop"); + tryOnScopeDispose(stop2); + return { + isSupported: isSupported2, + stop: stop2 + }; +} +__name(useResizeObserver, "useResizeObserver"); +function useElementBounding(target, options3 = {}) { + const { + reset = true, + windowResize = true, + windowScroll = true, + immediate = true, + updateTiming = "sync" + } = options3; + const height = ref(0); + const bottom = ref(0); + const left = ref(0); + const right = ref(0); + const top = ref(0); + const width2 = ref(0); + const x2 = ref(0); + const y2 = ref(0); + function recalculate() { + const el = unrefElement(target); + if (!el) { + if (reset) { + height.value = 0; + bottom.value = 0; + left.value = 0; + right.value = 0; + top.value = 0; + width2.value = 0; + x2.value = 0; + y2.value = 0; + } + return; + } + const rect = el.getBoundingClientRect(); + height.value = rect.height; + bottom.value = rect.bottom; + left.value = rect.left; + right.value = rect.right; + top.value = rect.top; + width2.value = rect.width; + x2.value = rect.x; + y2.value = rect.y; + } + __name(recalculate, "recalculate"); + function update() { + if (updateTiming === "sync") + recalculate(); + else if (updateTiming === "next-frame") + requestAnimationFrame(() => recalculate()); + } + __name(update, "update"); + useResizeObserver(target, update); + watch(() => unrefElement(target), (ele) => !ele && update()); + useMutationObserver(target, update, { + attributeFilter: ["style", "class"] + }); + if (windowScroll) + useEventListener("scroll", update, { capture: true, passive: true }); + if (windowResize) + useEventListener("resize", update, { passive: true }); + tryOnMounted(() => { + if (immediate) + update(); + }); + return { + height, + bottom, + left, + right, + top, + width: width2, + x: x2, + y: y2, + update + }; +} +__name(useElementBounding, "useElementBounding"); +function useElementByPoint(options3) { + const { + x: x2, + y: y2, + document: document2 = defaultDocument, + multiple, + interval = "requestAnimationFrame", + immediate = true + } = options3; + const isSupported2 = useSupported(() => { + if (toValue(multiple)) + return document2 && "elementsFromPoint" in document2; + return document2 && "elementFromPoint" in document2; + }); + const element = ref(null); + const cb = /* @__PURE__ */ __name(() => { + var _a, _b; + element.value = toValue(multiple) ? (_a = document2 == null ? void 0 : document2.elementsFromPoint(toValue(x2), toValue(y2))) != null ? _a : [] : (_b = document2 == null ? void 0 : document2.elementFromPoint(toValue(x2), toValue(y2))) != null ? _b : null; + }, "cb"); + const controls = interval === "requestAnimationFrame" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate }); + return { + isSupported: isSupported2, + element, + ...controls + }; +} +__name(useElementByPoint, "useElementByPoint"); +function useElementHover(el, options3 = {}) { + const { + delayEnter = 0, + delayLeave = 0, + window: window2 = defaultWindow + } = options3; + const isHovered = ref(false); + let timer; + const toggle4 = /* @__PURE__ */ __name((entering) => { + const delay = entering ? delayEnter : delayLeave; + if (timer) { + clearTimeout(timer); + timer = void 0; + } + if (delay) + timer = setTimeout(() => isHovered.value = entering, delay); + else + isHovered.value = entering; + }, "toggle"); + if (!window2) + return isHovered; + useEventListener(el, "mouseenter", () => toggle4(true), { passive: true }); + useEventListener(el, "mouseleave", () => toggle4(false), { passive: true }); + return isHovered; +} +__name(useElementHover, "useElementHover"); +function useElementSize(target, initialSize = { width: 0, height: 0 }, options3 = {}) { + const { window: window2 = defaultWindow, box = "content-box" } = options3; + const isSVG = computed(() => { + var _a, _b; + return (_b = (_a = unrefElement(target)) == null ? void 0 : _a.namespaceURI) == null ? void 0 : _b.includes("svg"); + }); + const width2 = ref(initialSize.width); + const height = ref(initialSize.height); + const { stop: stop1 } = useResizeObserver( + target, + ([entry]) => { + const boxSize = box === "border-box" ? entry.borderBoxSize : box === "content-box" ? entry.contentBoxSize : entry.devicePixelContentBoxSize; + if (window2 && isSVG.value) { + const $elem = unrefElement(target); + if ($elem) { + const rect = $elem.getBoundingClientRect(); + width2.value = rect.width; + height.value = rect.height; + } + } else { + if (boxSize) { + const formatBoxSize = Array.isArray(boxSize) ? boxSize : [boxSize]; + width2.value = formatBoxSize.reduce((acc, { inlineSize }) => acc + inlineSize, 0); + height.value = formatBoxSize.reduce((acc, { blockSize }) => acc + blockSize, 0); + } else { + width2.value = entry.contentRect.width; + height.value = entry.contentRect.height; + } + } + }, + options3 + ); + tryOnMounted(() => { + const ele = unrefElement(target); + if (ele) { + width2.value = "offsetWidth" in ele ? ele.offsetWidth : initialSize.width; + height.value = "offsetHeight" in ele ? ele.offsetHeight : initialSize.height; + } + }); + const stop2 = watch( + () => unrefElement(target), + (ele) => { + width2.value = ele ? initialSize.width : 0; + height.value = ele ? initialSize.height : 0; + } + ); + function stop3() { + stop1(); + stop2(); + } + __name(stop3, "stop"); + return { + width: width2, + height, + stop: stop3 + }; +} +__name(useElementSize, "useElementSize"); +function useIntersectionObserver(target, callback, options3 = {}) { + const { + root: root23, + rootMargin = "0px", + threshold = 0, + window: window2 = defaultWindow, + immediate = true + } = options3; + const isSupported2 = useSupported(() => window2 && "IntersectionObserver" in window2); + const targets = computed(() => { + const _target = toValue(target); + return (Array.isArray(_target) ? _target : [_target]).map(unrefElement).filter(notNullish); + }); + let cleanup = noop$1; + const isActive = ref(immediate); + const stopWatch = isSupported2.value ? watch( + () => [targets.value, unrefElement(root23), isActive.value], + ([targets2, root24]) => { + cleanup(); + if (!isActive.value) + return; + if (!targets2.length) + return; + const observer = new IntersectionObserver( + callback, + { + root: unrefElement(root24), + rootMargin, + threshold + } + ); + targets2.forEach((el) => el && observer.observe(el)); + cleanup = /* @__PURE__ */ __name(() => { + observer.disconnect(); + cleanup = noop$1; + }, "cleanup"); + }, + { immediate, flush: "post" } + ) : noop$1; + const stop2 = /* @__PURE__ */ __name(() => { + cleanup(); + stopWatch(); + isActive.value = false; + }, "stop"); + tryOnScopeDispose(stop2); + return { + isSupported: isSupported2, + isActive, + pause() { + cleanup(); + isActive.value = false; + }, + resume() { + isActive.value = true; + }, + stop: stop2 + }; +} +__name(useIntersectionObserver, "useIntersectionObserver"); +function useElementVisibility(element, options3 = {}) { + const { window: window2 = defaultWindow, scrollTarget, threshold = 0 } = options3; + const elementIsVisible = ref(false); + useIntersectionObserver( + element, + (intersectionObserverEntries) => { + let isIntersecting = elementIsVisible.value; + let latestTime = 0; + for (const entry of intersectionObserverEntries) { + if (entry.time >= latestTime) { + latestTime = entry.time; + isIntersecting = entry.isIntersecting; + } + } + elementIsVisible.value = isIntersecting; + }, + { + root: scrollTarget, + window: window2, + threshold + } + ); + return elementIsVisible; +} +__name(useElementVisibility, "useElementVisibility"); +const events = /* @__PURE__ */ new Map(); +function useEventBus(key) { + const scope = getCurrentScope(); + function on(listener) { + var _a; + const listeners = events.get(key) || /* @__PURE__ */ new Set(); + listeners.add(listener); + events.set(key, listeners); + const _off = /* @__PURE__ */ __name(() => off(listener), "_off"); + (_a = scope == null ? void 0 : scope.cleanups) == null ? void 0 : _a.push(_off); + return _off; + } + __name(on, "on"); + function once2(listener) { + function _listener(...args) { + off(_listener); + listener(...args); + } + __name(_listener, "_listener"); + return on(_listener); + } + __name(once2, "once"); + function off(listener) { + const listeners = events.get(key); + if (!listeners) + return; + listeners.delete(listener); + if (!listeners.size) + reset(); + } + __name(off, "off"); + function reset() { + events.delete(key); + } + __name(reset, "reset"); + function emit2(event2, payload) { + var _a; + (_a = events.get(key)) == null ? void 0 : _a.forEach((v2) => v2(event2, payload)); + } + __name(emit2, "emit"); + return { on, once: once2, off, emit: emit2, reset }; +} +__name(useEventBus, "useEventBus"); +function resolveNestedOptions$1(options3) { + if (options3 === true) + return {}; + return options3; +} +__name(resolveNestedOptions$1, "resolveNestedOptions$1"); +function useEventSource(url, events2 = [], options3 = {}) { + const event2 = ref(null); + const data21 = ref(null); + const status = ref("CONNECTING"); + const eventSource = ref(null); + const error = shallowRef(null); + const urlRef = toRef(url); + const lastEventId = shallowRef(null); + let explicitlyClosed = false; + let retried = 0; + const { + withCredentials = false, + immediate = true + } = options3; + const close3 = /* @__PURE__ */ __name(() => { + if (isClient && eventSource.value) { + eventSource.value.close(); + eventSource.value = null; + status.value = "CLOSED"; + explicitlyClosed = true; + } + }, "close"); + const _init = /* @__PURE__ */ __name(() => { + if (explicitlyClosed || typeof urlRef.value === "undefined") + return; + const es = new EventSource(urlRef.value, { withCredentials }); + status.value = "CONNECTING"; + eventSource.value = es; + es.onopen = () => { + status.value = "OPEN"; + error.value = null; + }; + es.onerror = (e) => { + status.value = "CLOSED"; + error.value = e; + if (es.readyState === 2 && !explicitlyClosed && options3.autoReconnect) { + es.close(); + const { + retries = -1, + delay = 1e3, + onFailed + } = resolveNestedOptions$1(options3.autoReconnect); + retried += 1; + if (typeof retries === "number" && (retries < 0 || retried < retries)) + setTimeout(_init, delay); + else if (typeof retries === "function" && retries()) + setTimeout(_init, delay); + else + onFailed == null ? void 0 : onFailed(); + } + }; + es.onmessage = (e) => { + event2.value = null; + data21.value = e.data; + lastEventId.value = e.lastEventId; + }; + for (const event_name of events2) { + useEventListener(es, event_name, (e) => { + event2.value = event_name; + data21.value = e.data || null; + }); + } + }, "_init"); + const open2 = /* @__PURE__ */ __name(() => { + if (!isClient) + return; + close3(); + explicitlyClosed = false; + retried = 0; + _init(); + }, "open"); + if (immediate) + watch(urlRef, open2, { immediate: true }); + tryOnScopeDispose(close3); + return { + eventSource, + event: event2, + data: data21, + status, + error, + open: open2, + close: close3, + lastEventId + }; +} +__name(useEventSource, "useEventSource"); +function useEyeDropper(options3 = {}) { + const { initialValue = "" } = options3; + const isSupported2 = useSupported(() => typeof window !== "undefined" && "EyeDropper" in window); + const sRGBHex = ref(initialValue); + async function open2(openOptions) { + if (!isSupported2.value) + return; + const eyeDropper = new window.EyeDropper(); + const result = await eyeDropper.open(openOptions); + sRGBHex.value = result.sRGBHex; + return result; + } + __name(open2, "open"); + return { isSupported: isSupported2, sRGBHex, open: open2 }; +} +__name(useEyeDropper, "useEyeDropper"); +function useFavicon(newIcon = null, options3 = {}) { + const { + baseUrl = "", + rel = "icon", + document: document2 = defaultDocument + } = options3; + const favicon = toRef(newIcon); + const applyIcon = /* @__PURE__ */ __name((icon2) => { + const elements = document2 == null ? void 0 : document2.head.querySelectorAll(`link[rel*="${rel}"]`); + if (!elements || elements.length === 0) { + const link = document2 == null ? void 0 : document2.createElement("link"); + if (link) { + link.rel = rel; + link.href = `${baseUrl}${icon2}`; + link.type = `image/${icon2.split(".").pop()}`; + document2 == null ? void 0 : document2.head.append(link); + } + return; + } + elements == null ? void 0 : elements.forEach((el) => el.href = `${baseUrl}${icon2}`); + }, "applyIcon"); + watch( + favicon, + (i2, o) => { + if (typeof i2 === "string" && i2 !== o) + applyIcon(i2); + }, + { immediate: true } + ); + return favicon; +} +__name(useFavicon, "useFavicon"); +const payloadMapping = { + json: "application/json", + text: "text/plain" +}; +function isFetchOptions(obj) { + return obj && containsProp(obj, "immediate", "refetch", "initialData", "timeout", "beforeFetch", "afterFetch", "onFetchError", "fetch", "updateDataOnError"); +} +__name(isFetchOptions, "isFetchOptions"); +const reAbsolute = /^(?:[a-z][a-z\d+\-.]*:)?\/\//i; +function isAbsoluteURL(url) { + return reAbsolute.test(url); +} +__name(isAbsoluteURL, "isAbsoluteURL"); +function headersToObject(headers) { + if (typeof Headers !== "undefined" && headers instanceof Headers) + return Object.fromEntries(headers.entries()); + return headers; +} +__name(headersToObject, "headersToObject"); +function combineCallbacks(combination, ...callbacks) { + if (combination === "overwrite") { + return async (ctx) => { + const callback = callbacks[callbacks.length - 1]; + if (callback) + return { ...ctx, ...await callback(ctx) }; + return ctx; + }; + } else { + return async (ctx) => { + for (const callback of callbacks) { + if (callback) + ctx = { ...ctx, ...await callback(ctx) }; + } + return ctx; + }; + } +} +__name(combineCallbacks, "combineCallbacks"); +function createFetch(config2 = {}) { + const _combination = config2.combination || "chain"; + const _options = config2.options || {}; + const _fetchOptions = config2.fetchOptions || {}; + function useFactoryFetch(url, ...args) { + const computedUrl = computed(() => { + const baseUrl = toValue(config2.baseUrl); + const targetUrl = toValue(url); + return baseUrl && !isAbsoluteURL(targetUrl) ? joinPaths(baseUrl, targetUrl) : targetUrl; + }); + let options3 = _options; + let fetchOptions = _fetchOptions; + if (args.length > 0) { + if (isFetchOptions(args[0])) { + options3 = { + ...options3, + ...args[0], + beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[0].beforeFetch), + afterFetch: combineCallbacks(_combination, _options.afterFetch, args[0].afterFetch), + onFetchError: combineCallbacks(_combination, _options.onFetchError, args[0].onFetchError) + }; + } else { + fetchOptions = { + ...fetchOptions, + ...args[0], + headers: { + ...headersToObject(fetchOptions.headers) || {}, + ...headersToObject(args[0].headers) || {} + } + }; + } + } + if (args.length > 1 && isFetchOptions(args[1])) { + options3 = { + ...options3, + ...args[1], + beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[1].beforeFetch), + afterFetch: combineCallbacks(_combination, _options.afterFetch, args[1].afterFetch), + onFetchError: combineCallbacks(_combination, _options.onFetchError, args[1].onFetchError) + }; + } + return useFetch(computedUrl, fetchOptions, options3); + } + __name(useFactoryFetch, "useFactoryFetch"); + return useFactoryFetch; +} +__name(createFetch, "createFetch"); +function useFetch(url, ...args) { + var _a; + const supportsAbort = typeof AbortController === "function"; + let fetchOptions = {}; + let options3 = { + immediate: true, + refetch: false, + timeout: 0, + updateDataOnError: false + }; + const config2 = { + method: "GET", + type: "text", + payload: void 0 + }; + if (args.length > 0) { + if (isFetchOptions(args[0])) + options3 = { ...options3, ...args[0] }; + else + fetchOptions = args[0]; + } + if (args.length > 1) { + if (isFetchOptions(args[1])) + options3 = { ...options3, ...args[1] }; + } + const { + fetch: fetch2 = (_a = defaultWindow) == null ? void 0 : _a.fetch, + initialData, + timeout + } = options3; + const responseEvent = createEventHook(); + const errorEvent = createEventHook(); + const finallyEvent = createEventHook(); + const isFinished = ref(false); + const isFetching = ref(false); + const aborted = ref(false); + const statusCode = ref(null); + const response = shallowRef(null); + const error = shallowRef(null); + const data21 = shallowRef(initialData || null); + const canAbort = computed(() => supportsAbort && isFetching.value); + let controller; + let timer; + const abort = /* @__PURE__ */ __name(() => { + if (supportsAbort) { + controller == null ? void 0 : controller.abort(); + controller = new AbortController(); + controller.signal.onabort = () => aborted.value = true; + fetchOptions = { + ...fetchOptions, + signal: controller.signal + }; + } + }, "abort"); + const loading2 = /* @__PURE__ */ __name((isLoading) => { + isFetching.value = isLoading; + isFinished.value = !isLoading; + }, "loading"); + if (timeout) + timer = useTimeoutFn(abort, timeout, { immediate: false }); + let executeCounter = 0; + const execute = /* @__PURE__ */ __name(async (throwOnFailed = false) => { + var _a2, _b; + abort(); + loading2(true); + error.value = null; + statusCode.value = null; + aborted.value = false; + executeCounter += 1; + const currentExecuteCounter = executeCounter; + const defaultFetchOptions = { + method: config2.method, + headers: {} + }; + if (config2.payload) { + const headers = headersToObject(defaultFetchOptions.headers); + const payload = toValue(config2.payload); + if (!config2.payloadType && payload && Object.getPrototypeOf(payload) === Object.prototype && !(payload instanceof FormData)) + config2.payloadType = "json"; + if (config2.payloadType) + headers["Content-Type"] = (_a2 = payloadMapping[config2.payloadType]) != null ? _a2 : config2.payloadType; + defaultFetchOptions.body = config2.payloadType === "json" ? JSON.stringify(payload) : payload; + } + let isCanceled = false; + const context = { + url: toValue(url), + options: { + ...defaultFetchOptions, + ...fetchOptions + }, + cancel: /* @__PURE__ */ __name(() => { + isCanceled = true; + }, "cancel") + }; + if (options3.beforeFetch) + Object.assign(context, await options3.beforeFetch(context)); + if (isCanceled || !fetch2) { + loading2(false); + return Promise.resolve(null); + } + let responseData = null; + if (timer) + timer.start(); + return fetch2( + context.url, + { + ...defaultFetchOptions, + ...context.options, + headers: { + ...headersToObject(defaultFetchOptions.headers), + ...headersToObject((_b = context.options) == null ? void 0 : _b.headers) + } + } + ).then(async (fetchResponse) => { + response.value = fetchResponse; + statusCode.value = fetchResponse.status; + responseData = await fetchResponse.clone()[config2.type](); + if (!fetchResponse.ok) { + data21.value = initialData || null; + throw new Error(fetchResponse.statusText); + } + if (options3.afterFetch) { + ({ data: responseData } = await options3.afterFetch({ + data: responseData, + response: fetchResponse + })); + } + data21.value = responseData; + responseEvent.trigger(fetchResponse); + return fetchResponse; + }).catch(async (fetchError) => { + let errorData = fetchError.message || fetchError.name; + if (options3.onFetchError) { + ({ error: errorData, data: responseData } = await options3.onFetchError({ + data: responseData, + error: fetchError, + response: response.value + })); + } + error.value = errorData; + if (options3.updateDataOnError) + data21.value = responseData; + errorEvent.trigger(fetchError); + if (throwOnFailed) + throw fetchError; + return null; + }).finally(() => { + if (currentExecuteCounter === executeCounter) + loading2(false); + if (timer) + timer.stop(); + finallyEvent.trigger(null); + }); + }, "execute"); + const refetch = toRef(options3.refetch); + watch( + [ + refetch, + toRef(url) + ], + ([refetch2]) => refetch2 && execute(), + { deep: true } + ); + const shell = { + isFinished: readonly(isFinished), + isFetching: readonly(isFetching), + statusCode, + response, + error, + data: data21, + canAbort, + aborted, + abort, + execute, + onFetchResponse: responseEvent.on, + onFetchError: errorEvent.on, + onFetchFinally: finallyEvent.on, + // method + get: setMethod("GET"), + put: setMethod("PUT"), + post: setMethod("POST"), + delete: setMethod("DELETE"), + patch: setMethod("PATCH"), + head: setMethod("HEAD"), + options: setMethod("OPTIONS"), + // type + json: setType2("json"), + text: setType2("text"), + blob: setType2("blob"), + arrayBuffer: setType2("arrayBuffer"), + formData: setType2("formData") + }; + function setMethod(method) { + return (payload, payloadType) => { + if (!isFetching.value) { + config2.method = method; + config2.payload = payload; + config2.payloadType = payloadType; + if (isRef(config2.payload)) { + watch( + [ + refetch, + toRef(config2.payload) + ], + ([refetch2]) => refetch2 && execute(), + { deep: true } + ); + } + return { + ...shell, + then(onFulfilled, onRejected) { + return waitUntilFinished().then(onFulfilled, onRejected); + } + }; + } + return void 0; + }; + } + __name(setMethod, "setMethod"); + function waitUntilFinished() { + return new Promise((resolve2, reject2) => { + until(isFinished).toBe(true).then(() => resolve2(shell)).catch((error2) => reject2(error2)); + }); + } + __name(waitUntilFinished, "waitUntilFinished"); + function setType2(type) { + return () => { + if (!isFetching.value) { + config2.type = type; + return { + ...shell, + then(onFulfilled, onRejected) { + return waitUntilFinished().then(onFulfilled, onRejected); + } + }; + } + return void 0; + }; + } + __name(setType2, "setType"); + if (options3.immediate) + Promise.resolve().then(() => execute()); + return { + ...shell, + then(onFulfilled, onRejected) { + return waitUntilFinished().then(onFulfilled, onRejected); + } + }; +} +__name(useFetch, "useFetch"); +function joinPaths(start2, end) { + if (!start2.endsWith("/") && !end.startsWith("/")) + return `${start2}/${end}`; + return `${start2}${end}`; +} +__name(joinPaths, "joinPaths"); +const DEFAULT_OPTIONS = { + multiple: true, + accept: "*", + reset: false, + directory: false +}; +function useFileDialog(options3 = {}) { + const { + document: document2 = defaultDocument + } = options3; + const files = ref(null); + const { on: onChange4, trigger: changeTrigger } = createEventHook(); + const { on: onCancel, trigger: cancelTrigger } = createEventHook(); + let input; + if (document2) { + input = document2.createElement("input"); + input.type = "file"; + input.onchange = (event2) => { + const result = event2.target; + files.value = result.files; + changeTrigger(files.value); + }; + input.oncancel = () => { + cancelTrigger(); + }; + } + const reset = /* @__PURE__ */ __name(() => { + files.value = null; + if (input && input.value) { + input.value = ""; + changeTrigger(null); + } + }, "reset"); + const open2 = /* @__PURE__ */ __name((localOptions) => { + if (!input) + return; + const _options = { + ...DEFAULT_OPTIONS, + ...options3, + ...localOptions + }; + input.multiple = _options.multiple; + input.accept = _options.accept; + input.webkitdirectory = _options.directory; + if (hasOwn$2(_options, "capture")) + input.capture = _options.capture; + if (_options.reset) + reset(); + input.click(); + }, "open"); + return { + files: readonly(files), + open: open2, + reset, + onCancel, + onChange: onChange4 + }; +} +__name(useFileDialog, "useFileDialog"); +function useFileSystemAccess(options3 = {}) { + const { + window: _window = defaultWindow, + dataType = "Text" + } = options3; + const window2 = _window; + const isSupported2 = useSupported(() => window2 && "showSaveFilePicker" in window2 && "showOpenFilePicker" in window2); + const fileHandle = ref(); + const data21 = ref(); + const file = ref(); + const fileName = computed(() => { + var _a, _b; + return (_b = (_a = file.value) == null ? void 0 : _a.name) != null ? _b : ""; + }); + const fileMIME = computed(() => { + var _a, _b; + return (_b = (_a = file.value) == null ? void 0 : _a.type) != null ? _b : ""; + }); + const fileSize = computed(() => { + var _a, _b; + return (_b = (_a = file.value) == null ? void 0 : _a.size) != null ? _b : 0; + }); + const fileLastModified = computed(() => { + var _a, _b; + return (_b = (_a = file.value) == null ? void 0 : _a.lastModified) != null ? _b : 0; + }); + async function open2(_options = {}) { + if (!isSupported2.value) + return; + const [handle] = await window2.showOpenFilePicker({ ...toValue(options3), ..._options }); + fileHandle.value = handle; + await updateData(); + } + __name(open2, "open"); + async function create2(_options = {}) { + if (!isSupported2.value) + return; + fileHandle.value = await window2.showSaveFilePicker({ ...options3, ..._options }); + data21.value = void 0; + await updateData(); + } + __name(create2, "create"); + async function save(_options = {}) { + if (!isSupported2.value) + return; + if (!fileHandle.value) + return saveAs2(_options); + if (data21.value) { + const writableStream = await fileHandle.value.createWritable(); + await writableStream.write(data21.value); + await writableStream.close(); + } + await updateFile(); + } + __name(save, "save"); + async function saveAs2(_options = {}) { + if (!isSupported2.value) + return; + fileHandle.value = await window2.showSaveFilePicker({ ...options3, ..._options }); + if (data21.value) { + const writableStream = await fileHandle.value.createWritable(); + await writableStream.write(data21.value); + await writableStream.close(); + } + await updateFile(); + } + __name(saveAs2, "saveAs"); + async function updateFile() { + var _a; + file.value = await ((_a = fileHandle.value) == null ? void 0 : _a.getFile()); + } + __name(updateFile, "updateFile"); + async function updateData() { + var _a, _b; + await updateFile(); + const type = toValue(dataType); + if (type === "Text") + data21.value = await ((_a = file.value) == null ? void 0 : _a.text()); + else if (type === "ArrayBuffer") + data21.value = await ((_b = file.value) == null ? void 0 : _b.arrayBuffer()); + else if (type === "Blob") + data21.value = file.value; + } + __name(updateData, "updateData"); + watch(() => toValue(dataType), updateData); + return { + isSupported: isSupported2, + data: data21, + file, + fileName, + fileMIME, + fileSize, + fileLastModified, + open: open2, + create: create2, + save, + saveAs: saveAs2, + updateData + }; +} +__name(useFileSystemAccess, "useFileSystemAccess"); +function useFocus(target, options3 = {}) { + const { initialValue = false, focusVisible = false, preventScroll = false } = options3; + const innerFocused = ref(false); + const targetElement = computed(() => unrefElement(target)); + useEventListener(targetElement, "focus", (event2) => { + var _a, _b; + if (!focusVisible || ((_b = (_a = event2.target).matches) == null ? void 0 : _b.call(_a, ":focus-visible"))) + innerFocused.value = true; + }); + useEventListener(targetElement, "blur", () => innerFocused.value = false); + const focused = computed({ + get: /* @__PURE__ */ __name(() => innerFocused.value, "get"), + set(value3) { + var _a, _b; + if (!value3 && innerFocused.value) + (_a = targetElement.value) == null ? void 0 : _a.blur(); + else if (value3 && !innerFocused.value) + (_b = targetElement.value) == null ? void 0 : _b.focus({ preventScroll }); + } + }); + watch( + targetElement, + () => { + focused.value = initialValue; + }, + { immediate: true, flush: "post" } + ); + return { focused }; +} +__name(useFocus, "useFocus"); +const EVENT_FOCUS_IN = "focusin"; +const EVENT_FOCUS_OUT = "focusout"; +function useFocusWithin(target, options3 = {}) { + const { window: window2 = defaultWindow } = options3; + const targetElement = computed(() => unrefElement(target)); + const _focused = ref(false); + const focused = computed(() => _focused.value); + const activeElement = useActiveElement(options3); + if (!window2 || !activeElement.value) { + return { focused }; + } + useEventListener(targetElement, EVENT_FOCUS_IN, () => _focused.value = true); + useEventListener(targetElement, EVENT_FOCUS_OUT, () => _focused.value = false); + return { focused }; +} +__name(useFocusWithin, "useFocusWithin"); +function useFps(options3) { + var _a; + const fps = ref(0); + if (typeof performance === "undefined") + return fps; + const every = (_a = options3 == null ? void 0 : options3.every) != null ? _a : 10; + let last = performance.now(); + let ticks = 0; + useRafFn(() => { + ticks += 1; + if (ticks >= every) { + const now2 = performance.now(); + const diff = now2 - last; + fps.value = Math.round(1e3 / (diff / ticks)); + last = now2; + ticks = 0; + } + }); + return fps; +} +__name(useFps, "useFps"); +const eventHandlers = [ + "fullscreenchange", + "webkitfullscreenchange", + "webkitendfullscreen", + "mozfullscreenchange", + "MSFullscreenChange" +]; +function useFullscreen(target, options3 = {}) { + const { + document: document2 = defaultDocument, + autoExit = false + } = options3; + const targetRef = computed(() => { + var _a; + return (_a = unrefElement(target)) != null ? _a : document2 == null ? void 0 : document2.querySelector("html"); + }); + const isFullscreen = ref(false); + const requestMethod = computed(() => { + return [ + "requestFullscreen", + "webkitRequestFullscreen", + "webkitEnterFullscreen", + "webkitEnterFullScreen", + "webkitRequestFullScreen", + "mozRequestFullScreen", + "msRequestFullscreen" + ].find((m) => document2 && m in document2 || targetRef.value && m in targetRef.value); + }); + const exitMethod = computed(() => { + return [ + "exitFullscreen", + "webkitExitFullscreen", + "webkitExitFullScreen", + "webkitCancelFullScreen", + "mozCancelFullScreen", + "msExitFullscreen" + ].find((m) => document2 && m in document2 || targetRef.value && m in targetRef.value); + }); + const fullscreenEnabled = computed(() => { + return [ + "fullScreen", + "webkitIsFullScreen", + "webkitDisplayingFullscreen", + "mozFullScreen", + "msFullscreenElement" + ].find((m) => document2 && m in document2 || targetRef.value && m in targetRef.value); + }); + const fullscreenElementMethod = [ + "fullscreenElement", + "webkitFullscreenElement", + "mozFullScreenElement", + "msFullscreenElement" + ].find((m) => document2 && m in document2); + const isSupported2 = useSupported(() => targetRef.value && document2 && requestMethod.value !== void 0 && exitMethod.value !== void 0 && fullscreenEnabled.value !== void 0); + const isCurrentElementFullScreen = /* @__PURE__ */ __name(() => { + if (fullscreenElementMethod) + return (document2 == null ? void 0 : document2[fullscreenElementMethod]) === targetRef.value; + return false; + }, "isCurrentElementFullScreen"); + const isElementFullScreen = /* @__PURE__ */ __name(() => { + if (fullscreenEnabled.value) { + if (document2 && document2[fullscreenEnabled.value] != null) { + return document2[fullscreenEnabled.value]; + } else { + const target2 = targetRef.value; + if ((target2 == null ? void 0 : target2[fullscreenEnabled.value]) != null) { + return Boolean(target2[fullscreenEnabled.value]); + } + } + } + return false; + }, "isElementFullScreen"); + async function exit() { + if (!isSupported2.value || !isFullscreen.value) + return; + if (exitMethod.value) { + if ((document2 == null ? void 0 : document2[exitMethod.value]) != null) { + await document2[exitMethod.value](); + } else { + const target2 = targetRef.value; + if ((target2 == null ? void 0 : target2[exitMethod.value]) != null) + await target2[exitMethod.value](); + } + } + isFullscreen.value = false; + } + __name(exit, "exit"); + async function enter() { + if (!isSupported2.value || isFullscreen.value) + return; + if (isElementFullScreen()) + await exit(); + const target2 = targetRef.value; + if (requestMethod.value && (target2 == null ? void 0 : target2[requestMethod.value]) != null) { + await target2[requestMethod.value](); + isFullscreen.value = true; + } + } + __name(enter, "enter"); + async function toggle4() { + await (isFullscreen.value ? exit() : enter()); + } + __name(toggle4, "toggle"); + const handlerCallback = /* @__PURE__ */ __name(() => { + const isElementFullScreenValue = isElementFullScreen(); + if (!isElementFullScreenValue || isElementFullScreenValue && isCurrentElementFullScreen()) + isFullscreen.value = isElementFullScreenValue; + }, "handlerCallback"); + useEventListener(document2, eventHandlers, handlerCallback, false); + useEventListener(() => unrefElement(targetRef), eventHandlers, handlerCallback, false); + if (autoExit) + tryOnScopeDispose(exit); + return { + isSupported: isSupported2, + isFullscreen, + enter, + exit, + toggle: toggle4 + }; +} +__name(useFullscreen, "useFullscreen"); +function mapGamepadToXbox360Controller(gamepad) { + return computed(() => { + if (gamepad.value) { + return { + buttons: { + a: gamepad.value.buttons[0], + b: gamepad.value.buttons[1], + x: gamepad.value.buttons[2], + y: gamepad.value.buttons[3] + }, + bumper: { + left: gamepad.value.buttons[4], + right: gamepad.value.buttons[5] + }, + triggers: { + left: gamepad.value.buttons[6], + right: gamepad.value.buttons[7] + }, + stick: { + left: { + horizontal: gamepad.value.axes[0], + vertical: gamepad.value.axes[1], + button: gamepad.value.buttons[10] + }, + right: { + horizontal: gamepad.value.axes[2], + vertical: gamepad.value.axes[3], + button: gamepad.value.buttons[11] + } + }, + dpad: { + up: gamepad.value.buttons[12], + down: gamepad.value.buttons[13], + left: gamepad.value.buttons[14], + right: gamepad.value.buttons[15] + }, + back: gamepad.value.buttons[8], + start: gamepad.value.buttons[9] + }; + } + return null; + }); +} +__name(mapGamepadToXbox360Controller, "mapGamepadToXbox360Controller"); +function useGamepad(options3 = {}) { + const { + navigator: navigator2 = defaultNavigator + } = options3; + const isSupported2 = useSupported(() => navigator2 && "getGamepads" in navigator2); + const gamepads = ref([]); + const onConnectedHook = createEventHook(); + const onDisconnectedHook = createEventHook(); + const stateFromGamepad = /* @__PURE__ */ __name((gamepad) => { + const hapticActuators = []; + const vibrationActuator = "vibrationActuator" in gamepad ? gamepad.vibrationActuator : null; + if (vibrationActuator) + hapticActuators.push(vibrationActuator); + if (gamepad.hapticActuators) + hapticActuators.push(...gamepad.hapticActuators); + return { + id: gamepad.id, + index: gamepad.index, + connected: gamepad.connected, + mapping: gamepad.mapping, + timestamp: gamepad.timestamp, + vibrationActuator: gamepad.vibrationActuator, + hapticActuators, + axes: gamepad.axes.map((axes) => axes), + buttons: gamepad.buttons.map((button) => ({ pressed: button.pressed, touched: button.touched, value: button.value })) + }; + }, "stateFromGamepad"); + const updateGamepadState = /* @__PURE__ */ __name(() => { + const _gamepads = (navigator2 == null ? void 0 : navigator2.getGamepads()) || []; + for (const gamepad of _gamepads) { + if (gamepad && gamepads.value[gamepad.index]) + gamepads.value[gamepad.index] = stateFromGamepad(gamepad); + } + }, "updateGamepadState"); + const { isActive, pause, resume } = useRafFn(updateGamepadState); + const onGamepadConnected = /* @__PURE__ */ __name((gamepad) => { + if (!gamepads.value.some(({ index: index2 }) => index2 === gamepad.index)) { + gamepads.value.push(stateFromGamepad(gamepad)); + onConnectedHook.trigger(gamepad.index); + } + resume(); + }, "onGamepadConnected"); + const onGamepadDisconnected = /* @__PURE__ */ __name((gamepad) => { + gamepads.value = gamepads.value.filter((x2) => x2.index !== gamepad.index); + onDisconnectedHook.trigger(gamepad.index); + }, "onGamepadDisconnected"); + useEventListener("gamepadconnected", (e) => onGamepadConnected(e.gamepad)); + useEventListener("gamepaddisconnected", (e) => onGamepadDisconnected(e.gamepad)); + tryOnMounted(() => { + const _gamepads = (navigator2 == null ? void 0 : navigator2.getGamepads()) || []; + for (const gamepad of _gamepads) { + if (gamepad && gamepads.value[gamepad.index]) + onGamepadConnected(gamepad); + } + }); + pause(); + return { + isSupported: isSupported2, + onConnected: onConnectedHook.on, + onDisconnected: onDisconnectedHook.on, + gamepads, + pause, + resume, + isActive + }; +} +__name(useGamepad, "useGamepad"); +function useGeolocation(options3 = {}) { + const { + enableHighAccuracy = true, + maximumAge = 3e4, + timeout = 27e3, + navigator: navigator2 = defaultNavigator, + immediate = true + } = options3; + const isSupported2 = useSupported(() => navigator2 && "geolocation" in navigator2); + const locatedAt = ref(null); + const error = shallowRef(null); + const coords = ref({ + accuracy: 0, + latitude: Number.POSITIVE_INFINITY, + longitude: Number.POSITIVE_INFINITY, + altitude: null, + altitudeAccuracy: null, + heading: null, + speed: null + }); + function updatePosition(position2) { + locatedAt.value = position2.timestamp; + coords.value = position2.coords; + error.value = null; + } + __name(updatePosition, "updatePosition"); + let watcher; + function resume() { + if (isSupported2.value) { + watcher = navigator2.geolocation.watchPosition( + updatePosition, + (err) => error.value = err, + { + enableHighAccuracy, + maximumAge, + timeout + } + ); + } + } + __name(resume, "resume"); + if (immediate) + resume(); + function pause() { + if (watcher && navigator2) + navigator2.geolocation.clearWatch(watcher); + } + __name(pause, "pause"); + tryOnScopeDispose(() => { + pause(); + }); + return { + isSupported: isSupported2, + coords, + locatedAt, + error, + resume, + pause + }; +} +__name(useGeolocation, "useGeolocation"); +const defaultEvents$1 = ["mousemove", "mousedown", "resize", "keydown", "touchstart", "wheel"]; +const oneMinute = 6e4; +function useIdle(timeout = oneMinute, options3 = {}) { + const { + initialState = false, + listenForVisibilityChange = true, + events: events2 = defaultEvents$1, + window: window2 = defaultWindow, + eventFilter = throttleFilter(50) + } = options3; + const idle = ref(initialState); + const lastActive = ref(timestamp()); + let timer; + const reset = /* @__PURE__ */ __name(() => { + idle.value = false; + clearTimeout(timer); + timer = setTimeout(() => idle.value = true, timeout); + }, "reset"); + const onEvent = createFilterWrapper( + eventFilter, + () => { + lastActive.value = timestamp(); + reset(); + } + ); + if (window2) { + const document2 = window2.document; + for (const event2 of events2) + useEventListener(window2, event2, onEvent, { passive: true }); + if (listenForVisibilityChange) { + useEventListener(document2, "visibilitychange", () => { + if (!document2.hidden) + onEvent(); + }); + } + reset(); + } + return { + idle, + lastActive, + reset + }; +} +__name(useIdle, "useIdle"); +async function loadImage(options3) { + return new Promise((resolve2, reject2) => { + const img = new Image(); + const { src, srcset, sizes, class: clazz, loading: loading2, crossorigin, referrerPolicy } = options3; + img.src = src; + if (srcset) + img.srcset = srcset; + if (sizes) + img.sizes = sizes; + if (clazz) + img.className = clazz; + if (loading2) + img.loading = loading2; + if (crossorigin) + img.crossOrigin = crossorigin; + if (referrerPolicy) + img.referrerPolicy = referrerPolicy; + img.onload = () => resolve2(img); + img.onerror = reject2; + }); +} +__name(loadImage, "loadImage"); +function useImage(options3, asyncStateOptions = {}) { + const state = useAsyncState( + () => loadImage(toValue(options3)), + void 0, + { + resetOnExecute: true, + ...asyncStateOptions + } + ); + watch( + () => toValue(options3), + () => state.execute(asyncStateOptions.delay), + { deep: true } + ); + return state; +} +__name(useImage, "useImage"); +function resolveElement(el) { + if (typeof Window !== "undefined" && el instanceof Window) + return el.document.documentElement; + if (typeof Document !== "undefined" && el instanceof Document) + return el.documentElement; + return el; +} +__name(resolveElement, "resolveElement"); +const ARRIVED_STATE_THRESHOLD_PIXELS = 1; +function useScroll(element, options3 = {}) { + const { + throttle: throttle2 = 0, + idle = 200, + onStop = noop$1, + onScroll: onScroll4 = noop$1, + offset = { + left: 0, + right: 0, + top: 0, + bottom: 0 + }, + eventListenerOptions = { + capture: false, + passive: true + }, + behavior = "auto", + window: window2 = defaultWindow, + onError = /* @__PURE__ */ __name((e) => { + console.error(e); + }, "onError") + } = options3; + const internalX = ref(0); + const internalY = ref(0); + const x2 = computed({ + get() { + return internalX.value; + }, + set(x22) { + scrollTo22(x22, void 0); + } + }); + const y2 = computed({ + get() { + return internalY.value; + }, + set(y22) { + scrollTo22(void 0, y22); + } + }); + function scrollTo22(_x, _y) { + var _a, _b, _c, _d; + if (!window2) + return; + const _element = toValue(element); + if (!_element) + return; + (_c = _element instanceof Document ? window2.document.body : _element) == null ? void 0 : _c.scrollTo({ + top: (_a = toValue(_y)) != null ? _a : y2.value, + left: (_b = toValue(_x)) != null ? _b : x2.value, + behavior: toValue(behavior) + }); + const scrollContainer = ((_d = _element == null ? void 0 : _element.document) == null ? void 0 : _d.documentElement) || (_element == null ? void 0 : _element.documentElement) || _element; + if (x2 != null) + internalX.value = scrollContainer.scrollLeft; + if (y2 != null) + internalY.value = scrollContainer.scrollTop; + } + __name(scrollTo22, "scrollTo2"); + const isScrolling = ref(false); + const arrivedState = reactive({ + left: true, + right: false, + top: true, + bottom: false + }); + const directions = reactive({ + left: false, + right: false, + top: false, + bottom: false + }); + const onScrollEnd = /* @__PURE__ */ __name((e) => { + if (!isScrolling.value) + return; + isScrolling.value = false; + directions.left = false; + directions.right = false; + directions.top = false; + directions.bottom = false; + onStop(e); + }, "onScrollEnd"); + const onScrollEndDebounced = useDebounceFn(onScrollEnd, throttle2 + idle); + const setArrivedState = /* @__PURE__ */ __name((target) => { + var _a; + if (!window2) + return; + const el = ((_a = target == null ? void 0 : target.document) == null ? void 0 : _a.documentElement) || (target == null ? void 0 : target.documentElement) || unrefElement(target); + const { display, flexDirection } = getComputedStyle(el); + const scrollLeft = el.scrollLeft; + directions.left = scrollLeft < internalX.value; + directions.right = scrollLeft > internalX.value; + const left = Math.abs(scrollLeft) <= (offset.left || 0); + const right = Math.abs(scrollLeft) + el.clientWidth >= el.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS; + if (display === "flex" && flexDirection === "row-reverse") { + arrivedState.left = right; + arrivedState.right = left; + } else { + arrivedState.left = left; + arrivedState.right = right; + } + internalX.value = scrollLeft; + let scrollTop2 = el.scrollTop; + if (target === window2.document && !scrollTop2) + scrollTop2 = window2.document.body.scrollTop; + directions.top = scrollTop2 < internalY.value; + directions.bottom = scrollTop2 > internalY.value; + const top = Math.abs(scrollTop2) <= (offset.top || 0); + const bottom = Math.abs(scrollTop2) + el.clientHeight >= el.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS; + if (display === "flex" && flexDirection === "column-reverse") { + arrivedState.top = bottom; + arrivedState.bottom = top; + } else { + arrivedState.top = top; + arrivedState.bottom = bottom; + } + internalY.value = scrollTop2; + }, "setArrivedState"); + const onScrollHandler = /* @__PURE__ */ __name((e) => { + var _a; + if (!window2) + return; + const eventTarget = (_a = e.target.documentElement) != null ? _a : e.target; + setArrivedState(eventTarget); + isScrolling.value = true; + onScrollEndDebounced(e); + onScroll4(e); + }, "onScrollHandler"); + useEventListener( + element, + "scroll", + throttle2 ? useThrottleFn(onScrollHandler, throttle2, true, false) : onScrollHandler, + eventListenerOptions + ); + tryOnMounted(() => { + try { + const _element = toValue(element); + if (!_element) + return; + setArrivedState(_element); + } catch (e) { + onError(e); + } + }); + useEventListener( + element, + "scrollend", + onScrollEnd, + eventListenerOptions + ); + return { + x: x2, + y: y2, + isScrolling, + arrivedState, + directions, + measure() { + const _element = toValue(element); + if (window2 && _element) + setArrivedState(_element); + } + }; +} +__name(useScroll, "useScroll"); +function useInfiniteScroll(element, onLoadMore, options3 = {}) { + var _a; + const { + direction = "bottom", + interval = 100, + canLoadMore = /* @__PURE__ */ __name(() => true, "canLoadMore") + } = options3; + const state = reactive(useScroll( + element, + { + ...options3, + offset: { + [direction]: (_a = options3.distance) != null ? _a : 0, + ...options3.offset + } + } + )); + const promise = ref(); + const isLoading = computed(() => !!promise.value); + const observedElement = computed(() => { + return resolveElement(toValue(element)); + }); + const isElementVisible = useElementVisibility(observedElement); + function checkAndLoad() { + state.measure(); + if (!observedElement.value || !isElementVisible.value || !canLoadMore(observedElement.value)) + return; + const { scrollHeight: scrollHeight2, clientHeight, scrollWidth: scrollWidth2, clientWidth } = observedElement.value; + const isNarrower = direction === "bottom" || direction === "top" ? scrollHeight2 <= clientHeight : scrollWidth2 <= clientWidth; + if (state.arrivedState[direction] || isNarrower) { + if (!promise.value) { + promise.value = Promise.all([ + onLoadMore(state), + new Promise((resolve2) => setTimeout(resolve2, interval)) + ]).finally(() => { + promise.value = null; + nextTick(() => checkAndLoad()); + }); + } + } + } + __name(checkAndLoad, "checkAndLoad"); + const stop2 = watch( + () => [state.arrivedState[direction], isElementVisible.value], + checkAndLoad, + { immediate: true } + ); + tryOnUnmounted(stop2); + return { + isLoading, + reset() { + nextTick(() => checkAndLoad()); + } + }; +} +__name(useInfiniteScroll, "useInfiniteScroll"); +const defaultEvents = ["mousedown", "mouseup", "keydown", "keyup"]; +function useKeyModifier(modifier, options3 = {}) { + const { + events: events2 = defaultEvents, + document: document2 = defaultDocument, + initial = null + } = options3; + const state = ref(initial); + if (document2) { + events2.forEach((listenerEvent) => { + useEventListener(document2, listenerEvent, (evt) => { + if (typeof evt.getModifierState === "function") + state.value = evt.getModifierState(modifier); + }); + }); + } + return state; +} +__name(useKeyModifier, "useKeyModifier"); +function useLocalStorage(key, initialValue, options3 = {}) { + const { window: window2 = defaultWindow } = options3; + return useStorage(key, initialValue, window2 == null ? void 0 : window2.localStorage, options3); +} +__name(useLocalStorage, "useLocalStorage"); +const DefaultMagicKeysAliasMap = { + ctrl: "control", + command: "meta", + cmd: "meta", + option: "alt", + up: "arrowup", + down: "arrowdown", + left: "arrowleft", + right: "arrowright" +}; +function useMagicKeys(options3 = {}) { + const { + reactive: useReactive = false, + target = defaultWindow, + aliasMap = DefaultMagicKeysAliasMap, + passive = true, + onEventFired = noop$1 + } = options3; + const current = reactive(/* @__PURE__ */ new Set()); + const obj = { + toJSON() { + return {}; + }, + current + }; + const refs = useReactive ? reactive(obj) : obj; + const metaDeps = /* @__PURE__ */ new Set(); + const usedKeys = /* @__PURE__ */ new Set(); + function setRefs(key, value3) { + if (key in refs) { + if (useReactive) + refs[key] = value3; + else + refs[key].value = value3; + } + } + __name(setRefs, "setRefs"); + function reset() { + current.clear(); + for (const key of usedKeys) + setRefs(key, false); + } + __name(reset, "reset"); + function updateRefs(e, value3) { + var _a, _b; + const key = (_a = e.key) == null ? void 0 : _a.toLowerCase(); + const code2 = (_b = e.code) == null ? void 0 : _b.toLowerCase(); + const values2 = [code2, key].filter(Boolean); + if (key) { + if (value3) + current.add(key); + else + current.delete(key); + } + for (const key2 of values2) { + usedKeys.add(key2); + setRefs(key2, value3); + } + if (key === "meta" && !value3) { + metaDeps.forEach((key2) => { + current.delete(key2); + setRefs(key2, false); + }); + metaDeps.clear(); + } else if (typeof e.getModifierState === "function" && e.getModifierState("Meta") && value3) { + [...current, ...values2].forEach((key2) => metaDeps.add(key2)); + } + } + __name(updateRefs, "updateRefs"); + useEventListener(target, "keydown", (e) => { + updateRefs(e, true); + return onEventFired(e); + }, { passive }); + useEventListener(target, "keyup", (e) => { + updateRefs(e, false); + return onEventFired(e); + }, { passive }); + useEventListener("blur", reset, { passive: true }); + useEventListener("focus", reset, { passive: true }); + const proxy = new Proxy( + refs, + { + get(target2, prop2, rec) { + if (typeof prop2 !== "string") + return Reflect.get(target2, prop2, rec); + prop2 = prop2.toLowerCase(); + if (prop2 in aliasMap) + prop2 = aliasMap[prop2]; + if (!(prop2 in refs)) { + if (/[+_-]/.test(prop2)) { + const keys2 = prop2.split(/[+_-]/g).map((i2) => i2.trim()); + refs[prop2] = computed(() => keys2.every((key) => toValue(proxy[key]))); + } else { + refs[prop2] = ref(false); + } + } + const r = Reflect.get(target2, prop2, rec); + return useReactive ? toValue(r) : r; + } + } + ); + return proxy; +} +__name(useMagicKeys, "useMagicKeys"); +function usingElRef(source, cb) { + if (toValue(source)) + cb(toValue(source)); +} +__name(usingElRef, "usingElRef"); +function timeRangeToArray(timeRanges) { + let ranges = []; + for (let i2 = 0; i2 < timeRanges.length; ++i2) + ranges = [...ranges, [timeRanges.start(i2), timeRanges.end(i2)]]; + return ranges; +} +__name(timeRangeToArray, "timeRangeToArray"); +function tracksToArray(tracks) { + return Array.from(tracks).map(({ label: label5, kind, language, mode: mode2, activeCues, cues, inBandMetadataTrackDispatchType }, id3) => ({ id: id3, label: label5, kind, language, mode: mode2, activeCues, cues, inBandMetadataTrackDispatchType })); +} +__name(tracksToArray, "tracksToArray"); +const defaultOptions$1 = { + src: "", + tracks: [] +}; +function useMediaControls(target, options3 = {}) { + target = toRef(target); + options3 = { + ...defaultOptions$1, + ...options3 + }; + const { + document: document2 = defaultDocument + } = options3; + const currentTime = ref(0); + const duration = ref(0); + const seeking = ref(false); + const volume = ref(1); + const waiting = ref(false); + const ended = ref(false); + const playing = ref(false); + const rate = ref(1); + const stalled = ref(false); + const buffered = ref([]); + const tracks = ref([]); + const selectedTrack = ref(-1); + const isPictureInPicture = ref(false); + const muted = ref(false); + const supportsPictureInPicture = document2 && "pictureInPictureEnabled" in document2; + const sourceErrorEvent = createEventHook(); + const disableTrack = /* @__PURE__ */ __name((track2) => { + usingElRef(target, (el) => { + if (track2) { + const id3 = typeof track2 === "number" ? track2 : track2.id; + el.textTracks[id3].mode = "disabled"; + } else { + for (let i2 = 0; i2 < el.textTracks.length; ++i2) + el.textTracks[i2].mode = "disabled"; + } + selectedTrack.value = -1; + }); + }, "disableTrack"); + const enableTrack = /* @__PURE__ */ __name((track2, disableTracks = true) => { + usingElRef(target, (el) => { + const id3 = typeof track2 === "number" ? track2 : track2.id; + if (disableTracks) + disableTrack(); + el.textTracks[id3].mode = "showing"; + selectedTrack.value = id3; + }); + }, "enableTrack"); + const togglePictureInPicture = /* @__PURE__ */ __name(() => { + return new Promise((resolve2, reject2) => { + usingElRef(target, async (el) => { + if (supportsPictureInPicture) { + if (!isPictureInPicture.value) { + el.requestPictureInPicture().then(resolve2).catch(reject2); + } else { + document2.exitPictureInPicture().then(resolve2).catch(reject2); + } + } + }); + }); + }, "togglePictureInPicture"); + watchEffect(() => { + if (!document2) + return; + const el = toValue(target); + if (!el) + return; + const src = toValue(options3.src); + let sources = []; + if (!src) + return; + if (typeof src === "string") + sources = [{ src }]; + else if (Array.isArray(src)) + sources = src; + else if (isObject$3(src)) + sources = [src]; + el.querySelectorAll("source").forEach((e) => { + e.removeEventListener("error", sourceErrorEvent.trigger); + e.remove(); + }); + sources.forEach(({ src: src2, type }) => { + const source = document2.createElement("source"); + source.setAttribute("src", src2); + source.setAttribute("type", type || ""); + source.addEventListener("error", sourceErrorEvent.trigger); + el.appendChild(source); + }); + el.load(); + }); + tryOnScopeDispose(() => { + const el = toValue(target); + if (!el) + return; + el.querySelectorAll("source").forEach((e) => e.removeEventListener("error", sourceErrorEvent.trigger)); + }); + watch([target, volume], () => { + const el = toValue(target); + if (!el) + return; + el.volume = volume.value; + }); + watch([target, muted], () => { + const el = toValue(target); + if (!el) + return; + el.muted = muted.value; + }); + watch([target, rate], () => { + const el = toValue(target); + if (!el) + return; + el.playbackRate = rate.value; + }); + watchEffect(() => { + if (!document2) + return; + const textTracks = toValue(options3.tracks); + const el = toValue(target); + if (!textTracks || !textTracks.length || !el) + return; + el.querySelectorAll("track").forEach((e) => e.remove()); + textTracks.forEach(({ default: isDefault, kind, label: label5, src, srcLang }, i2) => { + const track2 = document2.createElement("track"); + track2.default = isDefault || false; + track2.kind = kind; + track2.label = label5; + track2.src = src; + track2.srclang = srcLang; + if (track2.default) + selectedTrack.value = i2; + el.appendChild(track2); + }); + }); + const { ignoreUpdates: ignoreCurrentTimeUpdates } = watchIgnorable(currentTime, (time) => { + const el = toValue(target); + if (!el) + return; + el.currentTime = time; + }); + const { ignoreUpdates: ignorePlayingUpdates } = watchIgnorable(playing, (isPlaying) => { + const el = toValue(target); + if (!el) + return; + if (isPlaying) + el.play(); + else + el.pause(); + }); + useEventListener(target, "timeupdate", () => ignoreCurrentTimeUpdates(() => currentTime.value = toValue(target).currentTime)); + useEventListener(target, "durationchange", () => duration.value = toValue(target).duration); + useEventListener(target, "progress", () => buffered.value = timeRangeToArray(toValue(target).buffered)); + useEventListener(target, "seeking", () => seeking.value = true); + useEventListener(target, "seeked", () => seeking.value = false); + useEventListener(target, ["waiting", "loadstart"], () => { + waiting.value = true; + ignorePlayingUpdates(() => playing.value = false); + }); + useEventListener(target, "loadeddata", () => waiting.value = false); + useEventListener(target, "playing", () => { + waiting.value = false; + ended.value = false; + ignorePlayingUpdates(() => playing.value = true); + }); + useEventListener(target, "ratechange", () => rate.value = toValue(target).playbackRate); + useEventListener(target, "stalled", () => stalled.value = true); + useEventListener(target, "ended", () => ended.value = true); + useEventListener(target, "pause", () => ignorePlayingUpdates(() => playing.value = false)); + useEventListener(target, "play", () => ignorePlayingUpdates(() => playing.value = true)); + useEventListener(target, "enterpictureinpicture", () => isPictureInPicture.value = true); + useEventListener(target, "leavepictureinpicture", () => isPictureInPicture.value = false); + useEventListener(target, "volumechange", () => { + const el = toValue(target); + if (!el) + return; + volume.value = el.volume; + muted.value = el.muted; + }); + const listeners = []; + const stop2 = watch([target], () => { + const el = toValue(target); + if (!el) + return; + stop2(); + listeners[0] = useEventListener(el.textTracks, "addtrack", () => tracks.value = tracksToArray(el.textTracks)); + listeners[1] = useEventListener(el.textTracks, "removetrack", () => tracks.value = tracksToArray(el.textTracks)); + listeners[2] = useEventListener(el.textTracks, "change", () => tracks.value = tracksToArray(el.textTracks)); + }); + tryOnScopeDispose(() => listeners.forEach((listener) => listener())); + return { + currentTime, + duration, + waiting, + seeking, + ended, + stalled, + buffered, + playing, + rate, + // Volume + volume, + muted, + // Tracks + tracks, + selectedTrack, + enableTrack, + disableTrack, + // Picture in Picture + supportsPictureInPicture, + togglePictureInPicture, + isPictureInPicture, + // Events + onSourceError: sourceErrorEvent.on + }; +} +__name(useMediaControls, "useMediaControls"); +function getMapVue2Compat() { + const data21 = shallowReactive({}); + return { + get: /* @__PURE__ */ __name((key) => data21[key], "get"), + set: /* @__PURE__ */ __name((key, value3) => set$1(data21, key, value3), "set"), + has: /* @__PURE__ */ __name((key) => hasOwn$2(data21, key), "has"), + delete: /* @__PURE__ */ __name((key) => del(data21, key), "delete"), + clear: /* @__PURE__ */ __name(() => { + Object.keys(data21).forEach((key) => { + del(data21, key); + }); + }, "clear") + }; +} +__name(getMapVue2Compat, "getMapVue2Compat"); +function useMemoize(resolver, options3) { + const initCache = /* @__PURE__ */ __name(() => { + if (options3 == null ? void 0 : options3.cache) + return shallowReactive(options3.cache); + if (isVue2) + return getMapVue2Compat(); + return shallowReactive(/* @__PURE__ */ new Map()); + }, "initCache"); + const cache2 = initCache(); + const generateKey = /* @__PURE__ */ __name((...args) => (options3 == null ? void 0 : options3.getKey) ? options3.getKey(...args) : JSON.stringify(args), "generateKey"); + const _loadData = /* @__PURE__ */ __name((key, ...args) => { + cache2.set(key, resolver(...args)); + return cache2.get(key); + }, "_loadData"); + const loadData = /* @__PURE__ */ __name((...args) => _loadData(generateKey(...args), ...args), "loadData"); + const deleteData = /* @__PURE__ */ __name((...args) => { + cache2.delete(generateKey(...args)); + }, "deleteData"); + const clearData = /* @__PURE__ */ __name(() => { + cache2.clear(); + }, "clearData"); + const memoized = /* @__PURE__ */ __name((...args) => { + const key = generateKey(...args); + if (cache2.has(key)) + return cache2.get(key); + return _loadData(key, ...args); + }, "memoized"); + memoized.load = loadData; + memoized.delete = deleteData; + memoized.clear = clearData; + memoized.generateKey = generateKey; + memoized.cache = cache2; + return memoized; +} +__name(useMemoize, "useMemoize"); +function useMemory(options3 = {}) { + const memory = ref(); + const isSupported2 = useSupported(() => typeof performance !== "undefined" && "memory" in performance); + if (isSupported2.value) { + const { interval = 1e3 } = options3; + useIntervalFn(() => { + memory.value = performance.memory; + }, interval, { immediate: options3.immediate, immediateCallback: options3.immediateCallback }); + } + return { isSupported: isSupported2, memory }; +} +__name(useMemory, "useMemory"); +const UseMouseBuiltinExtractors = { + page: /* @__PURE__ */ __name((event2) => [event2.pageX, event2.pageY], "page"), + client: /* @__PURE__ */ __name((event2) => [event2.clientX, event2.clientY], "client"), + screen: /* @__PURE__ */ __name((event2) => [event2.screenX, event2.screenY], "screen"), + movement: /* @__PURE__ */ __name((event2) => event2 instanceof Touch ? null : [event2.movementX, event2.movementY], "movement") +}; +function useMouse(options3 = {}) { + const { + type = "page", + touch = true, + resetOnTouchEnds = false, + initialValue = { x: 0, y: 0 }, + window: window2 = defaultWindow, + target = window2, + scroll = true, + eventFilter + } = options3; + let _prevMouseEvent = null; + const x2 = ref(initialValue.x); + const y2 = ref(initialValue.y); + const sourceType = ref(null); + const extractor = typeof type === "function" ? type : UseMouseBuiltinExtractors[type]; + const mouseHandler = /* @__PURE__ */ __name((event2) => { + const result = extractor(event2); + _prevMouseEvent = event2; + if (result) { + [x2.value, y2.value] = result; + sourceType.value = "mouse"; + } + }, "mouseHandler"); + const touchHandler = /* @__PURE__ */ __name((event2) => { + if (event2.touches.length > 0) { + const result = extractor(event2.touches[0]); + if (result) { + [x2.value, y2.value] = result; + sourceType.value = "touch"; + } + } + }, "touchHandler"); + 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; + } + }, "scrollHandler"); + const reset = /* @__PURE__ */ __name(() => { + x2.value = initialValue.x; + y2.value = initialValue.y; + }, "reset"); + const mouseHandlerWrapper = eventFilter ? (event2) => eventFilter(() => mouseHandler(event2), {}) : (event2) => mouseHandler(event2); + const touchHandlerWrapper = eventFilter ? (event2) => eventFilter(() => touchHandler(event2), {}) : (event2) => touchHandler(event2); + const scrollHandlerWrapper = eventFilter ? () => eventFilter(() => scrollHandler(), {}) : () => scrollHandler(); + if (target) { + const listenerOptions = { passive: true }; + useEventListener(target, ["mousemove", "dragover"], mouseHandlerWrapper, listenerOptions); + if (touch && type !== "movement") { + useEventListener(target, ["touchstart", "touchmove"], touchHandlerWrapper, listenerOptions); + if (resetOnTouchEnds) + useEventListener(target, "touchend", reset, listenerOptions); + } + if (scroll && type === "page") + useEventListener(window2, "scroll", scrollHandlerWrapper, { passive: true }); + } + return { + x: x2, + y: y2, + sourceType + }; +} +__name(useMouse, "useMouse"); +function useMouseInElement(target, options3 = {}) { + const { + handleOutside = true, + window: window2 = defaultWindow + } = options3; + const type = options3.type || "page"; + const { x: x2, y: y2, sourceType } = useMouse(options3); + const targetRef = ref(target != null ? target : window2 == null ? void 0 : window2.document.body); + const elementX = ref(0); + const elementY = ref(0); + const elementPositionX = ref(0); + const elementPositionY = ref(0); + const elementHeight = ref(0); + const elementWidth = ref(0); + const isOutside = ref(true); + let stop2 = /* @__PURE__ */ __name(() => { + }, "stop"); + if (window2) { + stop2 = watch( + [targetRef, x2, y2], + () => { + const el = unrefElement(targetRef); + if (!el || !(el instanceof Element)) + return; + const { + left, + top, + width: width2, + height + } = el.getBoundingClientRect(); + elementPositionX.value = left + (type === "page" ? window2.pageXOffset : 0); + elementPositionY.value = top + (type === "page" ? window2.pageYOffset : 0); + elementHeight.value = height; + elementWidth.value = width2; + const elX = x2.value - elementPositionX.value; + const elY = y2.value - elementPositionY.value; + isOutside.value = width2 === 0 || height === 0 || elX < 0 || elY < 0 || elX > width2 || elY > height; + if (handleOutside || !isOutside.value) { + elementX.value = elX; + elementY.value = elY; + } + }, + { immediate: true } + ); + useEventListener(document, "mouseleave", () => { + isOutside.value = true; + }); + } + return { + x: x2, + y: y2, + sourceType, + elementX, + elementY, + elementPositionX, + elementPositionY, + elementHeight, + elementWidth, + isOutside, + stop: stop2 + }; +} +__name(useMouseInElement, "useMouseInElement"); +function useMousePressed(options3 = {}) { + const { + touch = true, + drag = true, + capture = false, + initialValue = false, + window: window2 = defaultWindow + } = options3; + const pressed = ref(initialValue); + const sourceType = ref(null); + if (!window2) { + return { + pressed, + sourceType + }; + } + const onPressed = /* @__PURE__ */ __name((srcType) => () => { + pressed.value = true; + sourceType.value = srcType; + }, "onPressed"); + const onReleased = /* @__PURE__ */ __name(() => { + pressed.value = false; + sourceType.value = null; + }, "onReleased"); + const target = computed(() => unrefElement(options3.target) || window2); + useEventListener(target, "mousedown", onPressed("mouse"), { passive: true, capture }); + useEventListener(window2, "mouseleave", onReleased, { passive: true, capture }); + useEventListener(window2, "mouseup", onReleased, { passive: true, capture }); + if (drag) { + useEventListener(target, "dragstart", onPressed("mouse"), { passive: true, capture }); + useEventListener(window2, "drop", onReleased, { passive: true, capture }); + useEventListener(window2, "dragend", onReleased, { passive: true, capture }); + } + if (touch) { + useEventListener(target, "touchstart", onPressed("touch"), { passive: true, capture }); + useEventListener(window2, "touchend", onReleased, { passive: true, capture }); + useEventListener(window2, "touchcancel", onReleased, { passive: true, capture }); + } + return { + pressed, + sourceType + }; +} +__name(useMousePressed, "useMousePressed"); +function useNavigatorLanguage(options3 = {}) { + const { window: window2 = defaultWindow } = options3; + const navigator2 = window2 == null ? void 0 : window2.navigator; + const isSupported2 = useSupported(() => navigator2 && "language" in navigator2); + const language = ref(navigator2 == null ? void 0 : navigator2.language); + useEventListener(window2, "languagechange", () => { + if (navigator2) + language.value = navigator2.language; + }); + return { + isSupported: isSupported2, + language + }; +} +__name(useNavigatorLanguage, "useNavigatorLanguage"); +function useNetwork(options3 = {}) { + const { window: window2 = defaultWindow } = options3; + const navigator2 = window2 == null ? void 0 : window2.navigator; + const isSupported2 = useSupported(() => navigator2 && "connection" in navigator2); + const isOnline = ref(true); + const saveData = ref(false); + const offlineAt = ref(void 0); + const onlineAt = ref(void 0); + const downlink = ref(void 0); + const downlinkMax = ref(void 0); + const rtt = ref(void 0); + const effectiveType = ref(void 0); + const type = ref("unknown"); + const connection = isSupported2.value && navigator2.connection; + function updateNetworkInformation() { + if (!navigator2) + return; + isOnline.value = navigator2.onLine; + offlineAt.value = isOnline.value ? void 0 : Date.now(); + onlineAt.value = isOnline.value ? Date.now() : void 0; + if (connection) { + downlink.value = connection.downlink; + downlinkMax.value = connection.downlinkMax; + effectiveType.value = connection.effectiveType; + rtt.value = connection.rtt; + saveData.value = connection.saveData; + type.value = connection.type; + } + } + __name(updateNetworkInformation, "updateNetworkInformation"); + if (window2) { + useEventListener(window2, "offline", () => { + isOnline.value = false; + offlineAt.value = Date.now(); + }); + useEventListener(window2, "online", () => { + isOnline.value = true; + onlineAt.value = Date.now(); + }); + } + if (connection) + useEventListener(connection, "change", updateNetworkInformation, false); + updateNetworkInformation(); + return { + isSupported: readonly(isSupported2), + isOnline: readonly(isOnline), + saveData: readonly(saveData), + offlineAt: readonly(offlineAt), + onlineAt: readonly(onlineAt), + downlink: readonly(downlink), + downlinkMax: readonly(downlinkMax), + effectiveType: readonly(effectiveType), + rtt: readonly(rtt), + type: readonly(type) + }; +} +__name(useNetwork, "useNetwork"); +function useNow(options3 = {}) { + const { + controls: exposeControls = false, + interval = "requestAnimationFrame" + } = options3; + const now2 = ref(/* @__PURE__ */ new Date()); + const update = /* @__PURE__ */ __name(() => now2.value = /* @__PURE__ */ new Date(), "update"); + const controls = interval === "requestAnimationFrame" ? useRafFn(update, { immediate: true }) : useIntervalFn(update, interval, { immediate: true }); + if (exposeControls) { + return { + now: now2, + ...controls + }; + } else { + return now2; + } +} +__name(useNow, "useNow"); +function useObjectUrl(object) { + const url = ref(); + const release = /* @__PURE__ */ __name(() => { + if (url.value) + URL.revokeObjectURL(url.value); + url.value = void 0; + }, "release"); + watch( + () => toValue(object), + (newObject) => { + release(); + if (newObject) + url.value = URL.createObjectURL(newObject); + }, + { immediate: true } + ); + tryOnScopeDispose(release); + return readonly(url); +} +__name(useObjectUrl, "useObjectUrl"); +function useClamp(value3, min, max) { + if (typeof value3 === "function" || isReadonly(value3)) + return computed(() => clamp(toValue(value3), toValue(min), toValue(max))); + const _value = ref(value3); + return computed({ + get() { + return _value.value = clamp(_value.value, toValue(min), toValue(max)); + }, + set(value22) { + _value.value = clamp(value22, toValue(min), toValue(max)); + } + }); +} +__name(useClamp, "useClamp"); +function useOffsetPagination(options3) { + const { + total = Number.POSITIVE_INFINITY, + pageSize = 10, + page = 1, + onPageChange = noop$1, + onPageSizeChange = noop$1, + onPageCountChange = noop$1 + } = options3; + const currentPageSize = useClamp(pageSize, 1, Number.POSITIVE_INFINITY); + const pageCount = computed(() => Math.max( + 1, + Math.ceil(toValue(total) / toValue(currentPageSize)) + )); + const currentPage = useClamp(page, 1, pageCount); + const isFirstPage = computed(() => currentPage.value === 1); + const isLastPage = computed(() => currentPage.value === pageCount.value); + if (isRef(page)) { + syncRef(page, currentPage, { + direction: isReadonly(page) ? "ltr" : "both" + }); + } + if (isRef(pageSize)) { + syncRef(pageSize, currentPageSize, { + direction: isReadonly(pageSize) ? "ltr" : "both" + }); + } + function prev2() { + currentPage.value--; + } + __name(prev2, "prev"); + function next2() { + currentPage.value++; + } + __name(next2, "next"); + const returnValue = { + currentPage, + currentPageSize, + pageCount, + isFirstPage, + isLastPage, + prev: prev2, + next: next2 + }; + watch(currentPage, () => { + onPageChange(reactive(returnValue)); + }); + watch(currentPageSize, () => { + onPageSizeChange(reactive(returnValue)); + }); + watch(pageCount, () => { + onPageCountChange(reactive(returnValue)); + }); + return returnValue; +} +__name(useOffsetPagination, "useOffsetPagination"); +function useOnline(options3 = {}) { + const { isOnline } = useNetwork(options3); + return isOnline; +} +__name(useOnline, "useOnline"); +function usePageLeave(options3 = {}) { + const { window: window2 = defaultWindow } = options3; + const isLeft = ref(false); + const handler6 = /* @__PURE__ */ __name((event2) => { + if (!window2) + return; + event2 = event2 || window2.event; + const from = event2.relatedTarget || event2.toElement; + isLeft.value = !from; + }, "handler"); + if (window2) { + useEventListener(window2, "mouseout", handler6, { passive: true }); + useEventListener(window2.document, "mouseleave", handler6, { passive: true }); + useEventListener(window2.document, "mouseenter", handler6, { passive: true }); + } + return isLeft; +} +__name(usePageLeave, "usePageLeave"); +function useScreenOrientation(options3 = {}) { + const { + window: window2 = defaultWindow + } = options3; + const isSupported2 = useSupported(() => window2 && "screen" in window2 && "orientation" in window2.screen); + const screenOrientation = isSupported2.value ? window2.screen.orientation : {}; + const orientation2 = ref(screenOrientation.type); + const angle = ref(screenOrientation.angle || 0); + if (isSupported2.value) { + useEventListener(window2, "orientationchange", () => { + orientation2.value = screenOrientation.type; + angle.value = screenOrientation.angle; + }); + } + const lockOrientation = /* @__PURE__ */ __name((type) => { + if (isSupported2.value && typeof screenOrientation.lock === "function") + return screenOrientation.lock(type); + return Promise.reject(new Error("Not supported")); + }, "lockOrientation"); + const unlockOrientation = /* @__PURE__ */ __name(() => { + if (isSupported2.value && typeof screenOrientation.unlock === "function") + screenOrientation.unlock(); + }, "unlockOrientation"); + return { + isSupported: isSupported2, + orientation: orientation2, + angle, + lockOrientation, + unlockOrientation + }; +} +__name(useScreenOrientation, "useScreenOrientation"); +function useParallax(target, options3 = {}) { + const { + deviceOrientationTiltAdjust = /* @__PURE__ */ __name((i2) => i2, "deviceOrientationTiltAdjust"), + deviceOrientationRollAdjust = /* @__PURE__ */ __name((i2) => i2, "deviceOrientationRollAdjust"), + mouseTiltAdjust = /* @__PURE__ */ __name((i2) => i2, "mouseTiltAdjust"), + mouseRollAdjust = /* @__PURE__ */ __name((i2) => i2, "mouseRollAdjust"), + window: window2 = defaultWindow + } = options3; + const orientation2 = reactive(useDeviceOrientation({ window: window2 })); + const screenOrientation = reactive(useScreenOrientation({ window: window2 })); + const { + elementX: x2, + elementY: y2, + elementWidth: width2, + elementHeight: height + } = useMouseInElement(target, { handleOutside: false, window: window2 }); + const source = computed(() => { + if (orientation2.isSupported && (orientation2.alpha != null && orientation2.alpha !== 0 || orientation2.gamma != null && orientation2.gamma !== 0)) { + return "deviceOrientation"; + } + return "mouse"; + }); + const roll = computed(() => { + if (source.value === "deviceOrientation") { + let value3; + switch (screenOrientation.orientation) { + case "landscape-primary": + value3 = orientation2.gamma / 90; + break; + case "landscape-secondary": + value3 = -orientation2.gamma / 90; + break; + case "portrait-primary": + value3 = -orientation2.beta / 90; + break; + case "portrait-secondary": + value3 = orientation2.beta / 90; + break; + default: + value3 = -orientation2.beta / 90; + } + return deviceOrientationRollAdjust(value3); + } else { + const value3 = -(y2.value - height.value / 2) / height.value; + return mouseRollAdjust(value3); + } + }); + const tilt = computed(() => { + if (source.value === "deviceOrientation") { + let value3; + switch (screenOrientation.orientation) { + case "landscape-primary": + value3 = orientation2.beta / 90; + break; + case "landscape-secondary": + value3 = -orientation2.beta / 90; + break; + case "portrait-primary": + value3 = orientation2.gamma / 90; + break; + case "portrait-secondary": + value3 = -orientation2.gamma / 90; + break; + default: + value3 = orientation2.gamma / 90; + } + return deviceOrientationTiltAdjust(value3); + } else { + const value3 = (x2.value - width2.value / 2) / width2.value; + return mouseTiltAdjust(value3); + } + }); + return { roll, tilt, source }; +} +__name(useParallax, "useParallax"); +function useParentElement(element = useCurrentElement()) { + const parentElement = shallowRef(); + const update = /* @__PURE__ */ __name(() => { + const el = unrefElement(element); + if (el) + parentElement.value = el.parentElement; + }, "update"); + tryOnMounted(update); + watch(() => toValue(element), update); + return parentElement; +} +__name(useParentElement, "useParentElement"); +function usePerformanceObserver(options3, callback) { + const { + window: window2 = defaultWindow, + immediate = true, + ...performanceOptions + } = options3; + const isSupported2 = useSupported(() => window2 && "PerformanceObserver" in window2); + let observer; + const stop2 = /* @__PURE__ */ __name(() => { + observer == null ? void 0 : observer.disconnect(); + }, "stop"); + const start2 = /* @__PURE__ */ __name(() => { + if (isSupported2.value) { + stop2(); + observer = new PerformanceObserver(callback); + observer.observe(performanceOptions); + } + }, "start"); + tryOnScopeDispose(stop2); + if (immediate) + start2(); + return { + isSupported: isSupported2, + start: start2, + stop: stop2 + }; +} +__name(usePerformanceObserver, "usePerformanceObserver"); +const defaultState = { + x: 0, + y: 0, + pointerId: 0, + pressure: 0, + tiltX: 0, + tiltY: 0, + width: 0, + height: 0, + twist: 0, + pointerType: null +}; +const keys = /* @__PURE__ */ Object.keys(defaultState); +function usePointer(options3 = {}) { + const { + target = defaultWindow + } = options3; + const isInside = ref(false); + const state = ref(options3.initialValue || {}); + Object.assign(state.value, defaultState, state.value); + const handler6 = /* @__PURE__ */ __name((event2) => { + isInside.value = true; + if (options3.pointerTypes && !options3.pointerTypes.includes(event2.pointerType)) + return; + state.value = objectPick(event2, keys, false); + }, "handler"); + if (target) { + const listenerOptions = { passive: true }; + useEventListener(target, ["pointerdown", "pointermove", "pointerup"], handler6, listenerOptions); + useEventListener(target, "pointerleave", () => isInside.value = false, listenerOptions); + } + return { + ...toRefs(state), + isInside + }; +} +__name(usePointer, "usePointer"); +function usePointerLock(target, options3 = {}) { + const { document: document2 = defaultDocument } = options3; + const isSupported2 = useSupported(() => document2 && "pointerLockElement" in document2); + const element = ref(); + const triggerElement = ref(); + let targetElement; + if (isSupported2.value) { + useEventListener(document2, "pointerlockchange", () => { + var _a; + const currentElement = (_a = document2.pointerLockElement) != null ? _a : element.value; + if (targetElement && currentElement === targetElement) { + element.value = document2.pointerLockElement; + if (!element.value) + targetElement = triggerElement.value = null; + } + }); + useEventListener(document2, "pointerlockerror", () => { + var _a; + const currentElement = (_a = document2.pointerLockElement) != null ? _a : element.value; + if (targetElement && currentElement === targetElement) { + const action = document2.pointerLockElement ? "release" : "acquire"; + throw new Error(`Failed to ${action} pointer lock.`); + } + }); + } + async function lock(e) { + var _a; + if (!isSupported2.value) + throw new Error("Pointer Lock API is not supported by your browser."); + triggerElement.value = e instanceof Event ? e.currentTarget : null; + targetElement = e instanceof Event ? (_a = unrefElement(target)) != null ? _a : triggerElement.value : unrefElement(e); + if (!targetElement) + throw new Error("Target element undefined."); + targetElement.requestPointerLock(); + return await until(element).toBe(targetElement); + } + __name(lock, "lock"); + async function unlock() { + if (!element.value) + return false; + document2.exitPointerLock(); + await until(element).toBeNull(); + return true; + } + __name(unlock, "unlock"); + return { + isSupported: isSupported2, + element, + triggerElement, + lock, + unlock + }; +} +__name(usePointerLock, "usePointerLock"); +function usePointerSwipe(target, options3 = {}) { + const targetRef = toRef(target); + const { + threshold = 50, + onSwipe, + onSwipeEnd, + onSwipeStart, + disableTextSelect = false + } = options3; + const posStart = reactive({ x: 0, y: 0 }); + const updatePosStart = /* @__PURE__ */ __name((x2, y2) => { + posStart.x = x2; + posStart.y = y2; + }, "updatePosStart"); + const posEnd = reactive({ x: 0, y: 0 }); + const updatePosEnd = /* @__PURE__ */ __name((x2, y2) => { + posEnd.x = x2; + posEnd.y = y2; + }, "updatePosEnd"); + const distanceX = computed(() => posStart.x - posEnd.x); + const distanceY = computed(() => posStart.y - posEnd.y); + const { max, abs } = Math; + const isThresholdExceeded = computed(() => max(abs(distanceX.value), abs(distanceY.value)) >= threshold); + const isSwiping = ref(false); + const isPointerDown = ref(false); + const direction = computed(() => { + if (!isThresholdExceeded.value) + return "none"; + if (abs(distanceX.value) > abs(distanceY.value)) { + return distanceX.value > 0 ? "left" : "right"; + } else { + return distanceY.value > 0 ? "up" : "down"; + } + }); + const eventIsAllowed = /* @__PURE__ */ __name((e) => { + var _a, _b, _c; + const isReleasingButton = e.buttons === 0; + const isPrimaryButton = e.buttons === 1; + return (_c = (_b = (_a = options3.pointerTypes) == null ? void 0 : _a.includes(e.pointerType)) != null ? _b : isReleasingButton || isPrimaryButton) != null ? _c : true; + }, "eventIsAllowed"); + const stops = [ + useEventListener(target, "pointerdown", (e) => { + if (!eventIsAllowed(e)) + return; + isPointerDown.value = true; + const eventTarget = e.target; + eventTarget == null ? void 0 : eventTarget.setPointerCapture(e.pointerId); + const { clientX: x2, clientY: y2 } = e; + updatePosStart(x2, y2); + updatePosEnd(x2, y2); + onSwipeStart == null ? void 0 : onSwipeStart(e); + }), + useEventListener(target, "pointermove", (e) => { + if (!eventIsAllowed(e)) + return; + if (!isPointerDown.value) + return; + const { clientX: x2, clientY: y2 } = e; + updatePosEnd(x2, y2); + if (!isSwiping.value && isThresholdExceeded.value) + isSwiping.value = true; + if (isSwiping.value) + onSwipe == null ? void 0 : onSwipe(e); + }), + useEventListener(target, "pointerup", (e) => { + if (!eventIsAllowed(e)) + return; + if (isSwiping.value) + onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value); + isPointerDown.value = false; + isSwiping.value = false; + }) + ]; + tryOnMounted(() => { + var _a, _b, _c, _d, _e, _f, _g, _h; + (_b = (_a = targetRef.value) == null ? void 0 : _a.style) == null ? void 0 : _b.setProperty("touch-action", "none"); + if (disableTextSelect) { + (_d = (_c = targetRef.value) == null ? void 0 : _c.style) == null ? void 0 : _d.setProperty("-webkit-user-select", "none"); + (_f = (_e = targetRef.value) == null ? void 0 : _e.style) == null ? void 0 : _f.setProperty("-ms-user-select", "none"); + (_h = (_g = targetRef.value) == null ? void 0 : _g.style) == null ? void 0 : _h.setProperty("user-select", "none"); + } + }); + const stop2 = /* @__PURE__ */ __name(() => stops.forEach((s) => s()), "stop"); + return { + isSwiping: readonly(isSwiping), + direction: readonly(direction), + posStart: readonly(posStart), + posEnd: readonly(posEnd), + distanceX, + distanceY, + stop: stop2 + }; +} +__name(usePointerSwipe, "usePointerSwipe"); +function usePreferredColorScheme(options3) { + const isLight = useMediaQuery("(prefers-color-scheme: light)", options3); + const isDark = useMediaQuery("(prefers-color-scheme: dark)", options3); + return computed(() => { + if (isDark.value) + return "dark"; + if (isLight.value) + return "light"; + return "no-preference"; + }); +} +__name(usePreferredColorScheme, "usePreferredColorScheme"); +function usePreferredContrast(options3) { + const isMore = useMediaQuery("(prefers-contrast: more)", options3); + const isLess = useMediaQuery("(prefers-contrast: less)", options3); + const isCustom = useMediaQuery("(prefers-contrast: custom)", options3); + return computed(() => { + if (isMore.value) + return "more"; + if (isLess.value) + return "less"; + if (isCustom.value) + return "custom"; + return "no-preference"; + }); +} +__name(usePreferredContrast, "usePreferredContrast"); +function usePreferredLanguages(options3 = {}) { + const { window: window2 = defaultWindow } = options3; + if (!window2) + return ref(["en"]); + const navigator2 = window2.navigator; + const value3 = ref(navigator2.languages); + useEventListener(window2, "languagechange", () => { + value3.value = navigator2.languages; + }); + return value3; +} +__name(usePreferredLanguages, "usePreferredLanguages"); +function usePreferredReducedMotion(options3) { + const isReduced = useMediaQuery("(prefers-reduced-motion: reduce)", options3); + return computed(() => { + if (isReduced.value) + return "reduce"; + return "no-preference"; + }); +} +__name(usePreferredReducedMotion, "usePreferredReducedMotion"); +function usePrevious(value3, initialValue) { + const previous = shallowRef(initialValue); + watch( + toRef(value3), + (_2, oldValue) => { + previous.value = oldValue; + }, + { flush: "sync" } + ); + return readonly(previous); +} +__name(usePrevious, "usePrevious"); +const topVarName = "--vueuse-safe-area-top"; +const rightVarName = "--vueuse-safe-area-right"; +const bottomVarName = "--vueuse-safe-area-bottom"; +const leftVarName = "--vueuse-safe-area-left"; +function useScreenSafeArea() { + const top = ref(""); + const right = ref(""); + const bottom = ref(""); + const left = ref(""); + if (isClient) { + const topCssVar = useCssVar(topVarName); + const rightCssVar = useCssVar(rightVarName); + const bottomCssVar = useCssVar(bottomVarName); + const leftCssVar = useCssVar(leftVarName); + topCssVar.value = "env(safe-area-inset-top, 0px)"; + rightCssVar.value = "env(safe-area-inset-right, 0px)"; + bottomCssVar.value = "env(safe-area-inset-bottom, 0px)"; + leftCssVar.value = "env(safe-area-inset-left, 0px)"; + update(); + useEventListener("resize", useDebounceFn(update)); + } + function update() { + top.value = getValue(topVarName); + right.value = getValue(rightVarName); + bottom.value = getValue(bottomVarName); + left.value = getValue(leftVarName); + } + __name(update, "update"); + return { + top, + right, + bottom, + left, + update + }; +} +__name(useScreenSafeArea, "useScreenSafeArea"); +function getValue(position2) { + return getComputedStyle(document.documentElement).getPropertyValue(position2); +} +__name(getValue, "getValue"); +function useScriptTag(src, onLoaded = noop$1, options3 = {}) { + const { + immediate = true, + manual = false, + type = "text/javascript", + async = true, + crossOrigin, + referrerPolicy, + noModule, + defer, + document: document2 = defaultDocument, + attrs: attrs3 = {} + } = options3; + const scriptTag = ref(null); + let _promise = null; + const loadScript = /* @__PURE__ */ __name((waitForScriptLoad) => new Promise((resolve2, reject2) => { + const resolveWithElement = /* @__PURE__ */ __name((el2) => { + scriptTag.value = el2; + resolve2(el2); + return el2; + }, "resolveWithElement"); + if (!document2) { + resolve2(false); + return; + } + let shouldAppend = false; + let el = document2.querySelector(`script[src="${toValue(src)}"]`); + if (!el) { + el = document2.createElement("script"); + el.type = type; + el.async = async; + el.src = toValue(src); + if (defer) + el.defer = defer; + if (crossOrigin) + el.crossOrigin = crossOrigin; + if (noModule) + el.noModule = noModule; + if (referrerPolicy) + el.referrerPolicy = referrerPolicy; + Object.entries(attrs3).forEach(([name, value3]) => el == null ? void 0 : el.setAttribute(name, value3)); + shouldAppend = true; + } else if (el.hasAttribute("data-loaded")) { + resolveWithElement(el); + } + el.addEventListener("error", (event2) => reject2(event2)); + el.addEventListener("abort", (event2) => reject2(event2)); + el.addEventListener("load", () => { + el.setAttribute("data-loaded", "true"); + onLoaded(el); + resolveWithElement(el); + }); + if (shouldAppend) + el = document2.head.appendChild(el); + if (!waitForScriptLoad) + resolveWithElement(el); + }), "loadScript"); + const load2 = /* @__PURE__ */ __name((waitForScriptLoad = true) => { + if (!_promise) + _promise = loadScript(waitForScriptLoad); + return _promise; + }, "load"); + const unload = /* @__PURE__ */ __name(() => { + if (!document2) + return; + _promise = null; + if (scriptTag.value) + scriptTag.value = null; + const el = document2.querySelector(`script[src="${toValue(src)}"]`); + if (el) + document2.head.removeChild(el); + }, "unload"); + if (immediate && !manual) + tryOnMounted(load2); + if (!manual) + tryOnUnmounted(unload); + return { scriptTag, load: load2, unload }; +} +__name(useScriptTag, "useScriptTag"); +function checkOverflowScroll(ele) { + const style = window.getComputedStyle(ele); + if (style.overflowX === "scroll" || style.overflowY === "scroll" || style.overflowX === "auto" && ele.clientWidth < ele.scrollWidth || style.overflowY === "auto" && ele.clientHeight < ele.scrollHeight) { + return true; + } else { + const parent = ele.parentNode; + if (!parent || parent.tagName === "BODY") + return false; + return checkOverflowScroll(parent); + } +} +__name(checkOverflowScroll, "checkOverflowScroll"); +function preventDefault(rawEvent) { + const e = rawEvent || window.event; + const _target = e.target; + if (checkOverflowScroll(_target)) + return false; + if (e.touches.length > 1) + return true; + if (e.preventDefault) + e.preventDefault(); + return false; +} +__name(preventDefault, "preventDefault"); +const elInitialOverflow = /* @__PURE__ */ new WeakMap(); +function useScrollLock(element, initialState = false) { + const isLocked = ref(initialState); + let stopTouchMoveListener = null; + let initialOverflow = ""; + watch(toRef(element), (el) => { + const target = resolveElement(toValue(el)); + if (target) { + const ele = target; + if (!elInitialOverflow.get(ele)) + elInitialOverflow.set(ele, ele.style.overflow); + if (ele.style.overflow !== "hidden") + initialOverflow = ele.style.overflow; + if (ele.style.overflow === "hidden") + return isLocked.value = true; + if (isLocked.value) + return ele.style.overflow = "hidden"; + } + }, { + immediate: true + }); + const lock = /* @__PURE__ */ __name(() => { + const el = resolveElement(toValue(element)); + if (!el || isLocked.value) + return; + if (isIOS) { + stopTouchMoveListener = useEventListener( + el, + "touchmove", + (e) => { + preventDefault(e); + }, + { passive: false } + ); + } + el.style.overflow = "hidden"; + isLocked.value = true; + }, "lock"); + const unlock = /* @__PURE__ */ __name(() => { + const el = resolveElement(toValue(element)); + if (!el || !isLocked.value) + return; + if (isIOS) + stopTouchMoveListener == null ? void 0 : stopTouchMoveListener(); + el.style.overflow = initialOverflow; + elInitialOverflow.delete(el); + isLocked.value = false; + }, "unlock"); + tryOnScopeDispose(unlock); + return computed({ + get() { + return isLocked.value; + }, + set(v2) { + if (v2) + lock(); + else unlock(); + } + }); +} +__name(useScrollLock, "useScrollLock"); +function useSessionStorage(key, initialValue, options3 = {}) { + const { window: window2 = defaultWindow } = options3; + return useStorage(key, initialValue, window2 == null ? void 0 : window2.sessionStorage, options3); +} +__name(useSessionStorage, "useSessionStorage"); +function useShare(shareOptions = {}, options3 = {}) { + const { navigator: navigator2 = defaultNavigator } = options3; + const _navigator2 = navigator2; + const isSupported2 = useSupported(() => _navigator2 && "canShare" in _navigator2); + const share = /* @__PURE__ */ __name(async (overrideOptions = {}) => { + if (isSupported2.value) { + const data21 = { + ...toValue(shareOptions), + ...toValue(overrideOptions) + }; + let granted = true; + if (data21.files && _navigator2.canShare) + granted = _navigator2.canShare({ files: data21.files }); + if (granted) + return _navigator2.share(data21); + } + }, "share"); + return { + isSupported: isSupported2, + share + }; +} +__name(useShare, "useShare"); +const defaultSortFn = /* @__PURE__ */ __name((source, compareFn) => source.sort(compareFn), "defaultSortFn"); +const defaultCompare = /* @__PURE__ */ __name((a, b) => a - b, "defaultCompare"); +function useSorted(...args) { + var _a, _b, _c, _d; + const [source] = args; + let compareFn = defaultCompare; + let options3 = {}; + if (args.length === 2) { + if (typeof args[1] === "object") { + options3 = args[1]; + compareFn = (_a = options3.compareFn) != null ? _a : defaultCompare; + } else { + compareFn = (_b = args[1]) != null ? _b : defaultCompare; + } + } else if (args.length > 2) { + compareFn = (_c = args[1]) != null ? _c : defaultCompare; + options3 = (_d = args[2]) != null ? _d : {}; + } + const { + dirty = false, + sortFn = defaultSortFn + } = options3; + if (!dirty) + return computed(() => sortFn([...toValue(source)], compareFn)); + watchEffect(() => { + const result = sortFn(toValue(source), compareFn); + if (isRef(source)) + source.value = result; + else + source.splice(0, source.length, ...result); + }); + return source; +} +__name(useSorted, "useSorted"); +function useSpeechRecognition(options3 = {}) { + const { + interimResults = true, + continuous = true, + maxAlternatives = 1, + window: window2 = defaultWindow + } = options3; + const lang = toRef(options3.lang || "en-US"); + const isListening = ref(false); + const isFinal = ref(false); + const result = ref(""); + const error = shallowRef(void 0); + const toggle4 = /* @__PURE__ */ __name((value3 = !isListening.value) => { + isListening.value = value3; + }, "toggle"); + const start2 = /* @__PURE__ */ __name(() => { + isListening.value = true; + }, "start"); + const stop2 = /* @__PURE__ */ __name(() => { + isListening.value = false; + }, "stop"); + const SpeechRecognition = window2 && (window2.SpeechRecognition || window2.webkitSpeechRecognition); + const isSupported2 = useSupported(() => SpeechRecognition); + let recognition; + if (isSupported2.value) { + recognition = new SpeechRecognition(); + recognition.continuous = continuous; + recognition.interimResults = interimResults; + recognition.lang = toValue(lang); + recognition.maxAlternatives = maxAlternatives; + recognition.onstart = () => { + isFinal.value = false; + }; + watch(lang, (lang2) => { + if (recognition && !isListening.value) + recognition.lang = lang2; + }); + recognition.onresult = (event2) => { + const currentResult = event2.results[event2.resultIndex]; + const { transcript } = currentResult[0]; + isFinal.value = currentResult.isFinal; + result.value = transcript; + error.value = void 0; + }; + recognition.onerror = (event2) => { + error.value = event2; + }; + recognition.onend = () => { + isListening.value = false; + recognition.lang = toValue(lang); + }; + watch(isListening, () => { + if (isListening.value) + recognition.start(); + else + recognition.stop(); + }); + } + tryOnScopeDispose(() => { + isListening.value = false; + }); + return { + isSupported: isSupported2, + isListening, + isFinal, + recognition, + result, + error, + toggle: toggle4, + start: start2, + stop: stop2 + }; +} +__name(useSpeechRecognition, "useSpeechRecognition"); +function useSpeechSynthesis(text, options3 = {}) { + const { + pitch = 1, + rate = 1, + volume = 1, + window: window2 = defaultWindow + } = options3; + const synth = window2 && window2.speechSynthesis; + const isSupported2 = useSupported(() => synth); + const isPlaying = ref(false); + const status = ref("init"); + const spokenText = toRef(text || ""); + const lang = toRef(options3.lang || "en-US"); + const error = shallowRef(void 0); + const toggle4 = /* @__PURE__ */ __name((value3 = !isPlaying.value) => { + isPlaying.value = value3; + }, "toggle"); + const bindEventsForUtterance = /* @__PURE__ */ __name((utterance2) => { + utterance2.lang = toValue(lang); + utterance2.voice = toValue(options3.voice) || null; + utterance2.pitch = toValue(pitch); + utterance2.rate = toValue(rate); + utterance2.volume = volume; + utterance2.onstart = () => { + isPlaying.value = true; + status.value = "play"; + }; + utterance2.onpause = () => { + isPlaying.value = false; + status.value = "pause"; + }; + utterance2.onresume = () => { + isPlaying.value = true; + status.value = "play"; + }; + utterance2.onend = () => { + isPlaying.value = false; + status.value = "end"; + }; + utterance2.onerror = (event2) => { + error.value = event2; + }; + }, "bindEventsForUtterance"); + const utterance = computed(() => { + isPlaying.value = false; + status.value = "init"; + const newUtterance = new SpeechSynthesisUtterance(spokenText.value); + bindEventsForUtterance(newUtterance); + return newUtterance; + }); + const speak = /* @__PURE__ */ __name(() => { + synth.cancel(); + if (utterance) + synth.speak(utterance.value); + }, "speak"); + const stop2 = /* @__PURE__ */ __name(() => { + synth.cancel(); + isPlaying.value = false; + }, "stop"); + if (isSupported2.value) { + bindEventsForUtterance(utterance.value); + watch(lang, (lang2) => { + if (utterance.value && !isPlaying.value) + utterance.value.lang = lang2; + }); + if (options3.voice) { + watch(options3.voice, () => { + synth.cancel(); + }); + } + watch(isPlaying, () => { + if (isPlaying.value) + synth.resume(); + else + synth.pause(); + }); + } + tryOnScopeDispose(() => { + isPlaying.value = false; + }); + return { + isSupported: isSupported2, + isPlaying, + status, + utterance, + error, + stop: stop2, + toggle: toggle4, + speak + }; +} +__name(useSpeechSynthesis, "useSpeechSynthesis"); +function useStepper(steps, initialStep) { + const stepsRef = ref(steps); + const stepNames = computed(() => Array.isArray(stepsRef.value) ? stepsRef.value : Object.keys(stepsRef.value)); + const index2 = ref(stepNames.value.indexOf(initialStep != null ? initialStep : stepNames.value[0])); + const current = computed(() => at(index2.value)); + const isFirst = computed(() => index2.value === 0); + const isLast = computed(() => index2.value === stepNames.value.length - 1); + const next2 = computed(() => stepNames.value[index2.value + 1]); + const previous = computed(() => stepNames.value[index2.value - 1]); + function at(index22) { + if (Array.isArray(stepsRef.value)) + return stepsRef.value[index22]; + return stepsRef.value[stepNames.value[index22]]; + } + __name(at, "at"); + function get2(step2) { + if (!stepNames.value.includes(step2)) + return; + return at(stepNames.value.indexOf(step2)); + } + __name(get2, "get"); + function goTo(step2) { + if (stepNames.value.includes(step2)) + index2.value = stepNames.value.indexOf(step2); + } + __name(goTo, "goTo"); + function goToNext() { + if (isLast.value) + return; + index2.value++; + } + __name(goToNext, "goToNext"); + function goToPrevious() { + if (isFirst.value) + return; + index2.value--; + } + __name(goToPrevious, "goToPrevious"); + function goBackTo(step2) { + if (isAfter(step2)) + goTo(step2); + } + __name(goBackTo, "goBackTo"); + function isNext(step2) { + return stepNames.value.indexOf(step2) === index2.value + 1; + } + __name(isNext, "isNext"); + function isPrevious(step2) { + return stepNames.value.indexOf(step2) === index2.value - 1; + } + __name(isPrevious, "isPrevious"); + function isCurrent(step2) { + return stepNames.value.indexOf(step2) === index2.value; + } + __name(isCurrent, "isCurrent"); + function isBefore(step2) { + return index2.value < stepNames.value.indexOf(step2); + } + __name(isBefore, "isBefore"); + function isAfter(step2) { + return index2.value > stepNames.value.indexOf(step2); + } + __name(isAfter, "isAfter"); + return { + steps: stepsRef, + stepNames, + index: index2, + current, + next: next2, + previous, + isFirst, + isLast, + at, + get: get2, + goTo, + goToNext, + goToPrevious, + goBackTo, + isNext, + isPrevious, + isCurrent, + isBefore, + isAfter + }; +} +__name(useStepper, "useStepper"); +function useStorageAsync(key, initialValue, storage, options3 = {}) { + var _a; + const { + flush = "pre", + deep = true, + listenToStorageChanges = true, + writeDefaults = true, + mergeDefaults: mergeDefaults2 = false, + shallow, + window: window2 = defaultWindow, + eventFilter, + onError = /* @__PURE__ */ __name((e) => { + console.error(e); + }, "onError") + } = options3; + const rawInit = toValue(initialValue); + const type = guessSerializerType(rawInit); + const data21 = (shallow ? shallowRef : ref)(initialValue); + const serializer = (_a = options3.serializer) != null ? _a : StorageSerializers[type]; + if (!storage) { + try { + storage = getSSRHandler("getDefaultStorageAsync", () => { + var _a2; + return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage; + })(); + } catch (e) { + onError(e); + } + } + async function read(event2) { + if (!storage || event2 && event2.key !== key) + return; + try { + const rawValue = event2 ? event2.newValue : await storage.getItem(key); + if (rawValue == null) { + data21.value = rawInit; + if (writeDefaults && rawInit !== null) + await storage.setItem(key, await serializer.write(rawInit)); + } else if (mergeDefaults2) { + const value3 = await serializer.read(rawValue); + if (typeof mergeDefaults2 === "function") + data21.value = mergeDefaults2(value3, rawInit); + else if (type === "object" && !Array.isArray(value3)) + data21.value = { ...rawInit, ...value3 }; + else data21.value = value3; + } else { + data21.value = await serializer.read(rawValue); + } + } catch (e) { + onError(e); + } + } + __name(read, "read"); + read(); + if (window2 && listenToStorageChanges) + useEventListener(window2, "storage", (e) => Promise.resolve().then(() => read(e))); + if (storage) { + watchWithFilter( + data21, + async () => { + try { + if (data21.value == null) + await storage.removeItem(key); + else + await storage.setItem(key, await serializer.write(data21.value)); + } catch (e) { + onError(e); + } + }, + { + flush, + deep, + eventFilter + } + ); + } + return data21; +} +__name(useStorageAsync, "useStorageAsync"); +let _id = 0; +function useStyleTag(css3, options3 = {}) { + const isLoaded = ref(false); + const { + document: document2 = defaultDocument, + immediate = true, + manual = false, + id: id3 = `vueuse_styletag_${++_id}` + } = options3; + const cssRef = ref(css3); + let stop2 = /* @__PURE__ */ __name(() => { + }, "stop"); + const load2 = /* @__PURE__ */ __name(() => { + if (!document2) + return; + const el = document2.getElementById(id3) || document2.createElement("style"); + if (!el.isConnected) { + el.id = id3; + if (options3.media) + el.media = options3.media; + document2.head.appendChild(el); + } + if (isLoaded.value) + return; + stop2 = watch( + cssRef, + (value3) => { + el.textContent = value3; + }, + { immediate: true } + ); + isLoaded.value = true; + }, "load"); + const unload = /* @__PURE__ */ __name(() => { + if (!document2 || !isLoaded.value) + return; + stop2(); + document2.head.removeChild(document2.getElementById(id3)); + isLoaded.value = false; + }, "unload"); + if (immediate && !manual) + tryOnMounted(load2); + if (!manual) + tryOnScopeDispose(unload); + return { + id: id3, + css: cssRef, + unload, + load: load2, + isLoaded: readonly(isLoaded) + }; +} +__name(useStyleTag, "useStyleTag"); +function useSwipe(target, options3 = {}) { + const { + threshold = 50, + onSwipe, + onSwipeEnd, + onSwipeStart, + passive = true, + window: window2 = defaultWindow + } = options3; + const coordsStart = reactive({ x: 0, y: 0 }); + const coordsEnd = reactive({ x: 0, y: 0 }); + const diffX = computed(() => coordsStart.x - coordsEnd.x); + const diffY = computed(() => coordsStart.y - coordsEnd.y); + const { max, abs } = Math; + const isThresholdExceeded = computed(() => max(abs(diffX.value), abs(diffY.value)) >= threshold); + const isSwiping = ref(false); + const direction = computed(() => { + if (!isThresholdExceeded.value) + return "none"; + if (abs(diffX.value) > abs(diffY.value)) { + return diffX.value > 0 ? "left" : "right"; + } else { + return diffY.value > 0 ? "up" : "down"; + } + }); + const getTouchEventCoords = /* @__PURE__ */ __name((e) => [e.touches[0].clientX, e.touches[0].clientY], "getTouchEventCoords"); + const updateCoordsStart = /* @__PURE__ */ __name((x2, y2) => { + coordsStart.x = x2; + coordsStart.y = y2; + }, "updateCoordsStart"); + const updateCoordsEnd = /* @__PURE__ */ __name((x2, y2) => { + coordsEnd.x = x2; + coordsEnd.y = y2; + }, "updateCoordsEnd"); + let listenerOptions; + const isPassiveEventSupported = checkPassiveEventSupport(window2 == null ? void 0 : window2.document); + if (!passive) + listenerOptions = isPassiveEventSupported ? { passive: false, capture: true } : { capture: true }; + else + listenerOptions = isPassiveEventSupported ? { passive: true } : { capture: false }; + const onTouchEnd3 = /* @__PURE__ */ __name((e) => { + if (isSwiping.value) + onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value); + isSwiping.value = false; + }, "onTouchEnd"); + const stops = [ + useEventListener(target, "touchstart", (e) => { + if (e.touches.length !== 1) + return; + if (listenerOptions.capture && !listenerOptions.passive) + e.preventDefault(); + const [x2, y2] = getTouchEventCoords(e); + updateCoordsStart(x2, y2); + updateCoordsEnd(x2, y2); + onSwipeStart == null ? void 0 : onSwipeStart(e); + }, listenerOptions), + useEventListener(target, "touchmove", (e) => { + if (e.touches.length !== 1) + return; + const [x2, y2] = getTouchEventCoords(e); + updateCoordsEnd(x2, y2); + if (!isSwiping.value && isThresholdExceeded.value) + isSwiping.value = true; + if (isSwiping.value) + onSwipe == null ? void 0 : onSwipe(e); + }, listenerOptions), + useEventListener(target, ["touchend", "touchcancel"], onTouchEnd3, listenerOptions) + ]; + const stop2 = /* @__PURE__ */ __name(() => stops.forEach((s) => s()), "stop"); + return { + isPassiveEventSupported, + isSwiping, + direction, + coordsStart, + coordsEnd, + lengthX: diffX, + lengthY: diffY, + stop: stop2 + }; +} +__name(useSwipe, "useSwipe"); +function checkPassiveEventSupport(document2) { + if (!document2) + return false; + let supportsPassive = false; + const optionsBlock = { + get passive() { + supportsPassive = true; + return false; + } + }; + document2.addEventListener("x", noop$1, optionsBlock); + document2.removeEventListener("x", noop$1); + return supportsPassive; +} +__name(checkPassiveEventSupport, "checkPassiveEventSupport"); +function useTemplateRefsList() { + const refs = ref([]); + refs.value.set = (el) => { + if (el) + refs.value.push(el); + }; + onBeforeUpdate(() => { + refs.value.length = 0; + }); + return refs; +} +__name(useTemplateRefsList, "useTemplateRefsList"); +function useTextDirection(options3 = {}) { + const { + document: document2 = defaultDocument, + selector = "html", + observe = false, + initialValue = "ltr" + } = options3; + function getValue2() { + var _a, _b; + return (_b = (_a = document2 == null ? void 0 : document2.querySelector(selector)) == null ? void 0 : _a.getAttribute("dir")) != null ? _b : initialValue; + } + __name(getValue2, "getValue2"); + const dir = ref(getValue2()); + tryOnMounted(() => dir.value = getValue2()); + if (observe && document2) { + useMutationObserver( + document2.querySelector(selector), + () => dir.value = getValue2(), + { attributes: true } + ); + } + return computed({ + get() { + return dir.value; + }, + set(v2) { + var _a, _b; + dir.value = v2; + if (!document2) + return; + if (dir.value) + (_a = document2.querySelector(selector)) == null ? void 0 : _a.setAttribute("dir", dir.value); + else + (_b = document2.querySelector(selector)) == null ? void 0 : _b.removeAttribute("dir"); + } + }); +} +__name(useTextDirection, "useTextDirection"); +function getRangesFromSelection(selection) { + var _a; + const rangeCount = (_a = selection.rangeCount) != null ? _a : 0; + return Array.from({ length: rangeCount }, (_2, i2) => selection.getRangeAt(i2)); +} +__name(getRangesFromSelection, "getRangesFromSelection"); +function useTextSelection(options3 = {}) { + const { + window: window2 = defaultWindow + } = options3; + const selection = ref(null); + const text = computed(() => { + var _a, _b; + return (_b = (_a = selection.value) == null ? void 0 : _a.toString()) != null ? _b : ""; + }); + const ranges = computed(() => selection.value ? getRangesFromSelection(selection.value) : []); + const rects = computed(() => ranges.value.map((range2) => range2.getBoundingClientRect())); + function onSelectionChange() { + selection.value = null; + if (window2) + selection.value = window2.getSelection(); + } + __name(onSelectionChange, "onSelectionChange"); + if (window2) + useEventListener(window2.document, "selectionchange", onSelectionChange); + return { + text, + rects, + ranges, + selection + }; +} +__name(useTextSelection, "useTextSelection"); +function useTextareaAutosize(options3) { + var _a; + const textarea = ref(options3 == null ? void 0 : options3.element); + const input = ref(options3 == null ? void 0 : options3.input); + const styleProp = (_a = options3 == null ? void 0 : options3.styleProp) != null ? _a : "height"; + const textareaScrollHeight = ref(1); + const textareaOldWidth = ref(0); + function triggerResize() { + var _a2; + if (!textarea.value) + return; + let height = ""; + textarea.value.style[styleProp] = "1px"; + textareaScrollHeight.value = (_a2 = textarea.value) == null ? void 0 : _a2.scrollHeight; + const _styleTarget = toValue(options3 == null ? void 0 : options3.styleTarget); + if (_styleTarget) + _styleTarget.style[styleProp] = `${textareaScrollHeight.value}px`; + else + height = `${textareaScrollHeight.value}px`; + textarea.value.style[styleProp] = height; + } + __name(triggerResize, "triggerResize"); + watch([input, textarea], () => nextTick(triggerResize), { immediate: true }); + watch(textareaScrollHeight, () => { + var _a2; + return (_a2 = options3 == null ? void 0 : options3.onResize) == null ? void 0 : _a2.call(options3); + }); + useResizeObserver(textarea, ([{ contentRect }]) => { + if (textareaOldWidth.value === contentRect.width) + return; + textareaOldWidth.value = contentRect.width; + triggerResize(); + }); + if (options3 == null ? void 0 : options3.watch) + watch(options3.watch, triggerResize, { immediate: true, deep: true }); + return { + textarea, + input, + triggerResize + }; +} +__name(useTextareaAutosize, "useTextareaAutosize"); +function useThrottledRefHistory(source, options3 = {}) { + const { throttle: throttle2 = 200, trailing = true } = options3; + const filter4 = throttleFilter(throttle2, trailing); + const history2 = useRefHistory(source, { ...options3, eventFilter: filter4 }); + return { + ...history2 + }; +} +__name(useThrottledRefHistory, "useThrottledRefHistory"); +const DEFAULT_UNITS = [ + { max: 6e4, value: 1e3, name: "second" }, + { max: 276e4, value: 6e4, name: "minute" }, + { max: 72e6, value: 36e5, name: "hour" }, + { max: 5184e5, value: 864e5, name: "day" }, + { max: 24192e5, value: 6048e5, name: "week" }, + { max: 28512e6, value: 2592e6, name: "month" }, + { max: Number.POSITIVE_INFINITY, value: 31536e6, name: "year" } +]; +const DEFAULT_MESSAGES = { + justNow: "just now", + past: /* @__PURE__ */ __name((n) => n.match(/\d/) ? `${n} ago` : n, "past"), + future: /* @__PURE__ */ __name((n) => n.match(/\d/) ? `in ${n}` : n, "future"), + month: /* @__PURE__ */ __name((n, past) => n === 1 ? past ? "last month" : "next month" : `${n} month${n > 1 ? "s" : ""}`, "month"), + year: /* @__PURE__ */ __name((n, past) => n === 1 ? past ? "last year" : "next year" : `${n} year${n > 1 ? "s" : ""}`, "year"), + day: /* @__PURE__ */ __name((n, past) => n === 1 ? past ? "yesterday" : "tomorrow" : `${n} day${n > 1 ? "s" : ""}`, "day"), + week: /* @__PURE__ */ __name((n, past) => n === 1 ? past ? "last week" : "next week" : `${n} week${n > 1 ? "s" : ""}`, "week"), + hour: /* @__PURE__ */ __name((n) => `${n} hour${n > 1 ? "s" : ""}`, "hour"), + minute: /* @__PURE__ */ __name((n) => `${n} minute${n > 1 ? "s" : ""}`, "minute"), + second: /* @__PURE__ */ __name((n) => `${n} second${n > 1 ? "s" : ""}`, "second"), + invalid: "" +}; +function DEFAULT_FORMATTER(date) { + return date.toISOString().slice(0, 10); +} +__name(DEFAULT_FORMATTER, "DEFAULT_FORMATTER"); +function useTimeAgo(time, options3 = {}) { + const { + controls: exposeControls = false, + updateInterval = 3e4 + } = options3; + const { now: now2, ...controls } = useNow({ interval: updateInterval, controls: true }); + const timeAgo = computed(() => formatTimeAgo(new Date(toValue(time)), options3, toValue(now2))); + if (exposeControls) { + return { + timeAgo, + ...controls + }; + } else { + return timeAgo; + } +} +__name(useTimeAgo, "useTimeAgo"); +function formatTimeAgo(from, options3 = {}, now2 = Date.now()) { + var _a; + const { + max, + messages: messages2 = DEFAULT_MESSAGES, + fullDateFormatter = DEFAULT_FORMATTER, + units = DEFAULT_UNITS, + showSecond = false, + rounding = "round" + } = options3; + const roundFn = typeof rounding === "number" ? (n) => +n.toFixed(rounding) : Math[rounding]; + const diff = +now2 - +from; + const absDiff = Math.abs(diff); + function getValue2(diff2, unit) { + return roundFn(Math.abs(diff2) / unit.value); + } + __name(getValue2, "getValue2"); + function format2(diff2, unit) { + const val = getValue2(diff2, unit); + const past = diff2 > 0; + const str = applyFormat(unit.name, val, past); + return applyFormat(past ? "past" : "future", str, past); + } + __name(format2, "format"); + function applyFormat(name, val, isPast) { + const formatter = messages2[name]; + if (typeof formatter === "function") + return formatter(val, isPast); + return formatter.replace("{0}", val.toString()); + } + __name(applyFormat, "applyFormat"); + if (absDiff < 6e4 && !showSecond) + return messages2.justNow; + if (typeof max === "number" && absDiff > max) + return fullDateFormatter(new Date(from)); + if (typeof max === "string") { + const unitMax = (_a = units.find((i2) => i2.name === max)) == null ? void 0 : _a.max; + if (unitMax && absDiff > unitMax) + return fullDateFormatter(new Date(from)); + } + for (const [idx, unit] of units.entries()) { + const val = getValue2(diff, unit); + if (val <= 0 && units[idx - 1]) + return format2(diff, units[idx - 1]); + if (absDiff < unit.max) + return format2(diff, unit); + } + return messages2.invalid; +} +__name(formatTimeAgo, "formatTimeAgo"); +function useTimeoutPoll(fn, interval, timeoutPollOptions) { + const { start: start2 } = useTimeoutFn(loop, interval, { immediate: false }); + const isActive = ref(false); + async function loop() { + if (!isActive.value) + return; + await fn(); + start2(); + } + __name(loop, "loop"); + function resume() { + if (!isActive.value) { + isActive.value = true; + loop(); + } + } + __name(resume, "resume"); + function pause() { + isActive.value = false; + } + __name(pause, "pause"); + if (timeoutPollOptions == null ? void 0 : timeoutPollOptions.immediate) + resume(); + tryOnScopeDispose(pause); + return { + isActive, + pause, + resume + }; +} +__name(useTimeoutPoll, "useTimeoutPoll"); +function useTimestamp(options3 = {}) { + const { + controls: exposeControls = false, + offset = 0, + immediate = true, + interval = "requestAnimationFrame", + callback + } = options3; + const ts = ref(timestamp() + offset); + const update = /* @__PURE__ */ __name(() => ts.value = timestamp() + offset, "update"); + const cb = callback ? () => { + update(); + callback(ts.value); + } : update; + const controls = interval === "requestAnimationFrame" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate }); + if (exposeControls) { + return { + timestamp: ts, + ...controls + }; + } else { + return ts; + } +} +__name(useTimestamp, "useTimestamp"); +function useTitle(newTitle = null, options3 = {}) { + var _a, _b, _c; + const { + document: document2 = defaultDocument, + restoreOnUnmount = /* @__PURE__ */ __name((t) => t, "restoreOnUnmount") + } = options3; + const originalTitle = (_a = document2 == null ? void 0 : document2.title) != null ? _a : ""; + const title = toRef((_b = newTitle != null ? newTitle : document2 == null ? void 0 : document2.title) != null ? _b : null); + const isReadonly2 = newTitle && typeof newTitle === "function"; + function format2(t) { + if (!("titleTemplate" in options3)) + return t; + const template = options3.titleTemplate || "%s"; + return typeof template === "function" ? template(t) : toValue(template).replace(/%s/g, t); + } + __name(format2, "format"); + watch( + title, + (t, o) => { + if (t !== o && document2) + document2.title = format2(typeof t === "string" ? t : ""); + }, + { immediate: true } + ); + if (options3.observe && !options3.titleTemplate && document2 && !isReadonly2) { + useMutationObserver( + (_c = document2.head) == null ? void 0 : _c.querySelector("title"), + () => { + if (document2 && document2.title !== title.value) + title.value = format2(document2.title); + }, + { childList: true } + ); + } + tryOnBeforeUnmount(() => { + if (restoreOnUnmount) { + const restoredTitle = restoreOnUnmount(originalTitle, title.value || ""); + if (restoredTitle != null && document2) + document2.title = restoredTitle; + } + }); + return title; +} +__name(useTitle, "useTitle"); +const _TransitionPresets = { + easeInSine: [0.12, 0, 0.39, 0], + easeOutSine: [0.61, 1, 0.88, 1], + easeInOutSine: [0.37, 0, 0.63, 1], + easeInQuad: [0.11, 0, 0.5, 0], + easeOutQuad: [0.5, 1, 0.89, 1], + easeInOutQuad: [0.45, 0, 0.55, 1], + easeInCubic: [0.32, 0, 0.67, 0], + easeOutCubic: [0.33, 1, 0.68, 1], + easeInOutCubic: [0.65, 0, 0.35, 1], + easeInQuart: [0.5, 0, 0.75, 0], + easeOutQuart: [0.25, 1, 0.5, 1], + easeInOutQuart: [0.76, 0, 0.24, 1], + easeInQuint: [0.64, 0, 0.78, 0], + easeOutQuint: [0.22, 1, 0.36, 1], + easeInOutQuint: [0.83, 0, 0.17, 1], + easeInExpo: [0.7, 0, 0.84, 0], + easeOutExpo: [0.16, 1, 0.3, 1], + easeInOutExpo: [0.87, 0, 0.13, 1], + easeInCirc: [0.55, 0, 1, 0.45], + easeOutCirc: [0, 0.55, 0.45, 1], + easeInOutCirc: [0.85, 0, 0.15, 1], + easeInBack: [0.36, 0, 0.66, -0.56], + easeOutBack: [0.34, 1.56, 0.64, 1], + easeInOutBack: [0.68, -0.6, 0.32, 1.6] +}; +const TransitionPresets = /* @__PURE__ */ Object.assign({}, { linear: identity }, _TransitionPresets); +function createEasingFunction([p0, p1, p2, p3]) { + const a = /* @__PURE__ */ __name((a1, a2) => 1 - 3 * a2 + 3 * a1, "a"); + const b = /* @__PURE__ */ __name((a1, a2) => 3 * a2 - 6 * a1, "b"); + const c = /* @__PURE__ */ __name((a1) => 3 * a1, "c"); + const calcBezier = /* @__PURE__ */ __name((t, a1, a2) => ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t, "calcBezier"); + const getSlope = /* @__PURE__ */ __name((t, a1, a2) => 3 * a(a1, a2) * t * t + 2 * b(a1, a2) * t + c(a1), "getSlope"); + const getTforX = /* @__PURE__ */ __name((x2) => { + let aGuessT = x2; + for (let i2 = 0; i2 < 4; ++i2) { + const currentSlope = getSlope(aGuessT, p0, p2); + if (currentSlope === 0) + return aGuessT; + const currentX = calcBezier(aGuessT, p0, p2) - x2; + aGuessT -= currentX / currentSlope; + } + return aGuessT; + }, "getTforX"); + return (x2) => p0 === p1 && p2 === p3 ? x2 : calcBezier(getTforX(x2), p1, p3); +} +__name(createEasingFunction, "createEasingFunction"); +function lerp(a, b, alpha) { + return a + alpha * (b - a); +} +__name(lerp, "lerp"); +function toVec(t) { + return (typeof t === "number" ? [t] : t) || []; +} +__name(toVec, "toVec"); +function executeTransition(source, from, to, options3 = {}) { + var _a, _b; + const fromVal = toValue(from); + const toVal = toValue(to); + const v1 = toVec(fromVal); + const v2 = toVec(toVal); + const duration = (_a = toValue(options3.duration)) != null ? _a : 1e3; + const startedAt = Date.now(); + const endAt = Date.now() + duration; + const trans = typeof options3.transition === "function" ? options3.transition : (_b = toValue(options3.transition)) != null ? _b : identity; + const ease = typeof trans === "function" ? trans : createEasingFunction(trans); + return new Promise((resolve2) => { + source.value = fromVal; + const tick = /* @__PURE__ */ __name(() => { + var _a2; + if ((_a2 = options3.abort) == null ? void 0 : _a2.call(options3)) { + resolve2(); + return; + } + const now2 = Date.now(); + const alpha = ease((now2 - startedAt) / duration); + const arr = toVec(source.value).map((n, i2) => lerp(v1[i2], v2[i2], alpha)); + if (Array.isArray(source.value)) + source.value = arr.map((n, i2) => { + var _a3, _b2; + return lerp((_a3 = v1[i2]) != null ? _a3 : 0, (_b2 = v2[i2]) != null ? _b2 : 0, alpha); + }); + else if (typeof source.value === "number") + source.value = arr[0]; + if (now2 < endAt) { + requestAnimationFrame(tick); + } else { + source.value = toVal; + resolve2(); + } + }, "tick"); + tick(); + }); +} +__name(executeTransition, "executeTransition"); +function useTransition(source, options3 = {}) { + let currentId = 0; + const sourceVal = /* @__PURE__ */ __name(() => { + const v2 = toValue(source); + return typeof v2 === "number" ? v2 : v2.map(toValue); + }, "sourceVal"); + const outputRef = ref(sourceVal()); + watch(sourceVal, async (to) => { + var _a, _b; + if (toValue(options3.disabled)) + return; + const id3 = ++currentId; + if (options3.delay) + await promiseTimeout(toValue(options3.delay)); + if (id3 !== currentId) + return; + const toVal = Array.isArray(to) ? to.map(toValue) : toValue(to); + (_a = options3.onStarted) == null ? void 0 : _a.call(options3); + await executeTransition(outputRef, outputRef.value, toVal, { + ...options3, + abort: /* @__PURE__ */ __name(() => { + var _a2; + return id3 !== currentId || ((_a2 = options3.abort) == null ? void 0 : _a2.call(options3)); + }, "abort") + }); + (_b = options3.onFinished) == null ? void 0 : _b.call(options3); + }, { deep: true }); + watch(() => toValue(options3.disabled), (disabled2) => { + if (disabled2) { + currentId++; + outputRef.value = sourceVal(); + } + }); + tryOnScopeDispose(() => { + currentId++; + }); + return computed(() => toValue(options3.disabled) ? sourceVal() : outputRef.value); +} +__name(useTransition, "useTransition"); +function useUrlSearchParams(mode2 = "history", options3 = {}) { + const { + initialValue = {}, + removeNullishValues = true, + removeFalsyValues = false, + write: enableWrite = true, + window: window2 = defaultWindow + } = options3; + if (!window2) + return reactive(initialValue); + const state = reactive({}); + function getRawParams() { + if (mode2 === "history") { + return window2.location.search || ""; + } else if (mode2 === "hash") { + const hash = window2.location.hash || ""; + const index2 = hash.indexOf("?"); + return index2 > 0 ? hash.slice(index2) : ""; + } else { + return (window2.location.hash || "").replace(/^#/, ""); + } + } + __name(getRawParams, "getRawParams"); + function constructQuery(params) { + const stringified = params.toString(); + if (mode2 === "history") + return `${stringified ? `?${stringified}` : ""}${window2.location.hash || ""}`; + if (mode2 === "hash-params") + return `${window2.location.search || ""}${stringified ? `#${stringified}` : ""}`; + const hash = window2.location.hash || "#"; + const index2 = hash.indexOf("?"); + if (index2 > 0) + return `${hash.slice(0, index2)}${stringified ? `?${stringified}` : ""}`; + return `${hash}${stringified ? `?${stringified}` : ""}`; + } + __name(constructQuery, "constructQuery"); + function read() { + return new URLSearchParams(getRawParams()); + } + __name(read, "read"); + function updateState(params) { + const unusedKeys = new Set(Object.keys(state)); + for (const key of params.keys()) { + const paramsForKey = params.getAll(key); + state[key] = paramsForKey.length > 1 ? paramsForKey : params.get(key) || ""; + unusedKeys.delete(key); + } + Array.from(unusedKeys).forEach((key) => delete state[key]); + } + __name(updateState, "updateState"); + const { pause, resume } = watchPausable( + state, + () => { + const params = new URLSearchParams(""); + Object.keys(state).forEach((key) => { + const mapEntry = state[key]; + if (Array.isArray(mapEntry)) + mapEntry.forEach((value3) => params.append(key, value3)); + else if (removeNullishValues && mapEntry == null) + params.delete(key); + else if (removeFalsyValues && !mapEntry) + params.delete(key); + else + params.set(key, mapEntry); + }); + write(params); + }, + { deep: true } + ); + function write(params, shouldUpdate) { + pause(); + if (shouldUpdate) + updateState(params); + window2.history.replaceState( + window2.history.state, + window2.document.title, + window2.location.pathname + constructQuery(params) + ); + resume(); + } + __name(write, "write"); + function onChanged() { + if (!enableWrite) + return; + write(read(), true); + } + __name(onChanged, "onChanged"); + useEventListener(window2, "popstate", onChanged, false); + if (mode2 !== "history") + useEventListener(window2, "hashchange", onChanged, false); + const initial = read(); + if (initial.keys().next().value) + updateState(initial); + else + Object.assign(state, initialValue); + return state; +} +__name(useUrlSearchParams, "useUrlSearchParams"); +function useUserMedia(options3 = {}) { + var _a, _b; + const enabled = ref((_a = options3.enabled) != null ? _a : false); + const autoSwitch = ref((_b = options3.autoSwitch) != null ? _b : true); + const constraints = ref(options3.constraints); + const { navigator: navigator2 = defaultNavigator } = options3; + const isSupported2 = useSupported(() => { + var _a2; + return (_a2 = navigator2 == null ? void 0 : navigator2.mediaDevices) == null ? void 0 : _a2.getUserMedia; + }); + const stream = shallowRef(); + function getDeviceOptions(type) { + switch (type) { + case "video": { + if (constraints.value) + return constraints.value.video || false; + break; + } + case "audio": { + if (constraints.value) + return constraints.value.audio || false; + break; + } + } + } + __name(getDeviceOptions, "getDeviceOptions"); + async function _start() { + if (!isSupported2.value || stream.value) + return; + stream.value = await navigator2.mediaDevices.getUserMedia({ + video: getDeviceOptions("video"), + audio: getDeviceOptions("audio") + }); + return stream.value; + } + __name(_start, "_start"); + function _stop() { + var _a2; + (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.stop()); + stream.value = void 0; + } + __name(_stop, "_stop"); + function stop2() { + _stop(); + enabled.value = false; + } + __name(stop2, "stop"); + async function start2() { + await _start(); + if (stream.value) + enabled.value = true; + return stream.value; + } + __name(start2, "start"); + async function restart() { + _stop(); + return await start2(); + } + __name(restart, "restart"); + watch( + enabled, + (v2) => { + if (v2) + _start(); + else _stop(); + }, + { immediate: true } + ); + watch( + constraints, + () => { + if (autoSwitch.value && stream.value) + restart(); + }, + { immediate: true } + ); + tryOnScopeDispose(() => { + stop2(); + }); + return { + isSupported: isSupported2, + stream, + start: start2, + stop: stop2, + restart, + constraints, + enabled, + autoSwitch + }; +} +__name(useUserMedia, "useUserMedia"); +function useVModel(props, key, emit2, options3 = {}) { + var _a, _b, _c, _d, _e; + const { + clone: clone2 = false, + passive = false, + eventName, + deep = false, + defaultValue, + shouldEmit + } = options3; + const vm = getCurrentInstance(); + const _emit = emit2 || (vm == null ? void 0 : vm.emit) || ((_a = vm == null ? void 0 : vm.$emit) == null ? void 0 : _a.bind(vm)) || ((_c = (_b = vm == null ? void 0 : vm.proxy) == null ? void 0 : _b.$emit) == null ? void 0 : _c.bind(vm == null ? void 0 : vm.proxy)); + let event2 = eventName; + if (!key) { + if (isVue2) { + const modelOptions = (_e = (_d = vm == null ? void 0 : vm.proxy) == null ? void 0 : _d.$options) == null ? void 0 : _e.model; + key = (modelOptions == null ? void 0 : modelOptions.value) || "value"; + if (!eventName) + event2 = (modelOptions == null ? void 0 : modelOptions.event) || "input"; + } else { + key = "modelValue"; + } + } + event2 = event2 || `update:${key.toString()}`; + const cloneFn = /* @__PURE__ */ __name((val) => !clone2 ? val : typeof clone2 === "function" ? clone2(val) : cloneFnJSON(val), "cloneFn"); + const getValue2 = /* @__PURE__ */ __name(() => isDef(props[key]) ? cloneFn(props[key]) : defaultValue, "getValue2"); + const triggerEmit = /* @__PURE__ */ __name((value3) => { + if (shouldEmit) { + if (shouldEmit(value3)) + _emit(event2, value3); + } else { + _emit(event2, value3); + } + }, "triggerEmit"); + if (passive) { + const initialValue = getValue2(); + const proxy = ref(initialValue); + let isUpdating = false; + watch( + () => props[key], + (v2) => { + if (!isUpdating) { + isUpdating = true; + proxy.value = cloneFn(v2); + nextTick(() => isUpdating = false); + } + } + ); + watch( + proxy, + (v2) => { + if (!isUpdating && (v2 !== props[key] || deep)) + triggerEmit(v2); + }, + { deep } + ); + return proxy; + } else { + return computed({ + get() { + return getValue2(); + }, + set(value3) { + triggerEmit(value3); + } + }); + } +} +__name(useVModel, "useVModel"); +function useVModels(props, emit2, options3 = {}) { + const ret = {}; + for (const key in props) { + ret[key] = useVModel( + props, + key, + emit2, + options3 + ); + } + return ret; +} +__name(useVModels, "useVModels"); +function useVibrate(options3) { + const { + pattern = [], + interval = 0, + navigator: navigator2 = defaultNavigator + } = options3 || {}; + const isSupported2 = useSupported(() => typeof navigator2 !== "undefined" && "vibrate" in navigator2); + const patternRef = toRef(pattern); + let intervalControls; + const vibrate = /* @__PURE__ */ __name((pattern2 = patternRef.value) => { + if (isSupported2.value) + navigator2.vibrate(pattern2); + }, "vibrate"); + const stop2 = /* @__PURE__ */ __name(() => { + if (isSupported2.value) + navigator2.vibrate(0); + intervalControls == null ? void 0 : intervalControls.pause(); + }, "stop"); + if (interval > 0) { + intervalControls = useIntervalFn( + vibrate, + interval, + { + immediate: false, + immediateCallback: false + } + ); + } + return { + isSupported: isSupported2, + pattern, + intervalControls, + vibrate, + stop: stop2 + }; +} +__name(useVibrate, "useVibrate"); +function useVirtualList(list, options3) { + const { containerStyle, wrapperProps, scrollTo: scrollTo22, calculateRange, currentList, containerRef: containerRef6 } = "itemHeight" in options3 ? useVerticalVirtualList(options3, list) : useHorizontalVirtualList(options3, list); + return { + list: currentList, + scrollTo: scrollTo22, + containerProps: { + ref: containerRef6, + onScroll: /* @__PURE__ */ __name(() => { + calculateRange(); + }, "onScroll"), + style: containerStyle + }, + wrapperProps + }; +} +__name(useVirtualList, "useVirtualList"); +function useVirtualListResources(list) { + const containerRef6 = ref(null); + const size2 = useElementSize(containerRef6); + const currentList = ref([]); + const source = shallowRef(list); + const state = ref({ start: 0, end: 10 }); + return { state, source, currentList, size: size2, containerRef: containerRef6 }; +} +__name(useVirtualListResources, "useVirtualListResources"); +function createGetViewCapacity(state, source, itemSize2) { + return (containerSize) => { + if (typeof itemSize2 === "number") + return Math.ceil(containerSize / itemSize2); + const { start: start2 = 0 } = state.value; + let sum = 0; + let capacity = 0; + for (let i2 = start2; i2 < source.value.length; i2++) { + const size2 = itemSize2(i2); + sum += size2; + capacity = i2; + if (sum > containerSize) + break; + } + return capacity - start2; + }; +} +__name(createGetViewCapacity, "createGetViewCapacity"); +function createGetOffset(source, itemSize2) { + return (scrollDirection) => { + if (typeof itemSize2 === "number") + return Math.floor(scrollDirection / itemSize2) + 1; + let sum = 0; + let offset = 0; + for (let i2 = 0; i2 < source.value.length; i2++) { + const size2 = itemSize2(i2); + sum += size2; + if (sum >= scrollDirection) { + offset = i2; + break; + } + } + return offset + 1; + }; +} +__name(createGetOffset, "createGetOffset"); +function createCalculateRange(type, overscan, getOffset2, getViewCapacity, { containerRef: containerRef6, state, currentList, source }) { + return () => { + const element = containerRef6.value; + if (element) { + const offset = getOffset2(type === "vertical" ? element.scrollTop : element.scrollLeft); + const viewCapacity = getViewCapacity(type === "vertical" ? element.clientHeight : element.clientWidth); + const from = offset - overscan; + const to = offset + viewCapacity + overscan; + state.value = { + start: from < 0 ? 0 : from, + end: to > source.value.length ? source.value.length : to + }; + currentList.value = source.value.slice(state.value.start, state.value.end).map((ele, index2) => ({ + data: ele, + index: index2 + state.value.start + })); + } + }; +} +__name(createCalculateRange, "createCalculateRange"); +function createGetDistance(itemSize2, source) { + return (index2) => { + if (typeof itemSize2 === "number") { + const size22 = index2 * itemSize2; + return size22; + } + const size2 = source.value.slice(0, index2).reduce((sum, _2, i2) => sum + itemSize2(i2), 0); + return size2; + }; +} +__name(createGetDistance, "createGetDistance"); +function useWatchForSizes(size2, list, containerRef6, calculateRange) { + watch([size2.width, size2.height, list, containerRef6], () => { + calculateRange(); + }); +} +__name(useWatchForSizes, "useWatchForSizes"); +function createComputedTotalSize(itemSize2, source) { + return computed(() => { + if (typeof itemSize2 === "number") + return source.value.length * itemSize2; + return source.value.reduce((sum, _2, index2) => sum + itemSize2(index2), 0); + }); +} +__name(createComputedTotalSize, "createComputedTotalSize"); +const scrollToDictionaryForElementScrollKey = { + horizontal: "scrollLeft", + vertical: "scrollTop" +}; +function createScrollTo(type, calculateRange, getDistance, containerRef6) { + return (index2) => { + if (containerRef6.value) { + containerRef6.value[scrollToDictionaryForElementScrollKey[type]] = getDistance(index2); + calculateRange(); + } + }; +} +__name(createScrollTo, "createScrollTo"); +function useHorizontalVirtualList(options3, list) { + const resources = useVirtualListResources(list); + const { state, source, currentList, size: size2, containerRef: containerRef6 } = resources; + const containerStyle = { overflowX: "auto" }; + const { itemWidth, overscan = 5 } = options3; + const getViewCapacity = createGetViewCapacity(state, source, itemWidth); + const getOffset2 = createGetOffset(source, itemWidth); + const calculateRange = createCalculateRange("horizontal", overscan, getOffset2, getViewCapacity, resources); + const getDistanceLeft = createGetDistance(itemWidth, source); + const offsetLeft = computed(() => getDistanceLeft(state.value.start)); + const totalWidth = createComputedTotalSize(itemWidth, source); + useWatchForSizes(size2, list, containerRef6, calculateRange); + const scrollTo22 = createScrollTo("horizontal", calculateRange, getDistanceLeft, containerRef6); + const wrapperProps = computed(() => { + return { + style: { + height: "100%", + width: `${totalWidth.value - offsetLeft.value}px`, + marginLeft: `${offsetLeft.value}px`, + display: "flex" + } + }; + }); + return { + scrollTo: scrollTo22, + calculateRange, + wrapperProps, + containerStyle, + currentList, + containerRef: containerRef6 + }; +} +__name(useHorizontalVirtualList, "useHorizontalVirtualList"); +function useVerticalVirtualList(options3, list) { + const resources = useVirtualListResources(list); + const { state, source, currentList, size: size2, containerRef: containerRef6 } = resources; + const containerStyle = { overflowY: "auto" }; + const { itemHeight, overscan = 5 } = options3; + const getViewCapacity = createGetViewCapacity(state, source, itemHeight); + const getOffset2 = createGetOffset(source, itemHeight); + const calculateRange = createCalculateRange("vertical", overscan, getOffset2, getViewCapacity, resources); + const getDistanceTop = createGetDistance(itemHeight, source); + const offsetTop = computed(() => getDistanceTop(state.value.start)); + const totalHeight = createComputedTotalSize(itemHeight, source); + useWatchForSizes(size2, list, containerRef6, calculateRange); + const scrollTo22 = createScrollTo("vertical", calculateRange, getDistanceTop, containerRef6); + const wrapperProps = computed(() => { + return { + style: { + width: "100%", + height: `${totalHeight.value - offsetTop.value}px`, + marginTop: `${offsetTop.value}px` + } + }; + }); + return { + calculateRange, + scrollTo: scrollTo22, + containerStyle, + wrapperProps, + currentList, + containerRef: containerRef6 + }; +} +__name(useVerticalVirtualList, "useVerticalVirtualList"); +function useWakeLock(options3 = {}) { + const { + navigator: navigator2 = defaultNavigator, + document: document2 = defaultDocument + } = options3; + const requestedType = ref(false); + const sentinel = shallowRef(null); + const documentVisibility = useDocumentVisibility({ document: document2 }); + const isSupported2 = useSupported(() => navigator2 && "wakeLock" in navigator2); + const isActive = computed(() => !!sentinel.value && documentVisibility.value === "visible"); + if (isSupported2.value) { + useEventListener(sentinel, "release", () => { + var _a, _b; + requestedType.value = (_b = (_a = sentinel.value) == null ? void 0 : _a.type) != null ? _b : false; + }); + whenever( + () => documentVisibility.value === "visible" && (document2 == null ? void 0 : document2.visibilityState) === "visible" && requestedType.value, + (type) => { + requestedType.value = false; + forceRequest(type); + } + ); + } + async function forceRequest(type) { + var _a; + await ((_a = sentinel.value) == null ? void 0 : _a.release()); + sentinel.value = isSupported2.value ? await navigator2.wakeLock.request(type) : null; + } + __name(forceRequest, "forceRequest"); + async function request(type) { + if (documentVisibility.value === "visible") + await forceRequest(type); + else + requestedType.value = type; + } + __name(request, "request"); + async function release() { + requestedType.value = false; + const s = sentinel.value; + sentinel.value = null; + await (s == null ? void 0 : s.release()); + } + __name(release, "release"); + return { + sentinel, + isSupported: isSupported2, + isActive, + request, + forceRequest, + release + }; +} +__name(useWakeLock, "useWakeLock"); +function useWebNotification(options3 = {}) { + const { + window: window2 = defaultWindow, + requestPermissions: _requestForPermissions = true + } = options3; + const defaultWebNotificationOptions = options3; + const isSupported2 = useSupported(() => { + if (!window2 || !("Notification" in window2)) + return false; + try { + new Notification(""); + } catch (e) { + return false; + } + return true; + }); + const permissionGranted = ref(isSupported2.value && "permission" in Notification && Notification.permission === "granted"); + const notification = ref(null); + const ensurePermissions = /* @__PURE__ */ __name(async () => { + if (!isSupported2.value) + return; + if (!permissionGranted.value && Notification.permission !== "denied") { + const result = await Notification.requestPermission(); + if (result === "granted") + permissionGranted.value = true; + } + return permissionGranted.value; + }, "ensurePermissions"); + const { on: onClick3, trigger: clickTrigger } = createEventHook(); + const { on: onShow, trigger: showTrigger } = createEventHook(); + const { on: onError, trigger: errorTrigger } = createEventHook(); + const { on: onClose, trigger: closeTrigger } = createEventHook(); + const show5 = /* @__PURE__ */ __name(async (overrides) => { + if (!isSupported2.value || !permissionGranted.value) + return; + const options22 = Object.assign({}, defaultWebNotificationOptions, overrides); + notification.value = new Notification(options22.title || "", options22); + notification.value.onclick = clickTrigger; + notification.value.onshow = showTrigger; + notification.value.onerror = errorTrigger; + notification.value.onclose = closeTrigger; + return notification.value; + }, "show"); + const close3 = /* @__PURE__ */ __name(() => { + if (notification.value) + notification.value.close(); + notification.value = null; + }, "close"); + if (_requestForPermissions) + tryOnMounted(ensurePermissions); + tryOnScopeDispose(close3); + if (isSupported2.value && window2) { + const document2 = window2.document; + useEventListener(document2, "visibilitychange", (e) => { + e.preventDefault(); + if (document2.visibilityState === "visible") { + close3(); + } + }); + } + return { + isSupported: isSupported2, + notification, + ensurePermissions, + permissionGranted, + show: show5, + close: close3, + onClick: onClick3, + onShow, + onError, + onClose + }; +} +__name(useWebNotification, "useWebNotification"); +const DEFAULT_PING_MESSAGE = "ping"; +function resolveNestedOptions(options3) { + if (options3 === true) + return {}; + return options3; +} +__name(resolveNestedOptions, "resolveNestedOptions"); +function useWebSocket(url, options3 = {}) { + const { + onConnected, + onDisconnected, + onError, + onMessage, + immediate = true, + autoClose = true, + protocols = [] + } = options3; + const data21 = ref(null); + const status = ref("CLOSED"); + const wsRef = ref(); + const urlRef = toRef(url); + let heartbeatPause; + let heartbeatResume; + let explicitlyClosed = false; + let retried = 0; + let bufferedData = []; + let pongTimeoutWait; + const _sendBuffer = /* @__PURE__ */ __name(() => { + if (bufferedData.length && wsRef.value && status.value === "OPEN") { + for (const buffer2 of bufferedData) + wsRef.value.send(buffer2); + bufferedData = []; + } + }, "_sendBuffer"); + const resetHeartbeat = /* @__PURE__ */ __name(() => { + clearTimeout(pongTimeoutWait); + pongTimeoutWait = void 0; + }, "resetHeartbeat"); + const close3 = /* @__PURE__ */ __name((code2 = 1e3, reason) => { + if (!isClient || !wsRef.value) + return; + explicitlyClosed = true; + resetHeartbeat(); + heartbeatPause == null ? void 0 : heartbeatPause(); + wsRef.value.close(code2, reason); + wsRef.value = void 0; + }, "close"); + const send = /* @__PURE__ */ __name((data22, useBuffer = true) => { + if (!wsRef.value || status.value !== "OPEN") { + if (useBuffer) + bufferedData.push(data22); + return false; + } + _sendBuffer(); + wsRef.value.send(data22); + return true; + }, "send"); + const _init = /* @__PURE__ */ __name(() => { + if (explicitlyClosed || typeof urlRef.value === "undefined") + return; + const ws = new WebSocket(urlRef.value, protocols); + wsRef.value = ws; + status.value = "CONNECTING"; + ws.onopen = () => { + status.value = "OPEN"; + retried = 0; + onConnected == null ? void 0 : onConnected(ws); + heartbeatResume == null ? void 0 : heartbeatResume(); + _sendBuffer(); + }; + ws.onclose = (ev) => { + status.value = "CLOSED"; + onDisconnected == null ? void 0 : onDisconnected(ws, ev); + if (!explicitlyClosed && options3.autoReconnect && ws === wsRef.value) { + const { + retries = -1, + delay = 1e3, + onFailed + } = resolveNestedOptions(options3.autoReconnect); + if (typeof retries === "number" && (retries < 0 || retried < retries)) { + retried += 1; + setTimeout(_init, delay); + } else if (typeof retries === "function" && retries()) { + setTimeout(_init, delay); + } else { + onFailed == null ? void 0 : onFailed(); + } + } + }; + ws.onerror = (e) => { + onError == null ? void 0 : onError(ws, e); + }; + ws.onmessage = (e) => { + if (options3.heartbeat) { + resetHeartbeat(); + const { + message: message2 = DEFAULT_PING_MESSAGE, + responseMessage = message2 + } = resolveNestedOptions(options3.heartbeat); + if (e.data === responseMessage) + return; + } + data21.value = e.data; + onMessage == null ? void 0 : onMessage(ws, e); + }; + }, "_init"); + if (options3.heartbeat) { + const { + message: message2 = DEFAULT_PING_MESSAGE, + interval = 1e3, + pongTimeout = 1e3 + } = resolveNestedOptions(options3.heartbeat); + const { pause, resume } = useIntervalFn( + () => { + send(message2, false); + if (pongTimeoutWait != null) + return; + pongTimeoutWait = setTimeout(() => { + close3(); + explicitlyClosed = false; + }, pongTimeout); + }, + interval, + { immediate: false } + ); + heartbeatPause = pause; + heartbeatResume = resume; + } + if (autoClose) { + if (isClient) + useEventListener("beforeunload", () => close3()); + tryOnScopeDispose(close3); + } + const open2 = /* @__PURE__ */ __name(() => { + if (!isClient && !isWorker) + return; + close3(); + explicitlyClosed = false; + retried = 0; + _init(); + }, "open"); + if (immediate) + open2(); + watch(urlRef, open2); + return { + data: data21, + status, + close: close3, + send, + open: open2, + ws: wsRef + }; +} +__name(useWebSocket, "useWebSocket"); +function useWebWorker(arg0, workerOptions, options3) { + const { + window: window2 = defaultWindow + } = options3 != null ? options3 : {}; + const data21 = ref(null); + const worker = shallowRef(); + const post = /* @__PURE__ */ __name((...args) => { + if (!worker.value) + return; + worker.value.postMessage(...args); + }, "post"); + const terminate = /* @__PURE__ */ __name(function terminate2() { + if (!worker.value) + return; + worker.value.terminate(); + }, "terminate2"); + if (window2) { + if (typeof arg0 === "string") + worker.value = new Worker(arg0, workerOptions); + else if (typeof arg0 === "function") + worker.value = arg0(); + else + worker.value = arg0; + worker.value.onmessage = (e) => { + data21.value = e.data; + }; + tryOnScopeDispose(() => { + if (worker.value) + worker.value.terminate(); + }); + } + return { + data: data21, + post, + terminate, + worker + }; +} +__name(useWebWorker, "useWebWorker"); +function depsParser(deps, localDeps) { + if (deps.length === 0 && localDeps.length === 0) + return ""; + const depsString = deps.map((dep) => `'${dep}'`).toString(); + const depsFunctionString = localDeps.filter((dep) => typeof dep === "function").map((fn) => { + const str = fn.toString(); + if (str.trim().startsWith("function")) { + return str; + } else { + const name = fn.name; + return `const ${name} = ${str}`; + } + }).join(";"); + const importString = `importScripts(${depsString});`; + return `${depsString.trim() === "" ? "" : importString} ${depsFunctionString}`; +} +__name(depsParser, "depsParser"); +function jobRunner(userFunc) { + return (e) => { + const userFuncArgs = e.data[0]; + return Promise.resolve(userFunc.apply(void 0, userFuncArgs)).then((result) => { + postMessage(["SUCCESS", result]); + }).catch((error) => { + postMessage(["ERROR", error]); + }); + }; +} +__name(jobRunner, "jobRunner"); +function createWorkerBlobUrl(fn, deps, localDeps) { + const blobCode = `${depsParser(deps, localDeps)}; onmessage=(${jobRunner})(${fn})`; + const blob = new Blob([blobCode], { type: "text/javascript" }); + const url = URL.createObjectURL(blob); + return url; +} +__name(createWorkerBlobUrl, "createWorkerBlobUrl"); +function useWebWorkerFn(fn, options3 = {}) { + const { + dependencies = [], + localDependencies = [], + timeout, + window: window2 = defaultWindow + } = options3; + const worker = ref(); + const workerStatus = ref("PENDING"); + const promise = ref({}); + const timeoutId = ref(); + const workerTerminate = /* @__PURE__ */ __name((status = "PENDING") => { + if (worker.value && worker.value._url && window2) { + worker.value.terminate(); + URL.revokeObjectURL(worker.value._url); + promise.value = {}; + worker.value = void 0; + window2.clearTimeout(timeoutId.value); + workerStatus.value = status; + } + }, "workerTerminate"); + workerTerminate(); + tryOnScopeDispose(workerTerminate); + const generateWorker = /* @__PURE__ */ __name(() => { + const blobUrl = createWorkerBlobUrl(fn, dependencies, localDependencies); + const newWorker = new Worker(blobUrl); + newWorker._url = blobUrl; + newWorker.onmessage = (e) => { + const { resolve: resolve2 = /* @__PURE__ */ __name(() => { + }, "resolve"), reject: reject2 = /* @__PURE__ */ __name(() => { + }, "reject") } = promise.value; + const [status, result] = e.data; + switch (status) { + case "SUCCESS": + resolve2(result); + workerTerminate(status); + break; + default: + reject2(result); + workerTerminate("ERROR"); + break; + } + }; + newWorker.onerror = (e) => { + const { reject: reject2 = /* @__PURE__ */ __name(() => { + }, "reject") } = promise.value; + e.preventDefault(); + reject2(e); + workerTerminate("ERROR"); + }; + if (timeout) { + timeoutId.value = setTimeout( + () => workerTerminate("TIMEOUT_EXPIRED"), + timeout + ); + } + return newWorker; + }, "generateWorker"); + const callWorker = /* @__PURE__ */ __name((...fnArgs) => new Promise((resolve2, reject2) => { + var _a; + promise.value = { + resolve: resolve2, + reject: reject2 + }; + (_a = worker.value) == null ? void 0 : _a.postMessage([[...fnArgs]]); + workerStatus.value = "RUNNING"; + }), "callWorker"); + const workerFn = /* @__PURE__ */ __name((...fnArgs) => { + if (workerStatus.value === "RUNNING") { + console.error( + "[useWebWorkerFn] You can only run one instance of the worker at a time." + ); + return Promise.reject(); + } + worker.value = generateWorker(); + return callWorker(...fnArgs); + }, "workerFn"); + return { + workerFn, + workerStatus, + workerTerminate + }; +} +__name(useWebWorkerFn, "useWebWorkerFn"); +function useWindowFocus(options3 = {}) { + const { window: window2 = defaultWindow } = options3; + if (!window2) + return ref(false); + const focused = ref(window2.document.hasFocus()); + useEventListener(window2, "blur", () => { + focused.value = false; + }); + useEventListener(window2, "focus", () => { + focused.value = true; + }); + return focused; +} +__name(useWindowFocus, "useWindowFocus"); +function useWindowScroll(options3 = {}) { + const { window: window2 = defaultWindow, behavior = "auto" } = options3; + if (!window2) { + return { + x: ref(0), + y: ref(0) + }; + } + const internalX = ref(window2.scrollX); + const internalY = ref(window2.scrollY); + const x2 = computed({ + get() { + return internalX.value; + }, + set(x22) { + scrollTo({ left: x22, behavior }); + } + }); + const y2 = computed({ + get() { + return internalY.value; + }, + set(y22) { + scrollTo({ top: y22, behavior }); + } + }); + useEventListener( + window2, + "scroll", + () => { + internalX.value = window2.scrollX; + internalY.value = window2.scrollY; + }, + { + capture: false, + passive: true + } + ); + return { x: x2, y: y2 }; +} +__name(useWindowScroll, "useWindowScroll"); +function useWindowSize(options3 = {}) { + const { + window: window2 = defaultWindow, + initialWidth = Number.POSITIVE_INFINITY, + initialHeight = Number.POSITIVE_INFINITY, + listenOrientation = true, + includeScrollbar = true, + type = "inner" + } = options3; + const width2 = ref(initialWidth); + const height = ref(initialHeight); + const update = /* @__PURE__ */ __name(() => { + if (window2) { + if (type === "outer") { + width2.value = window2.outerWidth; + height.value = window2.outerHeight; + } else if (includeScrollbar) { + width2.value = window2.innerWidth; + height.value = window2.innerHeight; + } else { + width2.value = window2.document.documentElement.clientWidth; + height.value = window2.document.documentElement.clientHeight; + } + } + }, "update"); + update(); + tryOnMounted(update); + useEventListener("resize", update, { passive: true }); + if (listenOrientation) { + const matches2 = useMediaQuery("(orientation: portrait)"); + watch(matches2, () => update()); + } + return { width: width2, height }; +} +__name(useWindowSize, "useWindowSize"); +var PrimeVueToastSymbol = Symbol(); +function useToast() { + var PrimeVueToast = inject(PrimeVueToastSymbol); + if (!PrimeVueToast) { + throw new Error("No PrimeVue Toast provided!"); + } + return PrimeVueToast; +} +__name(useToast, "useToast"); +const _sfc_main$u = /* @__PURE__ */ defineComponent({ + __name: "FindIssueButton", + props: { + errorMessage: {}, + repoOwner: {}, + repoName: {} + }, + setup(__props) { + const props = __props; + const queryString = computed(() => props.errorMessage + " is:issue"); + const openGitHubIssues = /* @__PURE__ */ __name(() => { + const query = encodeURIComponent(queryString.value); + const url = `https://github.com/${props.repoOwner}/${props.repoName}/issues?q=${query}`; + window.open(url, "_blank"); + }, "openGitHubIssues"); + return (_ctx, _cache) => { + return openBlock(), createBlock(unref(script$I), { + onClick: openGitHubIssues, + label: _ctx.$t("findIssues"), + severity: "secondary", + icon: "pi pi-github" + }, null, 8, ["label"]); + }; + } +}); +const _hoisted_1$w = { class: "comfy-error-report" }; +const _hoisted_2$l = { class: "wrapper-pre" }; +const _hoisted_3$c = { class: "action-container" }; +const repoOwner = "comfyanonymous"; +const repoName = "ComfyUI"; +const _sfc_main$t = /* @__PURE__ */ defineComponent({ + __name: "ExecutionErrorDialogContent", + props: { + error: {} + }, + setup(__props) { + const props = __props; + const reportContent = ref(""); + const reportOpen = ref(false); + const showReport = /* @__PURE__ */ __name(() => { + reportOpen.value = true; + }, "showReport"); + const toast = useToast(); + const { copy, isSupported: isSupported2 } = useClipboard(); + onMounted(async () => { + try { + const [systemStats, logs] = await Promise.all([ + api.getSystemStats(), + api.getLogs() + ]); + generateReport(systemStats, logs); + } catch (error) { + console.error("Error fetching system stats or logs:", error); + toast.add({ + severity: "error", + summary: "Error", + detail: "Failed to fetch system information", + life: 5e3 + }); + } + }); + const generateReport = /* @__PURE__ */ __name((systemStats, logs) => { + const MAX_JSON_LENGTH = 2e4; + const workflowJSONString = JSON.stringify(app$1.graph.serialize()); + const workflowText = workflowJSONString.length > MAX_JSON_LENGTH ? "Workflow too large. Please manually upload the workflow from local file system." : workflowJSONString; + reportContent.value = ` +# ComfyUI Error Report +## Error Details +- **Node Type:** ${props.error.node_type} +- **Exception Type:** ${props.error.exception_type} +- **Exception Message:** ${props.error.exception_message} +## Stack Trace +\`\`\` +${props.error.traceback.join("\n")} +\`\`\` +## System Information +- **ComfyUI Version:** ${systemStats.system.comfyui_version} +- **Arguments:** ${systemStats.system.argv.join(" ")} +- **OS:** ${systemStats.system.os} +- **Python Version:** ${systemStats.system.python_version} +- **Embedded Python:** ${systemStats.system.embedded_python} +- **PyTorch Version:** ${systemStats.system.pytorch_version} +## Devices +${systemStats.devices.map( + (device) => ` +- **Name:** ${device.name} + - **Type:** ${device.type} + - **VRAM Total:** ${device.vram_total} + - **VRAM Free:** ${device.vram_free} + - **Torch VRAM Total:** ${device.torch_vram_total} + - **Torch VRAM Free:** ${device.torch_vram_free} +` + ).join("\n")} +## Logs +\`\`\` +${logs} +\`\`\` +## Attached Workflow +Please make sure that workflow does not contain any sensitive information such as API keys or passwords. +\`\`\` +${workflowText} +\`\`\` + +## Additional Context +(Please add any additional context or steps to reproduce the error here) +`; + }, "generateReport"); + const copyReportToClipboard = /* @__PURE__ */ __name(async () => { + if (isSupported2) { + try { + await copy(reportContent.value); + toast.add({ + severity: "success", + summary: "Success", + detail: "Report copied to clipboard", + life: 3e3 + }); + } catch (err) { + toast.add({ + severity: "error", + summary: "Error", + detail: "Failed to copy report" + }); + } + } else { + toast.add({ + severity: "error", + summary: "Error", + detail: "Clipboard API not supported in your browser" + }); + } + }, "copyReportToClipboard"); + const openNewGithubIssue = /* @__PURE__ */ __name(async () => { + await copyReportToClipboard(); + const issueTitle = encodeURIComponent( + `[Bug]: ${props.error.exception_type} in ${props.error.node_type}` + ); + const issueBody = encodeURIComponent( + "The report has been copied to the clipboard. Please paste it here." + ); + const url = `https://github.com/${repoOwner}/${repoName}/issues/new?title=${issueTitle}&body=${issueBody}`; + window.open(url, "_blank"); + }, "openNewGithubIssue"); + return (_ctx, _cache) => { + return openBlock(), createElementBlock(Fragment, null, [ + createVNode(NoResultsPlaceholder, { + icon: "pi pi-exclamation-circle", + title: props.error.node_type, + message: props.error.exception_message + }, null, 8, ["title", "message"]), + createBaseVNode("div", _hoisted_1$w, [ + withDirectives(createVNode(unref(script$I), { + label: _ctx.$t("showReport"), + onClick: showReport, + text: "" + }, null, 8, ["label"]), [ + [vShow, !reportOpen.value] + ]), + reportOpen.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [ + createVNode(unref(script$D)), + createVNode(unref(script$C), { style: { "width": "100%", "height": "400px", "max-width": "80vw" } }, { + default: withCtx(() => [ + createBaseVNode("pre", _hoisted_2$l, toDisplayString$1(reportContent.value), 1) + ]), + _: 1 + }), + createVNode(unref(script$D)) + ], 64)) : createCommentVNode("", true), + createBaseVNode("div", _hoisted_3$c, [ + createVNode(_sfc_main$u, { + errorMessage: props.error.exception_message, + repoOwner, + repoName + }, null, 8, ["errorMessage"]), + reportOpen.value ? (openBlock(), createBlock(unref(script$I), { + key: 0, + label: _ctx.$t("copyToClipboard"), + icon: "pi pi-copy", + onClick: copyReportToClipboard + }, null, 8, ["label"])) : createCommentVNode("", true) + ]) + ]) + ], 64); + }; + } +}); +const ExecutionErrorDialogContent = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-25398546"]]); +var theme$e = /* @__PURE__ */ __name(function theme21(_ref) { + var dt2 = _ref.dt; + return '\n.p-progressspinner {\n position: relative;\n margin: 0 auto;\n width: 100px;\n height: 100px;\n display: inline-block;\n}\n\n.p-progressspinner::before {\n content: "";\n display: block;\n padding-top: 100%;\n}\n\n.p-progressspinner-spin {\n height: 100%;\n transform-origin: center center;\n width: 100%;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n margin: auto;\n animation: p-progressspinner-rotate 2s linear infinite;\n}\n\n.p-progressspinner-circle {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: 0;\n stroke: '.concat(dt2("progressspinner.color.1"), ";\n animation: p-progressspinner-dash 1.5s ease-in-out infinite, p-progressspinner-color 6s ease-in-out infinite;\n stroke-linecap: round;\n}\n\n@keyframes p-progressspinner-rotate {\n 100% {\n transform: rotate(360deg);\n }\n}\n@keyframes p-progressspinner-dash {\n 0% {\n stroke-dasharray: 1, 200;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -35px;\n }\n 100% {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -124px;\n }\n}\n@keyframes p-progressspinner-color {\n 100%,\n 0% {\n stroke: ").concat(dt2("progressspinner.color.1"), ";\n }\n 40% {\n stroke: ").concat(dt2("progressspinner.color.2"), ";\n }\n 66% {\n stroke: ").concat(dt2("progressspinner.color.3"), ";\n }\n 80%,\n 90% {\n stroke: ").concat(dt2("progressspinner.color.4"), ";\n }\n}\n"); +}, "theme"); +var classes$e = { + root: "p-progressspinner", + spin: "p-progressspinner-spin", + circle: "p-progressspinner-circle" +}; +var ProgressSpinnerStyle = BaseStyle.extend({ + name: "progressspinner", + theme: theme$e, + classes: classes$e +}); +var script$1$d = { + name: "BaseProgressSpinner", + "extends": script$U, + props: { + strokeWidth: { + type: String, + "default": "2" + }, + fill: { + type: String, + "default": "none" + }, + animationDuration: { + type: String, + "default": "2s" + } + }, + style: ProgressSpinnerStyle, + provide: /* @__PURE__ */ __name(function provide23() { + return { + $pcProgressSpinner: this, + $parentInstance: this + }; + }, "provide") +}; +var script$m = { + name: "ProgressSpinner", + "extends": script$1$d, + inheritAttrs: false, + computed: { + svgStyle: /* @__PURE__ */ __name(function svgStyle() { + return { + "animation-duration": this.animationDuration + }; + }, "svgStyle") + } +}; +var _hoisted_1$v = ["fill", "stroke-width"]; +function render$l(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps$1({ + "class": _ctx.cx("root"), + role: "progressbar" + }, _ctx.ptmi("root")), [(openBlock(), createElementBlock("svg", mergeProps$1({ + "class": _ctx.cx("spin"), + viewBox: "25 25 50 50", + style: $options.svgStyle + }, _ctx.ptm("spin")), [createBaseVNode("circle", mergeProps$1({ + "class": _ctx.cx("circle"), + cx: "50", + cy: "50", + r: "20", + fill: _ctx.fill, + "stroke-width": _ctx.strokeWidth, + strokeMiterlimit: "10" + }, _ctx.ptm("circle")), null, 16, _hoisted_1$v)], 16))], 16); +} +__name(render$l, "render$l"); +script$m.render = render$l; +/*! + * shared v9.14.1 + * (c) 2024 kazuya kawaguchi + * Released under the MIT License. + */ +const inBrowser = typeof window !== "undefined"; +let mark; +let measure; +if (false) { + const perf2 = inBrowser && window.performance; + if (perf2 && perf2.mark && perf2.measure && perf2.clearMarks && // @ts-ignore browser compat + perf2.clearMeasures) { + mark = /* @__PURE__ */ __name((tag) => { + perf2.mark(tag); + }, "mark"); + measure = /* @__PURE__ */ __name((name, startTag, endTag) => { + perf2.measure(name, startTag, endTag); + perf2.clearMarks(startTag); + perf2.clearMarks(endTag); + }, "measure"); + } +} +const RE_ARGS$1 = /\{([0-9a-zA-Z]+)\}/g; +function format$4(message2, ...args) { + if (args.length === 1 && isObject$2(args[0])) { + args = args[0]; + } + if (!args || !args.hasOwnProperty) { + args = {}; + } + return message2.replace(RE_ARGS$1, (match, identifier) => { + return args.hasOwnProperty(identifier) ? args[identifier] : ""; + }); +} +__name(format$4, "format$4"); +const makeSymbol = /* @__PURE__ */ __name((name, shareable = false) => !shareable ? Symbol(name) : Symbol.for(name), "makeSymbol"); +const generateFormatCacheKey = /* @__PURE__ */ __name((locale2, key, source) => friendlyJSONstringify({ l: locale2, k: key, s: source }), "generateFormatCacheKey"); +const friendlyJSONstringify = /* @__PURE__ */ __name((json) => JSON.stringify(json).replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029").replace(/\u0027/g, "\\u0027"), "friendlyJSONstringify"); +const isNumber$1 = /* @__PURE__ */ __name((val) => typeof val === "number" && isFinite(val), "isNumber$1"); +const isDate = /* @__PURE__ */ __name((val) => toTypeString(val) === "[object Date]", "isDate"); +const isRegExp = /* @__PURE__ */ __name((val) => toTypeString(val) === "[object RegExp]", "isRegExp"); +const isEmptyObject = /* @__PURE__ */ __name((val) => isPlainObject(val) && Object.keys(val).length === 0, "isEmptyObject"); +const assign$2 = Object.assign; +let _globalThis; +const getGlobalThis = /* @__PURE__ */ __name(() => { + return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {}); +}, "getGlobalThis"); +function escapeHtml(rawText) { + return rawText.replace(//g, ">").replace(/"/g, """).replace(/'/g, "'"); +} +__name(escapeHtml, "escapeHtml"); +const hasOwnProperty = Object.prototype.hasOwnProperty; +function hasOwn$1(obj, key) { + return hasOwnProperty.call(obj, key); +} +__name(hasOwn$1, "hasOwn$1"); +const isArray$2 = Array.isArray; +const isFunction = /* @__PURE__ */ __name((val) => typeof val === "function", "isFunction"); +const isString$2 = /* @__PURE__ */ __name((val) => typeof val === "string", "isString$2"); +const isBoolean$1 = /* @__PURE__ */ __name((val) => typeof val === "boolean", "isBoolean$1"); +const isSymbol = /* @__PURE__ */ __name((val) => typeof val === "symbol", "isSymbol"); +const isObject$2 = /* @__PURE__ */ __name((val) => val !== null && typeof val === "object", "isObject$2"); +const isPromise = /* @__PURE__ */ __name((val) => { + return isObject$2(val) && isFunction(val.then) && isFunction(val.catch); +}, "isPromise"); +const objectToString = Object.prototype.toString; +const toTypeString = /* @__PURE__ */ __name((value3) => objectToString.call(value3), "toTypeString"); +const isPlainObject = /* @__PURE__ */ __name((val) => { + if (!isObject$2(val)) + return false; + const proto = Object.getPrototypeOf(val); + return proto === null || proto.constructor === Object; +}, "isPlainObject"); +const toDisplayString = /* @__PURE__ */ __name((val) => { + return val == null ? "" : isArray$2(val) || isPlainObject(val) && val.toString === objectToString ? JSON.stringify(val, null, 2) : String(val); +}, "toDisplayString"); +function join$1(items2, separator = "") { + return items2.reduce((str, item2, index2) => index2 === 0 ? str + item2 : str + separator + item2, ""); +} +__name(join$1, "join$1"); +const RANGE = 2; +function generateCodeFrame(source, start2 = 0, end = source.length) { + const lines = source.split(/\r?\n/); + let count = 0; + const res = []; + for (let i2 = 0; i2 < lines.length; i2++) { + count += lines[i2].length + 1; + if (count >= start2) { + for (let j = i2 - RANGE; j <= i2 + RANGE || end > count; j++) { + if (j < 0 || j >= lines.length) + continue; + const line = j + 1; + res.push(`${line}${" ".repeat(3 - String(line).length)}| ${lines[j]}`); + const lineLength = lines[j].length; + if (j === i2) { + const pad = start2 - (count - lineLength) + 1; + const length = Math.max(1, end > count ? lineLength - pad : end - start2); + res.push(` | ` + " ".repeat(pad) + "^".repeat(length)); + } else if (j > i2) { + if (end > count) { + const length = Math.max(Math.min(end - count, lineLength), 1); + res.push(` | ` + "^".repeat(length)); + } + count += lineLength + 1; + } + } + break; + } + } + return res.join("\n"); +} +__name(generateCodeFrame, "generateCodeFrame"); +function incrementer(code2) { + let current = code2; + return () => ++current; +} +__name(incrementer, "incrementer"); +function warn$1(msg, err) { + if (typeof console !== "undefined") { + console.warn(`[intlify] ` + msg); + if (err) { + console.warn(err.stack); + } + } +} +__name(warn$1, "warn$1"); +const hasWarned = {}; +function warnOnce(msg) { + if (!hasWarned[msg]) { + hasWarned[msg] = true; + warn$1(msg); + } +} +__name(warnOnce, "warnOnce"); +function createEmitter() { + const events2 = /* @__PURE__ */ new Map(); + const emitter = { + events: events2, + on(event2, handler6) { + const handlers2 = events2.get(event2); + const added = handlers2 && handlers2.push(handler6); + if (!added) { + events2.set(event2, [handler6]); + } + }, + off(event2, handler6) { + const handlers2 = events2.get(event2); + if (handlers2) { + handlers2.splice(handlers2.indexOf(handler6) >>> 0, 1); + } + }, + emit(event2, payload) { + (events2.get(event2) || []).slice().map((handler6) => handler6(payload)); + (events2.get("*") || []).slice().map((handler6) => handler6(event2, payload)); + } + }; + return emitter; +} +__name(createEmitter, "createEmitter"); +const isNotObjectOrIsArray = /* @__PURE__ */ __name((val) => !isObject$2(val) || isArray$2(val), "isNotObjectOrIsArray"); +function deepCopy(src, des) { + if (isNotObjectOrIsArray(src) || isNotObjectOrIsArray(des)) { + throw new Error("Invalid value"); + } + const stack2 = [{ src, des }]; + while (stack2.length) { + const { src: src2, des: des2 } = stack2.pop(); + Object.keys(src2).forEach((key) => { + if (isObject$2(src2[key]) && !isObject$2(des2[key])) { + des2[key] = Array.isArray(src2[key]) ? [] : {}; + } + if (isNotObjectOrIsArray(des2[key]) || isNotObjectOrIsArray(src2[key])) { + des2[key] = src2[key]; + } else { + stack2.push({ src: src2[key], des: des2[key] }); + } + }); + } +} +__name(deepCopy, "deepCopy"); +/*! + * message-compiler v9.14.1 + * (c) 2024 kazuya kawaguchi + * Released under the MIT License. + */ +const LOCATION_STUB = { + start: { line: 1, column: 1, offset: 0 }, + end: { line: 1, column: 1, offset: 0 } +}; +function createPosition(line, column, offset) { + return { line, column, offset }; +} +__name(createPosition, "createPosition"); +function createLocation(start2, end, source) { + const loc = { start: start2, end }; + if (source != null) { + loc.source = source; + } + return loc; +} +__name(createLocation, "createLocation"); +const RE_ARGS = /\{([0-9a-zA-Z]+)\}/g; +function format$3(message2, ...args) { + if (args.length === 1 && isObject$1(args[0])) { + args = args[0]; + } + if (!args || !args.hasOwnProperty) { + args = {}; + } + return message2.replace(RE_ARGS, (match, identifier) => { + return args.hasOwnProperty(identifier) ? args[identifier] : ""; + }); +} +__name(format$3, "format$3"); +const assign$1 = Object.assign; +const isString$1 = /* @__PURE__ */ __name((val) => typeof val === "string", "isString$1"); +const isObject$1 = /* @__PURE__ */ __name((val) => val !== null && typeof val === "object", "isObject$1"); +function join(items2, separator = "") { + return items2.reduce((str, item2, index2) => index2 === 0 ? str + item2 : str + separator + item2, ""); +} +__name(join, "join"); +const CompileWarnCodes = { + USE_MODULO_SYNTAX: 1, + __EXTEND_POINT__: 2 +}; +const warnMessages$2 = { + [CompileWarnCodes.USE_MODULO_SYNTAX]: `Use modulo before '{{0}}'.` +}; +function createCompileWarn(code2, loc, ...args) { + const msg = format$3(warnMessages$2[code2] || "", ...args || []); + const message2 = { message: String(msg), code: code2 }; + if (loc) { + message2.location = loc; + } + return message2; +} +__name(createCompileWarn, "createCompileWarn"); +const CompileErrorCodes = { + // tokenizer error codes + EXPECTED_TOKEN: 1, + INVALID_TOKEN_IN_PLACEHOLDER: 2, + UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3, + UNKNOWN_ESCAPE_SEQUENCE: 4, + INVALID_UNICODE_ESCAPE_SEQUENCE: 5, + UNBALANCED_CLOSING_BRACE: 6, + UNTERMINATED_CLOSING_BRACE: 7, + EMPTY_PLACEHOLDER: 8, + NOT_ALLOW_NEST_PLACEHOLDER: 9, + INVALID_LINKED_FORMAT: 10, + // parser error codes + MUST_HAVE_MESSAGES_IN_PLURAL: 11, + UNEXPECTED_EMPTY_LINKED_MODIFIER: 12, + UNEXPECTED_EMPTY_LINKED_KEY: 13, + UNEXPECTED_LEXICAL_ANALYSIS: 14, + // generator error codes + UNHANDLED_CODEGEN_NODE_TYPE: 15, + // minifier error codes + UNHANDLED_MINIFIER_NODE_TYPE: 16, + // Special value for higher-order compilers to pick up the last code + // to avoid collision of error codes. This should always be kept as the last + // item. + __EXTEND_POINT__: 17 +}; +const errorMessages$2 = { + // tokenizer error messages + [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`, + [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`, + [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`, + [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\{0}`, + [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`, + [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`, + [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`, + [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`, + [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`, + [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`, + // parser error messages + [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`, + [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`, + [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`, + [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`, + // generator error messages + [CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE]: `unhandled codegen node type: '{0}'`, + // minimizer error messages + [CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE]: `unhandled mimifier node type: '{0}'` +}; +function createCompileError(code2, loc, options3 = {}) { + const { domain, messages: messages2, args } = options3; + const msg = format$3((messages2 || errorMessages$2)[code2] || "", ...args || []); + const error = new SyntaxError(String(msg)); + error.code = code2; + if (loc) { + error.location = loc; + } + error.domain = domain; + return error; +} +__name(createCompileError, "createCompileError"); +function defaultOnError(error) { + throw error; +} +__name(defaultOnError, "defaultOnError"); +const RE_HTML_TAG = /<\/?[\w\s="/.':;#-\/]+>/; +const detectHtmlTag = /* @__PURE__ */ __name((source) => RE_HTML_TAG.test(source), "detectHtmlTag"); +const CHAR_SP = " "; +const CHAR_CR = "\r"; +const CHAR_LF = "\n"; +const CHAR_LS = String.fromCharCode(8232); +const CHAR_PS = String.fromCharCode(8233); +function createScanner(str) { + const _buf = str; + let _index = 0; + let _line = 1; + let _column = 1; + let _peekOffset = 0; + const isCRLF = /* @__PURE__ */ __name((index3) => _buf[index3] === CHAR_CR && _buf[index3 + 1] === CHAR_LF, "isCRLF"); + const isLF = /* @__PURE__ */ __name((index3) => _buf[index3] === CHAR_LF, "isLF"); + const isPS = /* @__PURE__ */ __name((index3) => _buf[index3] === CHAR_PS, "isPS"); + const isLS = /* @__PURE__ */ __name((index3) => _buf[index3] === CHAR_LS, "isLS"); + const isLineEnd = /* @__PURE__ */ __name((index3) => isCRLF(index3) || isLF(index3) || isPS(index3) || isLS(index3), "isLineEnd"); + const index2 = /* @__PURE__ */ __name(() => _index, "index"); + const line = /* @__PURE__ */ __name(() => _line, "line"); + const column = /* @__PURE__ */ __name(() => _column, "column"); + const peekOffset = /* @__PURE__ */ __name(() => _peekOffset, "peekOffset"); + const charAt = /* @__PURE__ */ __name((offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset], "charAt"); + const currentChar = /* @__PURE__ */ __name(() => charAt(_index), "currentChar"); + const currentPeek = /* @__PURE__ */ __name(() => charAt(_index + _peekOffset), "currentPeek"); + function next2() { + _peekOffset = 0; + if (isLineEnd(_index)) { + _line++; + _column = 0; + } + if (isCRLF(_index)) { + _index++; + } + _index++; + _column++; + return _buf[_index]; + } + __name(next2, "next"); + function peek() { + if (isCRLF(_index + _peekOffset)) { + _peekOffset++; + } + _peekOffset++; + return _buf[_index + _peekOffset]; + } + __name(peek, "peek"); + function reset() { + _index = 0; + _line = 1; + _column = 1; + _peekOffset = 0; + } + __name(reset, "reset"); + function resetPeek(offset = 0) { + _peekOffset = offset; + } + __name(resetPeek, "resetPeek"); + function skipToPeek() { + const target = _index + _peekOffset; + while (target !== _index) { + next2(); + } + _peekOffset = 0; + } + __name(skipToPeek, "skipToPeek"); + return { + index: index2, + line, + column, + peekOffset, + charAt, + currentChar, + currentPeek, + next: next2, + peek, + reset, + resetPeek, + skipToPeek + }; +} +__name(createScanner, "createScanner"); +const EOF = void 0; +const DOT = "."; +const LITERAL_DELIMITER = "'"; +const ERROR_DOMAIN$3 = "tokenizer"; +function createTokenizer(source, options3 = {}) { + const location2 = options3.location !== false; + const _scnr = createScanner(source); + const currentOffset = /* @__PURE__ */ __name(() => _scnr.index(), "currentOffset"); + const currentPosition = /* @__PURE__ */ __name(() => createPosition(_scnr.line(), _scnr.column(), _scnr.index()), "currentPosition"); + const _initLoc = currentPosition(); + const _initOffset = currentOffset(); + const _context = { + currentType: 14, + offset: _initOffset, + startLoc: _initLoc, + endLoc: _initLoc, + lastType: 14, + lastOffset: _initOffset, + lastStartLoc: _initLoc, + lastEndLoc: _initLoc, + braceNest: 0, + inLinked: false, + text: "" + }; + const context = /* @__PURE__ */ __name(() => _context, "context"); + const { onError } = options3; + function emitError(code2, pos2, offset, ...args) { + const ctx = context(); + pos2.column += offset; + pos2.offset += offset; + if (onError) { + const loc = location2 ? createLocation(ctx.startLoc, pos2) : null; + const err = createCompileError(code2, loc, { + domain: ERROR_DOMAIN$3, + args + }); + onError(err); + } + } + __name(emitError, "emitError"); + function getToken(context2, type, value3) { + context2.endLoc = currentPosition(); + context2.currentType = type; + const token = { type }; + if (location2) { + token.loc = createLocation(context2.startLoc, context2.endLoc); + } + if (value3 != null) { + token.value = value3; + } + return token; + } + __name(getToken, "getToken"); + const getEndToken = /* @__PURE__ */ __name((context2) => getToken( + context2, + 14 + /* TokenTypes.EOF */ + ), "getEndToken"); + function eat(scnr, ch) { + if (scnr.currentChar() === ch) { + scnr.next(); + return ch; + } else { + emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch); + return ""; + } + } + __name(eat, "eat"); + function peekSpaces(scnr) { + let buf = ""; + while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) { + buf += scnr.currentPeek(); + scnr.peek(); + } + return buf; + } + __name(peekSpaces, "peekSpaces"); + function skipSpaces(scnr) { + const buf = peekSpaces(scnr); + scnr.skipToPeek(); + return buf; + } + __name(skipSpaces, "skipSpaces"); + function isIdentifierStart(ch) { + if (ch === EOF) { + return false; + } + const cc = ch.charCodeAt(0); + return cc >= 97 && cc <= 122 || // a-z + cc >= 65 && cc <= 90 || // A-Z + cc === 95; + } + __name(isIdentifierStart, "isIdentifierStart"); + function isNumberStart(ch) { + if (ch === EOF) { + return false; + } + const cc = ch.charCodeAt(0); + return cc >= 48 && cc <= 57; + } + __name(isNumberStart, "isNumberStart"); + function isNamedIdentifierStart(scnr, context2) { + const { currentType } = context2; + if (currentType !== 2) { + return false; + } + peekSpaces(scnr); + const ret = isIdentifierStart(scnr.currentPeek()); + scnr.resetPeek(); + return ret; + } + __name(isNamedIdentifierStart, "isNamedIdentifierStart"); + function isListIdentifierStart(scnr, context2) { + const { currentType } = context2; + if (currentType !== 2) { + return false; + } + peekSpaces(scnr); + const ch = scnr.currentPeek() === "-" ? scnr.peek() : scnr.currentPeek(); + const ret = isNumberStart(ch); + scnr.resetPeek(); + return ret; + } + __name(isListIdentifierStart, "isListIdentifierStart"); + function isLiteralStart(scnr, context2) { + const { currentType } = context2; + if (currentType !== 2) { + return false; + } + peekSpaces(scnr); + const ret = scnr.currentPeek() === LITERAL_DELIMITER; + scnr.resetPeek(); + return ret; + } + __name(isLiteralStart, "isLiteralStart"); + function isLinkedDotStart(scnr, context2) { + const { currentType } = context2; + if (currentType !== 8) { + return false; + } + peekSpaces(scnr); + const ret = scnr.currentPeek() === "."; + scnr.resetPeek(); + return ret; + } + __name(isLinkedDotStart, "isLinkedDotStart"); + function isLinkedModifierStart(scnr, context2) { + const { currentType } = context2; + if (currentType !== 9) { + return false; + } + peekSpaces(scnr); + const ret = isIdentifierStart(scnr.currentPeek()); + scnr.resetPeek(); + return ret; + } + __name(isLinkedModifierStart, "isLinkedModifierStart"); + function isLinkedDelimiterStart(scnr, context2) { + const { currentType } = context2; + if (!(currentType === 8 || currentType === 12)) { + return false; + } + peekSpaces(scnr); + const ret = scnr.currentPeek() === ":"; + scnr.resetPeek(); + return ret; + } + __name(isLinkedDelimiterStart, "isLinkedDelimiterStart"); + function isLinkedReferStart(scnr, context2) { + const { currentType } = context2; + if (currentType !== 10) { + return false; + } + const fn = /* @__PURE__ */ __name(() => { + const ch = scnr.currentPeek(); + if (ch === "{") { + return isIdentifierStart(scnr.peek()); + } else if (ch === "@" || ch === "%" || ch === "|" || ch === ":" || ch === "." || ch === CHAR_SP || !ch) { + return false; + } else if (ch === CHAR_LF) { + scnr.peek(); + return fn(); + } else { + return isTextStart(scnr, false); + } + }, "fn"); + const ret = fn(); + scnr.resetPeek(); + return ret; + } + __name(isLinkedReferStart, "isLinkedReferStart"); + function isPluralStart(scnr) { + peekSpaces(scnr); + const ret = scnr.currentPeek() === "|"; + scnr.resetPeek(); + return ret; + } + __name(isPluralStart, "isPluralStart"); + function detectModuloStart(scnr) { + const spaces = peekSpaces(scnr); + const ret = scnr.currentPeek() === "%" && scnr.peek() === "{"; + scnr.resetPeek(); + return { + isModulo: ret, + hasSpace: spaces.length > 0 + }; + } + __name(detectModuloStart, "detectModuloStart"); + function isTextStart(scnr, reset = true) { + const fn = /* @__PURE__ */ __name((hasSpace = false, prev2 = "", detectModulo = false) => { + const ch = scnr.currentPeek(); + if (ch === "{") { + return prev2 === "%" ? false : hasSpace; + } else if (ch === "@" || !ch) { + return prev2 === "%" ? true : hasSpace; + } else if (ch === "%") { + scnr.peek(); + return fn(hasSpace, "%", true); + } else if (ch === "|") { + return prev2 === "%" || detectModulo ? true : !(prev2 === CHAR_SP || prev2 === CHAR_LF); + } else if (ch === CHAR_SP) { + scnr.peek(); + return fn(true, CHAR_SP, detectModulo); + } else if (ch === CHAR_LF) { + scnr.peek(); + return fn(true, CHAR_LF, detectModulo); + } else { + return true; + } + }, "fn"); + const ret = fn(); + reset && scnr.resetPeek(); + return ret; + } + __name(isTextStart, "isTextStart"); + function takeChar(scnr, fn) { + const ch = scnr.currentChar(); + if (ch === EOF) { + return EOF; + } + if (fn(ch)) { + scnr.next(); + return ch; + } + return null; + } + __name(takeChar, "takeChar"); + function isIdentifier(ch) { + const cc = ch.charCodeAt(0); + return cc >= 97 && cc <= 122 || // a-z + cc >= 65 && cc <= 90 || // A-Z + cc >= 48 && cc <= 57 || // 0-9 + cc === 95 || // _ + cc === 36; + } + __name(isIdentifier, "isIdentifier"); + function takeIdentifierChar(scnr) { + return takeChar(scnr, isIdentifier); + } + __name(takeIdentifierChar, "takeIdentifierChar"); + function isNamedIdentifier(ch) { + const cc = ch.charCodeAt(0); + return cc >= 97 && cc <= 122 || // a-z + cc >= 65 && cc <= 90 || // A-Z + cc >= 48 && cc <= 57 || // 0-9 + cc === 95 || // _ + cc === 36 || // $ + cc === 45; + } + __name(isNamedIdentifier, "isNamedIdentifier"); + function takeNamedIdentifierChar(scnr) { + return takeChar(scnr, isNamedIdentifier); + } + __name(takeNamedIdentifierChar, "takeNamedIdentifierChar"); + function isDigit(ch) { + const cc = ch.charCodeAt(0); + return cc >= 48 && cc <= 57; + } + __name(isDigit, "isDigit"); + function takeDigit(scnr) { + return takeChar(scnr, isDigit); + } + __name(takeDigit, "takeDigit"); + function isHexDigit(ch) { + const cc = ch.charCodeAt(0); + return cc >= 48 && cc <= 57 || // 0-9 + cc >= 65 && cc <= 70 || // A-F + cc >= 97 && cc <= 102; + } + __name(isHexDigit, "isHexDigit"); + function takeHexDigit(scnr) { + return takeChar(scnr, isHexDigit); + } + __name(takeHexDigit, "takeHexDigit"); + function getDigits(scnr) { + let ch = ""; + let num = ""; + while (ch = takeDigit(scnr)) { + num += ch; + } + return num; + } + __name(getDigits, "getDigits"); + function readModulo(scnr) { + skipSpaces(scnr); + const ch = scnr.currentChar(); + if (ch !== "%") { + emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch); + } + scnr.next(); + return "%"; + } + __name(readModulo, "readModulo"); + function readText(scnr) { + let buf = ""; + while (true) { + const ch = scnr.currentChar(); + if (ch === "{" || ch === "}" || ch === "@" || ch === "|" || !ch) { + break; + } else if (ch === "%") { + if (isTextStart(scnr)) { + buf += ch; + scnr.next(); + } else { + break; + } + } else if (ch === CHAR_SP || ch === CHAR_LF) { + if (isTextStart(scnr)) { + buf += ch; + scnr.next(); + } else if (isPluralStart(scnr)) { + break; + } else { + buf += ch; + scnr.next(); + } + } else { + buf += ch; + scnr.next(); + } + } + return buf; + } + __name(readText, "readText"); + function readNamedIdentifier(scnr) { + skipSpaces(scnr); + let ch = ""; + let name = ""; + while (ch = takeNamedIdentifierChar(scnr)) { + name += ch; + } + if (scnr.currentChar() === EOF) { + emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0); + } + return name; + } + __name(readNamedIdentifier, "readNamedIdentifier"); + function readListIdentifier(scnr) { + skipSpaces(scnr); + let value3 = ""; + if (scnr.currentChar() === "-") { + scnr.next(); + value3 += `-${getDigits(scnr)}`; + } else { + value3 += getDigits(scnr); + } + if (scnr.currentChar() === EOF) { + emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0); + } + return value3; + } + __name(readListIdentifier, "readListIdentifier"); + function isLiteral2(ch) { + return ch !== LITERAL_DELIMITER && ch !== CHAR_LF; + } + __name(isLiteral2, "isLiteral"); + function readLiteral(scnr) { + skipSpaces(scnr); + eat(scnr, `'`); + let ch = ""; + let literal = ""; + while (ch = takeChar(scnr, isLiteral2)) { + if (ch === "\\") { + literal += readEscapeSequence(scnr); + } else { + literal += ch; + } + } + const current = scnr.currentChar(); + if (current === CHAR_LF || current === EOF) { + emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0); + if (current === CHAR_LF) { + scnr.next(); + eat(scnr, `'`); + } + return literal; + } + eat(scnr, `'`); + return literal; + } + __name(readLiteral, "readLiteral"); + function readEscapeSequence(scnr) { + const ch = scnr.currentChar(); + switch (ch) { + case "\\": + case `'`: + scnr.next(); + return `\\${ch}`; + case "u": + return readUnicodeEscapeSequence(scnr, ch, 4); + case "U": + return readUnicodeEscapeSequence(scnr, ch, 6); + default: + emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch); + return ""; + } + } + __name(readEscapeSequence, "readEscapeSequence"); + function readUnicodeEscapeSequence(scnr, unicode, digits) { + eat(scnr, unicode); + let sequence = ""; + for (let i2 = 0; i2 < digits; i2++) { + const ch = takeHexDigit(scnr); + if (!ch) { + emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\${unicode}${sequence}${scnr.currentChar()}`); + break; + } + sequence += ch; + } + return `\\${unicode}${sequence}`; + } + __name(readUnicodeEscapeSequence, "readUnicodeEscapeSequence"); + function isInvalidIdentifier(ch) { + return ch !== "{" && ch !== "}" && ch !== CHAR_SP && ch !== CHAR_LF; + } + __name(isInvalidIdentifier, "isInvalidIdentifier"); + function readInvalidIdentifier(scnr) { + skipSpaces(scnr); + let ch = ""; + let identifiers = ""; + while (ch = takeChar(scnr, isInvalidIdentifier)) { + identifiers += ch; + } + return identifiers; + } + __name(readInvalidIdentifier, "readInvalidIdentifier"); + function readLinkedModifier(scnr) { + let ch = ""; + let name = ""; + while (ch = takeIdentifierChar(scnr)) { + name += ch; + } + return name; + } + __name(readLinkedModifier, "readLinkedModifier"); + function readLinkedRefer(scnr) { + const fn = /* @__PURE__ */ __name((buf) => { + const ch = scnr.currentChar(); + if (ch === "{" || ch === "%" || ch === "@" || ch === "|" || ch === "(" || ch === ")" || !ch) { + return buf; + } else if (ch === CHAR_SP) { + return buf; + } else if (ch === CHAR_LF || ch === DOT) { + buf += ch; + scnr.next(); + return fn(buf); + } else { + buf += ch; + scnr.next(); + return fn(buf); + } + }, "fn"); + return fn(""); + } + __name(readLinkedRefer, "readLinkedRefer"); + function readPlural(scnr) { + skipSpaces(scnr); + const plural = eat( + scnr, + "|" + /* TokenChars.Pipe */ + ); + skipSpaces(scnr); + return plural; + } + __name(readPlural, "readPlural"); + function readTokenInPlaceholder(scnr, context2) { + let token = null; + const ch = scnr.currentChar(); + switch (ch) { + case "{": + if (context2.braceNest >= 1) { + emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0); + } + scnr.next(); + token = getToken( + context2, + 2, + "{" + /* TokenChars.BraceLeft */ + ); + skipSpaces(scnr); + context2.braceNest++; + return token; + case "}": + if (context2.braceNest > 0 && context2.currentType === 2) { + emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0); + } + scnr.next(); + token = getToken( + context2, + 3, + "}" + /* TokenChars.BraceRight */ + ); + context2.braceNest--; + context2.braceNest > 0 && skipSpaces(scnr); + if (context2.inLinked && context2.braceNest === 0) { + context2.inLinked = false; + } + return token; + case "@": + if (context2.braceNest > 0) { + emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0); + } + token = readTokenInLinked(scnr, context2) || getEndToken(context2); + context2.braceNest = 0; + return token; + default: { + let validNamedIdentifier = true; + let validListIdentifier = true; + let validLiteral = true; + if (isPluralStart(scnr)) { + if (context2.braceNest > 0) { + emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0); + } + token = getToken(context2, 1, readPlural(scnr)); + context2.braceNest = 0; + context2.inLinked = false; + return token; + } + if (context2.braceNest > 0 && (context2.currentType === 5 || context2.currentType === 6 || context2.currentType === 7)) { + emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0); + context2.braceNest = 0; + return readToken(scnr, context2); + } + if (validNamedIdentifier = isNamedIdentifierStart(scnr, context2)) { + token = getToken(context2, 5, readNamedIdentifier(scnr)); + skipSpaces(scnr); + return token; + } + if (validListIdentifier = isListIdentifierStart(scnr, context2)) { + token = getToken(context2, 6, readListIdentifier(scnr)); + skipSpaces(scnr); + return token; + } + if (validLiteral = isLiteralStart(scnr, context2)) { + token = getToken(context2, 7, readLiteral(scnr)); + skipSpaces(scnr); + return token; + } + if (!validNamedIdentifier && !validListIdentifier && !validLiteral) { + token = getToken(context2, 13, readInvalidIdentifier(scnr)); + emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value); + skipSpaces(scnr); + return token; + } + break; + } + } + return token; + } + __name(readTokenInPlaceholder, "readTokenInPlaceholder"); + function readTokenInLinked(scnr, context2) { + const { currentType } = context2; + let token = null; + const ch = scnr.currentChar(); + if ((currentType === 8 || currentType === 9 || currentType === 12 || currentType === 10) && (ch === CHAR_LF || ch === CHAR_SP)) { + emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0); + } + switch (ch) { + case "@": + scnr.next(); + token = getToken( + context2, + 8, + "@" + /* TokenChars.LinkedAlias */ + ); + context2.inLinked = true; + return token; + case ".": + skipSpaces(scnr); + scnr.next(); + return getToken( + context2, + 9, + "." + /* TokenChars.LinkedDot */ + ); + case ":": + skipSpaces(scnr); + scnr.next(); + return getToken( + context2, + 10, + ":" + /* TokenChars.LinkedDelimiter */ + ); + default: + if (isPluralStart(scnr)) { + token = getToken(context2, 1, readPlural(scnr)); + context2.braceNest = 0; + context2.inLinked = false; + return token; + } + if (isLinkedDotStart(scnr, context2) || isLinkedDelimiterStart(scnr, context2)) { + skipSpaces(scnr); + return readTokenInLinked(scnr, context2); + } + if (isLinkedModifierStart(scnr, context2)) { + skipSpaces(scnr); + return getToken(context2, 12, readLinkedModifier(scnr)); + } + if (isLinkedReferStart(scnr, context2)) { + skipSpaces(scnr); + if (ch === "{") { + return readTokenInPlaceholder(scnr, context2) || token; + } else { + return getToken(context2, 11, readLinkedRefer(scnr)); + } + } + if (currentType === 8) { + emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0); + } + context2.braceNest = 0; + context2.inLinked = false; + return readToken(scnr, context2); + } + } + __name(readTokenInLinked, "readTokenInLinked"); + function readToken(scnr, context2) { + let token = { + type: 14 + /* TokenTypes.EOF */ + }; + if (context2.braceNest > 0) { + return readTokenInPlaceholder(scnr, context2) || getEndToken(context2); + } + if (context2.inLinked) { + return readTokenInLinked(scnr, context2) || getEndToken(context2); + } + const ch = scnr.currentChar(); + switch (ch) { + case "{": + return readTokenInPlaceholder(scnr, context2) || getEndToken(context2); + case "}": + emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0); + scnr.next(); + return getToken( + context2, + 3, + "}" + /* TokenChars.BraceRight */ + ); + case "@": + return readTokenInLinked(scnr, context2) || getEndToken(context2); + default: { + if (isPluralStart(scnr)) { + token = getToken(context2, 1, readPlural(scnr)); + context2.braceNest = 0; + context2.inLinked = false; + return token; + } + const { isModulo, hasSpace } = detectModuloStart(scnr); + if (isModulo) { + return hasSpace ? getToken(context2, 0, readText(scnr)) : getToken(context2, 4, readModulo(scnr)); + } + if (isTextStart(scnr)) { + return getToken(context2, 0, readText(scnr)); + } + break; + } + } + return token; + } + __name(readToken, "readToken"); + function nextToken() { + const { currentType, offset, startLoc, endLoc } = _context; + _context.lastType = currentType; + _context.lastOffset = offset; + _context.lastStartLoc = startLoc; + _context.lastEndLoc = endLoc; + _context.offset = currentOffset(); + _context.startLoc = currentPosition(); + if (_scnr.currentChar() === EOF) { + return getToken( + _context, + 14 + /* TokenTypes.EOF */ + ); + } + return readToken(_scnr, _context); + } + __name(nextToken, "nextToken"); + return { + nextToken, + currentOffset, + currentPosition, + context + }; +} +__name(createTokenizer, "createTokenizer"); +const ERROR_DOMAIN$2 = "parser"; +const KNOWN_ESCAPES = /(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g; +function fromEscapeSequence(match, codePoint4, codePoint6) { + switch (match) { + case `\\\\`: + return `\\`; + case `\\'`: + return `'`; + default: { + const codePoint = parseInt(codePoint4 || codePoint6, 16); + if (codePoint <= 55295 || codePoint >= 57344) { + return String.fromCodePoint(codePoint); + } + return "�"; + } + } +} +__name(fromEscapeSequence, "fromEscapeSequence"); +function createParser(options3 = {}) { + const location2 = options3.location !== false; + const { onError, onWarn } = options3; + function emitError(tokenzer, code2, start2, offset, ...args) { + const end = tokenzer.currentPosition(); + end.offset += offset; + end.column += offset; + if (onError) { + const loc = location2 ? createLocation(start2, end) : null; + const err = createCompileError(code2, loc, { + domain: ERROR_DOMAIN$2, + args + }); + onError(err); + } + } + __name(emitError, "emitError"); + function emitWarn(tokenzer, code2, start2, offset, ...args) { + const end = tokenzer.currentPosition(); + end.offset += offset; + end.column += offset; + if (onWarn) { + const loc = location2 ? createLocation(start2, end) : null; + onWarn(createCompileWarn(code2, loc, args)); + } + } + __name(emitWarn, "emitWarn"); + function startNode(type, offset, loc) { + const node3 = { type }; + if (location2) { + node3.start = offset; + node3.end = offset; + node3.loc = { start: loc, end: loc }; + } + return node3; + } + __name(startNode, "startNode"); + function endNode(node3, offset, pos2, type) { + if (type) { + node3.type = type; + } + if (location2) { + node3.end = offset; + if (node3.loc) { + node3.loc.end = pos2; + } + } + } + __name(endNode, "endNode"); + function parseText(tokenizer, value3) { + const context = tokenizer.context(); + const node3 = startNode(3, context.offset, context.startLoc); + node3.value = value3; + endNode(node3, tokenizer.currentOffset(), tokenizer.currentPosition()); + return node3; + } + __name(parseText, "parseText"); + function parseList(tokenizer, index2) { + const context = tokenizer.context(); + const { lastOffset: offset, lastStartLoc: loc } = context; + const node3 = startNode(5, offset, loc); + node3.index = parseInt(index2, 10); + tokenizer.nextToken(); + endNode(node3, tokenizer.currentOffset(), tokenizer.currentPosition()); + return node3; + } + __name(parseList, "parseList"); + function parseNamed(tokenizer, key, modulo) { + const context = tokenizer.context(); + const { lastOffset: offset, lastStartLoc: loc } = context; + const node3 = startNode(4, offset, loc); + node3.key = key; + if (modulo === true) { + node3.modulo = true; + } + tokenizer.nextToken(); + endNode(node3, tokenizer.currentOffset(), tokenizer.currentPosition()); + return node3; + } + __name(parseNamed, "parseNamed"); + function parseLiteral(tokenizer, value3) { + const context = tokenizer.context(); + const { lastOffset: offset, lastStartLoc: loc } = context; + const node3 = startNode(9, offset, loc); + node3.value = value3.replace(KNOWN_ESCAPES, fromEscapeSequence); + tokenizer.nextToken(); + endNode(node3, tokenizer.currentOffset(), tokenizer.currentPosition()); + return node3; + } + __name(parseLiteral, "parseLiteral"); + function parseLinkedModifier(tokenizer) { + const token = tokenizer.nextToken(); + const context = tokenizer.context(); + const { lastOffset: offset, lastStartLoc: loc } = context; + const node3 = startNode(8, offset, loc); + if (token.type !== 12) { + emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0); + node3.value = ""; + endNode(node3, offset, loc); + return { + nextConsumeToken: token, + node: node3 + }; + } + if (token.value == null) { + emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); + } + node3.value = token.value || ""; + endNode(node3, tokenizer.currentOffset(), tokenizer.currentPosition()); + return { + node: node3 + }; + } + __name(parseLinkedModifier, "parseLinkedModifier"); + function parseLinkedKey(tokenizer, value3) { + const context = tokenizer.context(); + const node3 = startNode(7, context.offset, context.startLoc); + node3.value = value3; + endNode(node3, tokenizer.currentOffset(), tokenizer.currentPosition()); + return node3; + } + __name(parseLinkedKey, "parseLinkedKey"); + function parseLinked(tokenizer) { + const context = tokenizer.context(); + const linkedNode = startNode(6, context.offset, context.startLoc); + let token = tokenizer.nextToken(); + if (token.type === 9) { + const parsed = parseLinkedModifier(tokenizer); + linkedNode.modifier = parsed.node; + token = parsed.nextConsumeToken || tokenizer.nextToken(); + } + if (token.type !== 10) { + emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); + } + token = tokenizer.nextToken(); + if (token.type === 2) { + token = tokenizer.nextToken(); + } + switch (token.type) { + case 11: + if (token.value == null) { + emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); + } + linkedNode.key = parseLinkedKey(tokenizer, token.value || ""); + break; + case 5: + if (token.value == null) { + emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); + } + linkedNode.key = parseNamed(tokenizer, token.value || ""); + break; + case 6: + if (token.value == null) { + emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); + } + linkedNode.key = parseList(tokenizer, token.value || ""); + break; + case 7: + if (token.value == null) { + emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); + } + linkedNode.key = parseLiteral(tokenizer, token.value || ""); + break; + default: { + emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0); + const nextContext = tokenizer.context(); + const emptyLinkedKeyNode = startNode(7, nextContext.offset, nextContext.startLoc); + emptyLinkedKeyNode.value = ""; + endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc); + linkedNode.key = emptyLinkedKeyNode; + endNode(linkedNode, nextContext.offset, nextContext.startLoc); + return { + nextConsumeToken: token, + node: linkedNode + }; + } + } + endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition()); + return { + node: linkedNode + }; + } + __name(parseLinked, "parseLinked"); + function parseMessage(tokenizer) { + const context = tokenizer.context(); + const startOffset = context.currentType === 1 ? tokenizer.currentOffset() : context.offset; + const startLoc = context.currentType === 1 ? context.endLoc : context.startLoc; + const node3 = startNode(2, startOffset, startLoc); + node3.items = []; + let nextToken = null; + let modulo = null; + do { + const token = nextToken || tokenizer.nextToken(); + nextToken = null; + switch (token.type) { + case 0: + if (token.value == null) { + emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); + } + node3.items.push(parseText(tokenizer, token.value || "")); + break; + case 6: + if (token.value == null) { + emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); + } + node3.items.push(parseList(tokenizer, token.value || "")); + break; + case 4: + modulo = true; + break; + case 5: + if (token.value == null) { + emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); + } + node3.items.push(parseNamed(tokenizer, token.value || "", !!modulo)); + if (modulo) { + emitWarn(tokenizer, CompileWarnCodes.USE_MODULO_SYNTAX, context.lastStartLoc, 0, getTokenCaption(token)); + modulo = null; + } + break; + case 7: + if (token.value == null) { + emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); + } + node3.items.push(parseLiteral(tokenizer, token.value || "")); + break; + case 8: { + const parsed = parseLinked(tokenizer); + node3.items.push(parsed.node); + nextToken = parsed.nextConsumeToken || null; + break; + } + } + } while (context.currentType !== 14 && context.currentType !== 1); + const endOffset = context.currentType === 1 ? context.lastOffset : tokenizer.currentOffset(); + const endLoc = context.currentType === 1 ? context.lastEndLoc : tokenizer.currentPosition(); + endNode(node3, endOffset, endLoc); + return node3; + } + __name(parseMessage, "parseMessage"); + function parsePlural(tokenizer, offset, loc, msgNode) { + const context = tokenizer.context(); + let hasEmptyMessage = msgNode.items.length === 0; + const node3 = startNode(1, offset, loc); + node3.cases = []; + node3.cases.push(msgNode); + do { + const msg = parseMessage(tokenizer); + if (!hasEmptyMessage) { + hasEmptyMessage = msg.items.length === 0; + } + node3.cases.push(msg); + } while (context.currentType !== 14); + if (hasEmptyMessage) { + emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0); + } + endNode(node3, tokenizer.currentOffset(), tokenizer.currentPosition()); + return node3; + } + __name(parsePlural, "parsePlural"); + function parseResource(tokenizer) { + const context = tokenizer.context(); + const { offset, startLoc } = context; + const msgNode = parseMessage(tokenizer); + if (context.currentType === 14) { + return msgNode; + } else { + return parsePlural(tokenizer, offset, startLoc, msgNode); + } + } + __name(parseResource, "parseResource"); + function parse2(source) { + const tokenizer = createTokenizer(source, assign$1({}, options3)); + const context = tokenizer.context(); + const node3 = startNode(0, context.offset, context.startLoc); + if (location2 && node3.loc) { + node3.loc.source = source; + } + node3.body = parseResource(tokenizer); + if (options3.onCacheKey) { + node3.cacheKey = options3.onCacheKey(source); + } + if (context.currentType !== 14) { + emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || ""); + } + endNode(node3, tokenizer.currentOffset(), tokenizer.currentPosition()); + return node3; + } + __name(parse2, "parse"); + return { parse: parse2 }; +} +__name(createParser, "createParser"); +function getTokenCaption(token) { + if (token.type === 14) { + return "EOF"; + } + const name = (token.value || "").replace(/\r?\n/gu, "\\n"); + return name.length > 10 ? name.slice(0, 9) + "…" : name; +} +__name(getTokenCaption, "getTokenCaption"); +function createTransformer(ast, options3 = {}) { + const _context = { + ast, + helpers: /* @__PURE__ */ new Set() + }; + const context = /* @__PURE__ */ __name(() => _context, "context"); + const helper = /* @__PURE__ */ __name((name) => { + _context.helpers.add(name); + return name; + }, "helper"); + return { context, helper }; +} +__name(createTransformer, "createTransformer"); +function traverseNodes(nodes, transformer) { + for (let i2 = 0; i2 < nodes.length; i2++) { + traverseNode(nodes[i2], transformer); + } +} +__name(traverseNodes, "traverseNodes"); +function traverseNode(node3, transformer) { + switch (node3.type) { + case 1: + traverseNodes(node3.cases, transformer); + transformer.helper( + "plural" + /* HelperNameMap.PLURAL */ + ); + break; + case 2: + traverseNodes(node3.items, transformer); + break; + case 6: { + const linked = node3; + traverseNode(linked.key, transformer); + transformer.helper( + "linked" + /* HelperNameMap.LINKED */ + ); + transformer.helper( + "type" + /* HelperNameMap.TYPE */ + ); + break; + } + case 5: + transformer.helper( + "interpolate" + /* HelperNameMap.INTERPOLATE */ + ); + transformer.helper( + "list" + /* HelperNameMap.LIST */ + ); + break; + case 4: + transformer.helper( + "interpolate" + /* HelperNameMap.INTERPOLATE */ + ); + transformer.helper( + "named" + /* HelperNameMap.NAMED */ + ); + break; + } +} +__name(traverseNode, "traverseNode"); +function transform(ast, options3 = {}) { + const transformer = createTransformer(ast); + transformer.helper( + "normalize" + /* HelperNameMap.NORMALIZE */ + ); + ast.body && traverseNode(ast.body, transformer); + const context = transformer.context(); + ast.helpers = Array.from(context.helpers); +} +__name(transform, "transform"); +function optimize(ast) { + const body = ast.body; + if (body.type === 2) { + optimizeMessageNode(body); + } else { + body.cases.forEach((c) => optimizeMessageNode(c)); + } + return ast; +} +__name(optimize, "optimize"); +function optimizeMessageNode(message2) { + if (message2.items.length === 1) { + const item2 = message2.items[0]; + if (item2.type === 3 || item2.type === 9) { + message2.static = item2.value; + delete item2.value; + } + } else { + const values2 = []; + for (let i2 = 0; i2 < message2.items.length; i2++) { + const item2 = message2.items[i2]; + if (!(item2.type === 3 || item2.type === 9)) { + break; + } + if (item2.value == null) { + break; + } + values2.push(item2.value); + } + if (values2.length === message2.items.length) { + message2.static = join(values2); + for (let i2 = 0; i2 < message2.items.length; i2++) { + const item2 = message2.items[i2]; + if (item2.type === 3 || item2.type === 9) { + delete item2.value; + } + } + } + } +} +__name(optimizeMessageNode, "optimizeMessageNode"); +const ERROR_DOMAIN$1 = "minifier"; +function minify(node3) { + node3.t = node3.type; + switch (node3.type) { + case 0: { + const resource = node3; + minify(resource.body); + resource.b = resource.body; + delete resource.body; + break; + } + case 1: { + const plural = node3; + const cases = plural.cases; + for (let i2 = 0; i2 < cases.length; i2++) { + minify(cases[i2]); + } + plural.c = cases; + delete plural.cases; + break; + } + case 2: { + const message2 = node3; + const items2 = message2.items; + for (let i2 = 0; i2 < items2.length; i2++) { + minify(items2[i2]); + } + message2.i = items2; + delete message2.items; + if (message2.static) { + message2.s = message2.static; + delete message2.static; + } + break; + } + case 3: + case 9: + case 8: + case 7: { + const valueNode = node3; + if (valueNode.value) { + valueNode.v = valueNode.value; + delete valueNode.value; + } + break; + } + case 6: { + const linked = node3; + minify(linked.key); + linked.k = linked.key; + delete linked.key; + if (linked.modifier) { + minify(linked.modifier); + linked.m = linked.modifier; + delete linked.modifier; + } + break; + } + case 5: { + const list = node3; + list.i = list.index; + delete list.index; + break; + } + case 4: { + const named = node3; + named.k = named.key; + delete named.key; + break; + } + default: { + throw createCompileError(CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE, null, { + domain: ERROR_DOMAIN$1, + args: [node3.type] + }); + } + } + delete node3.type; +} +__name(minify, "minify"); +const ERROR_DOMAIN = "parser"; +function createCodeGenerator(ast, options3) { + const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options3; + const location2 = options3.location !== false; + const _context = { + filename, + code: "", + column: 1, + line: 1, + offset: 0, + map: void 0, + breakLineCode, + needIndent: _needIndent, + indentLevel: 0 + }; + if (location2 && ast.loc) { + _context.source = ast.loc.source; + } + const context = /* @__PURE__ */ __name(() => _context, "context"); + function push(code2, node3) { + _context.code += code2; + } + __name(push, "push"); + function _newline(n, withBreakLine = true) { + const _breakLineCode = withBreakLine ? breakLineCode : ""; + push(_needIndent ? _breakLineCode + ` `.repeat(n) : _breakLineCode); + } + __name(_newline, "_newline"); + function indent(withNewLine = true) { + const level = ++_context.indentLevel; + withNewLine && _newline(level); + } + __name(indent, "indent"); + function deindent(withNewLine = true) { + const level = --_context.indentLevel; + withNewLine && _newline(level); + } + __name(deindent, "deindent"); + function newline() { + _newline(_context.indentLevel); + } + __name(newline, "newline"); + const helper = /* @__PURE__ */ __name((key) => `_${key}`, "helper"); + const needIndent = /* @__PURE__ */ __name(() => _context.needIndent, "needIndent"); + return { + context, + push, + indent, + deindent, + newline, + helper, + needIndent + }; +} +__name(createCodeGenerator, "createCodeGenerator"); +function generateLinkedNode(generator, node3) { + const { helper } = generator; + generator.push(`${helper( + "linked" + /* HelperNameMap.LINKED */ + )}(`); + generateNode(generator, node3.key); + if (node3.modifier) { + generator.push(`, `); + generateNode(generator, node3.modifier); + generator.push(`, _type`); + } else { + generator.push(`, undefined, _type`); + } + generator.push(`)`); +} +__name(generateLinkedNode, "generateLinkedNode"); +function generateMessageNode(generator, node3) { + const { helper, needIndent } = generator; + generator.push(`${helper( + "normalize" + /* HelperNameMap.NORMALIZE */ + )}([`); + generator.indent(needIndent()); + const length = node3.items.length; + for (let i2 = 0; i2 < length; i2++) { + generateNode(generator, node3.items[i2]); + if (i2 === length - 1) { + break; + } + generator.push(", "); + } + generator.deindent(needIndent()); + generator.push("])"); +} +__name(generateMessageNode, "generateMessageNode"); +function generatePluralNode(generator, node3) { + const { helper, needIndent } = generator; + if (node3.cases.length > 1) { + generator.push(`${helper( + "plural" + /* HelperNameMap.PLURAL */ + )}([`); + generator.indent(needIndent()); + const length = node3.cases.length; + for (let i2 = 0; i2 < length; i2++) { + generateNode(generator, node3.cases[i2]); + if (i2 === length - 1) { + break; + } + generator.push(", "); + } + generator.deindent(needIndent()); + generator.push(`])`); + } +} +__name(generatePluralNode, "generatePluralNode"); +function generateResource(generator, node3) { + if (node3.body) { + generateNode(generator, node3.body); + } else { + generator.push("null"); + } +} +__name(generateResource, "generateResource"); +function generateNode(generator, node3) { + const { helper } = generator; + switch (node3.type) { + case 0: + generateResource(generator, node3); + break; + case 1: + generatePluralNode(generator, node3); + break; + case 2: + generateMessageNode(generator, node3); + break; + case 6: + generateLinkedNode(generator, node3); + break; + case 8: + generator.push(JSON.stringify(node3.value), node3); + break; + case 7: + generator.push(JSON.stringify(node3.value), node3); + break; + case 5: + generator.push(`${helper( + "interpolate" + /* HelperNameMap.INTERPOLATE */ + )}(${helper( + "list" + /* HelperNameMap.LIST */ + )}(${node3.index}))`, node3); + break; + case 4: + generator.push(`${helper( + "interpolate" + /* HelperNameMap.INTERPOLATE */ + )}(${helper( + "named" + /* HelperNameMap.NAMED */ + )}(${JSON.stringify(node3.key)}))`, node3); + break; + case 9: + generator.push(JSON.stringify(node3.value), node3); + break; + case 3: + generator.push(JSON.stringify(node3.value), node3); + break; + default: { + throw createCompileError(CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE, null, { + domain: ERROR_DOMAIN, + args: [node3.type] + }); + } + } +} +__name(generateNode, "generateNode"); +const generate = /* @__PURE__ */ __name((ast, options3 = {}) => { + const mode2 = isString$1(options3.mode) ? options3.mode : "normal"; + const filename = isString$1(options3.filename) ? options3.filename : "message.intl"; + const sourceMap = !!options3.sourceMap; + const breakLineCode = options3.breakLineCode != null ? options3.breakLineCode : mode2 === "arrow" ? ";" : "\n"; + const needIndent = options3.needIndent ? options3.needIndent : mode2 !== "arrow"; + const helpers = ast.helpers || []; + const generator = createCodeGenerator(ast, { + mode: mode2, + filename, + sourceMap, + breakLineCode, + needIndent + }); + generator.push(mode2 === "normal" ? `function __msg__ (ctx) {` : `(ctx) => {`); + generator.indent(needIndent); + if (helpers.length > 0) { + generator.push(`const { ${join(helpers.map((s) => `${s}: _${s}`), ", ")} } = ctx`); + generator.newline(); + } + generator.push(`return `); + generateNode(generator, ast); + generator.deindent(needIndent); + generator.push(`}`); + delete ast.helpers; + const { code: code2, map: map2 } = generator.context(); + return { + ast, + code: code2, + map: map2 ? map2.toJSON() : void 0 + // eslint-disable-line @typescript-eslint/no-explicit-any + }; +}, "generate"); +function baseCompile$1(source, options3 = {}) { + const assignedOptions = assign$1({}, options3); + const jit = !!assignedOptions.jit; + const enalbeMinify = !!assignedOptions.minify; + const enambeOptimize = assignedOptions.optimize == null ? true : assignedOptions.optimize; + const parser = createParser(assignedOptions); + const ast = parser.parse(source); + if (!jit) { + transform(ast, assignedOptions); + return generate(ast, assignedOptions); + } else { + enambeOptimize && optimize(ast); + enalbeMinify && minify(ast); + return { ast, code: "" }; + } +} +__name(baseCompile$1, "baseCompile$1"); +/*! + * core-base v9.14.1 + * (c) 2024 kazuya kawaguchi + * Released under the MIT License. + */ +function initFeatureFlags$1() { + if (typeof __INTLIFY_PROD_DEVTOOLS__ !== "boolean") { + getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false; + } + if (typeof __INTLIFY_JIT_COMPILATION__ !== "boolean") { + getGlobalThis().__INTLIFY_JIT_COMPILATION__ = false; + } + if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== "boolean") { + getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false; + } +} +__name(initFeatureFlags$1, "initFeatureFlags$1"); +const pathStateMachine = []; +pathStateMachine[ + 0 + /* States.BEFORE_PATH */ +] = { + [ + "w" + /* PathCharTypes.WORKSPACE */ + ]: [ + 0 + /* States.BEFORE_PATH */ + ], + [ + "i" + /* PathCharTypes.IDENT */ + ]: [ + 3, + 0 + /* Actions.APPEND */ + ], + [ + "[" + /* PathCharTypes.LEFT_BRACKET */ + ]: [ + 4 + /* States.IN_SUB_PATH */ + ], + [ + "o" + /* PathCharTypes.END_OF_FAIL */ + ]: [ + 7 + /* States.AFTER_PATH */ + ] +}; +pathStateMachine[ + 1 + /* States.IN_PATH */ +] = { + [ + "w" + /* PathCharTypes.WORKSPACE */ + ]: [ + 1 + /* States.IN_PATH */ + ], + [ + "." + /* PathCharTypes.DOT */ + ]: [ + 2 + /* States.BEFORE_IDENT */ + ], + [ + "[" + /* PathCharTypes.LEFT_BRACKET */ + ]: [ + 4 + /* States.IN_SUB_PATH */ + ], + [ + "o" + /* PathCharTypes.END_OF_FAIL */ + ]: [ + 7 + /* States.AFTER_PATH */ + ] +}; +pathStateMachine[ + 2 + /* States.BEFORE_IDENT */ +] = { + [ + "w" + /* PathCharTypes.WORKSPACE */ + ]: [ + 2 + /* States.BEFORE_IDENT */ + ], + [ + "i" + /* PathCharTypes.IDENT */ + ]: [ + 3, + 0 + /* Actions.APPEND */ + ], + [ + "0" + /* PathCharTypes.ZERO */ + ]: [ + 3, + 0 + /* Actions.APPEND */ + ] +}; +pathStateMachine[ + 3 + /* States.IN_IDENT */ +] = { + [ + "i" + /* PathCharTypes.IDENT */ + ]: [ + 3, + 0 + /* Actions.APPEND */ + ], + [ + "0" + /* PathCharTypes.ZERO */ + ]: [ + 3, + 0 + /* Actions.APPEND */ + ], + [ + "w" + /* PathCharTypes.WORKSPACE */ + ]: [ + 1, + 1 + /* Actions.PUSH */ + ], + [ + "." + /* PathCharTypes.DOT */ + ]: [ + 2, + 1 + /* Actions.PUSH */ + ], + [ + "[" + /* PathCharTypes.LEFT_BRACKET */ + ]: [ + 4, + 1 + /* Actions.PUSH */ + ], + [ + "o" + /* PathCharTypes.END_OF_FAIL */ + ]: [ + 7, + 1 + /* Actions.PUSH */ + ] +}; +pathStateMachine[ + 4 + /* States.IN_SUB_PATH */ +] = { + [ + "'" + /* PathCharTypes.SINGLE_QUOTE */ + ]: [ + 5, + 0 + /* Actions.APPEND */ + ], + [ + '"' + /* PathCharTypes.DOUBLE_QUOTE */ + ]: [ + 6, + 0 + /* Actions.APPEND */ + ], + [ + "[" + /* PathCharTypes.LEFT_BRACKET */ + ]: [ + 4, + 2 + /* Actions.INC_SUB_PATH_DEPTH */ + ], + [ + "]" + /* PathCharTypes.RIGHT_BRACKET */ + ]: [ + 1, + 3 + /* Actions.PUSH_SUB_PATH */ + ], + [ + "o" + /* PathCharTypes.END_OF_FAIL */ + ]: 8, + [ + "l" + /* PathCharTypes.ELSE */ + ]: [ + 4, + 0 + /* Actions.APPEND */ + ] +}; +pathStateMachine[ + 5 + /* States.IN_SINGLE_QUOTE */ +] = { + [ + "'" + /* PathCharTypes.SINGLE_QUOTE */ + ]: [ + 4, + 0 + /* Actions.APPEND */ + ], + [ + "o" + /* PathCharTypes.END_OF_FAIL */ + ]: 8, + [ + "l" + /* PathCharTypes.ELSE */ + ]: [ + 5, + 0 + /* Actions.APPEND */ + ] +}; +pathStateMachine[ + 6 + /* States.IN_DOUBLE_QUOTE */ +] = { + [ + '"' + /* PathCharTypes.DOUBLE_QUOTE */ + ]: [ + 4, + 0 + /* Actions.APPEND */ + ], + [ + "o" + /* PathCharTypes.END_OF_FAIL */ + ]: 8, + [ + "l" + /* PathCharTypes.ELSE */ + ]: [ + 6, + 0 + /* Actions.APPEND */ + ] +}; +const literalValueRE = /^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/; +function isLiteral(exp) { + return literalValueRE.test(exp); +} +__name(isLiteral, "isLiteral"); +function stripQuotes(str) { + const a = str.charCodeAt(0); + const b = str.charCodeAt(str.length - 1); + return a === b && (a === 34 || a === 39) ? str.slice(1, -1) : str; +} +__name(stripQuotes, "stripQuotes"); +function getPathCharType(ch) { + if (ch === void 0 || ch === null) { + return "o"; + } + const code2 = ch.charCodeAt(0); + switch (code2) { + case 91: + case 93: + case 46: + case 34: + case 39: + return ch; + case 95: + case 36: + case 45: + return "i"; + case 9: + case 10: + case 13: + case 160: + case 65279: + case 8232: + case 8233: + return "w"; + } + return "i"; +} +__name(getPathCharType, "getPathCharType"); +function formatSubPath(path) { + const trimmed = path.trim(); + if (path.charAt(0) === "0" && isNaN(parseInt(path))) { + return false; + } + return isLiteral(trimmed) ? stripQuotes(trimmed) : "*" + trimmed; +} +__name(formatSubPath, "formatSubPath"); +function parse$1(path) { + const keys2 = []; + let index2 = -1; + let mode2 = 0; + let subPathDepth = 0; + let c; + let key; + let newChar; + let type; + let transition; + let action; + let typeMap; + const actions = []; + actions[ + 0 + /* Actions.APPEND */ + ] = () => { + if (key === void 0) { + key = newChar; + } else { + key += newChar; + } + }; + actions[ + 1 + /* Actions.PUSH */ + ] = () => { + if (key !== void 0) { + keys2.push(key); + key = void 0; + } + }; + actions[ + 2 + /* Actions.INC_SUB_PATH_DEPTH */ + ] = () => { + actions[ + 0 + /* Actions.APPEND */ + ](); + subPathDepth++; + }; + actions[ + 3 + /* Actions.PUSH_SUB_PATH */ + ] = () => { + if (subPathDepth > 0) { + subPathDepth--; + mode2 = 4; + actions[ + 0 + /* Actions.APPEND */ + ](); + } else { + subPathDepth = 0; + if (key === void 0) { + return false; + } + key = formatSubPath(key); + if (key === false) { + return false; + } else { + actions[ + 1 + /* Actions.PUSH */ + ](); + } + } + }; + function maybeUnescapeQuote() { + const nextChar = path[index2 + 1]; + if (mode2 === 5 && nextChar === "'" || mode2 === 6 && nextChar === '"') { + index2++; + newChar = "\\" + nextChar; + actions[ + 0 + /* Actions.APPEND */ + ](); + return true; + } + } + __name(maybeUnescapeQuote, "maybeUnescapeQuote"); + while (mode2 !== null) { + index2++; + c = path[index2]; + if (c === "\\" && maybeUnescapeQuote()) { + continue; + } + type = getPathCharType(c); + typeMap = pathStateMachine[mode2]; + transition = typeMap[type] || typeMap[ + "l" + /* PathCharTypes.ELSE */ + ] || 8; + if (transition === 8) { + return; + } + mode2 = transition[0]; + if (transition[1] !== void 0) { + action = actions[transition[1]]; + if (action) { + newChar = c; + if (action() === false) { + return; + } + } + } + if (mode2 === 7) { + return keys2; + } + } +} +__name(parse$1, "parse$1"); +const cache = /* @__PURE__ */ new Map(); +function resolveWithKeyValue(obj, path) { + return isObject$2(obj) ? obj[path] : null; +} +__name(resolveWithKeyValue, "resolveWithKeyValue"); +function resolveValue(obj, path) { + if (!isObject$2(obj)) { + return null; + } + let hit = cache.get(path); + if (!hit) { + hit = parse$1(path); + if (hit) { + cache.set(path, hit); + } + } + if (!hit) { + return null; + } + const len = hit.length; + let last = obj; + let i2 = 0; + while (i2 < len) { + const val = last[hit[i2]]; + if (val === void 0) { + return null; + } + if (isFunction(last)) { + return null; + } + last = val; + i2++; + } + return last; +} +__name(resolveValue, "resolveValue"); +const DEFAULT_MODIFIER = /* @__PURE__ */ __name((str) => str, "DEFAULT_MODIFIER"); +const DEFAULT_MESSAGE = /* @__PURE__ */ __name((ctx) => "", "DEFAULT_MESSAGE"); +const DEFAULT_MESSAGE_DATA_TYPE = "text"; +const DEFAULT_NORMALIZE = /* @__PURE__ */ __name((values2) => values2.length === 0 ? "" : join$1(values2), "DEFAULT_NORMALIZE"); +const DEFAULT_INTERPOLATE = toDisplayString; +function pluralDefault(choice, choicesLength) { + choice = Math.abs(choice); + if (choicesLength === 2) { + return choice ? choice > 1 ? 1 : 0 : 1; + } + return choice ? Math.min(choice, 2) : 0; +} +__name(pluralDefault, "pluralDefault"); +function getPluralIndex(options3) { + const index2 = isNumber$1(options3.pluralIndex) ? options3.pluralIndex : -1; + return options3.named && (isNumber$1(options3.named.count) || isNumber$1(options3.named.n)) ? isNumber$1(options3.named.count) ? options3.named.count : isNumber$1(options3.named.n) ? options3.named.n : index2 : index2; +} +__name(getPluralIndex, "getPluralIndex"); +function normalizeNamed(pluralIndex, props) { + if (!props.count) { + props.count = pluralIndex; + } + if (!props.n) { + props.n = pluralIndex; + } +} +__name(normalizeNamed, "normalizeNamed"); +function createMessageContext(options3 = {}) { + const locale2 = options3.locale; + const pluralIndex = getPluralIndex(options3); + const pluralRule = isObject$2(options3.pluralRules) && isString$2(locale2) && isFunction(options3.pluralRules[locale2]) ? options3.pluralRules[locale2] : pluralDefault; + const orgPluralRule = isObject$2(options3.pluralRules) && isString$2(locale2) && isFunction(options3.pluralRules[locale2]) ? pluralDefault : void 0; + const plural = /* @__PURE__ */ __name((messages2) => { + return messages2[pluralRule(pluralIndex, messages2.length, orgPluralRule)]; + }, "plural"); + const _list = options3.list || []; + const list = /* @__PURE__ */ __name((index2) => _list[index2], "list"); + const _named = options3.named || {}; + isNumber$1(options3.pluralIndex) && normalizeNamed(pluralIndex, _named); + const named = /* @__PURE__ */ __name((key) => _named[key], "named"); + function message2(key) { + const msg = isFunction(options3.messages) ? options3.messages(key) : isObject$2(options3.messages) ? options3.messages[key] : false; + return !msg ? options3.parent ? options3.parent.message(key) : DEFAULT_MESSAGE : msg; + } + __name(message2, "message"); + const _modifier = /* @__PURE__ */ __name((name) => options3.modifiers ? options3.modifiers[name] : DEFAULT_MODIFIER, "_modifier"); + const normalize = isPlainObject(options3.processor) && isFunction(options3.processor.normalize) ? options3.processor.normalize : DEFAULT_NORMALIZE; + const interpolate = isPlainObject(options3.processor) && isFunction(options3.processor.interpolate) ? options3.processor.interpolate : DEFAULT_INTERPOLATE; + const type = isPlainObject(options3.processor) && isString$2(options3.processor.type) ? options3.processor.type : DEFAULT_MESSAGE_DATA_TYPE; + const linked = /* @__PURE__ */ __name((key, ...args) => { + const [arg1, arg2] = args; + let type2 = "text"; + let modifier = ""; + if (args.length === 1) { + if (isObject$2(arg1)) { + modifier = arg1.modifier || modifier; + type2 = arg1.type || type2; + } else if (isString$2(arg1)) { + modifier = arg1 || modifier; + } + } else if (args.length === 2) { + if (isString$2(arg1)) { + modifier = arg1 || modifier; + } + if (isString$2(arg2)) { + type2 = arg2 || type2; + } + } + const ret = message2(key)(ctx); + const msg = ( + // The message in vnode resolved with linked are returned as an array by processor.nomalize + type2 === "vnode" && isArray$2(ret) && modifier ? ret[0] : ret + ); + return modifier ? _modifier(modifier)(msg, type2) : msg; + }, "linked"); + const ctx = { + [ + "list" + /* HelperNameMap.LIST */ + ]: list, + [ + "named" + /* HelperNameMap.NAMED */ + ]: named, + [ + "plural" + /* HelperNameMap.PLURAL */ + ]: plural, + [ + "linked" + /* HelperNameMap.LINKED */ + ]: linked, + [ + "message" + /* HelperNameMap.MESSAGE */ + ]: message2, + [ + "type" + /* HelperNameMap.TYPE */ + ]: type, + [ + "interpolate" + /* HelperNameMap.INTERPOLATE */ + ]: interpolate, + [ + "normalize" + /* HelperNameMap.NORMALIZE */ + ]: normalize, + [ + "values" + /* HelperNameMap.VALUES */ + ]: assign$2({}, _list, _named) + }; + return ctx; +} +__name(createMessageContext, "createMessageContext"); +let devtools = null; +function setDevToolsHook(hook) { + devtools = hook; +} +__name(setDevToolsHook, "setDevToolsHook"); +function getDevToolsHook() { + return devtools; +} +__name(getDevToolsHook, "getDevToolsHook"); +function initI18nDevTools(i18n2, version2, meta) { + devtools && devtools.emit("i18n:init", { + timestamp: Date.now(), + i18n: i18n2, + version: version2, + meta + }); +} +__name(initI18nDevTools, "initI18nDevTools"); +const translateDevTools = /* @__PURE__ */ createDevToolsHook( + "function:translate" + /* IntlifyDevToolsHooks.FunctionTranslate */ +); +function createDevToolsHook(hook) { + return (payloads) => devtools && devtools.emit(hook, payloads); +} +__name(createDevToolsHook, "createDevToolsHook"); +const code$1$1 = CompileWarnCodes.__EXTEND_POINT__; +const inc$1$1 = incrementer(code$1$1); +const CoreWarnCodes = { + NOT_FOUND_KEY: code$1$1, + // 2 + FALLBACK_TO_TRANSLATE: inc$1$1(), + // 3 + CANNOT_FORMAT_NUMBER: inc$1$1(), + // 4 + FALLBACK_TO_NUMBER_FORMAT: inc$1$1(), + // 5 + CANNOT_FORMAT_DATE: inc$1$1(), + // 6 + FALLBACK_TO_DATE_FORMAT: inc$1$1(), + // 7 + EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER: inc$1$1(), + // 8 + __EXTEND_POINT__: inc$1$1() + // 9 +}; +const warnMessages$1 = { + [CoreWarnCodes.NOT_FOUND_KEY]: `Not found '{key}' key in '{locale}' locale messages.`, + [CoreWarnCodes.FALLBACK_TO_TRANSLATE]: `Fall back to translate '{key}' key with '{target}' locale.`, + [CoreWarnCodes.CANNOT_FORMAT_NUMBER]: `Cannot format a number value due to not supported Intl.NumberFormat.`, + [CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]: `Fall back to number format '{key}' key with '{target}' locale.`, + [CoreWarnCodes.CANNOT_FORMAT_DATE]: `Cannot format a date value due to not supported Intl.DateTimeFormat.`, + [CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]: `Fall back to datetime format '{key}' key with '{target}' locale.`, + [CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]: `This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future.` +}; +function getWarnMessage$1(code2, ...args) { + return format$4(warnMessages$1[code2], ...args); +} +__name(getWarnMessage$1, "getWarnMessage$1"); +const code$2 = CompileErrorCodes.__EXTEND_POINT__; +const inc$2 = incrementer(code$2); +const CoreErrorCodes = { + INVALID_ARGUMENT: code$2, + // 17 + INVALID_DATE_ARGUMENT: inc$2(), + // 18 + INVALID_ISO_DATE_ARGUMENT: inc$2(), + // 19 + NOT_SUPPORT_NON_STRING_MESSAGE: inc$2(), + // 20 + NOT_SUPPORT_LOCALE_PROMISE_VALUE: inc$2(), + // 21 + NOT_SUPPORT_LOCALE_ASYNC_FUNCTION: inc$2(), + // 22 + NOT_SUPPORT_LOCALE_TYPE: inc$2(), + // 23 + __EXTEND_POINT__: inc$2() + // 24 +}; +function createCoreError(code2) { + return createCompileError(code2, null, false ? { messages: errorMessages$1 } : void 0); +} +__name(createCoreError, "createCoreError"); +const errorMessages$1 = { + [CoreErrorCodes.INVALID_ARGUMENT]: "Invalid arguments", + [CoreErrorCodes.INVALID_DATE_ARGUMENT]: "The date provided is an invalid Date object.Make sure your Date represents a valid date.", + [CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT]: "The argument provided is not a valid ISO date string", + [CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE]: "Not support non-string message", + [CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE]: "cannot support promise value", + [CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION]: "cannot support async function", + [CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE]: "cannot support locale type" +}; +function getLocale(context, options3) { + return options3.locale != null ? resolveLocale(options3.locale) : resolveLocale(context.locale); +} +__name(getLocale, "getLocale"); +let _resolveLocale; +function resolveLocale(locale2) { + if (isString$2(locale2)) { + return locale2; + } else { + if (isFunction(locale2)) { + if (locale2.resolvedOnce && _resolveLocale != null) { + return _resolveLocale; + } else if (locale2.constructor.name === "Function") { + const resolve2 = locale2(); + if (isPromise(resolve2)) { + throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE); + } + return _resolveLocale = resolve2; + } else { + throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION); + } + } else { + throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE); + } + } +} +__name(resolveLocale, "resolveLocale"); +function fallbackWithSimple(ctx, fallback, start2) { + return [.../* @__PURE__ */ new Set([ + start2, + ...isArray$2(fallback) ? fallback : isObject$2(fallback) ? Object.keys(fallback) : isString$2(fallback) ? [fallback] : [start2] + ])]; +} +__name(fallbackWithSimple, "fallbackWithSimple"); +function fallbackWithLocaleChain(ctx, fallback, start2) { + const startLocale = isString$2(start2) ? start2 : DEFAULT_LOCALE; + const context = ctx; + if (!context.__localeChainCache) { + context.__localeChainCache = /* @__PURE__ */ new Map(); + } + let chain = context.__localeChainCache.get(startLocale); + if (!chain) { + chain = []; + let block2 = [start2]; + while (isArray$2(block2)) { + block2 = appendBlockToChain(chain, block2, fallback); + } + const defaults2 = isArray$2(fallback) || !isPlainObject(fallback) ? fallback : fallback["default"] ? fallback["default"] : null; + block2 = isString$2(defaults2) ? [defaults2] : defaults2; + if (isArray$2(block2)) { + appendBlockToChain(chain, block2, false); + } + context.__localeChainCache.set(startLocale, chain); + } + return chain; +} +__name(fallbackWithLocaleChain, "fallbackWithLocaleChain"); +function appendBlockToChain(chain, block2, blocks) { + let follow = true; + for (let i2 = 0; i2 < block2.length && isBoolean$1(follow); i2++) { + const locale2 = block2[i2]; + if (isString$2(locale2)) { + follow = appendLocaleToChain(chain, block2[i2], blocks); + } + } + return follow; +} +__name(appendBlockToChain, "appendBlockToChain"); +function appendLocaleToChain(chain, locale2, blocks) { + let follow; + const tokens = locale2.split("-"); + do { + const target = tokens.join("-"); + follow = appendItemToChain(chain, target, blocks); + tokens.splice(-1, 1); + } while (tokens.length && follow === true); + return follow; +} +__name(appendLocaleToChain, "appendLocaleToChain"); +function appendItemToChain(chain, target, blocks) { + let follow = false; + if (!chain.includes(target)) { + follow = true; + if (target) { + follow = target[target.length - 1] !== "!"; + const locale2 = target.replace(/!/g, ""); + chain.push(locale2); + if ((isArray$2(blocks) || isPlainObject(blocks)) && blocks[locale2]) { + follow = blocks[locale2]; + } + } + } + return follow; +} +__name(appendItemToChain, "appendItemToChain"); +const VERSION$1 = "9.14.1"; +const NOT_REOSLVED = -1; +const DEFAULT_LOCALE = "en-US"; +const MISSING_RESOLVE_VALUE = ""; +const capitalize = /* @__PURE__ */ __name((str) => `${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`, "capitalize"); +function getDefaultLinkedModifiers() { + return { + upper: /* @__PURE__ */ __name((val, type) => { + return type === "text" && isString$2(val) ? val.toUpperCase() : type === "vnode" && isObject$2(val) && "__v_isVNode" in val ? val.children.toUpperCase() : val; + }, "upper"), + lower: /* @__PURE__ */ __name((val, type) => { + return type === "text" && isString$2(val) ? val.toLowerCase() : type === "vnode" && isObject$2(val) && "__v_isVNode" in val ? val.children.toLowerCase() : val; + }, "lower"), + capitalize: /* @__PURE__ */ __name((val, type) => { + return type === "text" && isString$2(val) ? capitalize(val) : type === "vnode" && isObject$2(val) && "__v_isVNode" in val ? capitalize(val.children) : val; + }, "capitalize") + }; +} +__name(getDefaultLinkedModifiers, "getDefaultLinkedModifiers"); +let _compiler; +function registerMessageCompiler(compiler) { + _compiler = compiler; +} +__name(registerMessageCompiler, "registerMessageCompiler"); +let _resolver; +function registerMessageResolver(resolver) { + _resolver = resolver; +} +__name(registerMessageResolver, "registerMessageResolver"); +let _fallbacker; +function registerLocaleFallbacker(fallbacker) { + _fallbacker = fallbacker; +} +__name(registerLocaleFallbacker, "registerLocaleFallbacker"); +let _additionalMeta = null; +const setAdditionalMeta = /* @__PURE__ */ __name(/* @__NO_SIDE_EFFECTS__ */ (meta) => { + _additionalMeta = meta; +}, "setAdditionalMeta"); +const getAdditionalMeta = /* @__PURE__ */ __name(/* @__NO_SIDE_EFFECTS__ */ () => _additionalMeta, "getAdditionalMeta"); +let _fallbackContext = null; +const setFallbackContext = /* @__PURE__ */ __name((context) => { + _fallbackContext = context; +}, "setFallbackContext"); +const getFallbackContext = /* @__PURE__ */ __name(() => _fallbackContext, "getFallbackContext"); +let _cid = 0; +function createCoreContext(options3 = {}) { + const onWarn = isFunction(options3.onWarn) ? options3.onWarn : warn$1; + const version2 = isString$2(options3.version) ? options3.version : VERSION$1; + const locale2 = isString$2(options3.locale) || isFunction(options3.locale) ? options3.locale : DEFAULT_LOCALE; + const _locale = isFunction(locale2) ? DEFAULT_LOCALE : locale2; + const fallbackLocale = isArray$2(options3.fallbackLocale) || isPlainObject(options3.fallbackLocale) || isString$2(options3.fallbackLocale) || options3.fallbackLocale === false ? options3.fallbackLocale : _locale; + const messages2 = isPlainObject(options3.messages) ? options3.messages : { [_locale]: {} }; + const datetimeFormats = isPlainObject(options3.datetimeFormats) ? options3.datetimeFormats : { [_locale]: {} }; + const numberFormats = isPlainObject(options3.numberFormats) ? options3.numberFormats : { [_locale]: {} }; + const modifiers = assign$2({}, options3.modifiers || {}, getDefaultLinkedModifiers()); + const pluralRules = options3.pluralRules || {}; + const missing = isFunction(options3.missing) ? options3.missing : null; + const missingWarn = isBoolean$1(options3.missingWarn) || isRegExp(options3.missingWarn) ? options3.missingWarn : true; + const fallbackWarn = isBoolean$1(options3.fallbackWarn) || isRegExp(options3.fallbackWarn) ? options3.fallbackWarn : true; + const fallbackFormat = !!options3.fallbackFormat; + const unresolving = !!options3.unresolving; + const postTranslation = isFunction(options3.postTranslation) ? options3.postTranslation : null; + const processor = isPlainObject(options3.processor) ? options3.processor : null; + const warnHtmlMessage = isBoolean$1(options3.warnHtmlMessage) ? options3.warnHtmlMessage : true; + const escapeParameter = !!options3.escapeParameter; + const messageCompiler = isFunction(options3.messageCompiler) ? options3.messageCompiler : _compiler; + if (false) { + warnOnce(getWarnMessage$1(CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER)); + } + const messageResolver = isFunction(options3.messageResolver) ? options3.messageResolver : _resolver || resolveWithKeyValue; + const localeFallbacker = isFunction(options3.localeFallbacker) ? options3.localeFallbacker : _fallbacker || fallbackWithSimple; + const fallbackContext = isObject$2(options3.fallbackContext) ? options3.fallbackContext : void 0; + const internalOptions = options3; + const __datetimeFormatters = isObject$2(internalOptions.__datetimeFormatters) ? internalOptions.__datetimeFormatters : /* @__PURE__ */ new Map(); + const __numberFormatters = isObject$2(internalOptions.__numberFormatters) ? internalOptions.__numberFormatters : /* @__PURE__ */ new Map(); + const __meta = isObject$2(internalOptions.__meta) ? internalOptions.__meta : {}; + _cid++; + const context = { + version: version2, + cid: _cid, + locale: locale2, + fallbackLocale, + messages: messages2, + modifiers, + pluralRules, + missing, + missingWarn, + fallbackWarn, + fallbackFormat, + unresolving, + postTranslation, + processor, + warnHtmlMessage, + escapeParameter, + messageCompiler, + messageResolver, + localeFallbacker, + fallbackContext, + onWarn, + __meta + }; + { + context.datetimeFormats = datetimeFormats; + context.numberFormats = numberFormats; + context.__datetimeFormatters = __datetimeFormatters; + context.__numberFormatters = __numberFormatters; + } + if (false) { + context.__v_emitter = internalOptions.__v_emitter != null ? internalOptions.__v_emitter : void 0; + } + if (__INTLIFY_PROD_DEVTOOLS__) { + initI18nDevTools(context, version2, __meta); + } + return context; +} +__name(createCoreContext, "createCoreContext"); +function isTranslateFallbackWarn(fallback, key) { + return fallback instanceof RegExp ? fallback.test(key) : fallback; +} +__name(isTranslateFallbackWarn, "isTranslateFallbackWarn"); +function isTranslateMissingWarn(missing, key) { + return missing instanceof RegExp ? missing.test(key) : missing; +} +__name(isTranslateMissingWarn, "isTranslateMissingWarn"); +function handleMissing(context, key, locale2, missingWarn, type) { + const { missing, onWarn } = context; + if (false) { + const emitter = context.__v_emitter; + if (emitter) { + emitter.emit("missing", { + locale: locale2, + key, + type, + groupId: `${type}:${key}` + }); + } + } + if (missing !== null) { + const ret = missing(context, locale2, key, type); + return isString$2(ret) ? ret : key; + } else { + if (false) { + onWarn(getWarnMessage$1(CoreWarnCodes.NOT_FOUND_KEY, { key, locale: locale2 })); + } + return key; + } +} +__name(handleMissing, "handleMissing"); +function updateFallbackLocale(ctx, locale2, fallback) { + const context = ctx; + context.__localeChainCache = /* @__PURE__ */ new Map(); + ctx.localeFallbacker(ctx, fallback, locale2); +} +__name(updateFallbackLocale, "updateFallbackLocale"); +function isAlmostSameLocale(locale2, compareLocale) { + if (locale2 === compareLocale) + return false; + return locale2.split("-")[0] === compareLocale.split("-")[0]; +} +__name(isAlmostSameLocale, "isAlmostSameLocale"); +function isImplicitFallback(targetLocale, locales) { + const index2 = locales.indexOf(targetLocale); + if (index2 === -1) { + return false; + } + for (let i2 = index2 + 1; i2 < locales.length; i2++) { + if (isAlmostSameLocale(targetLocale, locales[i2])) { + return true; + } + } + return false; +} +__name(isImplicitFallback, "isImplicitFallback"); +function format$2(ast) { + const msg = /* @__PURE__ */ __name((ctx) => formatParts(ctx, ast), "msg"); + return msg; +} +__name(format$2, "format$2"); +function formatParts(ctx, ast) { + const body = ast.b || ast.body; + if ((body.t || body.type) === 1) { + const plural = body; + const cases = plural.c || plural.cases; + return ctx.plural(cases.reduce((messages2, c) => [ + ...messages2, + formatMessageParts(ctx, c) + ], [])); + } else { + return formatMessageParts(ctx, body); + } +} +__name(formatParts, "formatParts"); +function formatMessageParts(ctx, node3) { + const _static = node3.s || node3.static; + if (_static) { + return ctx.type === "text" ? _static : ctx.normalize([_static]); + } else { + const messages2 = (node3.i || node3.items).reduce((acm, c) => [...acm, formatMessagePart(ctx, c)], []); + return ctx.normalize(messages2); + } +} +__name(formatMessageParts, "formatMessageParts"); +function formatMessagePart(ctx, node3) { + const type = node3.t || node3.type; + switch (type) { + case 3: { + const text = node3; + return text.v || text.value; + } + case 9: { + const literal = node3; + return literal.v || literal.value; + } + case 4: { + const named = node3; + return ctx.interpolate(ctx.named(named.k || named.key)); + } + case 5: { + const list = node3; + return ctx.interpolate(ctx.list(list.i != null ? list.i : list.index)); + } + case 6: { + const linked = node3; + const modifier = linked.m || linked.modifier; + return ctx.linked(formatMessagePart(ctx, linked.k || linked.key), modifier ? formatMessagePart(ctx, modifier) : void 0, ctx.type); + } + case 7: { + const linkedKey = node3; + return linkedKey.v || linkedKey.value; + } + case 8: { + const linkedModifier = node3; + return linkedModifier.v || linkedModifier.value; + } + default: + throw new Error(`unhandled node type on format message part: ${type}`); + } +} +__name(formatMessagePart, "formatMessagePart"); +const WARN_MESSAGE = `Detected HTML in '{source}' message. Recommend not using HTML messages to avoid XSS.`; +function checkHtmlMessage(source, warnHtmlMessage) { + if (warnHtmlMessage && detectHtmlTag(source)) { + warn$1(format$4(WARN_MESSAGE, { source })); + } +} +__name(checkHtmlMessage, "checkHtmlMessage"); +const defaultOnCacheKey = /* @__PURE__ */ __name((message2) => message2, "defaultOnCacheKey"); +let compileCache = /* @__PURE__ */ Object.create(null); +function onCompileWarn(_warn) { + if (_warn.code === CompileWarnCodes.USE_MODULO_SYNTAX) { + warn$1(`The use of named interpolation with modulo syntax is deprecated. It will be removed in v10. +reference: https://vue-i18n.intlify.dev/guide/essentials/syntax#rails-i18n-format +(message compiler warning message: ${_warn.message})`); + } +} +__name(onCompileWarn, "onCompileWarn"); +function clearCompileCache() { + compileCache = /* @__PURE__ */ Object.create(null); +} +__name(clearCompileCache, "clearCompileCache"); +const isMessageAST = /* @__PURE__ */ __name((val) => isObject$2(val) && (val.t === 0 || val.type === 0) && ("b" in val || "body" in val), "isMessageAST"); +function baseCompile(message2, options3 = {}) { + let detectError = false; + const onError = options3.onError || defaultOnError; + options3.onError = (err) => { + detectError = true; + onError(err); + }; + return { ...baseCompile$1(message2, options3), detectError }; +} +__name(baseCompile, "baseCompile"); +const compileToFunction = /* @__PURE__ */ __name(/* @__NO_SIDE_EFFECTS__ */ (message2, context) => { + if (!isString$2(message2)) { + throw createCoreError(CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE); + } + if (false) { + context.onWarn = onCompileWarn; + } + { + const warnHtmlMessage = isBoolean$1(context.warnHtmlMessage) ? context.warnHtmlMessage : true; + const onCacheKey = context.onCacheKey || defaultOnCacheKey; + const cacheKey = onCacheKey(message2); + const cached = compileCache[cacheKey]; + if (cached) { + return cached; + } + const { code: code2, detectError } = baseCompile(message2, context); + const msg = new Function(`return ${code2}`)(); + return !detectError ? compileCache[cacheKey] = msg : msg; + } +}, "compileToFunction"); +function compile(message2, context) { + if (false) { + context.onWarn = onCompileWarn; + } + if (__INTLIFY_JIT_COMPILATION__ && !__INTLIFY_DROP_MESSAGE_COMPILER__ && isString$2(message2)) { + const warnHtmlMessage = isBoolean$1(context.warnHtmlMessage) ? context.warnHtmlMessage : true; + const onCacheKey = context.onCacheKey || defaultOnCacheKey; + const cacheKey = onCacheKey(message2); + const cached = compileCache[cacheKey]; + if (cached) { + return cached; + } + const { ast, detectError } = baseCompile(message2, { + ...context, + location: false, + jit: true + }); + const msg = format$2(ast); + return !detectError ? compileCache[cacheKey] = msg : msg; + } else { + if (false) { + warn$1(`the message that is resolve with key '${context.key}' is not supported for jit compilation`); + return () => message2; + } + const cacheKey = message2.cacheKey; + if (cacheKey) { + const cached = compileCache[cacheKey]; + if (cached) { + return cached; + } + return compileCache[cacheKey] = format$2(message2); + } else { + return format$2(message2); + } + } +} +__name(compile, "compile"); +const NOOP_MESSAGE_FUNCTION = /* @__PURE__ */ __name(() => "", "NOOP_MESSAGE_FUNCTION"); +const isMessageFunction = /* @__PURE__ */ __name((val) => isFunction(val), "isMessageFunction"); +function translate(context, ...args) { + const { fallbackFormat, postTranslation, unresolving, messageCompiler, fallbackLocale, messages: messages2 } = context; + const [key, options3] = parseTranslateArgs(...args); + const missingWarn = isBoolean$1(options3.missingWarn) ? options3.missingWarn : context.missingWarn; + const fallbackWarn = isBoolean$1(options3.fallbackWarn) ? options3.fallbackWarn : context.fallbackWarn; + const escapeParameter = isBoolean$1(options3.escapeParameter) ? options3.escapeParameter : context.escapeParameter; + const resolvedMessage = !!options3.resolvedMessage; + const defaultMsgOrKey = isString$2(options3.default) || isBoolean$1(options3.default) ? !isBoolean$1(options3.default) ? options3.default : !messageCompiler ? () => key : key : fallbackFormat ? !messageCompiler ? () => key : key : ""; + const enableDefaultMsg = fallbackFormat || defaultMsgOrKey !== ""; + const locale2 = getLocale(context, options3); + escapeParameter && escapeParams(options3); + let [formatScope, targetLocale, message2] = !resolvedMessage ? resolveMessageFormat(context, key, locale2, fallbackLocale, fallbackWarn, missingWarn) : [ + key, + locale2, + messages2[locale2] || {} + ]; + let format2 = formatScope; + let cacheBaseKey = key; + if (!resolvedMessage && !(isString$2(format2) || isMessageAST(format2) || isMessageFunction(format2))) { + if (enableDefaultMsg) { + format2 = defaultMsgOrKey; + cacheBaseKey = format2; + } + } + if (!resolvedMessage && (!(isString$2(format2) || isMessageAST(format2) || isMessageFunction(format2)) || !isString$2(targetLocale))) { + return unresolving ? NOT_REOSLVED : key; + } + if (false) { + warn$1(`The message format compilation is not supported in this build. Because message compiler isn't included. You need to pre-compilation all message format. So translate function return '${key}'.`); + return key; + } + let occurred = false; + const onError = /* @__PURE__ */ __name(() => { + occurred = true; + }, "onError"); + const msg = !isMessageFunction(format2) ? compileMessageFormat(context, key, targetLocale, format2, cacheBaseKey, onError) : format2; + if (occurred) { + return format2; + } + const ctxOptions = getMessageContextOptions(context, targetLocale, message2, options3); + const msgContext = createMessageContext(ctxOptions); + const messaged = evaluateMessage(context, msg, msgContext); + const ret = postTranslation ? postTranslation(messaged, key) : messaged; + if (__INTLIFY_PROD_DEVTOOLS__) { + const payloads = { + timestamp: Date.now(), + key: isString$2(key) ? key : isMessageFunction(format2) ? format2.key : "", + locale: targetLocale || (isMessageFunction(format2) ? format2.locale : ""), + format: isString$2(format2) ? format2 : isMessageFunction(format2) ? format2.source : "", + message: ret + }; + payloads.meta = assign$2({}, context.__meta, /* @__PURE__ */ getAdditionalMeta() || {}); + translateDevTools(payloads); + } + return ret; +} +__name(translate, "translate"); +function escapeParams(options3) { + if (isArray$2(options3.list)) { + options3.list = options3.list.map((item2) => isString$2(item2) ? escapeHtml(item2) : item2); + } else if (isObject$2(options3.named)) { + Object.keys(options3.named).forEach((key) => { + if (isString$2(options3.named[key])) { + options3.named[key] = escapeHtml(options3.named[key]); + } + }); + } +} +__name(escapeParams, "escapeParams"); +function resolveMessageFormat(context, key, locale2, fallbackLocale, fallbackWarn, missingWarn) { + const { messages: messages2, onWarn, messageResolver: resolveValue2, localeFallbacker } = context; + const locales = localeFallbacker(context, fallbackLocale, locale2); + let message2 = {}; + let targetLocale; + let format2 = null; + let from = locale2; + let to = null; + const type = "translate"; + for (let i2 = 0; i2 < locales.length; i2++) { + targetLocale = to = locales[i2]; + if (false) { + onWarn(getWarnMessage$1(CoreWarnCodes.FALLBACK_TO_TRANSLATE, { + key, + target: targetLocale + })); + } + if (false) { + const emitter = context.__v_emitter; + if (emitter) { + emitter.emit("fallback", { + type, + key, + from, + to, + groupId: `${type}:${key}` + }); + } + } + message2 = messages2[targetLocale] || {}; + let start2 = null; + let startTag; + let endTag; + if (false) { + start2 = window.performance.now(); + startTag = "intlify-message-resolve-start"; + endTag = "intlify-message-resolve-end"; + mark && mark(startTag); + } + if ((format2 = resolveValue2(message2, key)) === null) { + format2 = message2[key]; + } + if (false) { + const end = window.performance.now(); + const emitter = context.__v_emitter; + if (emitter && start2 && format2) { + emitter.emit("message-resolve", { + type: "message-resolve", + key, + message: format2, + time: end - start2, + groupId: `${type}:${key}` + }); + } + if (startTag && endTag && mark && measure) { + mark(endTag); + measure("intlify message resolve", startTag, endTag); + } + } + if (isString$2(format2) || isMessageAST(format2) || isMessageFunction(format2)) { + break; + } + if (!isImplicitFallback(targetLocale, locales)) { + const missingRet = handleMissing( + context, + // eslint-disable-line @typescript-eslint/no-explicit-any + key, + targetLocale, + missingWarn, + type + ); + if (missingRet !== key) { + format2 = missingRet; + } + } + from = to; + } + return [format2, targetLocale, message2]; +} +__name(resolveMessageFormat, "resolveMessageFormat"); +function compileMessageFormat(context, key, targetLocale, format2, cacheBaseKey, onError) { + const { messageCompiler, warnHtmlMessage } = context; + if (isMessageFunction(format2)) { + const msg2 = format2; + msg2.locale = msg2.locale || targetLocale; + msg2.key = msg2.key || key; + return msg2; + } + if (messageCompiler == null) { + const msg2 = /* @__PURE__ */ __name(() => format2, "msg2"); + msg2.locale = targetLocale; + msg2.key = key; + return msg2; + } + let start2 = null; + let startTag; + let endTag; + if (false) { + start2 = window.performance.now(); + startTag = "intlify-message-compilation-start"; + endTag = "intlify-message-compilation-end"; + mark && mark(startTag); + } + const msg = messageCompiler(format2, getCompileContext(context, targetLocale, cacheBaseKey, format2, warnHtmlMessage, onError)); + if (false) { + const end = window.performance.now(); + const emitter = context.__v_emitter; + if (emitter && start2) { + emitter.emit("message-compilation", { + type: "message-compilation", + message: format2, + time: end - start2, + groupId: `${"translate"}:${key}` + }); + } + if (startTag && endTag && mark && measure) { + mark(endTag); + measure("intlify message compilation", startTag, endTag); + } + } + msg.locale = targetLocale; + msg.key = key; + msg.source = format2; + return msg; +} +__name(compileMessageFormat, "compileMessageFormat"); +function evaluateMessage(context, msg, msgCtx) { + let start2 = null; + let startTag; + let endTag; + if (false) { + start2 = window.performance.now(); + startTag = "intlify-message-evaluation-start"; + endTag = "intlify-message-evaluation-end"; + mark && mark(startTag); + } + const messaged = msg(msgCtx); + if (false) { + const end = window.performance.now(); + const emitter = context.__v_emitter; + if (emitter && start2) { + emitter.emit("message-evaluation", { + type: "message-evaluation", + value: messaged, + time: end - start2, + groupId: `${"translate"}:${msg.key}` + }); + } + if (startTag && endTag && mark && measure) { + mark(endTag); + measure("intlify message evaluation", startTag, endTag); + } + } + return messaged; +} +__name(evaluateMessage, "evaluateMessage"); +function parseTranslateArgs(...args) { + const [arg1, arg2, arg3] = args; + const options3 = {}; + if (!isString$2(arg1) && !isNumber$1(arg1) && !isMessageFunction(arg1) && !isMessageAST(arg1)) { + throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT); + } + const key = isNumber$1(arg1) ? String(arg1) : isMessageFunction(arg1) ? arg1 : arg1; + if (isNumber$1(arg2)) { + options3.plural = arg2; + } else if (isString$2(arg2)) { + options3.default = arg2; + } else if (isPlainObject(arg2) && !isEmptyObject(arg2)) { + options3.named = arg2; + } else if (isArray$2(arg2)) { + options3.list = arg2; + } + if (isNumber$1(arg3)) { + options3.plural = arg3; + } else if (isString$2(arg3)) { + options3.default = arg3; + } else if (isPlainObject(arg3)) { + assign$2(options3, arg3); + } + return [key, options3]; +} +__name(parseTranslateArgs, "parseTranslateArgs"); +function getCompileContext(context, locale2, key, source, warnHtmlMessage, onError) { + return { + locale: locale2, + key, + warnHtmlMessage, + onError: /* @__PURE__ */ __name((err) => { + onError && onError(err); + if (false) { + const _source = getSourceForCodeFrame(source); + const message2 = `Message compilation error: ${err.message}`; + const codeFrame = err.location && _source && generateCodeFrame(_source, err.location.start.offset, err.location.end.offset); + const emitter = context.__v_emitter; + if (emitter && _source) { + emitter.emit("compile-error", { + message: _source, + error: err.message, + start: err.location && err.location.start.offset, + end: err.location && err.location.end.offset, + groupId: `${"translate"}:${key}` + }); + } + console.error(codeFrame ? `${message2} +${codeFrame}` : message2); + } else { + throw err; + } + }, "onError"), + onCacheKey: /* @__PURE__ */ __name((source2) => generateFormatCacheKey(locale2, key, source2), "onCacheKey") + }; +} +__name(getCompileContext, "getCompileContext"); +function getSourceForCodeFrame(source) { + if (isString$2(source)) { + return source; + } else { + if (source.loc && source.loc.source) { + return source.loc.source; + } + } +} +__name(getSourceForCodeFrame, "getSourceForCodeFrame"); +function getMessageContextOptions(context, locale2, message2, options3) { + const { modifiers, pluralRules, messageResolver: resolveValue2, fallbackLocale, fallbackWarn, missingWarn, fallbackContext } = context; + const resolveMessage = /* @__PURE__ */ __name((key) => { + let val = resolveValue2(message2, key); + if (val == null && fallbackContext) { + const [, , message22] = resolveMessageFormat(fallbackContext, key, locale2, fallbackLocale, fallbackWarn, missingWarn); + val = resolveValue2(message22, key); + } + if (isString$2(val) || isMessageAST(val)) { + let occurred = false; + const onError = /* @__PURE__ */ __name(() => { + occurred = true; + }, "onError"); + const msg = compileMessageFormat(context, key, locale2, val, key, onError); + return !occurred ? msg : NOOP_MESSAGE_FUNCTION; + } else if (isMessageFunction(val)) { + return val; + } else { + return NOOP_MESSAGE_FUNCTION; + } + }, "resolveMessage"); + const ctxOptions = { + locale: locale2, + modifiers, + pluralRules, + messages: resolveMessage + }; + if (context.processor) { + ctxOptions.processor = context.processor; + } + if (options3.list) { + ctxOptions.list = options3.list; + } + if (options3.named) { + ctxOptions.named = options3.named; + } + if (isNumber$1(options3.plural)) { + ctxOptions.pluralIndex = options3.plural; + } + return ctxOptions; +} +__name(getMessageContextOptions, "getMessageContextOptions"); +const intlDefined = typeof Intl !== "undefined"; +const Availabilities = { + dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== "undefined", + numberFormat: intlDefined && typeof Intl.NumberFormat !== "undefined" +}; +function datetime(context, ...args) { + const { datetimeFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context; + const { __datetimeFormatters } = context; + if (false) { + onWarn(getWarnMessage$1(CoreWarnCodes.CANNOT_FORMAT_DATE)); + return MISSING_RESOLVE_VALUE; + } + const [key, value3, options3, overrides] = parseDateTimeArgs(...args); + const missingWarn = isBoolean$1(options3.missingWarn) ? options3.missingWarn : context.missingWarn; + const fallbackWarn = isBoolean$1(options3.fallbackWarn) ? options3.fallbackWarn : context.fallbackWarn; + const part = !!options3.part; + const locale2 = getLocale(context, options3); + const locales = localeFallbacker( + context, + // eslint-disable-line @typescript-eslint/no-explicit-any + fallbackLocale, + locale2 + ); + if (!isString$2(key) || key === "") { + return new Intl.DateTimeFormat(locale2, overrides).format(value3); + } + let datetimeFormat = {}; + let targetLocale; + let format2 = null; + let from = locale2; + let to = null; + const type = "datetime format"; + for (let i2 = 0; i2 < locales.length; i2++) { + targetLocale = to = locales[i2]; + if (false) { + onWarn(getWarnMessage$1(CoreWarnCodes.FALLBACK_TO_DATE_FORMAT, { + key, + target: targetLocale + })); + } + if (false) { + const emitter = context.__v_emitter; + if (emitter) { + emitter.emit("fallback", { + type, + key, + from, + to, + groupId: `${type}:${key}` + }); + } + } + datetimeFormat = datetimeFormats[targetLocale] || {}; + format2 = datetimeFormat[key]; + if (isPlainObject(format2)) + break; + handleMissing(context, key, targetLocale, missingWarn, type); + from = to; + } + if (!isPlainObject(format2) || !isString$2(targetLocale)) { + return unresolving ? NOT_REOSLVED : key; + } + let id3 = `${targetLocale}__${key}`; + if (!isEmptyObject(overrides)) { + id3 = `${id3}__${JSON.stringify(overrides)}`; + } + let formatter = __datetimeFormatters.get(id3); + if (!formatter) { + formatter = new Intl.DateTimeFormat(targetLocale, assign$2({}, format2, overrides)); + __datetimeFormatters.set(id3, formatter); + } + return !part ? formatter.format(value3) : formatter.formatToParts(value3); +} +__name(datetime, "datetime"); +const DATETIME_FORMAT_OPTIONS_KEYS = [ + "localeMatcher", + "weekday", + "era", + "year", + "month", + "day", + "hour", + "minute", + "second", + "timeZoneName", + "formatMatcher", + "hour12", + "timeZone", + "dateStyle", + "timeStyle", + "calendar", + "dayPeriod", + "numberingSystem", + "hourCycle", + "fractionalSecondDigits" +]; +function parseDateTimeArgs(...args) { + const [arg1, arg2, arg3, arg4] = args; + const options3 = {}; + let overrides = {}; + let value3; + if (isString$2(arg1)) { + const matches2 = arg1.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/); + if (!matches2) { + throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT); + } + const dateTime = matches2[3] ? matches2[3].trim().startsWith("T") ? `${matches2[1].trim()}${matches2[3].trim()}` : `${matches2[1].trim()}T${matches2[3].trim()}` : matches2[1].trim(); + value3 = new Date(dateTime); + try { + value3.toISOString(); + } catch (e) { + throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT); + } + } else if (isDate(arg1)) { + if (isNaN(arg1.getTime())) { + throw createCoreError(CoreErrorCodes.INVALID_DATE_ARGUMENT); + } + value3 = arg1; + } else if (isNumber$1(arg1)) { + value3 = arg1; + } else { + throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT); + } + if (isString$2(arg2)) { + options3.key = arg2; + } else if (isPlainObject(arg2)) { + Object.keys(arg2).forEach((key) => { + if (DATETIME_FORMAT_OPTIONS_KEYS.includes(key)) { + overrides[key] = arg2[key]; + } else { + options3[key] = arg2[key]; + } + }); + } + if (isString$2(arg3)) { + options3.locale = arg3; + } else if (isPlainObject(arg3)) { + overrides = arg3; + } + if (isPlainObject(arg4)) { + overrides = arg4; + } + return [options3.key || "", value3, options3, overrides]; +} +__name(parseDateTimeArgs, "parseDateTimeArgs"); +function clearDateTimeFormat(ctx, locale2, format2) { + const context = ctx; + for (const key in format2) { + const id3 = `${locale2}__${key}`; + if (!context.__datetimeFormatters.has(id3)) { + continue; + } + context.__datetimeFormatters.delete(id3); + } +} +__name(clearDateTimeFormat, "clearDateTimeFormat"); +function number(context, ...args) { + const { numberFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context; + const { __numberFormatters } = context; + if (false) { + onWarn(getWarnMessage$1(CoreWarnCodes.CANNOT_FORMAT_NUMBER)); + return MISSING_RESOLVE_VALUE; + } + const [key, value3, options3, overrides] = parseNumberArgs(...args); + const missingWarn = isBoolean$1(options3.missingWarn) ? options3.missingWarn : context.missingWarn; + const fallbackWarn = isBoolean$1(options3.fallbackWarn) ? options3.fallbackWarn : context.fallbackWarn; + const part = !!options3.part; + const locale2 = getLocale(context, options3); + const locales = localeFallbacker( + context, + // eslint-disable-line @typescript-eslint/no-explicit-any + fallbackLocale, + locale2 + ); + if (!isString$2(key) || key === "") { + return new Intl.NumberFormat(locale2, overrides).format(value3); + } + let numberFormat = {}; + let targetLocale; + let format2 = null; + let from = locale2; + let to = null; + const type = "number format"; + for (let i2 = 0; i2 < locales.length; i2++) { + targetLocale = to = locales[i2]; + if (false) { + onWarn(getWarnMessage$1(CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT, { + key, + target: targetLocale + })); + } + if (false) { + const emitter = context.__v_emitter; + if (emitter) { + emitter.emit("fallback", { + type, + key, + from, + to, + groupId: `${type}:${key}` + }); + } + } + numberFormat = numberFormats[targetLocale] || {}; + format2 = numberFormat[key]; + if (isPlainObject(format2)) + break; + handleMissing(context, key, targetLocale, missingWarn, type); + from = to; + } + if (!isPlainObject(format2) || !isString$2(targetLocale)) { + return unresolving ? NOT_REOSLVED : key; + } + let id3 = `${targetLocale}__${key}`; + if (!isEmptyObject(overrides)) { + id3 = `${id3}__${JSON.stringify(overrides)}`; + } + let formatter = __numberFormatters.get(id3); + if (!formatter) { + formatter = new Intl.NumberFormat(targetLocale, assign$2({}, format2, overrides)); + __numberFormatters.set(id3, formatter); + } + return !part ? formatter.format(value3) : formatter.formatToParts(value3); +} +__name(number, "number"); +const NUMBER_FORMAT_OPTIONS_KEYS = [ + "localeMatcher", + "style", + "currency", + "currencyDisplay", + "currencySign", + "useGrouping", + "minimumIntegerDigits", + "minimumFractionDigits", + "maximumFractionDigits", + "minimumSignificantDigits", + "maximumSignificantDigits", + "compactDisplay", + "notation", + "signDisplay", + "unit", + "unitDisplay", + "roundingMode", + "roundingPriority", + "roundingIncrement", + "trailingZeroDisplay" +]; +function parseNumberArgs(...args) { + const [arg1, arg2, arg3, arg4] = args; + const options3 = {}; + let overrides = {}; + if (!isNumber$1(arg1)) { + throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT); + } + const value3 = arg1; + if (isString$2(arg2)) { + options3.key = arg2; + } else if (isPlainObject(arg2)) { + Object.keys(arg2).forEach((key) => { + if (NUMBER_FORMAT_OPTIONS_KEYS.includes(key)) { + overrides[key] = arg2[key]; + } else { + options3[key] = arg2[key]; + } + }); + } + if (isString$2(arg3)) { + options3.locale = arg3; + } else if (isPlainObject(arg3)) { + overrides = arg3; + } + if (isPlainObject(arg4)) { + overrides = arg4; + } + return [options3.key || "", value3, options3, overrides]; +} +__name(parseNumberArgs, "parseNumberArgs"); +function clearNumberFormat(ctx, locale2, format2) { + const context = ctx; + for (const key in format2) { + const id3 = `${locale2}__${key}`; + if (!context.__numberFormatters.has(id3)) { + continue; + } + context.__numberFormatters.delete(id3); + } +} +__name(clearNumberFormat, "clearNumberFormat"); +{ + initFeatureFlags$1(); +} +/*! + * vue-i18n v9.14.1 + * (c) 2024 kazuya kawaguchi + * Released under the MIT License. + */ +const VERSION = "9.14.1"; +function initFeatureFlags() { + if (typeof __VUE_I18N_FULL_INSTALL__ !== "boolean") { + getGlobalThis().__VUE_I18N_FULL_INSTALL__ = true; + } + if (typeof __VUE_I18N_LEGACY_API__ !== "boolean") { + getGlobalThis().__VUE_I18N_LEGACY_API__ = true; + } + if (typeof __INTLIFY_JIT_COMPILATION__ !== "boolean") { + getGlobalThis().__INTLIFY_JIT_COMPILATION__ = false; + } + if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== "boolean") { + getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false; + } + if (typeof __INTLIFY_PROD_DEVTOOLS__ !== "boolean") { + getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false; + } +} +__name(initFeatureFlags, "initFeatureFlags"); +const code$1 = CoreWarnCodes.__EXTEND_POINT__; +const inc$1 = incrementer(code$1); +const I18nWarnCodes = { + FALLBACK_TO_ROOT: code$1, + // 9 + NOT_SUPPORTED_PRESERVE: inc$1(), + // 10 + NOT_SUPPORTED_FORMATTER: inc$1(), + // 11 + NOT_SUPPORTED_PRESERVE_DIRECTIVE: inc$1(), + // 12 + NOT_SUPPORTED_GET_CHOICE_INDEX: inc$1(), + // 13 + COMPONENT_NAME_LEGACY_COMPATIBLE: inc$1(), + // 14 + NOT_FOUND_PARENT_SCOPE: inc$1(), + // 15 + IGNORE_OBJ_FLATTEN: inc$1(), + // 16 + NOTICE_DROP_ALLOW_COMPOSITION: inc$1(), + // 17 + NOTICE_DROP_TRANSLATE_EXIST_COMPATIBLE_FLAG: inc$1() + // 18 +}; +const warnMessages = { + [I18nWarnCodes.FALLBACK_TO_ROOT]: `Fall back to {type} '{key}' with root locale.`, + [I18nWarnCodes.NOT_SUPPORTED_PRESERVE]: `Not supported 'preserve'.`, + [I18nWarnCodes.NOT_SUPPORTED_FORMATTER]: `Not supported 'formatter'.`, + [I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE]: `Not supported 'preserveDirectiveContent'.`, + [I18nWarnCodes.NOT_SUPPORTED_GET_CHOICE_INDEX]: `Not supported 'getChoiceIndex'.`, + [I18nWarnCodes.COMPONENT_NAME_LEGACY_COMPATIBLE]: `Component name legacy compatible: '{name}' -> 'i18n'`, + [I18nWarnCodes.NOT_FOUND_PARENT_SCOPE]: `Not found parent scope. use the global scope.`, + [I18nWarnCodes.IGNORE_OBJ_FLATTEN]: `Ignore object flatten: '{key}' key has an string value`, + [I18nWarnCodes.NOTICE_DROP_ALLOW_COMPOSITION]: `'allowComposition' option will be dropped in the next major version. For more information, please see 👉 https://tinyurl.com/2p97mcze`, + [I18nWarnCodes.NOTICE_DROP_TRANSLATE_EXIST_COMPATIBLE_FLAG]: `'translateExistCompatible' option will be dropped in the next major version.` +}; +function getWarnMessage(code2, ...args) { + return format$4(warnMessages[code2], ...args); +} +__name(getWarnMessage, "getWarnMessage"); +const code = CoreErrorCodes.__EXTEND_POINT__; +const inc = incrementer(code); +const I18nErrorCodes = { + // composer module errors + UNEXPECTED_RETURN_TYPE: code, + // 24 + // legacy module errors + INVALID_ARGUMENT: inc(), + // 25 + // i18n module errors + MUST_BE_CALL_SETUP_TOP: inc(), + // 26 + NOT_INSTALLED: inc(), + // 27 + NOT_AVAILABLE_IN_LEGACY_MODE: inc(), + // 28 + // directive module errors + REQUIRED_VALUE: inc(), + // 29 + INVALID_VALUE: inc(), + // 30 + // vue-devtools errors + CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN: inc(), + // 31 + NOT_INSTALLED_WITH_PROVIDE: inc(), + // 32 + // unexpected error + UNEXPECTED_ERROR: inc(), + // 33 + // not compatible legacy vue-i18n constructor + NOT_COMPATIBLE_LEGACY_VUE_I18N: inc(), + // 34 + // bridge support vue 2.x only + BRIDGE_SUPPORT_VUE_2_ONLY: inc(), + // 35 + // need to define `i18n` option in `allowComposition: true` and `useScope: 'local' at `useI18n`` + MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION: inc(), + // 36 + // Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly + NOT_AVAILABLE_COMPOSITION_IN_LEGACY: inc(), + // 37 + // for enhancement + __EXTEND_POINT__: inc() + // 38 +}; +function createI18nError(code2, ...args) { + return createCompileError(code2, null, false ? { messages: errorMessages, args } : void 0); +} +__name(createI18nError, "createI18nError"); +const errorMessages = { + [I18nErrorCodes.UNEXPECTED_RETURN_TYPE]: "Unexpected return type in composer", + [I18nErrorCodes.INVALID_ARGUMENT]: "Invalid argument", + [I18nErrorCodes.MUST_BE_CALL_SETUP_TOP]: "Must be called at the top of a `setup` function", + [I18nErrorCodes.NOT_INSTALLED]: "Need to install with `app.use` function", + [I18nErrorCodes.UNEXPECTED_ERROR]: "Unexpected error", + [I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE]: "Not available in legacy mode", + [I18nErrorCodes.REQUIRED_VALUE]: `Required in value: {0}`, + [I18nErrorCodes.INVALID_VALUE]: `Invalid value`, + [I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN]: `Cannot setup vue-devtools plugin`, + [I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE]: "Need to install with `provide` function", + [I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N]: "Not compatible legacy VueI18n.", + [I18nErrorCodes.BRIDGE_SUPPORT_VUE_2_ONLY]: "vue-i18n-bridge support Vue 2.x only", + [I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION]: "Must define ‘i18n’ option or custom block in Composition API with using local scope in Legacy API mode", + [I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY]: "Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly" +}; +const TranslateVNodeSymbol = /* @__PURE__ */ makeSymbol("__translateVNode"); +const DatetimePartsSymbol = /* @__PURE__ */ makeSymbol("__datetimeParts"); +const NumberPartsSymbol = /* @__PURE__ */ makeSymbol("__numberParts"); +const EnableEmitter = /* @__PURE__ */ makeSymbol("__enableEmitter"); +const DisableEmitter = /* @__PURE__ */ makeSymbol("__disableEmitter"); +const SetPluralRulesSymbol = makeSymbol("__setPluralRules"); +makeSymbol("__intlifyMeta"); +const InejctWithOptionSymbol = /* @__PURE__ */ makeSymbol("__injectWithOption"); +const DisposeSymbol = /* @__PURE__ */ makeSymbol("__dispose"); +const __VUE_I18N_BRIDGE__ = "__VUE_I18N_BRIDGE__"; +function handleFlatJson(obj) { + if (!isObject$2(obj)) { + return obj; + } + for (const key in obj) { + if (!hasOwn$1(obj, key)) { + continue; + } + if (!key.includes(".")) { + if (isObject$2(obj[key])) { + handleFlatJson(obj[key]); + } + } else { + const subKeys = key.split("."); + const lastIndex = subKeys.length - 1; + let currentObj = obj; + let hasStringValue = false; + for (let i2 = 0; i2 < lastIndex; i2++) { + if (!(subKeys[i2] in currentObj)) { + currentObj[subKeys[i2]] = {}; + } + if (!isObject$2(currentObj[subKeys[i2]])) { + hasStringValue = true; + break; + } + currentObj = currentObj[subKeys[i2]]; + } + if (!hasStringValue) { + currentObj[subKeys[lastIndex]] = obj[key]; + delete obj[key]; + } + if (isObject$2(currentObj[subKeys[lastIndex]])) { + handleFlatJson(currentObj[subKeys[lastIndex]]); + } + } + } + return obj; +} +__name(handleFlatJson, "handleFlatJson"); +function getLocaleMessages(locale2, options3) { + const { messages: messages2, __i18n, messageResolver, flatJson } = options3; + const ret = isPlainObject(messages2) ? messages2 : isArray$2(__i18n) ? {} : { [locale2]: {} }; + if (isArray$2(__i18n)) { + __i18n.forEach((custom2) => { + if ("locale" in custom2 && "resource" in custom2) { + const { locale: locale22, resource } = custom2; + if (locale22) { + ret[locale22] = ret[locale22] || {}; + deepCopy(resource, ret[locale22]); + } else { + deepCopy(resource, ret); + } + } else { + isString$2(custom2) && deepCopy(JSON.parse(custom2), ret); + } + }); + } + if (messageResolver == null && flatJson) { + for (const key in ret) { + if (hasOwn$1(ret, key)) { + handleFlatJson(ret[key]); + } + } + } + return ret; +} +__name(getLocaleMessages, "getLocaleMessages"); +function getComponentOptions(instance) { + return instance.type; +} +__name(getComponentOptions, "getComponentOptions"); +function adjustI18nResources(gl, options3, componentOptions) { + let messages2 = isObject$2(options3.messages) ? options3.messages : {}; + if ("__i18nGlobal" in componentOptions) { + messages2 = getLocaleMessages(gl.locale.value, { + messages: messages2, + __i18n: componentOptions.__i18nGlobal + }); + } + const locales = Object.keys(messages2); + if (locales.length) { + locales.forEach((locale2) => { + gl.mergeLocaleMessage(locale2, messages2[locale2]); + }); + } + { + if (isObject$2(options3.datetimeFormats)) { + const locales2 = Object.keys(options3.datetimeFormats); + if (locales2.length) { + locales2.forEach((locale2) => { + gl.mergeDateTimeFormat(locale2, options3.datetimeFormats[locale2]); + }); + } + } + if (isObject$2(options3.numberFormats)) { + const locales2 = Object.keys(options3.numberFormats); + if (locales2.length) { + locales2.forEach((locale2) => { + gl.mergeNumberFormat(locale2, options3.numberFormats[locale2]); + }); + } + } + } +} +__name(adjustI18nResources, "adjustI18nResources"); +function createTextNode(key) { + return createVNode(Text, null, key, 0); +} +__name(createTextNode, "createTextNode"); +const DEVTOOLS_META = "__INTLIFY_META__"; +const NOOP_RETURN_ARRAY = /* @__PURE__ */ __name(() => [], "NOOP_RETURN_ARRAY"); +const NOOP_RETURN_FALSE = /* @__PURE__ */ __name(() => false, "NOOP_RETURN_FALSE"); +let composerID = 0; +function defineCoreMissingHandler(missing) { + return (ctx, locale2, key, type) => { + return missing(locale2, key, getCurrentInstance() || void 0, type); + }; +} +__name(defineCoreMissingHandler, "defineCoreMissingHandler"); +const getMetaInfo = /* @__PURE__ */ __name(/* @__NO_SIDE_EFFECTS__ */ () => { + const instance = getCurrentInstance(); + let meta = null; + return instance && (meta = getComponentOptions(instance)[DEVTOOLS_META]) ? { [DEVTOOLS_META]: meta } : null; +}, "getMetaInfo"); +function createComposer(options3 = {}, VueI18nLegacy) { + const { __root, __injectWithOption } = options3; + const _isGlobal = __root === void 0; + const flatJson = options3.flatJson; + const _ref = inBrowser ? ref : shallowRef; + const translateExistCompatible = !!options3.translateExistCompatible; + if (false) { + if (translateExistCompatible && true) { + warnOnce(getWarnMessage(I18nWarnCodes.NOTICE_DROP_TRANSLATE_EXIST_COMPATIBLE_FLAG)); + } + } + let _inheritLocale = isBoolean$1(options3.inheritLocale) ? options3.inheritLocale : true; + const _locale = _ref( + // prettier-ignore + __root && _inheritLocale ? __root.locale.value : isString$2(options3.locale) ? options3.locale : DEFAULT_LOCALE + ); + const _fallbackLocale = _ref( + // prettier-ignore + __root && _inheritLocale ? __root.fallbackLocale.value : isString$2(options3.fallbackLocale) || isArray$2(options3.fallbackLocale) || isPlainObject(options3.fallbackLocale) || options3.fallbackLocale === false ? options3.fallbackLocale : _locale.value + ); + const _messages = _ref(getLocaleMessages(_locale.value, options3)); + const _datetimeFormats = _ref(isPlainObject(options3.datetimeFormats) ? options3.datetimeFormats : { [_locale.value]: {} }); + const _numberFormats = _ref(isPlainObject(options3.numberFormats) ? options3.numberFormats : { [_locale.value]: {} }); + let _missingWarn = __root ? __root.missingWarn : isBoolean$1(options3.missingWarn) || isRegExp(options3.missingWarn) ? options3.missingWarn : true; + let _fallbackWarn = __root ? __root.fallbackWarn : isBoolean$1(options3.fallbackWarn) || isRegExp(options3.fallbackWarn) ? options3.fallbackWarn : true; + let _fallbackRoot = __root ? __root.fallbackRoot : isBoolean$1(options3.fallbackRoot) ? options3.fallbackRoot : true; + let _fallbackFormat = !!options3.fallbackFormat; + let _missing = isFunction(options3.missing) ? options3.missing : null; + let _runtimeMissing = isFunction(options3.missing) ? defineCoreMissingHandler(options3.missing) : null; + let _postTranslation = isFunction(options3.postTranslation) ? options3.postTranslation : null; + let _warnHtmlMessage = __root ? __root.warnHtmlMessage : isBoolean$1(options3.warnHtmlMessage) ? options3.warnHtmlMessage : true; + let _escapeParameter = !!options3.escapeParameter; + const _modifiers = __root ? __root.modifiers : isPlainObject(options3.modifiers) ? options3.modifiers : {}; + let _pluralRules = options3.pluralRules || __root && __root.pluralRules; + let _context; + const getCoreContext = /* @__PURE__ */ __name(() => { + _isGlobal && setFallbackContext(null); + const ctxOptions = { + version: VERSION, + locale: _locale.value, + fallbackLocale: _fallbackLocale.value, + messages: _messages.value, + modifiers: _modifiers, + pluralRules: _pluralRules, + missing: _runtimeMissing === null ? void 0 : _runtimeMissing, + missingWarn: _missingWarn, + fallbackWarn: _fallbackWarn, + fallbackFormat: _fallbackFormat, + unresolving: true, + postTranslation: _postTranslation === null ? void 0 : _postTranslation, + warnHtmlMessage: _warnHtmlMessage, + escapeParameter: _escapeParameter, + messageResolver: options3.messageResolver, + messageCompiler: options3.messageCompiler, + __meta: { framework: "vue" } + }; + { + ctxOptions.datetimeFormats = _datetimeFormats.value; + ctxOptions.numberFormats = _numberFormats.value; + ctxOptions.__datetimeFormatters = isPlainObject(_context) ? _context.__datetimeFormatters : void 0; + ctxOptions.__numberFormatters = isPlainObject(_context) ? _context.__numberFormatters : void 0; + } + if (false) { + ctxOptions.__v_emitter = isPlainObject(_context) ? _context.__v_emitter : void 0; + } + const ctx = createCoreContext(ctxOptions); + _isGlobal && setFallbackContext(ctx); + return ctx; + }, "getCoreContext"); + _context = getCoreContext(); + updateFallbackLocale(_context, _locale.value, _fallbackLocale.value); + function trackReactivityValues() { + return [ + _locale.value, + _fallbackLocale.value, + _messages.value, + _datetimeFormats.value, + _numberFormats.value + ]; + } + __name(trackReactivityValues, "trackReactivityValues"); + const locale2 = computed({ + get: /* @__PURE__ */ __name(() => _locale.value, "get"), + set: /* @__PURE__ */ __name((val) => { + _locale.value = val; + _context.locale = _locale.value; + }, "set") + }); + const fallbackLocale = computed({ + get: /* @__PURE__ */ __name(() => _fallbackLocale.value, "get"), + set: /* @__PURE__ */ __name((val) => { + _fallbackLocale.value = val; + _context.fallbackLocale = _fallbackLocale.value; + updateFallbackLocale(_context, _locale.value, val); + }, "set") + }); + const messages2 = computed(() => _messages.value); + const datetimeFormats = /* @__PURE__ */ computed(() => _datetimeFormats.value); + const numberFormats = /* @__PURE__ */ computed(() => _numberFormats.value); + function getPostTranslationHandler() { + return isFunction(_postTranslation) ? _postTranslation : null; + } + __name(getPostTranslationHandler, "getPostTranslationHandler"); + function setPostTranslationHandler(handler6) { + _postTranslation = handler6; + _context.postTranslation = handler6; + } + __name(setPostTranslationHandler, "setPostTranslationHandler"); + function getMissingHandler() { + return _missing; + } + __name(getMissingHandler, "getMissingHandler"); + function setMissingHandler(handler6) { + if (handler6 !== null) { + _runtimeMissing = defineCoreMissingHandler(handler6); + } + _missing = handler6; + _context.missing = _runtimeMissing; + } + __name(setMissingHandler, "setMissingHandler"); + function isResolvedTranslateMessage(type, arg) { + return type !== "translate" || !arg.resolvedMessage; + } + __name(isResolvedTranslateMessage, "isResolvedTranslateMessage"); + const wrapWithDeps = /* @__PURE__ */ __name((fn, argumentParser, warnType, fallbackSuccess, fallbackFail, successCondition) => { + trackReactivityValues(); + let ret; + try { + if (__INTLIFY_PROD_DEVTOOLS__) { + /* @__PURE__ */ setAdditionalMeta(/* @__PURE__ */ getMetaInfo()); + } + if (!_isGlobal) { + _context.fallbackContext = __root ? getFallbackContext() : void 0; + } + ret = fn(_context); + } finally { + if (__INTLIFY_PROD_DEVTOOLS__) { + /* @__PURE__ */ setAdditionalMeta(null); + } + if (!_isGlobal) { + _context.fallbackContext = void 0; + } + } + if (warnType !== "translate exists" && // for not `te` (e.g `t`) + isNumber$1(ret) && ret === NOT_REOSLVED || warnType === "translate exists" && !ret) { + const [key, arg2] = argumentParser(); + if (false) { + if (_fallbackRoot && (isTranslateFallbackWarn(_fallbackWarn, key) || isTranslateMissingWarn(_missingWarn, key))) { + warn$1(getWarnMessage(I18nWarnCodes.FALLBACK_TO_ROOT, { + key, + type: warnType + })); + } + if (false) { + const { __v_emitter: emitter } = _context; + if (emitter && _fallbackRoot) { + emitter.emit("fallback", { + type: warnType, + key, + to: "global", + groupId: `${warnType}:${key}` + }); + } + } + } + return __root && _fallbackRoot ? fallbackSuccess(__root) : fallbackFail(key); + } else if (successCondition(ret)) { + return ret; + } else { + throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE); + } + }, "wrapWithDeps"); + function t(...args) { + return wrapWithDeps((context) => Reflect.apply(translate, null, [context, ...args]), () => parseTranslateArgs(...args), "translate", (root23) => Reflect.apply(root23.t, root23, [...args]), (key) => key, (val) => isString$2(val)); + } + __name(t, "t"); + function rt(...args) { + const [arg1, arg2, arg3] = args; + if (arg3 && !isObject$2(arg3)) { + throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT); + } + return t(...[arg1, arg2, assign$2({ resolvedMessage: true }, arg3 || {})]); + } + __name(rt, "rt"); + function d(...args) { + return wrapWithDeps((context) => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), "datetime format", (root23) => Reflect.apply(root23.d, root23, [...args]), () => MISSING_RESOLVE_VALUE, (val) => isString$2(val)); + } + __name(d, "d"); + function n(...args) { + return wrapWithDeps((context) => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), "number format", (root23) => Reflect.apply(root23.n, root23, [...args]), () => MISSING_RESOLVE_VALUE, (val) => isString$2(val)); + } + __name(n, "n"); + function normalize(values2) { + return values2.map((val) => isString$2(val) || isNumber$1(val) || isBoolean$1(val) ? createTextNode(String(val)) : val); + } + __name(normalize, "normalize"); + const interpolate = /* @__PURE__ */ __name((val) => val, "interpolate"); + const processor = { + normalize, + interpolate, + type: "vnode" + }; + function translateVNode(...args) { + return wrapWithDeps( + (context) => { + let ret; + const _context2 = context; + try { + _context2.processor = processor; + ret = Reflect.apply(translate, null, [_context2, ...args]); + } finally { + _context2.processor = null; + } + return ret; + }, + () => parseTranslateArgs(...args), + "translate", + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (root23) => root23[TranslateVNodeSymbol](...args), + (key) => [createTextNode(key)], + (val) => isArray$2(val) + ); + } + __name(translateVNode, "translateVNode"); + function numberParts(...args) { + return wrapWithDeps( + (context) => Reflect.apply(number, null, [context, ...args]), + () => parseNumberArgs(...args), + "number format", + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (root23) => root23[NumberPartsSymbol](...args), + NOOP_RETURN_ARRAY, + (val) => isString$2(val) || isArray$2(val) + ); + } + __name(numberParts, "numberParts"); + function datetimeParts(...args) { + return wrapWithDeps( + (context) => Reflect.apply(datetime, null, [context, ...args]), + () => parseDateTimeArgs(...args), + "datetime format", + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (root23) => root23[DatetimePartsSymbol](...args), + NOOP_RETURN_ARRAY, + (val) => isString$2(val) || isArray$2(val) + ); + } + __name(datetimeParts, "datetimeParts"); + function setPluralRules(rules) { + _pluralRules = rules; + _context.pluralRules = _pluralRules; + } + __name(setPluralRules, "setPluralRules"); + function te(key, locale22) { + return wrapWithDeps(() => { + if (!key) { + return false; + } + const targetLocale = isString$2(locale22) ? locale22 : _locale.value; + const message2 = getLocaleMessage(targetLocale); + const resolved = _context.messageResolver(message2, key); + return !translateExistCompatible ? isMessageAST(resolved) || isMessageFunction(resolved) || isString$2(resolved) : resolved != null; + }, () => [key], "translate exists", (root23) => { + return Reflect.apply(root23.te, root23, [key, locale22]); + }, NOOP_RETURN_FALSE, (val) => isBoolean$1(val)); + } + __name(te, "te"); + function resolveMessages(key) { + let messages22 = null; + const locales = fallbackWithLocaleChain(_context, _fallbackLocale.value, _locale.value); + for (let i2 = 0; i2 < locales.length; i2++) { + const targetLocaleMessages = _messages.value[locales[i2]] || {}; + const messageValue = _context.messageResolver(targetLocaleMessages, key); + if (messageValue != null) { + messages22 = messageValue; + break; + } + } + return messages22; + } + __name(resolveMessages, "resolveMessages"); + function tm(key) { + const messages22 = resolveMessages(key); + return messages22 != null ? messages22 : __root ? __root.tm(key) || {} : {}; + } + __name(tm, "tm"); + function getLocaleMessage(locale22) { + return _messages.value[locale22] || {}; + } + __name(getLocaleMessage, "getLocaleMessage"); + function setLocaleMessage(locale22, message2) { + if (flatJson) { + const _message = { [locale22]: message2 }; + for (const key in _message) { + if (hasOwn$1(_message, key)) { + handleFlatJson(_message[key]); + } + } + message2 = _message[locale22]; + } + _messages.value[locale22] = message2; + _context.messages = _messages.value; + } + __name(setLocaleMessage, "setLocaleMessage"); + function mergeLocaleMessage(locale22, message2) { + _messages.value[locale22] = _messages.value[locale22] || {}; + const _message = { [locale22]: message2 }; + if (flatJson) { + for (const key in _message) { + if (hasOwn$1(_message, key)) { + handleFlatJson(_message[key]); + } + } + } + message2 = _message[locale22]; + deepCopy(message2, _messages.value[locale22]); + _context.messages = _messages.value; + } + __name(mergeLocaleMessage, "mergeLocaleMessage"); + function getDateTimeFormat(locale22) { + return _datetimeFormats.value[locale22] || {}; + } + __name(getDateTimeFormat, "getDateTimeFormat"); + function setDateTimeFormat(locale22, format2) { + _datetimeFormats.value[locale22] = format2; + _context.datetimeFormats = _datetimeFormats.value; + clearDateTimeFormat(_context, locale22, format2); + } + __name(setDateTimeFormat, "setDateTimeFormat"); + function mergeDateTimeFormat(locale22, format2) { + _datetimeFormats.value[locale22] = assign$2(_datetimeFormats.value[locale22] || {}, format2); + _context.datetimeFormats = _datetimeFormats.value; + clearDateTimeFormat(_context, locale22, format2); + } + __name(mergeDateTimeFormat, "mergeDateTimeFormat"); + function getNumberFormat(locale22) { + return _numberFormats.value[locale22] || {}; + } + __name(getNumberFormat, "getNumberFormat"); + function setNumberFormat(locale22, format2) { + _numberFormats.value[locale22] = format2; + _context.numberFormats = _numberFormats.value; + clearNumberFormat(_context, locale22, format2); + } + __name(setNumberFormat, "setNumberFormat"); + function mergeNumberFormat(locale22, format2) { + _numberFormats.value[locale22] = assign$2(_numberFormats.value[locale22] || {}, format2); + _context.numberFormats = _numberFormats.value; + clearNumberFormat(_context, locale22, format2); + } + __name(mergeNumberFormat, "mergeNumberFormat"); + composerID++; + if (__root && inBrowser) { + watch(__root.locale, (val) => { + if (_inheritLocale) { + _locale.value = val; + _context.locale = val; + updateFallbackLocale(_context, _locale.value, _fallbackLocale.value); + } + }); + watch(__root.fallbackLocale, (val) => { + if (_inheritLocale) { + _fallbackLocale.value = val; + _context.fallbackLocale = val; + updateFallbackLocale(_context, _locale.value, _fallbackLocale.value); + } + }); + } + const composer = { + id: composerID, + locale: locale2, + fallbackLocale, + get inheritLocale() { + return _inheritLocale; + }, + set inheritLocale(val) { + _inheritLocale = val; + if (val && __root) { + _locale.value = __root.locale.value; + _fallbackLocale.value = __root.fallbackLocale.value; + updateFallbackLocale(_context, _locale.value, _fallbackLocale.value); + } + }, + get availableLocales() { + return Object.keys(_messages.value).sort(); + }, + messages: messages2, + get modifiers() { + return _modifiers; + }, + get pluralRules() { + return _pluralRules || {}; + }, + get isGlobal() { + return _isGlobal; + }, + get missingWarn() { + return _missingWarn; + }, + set missingWarn(val) { + _missingWarn = val; + _context.missingWarn = _missingWarn; + }, + get fallbackWarn() { + return _fallbackWarn; + }, + set fallbackWarn(val) { + _fallbackWarn = val; + _context.fallbackWarn = _fallbackWarn; + }, + get fallbackRoot() { + return _fallbackRoot; + }, + set fallbackRoot(val) { + _fallbackRoot = val; + }, + get fallbackFormat() { + return _fallbackFormat; + }, + set fallbackFormat(val) { + _fallbackFormat = val; + _context.fallbackFormat = _fallbackFormat; + }, + get warnHtmlMessage() { + return _warnHtmlMessage; + }, + set warnHtmlMessage(val) { + _warnHtmlMessage = val; + _context.warnHtmlMessage = val; + }, + get escapeParameter() { + return _escapeParameter; + }, + set escapeParameter(val) { + _escapeParameter = val; + _context.escapeParameter = val; + }, + t, + getLocaleMessage, + setLocaleMessage, + mergeLocaleMessage, + getPostTranslationHandler, + setPostTranslationHandler, + getMissingHandler, + setMissingHandler, + [SetPluralRulesSymbol]: setPluralRules + }; + { + composer.datetimeFormats = datetimeFormats; + composer.numberFormats = numberFormats; + composer.rt = rt; + composer.te = te; + composer.tm = tm; + composer.d = d; + composer.n = n; + composer.getDateTimeFormat = getDateTimeFormat; + composer.setDateTimeFormat = setDateTimeFormat; + composer.mergeDateTimeFormat = mergeDateTimeFormat; + composer.getNumberFormat = getNumberFormat; + composer.setNumberFormat = setNumberFormat; + composer.mergeNumberFormat = mergeNumberFormat; + composer[InejctWithOptionSymbol] = __injectWithOption; + composer[TranslateVNodeSymbol] = translateVNode; + composer[DatetimePartsSymbol] = datetimeParts; + composer[NumberPartsSymbol] = numberParts; + } + if (false) { + composer[EnableEmitter] = (emitter) => { + _context.__v_emitter = emitter; + }; + composer[DisableEmitter] = () => { + _context.__v_emitter = void 0; + }; + } + return composer; +} +__name(createComposer, "createComposer"); +function convertComposerOptions(options3) { + const locale2 = isString$2(options3.locale) ? options3.locale : DEFAULT_LOCALE; + const fallbackLocale = isString$2(options3.fallbackLocale) || isArray$2(options3.fallbackLocale) || isPlainObject(options3.fallbackLocale) || options3.fallbackLocale === false ? options3.fallbackLocale : locale2; + const missing = isFunction(options3.missing) ? options3.missing : void 0; + const missingWarn = isBoolean$1(options3.silentTranslationWarn) || isRegExp(options3.silentTranslationWarn) ? !options3.silentTranslationWarn : true; + const fallbackWarn = isBoolean$1(options3.silentFallbackWarn) || isRegExp(options3.silentFallbackWarn) ? !options3.silentFallbackWarn : true; + const fallbackRoot = isBoolean$1(options3.fallbackRoot) ? options3.fallbackRoot : true; + const fallbackFormat = !!options3.formatFallbackMessages; + const modifiers = isPlainObject(options3.modifiers) ? options3.modifiers : {}; + const pluralizationRules = options3.pluralizationRules; + const postTranslation = isFunction(options3.postTranslation) ? options3.postTranslation : void 0; + const warnHtmlMessage = isString$2(options3.warnHtmlInMessage) ? options3.warnHtmlInMessage !== "off" : true; + const escapeParameter = !!options3.escapeParameterHtml; + const inheritLocale = isBoolean$1(options3.sync) ? options3.sync : true; + if (false) { + warn$1(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER)); + } + if (false) { + warn$1(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE)); + } + let messages2 = options3.messages; + if (isPlainObject(options3.sharedMessages)) { + const sharedMessages = options3.sharedMessages; + const locales = Object.keys(sharedMessages); + messages2 = locales.reduce((messages22, locale22) => { + const message2 = messages22[locale22] || (messages22[locale22] = {}); + assign$2(message2, sharedMessages[locale22]); + return messages22; + }, messages2 || {}); + } + const { __i18n, __root, __injectWithOption } = options3; + const datetimeFormats = options3.datetimeFormats; + const numberFormats = options3.numberFormats; + const flatJson = options3.flatJson; + const translateExistCompatible = options3.translateExistCompatible; + return { + locale: locale2, + fallbackLocale, + messages: messages2, + flatJson, + datetimeFormats, + numberFormats, + missing, + missingWarn, + fallbackWarn, + fallbackRoot, + fallbackFormat, + modifiers, + pluralRules: pluralizationRules, + postTranslation, + warnHtmlMessage, + escapeParameter, + messageResolver: options3.messageResolver, + inheritLocale, + translateExistCompatible, + __i18n, + __root, + __injectWithOption + }; +} +__name(convertComposerOptions, "convertComposerOptions"); +function createVueI18n(options3 = {}, VueI18nLegacy) { + { + const composer = createComposer(convertComposerOptions(options3)); + const { __extender } = options3; + const vueI18n = { + // id + id: composer.id, + // locale + get locale() { + return composer.locale.value; + }, + set locale(val) { + composer.locale.value = val; + }, + // fallbackLocale + get fallbackLocale() { + return composer.fallbackLocale.value; + }, + set fallbackLocale(val) { + composer.fallbackLocale.value = val; + }, + // messages + get messages() { + return composer.messages.value; + }, + // datetimeFormats + get datetimeFormats() { + return composer.datetimeFormats.value; + }, + // numberFormats + get numberFormats() { + return composer.numberFormats.value; + }, + // availableLocales + get availableLocales() { + return composer.availableLocales; + }, + // formatter + get formatter() { + return { + interpolate() { + return []; + } + }; + }, + set formatter(val) { + }, + // missing + get missing() { + return composer.getMissingHandler(); + }, + set missing(handler6) { + composer.setMissingHandler(handler6); + }, + // silentTranslationWarn + get silentTranslationWarn() { + return isBoolean$1(composer.missingWarn) ? !composer.missingWarn : composer.missingWarn; + }, + set silentTranslationWarn(val) { + composer.missingWarn = isBoolean$1(val) ? !val : val; + }, + // silentFallbackWarn + get silentFallbackWarn() { + return isBoolean$1(composer.fallbackWarn) ? !composer.fallbackWarn : composer.fallbackWarn; + }, + set silentFallbackWarn(val) { + composer.fallbackWarn = isBoolean$1(val) ? !val : val; + }, + // modifiers + get modifiers() { + return composer.modifiers; + }, + // formatFallbackMessages + get formatFallbackMessages() { + return composer.fallbackFormat; + }, + set formatFallbackMessages(val) { + composer.fallbackFormat = val; + }, + // postTranslation + get postTranslation() { + return composer.getPostTranslationHandler(); + }, + set postTranslation(handler6) { + composer.setPostTranslationHandler(handler6); + }, + // sync + get sync() { + return composer.inheritLocale; + }, + set sync(val) { + composer.inheritLocale = val; + }, + // warnInHtmlMessage + get warnHtmlInMessage() { + return composer.warnHtmlMessage ? "warn" : "off"; + }, + set warnHtmlInMessage(val) { + composer.warnHtmlMessage = val !== "off"; + }, + // escapeParameterHtml + get escapeParameterHtml() { + return composer.escapeParameter; + }, + set escapeParameterHtml(val) { + composer.escapeParameter = val; + }, + // preserveDirectiveContent + get preserveDirectiveContent() { + return true; + }, + set preserveDirectiveContent(val) { + }, + // pluralizationRules + get pluralizationRules() { + return composer.pluralRules || {}; + }, + // for internal + __composer: composer, + // t + t(...args) { + const [arg1, arg2, arg3] = args; + const options22 = {}; + let list = null; + let named = null; + if (!isString$2(arg1)) { + throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT); + } + const key = arg1; + if (isString$2(arg2)) { + options22.locale = arg2; + } else if (isArray$2(arg2)) { + list = arg2; + } else if (isPlainObject(arg2)) { + named = arg2; + } + if (isArray$2(arg3)) { + list = arg3; + } else if (isPlainObject(arg3)) { + named = arg3; + } + return Reflect.apply(composer.t, composer, [ + key, + list || named || {}, + options22 + ]); + }, + rt(...args) { + return Reflect.apply(composer.rt, composer, [...args]); + }, + // tc + tc(...args) { + const [arg1, arg2, arg3] = args; + const options22 = { plural: 1 }; + let list = null; + let named = null; + if (!isString$2(arg1)) { + throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT); + } + const key = arg1; + if (isString$2(arg2)) { + options22.locale = arg2; + } else if (isNumber$1(arg2)) { + options22.plural = arg2; + } else if (isArray$2(arg2)) { + list = arg2; + } else if (isPlainObject(arg2)) { + named = arg2; + } + if (isString$2(arg3)) { + options22.locale = arg3; + } else if (isArray$2(arg3)) { + list = arg3; + } else if (isPlainObject(arg3)) { + named = arg3; + } + return Reflect.apply(composer.t, composer, [ + key, + list || named || {}, + options22 + ]); + }, + // te + te(key, locale2) { + return composer.te(key, locale2); + }, + // tm + tm(key) { + return composer.tm(key); + }, + // getLocaleMessage + getLocaleMessage(locale2) { + return composer.getLocaleMessage(locale2); + }, + // setLocaleMessage + setLocaleMessage(locale2, message2) { + composer.setLocaleMessage(locale2, message2); + }, + // mergeLocaleMessage + mergeLocaleMessage(locale2, message2) { + composer.mergeLocaleMessage(locale2, message2); + }, + // d + d(...args) { + return Reflect.apply(composer.d, composer, [...args]); + }, + // getDateTimeFormat + getDateTimeFormat(locale2) { + return composer.getDateTimeFormat(locale2); + }, + // setDateTimeFormat + setDateTimeFormat(locale2, format2) { + composer.setDateTimeFormat(locale2, format2); + }, + // mergeDateTimeFormat + mergeDateTimeFormat(locale2, format2) { + composer.mergeDateTimeFormat(locale2, format2); + }, + // n + n(...args) { + return Reflect.apply(composer.n, composer, [...args]); + }, + // getNumberFormat + getNumberFormat(locale2) { + return composer.getNumberFormat(locale2); + }, + // setNumberFormat + setNumberFormat(locale2, format2) { + composer.setNumberFormat(locale2, format2); + }, + // mergeNumberFormat + mergeNumberFormat(locale2, format2) { + composer.mergeNumberFormat(locale2, format2); + }, + // getChoiceIndex + // eslint-disable-next-line @typescript-eslint/no-unused-vars + getChoiceIndex(choice, choicesLength) { + return -1; + } + }; + vueI18n.__extender = __extender; + if (false) { + vueI18n.__enableEmitter = (emitter) => { + const __composer = composer; + __composer[EnableEmitter] && __composer[EnableEmitter](emitter); + }; + vueI18n.__disableEmitter = () => { + const __composer = composer; + __composer[DisableEmitter] && __composer[DisableEmitter](); + }; + } + return vueI18n; + } +} +__name(createVueI18n, "createVueI18n"); +const baseFormatProps = { + tag: { + type: [String, Object] + }, + locale: { + type: String + }, + scope: { + type: String, + // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050 + validator: /* @__PURE__ */ __name((val) => val === "parent" || val === "global", "validator"), + default: "parent" + /* ComponentI18nScope */ + }, + i18n: { + type: Object + } +}; +function getInterpolateArg({ slots }, keys2) { + if (keys2.length === 1 && keys2[0] === "default") { + const ret = slots.default ? slots.default() : []; + return ret.reduce((slot, current) => { + return [ + ...slot, + // prettier-ignore + ...current.type === Fragment ? current.children : [current] + ]; + }, []); + } else { + return keys2.reduce((arg, key) => { + const slot = slots[key]; + if (slot) { + arg[key] = slot(); + } + return arg; + }, {}); + } +} +__name(getInterpolateArg, "getInterpolateArg"); +function getFragmentableTag(tag) { + return Fragment; +} +__name(getFragmentableTag, "getFragmentableTag"); +const TranslationImpl = /* @__PURE__ */ defineComponent({ + /* eslint-disable */ + name: "i18n-t", + props: assign$2({ + keypath: { + type: String, + required: true + }, + plural: { + type: [Number, String], + // eslint-disable-next-line @typescript-eslint/no-explicit-any + validator: /* @__PURE__ */ __name((val) => isNumber$1(val) || !isNaN(val), "validator") + } + }, baseFormatProps), + /* eslint-enable */ + // eslint-disable-next-line @typescript-eslint/no-explicit-any + setup(props, context) { + const { slots, attrs: attrs3 } = context; + const i18n2 = props.i18n || useI18n({ + useScope: props.scope, + __useComponent: true + }); + return () => { + const keys2 = Object.keys(slots).filter((key) => key !== "_"); + const options3 = {}; + if (props.locale) { + options3.locale = props.locale; + } + if (props.plural !== void 0) { + options3.plural = isString$2(props.plural) ? +props.plural : props.plural; + } + const arg = getInterpolateArg(context, keys2); + const children = i18n2[TranslateVNodeSymbol](props.keypath, arg, options3); + const assignedAttrs = assign$2({}, attrs3); + const tag = isString$2(props.tag) || isObject$2(props.tag) ? props.tag : getFragmentableTag(); + return h(tag, assignedAttrs, children); + }; + } +}); +const Translation = TranslationImpl; +const I18nT = Translation; +function isVNode(target) { + return isArray$2(target) && !isString$2(target[0]); +} +__name(isVNode, "isVNode"); +function renderFormatter(props, context, slotKeys, partFormatter) { + const { slots, attrs: attrs3 } = context; + return () => { + const options3 = { part: true }; + let overrides = {}; + if (props.locale) { + options3.locale = props.locale; + } + if (isString$2(props.format)) { + options3.key = props.format; + } else if (isObject$2(props.format)) { + if (isString$2(props.format.key)) { + options3.key = props.format.key; + } + overrides = Object.keys(props.format).reduce((options22, prop2) => { + return slotKeys.includes(prop2) ? assign$2({}, options22, { [prop2]: props.format[prop2] }) : options22; + }, {}); + } + const parts2 = partFormatter(...[props.value, options3, overrides]); + let children = [options3.key]; + if (isArray$2(parts2)) { + children = parts2.map((part, index2) => { + const slot = slots[part.type]; + const node3 = slot ? slot({ [part.type]: part.value, index: index2, parts: parts2 }) : [part.value]; + if (isVNode(node3)) { + node3[0].key = `${part.type}-${index2}`; + } + return node3; + }); + } else if (isString$2(parts2)) { + children = [parts2]; + } + const assignedAttrs = assign$2({}, attrs3); + const tag = isString$2(props.tag) || isObject$2(props.tag) ? props.tag : getFragmentableTag(); + return h(tag, assignedAttrs, children); + }; +} +__name(renderFormatter, "renderFormatter"); +const NumberFormatImpl = /* @__PURE__ */ defineComponent({ + /* eslint-disable */ + name: "i18n-n", + props: assign$2({ + value: { + type: Number, + required: true + }, + format: { + type: [String, Object] + } + }, baseFormatProps), + /* eslint-enable */ + // eslint-disable-next-line @typescript-eslint/no-explicit-any + setup(props, context) { + const i18n2 = props.i18n || useI18n({ + useScope: props.scope, + __useComponent: true + }); + return renderFormatter(props, context, NUMBER_FORMAT_OPTIONS_KEYS, (...args) => ( + // eslint-disable-next-line @typescript-eslint/no-explicit-any + i18n2[NumberPartsSymbol](...args) + )); + } +}); +const NumberFormat = NumberFormatImpl; +const I18nN = NumberFormat; +const DatetimeFormatImpl = /* @__PURE__ */ defineComponent({ + /* eslint-disable */ + name: "i18n-d", + props: assign$2({ + value: { + type: [Number, Date], + required: true + }, + format: { + type: [String, Object] + } + }, baseFormatProps), + /* eslint-enable */ + // eslint-disable-next-line @typescript-eslint/no-explicit-any + setup(props, context) { + const i18n2 = props.i18n || useI18n({ + useScope: props.scope, + __useComponent: true + }); + return renderFormatter(props, context, DATETIME_FORMAT_OPTIONS_KEYS, (...args) => ( + // eslint-disable-next-line @typescript-eslint/no-explicit-any + i18n2[DatetimePartsSymbol](...args) + )); + } +}); +const DatetimeFormat = DatetimeFormatImpl; +const I18nD = DatetimeFormat; +function getComposer$2(i18n2, instance) { + const i18nInternal = i18n2; + if (i18n2.mode === "composition") { + return i18nInternal.__getInstance(instance) || i18n2.global; + } else { + const vueI18n = i18nInternal.__getInstance(instance); + return vueI18n != null ? vueI18n.__composer : i18n2.global.__composer; + } +} +__name(getComposer$2, "getComposer$2"); +function vTDirective(i18n2) { + const _process = /* @__PURE__ */ __name((binding) => { + const { instance, modifiers, value: value3 } = binding; + if (!instance || !instance.$) { + throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR); + } + const composer = getComposer$2(i18n2, instance.$); + if (false) { + warn$1(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE)); + } + const parsedValue = parseValue(value3); + return [ + Reflect.apply(composer.t, composer, [...makeParams(parsedValue)]), + composer + ]; + }, "_process"); + const register3 = /* @__PURE__ */ __name((el, binding) => { + const [textContent, composer] = _process(binding); + if (inBrowser && i18n2.global === composer) { + el.__i18nWatcher = watch(composer.locale, () => { + binding.instance && binding.instance.$forceUpdate(); + }); + } + el.__composer = composer; + el.textContent = textContent; + }, "register"); + const unregister = /* @__PURE__ */ __name((el) => { + if (inBrowser && el.__i18nWatcher) { + el.__i18nWatcher(); + el.__i18nWatcher = void 0; + delete el.__i18nWatcher; + } + if (el.__composer) { + el.__composer = void 0; + delete el.__composer; + } + }, "unregister"); + const update = /* @__PURE__ */ __name((el, { value: value3 }) => { + if (el.__composer) { + const composer = el.__composer; + const parsedValue = parseValue(value3); + el.textContent = Reflect.apply(composer.t, composer, [ + ...makeParams(parsedValue) + ]); + } + }, "update"); + const getSSRProps = /* @__PURE__ */ __name((binding) => { + const [textContent] = _process(binding); + return { textContent }; + }, "getSSRProps"); + return { + created: register3, + unmounted: unregister, + beforeUpdate: update, + getSSRProps + }; +} +__name(vTDirective, "vTDirective"); +function parseValue(value3) { + if (isString$2(value3)) { + return { path: value3 }; + } else if (isPlainObject(value3)) { + if (!("path" in value3)) { + throw createI18nError(I18nErrorCodes.REQUIRED_VALUE, "path"); + } + return value3; + } else { + throw createI18nError(I18nErrorCodes.INVALID_VALUE); + } +} +__name(parseValue, "parseValue"); +function makeParams(value3) { + const { path, locale: locale2, args, choice, plural } = value3; + const options3 = {}; + const named = args || {}; + if (isString$2(locale2)) { + options3.locale = locale2; + } + if (isNumber$1(choice)) { + options3.plural = choice; + } + if (isNumber$1(plural)) { + options3.plural = plural; + } + return [path, named, options3]; +} +__name(makeParams, "makeParams"); +function apply(app2, i18n2, ...options3) { + const pluginOptions = isPlainObject(options3[0]) ? options3[0] : {}; + const useI18nComponentName = !!pluginOptions.useI18nComponentName; + const globalInstall = isBoolean$1(pluginOptions.globalInstall) ? pluginOptions.globalInstall : true; + if (false) { + warn$1(getWarnMessage(I18nWarnCodes.COMPONENT_NAME_LEGACY_COMPATIBLE, { + name: Translation.name + })); + } + if (globalInstall) { + [!useI18nComponentName ? Translation.name : "i18n", "I18nT"].forEach((name) => app2.component(name, Translation)); + [NumberFormat.name, "I18nN"].forEach((name) => app2.component(name, NumberFormat)); + [DatetimeFormat.name, "I18nD"].forEach((name) => app2.component(name, DatetimeFormat)); + } + { + app2.directive("t", vTDirective(i18n2)); + } +} +__name(apply, "apply"); +const VueDevToolsLabels = { + [ + "vue-devtools-plugin-vue-i18n" + /* VueDevToolsIDs.PLUGIN */ + ]: "Vue I18n devtools", + [ + "vue-i18n-resource-inspector" + /* VueDevToolsIDs.CUSTOM_INSPECTOR */ + ]: "I18n Resources", + [ + "vue-i18n-timeline" + /* VueDevToolsIDs.TIMELINE */ + ]: "Vue I18n" +}; +const VueDevToolsPlaceholders = { + [ + "vue-i18n-resource-inspector" + /* VueDevToolsIDs.CUSTOM_INSPECTOR */ + ]: "Search for scopes ..." +}; +const VueDevToolsTimelineColors = { + [ + "vue-i18n-timeline" + /* VueDevToolsIDs.TIMELINE */ + ]: 16764185 +}; +const VUE_I18N_COMPONENT_TYPES = "vue-i18n: composer properties"; +let devtoolsApi; +async function enableDevTools(app2, i18n2) { + return new Promise((resolve2, reject2) => { + try { + setupDevtoolsPlugin({ + id: "vue-devtools-plugin-vue-i18n", + label: VueDevToolsLabels[ + "vue-devtools-plugin-vue-i18n" + /* VueDevToolsIDs.PLUGIN */ + ], + packageName: "vue-i18n", + homepage: "https://vue-i18n.intlify.dev", + logo: "https://vue-i18n.intlify.dev/vue-i18n-devtools-logo.png", + componentStateTypes: [VUE_I18N_COMPONENT_TYPES], + app: app2 + // eslint-disable-line @typescript-eslint/no-explicit-any + }, (api2) => { + devtoolsApi = api2; + api2.on.visitComponentTree(({ componentInstance, treeNode }) => { + updateComponentTreeTags(componentInstance, treeNode, i18n2); + }); + api2.on.inspectComponent(({ componentInstance, instanceData }) => { + if (componentInstance.vnode.el && componentInstance.vnode.el.__VUE_I18N__ && instanceData) { + if (i18n2.mode === "legacy") { + if (componentInstance.vnode.el.__VUE_I18N__ !== i18n2.global.__composer) { + inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__); + } + } else { + inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__); + } + } + }); + api2.addInspector({ + id: "vue-i18n-resource-inspector", + label: VueDevToolsLabels[ + "vue-i18n-resource-inspector" + /* VueDevToolsIDs.CUSTOM_INSPECTOR */ + ], + icon: "language", + treeFilterPlaceholder: VueDevToolsPlaceholders[ + "vue-i18n-resource-inspector" + /* VueDevToolsIDs.CUSTOM_INSPECTOR */ + ] + }); + api2.on.getInspectorTree((payload) => { + if (payload.app === app2 && payload.inspectorId === "vue-i18n-resource-inspector") { + registerScope(payload, i18n2); + } + }); + const roots = /* @__PURE__ */ new Map(); + api2.on.getInspectorState(async (payload) => { + if (payload.app === app2 && payload.inspectorId === "vue-i18n-resource-inspector") { + api2.unhighlightElement(); + inspectScope(payload, i18n2); + if (payload.nodeId === "global") { + if (!roots.has(payload.app)) { + const [root23] = await api2.getComponentInstances(payload.app); + roots.set(payload.app, root23); + } + api2.highlightElement(roots.get(payload.app)); + } else { + const instance = getComponentInstance(payload.nodeId, i18n2); + instance && api2.highlightElement(instance); + } + } + }); + api2.on.editInspectorState((payload) => { + if (payload.app === app2 && payload.inspectorId === "vue-i18n-resource-inspector") { + editScope(payload, i18n2); + } + }); + api2.addTimelineLayer({ + id: "vue-i18n-timeline", + label: VueDevToolsLabels[ + "vue-i18n-timeline" + /* VueDevToolsIDs.TIMELINE */ + ], + color: VueDevToolsTimelineColors[ + "vue-i18n-timeline" + /* VueDevToolsIDs.TIMELINE */ + ] + }); + resolve2(true); + }); + } catch (e) { + console.error(e); + reject2(false); + } + }); +} +__name(enableDevTools, "enableDevTools"); +function getI18nScopeLable(instance) { + return instance.type.name || instance.type.displayName || instance.type.__file || "Anonymous"; +} +__name(getI18nScopeLable, "getI18nScopeLable"); +function updateComponentTreeTags(instance, treeNode, i18n2) { + const global2 = i18n2.mode === "composition" ? i18n2.global : i18n2.global.__composer; + if (instance && instance.vnode.el && instance.vnode.el.__VUE_I18N__) { + if (instance.vnode.el.__VUE_I18N__ !== global2) { + const tag = { + label: `i18n (${getI18nScopeLable(instance)} Scope)`, + textColor: 0, + backgroundColor: 16764185 + }; + treeNode.tags.push(tag); + } + } +} +__name(updateComponentTreeTags, "updateComponentTreeTags"); +function inspectComposer(instanceData, composer) { + const type = VUE_I18N_COMPONENT_TYPES; + instanceData.state.push({ + type, + key: "locale", + editable: true, + value: composer.locale.value + }); + instanceData.state.push({ + type, + key: "availableLocales", + editable: false, + value: composer.availableLocales + }); + instanceData.state.push({ + type, + key: "fallbackLocale", + editable: true, + value: composer.fallbackLocale.value + }); + instanceData.state.push({ + type, + key: "inheritLocale", + editable: true, + value: composer.inheritLocale + }); + instanceData.state.push({ + type, + key: "messages", + editable: false, + value: getLocaleMessageValue(composer.messages.value) + }); + { + instanceData.state.push({ + type, + key: "datetimeFormats", + editable: false, + value: composer.datetimeFormats.value + }); + instanceData.state.push({ + type, + key: "numberFormats", + editable: false, + value: composer.numberFormats.value + }); + } +} +__name(inspectComposer, "inspectComposer"); +function getLocaleMessageValue(messages2) { + const value3 = {}; + Object.keys(messages2).forEach((key) => { + const v2 = messages2[key]; + if (isFunction(v2) && "source" in v2) { + value3[key] = getMessageFunctionDetails(v2); + } else if (isMessageAST(v2) && v2.loc && v2.loc.source) { + value3[key] = v2.loc.source; + } else if (isObject$2(v2)) { + value3[key] = getLocaleMessageValue(v2); + } else { + value3[key] = v2; + } + }); + return value3; +} +__name(getLocaleMessageValue, "getLocaleMessageValue"); +const ESC = { + "<": "<", + ">": ">", + '"': """, + "&": "&" +}; +function escape$1(s) { + return s.replace(/[<>"&]/g, escapeChar); +} +__name(escape$1, "escape$1"); +function escapeChar(a) { + return ESC[a] || a; +} +__name(escapeChar, "escapeChar"); +function getMessageFunctionDetails(func) { + const argString = func.source ? `("${escape$1(func.source)}")` : `(?)`; + return { + _custom: { + type: "function", + display: `ƒ ${argString}` + } + }; +} +__name(getMessageFunctionDetails, "getMessageFunctionDetails"); +function registerScope(payload, i18n2) { + payload.rootNodes.push({ + id: "global", + label: "Global Scope" + }); + const global2 = i18n2.mode === "composition" ? i18n2.global : i18n2.global.__composer; + for (const [keyInstance, instance] of i18n2.__instances) { + const composer = i18n2.mode === "composition" ? instance : instance.__composer; + if (global2 === composer) { + continue; + } + payload.rootNodes.push({ + id: composer.id.toString(), + label: `${getI18nScopeLable(keyInstance)} Scope` + }); + } +} +__name(registerScope, "registerScope"); +function getComponentInstance(nodeId, i18n2) { + let instance = null; + if (nodeId !== "global") { + for (const [component, composer] of i18n2.__instances.entries()) { + if (composer.id.toString() === nodeId) { + instance = component; + break; + } + } + } + return instance; +} +__name(getComponentInstance, "getComponentInstance"); +function getComposer$1(nodeId, i18n2) { + if (nodeId === "global") { + return i18n2.mode === "composition" ? i18n2.global : i18n2.global.__composer; + } else { + const instance = Array.from(i18n2.__instances.values()).find((item2) => item2.id.toString() === nodeId); + if (instance) { + return i18n2.mode === "composition" ? instance : instance.__composer; + } else { + return null; + } + } +} +__name(getComposer$1, "getComposer$1"); +function inspectScope(payload, i18n2) { + const composer = getComposer$1(payload.nodeId, i18n2); + if (composer) { + payload.state = makeScopeInspectState(composer); + } + return null; +} +__name(inspectScope, "inspectScope"); +function makeScopeInspectState(composer) { + const state = {}; + const localeType = "Locale related info"; + const localeStates = [ + { + type: localeType, + key: "locale", + editable: true, + value: composer.locale.value + }, + { + type: localeType, + key: "fallbackLocale", + editable: true, + value: composer.fallbackLocale.value + }, + { + type: localeType, + key: "availableLocales", + editable: false, + value: composer.availableLocales + }, + { + type: localeType, + key: "inheritLocale", + editable: true, + value: composer.inheritLocale + } + ]; + state[localeType] = localeStates; + const localeMessagesType = "Locale messages info"; + const localeMessagesStates = [ + { + type: localeMessagesType, + key: "messages", + editable: false, + value: getLocaleMessageValue(composer.messages.value) + } + ]; + state[localeMessagesType] = localeMessagesStates; + { + const datetimeFormatsType = "Datetime formats info"; + const datetimeFormatsStates = [ + { + type: datetimeFormatsType, + key: "datetimeFormats", + editable: false, + value: composer.datetimeFormats.value + } + ]; + state[datetimeFormatsType] = datetimeFormatsStates; + const numberFormatsType = "Datetime formats info"; + const numberFormatsStates = [ + { + type: numberFormatsType, + key: "numberFormats", + editable: false, + value: composer.numberFormats.value + } + ]; + state[numberFormatsType] = numberFormatsStates; + } + return state; +} +__name(makeScopeInspectState, "makeScopeInspectState"); +function addTimelineEvent(event2, payload) { + if (devtoolsApi) { + let groupId; + if (payload && "groupId" in payload) { + groupId = payload.groupId; + delete payload.groupId; + } + devtoolsApi.addTimelineEvent({ + layerId: "vue-i18n-timeline", + event: { + title: event2, + groupId, + time: Date.now(), + meta: {}, + data: payload || {}, + logType: event2 === "compile-error" ? "error" : event2 === "fallback" || event2 === "missing" ? "warning" : "default" + } + }); + } +} +__name(addTimelineEvent, "addTimelineEvent"); +function editScope(payload, i18n2) { + const composer = getComposer$1(payload.nodeId, i18n2); + if (composer) { + const [field] = payload.path; + if (field === "locale" && isString$2(payload.state.value)) { + composer.locale.value = payload.state.value; + } else if (field === "fallbackLocale" && (isString$2(payload.state.value) || isArray$2(payload.state.value) || isObject$2(payload.state.value))) { + composer.fallbackLocale.value = payload.state.value; + } else if (field === "inheritLocale" && isBoolean$1(payload.state.value)) { + composer.inheritLocale = payload.state.value; + } + } +} +__name(editScope, "editScope"); +function defineMixin(vuei18n, composer, i18n2) { + return { + beforeCreate() { + const instance = getCurrentInstance(); + if (!instance) { + throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR); + } + const options3 = this.$options; + if (options3.i18n) { + const optionsI18n = options3.i18n; + if (options3.__i18n) { + optionsI18n.__i18n = options3.__i18n; + } + optionsI18n.__root = composer; + if (this === this.$root) { + this.$i18n = mergeToGlobal(vuei18n, optionsI18n); + } else { + optionsI18n.__injectWithOption = true; + optionsI18n.__extender = i18n2.__vueI18nExtend; + this.$i18n = createVueI18n(optionsI18n); + const _vueI18n = this.$i18n; + if (_vueI18n.__extender) { + _vueI18n.__disposer = _vueI18n.__extender(this.$i18n); + } + } + } else if (options3.__i18n) { + if (this === this.$root) { + this.$i18n = mergeToGlobal(vuei18n, options3); + } else { + this.$i18n = createVueI18n({ + __i18n: options3.__i18n, + __injectWithOption: true, + __extender: i18n2.__vueI18nExtend, + __root: composer + }); + const _vueI18n = this.$i18n; + if (_vueI18n.__extender) { + _vueI18n.__disposer = _vueI18n.__extender(this.$i18n); + } + } + } else { + this.$i18n = vuei18n; + } + if (options3.__i18nGlobal) { + adjustI18nResources(composer, options3, options3); + } + this.$t = (...args) => this.$i18n.t(...args); + this.$rt = (...args) => this.$i18n.rt(...args); + this.$tc = (...args) => this.$i18n.tc(...args); + this.$te = (key, locale2) => this.$i18n.te(key, locale2); + this.$d = (...args) => this.$i18n.d(...args); + this.$n = (...args) => this.$i18n.n(...args); + this.$tm = (key) => this.$i18n.tm(key); + i18n2.__setInstance(instance, this.$i18n); + }, + mounted() { + if (false) { + const _vueI18n = this.$i18n; + this.$el.__VUE_I18N__ = _vueI18n.__composer; + const emitter = this.__v_emitter = createEmitter(); + _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter); + emitter.on("*", addTimelineEvent); + } + }, + unmounted() { + const instance = getCurrentInstance(); + if (!instance) { + throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR); + } + const _vueI18n = this.$i18n; + if (false) { + if (this.__v_emitter) { + this.__v_emitter.off("*", addTimelineEvent); + delete this.__v_emitter; + } + if (this.$i18n) { + _vueI18n.__disableEmitter && _vueI18n.__disableEmitter(); + delete this.$el.__VUE_I18N__; + } + } + delete this.$t; + delete this.$rt; + delete this.$tc; + delete this.$te; + delete this.$d; + delete this.$n; + delete this.$tm; + if (_vueI18n.__disposer) { + _vueI18n.__disposer(); + delete _vueI18n.__disposer; + delete _vueI18n.__extender; + } + i18n2.__deleteInstance(instance); + delete this.$i18n; + } + }; +} +__name(defineMixin, "defineMixin"); +function mergeToGlobal(g, options3) { + g.locale = options3.locale || g.locale; + g.fallbackLocale = options3.fallbackLocale || g.fallbackLocale; + g.missing = options3.missing || g.missing; + g.silentTranslationWarn = options3.silentTranslationWarn || g.silentFallbackWarn; + g.silentFallbackWarn = options3.silentFallbackWarn || g.silentFallbackWarn; + g.formatFallbackMessages = options3.formatFallbackMessages || g.formatFallbackMessages; + g.postTranslation = options3.postTranslation || g.postTranslation; + g.warnHtmlInMessage = options3.warnHtmlInMessage || g.warnHtmlInMessage; + g.escapeParameterHtml = options3.escapeParameterHtml || g.escapeParameterHtml; + g.sync = options3.sync || g.sync; + g.__composer[SetPluralRulesSymbol](options3.pluralizationRules || g.pluralizationRules); + const messages2 = getLocaleMessages(g.locale, { + messages: options3.messages, + __i18n: options3.__i18n + }); + Object.keys(messages2).forEach((locale2) => g.mergeLocaleMessage(locale2, messages2[locale2])); + if (options3.datetimeFormats) { + Object.keys(options3.datetimeFormats).forEach((locale2) => g.mergeDateTimeFormat(locale2, options3.datetimeFormats[locale2])); + } + if (options3.numberFormats) { + Object.keys(options3.numberFormats).forEach((locale2) => g.mergeNumberFormat(locale2, options3.numberFormats[locale2])); + } + return g; +} +__name(mergeToGlobal, "mergeToGlobal"); +const I18nInjectionKey = /* @__PURE__ */ makeSymbol("global-vue-i18n"); +function createI18n(options3 = {}, VueI18nLegacy) { + const __legacyMode = __VUE_I18N_LEGACY_API__ && isBoolean$1(options3.legacy) ? options3.legacy : __VUE_I18N_LEGACY_API__; + const __globalInjection = isBoolean$1(options3.globalInjection) ? options3.globalInjection : true; + const __allowComposition = __VUE_I18N_LEGACY_API__ && __legacyMode ? !!options3.allowComposition : true; + const __instances = /* @__PURE__ */ new Map(); + const [globalScope, __global] = createGlobal(options3, __legacyMode); + const symbol = /* @__PURE__ */ makeSymbol(false ? "vue-i18n" : ""); + if (false) { + if (__legacyMode && __allowComposition && true) { + warn$1(getWarnMessage(I18nWarnCodes.NOTICE_DROP_ALLOW_COMPOSITION)); + } + } + function __getInstance(component) { + return __instances.get(component) || null; + } + __name(__getInstance, "__getInstance"); + function __setInstance(component, instance) { + __instances.set(component, instance); + } + __name(__setInstance, "__setInstance"); + function __deleteInstance(component) { + __instances.delete(component); + } + __name(__deleteInstance, "__deleteInstance"); + { + const i18n2 = { + // mode + get mode() { + return __VUE_I18N_LEGACY_API__ && __legacyMode ? "legacy" : "composition"; + }, + // allowComposition + get allowComposition() { + return __allowComposition; + }, + // install plugin + async install(app2, ...options22) { + if (false) { + app2.__VUE_I18N__ = i18n2; + } + app2.__VUE_I18N_SYMBOL__ = symbol; + app2.provide(app2.__VUE_I18N_SYMBOL__, i18n2); + if (isPlainObject(options22[0])) { + const opts = options22[0]; + i18n2.__composerExtend = opts.__composerExtend; + i18n2.__vueI18nExtend = opts.__vueI18nExtend; + } + let globalReleaseHandler = null; + if (!__legacyMode && __globalInjection) { + globalReleaseHandler = injectGlobalFields(app2, i18n2.global); + } + if (__VUE_I18N_FULL_INSTALL__) { + apply(app2, i18n2, ...options22); + } + if (__VUE_I18N_LEGACY_API__ && __legacyMode) { + app2.mixin(defineMixin(__global, __global.__composer, i18n2)); + } + const unmountApp = app2.unmount; + app2.unmount = () => { + globalReleaseHandler && globalReleaseHandler(); + i18n2.dispose(); + unmountApp(); + }; + if (false) { + const ret = await enableDevTools(app2, i18n2); + if (!ret) { + throw createI18nError(I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN); + } + const emitter = createEmitter(); + if (__legacyMode) { + const _vueI18n = __global; + _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter); + } else { + const _composer = __global; + _composer[EnableEmitter] && _composer[EnableEmitter](emitter); + } + emitter.on("*", addTimelineEvent); + } + }, + // global accessor + get global() { + return __global; + }, + dispose() { + globalScope.stop(); + }, + // @internal + __instances, + // @internal + __getInstance, + // @internal + __setInstance, + // @internal + __deleteInstance + }; + return i18n2; + } +} +__name(createI18n, "createI18n"); +function useI18n(options3 = {}) { + const instance = getCurrentInstance(); + if (instance == null) { + throw createI18nError(I18nErrorCodes.MUST_BE_CALL_SETUP_TOP); + } + if (!instance.isCE && instance.appContext.app != null && !instance.appContext.app.__VUE_I18N_SYMBOL__) { + throw createI18nError(I18nErrorCodes.NOT_INSTALLED); + } + const i18n2 = getI18nInstance(instance); + const gl = getGlobalComposer(i18n2); + const componentOptions = getComponentOptions(instance); + const scope = getScope(options3, componentOptions); + if (__VUE_I18N_LEGACY_API__) { + if (i18n2.mode === "legacy" && !options3.__useComponent) { + if (!i18n2.allowComposition) { + throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE); + } + return useI18nForLegacy(instance, scope, gl, options3); + } + } + if (scope === "global") { + adjustI18nResources(gl, options3, componentOptions); + return gl; + } + if (scope === "parent") { + let composer2 = getComposer(i18n2, instance, options3.__useComponent); + if (composer2 == null) { + if (false) { + warn$1(getWarnMessage(I18nWarnCodes.NOT_FOUND_PARENT_SCOPE)); + } + composer2 = gl; + } + return composer2; + } + const i18nInternal = i18n2; + let composer = i18nInternal.__getInstance(instance); + if (composer == null) { + const composerOptions = assign$2({}, options3); + if ("__i18n" in componentOptions) { + composerOptions.__i18n = componentOptions.__i18n; + } + if (gl) { + composerOptions.__root = gl; + } + composer = createComposer(composerOptions); + if (i18nInternal.__composerExtend) { + composer[DisposeSymbol] = i18nInternal.__composerExtend(composer); + } + setupLifeCycle(i18nInternal, instance, composer); + i18nInternal.__setInstance(instance, composer); + } + return composer; +} +__name(useI18n, "useI18n"); +const castToVueI18n = /* @__PURE__ */ __name(/* @__NO_SIDE_EFFECTS__ */ (i18n2) => { + if (!(__VUE_I18N_BRIDGE__ in i18n2)) { + throw createI18nError(I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N); + } + return i18n2; +}, "castToVueI18n"); +function createGlobal(options3, legacyMode, VueI18nLegacy) { + const scope = effectScope(); + { + const obj = __VUE_I18N_LEGACY_API__ && legacyMode ? scope.run(() => createVueI18n(options3)) : scope.run(() => createComposer(options3)); + if (obj == null) { + throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR); + } + return [scope, obj]; + } +} +__name(createGlobal, "createGlobal"); +function getI18nInstance(instance) { + { + const i18n2 = inject(!instance.isCE ? instance.appContext.app.__VUE_I18N_SYMBOL__ : I18nInjectionKey); + if (!i18n2) { + throw createI18nError(!instance.isCE ? I18nErrorCodes.UNEXPECTED_ERROR : I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE); + } + return i18n2; + } +} +__name(getI18nInstance, "getI18nInstance"); +function getScope(options3, componentOptions) { + return isEmptyObject(options3) ? "__i18n" in componentOptions ? "local" : "global" : !options3.useScope ? "local" : options3.useScope; +} +__name(getScope, "getScope"); +function getGlobalComposer(i18n2) { + return i18n2.mode === "composition" ? i18n2.global : i18n2.global.__composer; +} +__name(getGlobalComposer, "getGlobalComposer"); +function getComposer(i18n2, target, useComponent = false) { + let composer = null; + const root23 = target.root; + let current = getParentComponentInstance(target, useComponent); + while (current != null) { + const i18nInternal = i18n2; + if (i18n2.mode === "composition") { + composer = i18nInternal.__getInstance(current); + } else { + if (__VUE_I18N_LEGACY_API__) { + const vueI18n = i18nInternal.__getInstance(current); + if (vueI18n != null) { + composer = vueI18n.__composer; + if (useComponent && composer && !composer[InejctWithOptionSymbol]) { + composer = null; + } + } + } + } + if (composer != null) { + break; + } + if (root23 === current) { + break; + } + current = current.parent; + } + return composer; +} +__name(getComposer, "getComposer"); +function getParentComponentInstance(target, useComponent = false) { + if (target == null) { + return null; + } + { + return !useComponent ? target.parent : target.vnode.ctx || target.parent; + } +} +__name(getParentComponentInstance, "getParentComponentInstance"); +function setupLifeCycle(i18n2, target, composer) { + let emitter = null; + { + onMounted(() => { + if (false) { + target.vnode.el.__VUE_I18N__ = composer; + emitter = createEmitter(); + const _composer = composer; + _composer[EnableEmitter] && _composer[EnableEmitter](emitter); + emitter.on("*", addTimelineEvent); + } + }, target); + onUnmounted(() => { + const _composer = composer; + if (false) { + emitter && emitter.off("*", addTimelineEvent); + _composer[DisableEmitter] && _composer[DisableEmitter](); + delete target.vnode.el.__VUE_I18N__; + } + i18n2.__deleteInstance(target); + const dispose = _composer[DisposeSymbol]; + if (dispose) { + dispose(); + delete _composer[DisposeSymbol]; + } + }, target); + } +} +__name(setupLifeCycle, "setupLifeCycle"); +function useI18nForLegacy(instance, scope, root23, options3 = {}) { + const isLocalScope = scope === "local"; + const _composer = shallowRef(null); + if (isLocalScope && instance.proxy && !(instance.proxy.$options.i18n || instance.proxy.$options.__i18n)) { + throw createI18nError(I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION); + } + const _inheritLocale = isBoolean$1(options3.inheritLocale) ? options3.inheritLocale : !isString$2(options3.locale); + const _locale = ref( + // prettier-ignore + !isLocalScope || _inheritLocale ? root23.locale.value : isString$2(options3.locale) ? options3.locale : DEFAULT_LOCALE + ); + const _fallbackLocale = ref( + // prettier-ignore + !isLocalScope || _inheritLocale ? root23.fallbackLocale.value : isString$2(options3.fallbackLocale) || isArray$2(options3.fallbackLocale) || isPlainObject(options3.fallbackLocale) || options3.fallbackLocale === false ? options3.fallbackLocale : _locale.value + ); + const _messages = ref(getLocaleMessages(_locale.value, options3)); + const _datetimeFormats = ref(isPlainObject(options3.datetimeFormats) ? options3.datetimeFormats : { [_locale.value]: {} }); + const _numberFormats = ref(isPlainObject(options3.numberFormats) ? options3.numberFormats : { [_locale.value]: {} }); + const _missingWarn = isLocalScope ? root23.missingWarn : isBoolean$1(options3.missingWarn) || isRegExp(options3.missingWarn) ? options3.missingWarn : true; + const _fallbackWarn = isLocalScope ? root23.fallbackWarn : isBoolean$1(options3.fallbackWarn) || isRegExp(options3.fallbackWarn) ? options3.fallbackWarn : true; + const _fallbackRoot = isLocalScope ? root23.fallbackRoot : isBoolean$1(options3.fallbackRoot) ? options3.fallbackRoot : true; + const _fallbackFormat = !!options3.fallbackFormat; + const _missing = isFunction(options3.missing) ? options3.missing : null; + const _postTranslation = isFunction(options3.postTranslation) ? options3.postTranslation : null; + const _warnHtmlMessage = isLocalScope ? root23.warnHtmlMessage : isBoolean$1(options3.warnHtmlMessage) ? options3.warnHtmlMessage : true; + const _escapeParameter = !!options3.escapeParameter; + const _modifiers = isLocalScope ? root23.modifiers : isPlainObject(options3.modifiers) ? options3.modifiers : {}; + const _pluralRules = options3.pluralRules || isLocalScope && root23.pluralRules; + function trackReactivityValues() { + return [ + _locale.value, + _fallbackLocale.value, + _messages.value, + _datetimeFormats.value, + _numberFormats.value + ]; + } + __name(trackReactivityValues, "trackReactivityValues"); + const locale2 = computed({ + get: /* @__PURE__ */ __name(() => { + return _composer.value ? _composer.value.locale.value : _locale.value; + }, "get"), + set: /* @__PURE__ */ __name((val) => { + if (_composer.value) { + _composer.value.locale.value = val; + } + _locale.value = val; + }, "set") + }); + const fallbackLocale = computed({ + get: /* @__PURE__ */ __name(() => { + return _composer.value ? _composer.value.fallbackLocale.value : _fallbackLocale.value; + }, "get"), + set: /* @__PURE__ */ __name((val) => { + if (_composer.value) { + _composer.value.fallbackLocale.value = val; + } + _fallbackLocale.value = val; + }, "set") + }); + const messages2 = computed(() => { + if (_composer.value) { + return _composer.value.messages.value; + } else { + return _messages.value; + } + }); + const datetimeFormats = computed(() => _datetimeFormats.value); + const numberFormats = computed(() => _numberFormats.value); + function getPostTranslationHandler() { + return _composer.value ? _composer.value.getPostTranslationHandler() : _postTranslation; + } + __name(getPostTranslationHandler, "getPostTranslationHandler"); + function setPostTranslationHandler(handler6) { + if (_composer.value) { + _composer.value.setPostTranslationHandler(handler6); + } + } + __name(setPostTranslationHandler, "setPostTranslationHandler"); + function getMissingHandler() { + return _composer.value ? _composer.value.getMissingHandler() : _missing; + } + __name(getMissingHandler, "getMissingHandler"); + function setMissingHandler(handler6) { + if (_composer.value) { + _composer.value.setMissingHandler(handler6); + } + } + __name(setMissingHandler, "setMissingHandler"); + function warpWithDeps(fn) { + trackReactivityValues(); + return fn(); + } + __name(warpWithDeps, "warpWithDeps"); + function t(...args) { + return _composer.value ? warpWithDeps(() => Reflect.apply(_composer.value.t, null, [...args])) : warpWithDeps(() => ""); + } + __name(t, "t"); + function rt(...args) { + return _composer.value ? Reflect.apply(_composer.value.rt, null, [...args]) : ""; + } + __name(rt, "rt"); + function d(...args) { + return _composer.value ? warpWithDeps(() => Reflect.apply(_composer.value.d, null, [...args])) : warpWithDeps(() => ""); + } + __name(d, "d"); + function n(...args) { + return _composer.value ? warpWithDeps(() => Reflect.apply(_composer.value.n, null, [...args])) : warpWithDeps(() => ""); + } + __name(n, "n"); + function tm(key) { + return _composer.value ? _composer.value.tm(key) : {}; + } + __name(tm, "tm"); + function te(key, locale22) { + return _composer.value ? _composer.value.te(key, locale22) : false; + } + __name(te, "te"); + function getLocaleMessage(locale22) { + return _composer.value ? _composer.value.getLocaleMessage(locale22) : {}; + } + __name(getLocaleMessage, "getLocaleMessage"); + function setLocaleMessage(locale22, message2) { + if (_composer.value) { + _composer.value.setLocaleMessage(locale22, message2); + _messages.value[locale22] = message2; + } + } + __name(setLocaleMessage, "setLocaleMessage"); + function mergeLocaleMessage(locale22, message2) { + if (_composer.value) { + _composer.value.mergeLocaleMessage(locale22, message2); + } + } + __name(mergeLocaleMessage, "mergeLocaleMessage"); + function getDateTimeFormat(locale22) { + return _composer.value ? _composer.value.getDateTimeFormat(locale22) : {}; + } + __name(getDateTimeFormat, "getDateTimeFormat"); + function setDateTimeFormat(locale22, format2) { + if (_composer.value) { + _composer.value.setDateTimeFormat(locale22, format2); + _datetimeFormats.value[locale22] = format2; + } + } + __name(setDateTimeFormat, "setDateTimeFormat"); + function mergeDateTimeFormat(locale22, format2) { + if (_composer.value) { + _composer.value.mergeDateTimeFormat(locale22, format2); + } + } + __name(mergeDateTimeFormat, "mergeDateTimeFormat"); + function getNumberFormat(locale22) { + return _composer.value ? _composer.value.getNumberFormat(locale22) : {}; + } + __name(getNumberFormat, "getNumberFormat"); + function setNumberFormat(locale22, format2) { + if (_composer.value) { + _composer.value.setNumberFormat(locale22, format2); + _numberFormats.value[locale22] = format2; + } + } + __name(setNumberFormat, "setNumberFormat"); + function mergeNumberFormat(locale22, format2) { + if (_composer.value) { + _composer.value.mergeNumberFormat(locale22, format2); + } + } + __name(mergeNumberFormat, "mergeNumberFormat"); + const wrapper = { + get id() { + return _composer.value ? _composer.value.id : -1; + }, + locale: locale2, + fallbackLocale, + messages: messages2, + datetimeFormats, + numberFormats, + get inheritLocale() { + return _composer.value ? _composer.value.inheritLocale : _inheritLocale; + }, + set inheritLocale(val) { + if (_composer.value) { + _composer.value.inheritLocale = val; + } + }, + get availableLocales() { + return _composer.value ? _composer.value.availableLocales : Object.keys(_messages.value); + }, + get modifiers() { + return _composer.value ? _composer.value.modifiers : _modifiers; + }, + get pluralRules() { + return _composer.value ? _composer.value.pluralRules : _pluralRules; + }, + get isGlobal() { + return _composer.value ? _composer.value.isGlobal : false; + }, + get missingWarn() { + return _composer.value ? _composer.value.missingWarn : _missingWarn; + }, + set missingWarn(val) { + if (_composer.value) { + _composer.value.missingWarn = val; + } + }, + get fallbackWarn() { + return _composer.value ? _composer.value.fallbackWarn : _fallbackWarn; + }, + set fallbackWarn(val) { + if (_composer.value) { + _composer.value.missingWarn = val; + } + }, + get fallbackRoot() { + return _composer.value ? _composer.value.fallbackRoot : _fallbackRoot; + }, + set fallbackRoot(val) { + if (_composer.value) { + _composer.value.fallbackRoot = val; + } + }, + get fallbackFormat() { + return _composer.value ? _composer.value.fallbackFormat : _fallbackFormat; + }, + set fallbackFormat(val) { + if (_composer.value) { + _composer.value.fallbackFormat = val; + } + }, + get warnHtmlMessage() { + return _composer.value ? _composer.value.warnHtmlMessage : _warnHtmlMessage; + }, + set warnHtmlMessage(val) { + if (_composer.value) { + _composer.value.warnHtmlMessage = val; + } + }, + get escapeParameter() { + return _composer.value ? _composer.value.escapeParameter : _escapeParameter; + }, + set escapeParameter(val) { + if (_composer.value) { + _composer.value.escapeParameter = val; + } + }, + t, + getPostTranslationHandler, + setPostTranslationHandler, + getMissingHandler, + setMissingHandler, + rt, + d, + n, + tm, + te, + getLocaleMessage, + setLocaleMessage, + mergeLocaleMessage, + getDateTimeFormat, + setDateTimeFormat, + mergeDateTimeFormat, + getNumberFormat, + setNumberFormat, + mergeNumberFormat + }; + function sync(composer) { + composer.locale.value = _locale.value; + composer.fallbackLocale.value = _fallbackLocale.value; + Object.keys(_messages.value).forEach((locale22) => { + composer.mergeLocaleMessage(locale22, _messages.value[locale22]); + }); + Object.keys(_datetimeFormats.value).forEach((locale22) => { + composer.mergeDateTimeFormat(locale22, _datetimeFormats.value[locale22]); + }); + Object.keys(_numberFormats.value).forEach((locale22) => { + composer.mergeNumberFormat(locale22, _numberFormats.value[locale22]); + }); + composer.escapeParameter = _escapeParameter; + composer.fallbackFormat = _fallbackFormat; + composer.fallbackRoot = _fallbackRoot; + composer.fallbackWarn = _fallbackWarn; + composer.missingWarn = _missingWarn; + composer.warnHtmlMessage = _warnHtmlMessage; + } + __name(sync, "sync"); + onBeforeMount(() => { + if (instance.proxy == null || instance.proxy.$i18n == null) { + throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY); + } + const composer = _composer.value = instance.proxy.$i18n.__composer; + if (scope === "global") { + _locale.value = composer.locale.value; + _fallbackLocale.value = composer.fallbackLocale.value; + _messages.value = composer.messages.value; + _datetimeFormats.value = composer.datetimeFormats.value; + _numberFormats.value = composer.numberFormats.value; + } else if (isLocalScope) { + sync(composer); + } + }); + return wrapper; +} +__name(useI18nForLegacy, "useI18nForLegacy"); +const globalExportProps = [ + "locale", + "fallbackLocale", + "availableLocales" +]; +const globalExportMethods = ["t", "rt", "d", "n", "tm", "te"]; +function injectGlobalFields(app2, composer) { + const i18n2 = /* @__PURE__ */ Object.create(null); + globalExportProps.forEach((prop2) => { + const desc = Object.getOwnPropertyDescriptor(composer, prop2); + if (!desc) { + throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR); + } + const wrap = isRef(desc.value) ? { + get() { + return desc.value.value; + }, + // eslint-disable-next-line @typescript-eslint/no-explicit-any + set(val) { + desc.value.value = val; + } + } : { + get() { + return desc.get && desc.get(); + } + }; + Object.defineProperty(i18n2, prop2, wrap); + }); + app2.config.globalProperties.$i18n = i18n2; + globalExportMethods.forEach((method) => { + const desc = Object.getOwnPropertyDescriptor(composer, method); + if (!desc || !desc.value) { + throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR); + } + Object.defineProperty(app2.config.globalProperties, `$${method}`, desc); + }); + const dispose = /* @__PURE__ */ __name(() => { + delete app2.config.globalProperties.$i18n; + globalExportMethods.forEach((method) => { + delete app2.config.globalProperties[`$${method}`]; + }); + }, "dispose"); + return dispose; +} +__name(injectGlobalFields, "injectGlobalFields"); +{ + initFeatureFlags(); +} +if (__INTLIFY_JIT_COMPILATION__) { + registerMessageCompiler(compile); +} else { + registerMessageCompiler(compileToFunction); +} +registerMessageResolver(resolveValue); +registerLocaleFallbacker(fallbackWithLocaleChain); +if (__INTLIFY_PROD_DEVTOOLS__) { + const target = getGlobalThis(); + target.__INTLIFY__ = true; + setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__); +} +if (false) ; +const _hoisted_1$u = { + class: "flex flex-wrap content-around justify-around gap-4 mt-4", + "data-testid": "template-workflows-content" +}; +const _hoisted_2$k = ["data-testid"]; +const _hoisted_3$b = ["onClick"]; +const _hoisted_4$8 = ["src"]; +const _sfc_main$s = /* @__PURE__ */ defineComponent({ + __name: "TemplateWorkflowsContent", + setup(__props) { + const { t } = useI18n(); + const templates = ["default", "image2image", "upscale", "flux_schnell"]; + const loading2 = ref(null); + const loadWorkflow = /* @__PURE__ */ __name(async (id3) => { + loading2.value = id3; + const json = await fetch(api.fileURL(`templates/${id3}.json`)).then( + (r) => r.json() + ); + useDialogStore().closeDialog(); + await app$1.loadGraphData( + json, + true, + true, + t(`templateWorkflows.template.${id3}`) + ); + return false; + }, "loadWorkflow"); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$u, [ + (openBlock(), createElementBlock(Fragment, null, renderList(templates, (template) => { + return createBaseVNode("div", { + key: template, + "data-testid": `template-workflow-${template}` + }, [ + createVNode(unref(script$H), null, { + header: withCtx(() => [ + createBaseVNode("div", { + class: "relative overflow-hidden rounded-lg cursor-pointer", + onClick: /* @__PURE__ */ __name(($event) => loadWorkflow(template), "onClick") + }, [ + createBaseVNode("img", { + src: `/templates/${template}.jpg`, + class: "w-64 h-64 rounded-lg object-cover" + }, null, 8, _hoisted_4$8), + _cache[0] || (_cache[0] = createBaseVNode("a", null, [ + createBaseVNode("div", { class: "absolute top-0 left-0 w-64 h-64 overflow-hidden opacity-0 transition duration-300 ease-in-out hover:opacity-100 bg-opacity-50 bg-black flex items-center justify-center" }, [ + createBaseVNode("i", { class: "pi pi-play-circle" }) + ]) + ], -1)), + loading2.value === template ? (openBlock(), createBlock(unref(script$m), { + key: 0, + class: "absolute inset-0 z-1 w-3/12 h-full" + })) : createCommentVNode("", true) + ], 8, _hoisted_3$b) + ]), + subtitle: withCtx(() => [ + createTextVNode(toDisplayString$1(_ctx.$t(`templateWorkflows.template.${template}`)), 1) + ]), + _: 2 + }, 1024) + ], 8, _hoisted_2$k); + }), 64)) + ]); + }; + } +}); +const TemplateWorkflowsContent = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-98830966"]]); +var theme$d = /* @__PURE__ */ __name(function theme22(_ref) { + var dt2 = _ref.dt; + return "\n.p-floatlabel {\n display: block;\n position: relative;\n}\n\n.p-floatlabel label {\n position: absolute;\n pointer-events: none;\n top: 50%;\n transform: translateY(-50%);\n transition-property: all;\n transition-timing-function: ease;\n line-height: 1;\n font-weight: ".concat(dt2("floatlabel.font.weight"), ";\n left: ").concat(dt2("floatlabel.position.x"), ";\n color: ").concat(dt2("floatlabel.color"), ";\n transition-duration: ").concat(dt2("floatlabel.transition.duration"), ";\n}\n\n.p-floatlabel:has(.p-textarea) label {\n top: ").concat(dt2("floatlabel.position.y"), ";\n transform: translateY(0);\n}\n\n.p-floatlabel:has(.p-inputicon:first-child) label {\n left: calc((").concat(dt2("form.field.padding.x"), " * 2) + ").concat(dt2("icon.size"), ");\n}\n\n.p-floatlabel:has(.p-invalid) label {\n color: ").concat(dt2("floatlabel.invalid.color"), ";\n}\n\n.p-floatlabel:has(input:focus) label,\n.p-floatlabel:has(input.p-filled) label,\n.p-floatlabel:has(input:-webkit-autofill) label,\n.p-floatlabel:has(textarea:focus) label,\n.p-floatlabel:has(textarea.p-filled) label,\n.p-floatlabel:has(.p-inputwrapper-focus) label,\n.p-floatlabel:has(.p-inputwrapper-filled) label {\n top: ").concat(dt2("floatlabel.over.active.top"), ";\n transform: translateY(0);\n font-size: ").concat(dt2("floatlabel.active.font.size"), ";\n font-weight: ").concat(dt2("floatlabel.label.active.font.weight"), ";\n}\n\n.p-floatlabel:has(input.p-filled) label,\n.p-floatlabel:has(textarea.p-filled) label,\n.p-floatlabel:has(.p-inputwrapper-filled) label {\n color: ").concat(dt2("floatlabel.active.color"), ";\n}\n\n.p-floatlabel:has(input:focus) label,\n.p-floatlabel:has(input:-webkit-autofill) label,\n.p-floatlabel:has(textarea:focus) label ,\n.p-floatlabel:has(.p-inputwrapper-focus) label {\n color: ").concat(dt2("floatlabel.focus.color"), ";\n}\n\n/*.p-floatlabel .p-placeholder,\n.p-floatlabel input::placeholder,\n.p-floatlabel .p-inputtext::placeholder {\n opacity: 0;\n transition-property: all;\n transition-timing-function: ease;\n}\n\n.p-floatlabel .p-focus .p-placeholder,\n.p-floatlabel input:focus::placeholder,\n.p-floatlabel .p-inputtext:focus::placeholder {\n opacity: 1;\n transition-property: all;\n transition-timing-function: ease;\n}*/\n\n.p-floatlabel-in .p-inputtext,\n.p-floatlabel-in .p-textarea,\n.p-floatlabel-in .p-select-label,\n.p-floatlabel-in .p-multiselect-label,\n.p-floatlabel-in .p-autocomplete-input-multiple,\n.p-floatlabel-in .p-cascadeselect-label,\n.p-floatlabel-in .p-treeselect-label {\n padding-top: ").concat(dt2("floatlabel.in.input.padding.top"), ";\n padding-bottom: ").concat(dt2("floatlabel.in.input.padding.bottom"), ";\n}\n\n.p-floatlabel-in:has(input:focus) label,\n.p-floatlabel-in:has(input.p-filled) label,\n.p-floatlabel-in:has(input:-webkit-autofill) label,\n.p-floatlabel-in:has(textarea:focus) label,\n.p-floatlabel-in:has(textarea.p-filled) label,\n.p-floatlabel-in:has(.p-inputwrapper-focus) label,\n.p-floatlabel-in:has(.p-inputwrapper-filled) label {\n top: ").concat(dt2("floatlabel.in.active.top"), ";\n}\n\n.p-floatlabel-on:has(input:focus) label,\n.p-floatlabel-on:has(input.p-filled) label,\n.p-floatlabel-on:has(input:-webkit-autofill) label,\n.p-floatlabel-on:has(textarea:focus) label,\n.p-floatlabel-on:has(textarea.p-filled) label,\n.p-floatlabel-on:has(.p-inputwrapper-focus) label,\n.p-floatlabel-on:has(.p-inputwrapper-filled) label {\n top: 0;\n transform: translateY(-50%);\n border-radius: ").concat(dt2("floatlabel.on.border.radius"), ";\n background: ").concat(dt2("floatlabel.on.active.background"), ";\n padding: ").concat(dt2("floatlabel.on.active.padding"), ";\n}\n"); +}, "theme"); +var classes$d = { + root: /* @__PURE__ */ __name(function root15(_ref2) { + _ref2.instance; + var props = _ref2.props; + return ["p-floatlabel", { + "p-floatlabel-over": props.variant === "over", + "p-floatlabel-on": props.variant === "on", + "p-floatlabel-in": props.variant === "in" + }]; + }, "root") +}; +var FloatLabelStyle = BaseStyle.extend({ + name: "floatlabel", + theme: theme$d, + classes: classes$d +}); +var script$1$c = { + name: "BaseFloatLabel", + "extends": script$U, + props: { + variant: { + type: String, + "default": "over" + } + }, + style: FloatLabelStyle, + provide: /* @__PURE__ */ __name(function provide24() { + return { + $pcFloatLabel: this, + $parentInstance: this + }; + }, "provide") +}; +var script$l = { + name: "FloatLabel", + "extends": script$1$c, + inheritAttrs: false +}; +function render$k(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("span", mergeProps$1({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); +} +__name(render$k, "render$k"); +script$l.render = render$k; +const _hoisted_1$t = { class: "prompt-dialog-content flex flex-col gap-2 pt-8" }; +const _sfc_main$r = /* @__PURE__ */ defineComponent({ + __name: "PromptDialogContent", + props: { + message: {}, + defaultValue: {}, + onConfirm: { type: Function } + }, + setup(__props) { + const props = __props; + const inputValue = ref(props.defaultValue); + const onConfirm = /* @__PURE__ */ __name(() => { + props.onConfirm(inputValue.value); + useDialogStore().closeDialog(); + }, "onConfirm"); + const inputRef = ref(null); + const selectAllText = /* @__PURE__ */ __name(() => { + if (!inputRef.value) return; + const inputElement = inputRef.value.$el; + inputElement.setSelectionRange(0, inputElement.value.length); + }, "selectAllText"); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$t, [ + createVNode(unref(script$l), null, { + default: withCtx(() => [ + createVNode(unref(script$N), { + ref_key: "inputRef", + ref: inputRef, + modelValue: inputValue.value, + "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => inputValue.value = $event), + onKeyup: withKeys(onConfirm, ["enter"]), + onFocus: selectAllText, + autofocus: "" + }, null, 8, ["modelValue"]), + createBaseVNode("label", null, toDisplayString$1(_ctx.message), 1) + ]), + _: 1 + }), + createVNode(unref(script$I), { onClick: onConfirm }, { + default: withCtx(() => [ + createTextVNode(toDisplayString$1(_ctx.$t("confirm")), 1) + ]), + _: 1 + }) + ]); + }; + } +}); +const messages = { + en: { + download: "Download", + loadAllFolders: "Load All Folders", + refresh: "Refresh", + terminal: "Terminal", + videoFailedToLoad: "Video failed to load", + extensionName: "Extension Name", + reloadToApplyChanges: "Reload to apply changes", + insert: "Insert", + systemInfo: "System Info", + devices: "Devices", + about: "About", + add: "Add", + confirm: "Confirm", + reset: "Reset", + resetKeybindingsTooltip: "Reset keybindings to default", + customizeFolder: "Customize Folder", + icon: "Icon", + color: "Color", + bookmark: "Bookmark", + folder: "Folder", + star: "Star", + heart: "Heart", + file: "File", + inbox: "Inbox", + box: "Box", + briefcase: "Briefcase", + error: "Error", + loading: "Loading", + findIssues: "Find Issues", + copyToClipboard: "Copy to Clipboard", + openNewIssue: "Open New Issue", + showReport: "Show Report", + imageFailedToLoad: "Image failed to load", + reconnecting: "Reconnecting", + reconnected: "Reconnected", + delete: "Delete", + rename: "Rename", + customize: "Customize", + experimental: "BETA", + deprecated: "DEPR", + loadWorkflow: "Load Workflow", + goToNode: "Go to Node", + settings: "Settings", + searchWorkflows: "Search Workflows", + searchSettings: "Search Settings", + searchNodes: "Search Nodes", + searchModels: "Search Models", + searchKeybindings: "Search Keybindings", + noResultsFound: "No Results Found", + searchFailedMessage: "We couldn't find any settings matching your search. Try adjusting your search terms.", + noTasksFound: "No Tasks Found", + noTasksFoundMessage: "There are no tasks in the queue.", + newFolder: "New Folder", + sideToolbar: { + themeToggle: "Toggle Theme", + queue: "Queue", + nodeLibrary: "Node Library", + workflows: "Workflows", + browseTemplates: "Browse example templates", + openWorkflow: "Open workflow in local file system", + newBlankWorkflow: "Create a new blank workflow", + nodeLibraryTab: { + sortOrder: "Sort Order" + }, + modelLibrary: "Model Library", + queueTab: { + showFlatList: "Show Flat List", + backToAllTasks: "Back to All Tasks", + containImagePreview: "Fill Image Preview", + coverImagePreview: "Fit Image Preview", + clearPendingTasks: "Clear Pending Tasks" + } + }, + menu: { + batchCount: "Batch Count", + batchCountTooltip: "The number of times the workflow generation should be queued", + autoQueue: "Auto Queue", + disabled: "Disabled", + disabledTooltip: "The workflow will not be automatically queued", + instant: "Instant", + instantTooltip: "The workflow will be queued instantly after a generation finishes", + change: "On Change", + changeTooltip: "The workflow will be queued once a change is made", + queueWorkflow: "Queue workflow", + queueWorkflowFront: "Queue workflow (Insert at Front)", + queue: "Queue", + interrupt: "Cancel current run", + refresh: "Refresh node definitions", + clipspace: "Open Clipspace", + resetView: "Reset canvas view", + clear: "Clear workflow", + toggleBottomPanel: "Toggle Bottom Panel" + }, + templateWorkflows: { + title: "Get Started with a Template", + template: { + default: "Image Generation", + image2image: "Image to Image", + upscale: "2 Pass Upscale", + flux_schnell: "Flux Schnell" + } + }, + graphCanvasMenu: { + zoomIn: "Zoom In", + zoomOut: "Zoom Out", + resetView: "Reset View", + selectMode: "Select Mode", + panMode: "Pan Mode", + toggleLinkVisibility: "Toggle Link Visibility" + } + }, + zh: { + download: "下载", + loadAllFolders: "加载所有文件夹", + refresh: "刷新", + terminal: "终端", + videoFailedToLoad: "视频加载失败", + extensionName: "扩展名称", + reloadToApplyChanges: "重新加载以应用更改", + insert: "插入", + systemInfo: "系统信息", + devices: "设备", + about: "关于", + add: "添加", + confirm: "确认", + reset: "重置", + resetKeybindingsTooltip: "重置键位", + customizeFolder: "定制文件夹", + icon: "图标", + color: "颜色", + bookmark: "书签", + folder: "文件夹", + star: "星星", + heart: "心", + file: "文件", + inbox: "收件箱", + box: "盒子", + briefcase: "公文包", + error: "错误", + loading: "加载中", + findIssues: "查找 Issue", + copyToClipboard: "复制到剪贴板", + openNewIssue: "开启新 Issue", + showReport: "显示报告", + imageFailedToLoad: "图像加载失败", + reconnecting: "重新连接中", + reconnected: "已重新连接", + delete: "删除", + rename: "重命名", + customize: "定制", + experimental: "BETA", + deprecated: "弃用", + loadWorkflow: "加载工作流", + goToNode: "前往节点", + settings: "设置", + searchWorkflows: "搜索工作流", + searchSettings: "搜索设置", + searchNodes: "搜索节点", + searchModels: "搜索模型", + searchKeybindings: "搜索键位", + noResultsFound: "未找到结果", + searchFailedMessage: "我们找不到与您的搜索匹配的任何设置。请尝试调整搜索条件。", + noContent: "(无内容)", + noTasksFound: "未找到任务", + noTasksFoundMessage: "队列中没有任务。", + newFolder: "新建文件夹", + sideToolbar: { + themeToggle: "主题切换", + queue: "队列", + nodeLibrary: "节点库", + workflows: "工作流", + browseTemplates: "浏览示例模板", + openWorkflow: "在本地文件系统中打开工作流", + newBlankWorkflow: "创建一个新空白工作流", + nodeLibraryTab: { + sortOrder: "排序顺序" + }, + modelLibrary: "模型库", + queueTab: { + showFlatList: "平铺结果", + backToAllTasks: "返回", + containImagePreview: "填充图像预览", + coverImagePreview: "适应图像预览", + clearPendingTasks: "清除待处理任务" + } + }, + menu: { + batchCount: "批次数量", + batchCountTooltip: "工作流生成次数", + autoQueue: "自动执行", + disabled: "禁用", + disabledTooltip: "工作流将不会自动执行", + instant: "实时", + instantTooltip: "工作流将会在生成完成后立即执行", + change: "变动", + changeTooltip: "工作流将会在改变后执行", + queueWorkflow: "执行工作流", + queueWorkflowFront: "执行工作流 (队列首)", + queue: "队列", + interrupt: "取消当前任务", + refresh: "刷新节点", + clipspace: "打开剪贴板", + resetView: "重置画布视图", + clear: "清空工作流", + toggleBottomPanel: "底部面板" + }, + templateWorkflows: { + title: "从模板开始", + template: { + default: "Image Generation", + image2image: "Image to Image", + upscale: "2 Pass Upscale", + flux_schnell: "Flux Schnell" + } + }, + graphCanvasMenu: { + zoomIn: "放大", + zoomOut: "缩小", + resetView: "重置视图", + selectMode: "选择模式", + panMode: "平移模式", + toggleLinkVisibility: "切换链接可见性" + } + }, + ru: { + download: "Скачать", + refresh: "Обновить", + loadAllFolders: "Загрузить все папки", + terminal: "Терминал", + videoFailedToLoad: "Видео не удалось загрузить", + extensionName: "Название расширения", + reloadToApplyChanges: "Перезагрузите, чтобы применить изменения", + insert: "Вставить", + systemInfo: "Информация о системе", + devices: "Устройства", + about: "О", + add: "Добавить", + confirm: "Подтвердить", + reset: "Сбросить", + resetKeybindingsTooltip: "Сбросить сочетания клавиш по умолчанию", + customizeFolder: "Настроить папку", + icon: "Иконка", + color: "Цвет", + bookmark: "Закладка", + folder: "Папка", + star: "Звёздочка", + heart: "Сердце", + file: "Файл", + inbox: "Входящие", + box: "Ящик", + briefcase: "Чемодан", + error: "Ошибка", + loading: "Загрузка", + findIssues: "Найти Issue", + copyToClipboard: "Копировать в буфер обмена", + openNewIssue: "Открыть новый Issue", + showReport: "Показать отчёт", + imageFailedToLoad: "Изображение не удалось загрузить", + reconnecting: "Переподключение", + reconnected: "Переподключено", + delete: "Удалить", + rename: "Переименовать", + customize: "Настроить", + experimental: "БЕТА", + deprecated: "УСТАР", + loadWorkflow: "Загрузить рабочий процесс", + goToNode: "Перейти к узлу", + settings: "Настройки", + searchWorkflows: "Поиск рабочих процессов", + searchSettings: "Поиск настроек", + searchNodes: "Поиск узлов", + searchModels: "Поиск моделей", + searchKeybindings: "Поиск сочетаний клавиш", + noResultsFound: "Ничего не найдено", + searchFailedMessage: "Не удалось найти ни одной настройки, соответствующей вашему запросу. Попробуйте скорректировать поисковый запрос.", + noContent: "(Нет контента)", + noTasksFound: "Задачи не найдены", + noTasksFoundMessage: "В очереди нет задач.", + newFolder: "Новая папка", + sideToolbar: { + themeToggle: "Переключить тему", + queue: "Очередь", + nodeLibrary: "Библиотека узлов", + workflows: "Рабочие процессы", + browseTemplates: "Просмотреть примеры шаблонов", + openWorkflow: "Открыть рабочий процесс в локальной файловой системе", + newBlankWorkflow: "Создайте новый пустой рабочий процесс", + nodeLibraryTab: { + sortOrder: "Порядок сортировки" + }, + modelLibrary: "Библиотека моделей", + queueTab: { + showFlatList: "Показать плоский список", + backToAllTasks: "Вернуться ко всем задачам", + containImagePreview: "Предпросмотр заливающего изображения", + coverImagePreview: "Предпросмотр подходящего изображения", + clearPendingTasks: "Очистить отложенные задачи" + } + }, + menu: { + batchCount: "Количество пакетов", + batchCountTooltip: "Количество раз, когда генерация рабочего процесса должна быть помещена в очередь", + autoQueue: "Автоочередь", + disabled: "Отключено", + disabledTooltip: "Рабочий процесс не будет автоматически помещён в очередь", + instant: "Мгновенно", + instantTooltip: "Рабочий процесс будет помещён в очередь сразу же после завершения генерации", + change: "При изменении", + changeTooltip: "Рабочий процесс будет поставлен в очередь после внесения изменений", + queueWorkflow: "Очередь рабочего процесса", + queueWorkflowFront: "Очередь рабочего процесса (Вставка спереди)", + queue: "Очередь", + interrupt: "Отменить текущее выполнение", + refresh: "Обновить определения узлов", + clipspace: "Открыть Clipspace", + resetView: "Сбросить вид холста", + clear: "Очистить рабочий процесс" + }, + templateWorkflows: { + title: "Начните работу с шаблона", + template: { + default: "Image Generation", + image2image: "Image to Image", + upscale: "2 Pass Upscale", + flux_schnell: "Flux Schnell" + } + }, + graphCanvasMenu: { + zoomIn: "Увеличить", + zoomOut: "Уменьшить", + resetView: "Сбросить вид", + selectMode: "Выбрать режим", + panMode: "Режим панорамирования", + toggleLinkVisibility: "Переключить видимость ссылок" + } + } + // TODO: Add more languages +}; +const i18n = createI18n({ + // Must set `false`, as Vue I18n Legacy API is for Vue 2 + legacy: false, + locale: navigator.language.split("-")[0] || "en", + fallbackLocale: "en", + messages +}); +function showLoadWorkflowWarning(props) { + const dialogStore = useDialogStore(); + dialogStore.showDialog({ + component: LoadWorkflowWarning, + props + }); +} +__name(showLoadWorkflowWarning, "showLoadWorkflowWarning"); +function showMissingModelsWarning(props) { + const dialogStore = useDialogStore(); + dialogStore.showDialog({ + component: MissingModelsWarning, + props + }); +} +__name(showMissingModelsWarning, "showMissingModelsWarning"); +function showSettingsDialog() { + useDialogStore().showDialog({ + headerComponent: SettingDialogHeader, + component: SettingDialogContent + }); +} +__name(showSettingsDialog, "showSettingsDialog"); +function showExecutionErrorDialog(error) { + useDialogStore().showDialog({ + component: ExecutionErrorDialogContent, + props: { + error + } + }); +} +__name(showExecutionErrorDialog, "showExecutionErrorDialog"); +function showTemplateWorkflowsDialog() { + useDialogStore().showDialog({ + title: i18n.global.t("templateWorkflows.title"), + component: TemplateWorkflowsContent + }); +} +__name(showTemplateWorkflowsDialog, "showTemplateWorkflowsDialog"); +async function showPromptDialog({ + title, + message: message2, + defaultValue = "" +}) { + const dialogStore = useDialogStore(); + return new Promise((resolve2) => { + dialogStore.showDialog({ + title, + component: _sfc_main$r, + props: { + message: message2, + defaultValue, + onConfirm: /* @__PURE__ */ __name((value3) => { + resolve2(value3); + }, "onConfirm") + }, + dialogComponentProps: { + onClose: /* @__PURE__ */ __name(() => { + resolve2(null); + }, "onClose") + } + }); + }); +} +__name(showPromptDialog, "showPromptDialog"); +const ComfyDialog = ComfyDialog$1; +function $el(tag, propsOrChildren, children) { + const split = tag.split("."); + const element = document.createElement(split.shift()); + if (split.length > 0) { + element.classList.add(...split); + } + if (propsOrChildren) { + if (typeof propsOrChildren === "string") { + propsOrChildren = { textContent: propsOrChildren }; + } else if (propsOrChildren instanceof Element) { + propsOrChildren = [propsOrChildren]; + } + if (Array.isArray(propsOrChildren)) { + element.append(...propsOrChildren); + } else { + const { + parent, + $: cb, + dataset, + style, + ...rest + } = propsOrChildren; + if (rest.for) { + element.setAttribute("for", rest.for); + } + if (style) { + Object.assign(element.style, style); + } + if (dataset) { + Object.assign(element.dataset, dataset); + } + Object.assign(element, rest); + if (children) { + element.append(...Array.isArray(children) ? children : [children]); + } + if (parent) { + parent.append(element); + } + if (cb) { + cb(element); + } + } + } + return element; +} +__name($el, "$el"); +function dragElement(dragEl, settings) { + var posDiffX = 0, posDiffY = 0, posStartX = 0, posStartY = 0, newPosX = 0, newPosY = 0; + if (dragEl.getElementsByClassName("drag-handle")[0]) { + dragEl.getElementsByClassName("drag-handle")[0].onmousedown = dragMouseDown; + } else { + dragEl.onmousedown = dragMouseDown; + } + const resizeObserver = new ResizeObserver(() => { + ensureInBounds(); + }).observe(dragEl); + function ensureInBounds() { + try { + newPosX = Math.min( + document.body.clientWidth - dragEl.clientWidth, + Math.max(0, dragEl.offsetLeft) + ); + newPosY = Math.min( + document.body.clientHeight - dragEl.clientHeight, + Math.max(0, dragEl.offsetTop) + ); + positionElement(); + } catch (exception) { + } + } + __name(ensureInBounds, "ensureInBounds"); + function positionElement() { + if (dragEl.style.display === "none") return; + const halfWidth = document.body.clientWidth / 2; + const anchorRight = newPosX + dragEl.clientWidth / 2 > halfWidth; + if (anchorRight) { + dragEl.style.left = "unset"; + dragEl.style.right = document.body.clientWidth - newPosX - dragEl.clientWidth + "px"; + } else { + dragEl.style.left = newPosX + "px"; + dragEl.style.right = "unset"; + } + dragEl.style.top = newPosY + "px"; + dragEl.style.bottom = "unset"; + if (savePos) { + localStorage.setItem( + "Comfy.MenuPosition", + JSON.stringify({ + x: dragEl.offsetLeft, + y: dragEl.offsetTop + }) + ); + } + } + __name(positionElement, "positionElement"); + function restorePos() { + let posString = localStorage.getItem("Comfy.MenuPosition"); + if (posString) { + const pos2 = JSON.parse(posString); + newPosX = pos2.x; + newPosY = pos2.y; + positionElement(); + ensureInBounds(); + } + } + __name(restorePos, "restorePos"); + let savePos = void 0; + settings.addSetting({ + id: "Comfy.MenuPosition", + category: ["Comfy", "Menu", "MenuPosition"], + name: "Save legacy menu's position", + type: "boolean", + defaultValue: savePos, + onChange(value3) { + if (savePos === void 0 && value3) { + restorePos(); + } + savePos = value3; + } + }); + function dragMouseDown(e) { + e = e || window.event; + e.preventDefault(); + posStartX = e.clientX; + posStartY = e.clientY; + document.onmouseup = closeDragElement; + document.onmousemove = elementDrag; + } + __name(dragMouseDown, "dragMouseDown"); + function elementDrag(e) { + e = e || window.event; + e.preventDefault(); + dragEl.classList.add("comfy-menu-manual-pos"); + posDiffX = e.clientX - posStartX; + posDiffY = e.clientY - posStartY; + posStartX = e.clientX; + posStartY = e.clientY; + newPosX = Math.min( + document.body.clientWidth - dragEl.clientWidth, + Math.max(0, dragEl.offsetLeft + posDiffX) + ); + newPosY = Math.min( + document.body.clientHeight - dragEl.clientHeight, + Math.max(0, dragEl.offsetTop + posDiffY) + ); + positionElement(); + } + __name(elementDrag, "elementDrag"); + window.addEventListener("resize", () => { + ensureInBounds(); + }); + function closeDragElement() { + document.onmouseup = null; + document.onmousemove = null; + } + __name(closeDragElement, "closeDragElement"); + return restorePos; +} +__name(dragElement, "dragElement"); +class ComfyList { + static { + __name(this, "ComfyList"); + } + #type; + #text; + #reverse; + element; + button; + constructor(text, type, reverse) { + this.#text = text; + this.#type = type || text.toLowerCase(); + this.#reverse = reverse || false; + this.element = $el("div.comfy-list"); + this.element.style.display = "none"; + } + get visible() { + return this.element.style.display !== "none"; + } + async load() { + const items2 = await api.getItems(this.#type); + this.element.replaceChildren( + ...Object.keys(items2).flatMap((section) => [ + $el("h4", { + textContent: section + }), + $el("div.comfy-list-items", [ + ...(this.#reverse ? items2[section].reverse() : items2[section]).map( + (item2) => { + const removeAction = "remove" in item2 ? item2.remove : { + name: "Delete", + cb: /* @__PURE__ */ __name(() => api.deleteItem(this.#type, item2.prompt[1]), "cb") + }; + return $el("div", { textContent: item2.prompt[0] + ": " }, [ + $el("button", { + textContent: "Load", + onclick: /* @__PURE__ */ __name(async () => { + await app$1.loadGraphData( + item2.prompt[3].extra_pnginfo.workflow, + true, + false + ); + if ("outputs" in item2) { + app$1.nodeOutputs = {}; + for (const [key, value3] of Object.entries(item2.outputs)) { + const realKey = item2["meta"]?.[key]?.display_node ?? key; + app$1.nodeOutputs[realKey] = value3; + } + } + }, "onclick") + }), + $el("button", { + textContent: removeAction.name, + onclick: /* @__PURE__ */ __name(async () => { + await removeAction.cb(); + await this.update(); + }, "onclick") + }) + ]); + } + ) + ]) + ]), + $el("div.comfy-list-actions", [ + $el("button", { + textContent: "Clear " + this.#text, + onclick: /* @__PURE__ */ __name(async () => { + await api.clearItems(this.#type); + await this.load(); + }, "onclick") + }), + $el("button", { textContent: "Refresh", onclick: /* @__PURE__ */ __name(() => this.load(), "onclick") }) + ]) + ); + } + async update() { + if (this.visible) { + await this.load(); + } + } + async show() { + this.element.style.display = "block"; + this.button.textContent = "Close"; + await this.load(); + } + hide() { + this.element.style.display = "none"; + this.button.textContent = "View " + this.#text; + } + toggle() { + if (this.visible) { + this.hide(); + return false; + } else { + this.show(); + return true; + } + } +} +class ComfyUI { + static { + __name(this, "ComfyUI"); + } + app; + dialog; + settings; + batchCount; + lastQueueSize; + queue; + history; + autoQueueMode; + graphHasChanged; + autoQueueEnabled; + menuContainer; + queueSize; + restoreMenuPosition; + loadFile; + constructor(app2) { + this.app = app2; + this.dialog = new ComfyDialog(); + this.settings = new ComfySettingsDialog(app2); + this.batchCount = 1; + this.lastQueueSize = 0; + this.queue = new ComfyList("Queue"); + this.history = new ComfyList("History", "history", true); + api.addEventListener("status", () => { + this.queue.update(); + this.history.update(); + }); + this.setup(document.body); + } + setup(containerElement) { + const fileInput2 = $el("input", { + id: "comfy-file-input", + type: "file", + accept: ".json,image/png,.latent,.safetensors,image/webp,audio/flac", + style: { display: "none" }, + parent: document.body, + onchange: /* @__PURE__ */ __name(async () => { + await app$1.handleFile(fileInput2.files[0]); + fileInput2.value = ""; + }, "onchange") + }); + this.loadFile = () => fileInput2.click(); + const autoQueueModeEl = toggleSwitch( + "autoQueueMode", + [ + { + text: "instant", + tooltip: "A new prompt will be queued as soon as the queue reaches 0" + }, + { + text: "change", + tooltip: "A new prompt will be queued when the queue is at 0 and the graph is/has changed" + } + ], + { + onChange: /* @__PURE__ */ __name((value3) => { + this.autoQueueMode = value3.item.value; + }, "onChange") + } + ); + autoQueueModeEl.style.display = "none"; + api.addEventListener("graphChanged", () => { + if (this.autoQueueMode === "change" && this.autoQueueEnabled === true) { + if (this.lastQueueSize === 0) { + this.graphHasChanged = false; + app$1.queuePrompt(0, this.batchCount); + } else { + this.graphHasChanged = true; + } + } + }); + this.menuContainer = $el("div.comfy-menu", { parent: containerElement }, [ + $el( + "div.drag-handle.comfy-menu-header", + { + style: { + overflow: "hidden", + position: "relative", + width: "100%", + cursor: "default" + } + }, + [ + $el("span.drag-handle"), + $el("span.comfy-menu-queue-size", { $: /* @__PURE__ */ __name((q) => this.queueSize = q, "$") }), + $el("div.comfy-menu-actions", [ + $el("button.comfy-settings-btn", { + textContent: "⚙️", + onclick: showSettingsDialog + }), + $el("button.comfy-close-menu-btn", { + textContent: "×", + onclick: /* @__PURE__ */ __name(() => { + useWorkspaceStore().focusMode = true; + }, "onclick") + }) + ]) + ] + ), + $el("button.comfy-queue-btn", { + id: "queue-button", + textContent: "Queue Prompt", + onclick: /* @__PURE__ */ __name(() => app$1.queuePrompt(0, this.batchCount), "onclick") + }), + $el("div", {}, [ + $el("label", { innerHTML: "Extra options" }, [ + $el("input", { + type: "checkbox", + onchange: /* @__PURE__ */ __name((i2) => { + document.getElementById("extraOptions").style.display = i2.srcElement.checked ? "block" : "none"; + this.batchCount = i2.srcElement.checked ? Number.parseInt( + document.getElementById( + "batchCountInputRange" + ).value + ) : 1; + document.getElementById("autoQueueCheckbox").checked = false; + this.autoQueueEnabled = false; + }, "onchange") + }) + ]) + ]), + $el( + "div", + { id: "extraOptions", style: { width: "100%", display: "none" } }, + [ + $el("div", [ + $el("label", { innerHTML: "Batch count" }), + $el("input", { + id: "batchCountInputNumber", + type: "number", + value: this.batchCount, + min: "1", + style: { width: "35%", marginLeft: "0.4em" }, + oninput: /* @__PURE__ */ __name((i2) => { + this.batchCount = i2.target.value; + document.getElementById( + "batchCountInputRange" + ).value = this.batchCount.toString(); + }, "oninput") + }), + $el("input", { + id: "batchCountInputRange", + type: "range", + min: "1", + max: "100", + value: this.batchCount, + oninput: /* @__PURE__ */ __name((i2) => { + this.batchCount = i2.srcElement.value; + document.getElementById( + "batchCountInputNumber" + ).value = i2.srcElement.value; + }, "oninput") + }) + ]), + $el("div", [ + $el("label", { + for: "autoQueueCheckbox", + innerHTML: "Auto Queue" + }), + $el("input", { + id: "autoQueueCheckbox", + type: "checkbox", + checked: false, + title: "Automatically queue prompt when the queue size hits 0", + onchange: /* @__PURE__ */ __name((e) => { + this.autoQueueEnabled = e.target.checked; + autoQueueModeEl.style.display = this.autoQueueEnabled ? "" : "none"; + }, "onchange") + }), + autoQueueModeEl + ]) + ] + ), + $el("div.comfy-menu-btns", [ + $el("button", { + id: "queue-front-button", + textContent: "Queue Front", + onclick: /* @__PURE__ */ __name(() => app$1.queuePrompt(-1, this.batchCount), "onclick") + }), + $el("button", { + $: /* @__PURE__ */ __name((b) => this.queue.button = b, "$"), + id: "comfy-view-queue-button", + textContent: "View Queue", + onclick: /* @__PURE__ */ __name(() => { + this.history.hide(); + this.queue.toggle(); + }, "onclick") + }), + $el("button", { + $: /* @__PURE__ */ __name((b) => this.history.button = b, "$"), + id: "comfy-view-history-button", + textContent: "View History", + onclick: /* @__PURE__ */ __name(() => { + this.queue.hide(); + this.history.toggle(); + }, "onclick") + }) + ]), + this.queue.element, + this.history.element, + $el("button", { + id: "comfy-save-button", + textContent: "Save", + onclick: /* @__PURE__ */ __name(() => { + useCommandStore().execute("Comfy.ExportWorkflow"); + }, "onclick") + }), + $el("button", { + id: "comfy-dev-save-api-button", + textContent: "Save (API Format)", + style: { width: "100%", display: "none" }, + onclick: /* @__PURE__ */ __name(() => { + useCommandStore().execute("Comfy.ExportWorkflowAPI"); + }, "onclick") + }), + $el("button", { + id: "comfy-load-button", + textContent: "Load", + onclick: /* @__PURE__ */ __name(() => fileInput2.click(), "onclick") + }), + $el("button", { + id: "comfy-refresh-button", + textContent: "Refresh", + onclick: /* @__PURE__ */ __name(() => app$1.refreshComboInNodes(), "onclick") + }), + $el("button", { + id: "comfy-clipspace-button", + textContent: "Clipspace", + onclick: /* @__PURE__ */ __name(() => app$1.openClipspace(), "onclick") + }), + $el("button", { + id: "comfy-clear-button", + textContent: "Clear", + onclick: /* @__PURE__ */ __name(() => { + if (!useSettingStore().get("Comfy.ConfirmClear") || confirm("Clear workflow?")) { + app$1.clean(); + app$1.graph.clear(); + app$1.resetView(); + api.dispatchEvent(new CustomEvent("graphCleared")); + } + }, "onclick") + }), + $el("button", { + id: "comfy-load-default-button", + textContent: "Load Default", + onclick: /* @__PURE__ */ __name(async () => { + if (!useSettingStore().get("Comfy.ConfirmClear") || confirm("Load default workflow?")) { + app$1.resetView(); + await app$1.loadGraphData(); + } + }, "onclick") + }), + $el("button", { + id: "comfy-reset-view-button", + textContent: "Reset View", + onclick: /* @__PURE__ */ __name(async () => { + app$1.resetView(); + }, "onclick") + }) + ]); + this.restoreMenuPosition = dragElement(this.menuContainer, this.settings); + this.setStatus({ exec_info: { queue_remaining: "X" } }); + } + setStatus(status) { + this.queueSize.textContent = "Queue size: " + (status ? status.exec_info.queue_remaining : "ERR"); + if (status) { + if (this.lastQueueSize != 0 && status.exec_info.queue_remaining == 0 && this.autoQueueEnabled && (this.autoQueueMode === "instant" || this.graphHasChanged) && !app$1.lastExecutionError) { + app$1.queuePrompt(0, this.batchCount); + status.exec_info.queue_remaining += this.batchCount; + this.graphHasChanged = false; + } + this.lastQueueSize = status.exec_info.queue_remaining; + } + } +} +window.comfyAPI = window.comfyAPI || {}; +window.comfyAPI.ui = window.comfyAPI.ui || {}; +window.comfyAPI.ui.ComfyDialog = ComfyDialog; +window.comfyAPI.ui.$el = $el; +window.comfyAPI.ui.ComfyUI = ComfyUI; +$el("style", { + textContent: ` + .comfy-logging-logs { + display: grid; + color: var(--fg-color); + white-space: pre-wrap; + } + .comfy-logging-log { + display: contents; + } + .comfy-logging-title { + background: var(--tr-even-bg-color); + font-weight: bold; + margin-bottom: 5px; + text-align: center; + } + .comfy-logging-log div { + background: var(--row-bg); + padding: 5px; + } + `, + parent: document.body +}); +function stringify(val, depth, replacer2, space, onGetObjID) { + depth = isNaN(+depth) ? 1 : depth; + var recursMap = /* @__PURE__ */ new WeakMap(); + function _build(val2, depth2, o, a, r) { + return !val2 || typeof val2 != "object" ? val2 : (r = recursMap.has(val2), recursMap.set(val2, true), a = Array.isArray(val2), r ? o = onGetObjID && onGetObjID(val2) || null : JSON.stringify(val2, function(k, v2) { + if (a || depth2 > 0) { + if (replacer2) v2 = replacer2(k, v2); + if (!k) return a = Array.isArray(v2), val2 = v2; + !o && (o = a ? [] : {}); + o[k] = _build(v2, a ? depth2 : depth2 - 1); + } + }), o === void 0 ? a ? [] : {} : o); + } + __name(_build, "_build"); + return JSON.stringify(_build(val, depth), null, space); +} +__name(stringify, "stringify"); +const jsonReplacer = /* @__PURE__ */ __name((k, v2, ui) => { + if (v2 instanceof Array && v2.length === 1) { + v2 = v2[0]; + } + if (v2 instanceof Date) { + v2 = v2.toISOString(); + if (ui) { + v2 = v2.split("T")[1]; + } + } + if (v2 instanceof Error) { + let err = ""; + if (v2.name) err += v2.name + "\n"; + if (v2.message) err += v2.message + "\n"; + if (v2.stack) err += v2.stack + "\n"; + if (!err) { + err = v2.toString(); + } + v2 = err; + } + return v2; +}, "jsonReplacer"); +const fileInput = $el("input", { + type: "file", + accept: ".json", + style: { display: "none" }, + parent: document.body +}); +class ComfyLoggingDialog extends ComfyDialog { + static { + __name(this, "ComfyLoggingDialog"); + } + logging; + constructor(logging) { + super(); + this.logging = logging; + } + clear() { + this.logging.clear(); + this.show(); + } + export() { + const blob = new Blob( + [stringify([...this.logging.entries], 20, jsonReplacer, " ")], + { + type: "application/json" + } + ); + const url = URL.createObjectURL(blob); + const a = $el("a", { + href: url, + download: `comfyui-logs-${Date.now()}.json`, + style: { display: "none" }, + parent: document.body + }); + a.click(); + setTimeout(function() { + a.remove(); + window.URL.revokeObjectURL(url); + }, 0); + } + import() { + fileInput.onchange = () => { + const reader = new FileReader(); + reader.onload = () => { + fileInput.remove(); + try { + const obj = JSON.parse(reader.result); + if (obj instanceof Array) { + this.show(obj); + } else { + throw new Error("Invalid file selected."); + } + } catch (error) { + useToastStore().addAlert("Unable to load logs: " + error.message); + } + }; + reader.readAsText(fileInput.files[0]); + }; + fileInput.click(); + } + createButtons() { + return [ + $el("button", { + type: "button", + textContent: "Clear", + onclick: /* @__PURE__ */ __name(() => this.clear(), "onclick") + }), + $el("button", { + type: "button", + textContent: "Export logs...", + onclick: /* @__PURE__ */ __name(() => this.export(), "onclick") + }), + $el("button", { + type: "button", + textContent: "View exported logs...", + onclick: /* @__PURE__ */ __name(() => this.import(), "onclick") + }), + ...super.createButtons() + ]; + } + getTypeColor(type) { + switch (type) { + case "error": + return "red"; + case "warn": + return "orange"; + case "debug": + return "dodgerblue"; + } + } + show(entries) { + if (!entries) entries = this.logging.entries; + this.element.style.width = "100%"; + const cols = { + source: "Source", + type: "Type", + timestamp: "Timestamp", + message: "Message" + }; + const keys2 = Object.keys(cols); + const headers = Object.values(cols).map( + (title) => $el("div.comfy-logging-title", { + textContent: title + }) + ); + const rows = entries.map((entry, i2) => { + return $el( + "div.comfy-logging-log", + { + $: /* @__PURE__ */ __name((el) => el.style.setProperty( + "--row-bg", + `var(--tr-${i2 % 2 ? "even" : "odd"}-bg-color)` + ), "$") + }, + keys2.map((key) => { + let v2 = entry[key]; + let color; + if (key === "type") { + color = this.getTypeColor(v2); + } else { + v2 = jsonReplacer(key, v2, true); + if (typeof v2 === "object") { + v2 = stringify(v2, 5, jsonReplacer, " "); + } + } + return $el("div", { + style: { + color + }, + textContent: v2 + }); + }) + ); + }); + const grid = $el( + "div.comfy-logging-logs", + { + style: { + gridTemplateColumns: `repeat(${headers.length}, 1fr)` + } + }, + [...headers, ...rows] + ); + const els2 = [grid]; + if (!this.logging.enabled) { + els2.unshift( + $el("h3", { + style: { textAlign: "center" }, + textContent: "Logging is disabled" + }) + ); + } + super.show($el("div", els2)); + } +} +class ComfyLogging { + static { + __name(this, "ComfyLogging"); + } + /** + * @type Array<{ source: string, type: string, timestamp: Date, message: any }> + */ + entries = []; + #enabled; + #console = {}; + app; + dialog; + get enabled() { + return this.#enabled; + } + set enabled(value3) { + if (value3 === this.#enabled) return; + if (value3) { + this.patchConsole(); + } else { + this.unpatchConsole(); + } + this.#enabled = value3; + } + constructor(app2) { + this.app = app2; + this.dialog = new ComfyLoggingDialog(this); + this.addSetting(); + this.catchUnhandled(); + this.addInitData(); + } + addSetting() { + const settingId = "Comfy.Logging.Enabled"; + const htmlSettingId = settingId.replaceAll(".", "-"); + const setting = this.app.ui.settings.addSetting({ + id: settingId, + name: "Enable logging", + defaultValue: true, + onChange: /* @__PURE__ */ __name((value3) => { + this.enabled = value3; + }, "onChange"), + type: /* @__PURE__ */ __name((name, setter, value3) => { + return $el("tr", [ + $el("td", [ + $el("label", { + textContent: "Logging", + for: htmlSettingId + }) + ]), + $el("td", [ + $el("input", { + id: htmlSettingId, + type: "checkbox", + checked: value3, + onchange: /* @__PURE__ */ __name((event2) => { + setter(event2.target.checked); + }, "onchange") + }), + $el("button", { + textContent: "View Logs", + onclick: /* @__PURE__ */ __name(() => { + this.app.ui.settings.element.close(); + this.dialog.show(); + }, "onclick"), + style: { + fontSize: "14px", + display: "block", + marginTop: "5px" + } + }) + ]) + ]); + }, "type") + }); + this.enabled = setting.value; + } + patchConsole() { + const self2 = this; + for (const type of ["log", "warn", "error", "debug"]) { + const orig = console[type]; + this.#console[type] = orig; + console[type] = function() { + orig.apply(console, arguments); + self2.addEntry("console", type, ...arguments); + }; + } + } + unpatchConsole() { + for (const type of Object.keys(this.#console)) { + console[type] = this.#console[type]; + } + this.#console = {}; + } + catchUnhandled() { + window.addEventListener("error", (e) => { + this.addEntry("window", "error", e.error ?? "Unknown error"); + return false; + }); + window.addEventListener("unhandledrejection", (e) => { + this.addEntry("unhandledrejection", "error", e.reason ?? "Unknown error"); + }); + } + clear() { + this.entries = []; + } + addEntry(source, type, ...args) { + if (this.enabled) { + this.entries.push({ + source, + type, + timestamp: /* @__PURE__ */ new Date(), + message: args + }); + } + } + log(source, ...args) { + this.addEntry(source, "log", ...args); + } + async addInitData() { + if (!this.enabled) return; + const source = "ComfyUI.Logging"; + this.addEntry(source, "debug", { UserAgent: navigator.userAgent }); + } +} +window.comfyAPI = window.comfyAPI || {}; +window.comfyAPI.logging = window.comfyAPI.logging || {}; +window.comfyAPI.logging.ComfyLogging = ComfyLogging; const SIZE = Symbol(); function intersect(a, b) { const x2 = Math.max(a.x, b.x); @@ -75158,11 +74676,9 @@ function rgbToHsl({ r, g, b }) { g /= 255; b /= 255; const max = Math.max(r, g, b), min = Math.min(r, g, b); - let h2, s; + let h2 = 0, s = 0; const l = (max + min) / 2; - if (max === min) { - h2 = s = 0; - } else { + if (max !== min) { const d = max - min; s = l > 0.5 ? d / (2 - max - min) : d / (max + min); switch (max) { @@ -75731,26 +75247,163 @@ class ComfyAppMenu { window.comfyAPI = window.comfyAPI || {}; window.comfyAPI.index = window.comfyAPI.index || {}; window.comfyAPI.index.ComfyAppMenu = ComfyAppMenu; +const useExecutionStore = /* @__PURE__ */ defineStore("execution", () => { + const activePromptId = ref(null); + const queuedPrompts = ref({}); + const executingNodeId = ref(null); + const executingNode = computed(() => { + if (!executingNodeId.value) return null; + const workflow = activePrompt.value?.workflow; + if (!workflow) return null; + const canvasState = workflow.changeTracker?.activeState ?? null; + if (!canvasState) return null; + return canvasState.nodes.find( + (n) => String(n.id) === executingNodeId.value + ) ?? null; + }); + const _executingNodeProgress = ref(null); + const executingNodeProgress = computed( + () => _executingNodeProgress.value ? Math.round( + _executingNodeProgress.value.value / _executingNodeProgress.value.max * 100 + ) : null + ); + const activePrompt = computed( + () => queuedPrompts.value[activePromptId.value ?? ""] + ); + const totalNodesToExecute = computed(() => { + if (!activePrompt.value) return 0; + return Object.values(activePrompt.value.nodes).length; + }); + const isIdle = computed(() => !activePromptId.value); + const nodesExecuted = computed(() => { + if (!activePrompt.value) return 0; + return Object.values(activePrompt.value.nodes).filter(Boolean).length; + }); + const executionProgress = computed(() => { + if (!activePrompt.value) return 0; + const total = totalNodesToExecute.value; + const done = nodesExecuted.value; + return Math.round(done / total * 100); + }); + function bindExecutionEvents() { + api.addEventListener( + "execution_start", + handleExecutionStart + ); + api.addEventListener( + "execution_cached", + handleExecutionCached + ); + api.addEventListener("executed", handleExecuted); + api.addEventListener("executing", handleExecuting); + api.addEventListener("progress", handleProgress); + } + __name(bindExecutionEvents, "bindExecutionEvents"); + function unbindExecutionEvents() { + api.removeEventListener( + "execution_start", + handleExecutionStart + ); + api.removeEventListener( + "execution_cached", + handleExecutionCached + ); + api.removeEventListener("executed", handleExecuted); + api.removeEventListener("executing", handleExecuting); + api.removeEventListener("progress", handleProgress); + } + __name(unbindExecutionEvents, "unbindExecutionEvents"); + function handleExecutionStart(e) { + activePromptId.value = e.detail.prompt_id; + queuedPrompts.value[activePromptId.value] ??= { nodes: {} }; + } + __name(handleExecutionStart, "handleExecutionStart"); + function handleExecutionCached(e) { + if (!activePrompt.value) return; + for (const n of e.detail.nodes) { + activePrompt.value.nodes[n] = true; + } + } + __name(handleExecutionCached, "handleExecutionCached"); + function handleExecuted(e) { + if (!activePrompt.value) return; + activePrompt.value.nodes[e.detail.node] = true; + } + __name(handleExecuted, "handleExecuted"); + function handleExecuting(e) { + _executingNodeProgress.value = null; + if (!activePrompt.value) return; + if (executingNodeId.value && activePrompt.value) { + activePrompt.value.nodes[executingNodeId.value] = true; + } + executingNodeId.value = e.detail ? String(e.detail) : null; + if (!executingNodeId.value) { + if (activePromptId.value) { + delete queuedPrompts.value[activePromptId.value]; + } + activePromptId.value = null; + } + } + __name(handleExecuting, "handleExecuting"); + function handleProgress(e) { + _executingNodeProgress.value = e.detail; + } + __name(handleProgress, "handleProgress"); + function storePrompt({ + nodes, + id: id3, + workflow + }) { + queuedPrompts.value[id3] ??= { nodes: {} }; + const queuedPrompt = queuedPrompts.value[id3]; + queuedPrompt.nodes = { + ...nodes.reduce((p2, n) => { + p2[n] = false; + return p2; + }, {}), + ...queuedPrompt.nodes + }; + queuedPrompt.workflow = workflow; + console.debug( + `queued task ${id3} with ${Object.values(queuedPrompt.nodes).length} nodes` + ); + } + __name(storePrompt, "storePrompt"); + return { + isIdle, + activePromptId, + queuedPrompts, + executingNodeId, + activePrompt, + totalNodesToExecute, + nodesExecuted, + executionProgress, + executingNode, + executingNodeProgress, + bindExecutionEvents, + unbindExecutionEvents, + storePrompt + }; +}); class ChangeTracker { static { __name(this, "ChangeTracker"); } + constructor(workflow) { + this.workflow = workflow; + } static MAX_HISTORY = 50; #app; undoQueue = []; redoQueue = []; activeState = null; isOurLoad = false; - workflow; changeCount = 0; ds; nodeOutputs; get app() { return this.#app ?? this.workflow.manager.app; } - constructor(workflow) { - this.workflow = workflow; - } #setApp(app2) { this.#app = app2; } @@ -75830,8 +75483,8 @@ class ChangeTracker { const changeTracker = /* @__PURE__ */ __name(() => app2.workflowManager.activeWorkflow?.changeTracker ?? globalTracker, "changeTracker"); globalTracker.#setApp(app2); const loadGraphData = app2.loadGraphData; - app2.loadGraphData = async function() { - const v2 = await loadGraphData.apply(this, arguments); + app2.loadGraphData = async function(...args) { + const v2 = await loadGraphData.apply(this, args); const ct = changeTracker(); if (ct.isOurLoad) { ct.isOurLoad = false; @@ -75847,9 +75500,9 @@ class ChangeTracker { if (e.repeat) return; const activeEl = document.activeElement; requestAnimationFrame(async () => { - let bindInputEl; + let bindInputEl = null; if (!app2.ui.autoQueueEnabled || app2.ui.autoQueueMode === "instant") { - if (activeEl?.tagName === "INPUT" || activeEl?.["type"] === "textarea") { + if (activeEl?.tagName === "INPUT" || activeEl && "type" in activeEl && activeEl.type === "textarea") { return; } bindInputEl = activeEl; @@ -75880,13 +75533,13 @@ class ChangeTracker { }); const processMouseUp = LGraphCanvas.prototype.processMouseUp; LGraphCanvas.prototype.processMouseUp = function(e) { - const v2 = processMouseUp.apply(this, arguments); + const v2 = processMouseUp.apply(this, [e]); changeTracker().checkState(); return v2; }; const processMouseDown = LGraphCanvas.prototype.processMouseDown; LGraphCanvas.prototype.processMouseDown = function(e) { - const v2 = processMouseDown.apply(this, arguments); + const v2 = processMouseDown.apply(this, [e]); changeTracker().checkState(); return v2; }; @@ -75900,13 +75553,13 @@ class ChangeTracker { }; const close3 = LiteGraph.ContextMenu.prototype.close; LiteGraph.ContextMenu.prototype.close = function(e) { - const v2 = close3.apply(this, arguments); + const v2 = close3.apply(this, [e]); changeTracker().checkState(); return v2; }; const onNodeAdded = LiteGraph.LGraph.prototype.onNodeAdded; - LiteGraph.LGraph.prototype.onNodeAdded = function() { - const v2 = onNodeAdded?.apply(this, arguments); + LiteGraph.LGraph.prototype.onNodeAdded = function(node3) { + const v2 = onNodeAdded?.apply(this, [node3]); if (!app2?.configuringGraph) { const ct = changeTracker(); if (!ct.isOurLoad) { @@ -75916,16 +75569,20 @@ class ChangeTracker { return v2; }; document.addEventListener("litegraph:canvas", (e) => { - if (e.detail.subType === "before-change") { + const detail = e.detail; + if (detail.subType === "before-change") { changeTracker().beforeChange(); - } else if (e.detail.subType === "after-change") { + } else if (detail.subType === "after-change") { changeTracker().afterChange(); } }); - api.addEventListener("executed", ({ detail }) => { - const prompt2 = app2.workflowManager.executionStore.queuedPrompts[detail.prompt_id]; - if (!prompt2?.workflow) return; - const nodeOutputs = prompt2.workflow.changeTracker.nodeOutputs ??= {}; + api.addEventListener("executed", (e) => { + const detail = e.detail; + const workflow = useExecutionStore().queuedPrompts[detail.prompt_id]?.workflow; + const changeTracker2 = workflow?.changeTracker; + if (!changeTracker2) return; + changeTracker2.nodeOutputs ??= {}; + const nodeOutputs = changeTracker2.nodeOutputs; const output = nodeOutputs[detail.node]; if (detail.merge && output) { for (const k in detail.output ?? {}) { @@ -75942,18 +75599,21 @@ class ChangeTracker { }); } static bindInput(app2, activeEl) { - if (activeEl && activeEl.tagName !== "CANVAS" && activeEl.tagName !== "BODY") { - for (const evt of ["change", "input", "blur"]) { - if (`on${evt}` in activeEl) { - const listener = /* @__PURE__ */ __name(() => { - app2.workflowManager.activeWorkflow.changeTracker.checkState(); - activeEl.removeEventListener(evt, listener); - }, "listener"); - activeEl.addEventListener(evt, listener); - return true; - } + if (!activeEl || activeEl.tagName === "CANVAS" || activeEl.tagName === "BODY") { + return false; + } + for (const evt of ["change", "input", "blur"]) { + const htmlElement = activeEl; + if (`on${evt}` in htmlElement) { + const listener = /* @__PURE__ */ __name(() => { + app2.workflowManager.activeWorkflow?.changeTracker?.checkState(); + htmlElement.removeEventListener(evt, listener); + }, "listener"); + htmlElement.addEventListener(evt, listener); + return true; } } + return false; } static graphEqual(a, b, path = "") { if (a === b) return true; @@ -76350,8 +76010,8 @@ class ComfyWorkflow { if (!path) return; } path = appendJsonExt(path); - const p2 = await this.manager.app.graphToPrompt(); - const json = JSON.stringify(p2.workflow, null, 2); + const workflow = this.manager.app.serializeGraph(); + const json = JSON.stringify(workflow, null, 2); let resp = await api.storeUserData("workflows/" + path, json, { stringify: false, throwOnError: false, @@ -76384,8 +76044,8 @@ class ComfyWorkflow { setStorageValue("Comfy.PreviousWorkflow", this.path ?? ""); } else if (path !== this.path) { await this.manager.loadWorkflows(); - const workflow = this.manager.workflowLookup[path]; - await workflow.load(); + const workflow2 = this.manager.workflowLookup[path]; + await workflow2.load(); } else { this.unsaved = false; this.manager.dispatchEvent(new CustomEvent("save", { detail: this })); @@ -77994,12 +77654,11 @@ class ComfyInputsSpec { optional; hidden; constructor(obj) { - this.required = ComfyInputsSpec.transformInputSpecRecord(obj.required) ?? {}; - this.optional = ComfyInputsSpec.transformInputSpecRecord(obj.optional) ?? {}; + this.required = ComfyInputsSpec.transformInputSpecRecord(obj.required ?? {}); + this.optional = ComfyInputsSpec.transformInputSpecRecord(obj.optional ?? {}); this.hidden = obj.hidden; } static transformInputSpecRecord(record) { - if (!record) return record; const result = {}; for (const [key, value3] of Object.entries(record)) { result[key] = ComfyInputsSpec.transformSingleInputSpec(key, value3); @@ -78114,6 +77773,14 @@ class ComfyNodeDefImpl { const nodeFrequency = nodeFrequencyStore.getNodeFrequencyByName(this.name); return [scores[0], -nodeFrequency, ...scores.slice(1)]; } + get isCoreNode() { + return this.nodeSource.type === NodeSourceType.Core; + } + get nodeLifeCycleBadgeText() { + if (this.deprecated) return "[DEPR]"; + if (this.experimental) return "[BETA]"; + return ""; + } } const SYSTEM_NODE_DEFS = { PrimitiveNode: { @@ -78124,6 +77791,7 @@ const SYSTEM_NODE_DEFS = { output: ["*"], output_name: ["connect to widget input"], output_is_list: [false], + output_node: false, python_module: "nodes", description: "Primitive values like numbers, strings, and booleans." }, @@ -78135,6 +77803,7 @@ const SYSTEM_NODE_DEFS = { output: ["*"], output_name: [""], output_is_list: [false], + output_node: false, python_module: "nodes", description: "Reroute the connection to another node." }, @@ -78146,6 +77815,7 @@ const SYSTEM_NODE_DEFS = { output: [], output_name: [], output_is_list: [], + output_node: false, python_module: "nodes", description: "Node that add notes to your project" } @@ -78167,70 +77837,85 @@ function createDummyFolderNodeDef(folderPath) { input: {}, output: [], output_name: [], - output_is_list: [] + output_is_list: [], + output_node: false }); } __name(createDummyFolderNodeDef, "createDummyFolderNodeDef"); -const useNodeDefStore = /* @__PURE__ */ defineStore("nodeDef", { - state: /* @__PURE__ */ __name(() => ({ - nodeDefsByName: {}, - nodeDefsByDisplayName: {}, - widgets: {}, - showDeprecated: false, - showExperimental: false - }), "state"), - getters: { - nodeDefs(state) { - return Object.values(state.nodeDefsByName); - }, - // Node defs that are not deprecated - visibleNodeDefs(state) { - return this.nodeDefs.filter( - (nodeDef) => (state.showDeprecated || !nodeDef.deprecated) && (state.showExperimental || !nodeDef.experimental) - ); - }, - nodeSearchService() { - return new NodeSearchService(this.visibleNodeDefs); - }, - nodeTree() { - return buildNodeDefTree(this.visibleNodeDefs); - } - }, - actions: { - updateNodeDefs(nodeDefs) { - const newNodeDefsByName = {}; - const nodeDefsByDisplayName = {}; - for (const nodeDef of nodeDefs) { +const useNodeDefStore = /* @__PURE__ */ defineStore("nodeDef", () => { + const nodeDefsByName = ref({}); + const nodeDefsByDisplayName = ref({}); + const widgets = ref({}); + const showDeprecated = ref(false); + const showExperimental = ref(false); + const nodeDefs = computed(() => Object.values(nodeDefsByName.value)); + const visibleNodeDefs = computed( + () => nodeDefs.value.filter( + (nodeDef) => (showDeprecated.value || !nodeDef.deprecated) && (showExperimental.value || !nodeDef.experimental) + ) + ); + const nodeSearchService = computed( + () => new NodeSearchService(visibleNodeDefs.value) + ); + const nodeTree = computed(() => buildNodeDefTree(visibleNodeDefs.value)); + function updateNodeDefs(nodeDefs2) { + const newNodeDefsByName = {}; + const newNodeDefsByDisplayName = {}; + for (const nodeDef of nodeDefs2) { + try { const nodeDefImpl = new ComfyNodeDefImpl(nodeDef); newNodeDefsByName[nodeDef.name] = nodeDefImpl; - nodeDefsByDisplayName[nodeDef.display_name] = nodeDefImpl; + newNodeDefsByDisplayName[nodeDef.display_name] = nodeDefImpl; + } catch (e) { + console.error("Error adding nodeDef:", e); } - this.nodeDefsByName = newNodeDefsByName; - this.nodeDefsByDisplayName = nodeDefsByDisplayName; - }, - addNodeDef(nodeDef) { - const nodeDefImpl = new ComfyNodeDefImpl(nodeDef); - this.nodeDefsByName[nodeDef.name] = nodeDefImpl; - this.nodeDefsByDisplayName[nodeDef.display_name] = nodeDefImpl; - }, - updateWidgets(widgets) { - this.widgets = widgets; - }, - getWidgetType(type, inputName) { - if (type === "COMBO") { - return "COMBO"; - } else if (`${type}:${inputName}` in this.widgets) { - return `${type}:${inputName}`; - } else if (type in this.widgets) { - return type; - } else { - return null; - } - }, - inputIsWidget(spec) { - return this.getWidgetType(spec.type, spec.name) !== null; + } + nodeDefsByName.value = newNodeDefsByName; + nodeDefsByDisplayName.value = newNodeDefsByDisplayName; + } + __name(updateNodeDefs, "updateNodeDefs"); + function addNodeDef(nodeDef) { + const nodeDefImpl = new ComfyNodeDefImpl(nodeDef); + nodeDefsByName.value[nodeDef.name] = nodeDefImpl; + nodeDefsByDisplayName.value[nodeDef.display_name] = nodeDefImpl; + } + __name(addNodeDef, "addNodeDef"); + function getWidgetType(type, inputName) { + if (type === "COMBO") { + return "COMBO"; + } else if (`${type}:${inputName}` in widgets.value) { + return `${type}:${inputName}`; + } else if (type in widgets.value) { + return type; + } else { + return null; } } + __name(getWidgetType, "getWidgetType"); + function inputIsWidget(spec) { + return getWidgetType(spec.type, spec.name) !== null; + } + __name(inputIsWidget, "inputIsWidget"); + function fromLGraphNode(node3) { + return nodeDefsByName.value[node3.constructor?.nodeData?.name] ?? null; + } + __name(fromLGraphNode, "fromLGraphNode"); + return { + nodeDefsByName, + nodeDefsByDisplayName, + widgets, + showDeprecated, + showExperimental, + nodeDefs, + visibleNodeDefs, + nodeSearchService, + nodeTree, + updateNodeDefs, + addNodeDef, + getWidgetType, + inputIsWidget, + fromLGraphNode + }; }); const useNodeFrequencyStore = /* @__PURE__ */ defineStore("nodeFrequency", () => { const topNodeDefLimit = ref(64); @@ -78319,8 +78004,6 @@ class ComfyModelDef { has_loaded_metadata = false; /** If true, a metadata load request has been triggered, but may or may not yet have finished loading */ is_load_requested = false; - /** If true, this is a fake model object used as a placeholder for something (eg a loading icon) */ - is_fake_object = false; /** A string full of auto-computed lowercase-only searchable text for this model */ searchable = ""; constructor(name, directory) { @@ -78392,177 +78075,75 @@ class ComfyModelDef { } } } -class ModelStore { +var ResourceState = /* @__PURE__ */ ((ResourceState2) => { + ResourceState2[ResourceState2["Uninitialized"] = 0] = "Uninitialized"; + ResourceState2[ResourceState2["Loading"] = 1] = "Loading"; + ResourceState2[ResourceState2["Loaded"] = 2] = "Loaded"; + return ResourceState2; +})(ResourceState || {}); +class ModelFolder { static { - __name(this, "ModelStore"); + __name(this, "ModelFolder"); } + constructor(directory) { + this.directory = directory; + } + /** Models in this folder */ models = {}; - constructor(directory, models) { - for (const model of models) { - this.models[model] = new ComfyModelDef(model, directory); - } + state = 0; + get key() { + return this.directory + "/"; } - async loadModelMetadata(modelName) { - if (this.models[modelName]) { - await this.models[modelName].load(); + /** + * Loads the models in this folder from the server + */ + async load() { + if (this.state !== 0) { + return this; } + this.state = 1; + const models = await api.getModels(this.directory); + for (const model of models) { + this.models[model] = new ComfyModelDef(model, this.directory); + } + this.state = 2; + return this; } } -const folderBlacklist = ["configs", "custom_nodes"]; -const useModelStore = /* @__PURE__ */ defineStore("modelStore", { - state: /* @__PURE__ */ __name(() => ({ - modelStoreMap: {}, - isLoading: {}, - modelFolders: [] - }), "state"), - actions: { - async getModelsInFolderCached(folder) { - if (folder in this.modelStoreMap) { - return this.modelStoreMap[folder]; - } - if (this.isLoading[folder]) { - return this.isLoading[folder]; - } - const promise = api.getModels(folder).then((models) => { - if (!models) { - return null; - } - const store = new ModelStore(folder, models); - this.modelStoreMap[folder] = store; - this.isLoading[folder] = null; - return store; - }); - this.isLoading[folder] = promise; - return promise; - }, - clearCache() { - this.modelStoreMap = {}; - }, - async getModelFolders() { - this.modelFolders = (await api.getModelFolders()).filter( - (folder) => !folderBlacklist.includes(folder) - ); - } - } -}); -const useExecutionStore = /* @__PURE__ */ defineStore("execution", () => { - const activePromptId = ref(null); - const queuedPrompts = ref({}); - const executingNodeId = ref(null); - const executingNode = computed(() => { - if (!executingNodeId.value) return null; - const workflow = activePrompt.value?.workflow; - if (!workflow) return null; - const canvasState = workflow.changeTracker?.activeState; - if (!canvasState) return null; - return canvasState.nodes.find((n) => String(n.id) === executingNodeId.value) ?? null; - }); - const _executingNodeProgress = ref(null); - const executingNodeProgress = computed( - () => _executingNodeProgress.value ? Math.round( - _executingNodeProgress.value.value / _executingNodeProgress.value.max * 100 - ) : null +const useModelStore = /* @__PURE__ */ defineStore("models", () => { + const modelFolderNames = ref([]); + const modelFolderByName = ref({}); + const modelFolders = computed( + () => modelFolderNames.value.map( + (folderName) => modelFolderByName.value[folderName] + ) ); - const activePrompt = computed(() => queuedPrompts.value[activePromptId.value]); - const totalNodesToExecute = computed(() => { - if (!activePrompt.value) return 0; - return Object.values(activePrompt.value.nodes).length; - }); - const isIdle = computed(() => !activePromptId.value); - const nodesExecuted = computed(() => { - if (!activePrompt.value) return 0; - return Object.values(activePrompt.value.nodes).filter(Boolean).length; - }); - const executionProgress = computed(() => { - if (!activePrompt.value) return 0; - const total = totalNodesToExecute.value; - const done = nodesExecuted.value; - return Math.round(done / total * 100); - }); - function bindExecutionEvents() { - api.addEventListener("execution_start", handleExecutionStart); - api.addEventListener("execution_cached", handleExecutionCached); - api.addEventListener("executed", handleExecuted); - api.addEventListener("executing", handleExecuting); - api.addEventListener("progress", handleProgress); - } - __name(bindExecutionEvents, "bindExecutionEvents"); - function unbindExecutionEvents() { - api.removeEventListener("execution_start", handleExecutionStart); - api.removeEventListener("execution_cached", handleExecutionCached); - api.removeEventListener("executed", handleExecuted); - api.removeEventListener("executing", handleExecuting); - api.removeEventListener("progress", handleProgress); - } - __name(unbindExecutionEvents, "unbindExecutionEvents"); - function handleExecutionStart(e) { - activePromptId.value = e.detail.prompt_id; - queuedPrompts.value[activePromptId.value] ??= { nodes: {} }; - } - __name(handleExecutionStart, "handleExecutionStart"); - function handleExecutionCached(e) { - if (!activePrompt.value) return; - for (const n of e.detail.nodes) { - activePrompt.value.nodes[n] = true; + const models = computed( + () => modelFolders.value.flatMap((folder) => Object.values(folder.models)) + ); + async function loadModelFolders() { + modelFolderNames.value = await api.getModelFolders(); + modelFolderByName.value = {}; + for (const folderName of modelFolderNames.value) { + modelFolderByName.value[folderName] = new ModelFolder(folderName); } } - __name(handleExecutionCached, "handleExecutionCached"); - function handleExecuted(e) { - if (!activePrompt.value) return; - activePrompt.value.nodes[e.detail.node] = true; + __name(loadModelFolders, "loadModelFolders"); + async function getLoadedModelFolder(folderName) { + const folder = modelFolderByName.value[folderName]; + return folder ? await folder.load() : null; } - __name(handleExecuted, "handleExecuted"); - function handleExecuting(e) { - _executingNodeProgress.value = null; - if (!activePrompt.value) return; - if (executingNodeId.value) { - activePrompt.value.nodes[executingNodeId.value] = true; - } - executingNodeId.value = e.detail ? String(e.detail) : null; - if (!executingNodeId.value) { - delete queuedPrompts.value[activePromptId.value]; - activePromptId.value = null; - } + __name(getLoadedModelFolder, "getLoadedModelFolder"); + async function loadModels() { + return Promise.all(modelFolders.value.map((folder) => folder.load())); } - __name(handleExecuting, "handleExecuting"); - function handleProgress(e) { - _executingNodeProgress.value = e.detail; - } - __name(handleProgress, "handleProgress"); - function storePrompt({ - nodes, - id: id3, - workflow - }) { - queuedPrompts.value[id3] ??= { nodes: {} }; - const queuedPrompt = queuedPrompts.value[id3]; - queuedPrompt.nodes = { - ...nodes.reduce((p2, n) => { - p2[n] = false; - return p2; - }, {}), - ...queuedPrompt.nodes - }; - queuedPrompt.workflow = workflow; - console.debug( - `queued task ${id3} with ${Object.values(queuedPrompt.nodes).length} nodes` - ); - } - __name(storePrompt, "storePrompt"); + __name(loadModels, "loadModels"); return { - isIdle, - activePromptId, - queuedPrompts, - executingNodeId, - activePrompt, - totalNodesToExecute, - nodesExecuted, - executionProgress, - executingNode, - executingNodeProgress, - bindExecutionEvents, - unbindExecutionEvents, - storePrompt + models, + modelFolders, + loadModelFolders, + loadModels, + getLoadedModelFolder }; }); const CORE_KEYBINDINGS = [ @@ -78725,6 +78306,19 @@ const CORE_KEYBINDINGS = [ }, commandId: "Comfy.Canvas.ToggleSelectedNodes.Mute", targetSelector: "#graph-canvas" + }, + { + combo: { + key: "`", + ctrl: true + }, + commandId: "Workspace.ToggleBottomPanelTab.integrated-terminal" + }, + { + combo: { + key: "f" + }, + commandId: "Workspace.ToggleFocusMode" } ]; class KeybindingImpl { @@ -79088,6 +78682,127 @@ const useMenuItemStore = /* @__PURE__ */ defineStore("menuItem", () => { loadExtensionMenuCommands }; }); +const _hoisted_1$s = { class: "p-terminal rounded-none h-full w-full" }; +const _hoisted_2$j = { class: "px-4 whitespace-pre-wrap" }; +const _sfc_main$q = /* @__PURE__ */ defineComponent({ + __name: "IntegratedTerminal", + setup(__props) { + const log = ref(""); + const scrollPanelRef = ref(null); + const scrolledToBottom = ref(false); + let intervalId = 0; + onMounted(async () => { + const element = scrollPanelRef.value?.$el; + const scrollContainer = element?.querySelector(".p-scrollpanel-content"); + if (scrollContainer) { + scrollContainer.addEventListener("scroll", () => { + scrolledToBottom.value = scrollContainer.scrollTop + scrollContainer.clientHeight === scrollContainer.scrollHeight; + }); + } + const scrollToBottom = /* @__PURE__ */ __name(() => { + if (scrollContainer) { + scrollContainer.scrollTop = scrollContainer.scrollHeight; + } + }, "scrollToBottom"); + watch(log, () => { + if (scrolledToBottom.value) { + scrollToBottom(); + } + }); + const fetchLogs = /* @__PURE__ */ __name(async () => { + log.value = await api.getLogs(); + }, "fetchLogs"); + await fetchLogs(); + scrollToBottom(); + intervalId = window.setInterval(fetchLogs, 500); + }); + onBeforeUnmount(() => { + window.clearInterval(intervalId); + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$s, [ + createVNode(unref(script$C), { + class: "h-full w-full", + ref_key: "scrollPanelRef", + ref: scrollPanelRef + }, { + default: withCtx(() => [ + createBaseVNode("pre", _hoisted_2$j, toDisplayString$1(log.value), 1) + ]), + _: 1 + }, 512) + ]); + }; + } +}); +const useIntegratedTerminalTab = /* @__PURE__ */ __name(() => { + const { t } = useI18n(); + return { + id: "integrated-terminal", + title: t("terminal"), + component: markRaw(_sfc_main$q), + type: "vue" + }; +}, "useIntegratedTerminalTab"); +const useBottomPanelStore = /* @__PURE__ */ defineStore("bottomPanel", () => { + const bottomPanelVisible = ref(false); + const toggleBottomPanel = /* @__PURE__ */ __name(() => { + if (bottomPanelTabs.value.length === 0) { + return; + } + bottomPanelVisible.value = !bottomPanelVisible.value; + }, "toggleBottomPanel"); + const bottomPanelTabs = ref([]); + const activeBottomPanelTabId = ref(null); + const activeBottomPanelTab = computed(() => { + return bottomPanelTabs.value.find( + (tab) => tab.id === activeBottomPanelTabId.value + ) ?? null; + }); + const setActiveTab = /* @__PURE__ */ __name((tabId) => { + activeBottomPanelTabId.value = tabId; + }, "setActiveTab"); + const toggleBottomPanelTab = /* @__PURE__ */ __name((tabId) => { + if (activeBottomPanelTabId.value === tabId && bottomPanelVisible.value) { + bottomPanelVisible.value = false; + } else { + activeBottomPanelTabId.value = tabId; + bottomPanelVisible.value = true; + } + }, "toggleBottomPanelTab"); + const registerBottomPanelTab = /* @__PURE__ */ __name((tab) => { + bottomPanelTabs.value = [...bottomPanelTabs.value, tab]; + if (bottomPanelTabs.value.length === 1) { + activeBottomPanelTabId.value = tab.id; + } + useCommandStore().registerCommand({ + id: `Workspace.ToggleBottomPanelTab.${tab.id}`, + icon: "pi pi-list", + label: tab.title, + function: /* @__PURE__ */ __name(() => toggleBottomPanelTab(tab.id), "function") + }); + }, "registerBottomPanelTab"); + const registerCoreBottomPanelTabs = /* @__PURE__ */ __name(() => { + registerBottomPanelTab(useIntegratedTerminalTab()); + }, "registerCoreBottomPanelTabs"); + const registerExtensionBottomPanelTabs = /* @__PURE__ */ __name((extension) => { + if (extension.bottomPanelTabs) { + extension.bottomPanelTabs.forEach(registerBottomPanelTab); + } + }, "registerExtensionBottomPanelTabs"); + return { + bottomPanelVisible, + toggleBottomPanel, + bottomPanelTabs, + activeBottomPanelTab, + activeBottomPanelTabId, + setActiveTab, + toggleBottomPanelTab, + registerBottomPanelTab, + registerCoreBottomPanelTabs, + registerExtensionBottomPanelTabs + }; +}); const useExtensionStore = /* @__PURE__ */ defineStore("extension", () => { const extensionByName = ref({}); const extensions = computed(() => Object.values(extensionByName.value)); @@ -79115,6 +78830,8 @@ const useExtensionStore = /* @__PURE__ */ defineStore("extension", () => { useKeybindingStore().loadExtensionKeybindings(extension); useCommandStore().loadExtensionCommands(extension); useMenuItemStore().loadExtensionMenuCommands(extension); + useSettingStore().loadExtensionSettings(extension); + useBottomPanelStore().registerExtensionBottomPanelTabs(extension); app$1.extensions.push(extension); } __name(registerExtension, "registerExtension"); @@ -79214,6 +78931,9 @@ class ComfyApp { canvasContainer; menu; bypassBgColor; + // Set by Comfy.Clipspace extension + openClipspace = /* @__PURE__ */ __name(() => { + }, "openClipspace"); /** * @deprecated Use useExecutionStore().executingNodeId instead */ @@ -80021,7 +79741,7 @@ class ComfyApp { } } data21 = data21.getData("text/plain"); - let workflow; + let workflow = null; try { data21 = data21.slice(data21.indexOf("{")); workflow = JSON.parse(data21); @@ -80031,7 +79751,7 @@ class ComfyApp { data21 = data21.slice(data21.indexOf("{")); workflow = JSON.parse(data21); } catch (error) { - console.error(error); + workflow = null; } } if (workflow && workflow.version && workflow.nodes && workflow.extra) { @@ -80201,7 +79921,7 @@ class ComfyApp { #addDrawNodeHandler() { const origDrawNodeShape = LGraphCanvas.prototype.drawNodeShape; const self2 = this; - LGraphCanvas.prototype.drawNodeShape = function(node3, ctx, size2, fgcolor, bgcolor, selected2, mouse_over) { + LGraphCanvas.prototype.drawNodeShape = function(node3, ctx, size2, fgcolor, bgcolor, selected2) { const res = origDrawNodeShape.apply(this, arguments); const nodeErrors = self2.lastNodeErrors?.[node3.id]; let color = null; @@ -80218,10 +79938,7 @@ class ComfyApp { lineWidth = 2; } if (color) { - const shape = ( - // @ts-expect-error - node3._shape || node3.constructor.shape || LiteGraph.ROUND_SHAPE - ); + const shape = node3._shape || node3.constructor.shape || LiteGraph.ROUND_SHAPE; ctx.lineWidth = lineWidth; ctx.globalAlpha = 0.8; ctx.beginPath(); @@ -80411,7 +80128,7 @@ class ComfyApp { async (e) => { if (e.detail.subType === "connectingWidgetLink") { const { convertToInput } = await __vitePreload(async () => { - const { convertToInput: convertToInput2 } = await import("./widgetInputs-B4bHTYzE.js"); + const { convertToInput: convertToInput2 } = await import("./widgetInputs-B62b6cfl.js"); return { convertToInput: convertToInput2 }; }, true ? [] : void 0, import.meta.url); const { node: node3, link, widget } = e.detail; @@ -80453,7 +80170,7 @@ class ComfyApp { useExtensionStore().loadDisabledExtensionNames(); const extensions = await api.getExtensions(); this.logging.addEntry("Comfy.App", "debug", { Extensions: extensions }); - await __vitePreload(() => import("./index-DTOGNau5.js"), true ? __vite__mapDeps([5,6,7]) : void 0, import.meta.url); + await __vitePreload(() => import("./index-DNRGG-ix.js"), true ? __vite__mapDeps([5,6,7]) : void 0, import.meta.url); await Promise.all( extensions.filter((extension) => !extension.includes("extensions/core")).map(async (ext) => { try { @@ -80496,7 +80213,7 @@ class ComfyApp { if (!user || !users[user]) { if (this.vueAppReady) useWorkspaceStore().spinner = false; const { UserSelectionScreen } = await __vitePreload(async () => { - const { UserSelectionScreen: UserSelectionScreen2 } = await import("./userSelection-vhU1ykfH.js"); + const { UserSelectionScreen: UserSelectionScreen2 } = await import("./userSelection-C7IbQlVC.js"); return { UserSelectionScreen: UserSelectionScreen2 }; }, true ? __vite__mapDeps([8,9]) : void 0, import.meta.url); this.ui.menuContainer.style.display = "none"; @@ -80605,8 +80322,7 @@ class ComfyApp { await this.loadGraphData(); } setInterval(() => { - const sortNodes = useSettingStore().get("Comfy.Workflow.SortNodeIdOnSave"); - const workflow = JSON.stringify(this.graph.serialize({ sortNodes })); + const workflow = JSON.stringify(this.serializeGraph()); localStorage.setItem("workflow", workflow); if (api.clientId) { sessionStorage.setItem(`workflow:${api.clientId}`, workflow); @@ -80655,7 +80371,7 @@ class ComfyApp { const nodeDefArray = Object.values(allNodeDefs); this.#invokeExtensions("beforeRegisterVueAppNodeDefs", nodeDefArray, this); nodeDefStore.updateNodeDefs(nodeDefArray); - nodeDefStore.updateWidgets(this.widgets); + nodeDefStore.widgets = this.widgets; } /** * Registers nodes with the graph @@ -80822,12 +80538,9 @@ class ComfyApp { } localStorage.setItem("litegrapheditor_clipboard", old); } - #showMissingNodesError(missingNodeTypes, hasAddedNodes = true) { + #showMissingNodesError(missingNodeTypes) { if (useSettingStore().get("Comfy.Workflow.ShowMissingNodesWarning")) { - showLoadWorkflowWarning({ - missingNodeTypes, - hasAddedNodes - }); + showLoadWorkflowWarning({ missingNodeTypes }); } this.logging.addEntry("Comfy.App", "warn", { MissingNodes: missingNodeTypes @@ -80906,8 +80619,8 @@ class ComfyApp { } } if (graphData.models && useSettingStore().get("Comfy.Workflow.ShowMissingModelsWarning")) { - for (let m of graphData.models) { - const models_available = await useModelStore().getModelsInFolderCached( + for (const m of graphData.models) { + const models_available = await useModelStore().getLoadedModelFolder( m.directory ); if (models_available === null) { @@ -81018,7 +80731,17 @@ class ComfyApp { }); } /** - * Converts the current graph workflow for sending to the API + * Serializes a graph using preferred user settings. + * @param graph The litegraph to serialize. + * @returns A serialized graph (aka workflow) with preferred user settings. + */ + serializeGraph(graph = this.graph) { + const sortNodes = useSettingStore().get("Comfy.Workflow.SortNodeIdOnSave"); + return graph.serialize({ sortNodes }); + } + /** + * Converts the current graph workflow for sending to the API. + * Note: Node widgets are updated before serialization to prepare queueing. * @returns The workflow and node links */ async graphToPrompt(graph = this.graph, clean = true) { @@ -81037,8 +80760,7 @@ class ComfyApp { } } } - const sortNodes = useSettingStore().get("Comfy.Workflow.SortNodeIdOnSave"); - const workflow = graph.serialize({ sortNodes }); + const workflow = this.serializeGraph(graph); const output = {}; for (const outerNode of graph.computeExecutionOrder(false)) { const skipNode = outerNode.mode === 2 || outerNode.mode === 4; @@ -81320,8 +81042,7 @@ class ComfyApp { if (missingNodeTypes.length) { this.#showMissingNodesError( // @ts-expect-error - missingNodeTypes.map((t) => t.class_type), - false + missingNodeTypes.map((t) => t.class_type) ); return; } @@ -81421,7 +81142,6 @@ class ComfyApp { }; if (this.vueAppReady) { useToastStore().add(requestToastMessage); - useModelStore().clearCache(); } const defs = await api.getNodeDefs({ validate: useSettingStore().get("Comfy.Validation.NodeDefs") @@ -81576,7 +81296,7 @@ const useWorkflowStore = /* @__PURE__ */ defineStore("workflow", () => { ); const bookmarkedWorkflowsTree = computed( () => buildTree(bookmarkedWorkflows.value, (workflow) => [ - workflow.path + workflow.path ?? "temporary_workflow" ]) ); const openWorkflowsTree = computed( @@ -81727,7 +81447,7 @@ const useCommandStore = /* @__PURE__ */ defineStore("command", () => { app$1.workflowManager.setWorkflow(null); app$1.clean(); app$1.graph.clear(); - app$1.workflowManager.activeWorkflow.track(); + app$1.workflowManager.activeWorkflow?.track(); }, "function") }, { @@ -81753,7 +81473,7 @@ const useCommandStore = /* @__PURE__ */ defineStore("command", () => { label: "Save Workflow", menubarLabel: "Save", function: /* @__PURE__ */ __name(() => { - app$1.workflowManager.activeWorkflow.save(); + app$1.workflowManager.activeWorkflow?.save(); }, "function") }, { @@ -81762,7 +81482,7 @@ const useCommandStore = /* @__PURE__ */ defineStore("command", () => { label: "Save Workflow As", menubarLabel: "Save As", function: /* @__PURE__ */ __name(() => { - app$1.workflowManager.activeWorkflow.save(true); + app$1.workflowManager.activeWorkflow?.save(true); }, "function") }, { @@ -81824,7 +81544,7 @@ const useCommandStore = /* @__PURE__ */ defineStore("command", () => { icon: "pi pi-clipboard", label: "Clipspace", function: /* @__PURE__ */ __name(() => { - app$1["openClipspace"]?.(); + app$1.openClipspace(); }, "function") }, { @@ -81875,10 +81595,10 @@ const useCommandStore = /* @__PURE__ */ defineStore("command", () => { label: "Zoom In", function: /* @__PURE__ */ __name(() => { const ds = app$1.canvas.ds; - ds.changeScale(ds.scale * 1.1, [ - ds.element.width / 2, - ds.element.height / 2 - ]); + ds.changeScale( + ds.scale * 1.1, + ds.element ? [ds.element.width / 2, ds.element.height / 2] : void 0 + ); app$1.canvas.setDirty(true, true); }, "function") }, @@ -81888,10 +81608,10 @@ const useCommandStore = /* @__PURE__ */ defineStore("command", () => { label: "Zoom Out", function: /* @__PURE__ */ __name(() => { const ds = app$1.canvas.ds; - ds.changeScale(ds.scale / 1.1, [ - ds.element.width / 2, - ds.element.height / 2 - ]); + ds.changeScale( + ds.scale / 1.1, + ds.element ? [ds.element.width / 2, ds.element.height / 2] : void 0 + ); app$1.canvas.setDirty(true, true); }, "function") }, @@ -82050,6 +81770,24 @@ const useCommandStore = /* @__PURE__ */ defineStore("command", () => { } }; })() + }, + { + 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") } ]; commandDefinitions.forEach(registerCommand); @@ -82084,12 +81822,12 @@ const useCommandStore = /* @__PURE__ */ defineStore("command", () => { loadExtensionCommands }; }); -var theme$b = /* @__PURE__ */ __name(function theme24(_ref) { +var theme$c = /* @__PURE__ */ __name(function theme23(_ref) { var dt2 = _ref.dt; return "\n.p-tree {\n background: ".concat(dt2("tree.background"), ";\n color: ").concat(dt2("tree.color"), ";\n padding: ").concat(dt2("tree.padding"), ";\n}\n\n.p-tree-root-children,\n.p-tree-node-children {\n display: flex;\n list-style-type: none;\n flex-direction: column;\n margin: 0;\n gap: ").concat(dt2("tree.gap"), ";\n}\n\n.p-tree-root-children {\n padding: ").concat(dt2("tree.gap"), " 0 0 0;\n}\n\n.p-tree-node-children {\n padding: ").concat(dt2("tree.gap"), " 0 0 ").concat(dt2("tree.indent"), ";\n}\n\n.p-tree-node {\n padding: 0;\n outline: 0 none;\n}\n\n.p-tree-node-content {\n border-radius: ").concat(dt2("tree.node.border.radius"), ";\n padding: ").concat(dt2("tree.node.padding"), ";\n display: flex;\n align-items: center;\n outline-color: transparent;\n color: ").concat(dt2("tree.node.color"), ";\n gap: ").concat(dt2("tree.node.gap"), ";\n transition: background ").concat(dt2("tree.transition.duration"), ", color ").concat(dt2("tree.transition.duration"), ", outline-color ").concat(dt2("tree.transition.duration"), ", box-shadow ").concat(dt2("tree.transition.duration"), ";\n}\n\n.p-tree-node:focus-visible > .p-tree-node-content {\n box-shadow: ").concat(dt2("tree.node.focus.ring.shadow"), ";\n outline: ").concat(dt2("tree.node.focus.ring.width"), " ").concat(dt2("tree.node.focus.ring.style"), " ").concat(dt2("tree.node.focus.ring.color"), ";\n outline-offset: ").concat(dt2("tree.node.focus.ring.offset"), ";\n}\n\n.p-tree-node-content.p-tree-node-selectable:not(.p-tree-node-selected):hover {\n background: ").concat(dt2("tree.node.hover.background"), ";\n color: ").concat(dt2("tree.node.hover.color"), ";\n}\n\n.p-tree-node-content.p-tree-node-selectable:not(.p-tree-node-selected):hover .p-tree-node-icon {\n color: ").concat(dt2("tree.node.icon.hover.color"), ";\n}\n\n.p-tree-node-content.p-tree-node-selected {\n background: ").concat(dt2("tree.node.selected.background"), ";\n color: ").concat(dt2("tree.node.selected.color"), ";\n}\n\n.p-tree-node-content.p-tree-node-selected .p-tree-node-toggle-button {\n color: inherit;\n}\n\n.p-tree-node-toggle-button {\n cursor: pointer;\n user-select: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n flex-shrink: 0;\n width: ").concat(dt2("tree.node.toggle.button.size"), ";\n height: ").concat(dt2("tree.node.toggle.button.size"), ";\n color: ").concat(dt2("tree.node.toggle.button.color"), ";\n border: 0 none;\n background: transparent;\n border-radius: ").concat(dt2("tree.node.toggle.button.border.radius"), ";\n transition: background ").concat(dt2("tree.transition.duration"), ", color ").concat(dt2("tree.transition.duration"), ", border-color ").concat(dt2("tree.transition.duration"), ", outline-color ").concat(dt2("tree.transition.duration"), ", box-shadow ").concat(dt2("tree.transition.duration"), ";\n outline-color: transparent;\n padding: 0;\n}\n\n.p-tree-node-toggle-button:enabled:hover {\n background: ").concat(dt2("tree.node.toggle.button.hover.background"), ";\n color: ").concat(dt2("tree.node.toggle.button.hover.color"), ";\n}\n\n.p-tree-node-content.p-tree-node-selected .p-tree-node-toggle-button:hover {\n background: ").concat(dt2("tree.node.toggle.button.selected.hover.background"), ";\n color: ").concat(dt2("tree.node.toggle.button.selected.hover.color"), ";\n}\n\n.p-tree-root {\n overflow: auto;\n}\n\n.p-tree-node-selectable {\n cursor: pointer;\n user-select: none;\n}\n\n.p-tree-node-leaf > .p-tree-node-content .p-tree-node-toggle-button {\n visibility: hidden;\n}\n\n.p-tree-node-icon {\n color: ").concat(dt2("tree.node.icon.color"), ";\n transition: color ").concat(dt2("tree.transition.duration"), ";\n}\n\n.p-tree-node-content.p-tree-node-selected .p-tree-node-icon {\n color: ").concat(dt2("tree.node.icon.selected.color"), ";\n}\n\n.p-tree-filter-input {\n width: 100%;\n}\n\n.p-tree-loading {\n position: relative;\n height: 100%;\n}\n\n.p-tree-loading-icon {\n font-size: ").concat(dt2("tree.loading.icon.size"), ";\n width: ").concat(dt2("tree.loading.icon.size"), ";\n height: ").concat(dt2("tree.loading.icon.size"), ";\n}\n\n.p-tree .p-tree-mask {\n position: absolute;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.p-tree-flex-scrollable {\n display: flex;\n flex: 1;\n height: 100%;\n flex-direction: column;\n}\n\n.p-tree-flex-scrollable .p-tree-root {\n flex: 1;\n}\n"); }, "theme"); -var classes$b = { - root: /* @__PURE__ */ __name(function root17(_ref2) { +var classes$c = { + root: /* @__PURE__ */ __name(function root16(_ref2) { var props = _ref2.props; return ["p-tree p-component", { "p-tree-selectable": props.selectionMode != null, @@ -82125,9 +81863,273 @@ var classes$b = { }; var TreeStyle = BaseStyle.extend({ name: "tree", + theme: theme$c, + classes: classes$c +}); +var script$k = { + name: "MinusIcon", + "extends": script$T +}; +function render$j(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("svg", mergeProps$1({ + 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.2222 7.77778H0.777778C0.571498 7.77778 0.373667 7.69584 0.227806 7.54998C0.0819442 7.40412 0 7.20629 0 7.00001C0 6.79373 0.0819442 6.5959 0.227806 6.45003C0.373667 6.30417 0.571498 6.22223 0.777778 6.22223H13.2222C13.4285 6.22223 13.6263 6.30417 13.7722 6.45003C13.9181 6.5959 14 6.79373 14 7.00001C14 7.20629 13.9181 7.40412 13.7722 7.54998C13.6263 7.69584 13.4285 7.77778 13.2222 7.77778Z", + fill: "currentColor" + }, null, -1)]), 16); +} +__name(render$j, "render$j"); +script$k.render = render$j; +var theme$b = /* @__PURE__ */ __name(function theme24(_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 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: ").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"); +}, "theme"); +var classes$b = { + root: /* @__PURE__ */ __name(function root17(_ref2) { + var instance = _ref2.instance, props = _ref2.props; + return ["p-checkbox p-component", { + "p-checkbox-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" + }]; + }, "root"), + box: "p-checkbox-box", + input: "p-checkbox-input", + icon: "p-checkbox-icon" +}; +var CheckboxStyle = BaseStyle.extend({ + name: "checkbox", theme: theme$b, classes: classes$b }); +var script$1$b = { + name: "BaseCheckbox", + "extends": script$U, + props: { + value: null, + modelValue: null, + binary: Boolean, + name: { + type: String, + "default": null + }, + indeterminate: { + type: Boolean, + "default": false + }, + trueValue: { + type: null, + "default": true + }, + falseValue: { + type: null, + "default": false + }, + variant: { + type: String, + "default": null + }, + invalid: { + type: Boolean, + "default": false + }, + disabled: { + type: Boolean, + "default": false + }, + readonly: { + type: Boolean, + "default": false + }, + required: { + type: Boolean, + "default": false + }, + tabindex: { + type: Number, + "default": null + }, + inputId: { + type: String, + "default": null + }, + inputClass: { + type: [String, Object], + "default": null + }, + inputStyle: { + type: Object, + "default": null + }, + ariaLabelledby: { + type: String, + "default": null + }, + ariaLabel: { + type: String, + "default": null + } + }, + style: CheckboxStyle, + provide: /* @__PURE__ */ __name(function provide25() { + return { + $pcCheckbox: this, + $parentInstance: this + }; + }, "provide") +}; +function _toConsumableArray$5(r) { + return _arrayWithoutHoles$5(r) || _iterableToArray$5(r) || _unsupportedIterableToArray$8(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$8(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$8(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$8(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$8, "_unsupportedIterableToArray$8"); +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$8(r); +} +__name(_arrayWithoutHoles$5, "_arrayWithoutHoles$5"); +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$j = { + name: "Checkbox", + "extends": script$1$b, + inheritAttrs: false, + emits: ["update:modelValue", "change", "focus", "blur", "update:indeterminate"], + data: /* @__PURE__ */ __name(function data10() { + return { + d_indeterminate: this.indeterminate + }; + }, "data"), + watch: { + indeterminate: /* @__PURE__ */ __name(function indeterminate(newValue) { + this.d_indeterminate = newValue; + }, "indeterminate") + }, + methods: { + getPTOptions: /* @__PURE__ */ __name(function getPTOptions5(key) { + var _ptm = key === "root" ? this.ptmi : this.ptm; + return _ptm(key, { + context: { + checked: this.checked, + indeterminate: this.d_indeterminate, + disabled: this.disabled + } + }); + }, "getPTOptions"), + onChange: /* @__PURE__ */ __name(function onChange2(event2) { + var _this = this; + if (!this.disabled && !this.readonly) { + var newModelValue; + if (this.binary) { + newModelValue = this.d_indeterminate ? this.trueValue : this.checked ? this.falseValue : this.trueValue; + } else { + if (this.checked || this.d_indeterminate) newModelValue = this.modelValue.filter(function(val) { + return !equals(val, _this.value); + }); + else newModelValue = this.modelValue ? [].concat(_toConsumableArray$5(this.modelValue), [this.value]) : [this.value]; + } + if (this.d_indeterminate) { + this.d_indeterminate = false; + this.$emit("update:indeterminate", this.d_indeterminate); + } + this.$emit("update:modelValue", newModelValue); + this.$emit("change", event2); + } + }, "onChange"), + onFocus: /* @__PURE__ */ __name(function onFocus4(event2) { + this.$emit("focus", event2); + }, "onFocus"), + onBlur: /* @__PURE__ */ __name(function onBlur4(event2) { + this.$emit("blur", event2); + }, "onBlur") + }, + computed: { + checked: /* @__PURE__ */ __name(function checked2() { + return this.d_indeterminate ? false : this.binary ? this.modelValue === this.trueValue : contains(this.value, this.modelValue); + }, "checked") + }, + components: { + CheckIcon: script$R, + MinusIcon: script$k + } +}; +var _hoisted_1$r = ["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$i(_ctx, _cache, $props, $setup, $data, $options) { + var _component_CheckIcon = resolveComponent("CheckIcon"); + var _component_MinusIcon = resolveComponent("MinusIcon"); + return openBlock(), createElementBlock("div", mergeProps$1({ + "class": _ctx.cx("root") + }, $options.getPTOptions("root"), { + "data-p-checked": $options.checked, + "data-p-indeterminate": $data.d_indeterminate || void 0, + "data-p-disabled": _ctx.disabled + }), [createBaseVNode("input", mergeProps$1({ + id: _ctx.inputId, + type: "checkbox", + "class": [_ctx.cx("input"), _ctx.inputClass], + style: _ctx.inputStyle, + value: _ctx.value, + name: _ctx.name, + checked: $options.checked, + tabindex: _ctx.tabindex, + disabled: _ctx.disabled, + readonly: _ctx.readonly, + required: _ctx.required, + "aria-labelledby": _ctx.ariaLabelledby, + "aria-label": _ctx.ariaLabel, + "aria-invalid": _ctx.invalid || void 0, + "aria-checked": $data.d_indeterminate ? "mixed" : 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); + }), + onChange: _cache[2] || (_cache[2] = function() { + return $options.onChange && $options.onChange.apply($options, arguments); + }) + }, $options.getPTOptions("input")), null, 16, _hoisted_2$i), createBaseVNode("div", mergeProps$1({ + "class": _ctx.cx("box") + }, $options.getPTOptions("box")), [renderSlot(_ctx.$slots, "icon", { + checked: $options.checked, + indeterminate: $data.d_indeterminate, + "class": normalizeClass(_ctx.cx("icon")) + }, function() { + return [$options.checked ? (openBlock(), createBlock(_component_CheckIcon, mergeProps$1({ + key: 0, + "class": _ctx.cx("icon") + }, $options.getPTOptions("icon")), null, 16, ["class"])) : $data.d_indeterminate ? (openBlock(), createBlock(_component_MinusIcon, mergeProps$1({ + key: 1, + "class": _ctx.cx("icon") + }, $options.getPTOptions("icon")), null, 16, ["class"])) : createCommentVNode("", true)]; + })], 16)], 16, _hoisted_1$r); +} +__name(render$i, "render$i"); +script$j.render = render$i; var script$2$2 = { name: "BaseTree", "extends": script$U, @@ -82681,11 +82683,11 @@ var script$1$a = { }, "ariaSelected") }, components: { - Checkbox: script$G, - ChevronDownIcon: script$F, - ChevronRightIcon: script$m, + Checkbox: script$j, + ChevronDownIcon: script$y, + ChevronRightIcon: script$o, CheckIcon: script$R, - MinusIcon: script$H, + MinusIcon: script$k, SpinnerIcon: script$M }, directives: { @@ -83496,7 +83498,7 @@ var script$1$9 = { }; var _hoisted_1$p = ["tabindex"]; var _hoisted_2$g = ["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$b = ["onClick", "onMouseenter", "onMousemove"]; +var _hoisted_3$a = ["onClick", "onMouseenter", "onMousemove"]; var _hoisted_4$7 = ["href", "target"]; var _hoisted_5$6 = ["id"]; var _hoisted_6$4 = ["id"]; @@ -83583,7 +83585,7 @@ function render$1$1(_ctx, _cache, $props, $setup, $data, $options) { hasSubmenu: $options.getItemProp(processedItem, "items"), label: $options.getItemLabel(processedItem), props: $options.getMenuItemProps(processedItem, index2) - }, null, 8, ["item", "hasSubmenu", "label", "props"]))], 16, _hoisted_3$b), $options.isItemVisible(processedItem) && $options.isItemGroup(processedItem) ? (openBlock(), createBlock(_component_ContextMenuSub, mergeProps$1({ + }, null, 8, ["item", "hasSubmenu", "label", "props"]))], 16, _hoisted_3$a), $options.isItemVisible(processedItem) && $options.isItemGroup(processedItem) ? (openBlock(), createBlock(_component_ContextMenuSub, mergeProps$1({ key: 0, id: $options.getItemId(processedItem) + "_list", role: "menu", @@ -84219,7 +84221,7 @@ var script$g = { }, components: { ContextMenuSub: script$1$9, - Portal: script$D + Portal: script$w } }; function render$f(_ctx, _cache, $props, $setup, $data, $options) { @@ -86081,7 +86083,7 @@ function usePragmaticDraggable(draggableElement, options3) { __name(usePragmaticDraggable, "usePragmaticDraggable"); const _hoisted_1$n = { class: "node-content" }; const _hoisted_2$e = { class: "node-label" }; -const _hoisted_3$a = { class: "node-actions" }; +const _hoisted_3$9 = { class: "node-actions" }; const _sfc_main$o = /* @__PURE__ */ defineComponent({ __name: "TreeExplorerTreeNode", props: { @@ -86184,7 +86186,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({ class: "leaf-count-badge" }, null, 8, ["value"])) : createCommentVNode("", true) ]), - createBaseVNode("div", _hoisted_3$a, [ + createBaseVNode("div", _hoisted_3$9, [ renderSlot(_ctx.$slots, "actions", { node: props.node }, void 0, true) @@ -86414,7 +86416,6 @@ __name(render$e, "render$e"); script$f.render = render$e; const _hoisted_1$l = { class: "comfy-vue-side-bar-header" }; const _hoisted_2$d = { class: "text-sm" }; -const _hoisted_3$9 = { class: "h-full" }; const _sfc_main$m = /* @__PURE__ */ defineComponent({ __name: "SidebarTabTemplate", props: { @@ -86439,11 +86440,9 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({ }), renderSlot(_ctx.$slots, "header") ]), - createVNode(unref(script$x), { class: "comfy-vue-side-bar-body flex-grow h-0" }, { + createVNode(unref(script$C), { class: "comfy-vue-side-bar-body flex-grow h-0" }, { default: withCtx(() => [ - createBaseVNode("div", _hoisted_3$9, [ - renderSlot(_ctx.$slots, "body") - ]) + renderSlot(_ctx.$slots, "body") ]), _: 3 }) @@ -86550,9 +86549,6 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({ () => settingStore.get("Comfy.Sidebar.Location") ); const handleModelHover = /* @__PURE__ */ __name(async () => { - if (modelDef.value.is_fake_object) { - return; - } const hoverTarget = modelContentElement.value; const targetRect = hoverTarget.getBoundingClientRect(); const previewHeight = previewRef.value?.$el.offsetHeight || 0; @@ -86569,12 +86565,9 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({ const modelContentElement = ref(null); const isHovered = ref(false); const showPreview = computed(() => { - return isHovered.value && modelDef.value && !modelDef.value.is_fake_object && modelDef.value.has_loaded_metadata && (modelDef.value.author || modelDef.value.simplified_file_name != modelDef.value.title || modelDef.value.description || modelDef.value.usage_hint || modelDef.value.trigger_phrase || modelDef.value.image); + return isHovered.value && modelDef.value && modelDef.value.has_loaded_metadata && (modelDef.value.author || modelDef.value.simplified_file_name != modelDef.value.title || modelDef.value.description || modelDef.value.usage_hint || modelDef.value.trigger_phrase || modelDef.value.image); }); const handleMouseEnter = /* @__PURE__ */ __name(async () => { - if (modelDef.value.is_fake_object) { - return; - } isHovered.value = true; await nextTick(); handleModelHover(); @@ -86586,9 +86579,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({ modelContentElement.value = container.value?.closest(".p-tree-node-content"); modelContentElement.value?.addEventListener("mouseenter", handleMouseEnter); modelContentElement.value?.addEventListener("mouseleave", handleMouseLeave); - if (!modelDef.value.is_fake_object) { - modelDef.value.load(); - } + modelDef.value.load(); }); onUnmounted(() => { modelContentElement.value?.removeEventListener("mouseenter", handleMouseEnter); @@ -86630,7 +86621,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({ }; } }); -const ModelTreeLeaf = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-70b69131"]]); +const ModelTreeLeaf = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-be871f15"]]); class ModelNodeProvider { static { __name(this, "ModelNodeProvider"); @@ -86644,73 +86635,59 @@ class ModelNodeProvider { this.key = key; } } -const useModelToNodeStore = /* @__PURE__ */ defineStore("modelToNode", { - state: /* @__PURE__ */ __name(() => ({ - modelToNodeMap: {}, - nodeDefStore: useNodeDefStore(), - haveDefaultsLoaded: false - }), "state"), - actions: { - /** - * Get the node provider for the given model type name. - * @param modelType The name of the model type to get the node provider for. - * @returns The node provider for the given model type name. - */ - getNodeProvider(modelType) { - this.registerDefaults(); - return this.modelToNodeMap[modelType]?.[0]; - }, - /** - * Get the list of all valid node providers for the given model type name. - * @param modelType The name of the model type to get the node providers for. - * @returns The list of all valid node providers for the given model type name. - */ - getAllNodeProviders(modelType) { - this.registerDefaults(); - return this.modelToNodeMap[modelType] ?? []; - }, - /** - * Register a node provider for the given model type name. - * @param modelType The name of the model type to register the node provider for. - * @param nodeProvider The node provider to register. - */ - registerNodeProvider(modelType, nodeProvider) { - this.registerDefaults(); - this.modelToNodeMap[modelType] ??= []; - this.modelToNodeMap[modelType].push(nodeProvider); - }, - /** - * Register a node provider for the given simple names. - * @param modelType The name of the model type to register the node provider for. - * @param nodeClass The node class name to register. - * @param key The key to use for the node input. - */ - quickRegister(modelType, nodeClass, key) { - this.registerNodeProvider( - modelType, - new ModelNodeProvider(this.nodeDefStore.nodeDefsByName[nodeClass], key) - ); - }, - registerDefaults() { - if (this.haveDefaultsLoaded) { - return; - } - if (Object.keys(this.nodeDefStore.nodeDefsByName).length === 0) { - return; - } - this.haveDefaultsLoaded = true; - this.quickRegister("checkpoints", "CheckpointLoaderSimple", "ckpt_name"); - this.quickRegister( - "checkpoints", - "ImageOnlyCheckpointLoader", - "ckpt_name" - ); - this.quickRegister("loras", "LoraLoader", "lora_name"); - this.quickRegister("loras", "LoraLoaderModelOnly", "lora_name"); - this.quickRegister("vae", "VAELoader", "vae_name"); - this.quickRegister("controlnet", "ControlNetLoader", "control_net_name"); - } +const useModelToNodeStore = /* @__PURE__ */ defineStore("modelToNode", () => { + const modelToNodeMap = ref({}); + const nodeDefStore = useNodeDefStore(); + const haveDefaultsLoaded = ref(false); + function getNodeProvider(modelType) { + registerDefaults(); + return modelToNodeMap.value[modelType]?.[0]; } + __name(getNodeProvider, "getNodeProvider"); + function getAllNodeProviders(modelType) { + registerDefaults(); + return modelToNodeMap.value[modelType] ?? []; + } + __name(getAllNodeProviders, "getAllNodeProviders"); + function registerNodeProvider(modelType, nodeProvider) { + registerDefaults(); + if (!modelToNodeMap.value[modelType]) { + modelToNodeMap.value[modelType] = []; + } + modelToNodeMap.value[modelType].push(nodeProvider); + } + __name(registerNodeProvider, "registerNodeProvider"); + function quickRegister(modelType, nodeClass, key) { + registerNodeProvider( + modelType, + new ModelNodeProvider(nodeDefStore.nodeDefsByName[nodeClass], key) + ); + } + __name(quickRegister, "quickRegister"); + function registerDefaults() { + if (haveDefaultsLoaded.value) { + return; + } + if (Object.keys(nodeDefStore.nodeDefsByName).length === 0) { + return; + } + haveDefaultsLoaded.value = true; + quickRegister("checkpoints", "CheckpointLoaderSimple", "ckpt_name"); + quickRegister("checkpoints", "ImageOnlyCheckpointLoader", "ckpt_name"); + quickRegister("loras", "LoraLoader", "lora_name"); + quickRegister("loras", "LoraLoaderModelOnly", "lora_name"); + quickRegister("vae", "VAELoader", "vae_name"); + quickRegister("controlnet", "ControlNetLoader", "control_net_name"); + } + __name(registerDefaults, "registerDefaults"); + return { + modelToNodeMap, + getNodeProvider, + getAllNodeProviders, + registerNodeProvider, + quickRegister, + registerDefaults + }; }); function useTreeExpansion(expandedKeys2) { const toggleNode = /* @__PURE__ */ __name((node3) => { @@ -86766,96 +86743,63 @@ __name(useTreeExpansion, "useTreeExpansion"); const _sfc_main$j = /* @__PURE__ */ defineComponent({ __name: "ModelLibrarySidebarTab", setup(__props) { - const { t } = useI18n(); const modelStore = useModelStore(); const modelToNodeStore = useModelToNodeStore(); const settingStore = useSettingStore(); const searchQuery = ref(""); const expandedKeys2 = ref({}); - const { toggleNodeOnEvent } = useTreeExpansion(expandedKeys2); + const { expandNode, toggleNodeOnEvent } = useTreeExpansion(expandedKeys2); + const filteredModels = ref([]); + const handleSearch = /* @__PURE__ */ __name(async (query) => { + if (!query) { + filteredModels.value = modelStore.models; + expandedKeys2.value = {}; + return; + } + await modelStore.loadModels(); + const search2 = query.toLocaleLowerCase(); + filteredModels.value = modelStore.models.filter((model) => { + return model.searchable.includes(search2); + }); + nextTick(() => { + expandNode(root23.value); + }); + }, "handleSearch"); const root23 = computed(() => { - let modelList = []; - if (!modelStore.modelFolders.length) { - modelStore.getModelFolders(); - } - if (settingStore.get("Comfy.ModelLibrary.AutoLoadAll")) { - for (let folder of modelStore.modelFolders) { - modelStore.getModelsInFolderCached(folder); - } - } - for (let folder of modelStore.modelFolders) { - const models = modelStore.modelStoreMap[folder]; - if (models) { - if (Object.values(models.models).length) { - modelList.push(...Object.values(models.models)); - } else { - const fakeModel = new ComfyModelDef("", folder); - fakeModel.is_fake_object = true; - modelList.push(fakeModel); - } - } else { - const fakeModel = new ComfyModelDef("Loading", folder); - fakeModel.is_fake_object = true; - modelList.push(fakeModel); - } - } - if (searchQuery.value) { - const search2 = searchQuery.value.toLocaleLowerCase(); - modelList = modelList.filter((model) => { - return model.searchable.includes(search2); - }); - } - const tree = buildTree( - modelList, - (model) => model.key.split("/") + const allNodes = [ + ...modelStore.modelFolders, + ...filteredModels.value + ]; + return buildTree( + allNodes, + (modelOrFolder) => modelOrFolder.key.split("/") ); - return tree; }); const renderedRoot = computed(() => { const nameFormat = settingStore.get("Comfy.ModelLibrary.NameFormat"); const fillNodeInfo = /* @__PURE__ */ __name((node3) => { const children = node3.children?.map(fillNodeInfo); const model = node3.leaf && node3.data ? node3.data : null; - if (model?.is_fake_object) { - if (model.file_name === "Loading") { - return { - key: node3.key, - label: t("loading") + "...", - leaf: true, - data: node3.data, - getIcon: /* @__PURE__ */ __name((node22) => { - return "pi pi-spin pi-spinner"; - }, "getIcon"), - children: [] - }; - } - } + const folder = !node3.leaf && node3.data ? node3.data : null; return { key: node3.key, label: model ? nameFormat === "title" ? model.title : model.simplified_file_name : node3.label, leaf: node3.leaf, data: node3.data, - getIcon: /* @__PURE__ */ __name((node22) => { - if (node22.leaf) { - if (node22.data && node22.data.image) { - return "pi pi-fake-spacer"; - } - return "pi pi-file"; + getIcon: /* @__PURE__ */ __name(() => { + if (model) { + return model.image ? "pi pi-image" : "pi pi-file"; } + if (folder) { + return folder.state === ResourceState.Loading ? "pi pi-spin pi-spinner" : "pi pi-folder"; + } + return "pi pi-folder"; }, "getIcon"), - getBadgeText: /* @__PURE__ */ __name((node22) => { - if (node22.leaf) { + getBadgeText: /* @__PURE__ */ __name(() => { + if (!folder) { return null; } - if (node22.children?.length === 1) { - const onlyChild = node22.children[0]; - if (onlyChild.data?.is_fake_object) { - if (onlyChild.data.file_name === "Loading") { - return ""; - } - } - } - return null; + return folder.state === ResourceState.Loaded ? null : ""; }, "getBadgeText"), children, draggable: node3.leaf, @@ -86873,18 +86817,14 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({ widget.value = model.file_name; } } + } else { + toggleNodeOnEvent(e, node22); } }, "handleClick") }; }, "fillNodeInfo"); return fillNodeInfo(root23.value); }); - const handleNodeClick = /* @__PURE__ */ __name((node3, e) => { - if (node3.leaf) { - } else { - toggleNodeOnEvent(e, node3); - } - }, "handleNodeClick"); watch( toRef$1(expandedKeys2, "value"), (newExpandedKeys) => { @@ -86892,25 +86832,50 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({ if (isExpanded) { const folderPath = key.split("/").slice(1).join("/"); if (folderPath && !folderPath.includes("/")) { - modelStore.getModelsInFolderCached(folderPath); + modelStore.getLoadedModelFolder(folderPath); } } }); }, { deep: true } ); + onMounted(async () => { + if (settingStore.get("Comfy.ModelLibrary.AutoLoadAll")) { + await modelStore.loadModels(); + } + }); return (_ctx, _cache) => { + const _directive_tooltip = resolveDirective("tooltip"); return openBlock(), createElementBlock(Fragment, null, [ createVNode(_sfc_main$m, { title: _ctx.$t("sideToolbar.modelLibrary"), class: "bg-[var(--p-tree-background)]" }, { + "tool-buttons": withCtx(() => [ + withDirectives(createVNode(unref(script$I), { + icon: "pi pi-refresh", + onClick: unref(modelStore).loadModelFolders, + severity: "secondary", + text: "" + }, null, 8, ["onClick"]), [ + [_directive_tooltip, _ctx.$t("refresh")] + ]), + withDirectives(createVNode(unref(script$I), { + icon: "pi pi-cloud-download", + onClick: unref(modelStore).loadModels, + severity: "secondary", + text: "" + }, null, 8, ["onClick"]), [ + [_directive_tooltip, _ctx.$t("loadAllFolders")] + ]) + ]), header: withCtx(() => [ createVNode(SearchBox, { class: "model-lib-search-box p-4", modelValue: searchQuery.value, "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchQuery.value = $event), - placeholder: _ctx.$t("searchModels") + "..." + placeholder: _ctx.$t("searchModels") + "...", + onSearch: handleSearch }, null, 8, ["modelValue", "placeholder"]) ]), body: withCtx(() => [ @@ -86918,8 +86883,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({ class: "model-lib-tree-explorer py-0", roots: renderedRoot.value.children, expandedKeys: expandedKeys2.value, - "onUpdate:expandedKeys": _cache[1] || (_cache[1] = ($event) => expandedKeys2.value = $event), - onNodeClick: handleNodeClick + "onUpdate:expandedKeys": _cache[1] || (_cache[1] = ($event) => expandedKeys2.value = $event) }, { node: withCtx(({ node: node3 }) => [ createVNode(ModelTreeLeaf, { node: node3 }, null, 8, ["node"]) @@ -86934,7 +86898,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({ }; } }); -const ModelLibrarySidebarTab = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-db5d3bcc"]]); +const ModelLibrarySidebarTab = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-2f4635f2"]]); const useModelLibrarySidebarTab = /* @__PURE__ */ __name(() => { const { t } = useI18n(); return { @@ -87417,7 +87381,7 @@ var script$e = { ripple: Ripple }, components: { - Portal: script$D + Portal: script$w } }; var _hoisted_1$i = ["aria-modal"]; @@ -88459,7 +88423,7 @@ const useNodeBookmarkStore = /* @__PURE__ */ defineStore("nodeBookmark", () => { return; } const category = bookmark.split("/").slice(0, -1).join("/"); - const displayName = bookmark.split("/").pop(); + const displayName = bookmark.split("/").pop() ?? ""; const nodeDef = nodeDefStore.nodeDefsByDisplayName[displayName]; if (!nodeDef) return; addBookmark(`${category === "" ? "" : category + "/"}${nodeDef.name}`); @@ -88486,7 +88450,7 @@ const useNodeBookmarkStore = /* @__PURE__ */ defineStore("nodeBookmark", () => { const bookmarkNodes = bookmarks2.map((bookmark) => { if (bookmark.endsWith("/")) return createDummyFolderNodeDef(bookmark); const parts2 = bookmark.split("/"); - const name = parts2.pop(); + const name = parts2.pop() ?? ""; const category = parts2.join("/"); const srcNodeDef = nodeDefStore.nodeDefsByName[name]; if (!srcNodeDef) { @@ -88522,6 +88486,9 @@ const useNodeBookmarkStore = /* @__PURE__ */ defineStore("nodeBookmark", () => { if (!folderNode.isDummyFolder) { throw new Error("Cannot rename non-folder node"); } + if (newName.includes("/")) { + throw new Error('Folder name cannot contain "/"'); + } const newNodePath = folderNode.category.split("/").slice(0, -1).concat(newName).join("/") + "/"; if (newNodePath === folderNode.nodePath) { return; @@ -88672,12 +88639,12 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({ }, [ createVNode(TreeExplorerTreeNode, { node: _ctx.node }, { "before-label": withCtx(() => [ - nodeDef.value.experimental ? (openBlock(), createBlock(unref(script$s), { + nodeDef.value.experimental ? (openBlock(), createBlock(unref(script$t), { key: 0, value: _ctx.$t("experimental"), severity: "primary" }, null, 8, ["value"])) : createCommentVNode("", true), - nodeDef.value.deprecated ? (openBlock(), createBlock(unref(script$s), { + nodeDef.value.deprecated ? (openBlock(), createBlock(unref(script$t), { key: 1, value: _ctx.$t("deprecated"), severity: "danger" @@ -89323,10 +89290,10 @@ var script$b = { }, components: { Button: script$I, - Portal: script$D, + Portal: script$w, WindowMinimizeIcon: script$c, WindowMaximizeIcon: script$d, - TimesIcon: script$E + TimesIcon: script$x } }; function _typeof$5(o) { @@ -90467,7 +90434,7 @@ var script$8 = { }, "onOverlayClick") }, components: { - Portal: script$D + Portal: script$w } }; function _typeof$4(o) { @@ -90742,7 +90709,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({ _: 1 }, 8, ["modelValue"]) ]), - createVNode(unref(script$y)), + createVNode(unref(script$D)), createBaseVNode("div", _hoisted_4$4, [ createBaseVNode("label", _hoisted_5$3, toDisplayString$1(_ctx.$t("color")), 1), createBaseVNode("div", _hoisted_6$2, [ @@ -90863,7 +90830,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({ if (node22.leaf) { return "pi pi-circle-fill"; } - const customization = nodeBookmarkStore.bookmarksCustomization[node22.data.nodePath]; + const customization = nodeBookmarkStore.bookmarksCustomization[node22.data?.nodePath]; return customization?.icon ? "pi " + customization.icon : "pi pi-bookmark-fill"; }, "getIcon"), children: sortedChildren, @@ -91002,7 +90969,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({ optionLabel: "name", onChange: updateSelectedFilterValue }, null, 8, ["modelValue", "options"]), - createVNode(unref(script$C), { + createVNode(unref(script$v), { class: "filter-value-select", modelValue: selectedFilterValue.value, "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => selectedFilterValue.value = $event), @@ -91165,7 +91132,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({ ref: nodeBookmarkTreeExplorerRef, "filtered-node-defs": filteredNodeDefs.value }, null, 8, ["filtered-node-defs"]), - withDirectives(createVNode(unref(script$y), { + withDirectives(createVNode(unref(script$D), { type: "dashed", class: "m-2" }, null, 512), [ @@ -91485,7 +91452,7 @@ var script$7 = { }, components: { Button: script$I, - Portal: script$D + Portal: script$w }, directives: { focustrap: FocusTrap @@ -91880,7 +91847,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({ ]), createBaseVNode("div", _hoisted_7, [ createBaseVNode("div", _hoisted_8, [ - _ctx.isFlatTask && _ctx.task.isHistory ? (openBlock(), createBlock(unref(script$s), { + _ctx.isFlatTask && _ctx.task.isHistory ? (openBlock(), createBlock(unref(script$t), { key: 0, class: "node-name-tag" }, { @@ -91895,7 +91862,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({ ]), _: 1 })) : createCommentVNode("", true), - createVNode(unref(script$s), { + createVNode(unref(script$t), { severity: taskTagSeverity(_ctx.task.displayStatus) }, { default: withCtx(() => [ @@ -92385,8 +92352,8 @@ var script$3 = { }, "ariaSlideLabel") }, components: { - ChevronLeftIcon: script$n, - ChevronRightIcon: script$m + ChevronLeftIcon: script$p, + ChevronRightIcon: script$o }, directives: { ripple: Ripple @@ -92903,10 +92870,10 @@ var script$2 = { }, "ariaNextButtonLabel") }, components: { - ChevronLeftIcon: script$n, - ChevronRightIcon: script$m, + ChevronLeftIcon: script$p, + ChevronRightIcon: script$o, ChevronUpIcon: script$6, - ChevronDownIcon: script$F + ChevronDownIcon: script$y }, directives: { ripple: Ripple @@ -93200,7 +93167,7 @@ var script$1$1 = { components: { GalleriaItem: script$3, GalleriaThumbnails: script$2, - TimesIcon: script$E + TimesIcon: script$x }, directives: { ripple: Ripple @@ -93409,7 +93376,7 @@ var script$5 = { }, components: { GalleriaContent: script$1$1, - Portal: script$D + Portal: script$w }, directives: { focustrap: FocusTrap @@ -93822,7 +93789,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({ style: { "height": "1px" } }, null, 512) ], 512)) : unref(queueStore).isLoading ? (openBlock(), createElementBlock("div", _hoisted_2$2, [ - createVNode(unref(script$k), { style: { "width": "50px", "left": "50%", "transform": "translateX(-50%)" } }) + createVNode(unref(script$m), { style: { "width": "50px", "left": "50%", "transform": "translateX(-50%)" } }) ])) : (openBlock(), createElementBlock("div", _hoisted_3$1, [ createVNode(NoResultsPlaceholder, { icon: "pi pi-info-circle", @@ -93917,7 +93884,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({ class: normalizeClass(["flex items-center", props.class]) }, [ _ctx.position === "left" ? (openBlock(), createElementBlock("span", _hoisted_1$3, toDisplayString$1(_ctx.text), 1)) : createCommentVNode("", true), - createVNode(unref(script$y), { + createVNode(unref(script$D), { align: _ctx.align, type: _ctx.type, layout: _ctx.layout, @@ -94219,38 +94186,48 @@ const useSidebarTabStore = /* @__PURE__ */ defineStore("sidebarTab", () => { registerCoreSidebarTabs }; }); -const useWorkspaceStore = /* @__PURE__ */ defineStore("workspace", { - state: /* @__PURE__ */ __name(() => ({ - spinner: false, - shiftDown: false - }), "state"), - getters: { - toast() { - return useToastStore(); - }, - queueSettings() { - return useQueueSettingsStore(); - }, - command() { - return { - execute: useCommandStore().execute - }; - }, - sidebarTab() { - return useSidebarTabStore(); - } - }, - actions: { - registerSidebarTab(tab) { - this.sidebarTab.registerSidebarTab(tab); - }, - unregisterSidebarTab(id3) { - this.sidebarTab.unregisterSidebarTab(id3); - }, - getSidebarTabs() { - return this.sidebarTab.sidebarTabs; - } +const useWorkspaceStore = /* @__PURE__ */ defineStore("workspace", () => { + const spinner = ref(false); + const shiftDown = ref(false); + const focusMode = ref(false); + const toast = computed(() => useToastStore()); + const queueSettings = computed(() => useQueueSettingsStore()); + const command = computed(() => ({ + execute: useCommandStore().execute + })); + const sidebarTab = computed(() => useSidebarTabStore()); + const setting = computed(() => ({ + get: useSettingStore().get, + set: useSettingStore().set + })); + function registerSidebarTab(tab) { + sidebarTab.value.registerSidebarTab(tab); } + __name(registerSidebarTab, "registerSidebarTab"); + function unregisterSidebarTab(id3) { + sidebarTab.value.unregisterSidebarTab(id3); + } + __name(unregisterSidebarTab, "unregisterSidebarTab"); + function getSidebarTabs() { + return sidebarTab.value.sidebarTabs; + } + __name(getSidebarTabs, "getSidebarTabs"); + return { + spinner, + shiftDown, + focusMode, + toggleFocusMode: /* @__PURE__ */ __name(() => { + focusMode.value = !focusMode.value; + }, "toggleFocusMode"), + toast, + queueSettings, + command, + sidebarTab, + setting, + registerSidebarTab, + unregisterSidebarTab, + getSidebarTabs + }; }); var theme$1 = /* @__PURE__ */ __name(function theme34(_ref) { var dt2 = _ref.dt; @@ -94403,10 +94380,12 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({ const onUnmaximize = /* @__PURE__ */ __name(() => { maximized.value = false; }, "onUnmaximize"); - const contentProps = computed(() => ({ - ...dialogStore.props, - maximized: maximized.value - })); + const contentProps = computed( + () => maximizable.value ? { + ...dialogStore.props, + maximized: maximized.value + } : dialogStore.props + ); const headerId = `dialog-${Math.random().toString(36).substr(2, 9)}`; return (_ctx, _cache) => { return openBlock(), createBlock(unref(script$b), { @@ -94459,7 +94438,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({ const _component_router_view = resolveComponent("router-view"); return openBlock(), createElementBlock(Fragment, null, [ createVNode(_component_router_view), - isLoading.value ? (openBlock(), createBlock(unref(script$k), { + isLoading.value ? (openBlock(), createBlock(unref(script$m), { key: 0, class: "absolute inset-0 flex justify-center items-center h-screen" })) : createCommentVNode("", true), @@ -97320,7 +97299,7 @@ const router = createRouter({ children: [ { path: "", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./GraphView-vodtEF4p.js"), true ? __vite__mapDeps([10,2,11]) : void 0, import.meta.url), "component") + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./GraphView-BumSctau.js"), true ? __vite__mapDeps([10,2,11]) : void 0, import.meta.url), "component") } ] } @@ -103281,7 +103260,7 @@ app.use(router).use(PrimeVue, { } }).use(ConfirmationService).use(ToastService).use(pinia).use(i18n).mount("#vue-app"); export { - UniqueComponentId as $, + Ripple as $, createBaseVNode as A, BaseStyle as B, normalizeClass as C, @@ -103290,166 +103269,170 @@ export { useCommandStore as F, useDialogStore as G, SettingDialogContent as H, - useWorkspaceStore as I, - onBeforeUnmount as J, - useKeybindingStore as K, + onBeforeUnmount as I, + resolveDynamicComponent as J, + useWorkspaceStore as K, LGraphGroup as L, - Fragment as M, - renderList as N, - resolveDynamicComponent as O, + useKeybindingStore as M, + Fragment as N, + renderList as O, script$U as P, getWidth as Q, - getHeight as R, + findSingle as R, SettingDialogHeader as S, Teleport as T, - getOuterWidth as U, - getOuterHeight as V, - getVNodeProp as W, - isArray$3 as X, - vShow as Y, - isNotEmpty as Z, + getOuterHeight as U, + getOffset as V, + getOuterWidth as W, + getHeight as X, + script$p as Y, + script$o as Z, _export_sfc as _, useTitleEditorStore as a, - useWorkflowStore as a$, - ZIndex as a0, - resolveFieldData as a1, - focus as a2, - OverlayEventBus as a3, - isEmpty as a4, - addStyle as a5, - relativePosition as a6, - absolutePosition as a7, - ConnectedOverlayScrollHandler as a8, - isTouchDevice as a9, - watchEffect as aA, - toRaw as aB, - LinkReleaseTriggerAction as aC, - useEventListener as aD, - nextTick as aE, - markRaw as aF, - useModelToNodeStore as aG, - usePragmaticDroppable as aH, - ComfyNodeDefImpl as aI, - ComfyModelDef as aJ, - LGraph as aK, - LLink as aL, - DragAndScale as aM, - LGraphCanvas as aN, - ContextMenu as aO, - LGraphBadge as aP, - script$T as aQ, - script$R as aR, - script$q as aS, - script$E as aT, - normalizeProps as aU, - ToastEventBus as aV, - setAttribute as aW, - TransitionGroup as aX, - useToast as aY, - useToastStore as aZ, - useExecutionStore as a_, - equals as aa, - findLastIndex as ab, - findSingle as ac, - script$N as ad, - script$L as ae, - script$D as af, - script$F as ag, - script$M as ah, - script$p as ai, - Ripple as aj, - toDisplayString$1 as ak, - Transition as al, - createSlots as am, - createTextVNode as an, - useNodeFrequencyStore as ao, - useNodeBookmarkStore as ap, - highlightQuery as aq, - script$s as ar, - formatNumberWithSuffix as as, - NodeSourceType as at, - useI18n as au, - useNodeDefStore as av, - NodePreview as aw, - NodeSearchFilter as ax, - script$b as ay, - SearchFilterChip as az, + ContextMenu as a$, + getAttribute as a0, + focus as a1, + equals as a2, + useBottomPanelStore as a3, + toDisplayString$1 as a4, + script$G as a5, + getVNodeProp as a6, + isArray$3 as a7, + useSidebarTabStore as a8, + vShow as a9, + NodeSourceType as aA, + useI18n as aB, + useNodeDefStore as aC, + NodePreview as aD, + NodeSearchFilter as aE, + script$b as aF, + SearchFilterChip as aG, + watchEffect as aH, + toRaw as aI, + LinkReleaseTriggerAction as aJ, + useEventListener as aK, + nextTick as aL, + getColorPalette as aM, + BadgePosition as aN, + LGraphBadge as aO, + _ as aP, + defaultColorPalette as aQ, + NodeBadgeMode as aR, + markRaw as aS, + useModelToNodeStore as aT, + usePragmaticDroppable as aU, + ComfyNodeDefImpl as aV, + ComfyModelDef as aW, + LGraph as aX, + LLink as aY, + DragAndScale as aZ, + LGraphCanvas as a_, + isNotEmpty as aa, + UniqueComponentId as ab, + ZIndex as ac, + resolveFieldData as ad, + OverlayEventBus as ae, + isEmpty as af, + addStyle as ag, + relativePosition as ah, + absolutePosition as ai, + ConnectedOverlayScrollHandler as aj, + isTouchDevice as ak, + findLastIndex as al, + script$N as am, + script$L as an, + script$w as ao, + script$y as ap, + script$M as aq, + script$q as ar, + Transition as as, + createSlots as at, + createTextVNode as au, + useNodeFrequencyStore as av, + useNodeBookmarkStore as aw, + highlightQuery as ax, + script$t as ay, + formatNumberWithSuffix as az, useCanvasStore as b, - sort as b$, - useTitle as b0, - withModifiers as b1, - script$9 as b2, - resolve as b3, - script$h as b4, - script$w as b5, - isPrintableCharacter as b6, - guardReactiveProps as b7, - useMenuItemStore as b8, - script$H as b9, - NodeBadgeMode as bA, - getColorPalette as bB, - BadgePosition as bC, - _ as bD, - defaultColorPalette as bE, - addValueControlWidgets as bF, - FilterMatchMode as bG, - SearchBox as bH, - KeybindingImpl as bI, - useExtensionStore as bJ, - script$t as bK, - script$C as bL, - script$G as bM, - getFirstFocusableElement as bN, - invokeElementMethod as bO, - getAttribute as bP, - getNextElementSibling as bQ, - getPreviousElementSibling as bR, - script$m as bS, - _default as bT, - FilterOperator as bU, - FocusTrap as bV, - withKeys as bW, - getIndex as bX, - isClickable as bY, - clearSelection as bZ, - localeComparator as b_, - nestedPosition as ba, - useQueueSettingsStore as bb, - storeToRefs as bc, - isRef as bd, - script$u as be, - useQueuePendingTaskCountStore as bf, - useLocalStorage as bg, - useDraggable as bh, - watchDebounced as bi, - inject as bj, - useElementBounding as bk, - script$y as bl, - lodashExports as bm, - useEventBus as bn, - provide as bo, - api as bp, - i18n as bq, - useWorkflowBookmarkStore as br, - useSidebarTabStore as bs, - ComfyDialog as bt, - $el as bu, - ComfyApp as bv, - DraggableList as bw, - KeyComboImpl as bx, - ComfyWidgets as by, - applyTextReplacements as bz, + withKeys as b$, + script$T as b0, + script$R as b1, + script$r as b2, + script$x as b3, + normalizeProps as b4, + ToastEventBus as b5, + setAttribute as b6, + TransitionGroup as b7, + useToast as b8, + useToastStore as b9, + provide as bA, + api as bB, + i18n as bC, + useWorkflowBookmarkStore as bD, + useModelStore as bE, + ComfyDialog as bF, + $el as bG, + ComfyApp as bH, + DraggableList as bI, + KeyComboImpl as bJ, + ComfyWidgets as bK, + applyTextReplacements as bL, + addValueControlWidgets as bM, + FilterMatchMode as bN, + SearchBox as bO, + KeybindingImpl as bP, + useExtensionStore as bQ, + script$u as bR, + script$v as bS, + script$j as bT, + getFirstFocusableElement as bU, + invokeElementMethod as bV, + getNextElementSibling as bW, + getPreviousElementSibling as bX, + _default as bY, + FilterOperator as bZ, + FocusTrap as b_, + useExecutionStore as ba, + useWorkflowStore as bb, + useTitle as bc, + withModifiers as bd, + script$9 as be, + resolve as bf, + script$h as bg, + script$B as bh, + isPrintableCharacter as bi, + guardReactiveProps as bj, + useMenuItemStore as bk, + script$k as bl, + nestedPosition as bm, + useQueueSettingsStore as bn, + storeToRefs as bo, + isRef as bp, + script$z as bq, + useQueuePendingTaskCountStore as br, + useLocalStorage as bs, + useDraggable as bt, + watchDebounced as bu, + inject as bv, + useElementBounding as bw, + script$D as bx, + lodashExports as by, + useEventBus as bz, app$1 as c, - FilterService as c0, - findIndexInList as c1, - find as c2, - exportCSV as c3, - getOffset as c4, - getHiddenElementOuterWidth as c5, - getHiddenElementOuterHeight as c6, - reorderArray as c7, - removeClass as c8, - addClass as c9, + getIndex as c0, + isClickable as c1, + clearSelection as c2, + localeComparator as c3, + sort as c4, + FilterService as c5, + findIndexInList as c6, + find as c7, + exportCSV as c8, + getHiddenElementOuterWidth as c9, + getHiddenElementOuterHeight as ca, + reorderArray as cb, + removeClass as cc, + addClass as cd, defineComponent as d, LGraphNode as e, onUnmounted as f, @@ -103474,4 +103457,4 @@ export { withCtx as y, unref as z }; -//# sourceMappingURL=index-CFrRuGBA.js.map +//# sourceMappingURL=index-BNX_XOqh.js.map diff --git a/comfy/web/assets/index-BNX_XOqh.js.map b/comfy/web/assets/index-BNX_XOqh.js.map new file mode 100644 index 000000000..4022c0a73 --- /dev/null +++ b/comfy/web/assets/index-BNX_XOqh.js.map @@ -0,0 +1 @@ +{"version":3,"mappings":"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","names":["map","extend","remove","i","hasOwnProperty","hasOwn","isArray","toTypeString","isDate","isRegExp","isFunction","isString","isSymbol","isObject","isPromise","objectToString","value","isPlainObject","cacheStringFunction","cache","camelizeRE","camelize","_","hyphenateRE","hyphenate","capitalize","_globalThis","getGlobalThis","options","generateCodeFrame","start","item","escapeHtml","index","isRef","toDisplayString","v","warn","isDirty","isComputed","next","prev","computed","toReactive","x","apply","self","get","set","forEach","toValue","toRefs","toRef","watch","once","effect","seen","warn$1","open","close","keys","values","p","findInsertionIndex","id","event","app","version","_id","insert","disabled","mount","node","enterCbKey","mode","onBeforeEnter","onEnter","onAfterEnter","onBeforeLeave","onLeave","onAfterLeave","callHook","ref","patchProp","hydrate","content","hasWarned","next2","format","root","load","resolve","reject","ref2","createElement","filter","isVNode","lifecycle","data","has","defaults","created","beforeMount","mounted","beforeUpdate","updated","beforeUnmount","unmounted","render","register","_hook","h","handler","mergeOptions","createApp","attrs","prop","validator","isValid","message","isBoolean","normalizeSlot","supported","perf","initFeatureFlags","remove2","track","trigger","i2","isModelListener","emit","render2","block","mergeProps","setup","compile","formatValue","devtools","def","isAsync","clone","trim","number","modelValue","getValue","checked","assign","option","now","pinia","MutationType","_global","saveAs","_navigator","isSafari","fileInput","formatDisplay","state","store","events","assign$1","api","noop","$reset","currentInstance","suffix","add","util","items","objectUtil","errorMap","errorUtil","transform","ctx","step","result","mask","issues","elements","size","processed","p2","ZodFirstPartyTypeKind","prefix","zod.ZodIssueCode","zod2.ZodError","LinkReleaseTriggerMode","LinkReleaseTriggerAction","NodeSourceType","NodeBadgeMode","inputSpec","bind","toString","isNumber","prototype","merge","descriptors","position","iterator","matches","replacer","stack","AxiosError","code","config","utils","toFormData","PlatformFormData","encode","URLSearchParams","FormData","Blob","platform","isFormData","isFileList","transitional","header","w","AxiosHeaders","isCancel","CanceledError","validateStatus","timestamp","invoke","isURLSameOrigin","isAbsoluteURL","headersToObject","mergeConfig","handleError","signal","pos","done","res","adapter","adapters","VERSION","validators","Axios","CancelToken","spread","isAxiosError","HttpStatusCode","create","all","buffer","undefined","INFINITY","global","collection","runInContext","Array","Date","Error","Function","Math","Object","RegExp","String","TypeError","arrayProto","uid","Buffer","Symbol","Uint8Array","DataView","Map","Promise","Set","WeakMap","lodash","isObjectLike","iteratee","isBuffer","isTypedArray","getTag","isSet","isMap","key","setTimeout","includes","object","identity","indexOf","baseToString","clearTimeout","ary","toNumber","othValue","rand","findLastIndex","join","uniq","toArray","parent","find","findLast","reduce","throttle","gt","gte","isArrayBuffer","isElement","isEmpty","isFinite","isNaN","isUndefined","lt","lte","findKey","omit","clamp","endsWith","escape","escapeRegExp","parseInt","repeat","startsWith","unescape","bindAll","chain","range","define","this","TaskItemDisplayStatus","messages","queue","history","tasks","clear","ComfyDialog","onChange","toggle","__defProp","__defNormalProp","_LGraphNode","node2","horizontal","origin","value2","label","options2","setValue","doc","dist","selected","panel2","_LGraph","isVisible","width","css","isAndroid","isClient","isIOS","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__spreadValues","stringify","toTokenKey","_createForOfIteratorHelper","_unsupportedIterableToArray","F","e","r","_arrayLikeToArray","contains","equals","classes","handlers","_typeof$1","o","_toPropertyKey$1","_toPrimitive$1","ConnectedOverlayScrollHandler","bindScrollListener","unbindScrollListener","_typeof","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_toPropertyKey","_defineProperty","_toPrimitive","_default","init","hexToRgb","w2","theme","matchRegex2","mergeKeys2","matchRegex3","toKebabCase2","isObject2","isNotEmpty2","resolve2","css2","matchRegex4","toTokenKey2","isObject3","isArray2","isEmpty2","mergeKeys3","mergeKeys4","ownKeys","_objectSpread","tryOnMounted","defaultDocument","document","stop","unload","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","dt","inlineStyles","Theme","script","_load","ThemeService","fn","loadCSS","loadTheme","BaseComponent","provide","BaseIcon","createElementVNode","script$1","_hoisted_1","_getPTValue","_getPTDatasets","_getPT","_usePT","_useDefaultPT","defaultPT","_loadStyles","_loadCoreStyles","_loadThemeStyles","_loadScopedThemeStyles","_themeChangeListener","_mergeProps","handleHook","isUnstyled","ptm","ptmo","cx","sx","handleWatch","y","scrollTo","scrollTop","numToleratedItems","itemSize","calculateFirst","calculateCoord","scrollInView","calculateFirstInViewport","calculateNumItemsInViewport","calculateNumToleratedItems","calculateLast","vertical","setProp","calculateTranslateVal","setTransform","calculateScrollPos","calculateCurrentIndex","calculateTriggerIndex","containerClass","SpinnerIcon","getPTOptions","_loop","contentRef","InputText","VirtualScroller","InputIcon","IconField","SearchIcon","CheckIcon","BlankIcon","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","onClick","hasFluid","Badge","download","$attrsId","isVertical","a11yAttrs","onScroll","onKeyDown","onKeyUp","requestAnimationFrame","getOptions","formattedValue","parseValue","isDecimalSign","isMinusSign","maxFractionDigits","updateValue","updateModel","clearTimer","filled","AngleUpIcon","AngleDownIcon","getOptionIndex","getOptionLabel","getOptionValue","getOptionRenderKey","isOptionDisabled","isOptionGroup","getOptionGroupLabel","getOptionGroupChildren","getAriaPosInset","_hide","onFocus","onBlur","onFirstHiddenFocus","onLastHiddenFocus","onOptionSelect","onOptionMouseMove","onFilterChange","onFilterKeyDown","onFilterBlur","onArrowDownKey","onArrowUpKey","onArrowLeftKey","onHomeKey","onEndKey","onPageUpKey","onPageDownKey","onEnterKey","onSpaceKey","alignOverlay","bindResizeListener","unbindResizeListener","isOptionMatched","isValidOption","isValidSelectedOption","isSelected","findFirstOptionIndex","findLastOptionIndex","findNextOptionIndex","findPrevOptionIndex","findSelectedOptionIndex","findFirstFocusedOptionIndex","findLastFocusedOptionIndex","searchOptions","changeFocusedOptionIndex","autoUpdateModel","flatOptions","listRef","virtualScrollerRef","visibleOptions","hasSelectedOption","equalityKey","searchFields","filterResultMessageText","filterMessageText","emptyFilterMessageText","emptyMessageText","selectionMessageText","emptySelectionMessageText","selectedMessageText","focusedOptionId","ariaSetSize","virtualScrollerDisabled","Portal","TimesIcon","ChevronDownIcon","onMouseDown","CustomSettingValue","ToggleSwitch","InputNumber","InputSlider","Select","TimesCircleIcon","debounce","scrollWidth","tabs","ChevronLeftIcon","ChevronRightIcon","onKeydown","settingStore","_openBlock","_createElementBlock","$t","v2","isDefined","delta","inc","formatDate","_2","index2","renderList","window","elementRef","distance","isSupported","activeIndex","navigator","data2","buildState","mergeDefaults","pausableWatch","confirm","mode2","parse","batch","onUpdated","preventDefault","els","root2","icon","fetch","loading","setType","x2","y2","scrollHeight","defaultOptions","orientation","onTouchEnd","isReadonly","containerRef","getOffset","size2","show","RE_ARGS","locale","src","des","warnMessages","errorMessages","location","context","isLiteral","baseCompile","type","i18n","code$1","inc$1","getWarnMessage","format$1","resolveValue","msg","source","custom","locales","_context","parts","composer","PromptDialogContent","_ComfyDialog","val","depth","onResize","isLittleEndian","splitValues","decode","text","memoize","onHide","changeTracker","a","b","active","workflow","obj","path","norm","score","pattern","parseQuery","searchers","query","createIndex","nodeDefs","ResourceState","keybindings","IntegratedTerminal","preview","ratio","convertToInput","UserSelectionScreen","workflows","MinusIcon","script$2","_createForOfIteratorHelper$1","_unsupportedIterableToArray$1","ownKeys$1","_objectSpread$1","_defineProperty$1","_toConsumableArray$1","_arrayWithoutHoles$1","_iterableToArray$1","_nonIterableSpread$1","_arrayLikeToArray$1","onTabKey","Checkbox","_hoisted_1$1","render$1","AngleRightIcon","getItemProp","getItemLabel","isItemDisabled","isItemVisible","isItemGroup","hide","activeItemPath","onItemClick","onItemMouseEnter","onItemMouseMove","onEscapeKey","bindOutsideClickListener","unbindOutsideClickListener","processedItems","arrayLikeToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","bind_1","unbind","bindAll_1","require$$0","require$$1","toPrimitive","toPropertyKey","bindEvents","arrayWithoutHoles","iterableToArray","nonIterableSpread","isFirefox","onDragEnd","rafSchd","wrapperFn","hasChanged","unbindEvents","addToRegistry","record","dispatchEventToSource","registerUsage","expandedKeys","_useModel","search","widget","autoFocus","createFocusableElement","focus","onOverlayClick","defaultColorPalette","bookmarks","findFocusableElement","bindDocumentKeyDownListener","unbindDocumentKeyDownListener","createStyle","destroyStyle","Button","WindowMinimizeIcon","WindowMaximizeIcon","ToggleButton","panel","updateInput","onOverlayEnter","onOverlayLeave","onOverlayAfterLeave","onInputClick","onDrag","bindDragListeners","unbindDragListeners","f","NodeLibrarySidebarTab","isTargetClicked","_hoisted_1$3","_hoisted_2$2","stopSlideShow","navBackward","navForward","onRightKey","onLeftKey","findFocusedIndicatorIndex","changedFocusedIndicator","isNavBackwardDisabled","isNavForwardDisabled","isItemActive","ariaPageLabel","ChevronUpIcon","_typeof$2","_defineProperty$2","_toPropertyKey$2","_toPrimitive$2","_hoisted_1$2","_hoisted_2$1","_hoisted_3$1","closeAriaLabel","maskRef","onMaskMouseDown","onMaskMouseUp","WorkflowsSidebarTab","stringifyQuery","NavigationType","NavigationDirection","replace","NavigationFailureType","re","router","route","parseQuery$1","matchedRoute","href","failure","PrimeVue","loadCommonTheme","install","base","accordion","autocomplete","avatar","badge","blockui","breadcrumb","button","datepicker","card","carousel","cascadeselect","checkbox","chip","colorpicker","confirmdialog","confirmpopup","contextmenu","dataview","datatable","dialog","divider","dock","drawer","editor","fieldset","fileupload","iftalabel","floatlabel","galleria","iconfield","image","imagecompare","inlinemessage","inplace","inputchips","inputgroup","inputnumber","inputtext","knob","listbox","megamenu","menu","menubar","metergroup","multiselect","orderlist","organizationchart","overlaybadge","popover","paginator","password","panelmenu","picklist","progressbar","progressspinner","radiobutton","rating","scrollpanel","select","selectbutton","skeleton","slider","speeddial","splitter","splitbutton","stepper","steps","tabmenu","tabview","textarea","tieredmenu","tag","terminal","timeline","togglebutton","toggleswitch","tree","treeselect","treetable","toast","toolbar","virtualscroller","tooltip","ripple","ConfirmationService","require","ToastService","getTarget","Aura","App"],"ignoreList":[0,1,2,3,4,6,7,8,9,10,11,12,14,15,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,73,78,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,154,155,158,159,160,163,164,165,166,172,173,174,177,178,179,180,181,182,184,185,211,227,228,229,230,231,232,233,234,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,283,284,292,293,294,295,301,302,303,304,305,306,307,308,309,310,316,317,318,319,324,325,326,336,337,340,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437],"sources":["../../../../../node_modules/@vue/shared/dist/shared.esm-bundler.js","../../../../../node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","../../../../../node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","../../../../../node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","../../../../../node_modules/vue/dist/vue.runtime.esm-bundler.js","../../src/config.ts","../../../../../node_modules/vue-demi/lib/index.mjs","../../../../../node_modules/@vue/devtools-api/lib/esm/env.js","../../../../../node_modules/@vue/devtools-api/lib/esm/const.js","../../../../../node_modules/@vue/devtools-api/lib/esm/time.js","../../../../../node_modules/@vue/devtools-api/lib/esm/proxy.js","../../../../../node_modules/@vue/devtools-api/lib/esm/index.js","../../../../../node_modules/pinia/dist/pinia.mjs","../../src/stores/toastStore.ts","../../../../../node_modules/zod/lib/index.mjs","../../../../../node_modules/zod-validation-error/dist/index.mjs","../../src/types/comfyWorkflow.ts","../../src/types/colorPalette.ts","../../src/types/searchBoxTypes.ts","../../src/types/nodeSource.ts","../../src/types/keyBindingTypes.ts","../../src/types/apiTypes.ts","../../../../../node_modules/axios/lib/helpers/bind.js","../../../../../node_modules/axios/lib/utils.js","../../../../../node_modules/axios/lib/core/AxiosError.js","../../../../../node_modules/axios/lib/helpers/null.js","../../../../../node_modules/axios/lib/helpers/toFormData.js","../../../../../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../../../../../node_modules/axios/lib/helpers/buildURL.js","../../../../../node_modules/axios/lib/core/InterceptorManager.js","../../../../../node_modules/axios/lib/defaults/transitional.js","../../../../../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../../../../../node_modules/axios/lib/platform/browser/classes/FormData.js","../../../../../node_modules/axios/lib/platform/browser/classes/Blob.js","../../../../../node_modules/axios/lib/platform/browser/index.js","../../../../../node_modules/axios/lib/platform/common/utils.js","../../../../../node_modules/axios/lib/platform/index.js","../../../../../node_modules/axios/lib/helpers/toURLEncodedForm.js","../../../../../node_modules/axios/lib/helpers/formDataToJSON.js","../../../../../node_modules/axios/lib/defaults/index.js","../../../../../node_modules/axios/lib/helpers/parseHeaders.js","../../../../../node_modules/axios/lib/core/AxiosHeaders.js","../../../../../node_modules/axios/lib/core/transformData.js","../../../../../node_modules/axios/lib/cancel/isCancel.js","../../../../../node_modules/axios/lib/cancel/CanceledError.js","../../../../../node_modules/axios/lib/core/settle.js","../../../../../node_modules/axios/lib/helpers/parseProtocol.js","../../../../../node_modules/axios/lib/helpers/speedometer.js","../../../../../node_modules/axios/lib/helpers/throttle.js","../../../../../node_modules/axios/lib/helpers/progressEventReducer.js","../../../../../node_modules/axios/lib/helpers/isURLSameOrigin.js","../../../../../node_modules/axios/lib/helpers/cookies.js","../../../../../node_modules/axios/lib/helpers/isAbsoluteURL.js","../../../../../node_modules/axios/lib/helpers/combineURLs.js","../../../../../node_modules/axios/lib/core/buildFullPath.js","../../../../../node_modules/axios/lib/core/mergeConfig.js","../../../../../node_modules/axios/lib/helpers/resolveConfig.js","../../../../../node_modules/axios/lib/adapters/xhr.js","../../../../../node_modules/axios/lib/helpers/composeSignals.js","../../../../../node_modules/axios/lib/helpers/trackStream.js","../../../../../node_modules/axios/lib/adapters/fetch.js","../../../../../node_modules/axios/lib/adapters/adapters.js","../../../../../node_modules/axios/lib/core/dispatchRequest.js","../../../../../node_modules/axios/lib/env/data.js","../../../../../node_modules/axios/lib/helpers/validator.js","../../../../../node_modules/axios/lib/core/Axios.js","../../../../../node_modules/axios/lib/cancel/CancelToken.js","../../../../../node_modules/axios/lib/helpers/spread.js","../../../../../node_modules/axios/lib/helpers/isAxiosError.js","../../../../../node_modules/axios/lib/helpers/HttpStatusCode.js","../../../../../node_modules/axios/lib/axios.js","../../../../../node_modules/axios/index.js","../../src/scripts/api.ts","../../../../../node_modules/lodash/lodash.js","../../src/stores/queueStore.ts","../../src/scripts/ui/dialog.ts","../../src/scripts/ui/toggleSwitch.ts","../../src/utils/treeUtil.ts","../../../../../node_modules/@comfyorg/litegraph/dist/litegraph.es.js","../../src/stores/coreSettings.ts","../../src/stores/settingStore.ts","../../src/scripts/ui/settings.ts","../../src/stores/dialogStore.ts","../../../../../node_modules/@primeuix/utils/dom/index.mjs","../../../../../node_modules/@primeuix/utils/object/index.mjs","../../../../../node_modules/@primevue/core/api/index.mjs","../../../../../node_modules/@primeuix/utils/classnames/index.mjs","../../../../../node_modules/@primeuix/utils/eventbus/index.mjs","../../../../../node_modules/@primeuix/utils/mergeprops/index.mjs","../../../../../node_modules/@primeuix/utils/uuid/index.mjs","../../../../../node_modules/@primeuix/utils/zindex/index.mjs","../../../../../node_modules/@primevue/core/utils/index.mjs","../../../../../node_modules/@primeuix/styled/index.mjs","../../../../../node_modules/@primevue/core/base/index.mjs","../../../../../node_modules/@primevue/core/usestyle/index.mjs","../../../../../node_modules/@primevue/core/base/style/index.mjs","../../../../../node_modules/@primevue/core/basecomponent/index.mjs","../../../../../node_modules/@primevue/icons/baseicon/style/index.mjs","../../../../../node_modules/@primevue/icons/baseicon/index.mjs","../../../../../node_modules/@primevue/icons/blank/index.mjs","../../../../../node_modules/@primevue/icons/check/index.mjs","../../../../../node_modules/@primevue/icons/search/index.mjs","../../../../../node_modules/primevue/iconfield/style/index.mjs","../../../../../node_modules/primevue/iconfield/index.mjs","../../../../../node_modules/primevue/inputicon/style/index.mjs","../../../../../node_modules/primevue/inputicon/index.mjs","../../../../../node_modules/primevue/inputtext/style/index.mjs","../../../../../node_modules/primevue/inputtext/index.mjs","../../../../../node_modules/@primevue/core/service/index.mjs","../../../../../node_modules/@primevue/core/basedirective/index.mjs","../../../../../node_modules/primevue/ripple/style/index.mjs","../../../../../node_modules/primevue/ripple/index.mjs","../../../../../node_modules/@primevue/icons/spinner/index.mjs","../../../../../node_modules/primevue/virtualscroller/style/index.mjs","../../../../../node_modules/primevue/virtualscroller/index.mjs","../../../../../node_modules/primevue/listbox/style/index.mjs","../../../../../node_modules/primevue/listbox/index.mjs","../../../../../node_modules/primevue/badge/style/index.mjs","../../../../../node_modules/primevue/badge/index.mjs","../../../../../node_modules/primevue/button/style/index.mjs","../../../../../node_modules/primevue/button/index.mjs","../../../../../node_modules/primevue/card/style/index.mjs","../../../../../node_modules/primevue/card/index.mjs","../../src/components/common/NoResultsPlaceholder.vue","../../src/components/dialog/content/LoadWorkflowWarning.vue","../../src/hooks/downloadHooks.ts","../../src/utils/formatUtil.ts","../../src/components/common/FileDownload.vue","../../src/components/dialog/content/MissingModelsWarning.vue","../../../../../node_modules/primevue/tabs/style/index.mjs","../../../../../node_modules/primevue/tabs/index.mjs","../../../../../node_modules/primevue/tabpanels/style/index.mjs","../../../../../node_modules/primevue/tabpanels/index.mjs","../../../../../node_modules/primevue/tabpanel/style/index.mjs","../../../../../node_modules/primevue/tabpanel/index.mjs","../../../../../node_modules/primevue/divider/style/index.mjs","../../../../../node_modules/primevue/divider/index.mjs","../../../../../node_modules/primevue/scrollpanel/style/index.mjs","../../../../../node_modules/primevue/scrollpanel/index.mjs","../../../../../node_modules/@primevue/icons/angledown/index.mjs","../../../../../node_modules/@primevue/icons/angleup/index.mjs","../../../../../node_modules/primevue/inputnumber/style/index.mjs","../../../../../node_modules/primevue/inputnumber/index.mjs","../../../../../node_modules/@primevue/icons/chevrondown/index.mjs","../../../../../node_modules/@primevue/icons/times/index.mjs","../../../../../node_modules/primevue/overlayeventbus/index.mjs","../../../../../node_modules/primevue/portal/index.mjs","../../../../../node_modules/primevue/select/style/index.mjs","../../../../../node_modules/primevue/select/index.mjs","../../../../../node_modules/primevue/toggleswitch/style/index.mjs","../../../../../node_modules/primevue/toggleswitch/index.mjs","../../../../../node_modules/primevue/tag/style/index.mjs","../../../../../node_modules/primevue/tag/index.mjs","../../src/components/dialog/content/setting/CustomSettingValue.vue","../../../../../node_modules/primevue/slider/style/index.mjs","../../../../../node_modules/primevue/slider/index.mjs","../../src/components/common/InputSlider.vue","../../src/components/dialog/content/setting/SettingGroup.vue","../../../../../node_modules/@primevue/icons/timescircle/index.mjs","../../../../../node_modules/primevue/chip/style/index.mjs","../../../../../node_modules/primevue/chip/index.mjs","../../src/components/common/SearchBox.vue","../../src/stores/systemStatsStore.ts","../../../../../node_modules/@primevue/icons/chevronleft/index.mjs","../../../../../node_modules/@primevue/icons/chevronright/index.mjs","../../../../../node_modules/primevue/tabview/style/index.mjs","../../../../../node_modules/primevue/tabview/index.mjs","../../src/components/common/DeviceInfo.vue","../../src/components/common/SystemStatsPanel.vue","../../src/components/dialog/content/setting/AboutPanel.vue","../../src/components/dialog/content/SettingDialogContent.vue","../../src/components/dialog/header/SettingDialogHeader.vue","../../../../../node_modules/@vueuse/shared/index.mjs","../../../../../node_modules/@vueuse/core/index.mjs","../../../../../node_modules/primevue/usetoast/index.mjs","../../src/components/dialog/content/error/FindIssueButton.vue","../../src/components/dialog/content/ExecutionErrorDialogContent.vue","../../../../../node_modules/primevue/progressspinner/style/index.mjs","../../../../../node_modules/primevue/progressspinner/index.mjs","../../../../../node_modules/@intlify/shared/dist/shared.mjs","../../../../../node_modules/@intlify/message-compiler/dist/message-compiler.esm-browser.js","../../../../../node_modules/@intlify/core-base/dist/core-base.mjs","../../../../../node_modules/vue-i18n/dist/vue-i18n.mjs","../../src/components/templates/TemplateWorkflowsContent.vue","../../../../../node_modules/primevue/floatlabel/style/index.mjs","../../../../../node_modules/primevue/floatlabel/index.mjs","../../src/components/dialog/content/PromptDialogContent.vue","../../src/i18n.ts","../../src/services/dialogService.ts","../../src/scripts/ui.ts","../../src/scripts/logging.ts","../../src/scripts/domWidget.ts","../../src/scripts/widgets.ts","../../src/scripts/defaultGraph.ts","../../src/scripts/metadata/png.ts","../../src/scripts/metadata/flac.ts","../../src/scripts/pnginfo.ts","../../src/scripts/ui/imagePreview.ts","../../src/scripts/ui/draggableList.ts","../../src/scripts/utils.ts","../../src/utils/colorUtil.ts","../../src/scripts/ui/components/buttonGroup.ts","../../src/scripts/ui/utils.ts","../../src/scripts/ui/components/button.ts","../../src/scripts/ui/components/popup.ts","../../src/scripts/ui/components/splitButton.ts","../../src/scripts/ui/menu/index.ts","../../src/stores/executionStore.ts","../../src/scripts/changeTracker.ts","../../src/scripts/ui/components/asyncDialog.ts","../../src/scripts/workflows.ts","../../../../../node_modules/fuse.js/dist/fuse.mjs","../../src/services/nodeSearchService.ts","../../src/stores/nodeDefStore.ts","../../src/stores/modelStore.ts","../../src/stores/coreKeybindings.ts","../../src/stores/keybindingStore.ts","../../src/stores/menuItemStore.ts","../../src/components/bottomPanel/tabs/IntegratedTerminal.vue","../../src/hooks/bottomPanelTabs/integratedTerminalTab.ts","../../src/stores/workspace/bottomPanelStore.ts","../../src/stores/extensionStore.ts","../../src/scripts/app.ts","../../src/stores/graphStore.ts","../../src/hooks/errorHooks.ts","../../src/stores/workflowStore.ts","../../src/stores/commandStore.ts","../../../../../node_modules/primevue/tree/style/index.mjs","../../../../../node_modules/@primevue/icons/minus/index.mjs","../../../../../node_modules/primevue/checkbox/style/index.mjs","../../../../../node_modules/primevue/checkbox/index.mjs","../../../../../node_modules/primevue/tree/index.mjs","../../../../../node_modules/primevue/contextmenu/style/index.mjs","../../../../../node_modules/@primevue/icons/angleright/index.mjs","../../../../../node_modules/primevue/contextmenu/index.mjs","../../src/components/common/EditableText.vue","../../../../../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../../../../../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../../../../../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../../../../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../../../../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../../../../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/node_modules/bind-event-listener/dist/bind.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/node_modules/bind-event-listener/dist/bind-all.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/node_modules/bind-event-listener/dist/index.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/honey-pot-fix/honey-pot-data-attribute.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/honey-pot-fix/is-honey-pot-element.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/honey-pot-fix/get-element-from-point-without-honey-pot.js","../../../../../node_modules/@babel/runtime/helpers/esm/typeof.js","../../../../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../../../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../../../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/max-z-index.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/honey-pot-fix/make-honey-pot-fix.js","../../../../../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../../../../../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../../../../../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../../../../../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/public-utils/once.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/is-firefox.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/is-safari.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/changing-window/count-events-for-safari.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/changing-window/is-from-another-window.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/changing-window/is-leaving-window.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/detect-broken-drag.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/get-input.js","../../../../../node_modules/raf-schd/dist/raf-schd.esm.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/ledger/dispatch-consumer-event.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/ledger/lifecycle-manager.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/ledger/usage-ledger.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/public-utils/combine.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/add-attribute.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/make-adapter/make-drop-target.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/make-adapter/make-monitor.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/make-adapter/make-adapter.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/android.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/media-types/text-media-type.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/media-types/url-media-type.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/adapter/element-adapter-native-data-key.js","../../../../../node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/adapter/element-adapter.js","../../src/hooks/dndHooks.ts","../../src/components/common/TreeExplorerTreeNode.vue","../../src/components/common/TreeExplorer.vue","../../../../../node_modules/primevue/toolbar/style/index.mjs","../../../../../node_modules/primevue/toolbar/index.mjs","../../src/components/sidebar/tabs/SidebarTabTemplate.vue","../../src/components/sidebar/tabs/modelLibrary/ModelPreview.vue","../../src/components/sidebar/tabs/modelLibrary/ModelTreeLeaf.vue","../../src/stores/modelToNodeStore.ts","../../src/hooks/treeHooks.ts","../../src/components/sidebar/tabs/ModelLibrarySidebarTab.vue","../../src/hooks/sidebarTabs/modelLibrarySidebarTab.ts","../../../../../node_modules/primevue/focustrap/style/index.mjs","../../../../../node_modules/primevue/focustrap/index.mjs","../../../../../node_modules/primevue/popover/style/index.mjs","../../../../../node_modules/primevue/popover/index.mjs","../../src/extensions/core/colorPalette.ts","../../src/components/node/NodePreview.vue","../../src/stores/nodeBookmarkStore.ts","../../src/components/sidebar/tabs/nodeLibrary/NodeTreeLeaf.vue","../../src/components/sidebar/tabs/nodeLibrary/NodeTreeFolder.vue","../../../../../node_modules/@primevue/icons/windowmaximize/index.mjs","../../../../../node_modules/@primevue/icons/windowminimize/index.mjs","../../../../../node_modules/primevue/dialog/style/index.mjs","../../../../../node_modules/primevue/dialog/index.mjs","../../../../../node_modules/primevue/togglebutton/style/index.mjs","../../../../../node_modules/primevue/togglebutton/index.mjs","../../../../../node_modules/primevue/selectbutton/style/index.mjs","../../../../../node_modules/primevue/selectbutton/index.mjs","../../../../../node_modules/primevue/colorpicker/style/index.mjs","../../../../../node_modules/primevue/colorpicker/index.mjs","../../src/components/common/CustomizationDialog.vue","../../src/components/sidebar/tabs/nodeLibrary/NodeBookmarkTreeExplorer.vue","../../src/components/searchbox/NodeSearchFilter.vue","../../src/components/sidebar/tabs/NodeLibrarySidebarTab.vue","../../src/hooks/sidebarTabs/nodeLibrarySidebarTab.ts","../../../../../node_modules/primevue/useconfirm/index.mjs","../../../../../node_modules/primevue/confirmationeventbus/index.mjs","../../../../../node_modules/primevue/confirmpopup/style/index.mjs","../../../../../node_modules/primevue/confirmpopup/index.mjs","../../src/components/common/ComfyImage.vue","../../src/components/sidebar/tabs/queue/ResultVideo.vue","../../src/components/sidebar/tabs/queue/ResultItem.vue","../../src/components/sidebar/tabs/queue/TaskItem.vue","../../../../../node_modules/primevue/galleria/style/index.mjs","../../../../../node_modules/@primevue/icons/chevronup/index.mjs","../../../../../node_modules/primevue/galleria/index.mjs","../../src/components/sidebar/tabs/queue/ResultGallery.vue","../../src/components/sidebar/tabs/QueueSidebarTab.vue","../../src/hooks/sidebarTabs/queueSidebarTab.ts","../../src/components/sidebar/tabs/workflows/WorkflowTreeLeaf.vue","../../src/components/common/TextDivider.vue","../../src/components/sidebar/tabs/WorkflowsSidebarTab.vue","../../src/hooks/sidebarTabs/workflowsSidebarTab.ts","../../src/stores/workspace/sidebarTabStore.ts","../../src/stores/workspaceStateStore.ts","../../../../../node_modules/primevue/blockui/style/index.mjs","../../../../../node_modules/primevue/blockui/index.mjs","../../src/components/dialog/GlobalDialog.vue","../../src/App.vue","../../../../../node_modules/vue-router/dist/vue-router.mjs","../../src/views/layouts/LayoutDefault.vue","../../src/router.ts","../../../../../node_modules/@primevue/core/config/index.mjs","../../../../../node_modules/@primevue/themes/aura/accordion/index.mjs","../../../../../node_modules/@primevue/themes/aura/autocomplete/index.mjs","../../../../../node_modules/@primevue/themes/aura/avatar/index.mjs","../../../../../node_modules/@primevue/themes/aura/badge/index.mjs","../../../../../node_modules/@primevue/themes/aura/base/index.mjs","../../../../../node_modules/@primevue/themes/aura/blockui/index.mjs","../../../../../node_modules/@primevue/themes/aura/breadcrumb/index.mjs","../../../../../node_modules/@primevue/themes/aura/button/index.mjs","../../../../../node_modules/@primevue/themes/aura/card/index.mjs","../../../../../node_modules/@primevue/themes/aura/carousel/index.mjs","../../../../../node_modules/@primevue/themes/aura/cascadeselect/index.mjs","../../../../../node_modules/@primevue/themes/aura/checkbox/index.mjs","../../../../../node_modules/@primevue/themes/aura/chip/index.mjs","../../../../../node_modules/@primevue/themes/aura/colorpicker/index.mjs","../../../../../node_modules/@primevue/themes/aura/confirmdialog/index.mjs","../../../../../node_modules/@primevue/themes/aura/confirmpopup/index.mjs","../../../../../node_modules/@primevue/themes/aura/contextmenu/index.mjs","../../../../../node_modules/@primevue/themes/aura/datatable/index.mjs","../../../../../node_modules/@primevue/themes/aura/dataview/index.mjs","../../../../../node_modules/@primevue/themes/aura/datepicker/index.mjs","../../../../../node_modules/@primevue/themes/aura/dialog/index.mjs","../../../../../node_modules/@primevue/themes/aura/divider/index.mjs","../../../../../node_modules/@primevue/themes/aura/dock/index.mjs","../../../../../node_modules/@primevue/themes/aura/drawer/index.mjs","../../../../../node_modules/@primevue/themes/aura/editor/index.mjs","../../../../../node_modules/@primevue/themes/aura/fieldset/index.mjs","../../../../../node_modules/@primevue/themes/aura/fileupload/index.mjs","../../../../../node_modules/@primevue/themes/aura/floatlabel/index.mjs","../../../../../node_modules/@primevue/themes/aura/galleria/index.mjs","../../../../../node_modules/@primevue/themes/aura/iconfield/index.mjs","../../../../../node_modules/@primevue/themes/aura/iftalabel/index.mjs","../../../../../node_modules/@primevue/themes/aura/image/index.mjs","../../../../../node_modules/@primevue/themes/aura/imagecompare/index.mjs","../../../../../node_modules/@primevue/themes/aura/inlinemessage/index.mjs","../../../../../node_modules/@primevue/themes/aura/inplace/index.mjs","../../../../../node_modules/@primevue/themes/aura/inputchips/index.mjs","../../../../../node_modules/@primevue/themes/aura/inputgroup/index.mjs","../../../../../node_modules/@primevue/themes/aura/inputnumber/index.mjs","../../../../../node_modules/@primevue/themes/aura/inputtext/index.mjs","../../../../../node_modules/@primevue/themes/aura/knob/index.mjs","../../../../../node_modules/@primevue/themes/aura/listbox/index.mjs","../../../../../node_modules/@primevue/themes/aura/megamenu/index.mjs","../../../../../node_modules/@primevue/themes/aura/menu/index.mjs","../../../../../node_modules/@primevue/themes/aura/menubar/index.mjs","../../../../../node_modules/@primevue/themes/aura/message/index.mjs","../../../../../node_modules/@primevue/themes/aura/metergroup/index.mjs","../../../../../node_modules/@primevue/themes/aura/multiselect/index.mjs","../../../../../node_modules/@primevue/themes/aura/orderlist/index.mjs","../../../../../node_modules/@primevue/themes/aura/organizationchart/index.mjs","../../../../../node_modules/@primevue/themes/aura/overlaybadge/index.mjs","../../../../../node_modules/@primevue/themes/aura/paginator/index.mjs","../../../../../node_modules/@primevue/themes/aura/panel/index.mjs","../../../../../node_modules/@primevue/themes/aura/panelmenu/index.mjs","../../../../../node_modules/@primevue/themes/aura/password/index.mjs","../../../../../node_modules/@primevue/themes/aura/picklist/index.mjs","../../../../../node_modules/@primevue/themes/aura/popover/index.mjs","../../../../../node_modules/@primevue/themes/aura/progressbar/index.mjs","../../../../../node_modules/@primevue/themes/aura/progressspinner/index.mjs","../../../../../node_modules/@primevue/themes/aura/radiobutton/index.mjs","../../../../../node_modules/@primevue/themes/aura/rating/index.mjs","../../../../../node_modules/@primevue/themes/aura/ripple/index.mjs","../../../../../node_modules/@primevue/themes/aura/scrollpanel/index.mjs","../../../../../node_modules/@primevue/themes/aura/select/index.mjs","../../../../../node_modules/@primevue/themes/aura/selectbutton/index.mjs","../../../../../node_modules/@primevue/themes/aura/skeleton/index.mjs","../../../../../node_modules/@primevue/themes/aura/slider/index.mjs","../../../../../node_modules/@primevue/themes/aura/speeddial/index.mjs","../../../../../node_modules/@primevue/themes/aura/splitbutton/index.mjs","../../../../../node_modules/@primevue/themes/aura/splitter/index.mjs","../../../../../node_modules/@primevue/themes/aura/stepper/index.mjs","../../../../../node_modules/@primevue/themes/aura/steps/index.mjs","../../../../../node_modules/@primevue/themes/aura/tabmenu/index.mjs","../../../../../node_modules/@primevue/themes/aura/tabs/index.mjs","../../../../../node_modules/@primevue/themes/aura/tabview/index.mjs","../../../../../node_modules/@primevue/themes/aura/tag/index.mjs","../../../../../node_modules/@primevue/themes/aura/terminal/index.mjs","../../../../../node_modules/@primevue/themes/aura/textarea/index.mjs","../../../../../node_modules/@primevue/themes/aura/tieredmenu/index.mjs","../../../../../node_modules/@primevue/themes/aura/timeline/index.mjs","../../../../../node_modules/@primevue/themes/aura/toast/index.mjs","../../../../../node_modules/@primevue/themes/aura/togglebutton/index.mjs","../../../../../node_modules/@primevue/themes/aura/toggleswitch/index.mjs","../../../../../node_modules/@primevue/themes/aura/toolbar/index.mjs","../../../../../node_modules/@primevue/themes/aura/tooltip/index.mjs","../../../../../node_modules/@primevue/themes/aura/tree/index.mjs","../../../../../node_modules/@primevue/themes/aura/treeselect/index.mjs","../../../../../node_modules/@primevue/themes/aura/treetable/index.mjs","../../../../../node_modules/@primevue/themes/aura/virtualscroller/index.mjs","../../../../../node_modules/@primevue/themes/aura/index.mjs","../../../../../node_modules/primevue/confirmationservice/index.mjs","../../../../../node_modules/primevue/toasteventbus/index.mjs","../../../../../node_modules/primevue/toastservice/index.mjs","../../../../../node_modules/primevue/tooltip/style/index.mjs","../../../../../node_modules/primevue/tooltip/index.mjs","../../src/main.ts"],"sourcesContent":["/**\n* @vue/shared v3.5.11\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction makeMap(str) {\n const map = /* @__PURE__ */ Object.create(null);\n for (const key of str.split(\",\")) map[key] = 1;\n return (val) => val in map;\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter\n(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n};\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction(\n (str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n }\n);\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction((str) => {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\nconst toHandlerKey = cacheStringFunction(\n (str) => {\n const s = str ? `on${capitalize(str)}` : ``;\n return s;\n }\n);\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, ...arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](...arg);\n }\n};\nconst def = (obj, key, value, writable = false) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n writable,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\nfunction genCacheKey(source, options) {\n return source + JSON.stringify(\n options,\n (_, val) => typeof val === \"function\" ? val.toString() : val\n );\n}\n\nconst PatchFlags = {\n \"TEXT\": 1,\n \"1\": \"TEXT\",\n \"CLASS\": 2,\n \"2\": \"CLASS\",\n \"STYLE\": 4,\n \"4\": \"STYLE\",\n \"PROPS\": 8,\n \"8\": \"PROPS\",\n \"FULL_PROPS\": 16,\n \"16\": \"FULL_PROPS\",\n \"NEED_HYDRATION\": 32,\n \"32\": \"NEED_HYDRATION\",\n \"STABLE_FRAGMENT\": 64,\n \"64\": \"STABLE_FRAGMENT\",\n \"KEYED_FRAGMENT\": 128,\n \"128\": \"KEYED_FRAGMENT\",\n \"UNKEYED_FRAGMENT\": 256,\n \"256\": \"UNKEYED_FRAGMENT\",\n \"NEED_PATCH\": 512,\n \"512\": \"NEED_PATCH\",\n \"DYNAMIC_SLOTS\": 1024,\n \"1024\": \"DYNAMIC_SLOTS\",\n \"DEV_ROOT_FRAGMENT\": 2048,\n \"2048\": \"DEV_ROOT_FRAGMENT\",\n \"CACHED\": -1,\n \"-1\": \"CACHED\",\n \"BAIL\": -2,\n \"-2\": \"BAIL\"\n};\nconst PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `NEED_HYDRATION`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `HOISTED`,\n [-2]: `BAIL`\n};\n\nconst ShapeFlags = {\n \"ELEMENT\": 1,\n \"1\": \"ELEMENT\",\n \"FUNCTIONAL_COMPONENT\": 2,\n \"2\": \"FUNCTIONAL_COMPONENT\",\n \"STATEFUL_COMPONENT\": 4,\n \"4\": \"STATEFUL_COMPONENT\",\n \"TEXT_CHILDREN\": 8,\n \"8\": \"TEXT_CHILDREN\",\n \"ARRAY_CHILDREN\": 16,\n \"16\": \"ARRAY_CHILDREN\",\n \"SLOTS_CHILDREN\": 32,\n \"32\": \"SLOTS_CHILDREN\",\n \"TELEPORT\": 64,\n \"64\": \"TELEPORT\",\n \"SUSPENSE\": 128,\n \"128\": \"SUSPENSE\",\n \"COMPONENT_SHOULD_KEEP_ALIVE\": 256,\n \"256\": \"COMPONENT_SHOULD_KEEP_ALIVE\",\n \"COMPONENT_KEPT_ALIVE\": 512,\n \"512\": \"COMPONENT_KEPT_ALIVE\",\n \"COMPONENT\": 6,\n \"6\": \"COMPONENT\"\n};\n\nconst SlotFlags = {\n \"STABLE\": 1,\n \"1\": \"STABLE\",\n \"DYNAMIC\": 2,\n \"2\": \"DYNAMIC\",\n \"FORWARDED\": 3,\n \"3\": \"FORWARDED\"\n};\nconst slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n};\n\nconst 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\";\nconst isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);\nconst isGloballyWhitelisted = isGloballyAllowed;\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n start = Math.max(0, Math.min(start, source.length));\n end = Math.max(0, Math.min(end, source.length));\n if (start > end) return \"\";\n let lines = source.split(/(\\r?\\n)/);\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length) continue;\n const line = j + 1;\n res.push(\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\n );\n const lineLength = lines[j].length;\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\n if (j === i) {\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(\n 1,\n end > count ? lineLength - pad : end - start\n );\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isString(value) || isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\\/\\*[^]*?\\*\\//g;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText.replace(styleCommentRE, \"\").split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n let ret = \"\";\n if (!styles || isString(styles)) {\n return ret;\n }\n for (const key in styles) {\n const value = styles[key];\n if (isString(value) || typeof value === \"number\") {\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props) return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nconst HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\nconst SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\nconst MATH_TAGS = \"annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics\";\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\nconst isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\n);\nfunction includeBooleanAttr(value) {\n return !!value || value === \"\";\n}\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\nconst attrValidationCache = {};\nfunction isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n}\nconst propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n};\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\n);\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\n `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`\n);\nconst isKnownMathMLAttr = /* @__PURE__ */ makeMap(\n `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`\n);\nfunction isRenderableAttrValue(value) {\n if (value == null) {\n return false;\n }\n const type = typeof value;\n return type === \"string\" || type === \"number\" || type === \"boolean\";\n}\n\nconst escapeRE = /[\"'&<>]/;\nfunction escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \""\";\n break;\n case 38:\n escaped = \"&\";\n break;\n case 39:\n escaped = \"'\";\n break;\n case 60:\n escaped = \"<\";\n break;\n case 62:\n escaped = \">\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\n}\nconst commentStripRE = /^-?>||--!>|?@[\\\\\\]^`{|}~]/g;\nfunction getEscapedCssVarName(key, doubleEscape) {\n return key.replace(\n cssVarNameEscapeSymbolsRE,\n (s) => doubleEscape ? s === '\"' ? '\\\\\\\\\\\\\"' : `\\\\\\\\${s}` : `\\\\${s}`\n );\n}\n\nfunction looseCompareArrays(a, b) {\n if (a.length !== b.length) return false;\n let equal = true;\n for (let i = 0; equal && i < a.length; i++) {\n equal = looseEqual(a[i], b[i]);\n }\n return equal;\n}\nfunction looseEqual(a, b) {\n if (a === b) return true;\n let aValidType = isDate(a);\n let bValidType = isDate(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? a.getTime() === b.getTime() : false;\n }\n aValidType = isSymbol(a);\n bValidType = isSymbol(b);\n if (aValidType || bValidType) {\n return a === b;\n }\n aValidType = isArray(a);\n bValidType = isArray(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? looseCompareArrays(a, b) : false;\n }\n aValidType = isObject(a);\n bValidType = isObject(b);\n if (aValidType || bValidType) {\n if (!aValidType || !bValidType) {\n return false;\n }\n const aKeysCount = Object.keys(a).length;\n const bKeysCount = Object.keys(b).length;\n if (aKeysCount !== bKeysCount) {\n return false;\n }\n for (const key in a) {\n const aHasKey = a.hasOwnProperty(key);\n const bHasKey = b.hasOwnProperty(key);\n if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) {\n return false;\n }\n }\n }\n return String(a) === String(b);\n}\nfunction looseIndexOf(arr, val) {\n return arr.findIndex((item) => looseEqual(item, val));\n}\n\nconst isRef = (val) => {\n return !!(val && val[\"__v_isRef\"] === true);\n};\nconst toDisplayString = (val) => {\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? isRef(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val);\n};\nconst replacer = (_key, val) => {\n if (isRef(val)) {\n return replacer(_key, val.value);\n } else if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce(\n (entries, [key, val2], i) => {\n entries[stringifySymbol(key, i) + \" =>\"] = val2;\n return entries;\n },\n {}\n )\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))\n };\n } else if (isSymbol(val)) {\n return stringifySymbol(val);\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\nconst stringifySymbol = (v, i = \"\") => {\n var _a;\n return (\n // Symbol.description in es2019+ so we need to cast here to pass\n // the lib: es2016 check\n isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v\n );\n};\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, PatchFlags, ShapeFlags, SlotFlags, camelize, capitalize, cssVarNameEscapeSymbolsRE, def, escapeHtml, escapeHtmlComment, extend, genCacheKey, genPropsAccessExp, generateCodeFrame, getEscapedCssVarName, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyAllowed, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownMathMLAttr, isKnownSvgAttr, isMap, isMathMLTag, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isRenderableAttrValue, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n","/**\n* @vue/reactivity v3.5.11\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { hasChanged, extend, isArray, isIntegerKey, isSymbol, isMap, hasOwn, isObject, makeMap, capitalize, toRawType, def, isFunction, EMPTY_OBJ, isSet, isPlainObject, NOOP, remove } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this._isPaused = false;\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n pause() {\n if (this._active) {\n this._isPaused = true;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].pause();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].pause();\n }\n }\n }\n /**\n * Resumes the effect scope, including all child scopes and effects.\n */\n resume() {\n if (this._active) {\n if (this._isPaused) {\n this._isPaused = false;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].resume();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].resume();\n }\n }\n }\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n this._active = false;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn, failSilently = false) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nlet activeSub;\nconst EffectFlags = {\n \"ACTIVE\": 1,\n \"1\": \"ACTIVE\",\n \"RUNNING\": 2,\n \"2\": \"RUNNING\",\n \"TRACKING\": 4,\n \"4\": \"TRACKING\",\n \"NOTIFIED\": 8,\n \"8\": \"NOTIFIED\",\n \"DIRTY\": 16,\n \"16\": \"DIRTY\",\n \"ALLOW_RECURSE\": 32,\n \"32\": \"ALLOW_RECURSE\",\n \"PAUSED\": 64,\n \"64\": \"PAUSED\"\n};\nconst pausedQueueEffects = /* @__PURE__ */ new WeakSet();\nclass ReactiveEffect {\n constructor(fn) {\n this.fn = fn;\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 1 | 4;\n /**\n * @internal\n */\n this.next = void 0;\n /**\n * @internal\n */\n this.cleanup = void 0;\n this.scheduler = void 0;\n if (activeEffectScope && activeEffectScope.active) {\n activeEffectScope.effects.push(this);\n }\n }\n pause() {\n this.flags |= 64;\n }\n resume() {\n if (this.flags & 64) {\n this.flags &= ~64;\n if (pausedQueueEffects.has(this)) {\n pausedQueueEffects.delete(this);\n this.trigger();\n }\n }\n }\n /**\n * @internal\n */\n notify() {\n if (this.flags & 2 && !(this.flags & 32)) {\n return;\n }\n if (!(this.flags & 8)) {\n batch(this);\n }\n }\n run() {\n if (!(this.flags & 1)) {\n return this.fn();\n }\n this.flags |= 2;\n cleanupEffect(this);\n prepareDeps(this);\n const prevEffect = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = this;\n shouldTrack = true;\n try {\n return this.fn();\n } finally {\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub !== this) {\n warn(\n \"Active effect was not restored correctly - this is likely a Vue internal bug.\"\n );\n }\n cleanupDeps(this);\n activeSub = prevEffect;\n shouldTrack = prevShouldTrack;\n this.flags &= ~2;\n }\n }\n stop() {\n if (this.flags & 1) {\n for (let link = this.deps; link; link = link.nextDep) {\n removeSub(link);\n }\n this.deps = this.depsTail = void 0;\n cleanupEffect(this);\n this.onStop && this.onStop();\n this.flags &= ~1;\n }\n }\n trigger() {\n if (this.flags & 64) {\n pausedQueueEffects.add(this);\n } else if (this.scheduler) {\n this.scheduler();\n } else {\n this.runIfDirty();\n }\n }\n /**\n * @internal\n */\n runIfDirty() {\n if (isDirty(this)) {\n this.run();\n }\n }\n get dirty() {\n return isDirty(this);\n }\n}\nlet batchDepth = 0;\nlet batchedSub;\nlet batchedComputed;\nfunction batch(sub, isComputed = false) {\n sub.flags |= 8;\n if (isComputed) {\n sub.next = batchedComputed;\n batchedComputed = sub;\n return;\n }\n sub.next = batchedSub;\n batchedSub = sub;\n}\nfunction startBatch() {\n batchDepth++;\n}\nfunction endBatch() {\n if (--batchDepth > 0) {\n return;\n }\n if (batchedComputed) {\n let e = batchedComputed;\n batchedComputed = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= ~8;\n e = next;\n }\n }\n let error;\n while (batchedSub) {\n let e = batchedSub;\n batchedSub = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= ~8;\n if (e.flags & 1) {\n try {\n ;\n e.trigger();\n } catch (err) {\n if (!error) error = err;\n }\n }\n e = next;\n }\n }\n if (error) throw error;\n}\nfunction prepareDeps(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n link.version = -1;\n link.prevActiveLink = link.dep.activeLink;\n link.dep.activeLink = link;\n }\n}\nfunction cleanupDeps(sub) {\n let head;\n let tail = sub.depsTail;\n let link = tail;\n while (link) {\n const prev = link.prevDep;\n if (link.version === -1) {\n if (link === tail) tail = prev;\n removeSub(link);\n removeDep(link);\n } else {\n head = link;\n }\n link.dep.activeLink = link.prevActiveLink;\n link.prevActiveLink = void 0;\n link = prev;\n }\n sub.deps = head;\n sub.depsTail = tail;\n}\nfunction isDirty(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) {\n return true;\n }\n }\n if (sub._dirty) {\n return true;\n }\n return false;\n}\nfunction refreshComputed(computed) {\n if (computed.flags & 4 && !(computed.flags & 16)) {\n return;\n }\n computed.flags &= ~16;\n if (computed.globalVersion === globalVersion) {\n return;\n }\n computed.globalVersion = globalVersion;\n const dep = computed.dep;\n computed.flags |= 2;\n if (dep.version > 0 && !computed.isSSR && computed.deps && !isDirty(computed)) {\n computed.flags &= ~2;\n return;\n }\n const prevSub = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = computed;\n shouldTrack = true;\n try {\n prepareDeps(computed);\n const value = computed.fn(computed._value);\n if (dep.version === 0 || hasChanged(value, computed._value)) {\n computed._value = value;\n dep.version++;\n }\n } catch (err) {\n dep.version++;\n throw err;\n } finally {\n activeSub = prevSub;\n shouldTrack = prevShouldTrack;\n cleanupDeps(computed);\n computed.flags &= ~2;\n }\n}\nfunction removeSub(link, soft = false) {\n const { dep, prevSub, nextSub } = link;\n if (prevSub) {\n prevSub.nextSub = nextSub;\n link.prevSub = void 0;\n }\n if (nextSub) {\n nextSub.prevSub = prevSub;\n link.nextSub = void 0;\n }\n if (dep.subs === link) {\n dep.subs = prevSub;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && dep.subsHead === link) {\n dep.subsHead = nextSub;\n }\n if (!dep.subs && dep.computed) {\n dep.computed.flags &= ~4;\n for (let l = dep.computed.deps; l; l = l.nextDep) {\n removeSub(l, true);\n }\n }\n if (!soft && !--dep.sc && dep.map) {\n dep.map.delete(dep.key);\n }\n}\nfunction removeDep(link) {\n const { prevDep, nextDep } = link;\n if (prevDep) {\n prevDep.nextDep = nextDep;\n link.prevDep = void 0;\n }\n if (nextDep) {\n nextDep.prevDep = prevDep;\n link.nextDep = void 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const e = new ReactiveEffect(fn);\n if (options) {\n extend(e, options);\n }\n try {\n e.run();\n } catch (err) {\n e.stop();\n throw err;\n }\n const runner = e.run.bind(e);\n runner.effect = e;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction onEffectCleanup(fn, failSilently = false) {\n if (activeSub instanceof ReactiveEffect) {\n activeSub.cleanup = fn;\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onEffectCleanup() was called when there was no active effect to associate with.`\n );\n }\n}\nfunction cleanupEffect(e) {\n const { cleanup } = e;\n e.cleanup = void 0;\n if (cleanup) {\n const prevSub = activeSub;\n activeSub = void 0;\n try {\n cleanup();\n } finally {\n activeSub = prevSub;\n }\n }\n}\n\nlet globalVersion = 0;\nclass Link {\n constructor(sub, dep) {\n this.sub = sub;\n this.dep = dep;\n this.version = dep.version;\n this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0;\n }\n}\nclass Dep {\n constructor(computed) {\n this.computed = computed;\n this.version = 0;\n /**\n * Link between this dep and the current active effect\n */\n this.activeLink = void 0;\n /**\n * Doubly linked list representing the subscribing effects (tail)\n */\n this.subs = void 0;\n /**\n * For object property deps cleanup\n */\n this.map = void 0;\n this.key = void 0;\n /**\n * Subscriber counter\n */\n this.sc = 0;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.subsHead = void 0;\n }\n }\n track(debugInfo) {\n if (!activeSub || !shouldTrack || activeSub === this.computed) {\n return;\n }\n let link = this.activeLink;\n if (link === void 0 || link.sub !== activeSub) {\n link = this.activeLink = new Link(activeSub, this);\n if (!activeSub.deps) {\n activeSub.deps = activeSub.depsTail = link;\n } else {\n link.prevDep = activeSub.depsTail;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n }\n addSub(link);\n } else if (link.version === -1) {\n link.version = this.version;\n if (link.nextDep) {\n const next = link.nextDep;\n next.prevDep = link.prevDep;\n if (link.prevDep) {\n link.prevDep.nextDep = next;\n }\n link.prevDep = activeSub.depsTail;\n link.nextDep = void 0;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n if (activeSub.deps === link) {\n activeSub.deps = next;\n }\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub.onTrack) {\n activeSub.onTrack(\n extend(\n {\n effect: activeSub\n },\n debugInfo\n )\n );\n }\n return link;\n }\n trigger(debugInfo) {\n this.version++;\n globalVersion++;\n this.notify(debugInfo);\n }\n notify(debugInfo) {\n startBatch();\n try {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n for (let head = this.subsHead; head; head = head.nextSub) {\n if (head.sub.onTrigger && !(head.sub.flags & 8)) {\n head.sub.onTrigger(\n extend(\n {\n effect: head.sub\n },\n debugInfo\n )\n );\n }\n }\n }\n for (let link = this.subs; link; link = link.prevSub) {\n if (link.sub.notify()) {\n ;\n link.sub.dep.notify();\n }\n }\n } finally {\n endBatch();\n }\n }\n}\nfunction addSub(link) {\n link.dep.sc++;\n if (link.sub.flags & 4) {\n const computed = link.dep.computed;\n if (computed && !link.dep.subs) {\n computed.flags |= 4 | 16;\n for (let l = computed.deps; l; l = l.nextDep) {\n addSub(l);\n }\n }\n const currentTail = link.dep.subs;\n if (currentTail !== link) {\n link.prevSub = currentTail;\n if (currentTail) currentTail.nextSub = link;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && link.dep.subsHead === void 0) {\n link.dep.subsHead = link;\n }\n link.dep.subs = link;\n }\n}\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Object iterate\" : \"\"\n);\nconst MAP_KEY_ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Map keys iterate\" : \"\"\n);\nconst ARRAY_ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Array iterate\" : \"\"\n);\nfunction track(target, type, key) {\n if (shouldTrack && activeSub) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = new Dep());\n dep.map = depsMap;\n dep.key = key;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.track({\n target,\n type,\n key\n });\n } else {\n dep.track();\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n globalVersion++;\n return;\n }\n const run = (dep) => {\n if (dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.trigger({\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n });\n } else {\n dep.trigger();\n }\n }\n };\n startBatch();\n if (type === \"clear\") {\n depsMap.forEach(run);\n } else {\n const targetIsArray = isArray(target);\n const isArrayIndex = targetIsArray && isIntegerKey(key);\n if (targetIsArray && key === \"length\") {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || key2 === ARRAY_ITERATE_KEY || !isSymbol(key2) && key2 >= newLength) {\n run(dep);\n }\n });\n } else {\n if (key !== void 0) {\n run(depsMap.get(key));\n }\n if (isArrayIndex) {\n run(depsMap.get(ARRAY_ITERATE_KEY));\n }\n switch (type) {\n case \"add\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isArrayIndex) {\n run(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n run(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n }\n endBatch();\n}\nfunction getDepFromReactive(object, key) {\n const depMap = targetMap.get(object);\n return depMap && depMap.get(key);\n}\n\nfunction reactiveReadArray(array) {\n const raw = toRaw(array);\n if (raw === array) return raw;\n track(raw, \"iterate\", ARRAY_ITERATE_KEY);\n return isShallow(array) ? raw : raw.map(toReactive);\n}\nfunction shallowReadArray(arr) {\n track(arr = toRaw(arr), \"iterate\", ARRAY_ITERATE_KEY);\n return arr;\n}\nconst arrayInstrumentations = {\n __proto__: null,\n [Symbol.iterator]() {\n return iterator(this, Symbol.iterator, toReactive);\n },\n concat(...args) {\n return reactiveReadArray(this).concat(\n ...args.map((x) => isArray(x) ? reactiveReadArray(x) : x)\n );\n },\n entries() {\n return iterator(this, \"entries\", (value) => {\n value[1] = toReactive(value[1]);\n return value;\n });\n },\n every(fn, thisArg) {\n return apply(this, \"every\", fn, thisArg, void 0, arguments);\n },\n filter(fn, thisArg) {\n return apply(this, \"filter\", fn, thisArg, (v) => v.map(toReactive), arguments);\n },\n find(fn, thisArg) {\n return apply(this, \"find\", fn, thisArg, toReactive, arguments);\n },\n findIndex(fn, thisArg) {\n return apply(this, \"findIndex\", fn, thisArg, void 0, arguments);\n },\n findLast(fn, thisArg) {\n return apply(this, \"findLast\", fn, thisArg, toReactive, arguments);\n },\n findLastIndex(fn, thisArg) {\n return apply(this, \"findLastIndex\", fn, thisArg, void 0, arguments);\n },\n // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement\n forEach(fn, thisArg) {\n return apply(this, \"forEach\", fn, thisArg, void 0, arguments);\n },\n includes(...args) {\n return searchProxy(this, \"includes\", args);\n },\n indexOf(...args) {\n return searchProxy(this, \"indexOf\", args);\n },\n join(separator) {\n return reactiveReadArray(this).join(separator);\n },\n // keys() iterator only reads `length`, no optimisation required\n lastIndexOf(...args) {\n return searchProxy(this, \"lastIndexOf\", args);\n },\n map(fn, thisArg) {\n return apply(this, \"map\", fn, thisArg, void 0, arguments);\n },\n pop() {\n return noTracking(this, \"pop\");\n },\n push(...args) {\n return noTracking(this, \"push\", args);\n },\n reduce(fn, ...args) {\n return reduce(this, \"reduce\", fn, args);\n },\n reduceRight(fn, ...args) {\n return reduce(this, \"reduceRight\", fn, args);\n },\n shift() {\n return noTracking(this, \"shift\");\n },\n // slice could use ARRAY_ITERATE but also seems to beg for range tracking\n some(fn, thisArg) {\n return apply(this, \"some\", fn, thisArg, void 0, arguments);\n },\n splice(...args) {\n return noTracking(this, \"splice\", args);\n },\n toReversed() {\n return reactiveReadArray(this).toReversed();\n },\n toSorted(comparer) {\n return reactiveReadArray(this).toSorted(comparer);\n },\n toSpliced(...args) {\n return reactiveReadArray(this).toSpliced(...args);\n },\n unshift(...args) {\n return noTracking(this, \"unshift\", args);\n },\n values() {\n return iterator(this, \"values\", toReactive);\n }\n};\nfunction iterator(self, method, wrapValue) {\n const arr = shallowReadArray(self);\n const iter = arr[method]();\n if (arr !== self && !isShallow(self)) {\n iter._next = iter.next;\n iter.next = () => {\n const result = iter._next();\n if (result.value) {\n result.value = wrapValue(result.value);\n }\n return result;\n };\n }\n return iter;\n}\nconst arrayProto = Array.prototype;\nfunction apply(self, method, fn, thisArg, wrappedRetFn, args) {\n const arr = shallowReadArray(self);\n const needsWrap = arr !== self && !isShallow(self);\n const methodFn = arr[method];\n if (methodFn !== arrayProto[method]) {\n const result2 = methodFn.apply(self, args);\n return needsWrap ? toReactive(result2) : result2;\n }\n let wrappedFn = fn;\n if (arr !== self) {\n if (needsWrap) {\n wrappedFn = function(item, index) {\n return fn.call(this, toReactive(item), index, self);\n };\n } else if (fn.length > 2) {\n wrappedFn = function(item, index) {\n return fn.call(this, item, index, self);\n };\n }\n }\n const result = methodFn.call(arr, wrappedFn, thisArg);\n return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result;\n}\nfunction reduce(self, method, fn, args) {\n const arr = shallowReadArray(self);\n let wrappedFn = fn;\n if (arr !== self) {\n if (!isShallow(self)) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, toReactive(item), index, self);\n };\n } else if (fn.length > 3) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, item, index, self);\n };\n }\n }\n return arr[method](wrappedFn, ...args);\n}\nfunction searchProxy(self, method, args) {\n const arr = toRaw(self);\n track(arr, \"iterate\", ARRAY_ITERATE_KEY);\n const res = arr[method](...args);\n if ((res === -1 || res === false) && isProxy(args[0])) {\n args[0] = toRaw(args[0]);\n return arr[method](...args);\n }\n return res;\n}\nfunction noTracking(self, method, args = []) {\n pauseTracking();\n startBatch();\n const res = toRaw(self)[method].apply(self, args);\n endBatch();\n resetTracking();\n return res;\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nfunction hasOwnProperty(key) {\n if (!isSymbol(key)) key = String(key);\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _isShallow = false) {\n this._isReadonly = _isReadonly;\n this._isShallow = _isShallow;\n }\n get(target, key, receiver) {\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return isShallow2;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the receiver is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n let fn;\n if (targetIsArray && (fn = arrayInstrumentations[key])) {\n return fn;\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(\n target,\n key,\n // if this is a proxy wrapping a ref, return methods using the raw ref\n // as receiver so that we don't have to call `toRaw` on the ref in all\n // its class methods\n isRef(target) ? target : receiver\n );\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (isShallow2) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(false, isShallow2);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (!this._isShallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n return false;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(\n target,\n key,\n value,\n isRef(target) ? target : receiver\n );\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(true, isShallow2);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction get(target, key, isReadonly2 = false, isShallow2 = false) {\n target = target[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly2) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has: has2 } = getProto(rawTarget);\n const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;\n if (has2.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has2.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n}\nfunction has(key, isReadonly2 = false) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly2) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n}\nfunction size(target, isReadonly2 = false) {\n target = target[\"__v_raw\"];\n !isReadonly2 && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n}\nfunction add(value, _isShallow = false) {\n if (!_isShallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n}\nfunction set(key, value, _isShallow = false) {\n if (!_isShallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n}\nfunction deleteEntry(key) {\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2 ? get2.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n}\nfunction clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\", void 0, void 0, oldTarget);\n }\n return result;\n}\nfunction createForEach(isReadonly2, isShallow2) {\n return function forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;\n !isReadonly2 && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n };\n}\nfunction createIterableMethod(method, isReadonly2, isShallow2) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;\n !isReadonly2 && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations() {\n const mutableInstrumentations2 = {\n get(key) {\n return get(this, key);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, false)\n };\n const shallowInstrumentations2 = {\n get(key) {\n return get(this, key, false, true);\n },\n get size() {\n return size(this);\n },\n has,\n add(value) {\n return add.call(this, value, true);\n },\n set(key, value) {\n return set.call(this, key, value, true);\n },\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, true)\n };\n const readonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, false)\n };\n const shallowReadonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, true)\n };\n const iteratorMethods = [\n \"keys\",\n \"values\",\n \"entries\",\n Symbol.iterator\n ];\n iteratorMethods.forEach((method) => {\n mutableInstrumentations2[method] = createIterableMethod(method, false, false);\n readonlyInstrumentations2[method] = createIterableMethod(method, true, false);\n shallowInstrumentations2[method] = createIterableMethod(method, false, true);\n shallowReadonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n true\n );\n });\n return [\n mutableInstrumentations2,\n readonlyInstrumentations2,\n shallowInstrumentations2,\n shallowReadonlyInstrumentations2\n ];\n}\nconst [\n mutableInstrumentations,\n readonlyInstrumentations,\n shallowInstrumentations,\n shallowReadonlyInstrumentations\n] = /* @__PURE__ */ createInstrumentations();\nfunction createInstrumentationGetter(isReadonly2, shallow) {\n const instrumentations = shallow ? isReadonly2 ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly2 ? readonlyInstrumentations : mutableInstrumentations;\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has2, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has2.call(target, rawKey)) {\n const type = toRawType(target);\n warn(\n `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.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `value cannot be made ${isReadonly2 ? \"readonly\" : \"reactive\"}: ${String(\n target\n )}`\n );\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return value ? !!value[\"__v_raw\"] : false;\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (!hasOwn(value, \"__v_skip\") && Object.isExtensible(value)) {\n def(value, \"__v_skip\", true);\n }\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction isRef(r) {\n return r ? r[\"__v_isRef\"] === true : false;\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, isShallow2) {\n this.dep = new Dep();\n this[\"__v_isRef\"] = true;\n this[\"__v_isShallow\"] = false;\n this._rawValue = isShallow2 ? value : toRaw(value);\n this._value = isShallow2 ? value : toReactive(value);\n this[\"__v_isShallow\"] = isShallow2;\n }\n get value() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n });\n } else {\n this.dep.track();\n }\n return this._value;\n }\n set value(newValue) {\n const oldValue = this._rawValue;\n const useDirectValue = this[\"__v_isShallow\"] || isShallow(newValue) || isReadonly(newValue);\n newValue = useDirectValue ? newValue : toRaw(newValue);\n if (hasChanged(newValue, oldValue)) {\n this._rawValue = newValue;\n this._value = useDirectValue ? newValue : toReactive(newValue);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.trigger({\n target: this,\n type: \"set\",\n key: \"value\",\n newValue,\n oldValue\n });\n } else {\n this.dep.trigger();\n }\n }\n }\n}\nfunction triggerRef(ref2) {\n if (ref2.dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n ref2.dep.trigger({\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: ref2._value\n });\n } else {\n ref2.dep.trigger();\n }\n }\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => key === \"__v_raw\" ? target : unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n const dep = this.dep = new Dep();\n const { get, set } = factory(dep.track.bind(dep), dep.trigger.bind(dep));\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._value = this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n }\n get value() {\n const val = this._object[this._key];\n return this._value = val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this[\"__v_isRef\"] = true;\n this[\"__v_isReadonly\"] = true;\n this._value = void 0;\n }\n get value() {\n return this._value = this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\n}\n\nclass ComputedRefImpl {\n constructor(fn, setter, isSSR) {\n this.fn = fn;\n this.setter = setter;\n /**\n * @internal\n */\n this._value = void 0;\n /**\n * @internal\n */\n this.dep = new Dep(this);\n /**\n * @internal\n */\n this.__v_isRef = true;\n // TODO isolatedDeclarations \"__v_isReadonly\"\n // A computed is also a subscriber that tracks other deps\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 16;\n /**\n * @internal\n */\n this.globalVersion = globalVersion - 1;\n /**\n * @internal\n */\n this.next = void 0;\n // for backwards compat\n this.effect = this;\n this[\"__v_isReadonly\"] = !setter;\n this.isSSR = isSSR;\n }\n /**\n * @internal\n */\n notify() {\n this.flags |= 16;\n if (!(this.flags & 8) && // avoid infinite self recursion\n activeSub !== this) {\n batch(this, true);\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\")) ;\n }\n get value() {\n const link = !!(process.env.NODE_ENV !== \"production\") ? this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n }) : this.dep.track();\n refreshComputed(this);\n if (link) {\n link.version = this.dep.version;\n }\n return this._value;\n }\n set value(newValue) {\n if (this.setter) {\n this.setter(newValue);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\"Write operation failed: computed value is readonly\");\n }\n }\n}\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n if (isFunction(getterOrOptions)) {\n getter = getterOrOptions;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.onTrack = debugOptions.onTrack;\n cRef.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nconst TrackOpTypes = {\n \"GET\": \"get\",\n \"HAS\": \"has\",\n \"ITERATE\": \"iterate\"\n};\nconst TriggerOpTypes = {\n \"SET\": \"set\",\n \"ADD\": \"add\",\n \"DELETE\": \"delete\",\n \"CLEAR\": \"clear\"\n};\nconst ReactiveFlags = {\n \"SKIP\": \"__v_skip\",\n \"IS_REACTIVE\": \"__v_isReactive\",\n \"IS_READONLY\": \"__v_isReadonly\",\n \"IS_SHALLOW\": \"__v_isShallow\",\n \"RAW\": \"__v_raw\",\n \"IS_REF\": \"__v_isRef\"\n};\n\nconst WatchErrorCodes = {\n \"WATCH_GETTER\": 2,\n \"2\": \"WATCH_GETTER\",\n \"WATCH_CALLBACK\": 3,\n \"3\": \"WATCH_CALLBACK\",\n \"WATCH_CLEANUP\": 4,\n \"4\": \"WATCH_CLEANUP\"\n};\nconst INITIAL_WATCHER_VALUE = {};\nconst cleanupMap = /* @__PURE__ */ new WeakMap();\nlet activeWatcher = void 0;\nfunction getCurrentWatcher() {\n return activeWatcher;\n}\nfunction onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) {\n if (owner) {\n let cleanups = cleanupMap.get(owner);\n if (!cleanups) cleanupMap.set(owner, cleanups = []);\n cleanups.push(cleanupFn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onWatcherCleanup() was called when there was no active watcher to associate with.`\n );\n }\n}\nfunction watch(source, cb, options = EMPTY_OBJ) {\n const { immediate, deep, once, scheduler, augmentJob, call } = options;\n const warnInvalidSource = (s) => {\n (options.onWarn || warn)(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const reactiveGetter = (source2) => {\n if (deep) return source2;\n if (isShallow(source2) || deep === false || deep === 0)\n return traverse(source2, 1);\n return traverse(source2);\n };\n let effect;\n let getter;\n let cleanup;\n let boundCleanup;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow(source);\n } else if (isReactive(source)) {\n getter = () => reactiveGetter(source);\n forceTrigger = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return reactiveGetter(s);\n } else if (isFunction(s)) {\n return call ? call(s, 2) : s();\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = call ? () => call(source, 2) : source;\n } else {\n getter = () => {\n if (cleanup) {\n pauseTracking();\n try {\n cleanup();\n } finally {\n resetTracking();\n }\n }\n const currentEffect = activeWatcher;\n activeWatcher = effect;\n try {\n return call ? call(source, 3, [boundCleanup]) : source(boundCleanup);\n } finally {\n activeWatcher = currentEffect;\n }\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n const depth = deep === true ? Infinity : deep;\n getter = () => traverse(baseGetter(), depth);\n }\n const scope = getCurrentScope();\n const watchHandle = () => {\n effect.stop();\n if (scope) {\n remove(scope.effects, effect);\n }\n };\n if (once && cb) {\n const _cb = cb;\n cb = (...args) => {\n _cb(...args);\n watchHandle();\n };\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = (immediateFirstRun) => {\n if (!(effect.flags & 1) || !effect.dirty && !immediateFirstRun) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) {\n if (cleanup) {\n cleanup();\n }\n const currentWatcher = activeWatcher;\n activeWatcher = effect;\n try {\n const args = [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n boundCleanup\n ];\n call ? call(cb, 3, args) : (\n // @ts-expect-error\n cb(...args)\n );\n oldValue = newValue;\n } finally {\n activeWatcher = currentWatcher;\n }\n }\n } else {\n effect.run();\n }\n };\n if (augmentJob) {\n augmentJob(job);\n }\n effect = new ReactiveEffect(getter);\n effect.scheduler = scheduler ? () => scheduler(job, false) : job;\n boundCleanup = (fn) => onWatcherCleanup(fn, false, effect);\n cleanup = effect.onStop = () => {\n const cleanups = cleanupMap.get(effect);\n if (cleanups) {\n if (call) {\n call(cleanups, 4);\n } else {\n for (const cleanup2 of cleanups) cleanup2();\n }\n cleanupMap.delete(effect);\n }\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = options.onTrack;\n effect.onTrigger = options.onTrigger;\n }\n if (cb) {\n if (immediate) {\n job(true);\n } else {\n oldValue = effect.run();\n }\n } else if (scheduler) {\n scheduler(job.bind(null, true), true);\n } else {\n effect.run();\n }\n watchHandle.pause = effect.pause.bind(effect);\n watchHandle.resume = effect.resume.bind(effect);\n watchHandle.stop = watchHandle;\n return watchHandle;\n}\nfunction traverse(value, depth = Infinity, seen) {\n if (depth <= 0 || !isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n depth--;\n if (isRef(value)) {\n traverse(value.value, depth, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, seen);\n }\n for (const key of Object.getOwnPropertySymbols(value)) {\n if (Object.prototype.propertyIsEnumerable.call(value, key)) {\n traverse(value[key], depth, seen);\n }\n }\n }\n return value;\n}\n\nexport { ARRAY_ITERATE_KEY, EffectFlags, EffectScope, ITERATE_KEY, MAP_KEY_ITERATE_KEY, ReactiveEffect, ReactiveFlags, TrackOpTypes, TriggerOpTypes, WatchErrorCodes, computed, customRef, effect, effectScope, enableTracking, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onEffectCleanup, onScopeDispose, onWatcherCleanup, pauseTracking, proxyRefs, reactive, reactiveReadArray, readonly, ref, resetTracking, shallowReactive, shallowReadArray, shallowReadonly, shallowRef, stop, toRaw, toReactive, toReadonly, toRef, toRefs, toValue, track, traverse, trigger, triggerRef, unref, watch };\n","/**\n* @vue/runtime-core v3.5.11\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { pauseTracking, resetTracking, isRef, toRaw, traverse, shallowRef, readonly, isReactive, ref, isShallow, shallowReadArray, toReactive, shallowReadonly, track, reactive, shallowReactive, trigger, ReactiveEffect, watch as watch$1, customRef, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, TrackOpTypes, TriggerOpTypes, customRef, effect, effectScope, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, onWatcherCleanup, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, EMPTY_OBJ, NOOP, getGlobalThis, extend, isBuiltInDirective, hasOwn, remove, def, isOn, isReservedProp, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr, isRenderableAttrValue, getEscapedCssVarName, isObject, isRegExp, invokeArrayFns, toHandlerKey, capitalize, camelize, isGloballyAllowed, NO, hyphenate, EMPTY_ARR, toRawType, makeMap, hasChanged, looseToNumber, isModelListener, toNumber } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nlet isWarning = false;\nfunction warn$1(msg, ...args) {\n if (isWarning) return;\n isWarning = true;\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n // eslint-disable-next-line no-restricted-syntax\n msg + args.map((a) => {\n var _a, _b;\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\n }).join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n isWarning = false;\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\nfunction assertNumber(val, type) {\n if (!!!(process.env.NODE_ENV !== \"production\")) return;\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn$1(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorCodes = {\n \"SETUP_FUNCTION\": 0,\n \"0\": \"SETUP_FUNCTION\",\n \"RENDER_FUNCTION\": 1,\n \"1\": \"RENDER_FUNCTION\",\n \"NATIVE_EVENT_HANDLER\": 5,\n \"5\": \"NATIVE_EVENT_HANDLER\",\n \"COMPONENT_EVENT_HANDLER\": 6,\n \"6\": \"COMPONENT_EVENT_HANDLER\",\n \"VNODE_HOOK\": 7,\n \"7\": \"VNODE_HOOK\",\n \"DIRECTIVE_HOOK\": 8,\n \"8\": \"DIRECTIVE_HOOK\",\n \"TRANSITION_HOOK\": 9,\n \"9\": \"TRANSITION_HOOK\",\n \"APP_ERROR_HANDLER\": 10,\n \"10\": \"APP_ERROR_HANDLER\",\n \"APP_WARN_HANDLER\": 11,\n \"11\": \"APP_WARN_HANDLER\",\n \"FUNCTION_REF\": 12,\n \"12\": \"FUNCTION_REF\",\n \"ASYNC_COMPONENT_LOADER\": 13,\n \"13\": \"ASYNC_COMPONENT_LOADER\",\n \"SCHEDULER\": 14,\n \"14\": \"SCHEDULER\",\n \"COMPONENT_UPDATE\": 15,\n \"15\": \"COMPONENT_UPDATE\",\n \"APP_UNMOUNT_CLEANUP\": 16,\n \"16\": \"APP_UNMOUNT_CLEANUP\"\n};\nconst ErrorTypeStrings$1 = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush\",\n [15]: \"component update\",\n [16]: \"app unmount cleanup function\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n try {\n return args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n if (isArray(fn)) {\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}`\n );\n }\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || EMPTY_OBJ;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings$1[type] : `https://vuejs.org/error-reference/#runtime-${type}`;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n if (errorHandler) {\n pauseTracking();\n callWithErrorHandling(errorHandler, null, 10, [\n err,\n exposedInstance,\n errorInfo\n ]);\n resetTracking();\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction);\n}\nfunction logError(err, type, contextVNode, throwInDev = true, throwInProd = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings$1[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n throw err;\n } else {\n console.error(err);\n }\n } else if (throwInProd) {\n throw err;\n } else {\n console.error(err);\n }\n}\n\nconst queue = [];\nlet flushIndex = -1;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.flags & 2) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!(job.flags & 1)) {\n const jobId = getId(job);\n const lastJob = queue[queue.length - 1];\n if (!lastJob || // fast path when the job id is larger than the tail\n !(job.flags & 2) && jobId >= getId(lastJob)) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(jobId), 0, job);\n }\n job.flags |= 1;\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!currentFlushPromise) {\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (activePostFlushCbs && cb.id === -1) {\n activePostFlushCbs.splice(postFlushIndex + 1, 0, cb);\n } else if (!(cb.flags & 1)) {\n pendingPostFlushCbs.push(cb);\n cb.flags |= 1;\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, seen, i = flushIndex + 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.flags & 2) {\n if (instance && cb.id !== instance.uid) {\n continue;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n if (cb.flags & 4) {\n cb.flags &= ~1;\n }\n cb();\n if (!(cb.flags & 4)) {\n cb.flags &= ~1;\n }\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)].sort(\n (a, b) => getId(a) - getId(b)\n );\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n const cb = activePostFlushCbs[postFlushIndex];\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n if (cb.flags & 4) {\n cb.flags &= ~1;\n }\n if (!(cb.flags & 8)) cb();\n cb.flags &= ~1;\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id;\nfunction flushJobs(seen) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && !(job.flags & 8)) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n if (job.flags & 4) {\n job.flags &= ~1;\n }\n callWithErrorHandling(\n job,\n job.i,\n job.i ? 15 : 14\n );\n if (!(job.flags & 4)) {\n job.flags &= ~1;\n }\n }\n }\n } finally {\n for (; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job) {\n job.flags &= ~1;\n }\n }\n flushIndex = -1;\n queue.length = 0;\n flushPostFlushCbs(seen);\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n const count = seen.get(fn) || 0;\n if (count > RECURSION_LIMIT) {\n const instance = fn.i;\n const componentName = instance && getComponentName(instance.type);\n handleError(\n `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.`,\n null,\n 10\n );\n return true;\n }\n seen.set(fn, count + 1);\n return false;\n}\n\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = /* @__PURE__ */ new Map();\nif (!!(process.env.NODE_ENV !== \"production\")) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = /* @__PURE__ */ new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: /* @__PURE__ */ new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n record.initialDef.render = newRender;\n [...record.instances].forEach((instance) => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n isHmrUpdating = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record) return;\n newComp = normalizeClassComponent(newComp);\n updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (let i = 0; i < instances.length; i++) {\n const instance = instances[i];\n const oldComp = normalizeClassComponent(instance.type);\n let dirtyInstances = hmrDirtyComponents.get(oldComp);\n if (!dirtyInstances) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.set(oldComp, dirtyInstances = /* @__PURE__ */ new Set());\n }\n dirtyInstances.add(instance);\n instance.appContext.propsCache.delete(instance.type);\n instance.appContext.emitsCache.delete(instance.type);\n instance.appContext.optionsCache.delete(instance.type);\n if (instance.ceReload) {\n dirtyInstances.add(instance);\n instance.ceReload(newComp.styles);\n dirtyInstances.delete(instance);\n } else if (instance.parent) {\n queueJob(() => {\n isHmrUpdating = true;\n instance.parent.update();\n isHmrUpdating = false;\n dirtyInstances.delete(instance);\n });\n } else if (instance.appContext.reload) {\n instance.appContext.reload();\n } else if (typeof window !== \"undefined\") {\n window.location.reload();\n } else {\n console.warn(\n \"[HMR] Root or manually mounted instance modified. Full reload required.\"\n );\n }\n if (instance.root.ce && instance !== instance.root) {\n instance.root.ce._removeChildStyle(oldComp);\n }\n }\n queuePostFlushCb(() => {\n hmrDirtyComponents.clear();\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== \"__file\" && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n } catch (e) {\n console.error(e);\n console.warn(\n `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`\n );\n }\n };\n}\n\nlet devtools$1;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools$1) {\n devtools$1.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook$1(hook, target) {\n var _a, _b;\n devtools$1 = hook;\n if (devtools$1) {\n devtools$1.enabled = true;\n buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n // eslint-disable-next-line no-restricted-syntax\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook$1(newHook, target);\n });\n setTimeout(() => {\n if (!devtools$1) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools$1 && typeof devtools$1.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools$1.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n component.parent ? component.parent.uid : void 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:start\" /* PERFORMANCE_START */);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:end\" /* PERFORMANCE_END */);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\nfunction popScopeId() {\n currentScopeId = null;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx) return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n if (currentRenderingInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getComponentPublicInstance(currentRenderingInstance);\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n pauseTracking();\n callWithAsyncErrorHandling(hook, instance, 8, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n resetTracking();\n }\n }\n}\n\nconst TeleportEndKey = Symbol(\"_vte\");\nconst isTeleport = (type) => type.__isTeleport;\nconst isTeleportDisabled = (props) => props && (props.disabled || props.disabled === \"\");\nconst isTeleportDeferred = (props) => props && (props.defer || props.defer === \"\");\nconst isTargetSVG = (target) => typeof SVGElement !== \"undefined\" && target instanceof SVGElement;\nconst isTargetMathML = (target) => typeof MathMLElement === \"function\" && target instanceof MathMLElement;\nconst resolveTarget = (props, select) => {\n const targetSelector = props && props.to;\n if (isString(targetSelector)) {\n if (!select) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Current renderer does not support string target for Teleports. (missing querySelector renderer option)`\n );\n return null;\n } else {\n const target = select(targetSelector);\n if (!!(process.env.NODE_ENV !== \"production\") && !target && !isTeleportDisabled(props)) {\n warn$1(\n `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.`\n );\n }\n return target;\n }\n } else {\n if (!!(process.env.NODE_ENV !== \"production\") && !targetSelector && !isTeleportDisabled(props)) {\n warn$1(`Invalid Teleport target: ${targetSelector}`);\n }\n return targetSelector;\n }\n};\nconst TeleportImpl = {\n name: \"Teleport\",\n __isTeleport: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) {\n const {\n mc: mountChildren,\n pc: patchChildren,\n pbc: patchBlockChildren,\n o: { insert, querySelector, createText, createComment }\n } = internals;\n const disabled = isTeleportDisabled(n2.props);\n let { shapeFlag, children, dynamicChildren } = n2;\n if (!!(process.env.NODE_ENV !== \"production\") && isHmrUpdating) {\n optimized = false;\n dynamicChildren = null;\n }\n if (n1 == null) {\n const placeholder = n2.el = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport start\") : createText(\"\");\n const mainAnchor = n2.anchor = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport end\") : createText(\"\");\n insert(placeholder, container, anchor);\n insert(mainAnchor, container, anchor);\n const mount = (container2, anchor2) => {\n if (shapeFlag & 16) {\n if (parentComponent && parentComponent.isCE) {\n parentComponent.ce._teleportTarget = container2;\n }\n mountChildren(\n children,\n container2,\n anchor2,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n };\n const mountToTarget = () => {\n const target = n2.target = resolveTarget(n2.props, querySelector);\n const targetAnchor = prepareAnchor(target, n2, createText, insert);\n if (target) {\n if (namespace !== \"svg\" && isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace !== \"mathml\" && isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (!disabled) {\n mount(target, targetAnchor);\n updateCssVars(n2);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && !disabled) {\n warn$1(\n \"Invalid Teleport target on mount:\",\n target,\n `(${typeof target})`\n );\n }\n };\n if (disabled) {\n mount(container, mainAnchor);\n updateCssVars(n2);\n }\n if (isTeleportDeferred(n2.props)) {\n queuePostRenderEffect(mountToTarget, parentSuspense);\n } else {\n mountToTarget();\n }\n } else {\n n2.el = n1.el;\n n2.targetStart = n1.targetStart;\n const mainAnchor = n2.anchor = n1.anchor;\n const target = n2.target = n1.target;\n const targetAnchor = n2.targetAnchor = n1.targetAnchor;\n const wasDisabled = isTeleportDisabled(n1.props);\n const currentContainer = wasDisabled ? container : target;\n const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;\n if (namespace === \"svg\" || isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace === \"mathml\" || isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (dynamicChildren) {\n patchBlockChildren(\n n1.dynamicChildren,\n dynamicChildren,\n currentContainer,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds\n );\n traverseStaticChildren(n1, n2, true);\n } else if (!optimized) {\n patchChildren(\n n1,\n n2,\n currentContainer,\n currentAnchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n false\n );\n }\n if (disabled) {\n if (!wasDisabled) {\n moveTeleport(\n n2,\n container,\n mainAnchor,\n internals,\n 1\n );\n } else {\n if (n2.props && n1.props && n2.props.to !== n1.props.to) {\n n2.props.to = n1.props.to;\n }\n }\n } else {\n if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {\n const nextTarget = n2.target = resolveTarget(\n n2.props,\n querySelector\n );\n if (nextTarget) {\n moveTeleport(\n n2,\n nextTarget,\n null,\n internals,\n 0\n );\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n \"Invalid Teleport target on update:\",\n target,\n `(${typeof target})`\n );\n }\n } else if (wasDisabled) {\n moveTeleport(\n n2,\n target,\n targetAnchor,\n internals,\n 1\n );\n }\n }\n updateCssVars(n2);\n }\n },\n remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {\n const {\n shapeFlag,\n children,\n anchor,\n targetStart,\n targetAnchor,\n target,\n props\n } = vnode;\n if (target) {\n hostRemove(targetStart);\n hostRemove(targetAnchor);\n }\n doRemove && hostRemove(anchor);\n if (shapeFlag & 16) {\n const shouldRemove = doRemove || !isTeleportDisabled(props);\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n unmount(\n child,\n parentComponent,\n parentSuspense,\n shouldRemove,\n !!child.dynamicChildren\n );\n }\n }\n },\n move: moveTeleport,\n hydrate: hydrateTeleport\n};\nfunction moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) {\n if (moveType === 0) {\n insert(vnode.targetAnchor, container, parentAnchor);\n }\n const { el, anchor, shapeFlag, children, props } = vnode;\n const isReorder = moveType === 2;\n if (isReorder) {\n insert(el, container, parentAnchor);\n }\n if (!isReorder || isTeleportDisabled(props)) {\n if (shapeFlag & 16) {\n for (let i = 0; i < children.length; i++) {\n move(\n children[i],\n container,\n parentAnchor,\n 2\n );\n }\n }\n }\n if (isReorder) {\n insert(anchor, container, parentAnchor);\n }\n}\nfunction hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {\n o: { nextSibling, parentNode, querySelector, insert, createText }\n}, hydrateChildren) {\n const target = vnode.target = resolveTarget(\n vnode.props,\n querySelector\n );\n if (target) {\n const targetNode = target._lpa || target.firstChild;\n if (vnode.shapeFlag & 16) {\n if (isTeleportDisabled(vnode.props)) {\n vnode.anchor = hydrateChildren(\n nextSibling(node),\n vnode,\n parentNode(node),\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n vnode.targetStart = targetNode;\n vnode.targetAnchor = targetNode && nextSibling(targetNode);\n } else {\n vnode.anchor = nextSibling(node);\n let targetAnchor = targetNode;\n while (targetAnchor) {\n if (targetAnchor && targetAnchor.nodeType === 8) {\n if (targetAnchor.data === \"teleport start anchor\") {\n vnode.targetStart = targetAnchor;\n } else if (targetAnchor.data === \"teleport anchor\") {\n vnode.targetAnchor = targetAnchor;\n target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);\n break;\n }\n }\n targetAnchor = nextSibling(targetAnchor);\n }\n if (!vnode.targetAnchor) {\n prepareAnchor(target, vnode, createText, insert);\n }\n hydrateChildren(\n targetNode && nextSibling(targetNode),\n vnode,\n target,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n }\n updateCssVars(vnode);\n }\n return vnode.anchor && nextSibling(vnode.anchor);\n}\nconst Teleport = TeleportImpl;\nfunction updateCssVars(vnode) {\n const ctx = vnode.ctx;\n if (ctx && ctx.ut) {\n let node = vnode.targetStart;\n while (node && node !== vnode.targetAnchor) {\n if (node.nodeType === 1) node.setAttribute(\"data-v-owner\", ctx.uid);\n node = node.nextSibling;\n }\n ctx.ut();\n }\n}\nfunction prepareAnchor(target, vnode, createText, insert) {\n const targetStart = vnode.targetStart = createText(\"\");\n const targetAnchor = vnode.targetAnchor = createText(\"\");\n targetStart[TeleportEndKey] = targetAnchor;\n if (target) {\n insert(targetStart, target);\n insert(targetAnchor, target);\n }\n return targetAnchor;\n}\n\nconst leaveCbKey = Symbol(\"_leaveCb\");\nconst enterCbKey = Symbol(\"_enterCb\");\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: /* @__PURE__ */ new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionPropsValidators = {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n};\nconst recursiveGetSubtree = (instance) => {\n const subTree = instance.subTree;\n return subTree.component ? recursiveGetSubtree(subTree.component) : subTree;\n};\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: BaseTransitionPropsValidators,\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n const child = findNonCommentChild(children);\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n if (!!(process.env.NODE_ENV !== \"production\") && mode && mode !== \"in-out\" && mode !== \"out-in\" && mode !== \"default\") {\n warn$1(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n const innerChild = getInnerChild$1(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n let enterHooks = resolveTransitionHooks(\n innerChild,\n rawProps,\n state,\n instance,\n // #11061, ensure enterHooks is fresh after clone\n (hooks) => enterHooks = hooks\n );\n if (innerChild.type !== Comment) {\n setTransitionHooks(innerChild, enterHooks);\n }\n const oldChild = instance.subTree;\n const oldInnerChild = oldChild && getInnerChild$1(oldChild);\n if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) {\n const leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\" && innerChild.type !== Comment) {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (!(instance.job.flags & 8)) {\n instance.update();\n }\n delete leavingHooks.afterLeave;\n };\n return emptyPlaceholder(child);\n } else if (mode === \"in-out\" && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(\n state,\n oldInnerChild\n );\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n el[leaveCbKey] = () => {\n earlyRemove();\n el[leaveCbKey] = void 0;\n delete enterHooks.delayedLeave;\n };\n enterHooks.delayedLeave = delayedLeave;\n };\n }\n }\n return child;\n };\n }\n};\nfunction findNonCommentChild(children) {\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n for (const c of children) {\n if (c.type !== Comment) {\n if (!!(process.env.NODE_ENV !== \"production\") && hasFound) {\n warn$1(\n \" can only be used on a single element or component. Use for lists.\"\n );\n break;\n }\n child = c;\n hasFound = true;\n if (!!!(process.env.NODE_ENV !== \"production\")) break;\n }\n }\n }\n return child;\n}\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = /* @__PURE__ */ Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\nfunction resolveTransitionHooks(vnode, props, state, instance, postClone) {\n const {\n appear,\n mode,\n persisted = false,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onEnterCancelled,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n onLeaveCancelled,\n onBeforeAppear,\n onAppear,\n onAfterAppear,\n onAppearCancelled\n } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook && callWithAsyncErrorHandling(\n hook,\n instance,\n 9,\n args\n );\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every((hook2) => hook2.length <= 1)) done();\n } else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n } else {\n return;\n }\n }\n if (el[leaveCbKey]) {\n el[leaveCbKey](\n true\n /* cancelled */\n );\n }\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {\n leavingVNode.el[leaveCbKey]();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n } else {\n return;\n }\n }\n let called = false;\n const done = el[enterCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n } else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el[enterCbKey] = void 0;\n };\n if (hook) {\n callAsyncHook(hook, [el, done]);\n } else {\n done();\n }\n },\n leave(el, remove) {\n const key2 = String(vnode.key);\n if (el[enterCbKey]) {\n el[enterCbKey](\n true\n /* cancelled */\n );\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = el[leaveCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n } else {\n callHook(onAfterLeave, [el]);\n }\n el[leaveCbKey] = void 0;\n if (leavingVNodesCache[key2] === vnode) {\n delete leavingVNodesCache[key2];\n }\n };\n leavingVNodesCache[key2] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n } else {\n done();\n }\n },\n clone(vnode2) {\n const hooks2 = resolveTransitionHooks(\n vnode2,\n props,\n state,\n instance,\n postClone\n );\n if (postClone) postClone(hooks2);\n return hooks2;\n }\n };\n return hooks;\n}\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getInnerChild$1(vnode) {\n if (!isKeepAlive(vnode)) {\n if (isTeleport(vnode.type) && vnode.children) {\n return findNonCommentChild(vnode.children);\n }\n return vnode;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && vnode.component) {\n return vnode.component.subTree;\n }\n const { shapeFlag, children } = vnode;\n if (children) {\n if (shapeFlag & 16) {\n return children[0];\n }\n if (shapeFlag & 32 && isFunction(children.default)) {\n return children.default();\n }\n }\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 && vnode.component) {\n vnode.transition = hooks;\n setTransitionHooks(vnode.component.subTree, hooks);\n } else if (vnode.shapeFlag & 128) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n } else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);\n if (child.type === Fragment) {\n if (child.patchFlag & 128) keyedFragmentCount++;\n ret = ret.concat(\n getTransitionRawChildren(child.children, keepComment, key)\n );\n } else if (keepComment || child.type !== Comment) {\n ret.push(key != null ? cloneVNode(child, { key }) : child);\n }\n }\n if (keyedFragmentCount > 1) {\n for (let i = 0; i < ret.length; i++) {\n ret[i].patchFlag = -2;\n }\n }\n return ret;\n}\n\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8236: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nfunction useId() {\n const i = getCurrentInstance();\n if (i) {\n return (i.appContext.config.idPrefix || \"v\") + \"-\" + i.ids[0] + i.ids[1]++;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useId() is called when there is no active component instance to be associated with.`\n );\n }\n return \"\";\n}\nfunction markAsyncBoundary(instance) {\n instance.ids = [instance.ids[0] + instance.ids[2]++ + \"-\", 0, 0];\n}\n\nconst knownTemplateRefs = /* @__PURE__ */ new WeakSet();\nfunction useTemplateRef(key) {\n const i = getCurrentInstance();\n const r = shallowRef(null);\n if (i) {\n const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;\n let desc;\n if (!!(process.env.NODE_ENV !== \"production\") && (desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) {\n warn$1(`useTemplateRef('${key}') already exists.`);\n } else {\n Object.defineProperty(refs, key, {\n enumerable: true,\n get: () => r.value,\n set: (val) => r.value = val\n });\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useTemplateRef() is called when there is no active component instance to be associated with.`\n );\n }\n const ret = !!(process.env.NODE_ENV !== \"production\") ? readonly(r) : r;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n knownTemplateRefs.add(ret);\n }\n return ret;\n}\n\nfunction setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {\n if (isArray(rawRef)) {\n rawRef.forEach(\n (r, i) => setRef(\n r,\n oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef),\n parentSuspense,\n vnode,\n isUnmount\n )\n );\n return;\n }\n if (isAsyncWrapper(vnode) && !isUnmount) {\n return;\n }\n const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el;\n const value = isUnmount ? null : refValue;\n const { i: owner, r: ref } = rawRef;\n if (!!(process.env.NODE_ENV !== \"production\") && !owner) {\n warn$1(\n `Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`\n );\n return;\n }\n const oldRef = oldRawRef && oldRawRef.r;\n const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;\n const setupState = owner.setupState;\n const rawSetupState = toRaw(setupState);\n const canSetSetupRef = setupState === EMPTY_OBJ ? () => false : (key) => {\n if (!!(process.env.NODE_ENV !== \"production\") && knownTemplateRefs.has(rawSetupState[key])) {\n return false;\n }\n return hasOwn(rawSetupState, key);\n };\n if (oldRef != null && oldRef !== ref) {\n if (isString(oldRef)) {\n refs[oldRef] = null;\n if (canSetSetupRef(oldRef)) {\n setupState[oldRef] = null;\n }\n } else if (isRef(oldRef)) {\n oldRef.value = null;\n }\n }\n if (isFunction(ref)) {\n callWithErrorHandling(ref, owner, 12, [value, refs]);\n } else {\n const _isString = isString(ref);\n const _isRef = isRef(ref);\n if (_isString || _isRef) {\n const doSet = () => {\n if (rawRef.f) {\n const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : ref.value;\n if (isUnmount) {\n isArray(existing) && remove(existing, refValue);\n } else {\n if (!isArray(existing)) {\n if (_isString) {\n refs[ref] = [refValue];\n if (canSetSetupRef(ref)) {\n setupState[ref] = refs[ref];\n }\n } else {\n ref.value = [refValue];\n if (rawRef.k) refs[rawRef.k] = ref.value;\n }\n } else if (!existing.includes(refValue)) {\n existing.push(refValue);\n }\n }\n } else if (_isString) {\n refs[ref] = value;\n if (canSetSetupRef(ref)) {\n setupState[ref] = value;\n }\n } else if (_isRef) {\n ref.value = value;\n if (rawRef.k) refs[rawRef.k] = value;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n };\n if (value) {\n doSet.id = -1;\n queuePostRenderEffect(doSet, parentSuspense);\n } else {\n doSet();\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n }\n}\n\nlet hasLoggedMismatchError = false;\nconst logMismatchError = () => {\n if (hasLoggedMismatchError) {\n return;\n }\n console.error(\"Hydration completed but contains mismatches.\");\n hasLoggedMismatchError = true;\n};\nconst isSVGContainer = (container) => container.namespaceURI.includes(\"svg\") && container.tagName !== \"foreignObject\";\nconst isMathMLContainer = (container) => container.namespaceURI.includes(\"MathML\");\nconst getContainerType = (container) => {\n if (container.nodeType !== 1) return void 0;\n if (isSVGContainer(container)) return \"svg\";\n if (isMathMLContainer(container)) return \"mathml\";\n return void 0;\n};\nconst isComment = (node) => node.nodeType === 8;\nfunction createHydrationFunctions(rendererInternals) {\n const {\n mt: mountComponent,\n p: patch,\n o: {\n patchProp,\n createText,\n nextSibling,\n parentNode,\n remove,\n insert,\n createComment\n }\n } = rendererInternals;\n const hydrate = (vnode, container) => {\n if (!container.hasChildNodes()) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Attempting to hydrate existing markup but container is empty. Performing full mount instead.`\n );\n patch(null, vnode, container);\n flushPostFlushCbs();\n container._vnode = vnode;\n return;\n }\n hydrateNode(container.firstChild, vnode, null, null, null);\n flushPostFlushCbs();\n container._vnode = vnode;\n };\n const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const isFragmentStart = isComment(node) && node.data === \"[\";\n const onMismatch = () => handleMismatch(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n isFragmentStart\n );\n const { type, ref, shapeFlag, patchFlag } = vnode;\n let domType = node.nodeType;\n vnode.el = node;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n def(node, \"__vnode\", vnode, true);\n def(node, \"__vueParentComponent\", parentComponent, true);\n }\n if (patchFlag === -2) {\n optimized = false;\n vnode.dynamicChildren = null;\n }\n let nextNode = null;\n switch (type) {\n case Text:\n if (domType !== 3) {\n if (vnode.children === \"\") {\n insert(vnode.el = createText(\"\"), parentNode(node), node);\n nextNode = node;\n } else {\n nextNode = onMismatch();\n }\n } else {\n if (node.data !== vnode.children) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text mismatch in`,\n node.parentNode,\n `\n - rendered on server: ${JSON.stringify(\n node.data\n )}\n - expected on client: ${JSON.stringify(vnode.children)}`\n );\n logMismatchError();\n node.data = vnode.children;\n }\n nextNode = nextSibling(node);\n }\n break;\n case Comment:\n if (isTemplateNode(node)) {\n nextNode = nextSibling(node);\n replaceNode(\n vnode.el = node.content.firstChild,\n node,\n parentComponent\n );\n } else if (domType !== 8 || isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = nextSibling(node);\n }\n break;\n case Static:\n if (isFragmentStart) {\n node = nextSibling(node);\n domType = node.nodeType;\n }\n if (domType === 1 || domType === 3) {\n nextNode = node;\n const needToAdoptContent = !vnode.children.length;\n for (let i = 0; i < vnode.staticCount; i++) {\n if (needToAdoptContent)\n vnode.children += nextNode.nodeType === 1 ? nextNode.outerHTML : nextNode.data;\n if (i === vnode.staticCount - 1) {\n vnode.anchor = nextNode;\n }\n nextNode = nextSibling(nextNode);\n }\n return isFragmentStart ? nextSibling(nextNode) : nextNode;\n } else {\n onMismatch();\n }\n break;\n case Fragment:\n if (!isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateFragment(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n break;\n default:\n if (shapeFlag & 1) {\n if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateElement(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n } else if (shapeFlag & 6) {\n vnode.slotScopeIds = slotScopeIds;\n const container = parentNode(node);\n if (isFragmentStart) {\n nextNode = locateClosingAnchor(node);\n } else if (isComment(node) && node.data === \"teleport start\") {\n nextNode = locateClosingAnchor(node, node.data, \"teleport end\");\n } else {\n nextNode = nextSibling(node);\n }\n mountComponent(\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n optimized\n );\n if (isAsyncWrapper(vnode)) {\n let subTree;\n if (isFragmentStart) {\n subTree = createVNode(Fragment);\n subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;\n } else {\n subTree = node.nodeType === 3 ? createTextVNode(\"\") : createVNode(\"div\");\n }\n subTree.el = node;\n vnode.component.subTree = subTree;\n }\n } else if (shapeFlag & 64) {\n if (domType !== 8) {\n nextNode = onMismatch();\n } else {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateChildren\n );\n }\n } else if (shapeFlag & 128) {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n getContainerType(parentNode(node)),\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateNode\n );\n } else if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) {\n warn$1(\"Invalid HostVNode type:\", type, `(${typeof type})`);\n }\n }\n if (ref != null) {\n setRef(ref, null, parentSuspense, vnode);\n }\n return nextNode;\n };\n const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const { type, props, patchFlag, shapeFlag, dirs, transition } = vnode;\n const forcePatch = type === \"input\" || type === \"option\";\n if (!!(process.env.NODE_ENV !== \"production\") || forcePatch || patchFlag !== -1) {\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"created\");\n }\n let needCallTransitionHooks = false;\n if (isTemplateNode(el)) {\n needCallTransitionHooks = needTransition(parentSuspense, transition) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear;\n const content = el.content.firstChild;\n if (needCallTransitionHooks) {\n transition.beforeEnter(content);\n }\n replaceNode(content, el, parentComponent);\n vnode.el = el = content;\n }\n if (shapeFlag & 16 && // skip if element has innerHTML / textContent\n !(props && (props.innerHTML || props.textContent))) {\n let next = hydrateChildren(\n el.firstChild,\n vnode,\n el,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n let hasWarned = false;\n while (next) {\n if (!isMismatchAllowed(el, 1 /* CHILDREN */)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n el,\n `\nServer rendered element contains more child nodes than client vdom.`\n );\n hasWarned = true;\n }\n logMismatchError();\n }\n const cur = next;\n next = next.nextSibling;\n remove(cur);\n }\n } else if (shapeFlag & 8) {\n let clientText = vnode.children;\n if (clientText[0] === \"\\n\" && (el.tagName === \"PRE\" || el.tagName === \"TEXTAREA\")) {\n clientText = clientText.slice(1);\n }\n if (el.textContent !== clientText) {\n if (!isMismatchAllowed(el, 0 /* TEXT */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text content mismatch on`,\n el,\n `\n - rendered on server: ${el.textContent}\n - expected on client: ${vnode.children}`\n );\n logMismatchError();\n }\n el.textContent = vnode.children;\n }\n }\n if (props) {\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ || forcePatch || !optimized || patchFlag & (16 | 32)) {\n const isCustomElement = el.tagName.includes(\"-\");\n for (const key in props) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && // #11189 skip if this node has directives that have created hooks\n // as it could have mutated the DOM in any possible way\n !(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) {\n logMismatchError();\n }\n if (forcePatch && (key.endsWith(\"value\") || key === \"indeterminate\") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers\n key[0] === \".\" || isCustomElement) {\n patchProp(el, key, null, props[key], void 0, parentComponent);\n }\n }\n } else if (props.onClick) {\n patchProp(\n el,\n \"onClick\",\n null,\n props.onClick,\n void 0,\n parentComponent\n );\n } else if (patchFlag & 4 && isReactive(props.style)) {\n for (const key in props.style) props.style[key];\n }\n }\n let vnodeHooks;\n if (vnodeHooks = props && props.onVnodeBeforeMount) {\n invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"beforeMount\");\n }\n if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) {\n queueEffectWithSuspense(() => {\n vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n needCallTransitionHooks && transition.enter(el);\n dirs && invokeDirectiveHook(vnode, null, parentComponent, \"mounted\");\n }, parentSuspense);\n }\n }\n return el.nextSibling;\n };\n const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!parentVNode.dynamicChildren;\n const children = parentVNode.children;\n const l = children.length;\n let hasWarned = false;\n for (let i = 0; i < l; i++) {\n const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);\n const isText = vnode.type === Text;\n if (node) {\n if (isText && !optimized) {\n if (i + 1 < l && normalizeVNode(children[i + 1]).type === Text) {\n insert(\n createText(\n node.data.slice(vnode.children.length)\n ),\n container,\n nextSibling(node)\n );\n node.data = vnode.children;\n }\n }\n node = hydrateNode(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n } else if (isText && !vnode.children) {\n insert(vnode.el = createText(\"\"), container);\n } else {\n if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n container,\n `\nServer rendered element contains fewer child nodes than client vdom.`\n );\n hasWarned = true;\n }\n logMismatchError();\n }\n patch(\n null,\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n }\n }\n return node;\n };\n const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n const { slotScopeIds: fragmentSlotScopeIds } = vnode;\n if (fragmentSlotScopeIds) {\n slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;\n }\n const container = parentNode(node);\n const next = hydrateChildren(\n nextSibling(node),\n vnode,\n container,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n if (next && isComment(next) && next.data === \"]\") {\n return nextSibling(vnode.anchor = next);\n } else {\n logMismatchError();\n insert(vnode.anchor = createComment(`]`), container, next);\n return next;\n }\n };\n const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {\n if (!isMismatchAllowed(node.parentElement, 1 /* CHILDREN */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration node mismatch:\n- rendered on server:`,\n node,\n node.nodeType === 3 ? `(text)` : isComment(node) && node.data === \"[\" ? `(start of fragment)` : ``,\n `\n- expected on client:`,\n vnode.type\n );\n logMismatchError();\n }\n vnode.el = null;\n if (isFragment) {\n const end = locateClosingAnchor(node);\n while (true) {\n const next2 = nextSibling(node);\n if (next2 && next2 !== end) {\n remove(next2);\n } else {\n break;\n }\n }\n }\n const next = nextSibling(node);\n const container = parentNode(node);\n remove(node);\n patch(\n null,\n vnode,\n container,\n next,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n return next;\n };\n const locateClosingAnchor = (node, open = \"[\", close = \"]\") => {\n let match = 0;\n while (node) {\n node = nextSibling(node);\n if (node && isComment(node)) {\n if (node.data === open) match++;\n if (node.data === close) {\n if (match === 0) {\n return nextSibling(node);\n } else {\n match--;\n }\n }\n }\n }\n return node;\n };\n const replaceNode = (newNode, oldNode, parentComponent) => {\n const parentNode2 = oldNode.parentNode;\n if (parentNode2) {\n parentNode2.replaceChild(newNode, oldNode);\n }\n let parent = parentComponent;\n while (parent) {\n if (parent.vnode.el === oldNode) {\n parent.vnode.el = parent.subTree.el = newNode;\n }\n parent = parent.parent;\n }\n };\n const isTemplateNode = (node) => {\n return node.nodeType === 1 && node.tagName === \"TEMPLATE\";\n };\n return [hydrate, hydrateNode];\n}\nfunction propHasMismatch(el, key, clientValue, vnode, instance) {\n let mismatchType;\n let mismatchKey;\n let actual;\n let expected;\n if (key === \"class\") {\n actual = el.getAttribute(\"class\");\n expected = normalizeClass(clientValue);\n if (!isSetEqual(toClassSet(actual || \"\"), toClassSet(expected))) {\n mismatchType = 2 /* CLASS */;\n mismatchKey = `class`;\n }\n } else if (key === \"style\") {\n actual = el.getAttribute(\"style\") || \"\";\n expected = isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue));\n const actualMap = toStyleMap(actual);\n const expectedMap = toStyleMap(expected);\n if (vnode.dirs) {\n for (const { dir, value } of vnode.dirs) {\n if (dir.name === \"show\" && !value) {\n expectedMap.set(\"display\", \"none\");\n }\n }\n }\n if (instance) {\n resolveCssVars(instance, vnode, expectedMap);\n }\n if (!isMapEqual(actualMap, expectedMap)) {\n mismatchType = 3 /* STYLE */;\n mismatchKey = \"style\";\n }\n } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) {\n if (isBooleanAttr(key)) {\n actual = el.hasAttribute(key);\n expected = includeBooleanAttr(clientValue);\n } else if (clientValue == null) {\n actual = el.hasAttribute(key);\n expected = false;\n } else {\n if (el.hasAttribute(key)) {\n actual = el.getAttribute(key);\n } else if (key === \"value\" && el.tagName === \"TEXTAREA\") {\n actual = el.value;\n } else {\n actual = false;\n }\n expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false;\n }\n if (actual !== expected) {\n mismatchType = 4 /* ATTRIBUTE */;\n mismatchKey = key;\n }\n }\n if (mismatchType != null && !isMismatchAllowed(el, mismatchType)) {\n const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}=\"${v}\"`;\n const preSegment = `Hydration ${MismatchTypeString[mismatchType]} mismatch on`;\n const postSegment = `\n - rendered on server: ${format(actual)}\n - expected on client: ${format(expected)}\n Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead.\n You should fix the source of the mismatch.`;\n {\n warn$1(preSegment, el, postSegment);\n }\n return true;\n }\n return false;\n}\nfunction toClassSet(str) {\n return new Set(str.trim().split(/\\s+/));\n}\nfunction isSetEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const s of a) {\n if (!b.has(s)) {\n return false;\n }\n }\n return true;\n}\nfunction toStyleMap(str) {\n const styleMap = /* @__PURE__ */ new Map();\n for (const item of str.split(\";\")) {\n let [key, value] = item.split(\":\");\n key = key.trim();\n value = value && value.trim();\n if (key && value) {\n styleMap.set(key, value);\n }\n }\n return styleMap;\n}\nfunction isMapEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const [key, value] of a) {\n if (value !== b.get(key)) {\n return false;\n }\n }\n return true;\n}\nfunction resolveCssVars(instance, vnode, expectedMap) {\n const root = instance.subTree;\n if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) {\n const cssVars = instance.getCssVars();\n for (const key in cssVars) {\n expectedMap.set(\n `--${getEscapedCssVarName(key, false)}`,\n String(cssVars[key])\n );\n }\n }\n if (vnode === root && instance.parent) {\n resolveCssVars(instance.parent, instance.vnode, expectedMap);\n }\n}\nconst allowMismatchAttr = \"data-allow-mismatch\";\nconst MismatchTypeString = {\n [0 /* TEXT */]: \"text\",\n [1 /* CHILDREN */]: \"children\",\n [2 /* CLASS */]: \"class\",\n [3 /* STYLE */]: \"style\",\n [4 /* ATTRIBUTE */]: \"attribute\"\n};\nfunction isMismatchAllowed(el, allowedType) {\n if (allowedType === 0 /* TEXT */ || allowedType === 1 /* CHILDREN */) {\n while (el && !el.hasAttribute(allowMismatchAttr)) {\n el = el.parentElement;\n }\n }\n const allowedAttr = el && el.getAttribute(allowMismatchAttr);\n if (allowedAttr == null) {\n return false;\n } else if (allowedAttr === \"\") {\n return true;\n } else {\n const list = allowedAttr.split(\",\");\n if (allowedType === 0 /* TEXT */ && list.includes(\"children\")) {\n return true;\n }\n return allowedAttr.split(\",\").includes(MismatchTypeString[allowedType]);\n }\n}\n\nconst hydrateOnIdle = (timeout = 1e4) => (hydrate) => {\n const id = requestIdleCallback(hydrate, { timeout });\n return () => cancelIdleCallback(id);\n};\nfunction elementIsVisibleInViewport(el) {\n const { top, left, bottom, right } = el.getBoundingClientRect();\n const { innerHeight, innerWidth } = window;\n return (top > 0 && top < innerHeight || bottom > 0 && bottom < innerHeight) && (left > 0 && left < innerWidth || right > 0 && right < innerWidth);\n}\nconst hydrateOnVisible = (opts) => (hydrate, forEach) => {\n const ob = new IntersectionObserver((entries) => {\n for (const e of entries) {\n if (!e.isIntersecting) continue;\n ob.disconnect();\n hydrate();\n break;\n }\n }, opts);\n forEach((el) => {\n if (!(el instanceof Element)) return;\n if (elementIsVisibleInViewport(el)) {\n hydrate();\n ob.disconnect();\n return false;\n }\n ob.observe(el);\n });\n return () => ob.disconnect();\n};\nconst hydrateOnMediaQuery = (query) => (hydrate) => {\n if (query) {\n const mql = matchMedia(query);\n if (mql.matches) {\n hydrate();\n } else {\n mql.addEventListener(\"change\", hydrate, { once: true });\n return () => mql.removeEventListener(\"change\", hydrate);\n }\n }\n};\nconst hydrateOnInteraction = (interactions = []) => (hydrate, forEach) => {\n if (isString(interactions)) interactions = [interactions];\n let hasHydrated = false;\n const doHydrate = (e) => {\n if (!hasHydrated) {\n hasHydrated = true;\n teardown();\n hydrate();\n e.target.dispatchEvent(new e.constructor(e.type, e));\n }\n };\n const teardown = () => {\n forEach((el) => {\n for (const i of interactions) {\n el.removeEventListener(i, doHydrate);\n }\n });\n };\n forEach((el) => {\n for (const i of interactions) {\n el.addEventListener(i, doHydrate, { once: true });\n }\n });\n return teardown;\n};\nfunction forEachElement(node, cb) {\n if (isComment(node) && node.data === \"[\") {\n let depth = 1;\n let next = node.nextSibling;\n while (next) {\n if (next.nodeType === 1) {\n const result = cb(next);\n if (result === false) {\n break;\n }\n } else if (isComment(next)) {\n if (next.data === \"]\") {\n if (--depth === 0) break;\n } else if (next.data === \"[\") {\n depth++;\n }\n }\n next = next.nextSibling;\n }\n } else {\n cb(node);\n }\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineAsyncComponent(source) {\n if (isFunction(source)) {\n source = { loader: source };\n }\n const {\n loader,\n loadingComponent,\n errorComponent,\n delay = 200,\n hydrate: hydrateStrategy,\n timeout,\n // undefined = never times out\n suspensible = true,\n onError: userOnError\n } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n } else {\n throw err;\n }\n }).then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !comp) {\n warn$1(\n `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`\n );\n }\n if (comp && (comp.__esModule || comp[Symbol.toStringTag] === \"Module\")) {\n comp = comp.default;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && comp && !isObject(comp) && !isFunction(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n }));\n };\n return defineComponent({\n name: \"AsyncComponentWrapper\",\n __asyncLoader: load,\n __asyncHydrate(el, instance, hydrate) {\n const doHydrate = hydrateStrategy ? () => {\n const teardown = hydrateStrategy(\n hydrate,\n (cb) => forEachElement(el, cb)\n );\n if (teardown) {\n (instance.bum || (instance.bum = [])).push(teardown);\n }\n } : hydrate;\n if (resolvedComp) {\n doHydrate();\n } else {\n load().then(() => !instance.isUnmounted && doHydrate());\n }\n },\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n markAsyncBoundary(instance);\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(\n err,\n instance,\n 13,\n !errorComponent\n );\n };\n if (suspensible && instance.suspense || isInSSRComponentSetup) {\n return load().then((comp) => {\n return () => createInnerComp(comp, instance);\n }).catch((err) => {\n onError(err);\n return () => errorComponent ? createVNode(errorComponent, {\n error: err\n }) : null;\n });\n }\n const loaded = ref(false);\n const error = ref();\n const delayed = ref(!!delay);\n if (delay) {\n setTimeout(() => {\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n setTimeout(() => {\n if (!loaded.value && !error.value) {\n const err = new Error(\n `Async component timed out after ${timeout}ms.`\n );\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load().then(() => {\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n instance.parent.update();\n }\n }).catch((err) => {\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n } else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n } else if (loadingComponent && !delayed.value) {\n return createVNode(loadingComponent);\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, parent) {\n const { ref: ref2, props, children, ce } = parent.vnode;\n const vnode = createVNode(comp, props, children);\n vnode.ref = ref2;\n vnode.ce = ce;\n delete parent.vnode.ce;\n return vnode;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nconst KeepAliveImpl = {\n name: `KeepAlive`,\n // Marker for special handling inside the renderer. We are not using a ===\n // check directly on KeepAlive in the renderer, because importing it directly\n // would prevent it from being tree-shaken.\n __isKeepAlive: true,\n props: {\n include: [String, RegExp, Array],\n exclude: [String, RegExp, Array],\n max: [String, Number]\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const sharedContext = instance.ctx;\n if (!sharedContext.renderer) {\n return () => {\n const children = slots.default && slots.default();\n return children && children.length === 1 ? children[0] : children;\n };\n }\n const cache = /* @__PURE__ */ new Map();\n const keys = /* @__PURE__ */ new Set();\n let current = null;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.__v_cache = cache;\n }\n const parentSuspense = instance.suspense;\n const {\n renderer: {\n p: patch,\n m: move,\n um: _unmount,\n o: { createElement }\n }\n } = sharedContext;\n const storageContainer = createElement(\"div\");\n sharedContext.activate = (vnode, container, anchor, namespace, optimized) => {\n const instance2 = vnode.component;\n move(vnode, container, anchor, 0, parentSuspense);\n patch(\n instance2.vnode,\n vnode,\n container,\n anchor,\n instance2,\n parentSuspense,\n namespace,\n vnode.slotScopeIds,\n optimized\n );\n queuePostRenderEffect(() => {\n instance2.isDeactivated = false;\n if (instance2.a) {\n invokeArrayFns(instance2.a);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n sharedContext.deactivate = (vnode) => {\n const instance2 = vnode.component;\n invalidateMount(instance2.m);\n invalidateMount(instance2.a);\n move(vnode, storageContainer, null, 1, parentSuspense);\n queuePostRenderEffect(() => {\n if (instance2.da) {\n invokeArrayFns(instance2.da);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n instance2.isDeactivated = true;\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n function unmount(vnode) {\n resetShapeFlag(vnode);\n _unmount(vnode, instance, parentSuspense, true);\n }\n function pruneCache(filter) {\n cache.forEach((vnode, key) => {\n const name = getComponentName(vnode.type);\n if (name && !filter(name)) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (cached && (!current || !isSameVNodeType(cached, current))) {\n unmount(cached);\n } else if (current) {\n resetShapeFlag(current);\n }\n cache.delete(key);\n keys.delete(key);\n }\n watch(\n () => [props.include, props.exclude],\n ([include, exclude]) => {\n include && pruneCache((name) => matches(include, name));\n exclude && pruneCache((name) => !matches(exclude, name));\n },\n // prune post-render after `current` has been updated\n { flush: \"post\", deep: true }\n );\n let pendingCacheKey = null;\n const cacheSubtree = () => {\n if (pendingCacheKey != null) {\n if (isSuspense(instance.subTree.type)) {\n queuePostRenderEffect(() => {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }, instance.subTree.suspense);\n } else {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\n }\n };\n onMounted(cacheSubtree);\n onUpdated(cacheSubtree);\n onBeforeUnmount(() => {\n cache.forEach((cached) => {\n const { subTree, suspense } = instance;\n const vnode = getInnerChild(subTree);\n if (cached.type === vnode.type && cached.key === vnode.key) {\n resetShapeFlag(vnode);\n const da = vnode.component.da;\n da && queuePostRenderEffect(da, suspense);\n return;\n }\n unmount(cached);\n });\n });\n return () => {\n pendingCacheKey = null;\n if (!slots.default) {\n return current = null;\n }\n const children = slots.default();\n const rawVNode = children[0];\n if (children.length > 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`KeepAlive should contain exactly one component child.`);\n }\n current = null;\n return children;\n } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {\n current = null;\n return rawVNode;\n }\n let vnode = getInnerChild(rawVNode);\n if (vnode.type === Comment) {\n current = null;\n return vnode;\n }\n const comp = vnode.type;\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp\n );\n const { include, exclude, max } = props;\n if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {\n vnode.shapeFlag &= ~256;\n current = vnode;\n return rawVNode;\n }\n const key = vnode.key == null ? comp : vnode.key;\n const cachedVNode = cache.get(key);\n if (vnode.el) {\n vnode = cloneVNode(vnode);\n if (rawVNode.shapeFlag & 128) {\n rawVNode.ssContent = vnode;\n }\n }\n pendingCacheKey = key;\n if (cachedVNode) {\n vnode.el = cachedVNode.el;\n vnode.component = cachedVNode.component;\n if (vnode.transition) {\n setTransitionHooks(vnode, vnode.transition);\n }\n vnode.shapeFlag |= 512;\n keys.delete(key);\n keys.add(key);\n } else {\n keys.add(key);\n if (max && keys.size > parseInt(max, 10)) {\n pruneCacheEntry(keys.values().next().value);\n }\n }\n vnode.shapeFlag |= 256;\n current = vnode;\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\n };\n }\n};\nconst KeepAlive = KeepAliveImpl;\nfunction matches(pattern, name) {\n if (isArray(pattern)) {\n return pattern.some((p) => matches(p, name));\n } else if (isString(pattern)) {\n return pattern.split(\",\").includes(name);\n } else if (isRegExp(pattern)) {\n pattern.lastIndex = 0;\n return pattern.test(name);\n }\n return false;\n}\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\nfunction resetShapeFlag(vnode) {\n vnode.shapeFlag &= ~256;\n vnode.shapeFlag &= ~512;\n}\nfunction getInnerChild(vnode) {\n return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n pauseTracking();\n const reset = setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n reset();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, \"\"));\n warn$1(\n `${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.` )\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => {\n if (!isInSSRComponentSetup || lifecycle === \"sp\") {\n injectHook(lifecycle, (...args) => hook(...args), target);\n }\n};\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\n \"bu\"\n);\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\n \"bum\"\n);\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\n \"sp\"\n);\nconst onRenderTriggered = createHook(\"rtg\");\nconst onRenderTracked = createHook(\"rtc\");\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDynamicComponent(component) {\n if (isString(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n } else {\n return component || NULL_DYNAMIC_COMPONENT;\n }\n}\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n const sourceIsArray = isArray(source);\n if (sourceIsArray || isString(source)) {\n const sourceIsReactiveArray = sourceIsArray && isReactive(source);\n let needsWrap = false;\n if (sourceIsReactiveArray) {\n needsWrap = !isShallow(source);\n source = shallowReadArray(source);\n }\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(\n needsWrap ? toReactive(source[i]) : source[i],\n i,\n void 0,\n cached && cached[i]\n );\n }\n } else if (typeof source === \"number\") {\n if (!!(process.env.NODE_ENV !== \"production\") && !Number.isInteger(source)) {\n warn$1(`The v-for range expect an integer value but got ${source}.`);\n }\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);\n }\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(\n source,\n (item, i) => renderItem(item, i, void 0, cached && cached[i])\n );\n } else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n } else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n if (isArray(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n } else if (slot) {\n slots[slot.name] = slot.key ? (...args) => {\n const res = slot.fn(...args);\n if (res) res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\n}\n\nfunction renderSlot(slots, name, props = {}, fallback, noSlotted) {\n if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {\n if (name !== \"default\") props.name = name;\n return openBlock(), createBlock(\n Fragment,\n null,\n [createVNode(\"slot\", props, fallback && fallback())],\n 64\n );\n }\n let slot = slots[name];\n if (!!(process.env.NODE_ENV !== \"production\") && slot && slot.length > 1) {\n warn$1(\n `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.`\n );\n slot = () => [];\n }\n if (slot && slot._c) {\n slot._d = false;\n }\n openBlock();\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const rendered = createBlock(\n Fragment,\n {\n key: (props.key || // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n validSlotContent && validSlotContent.key || `_${name}`) + // #7256 force differentiate fallback content from actual content\n (!validSlotContent && fallback ? \"_fb\" : \"\")\n },\n validSlotContent || (fallback ? fallback() : []),\n validSlotContent && slots._ === 1 ? 64 : -2\n );\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + \"-s\"];\n }\n if (slot && slot._c) {\n slot._d = true;\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some((child) => {\n if (!isVNode(child)) return true;\n if (child.type === Comment) return false;\n if (child.type === Fragment && !ensureValidVNode(child.children))\n return false;\n return true;\n }) ? vnodes : null;\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn$1(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i) return null;\n if (isStatefulComponent(i)) return getComponentPublicInstance(i);\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n $el: (i) => i.vnode.el,\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $host: (i) => i.ce,\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => {\n queueJob(i.update);\n }),\n $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n if (key === \"__v_skip\") {\n return true;\n }\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance.attrs, \"get\", \"\");\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn$1(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn$1(`Cannot mutate \n\n\n","\n\n\n\n\n","import { onMounted, ref } from 'vue'\n\nexport function useDownload(url: string, fileName?: string) {\n const fileSize = ref(null)\n\n const fetchFileSize = async (): Promise => {\n try {\n const response = await fetch(url, { method: 'HEAD' })\n if (!response.ok) throw new Error('Failed to fetch file size')\n\n const size = response.headers.get('content-length')\n if (size) {\n return parseInt(size)\n } else {\n console.error('\"content-length\" header not found')\n return null\n }\n } catch (e) {\n console.error('Error fetching file size:', e)\n return null\n }\n }\n\n /**\n * Trigger browser download\n */\n const triggerBrowserDownload = () => {\n const link = document.createElement('a')\n link.href = url\n link.download = fileName || url.split('/').pop() || 'download'\n link.target = '_blank' // Opens in new tab if download attribute is not supported\n link.rel = 'noopener noreferrer' // Security best practice for _blank links\n link.click()\n }\n\n onMounted(async () => {\n fileSize.value = await fetchFileSize()\n })\n\n return {\n triggerBrowserDownload,\n fileSize\n }\n}\n","export function formatCamelCase(str: string): string {\n // Check if the string is camel case\n const isCamelCase = /^([A-Z][a-z]*)+$/.test(str)\n\n if (!isCamelCase) {\n return str // Return original string if not camel case\n }\n\n // Split the string into words, keeping acronyms together\n const words = str.split(/(?=[A-Z][a-z])|\\d+/)\n\n // Process each word\n const processedWords = words.map((word) => {\n // If the word is all uppercase and longer than one character, it's likely an acronym\n if (word.length > 1 && word === word.toUpperCase()) {\n return word // Keep acronyms as is\n }\n // For other words, ensure the first letter is capitalized\n return word.charAt(0).toUpperCase() + word.slice(1)\n })\n\n // Join the words with spaces\n return processedWords.join(' ')\n}\n\nexport function appendJsonExt(path: string) {\n if (!path.toLowerCase().endsWith('.json')) {\n path += '.json'\n }\n return path\n}\n\nexport function trimJsonExt(path?: string) {\n return path?.replace(/\\.json$/, '')\n}\n\nexport function highlightQuery(text: string, query: string) {\n if (!query) return text\n const regex = new RegExp(`(${query})`, 'gi')\n return text.replace(regex, '$1')\n}\n\nexport function formatNumberWithSuffix(\n num: number,\n {\n precision = 1,\n roundToInt = false\n }: { precision?: number; roundToInt?: boolean } = {}\n): string {\n const suffixes = ['', 'k', 'm', 'b', 't']\n const absNum = Math.abs(num)\n\n if (absNum < 1000) {\n return roundToInt ? Math.round(num).toString() : num.toFixed(precision)\n }\n\n const exp = Math.min(Math.floor(Math.log10(absNum) / 3), suffixes.length - 1)\n const formattedNum = (num / Math.pow(1000, exp)).toFixed(precision)\n\n return `${formattedNum}${suffixes[exp]}`\n}\n\nexport function formatSize(value?: number) {\n if (value === null || value === undefined) {\n return '-'\n }\n\n const bytes = value\n if (bytes === 0) return '0 B'\n const k = 1024\n const sizes = ['B', 'KB', 'MB', 'GB']\n const i = Math.floor(Math.log(bytes) / Math.log(k))\n return `${parseFloat((bytes / Math.pow(k, i)).toFixed(2))} ${sizes[i]}`\n}\n","\n\n\n\n","\n\n\n\n\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-tabs {\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.p-tablist {\\n display: flex;\\n position: relative;\\n}\\n\\n.p-tabs-scrollable > .p-tablist {\\n overflow: hidden;\\n}\\n\\n.p-tablist-viewport {\\n overflow-x: auto;\\n overflow-y: hidden;\\n scroll-behavior: smooth;\\n scrollbar-width: none;\\n overscroll-behavior: contain auto;\\n}\\n\\n.p-tablist-viewport::-webkit-scrollbar {\\n display: none;\\n}\\n\\n.p-tablist-tab-list {\\n position: relative;\\n display: flex;\\n background: \".concat(dt('tabs.tablist.background'), \";\\n border-style: solid;\\n border-color: \").concat(dt('tabs.tablist.border.color'), \";\\n border-width: \").concat(dt('tabs.tablist.border.width'), \";\\n}\\n\\n.p-tablist-content {\\n flex-grow: 1;\\n}\\n\\n.p-tablist-nav-button {\\n all: unset;\\n position: absolute !important;\\n flex-shrink: 0;\\n top: 0;\\n z-index: 2;\\n height: 100%;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n background: \").concat(dt('tabs.nav.button.background'), \";\\n color: \").concat(dt('tabs.nav.button.color'), \";\\n width: \").concat(dt('tabs.nav.button.width'), \";\\n transition: color \").concat(dt('tabs.transition.duration'), \", outline-color \").concat(dt('tabs.transition.duration'), \", box-shadow \").concat(dt('tabs.transition.duration'), \";\\n box-shadow: \").concat(dt('tabs.nav.button.shadow'), \";\\n outline-color: transparent;\\n cursor: pointer;\\n}\\n\\n.p-tablist-nav-button:focus-visible {\\n z-index: 1;\\n box-shadow: \").concat(dt('tabs.nav.button.focus.ring.shadow'), \";\\n outline: \").concat(dt('tabs.nav.button.focus.ring.width'), \" \").concat(dt('tabs.nav.button.focus.ring.style'), \" \").concat(dt('tabs.nav.button.focus.ring.color'), \";\\n outline-offset: \").concat(dt('tabs.nav.button.focus.ring.offset'), \";\\n}\\n\\n.p-tablist-nav-button:hover {\\n color: \").concat(dt('tabs.nav.button.hover.color'), \";\\n}\\n\\n.p-tablist-prev-button {\\n left: 0;\\n}\\n\\n.p-tablist-next-button {\\n right: 0;\\n}\\n\\n.p-tab {\\n flex-shrink: 0;\\n cursor: pointer;\\n user-select: none;\\n position: relative;\\n border-style: solid;\\n white-space: nowrap;\\n background: \").concat(dt('tabs.tab.background'), \";\\n border-width: \").concat(dt('tabs.tab.border.width'), \";\\n border-color: \").concat(dt('tabs.tab.border.color'), \";\\n color: \").concat(dt('tabs.tab.color'), \";\\n padding: \").concat(dt('tabs.tab.padding'), \";\\n font-weight: \").concat(dt('tabs.tab.font.weight'), \";\\n transition: background \").concat(dt('tabs.transition.duration'), \", border-color \").concat(dt('tabs.transition.duration'), \", color \").concat(dt('tabs.transition.duration'), \", outline-color \").concat(dt('tabs.transition.duration'), \", box-shadow \").concat(dt('tabs.transition.duration'), \";\\n margin: \").concat(dt('tabs.tab.margin'), \";\\n outline-color: transparent;\\n}\\n\\n.p-tab:not(.p-disabled):focus-visible {\\n z-index: 1;\\n box-shadow: \").concat(dt('tabs.tab.focus.ring.shadow'), \";\\n outline: \").concat(dt('tabs.tab.focus.ring.width'), \" \").concat(dt('tabs.tab.focus.ring.style'), \" \").concat(dt('tabs.tab.focus.ring.color'), \";\\n outline-offset: \").concat(dt('tabs.tab.focus.ring.offset'), \";\\n}\\n\\n.p-tab:not(.p-tab-active):not(.p-disabled):hover {\\n background: \").concat(dt('tabs.tab.hover.background'), \";\\n border-color: \").concat(dt('tabs.tab.hover.border.color'), \";\\n color: \").concat(dt('tabs.tab.hover.color'), \";\\n}\\n\\n.p-tab-active {\\n background: \").concat(dt('tabs.tab.active.background'), \";\\n border-color: \").concat(dt('tabs.tab.active.border.color'), \";\\n color: \").concat(dt('tabs.tab.active.color'), \";\\n}\\n\\n.p-tabpanels {\\n background: \").concat(dt('tabs.tabpanel.background'), \";\\n color: \").concat(dt('tabs.tabpanel.color'), \";\\n padding: \").concat(dt('tabs.tabpanel.padding'), \";\\n outline: 0 none;\\n}\\n\\n.p-tabpanel:focus-visible {\\n box-shadow: \").concat(dt('tabs.tabpanel.focus.ring.shadow'), \";\\n outline: \").concat(dt('tabs.tabpanel.focus.ring.width'), \" \").concat(dt('tabs.tabpanel.focus.ring.style'), \" \").concat(dt('tabs.tabpanel.focus.ring.color'), \";\\n outline-offset: \").concat(dt('tabs.tabpanel.focus.ring.offset'), \";\\n}\\n\\n.p-tablist-active-bar {\\n z-index: 1;\\n display: block;\\n position: absolute;\\n bottom: \").concat(dt('tabs.active.bar.bottom'), \";\\n height: \").concat(dt('tabs.active.bar.height'), \";\\n background: \").concat(dt('tabs.active.bar.background'), \";\\n transition: 250ms cubic-bezier(0.35, 0, 0.25, 1);\\n}\\n\");\n};\nvar classes = {\n root: function root(_ref2) {\n var props = _ref2.props;\n return ['p-tabs p-component', {\n 'p-tabs-scrollable': props.scrollable\n }];\n }\n};\nvar TabsStyle = BaseStyle.extend({\n name: 'tabs',\n theme: theme,\n classes: classes\n});\n\nexport { TabsStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { UniqueComponentId } from '@primevue/core/utils';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport TabsStyle from 'primevue/tabs/style';\nimport { openBlock, createElementBlock, mergeProps, renderSlot } from 'vue';\n\nvar script$1 = {\n name: 'BaseTabs',\n \"extends\": BaseComponent,\n props: {\n value: {\n type: [String, Number],\n \"default\": undefined\n },\n lazy: {\n type: Boolean,\n \"default\": false\n },\n scrollable: {\n type: Boolean,\n \"default\": false\n },\n showNavigators: {\n type: Boolean,\n \"default\": true\n },\n tabindex: {\n type: Number,\n \"default\": 0\n },\n selectOnFocus: {\n type: Boolean,\n \"default\": false\n }\n },\n style: TabsStyle,\n provide: function provide() {\n return {\n $pcTabs: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'Tabs',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['update:value'],\n data: function data() {\n return {\n id: this.$attrs.id,\n d_value: this.value\n };\n },\n watch: {\n '$attrs.id': function $attrsId(newValue) {\n this.id = newValue || UniqueComponentId();\n },\n value: function value(newValue) {\n this.d_value = newValue;\n }\n },\n mounted: function mounted() {\n this.id = this.id || UniqueComponentId();\n },\n methods: {\n updateValue: function updateValue(newValue) {\n if (this.d_value !== newValue) {\n this.d_value = newValue;\n this.$emit('update:value', newValue);\n }\n },\n isVertical: function isVertical() {\n return this.orientation === 'vertical';\n }\n }\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [renderSlot(_ctx.$slots, \"default\")], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar classes = {\n root: 'p-tabpanels'\n};\nvar TabPanelsStyle = BaseStyle.extend({\n name: 'tabpanels',\n classes: classes\n});\n\nexport { TabPanelsStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseComponent from '@primevue/core/basecomponent';\nimport TabPanelsStyle from 'primevue/tabpanels/style';\nimport { openBlock, createElementBlock, mergeProps, renderSlot } from 'vue';\n\nvar script$1 = {\n name: 'BaseTabPanels',\n \"extends\": BaseComponent,\n props: {},\n style: TabPanelsStyle,\n provide: function provide() {\n return {\n $pcTabPanels: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'TabPanels',\n \"extends\": script$1,\n inheritAttrs: false\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root'),\n role: \"presentation\"\n }, _ctx.ptmi('root')), [renderSlot(_ctx.$slots, \"default\")], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar classes = {\n root: function root(_ref) {\n var instance = _ref.instance;\n return ['p-tabpanel', {\n 'p-tabpanel-active': instance.active\n }];\n }\n};\nvar TabPanelStyle = BaseStyle.extend({\n name: 'tabpanel',\n classes: classes\n});\n\nexport { TabPanelStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { equals } from '@primeuix/utils/object';\nimport { mergeProps, renderSlot, openBlock, createElementBlock, Fragment, withDirectives, createBlock, resolveDynamicComponent, withCtx, vShow, createCommentVNode, normalizeClass } from 'vue';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport TabPanelStyle from 'primevue/tabpanel/style';\n\nvar script$1 = {\n name: 'BaseTabPanel',\n \"extends\": BaseComponent,\n props: {\n // in Tabs\n value: {\n type: [String, Number],\n \"default\": undefined\n },\n as: {\n type: [String, Object],\n \"default\": 'DIV'\n },\n asChild: {\n type: Boolean,\n \"default\": false\n },\n // in TabView\n header: null,\n headerStyle: null,\n headerClass: null,\n headerProps: null,\n headerActionProps: null,\n contentStyle: null,\n contentClass: null,\n contentProps: null,\n disabled: Boolean\n },\n style: TabPanelStyle,\n provide: function provide() {\n return {\n $pcTabPanel: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'TabPanel',\n \"extends\": script$1,\n inheritAttrs: false,\n inject: ['$pcTabs'],\n computed: {\n active: function active() {\n var _this$$pcTabs;\n return equals((_this$$pcTabs = this.$pcTabs) === null || _this$$pcTabs === void 0 ? void 0 : _this$$pcTabs.d_value, this.value);\n },\n id: function id() {\n var _this$$pcTabs2;\n return \"\".concat((_this$$pcTabs2 = this.$pcTabs) === null || _this$$pcTabs2 === void 0 ? void 0 : _this$$pcTabs2.id, \"_tabpanel_\").concat(this.value);\n },\n ariaLabelledby: function ariaLabelledby() {\n var _this$$pcTabs3;\n return \"\".concat((_this$$pcTabs3 = this.$pcTabs) === null || _this$$pcTabs3 === void 0 ? void 0 : _this$$pcTabs3.id, \"_tab_\").concat(this.value);\n },\n attrs: function attrs() {\n return mergeProps(this.a11yAttrs, this.ptmi('root', this.ptParams));\n },\n a11yAttrs: function a11yAttrs() {\n var _this$$pcTabs4;\n return {\n id: this.id,\n tabindex: (_this$$pcTabs4 = this.$pcTabs) === null || _this$$pcTabs4 === void 0 ? void 0 : _this$$pcTabs4.tabindex,\n role: 'tabpanel',\n 'aria-labelledby': this.ariaLabelledby,\n 'data-pc-name': 'tabpanel',\n 'data-p-active': this.active\n };\n },\n ptParams: function ptParams() {\n return {\n context: {\n active: this.active\n }\n };\n }\n }\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _$options$$pcTabs, _$options$$pcTabs2;\n return !$options.$pcTabs ? renderSlot(_ctx.$slots, \"default\", {\n key: 0\n }) : (openBlock(), createElementBlock(Fragment, {\n key: 1\n }, [!_ctx.asChild ? (openBlock(), createElementBlock(Fragment, {\n key: 0\n }, [((_$options$$pcTabs = $options.$pcTabs) !== null && _$options$$pcTabs !== void 0 && _$options$$pcTabs.lazy ? $options.active : true) ? withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({\n key: 0,\n \"class\": _ctx.cx('root')\n }, $options.attrs), {\n \"default\": withCtx(function () {\n return [renderSlot(_ctx.$slots, \"default\")];\n }),\n _: 3\n }, 16, [\"class\"])), [[vShow, (_$options$$pcTabs2 = $options.$pcTabs) !== null && _$options$$pcTabs2 !== void 0 && _$options$$pcTabs2.lazy ? true : $options.active]]) : createCommentVNode(\"\", true)], 64)) : renderSlot(_ctx.$slots, \"default\", {\n key: 1,\n \"class\": normalizeClass(_ctx.cx('root')),\n active: $options.active,\n a11yAttrs: $options.a11yAttrs\n })], 64));\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-divider-horizontal {\\n display: flex;\\n width: 100%;\\n position: relative;\\n align-items: center;\\n margin: \".concat(dt('divider.horizontal.margin'), \";\\n padding: \").concat(dt('divider.horizontal.padding'), \";\\n}\\n\\n.p-divider-horizontal:before {\\n position: absolute;\\n display: block;\\n top: 50%;\\n left: 0;\\n width: 100%;\\n content: \\\"\\\";\\n border-top: 1px solid \").concat(dt('divider.border.color'), \";\\n}\\n\\n.p-divider-horizontal .p-divider-content {\\n padding: \").concat(dt('divider.horizontal.content.padding'), \";\\n}\\n\\n.p-divider-vertical {\\n min-height: 100%;\\n margin: 0 1rem;\\n display: flex;\\n position: relative;\\n justify-content: center;\\n margin: \").concat(dt('divider.vertical.margin'), \";\\n padding: \").concat(dt('divider.vertical.padding'), \";\\n}\\n\\n.p-divider-vertical:before {\\n position: absolute;\\n display: block;\\n top: 0;\\n left: 50%;\\n height: 100%;\\n content: \\\"\\\";\\n border-left: 1px solid \").concat(dt('divider.border.color'), \";\\n}\\n\\n.p-divider.p-divider-vertical .p-divider-content {\\n padding: \").concat(dt('divider.vertical.content.padding'), \";\\n}\\n\\n.p-divider-content {\\n z-index: 1;\\n background: \").concat(dt('divider.content.background'), \";\\n color: \").concat(dt('divider.content.color'), \";\\n}\\n\\n.p-divider-solid.p-divider-horizontal:before {\\n border-top-style: solid;\\n}\\n\\n.p-divider-solid.p-divider-vertical:before {\\n border-left-style: solid;\\n}\\n\\n.p-divider-dashed.p-divider-horizontal:before {\\n border-top-style: dashed;\\n}\\n\\n.p-divider-dashed.p-divider-vertical:before {\\n border-left-style: dashed;\\n}\\n\\n.p-divider-dotted.p-divider-horizontal:before {\\n border-top-style: dotted;\\n}\\n\\n.p-divider-dotted.p-divider-vertical:before {\\n border-left-style: dotted;\\n}\\n\");\n};\n\n/* Position */\nvar inlineStyles = {\n root: function root(_ref2) {\n var props = _ref2.props;\n return {\n justifyContent: props.layout === 'horizontal' ? props.align === 'center' || props.align === null ? 'center' : props.align === 'left' ? 'flex-start' : props.align === 'right' ? 'flex-end' : null : null,\n alignItems: props.layout === 'vertical' ? props.align === 'center' || props.align === null ? 'center' : props.align === 'top' ? 'flex-start' : props.align === 'bottom' ? 'flex-end' : null : null\n };\n }\n};\nvar classes = {\n root: function root(_ref3) {\n var props = _ref3.props;\n return ['p-divider p-component', 'p-divider-' + props.layout, 'p-divider-' + props.type, {\n 'p-divider-left': props.layout === 'horizontal' && (!props.align || props.align === 'left')\n }, {\n 'p-divider-center': props.layout === 'horizontal' && props.align === 'center'\n }, {\n 'p-divider-right': props.layout === 'horizontal' && props.align === 'right'\n }, {\n 'p-divider-top': props.layout === 'vertical' && props.align === 'top'\n }, {\n 'p-divider-center': props.layout === 'vertical' && (!props.align || props.align === 'center')\n }, {\n 'p-divider-bottom': props.layout === 'vertical' && props.align === 'bottom'\n }];\n },\n content: 'p-divider-content'\n};\nvar DividerStyle = BaseStyle.extend({\n name: 'divider',\n theme: theme,\n classes: classes,\n inlineStyles: inlineStyles\n});\n\nexport { DividerStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseComponent from '@primevue/core/basecomponent';\nimport DividerStyle from 'primevue/divider/style';\nimport { openBlock, createElementBlock, mergeProps, renderSlot, createCommentVNode } from 'vue';\n\nvar script$1 = {\n name: 'BaseDivider',\n \"extends\": BaseComponent,\n props: {\n align: {\n type: String,\n \"default\": null\n },\n layout: {\n type: String,\n \"default\": 'horizontal'\n },\n type: {\n type: String,\n \"default\": 'solid'\n }\n },\n style: DividerStyle,\n provide: function provide() {\n return {\n $pcDivider: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'Divider',\n \"extends\": script$1,\n inheritAttrs: false\n};\n\nvar _hoisted_1 = [\"aria-orientation\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root'),\n style: _ctx.sx('root'),\n role: \"separator\",\n \"aria-orientation\": _ctx.layout\n }, _ctx.ptmi('root')), [_ctx.$slots[\"default\"] ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('content')\n }, _ctx.ptm('content')), [renderSlot(_ctx.$slots, \"default\")], 16)) : createCommentVNode(\"\", true)], 16, _hoisted_1);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n 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(dt('scrollpanel.bar.size'), \"));\\n width: calc(100% + calc(2 * \").concat(dt('scrollpanel.bar.size'), \"));\\n padding: 0 calc(2 * \").concat(dt('scrollpanel.bar.size'), \") calc(2 * \").concat(dt('scrollpanel.bar.size'), \") 0;\\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(dt('scrollpanel.bar.border.radius'), \";\\n z-index: 2;\\n cursor: pointer;\\n opacity: 0;\\n outline-color: transparent;\\n transition: outline-color \").concat(dt('scrollpanel.transition.duration'), \";\\n background: \").concat(dt('scrollpanel.bar.background'), \";\\n border: 0 none;\\n transition: outline-color \").concat(dt('scrollpanel.transition.duration'), \", opacity \").concat(dt('scrollpanel.transition.duration'), \";\\n}\\n\\n.p-scrollpanel-bar:focus-visible {\\n box-shadow: \").concat(dt('scrollpanel.bar.focus.ring.shadow'), \";\\n outline: \").concat(dt('scrollpanel.barfocus.ring.width'), \" \").concat(dt('scrollpanel.bar.focus.ring.style'), \" \").concat(dt('scrollpanel.bar.focus.ring.color'), \";\\n outline-offset: \").concat(dt('scrollpanel.barfocus.ring.offset'), \";\\n}\\n\\n.p-scrollpanel-bar-y {\\n width: \").concat(dt('scrollpanel.bar.size'), \";\\n top: 0;\\n}\\n\\n.p-scrollpanel-bar-x {\\n height: \").concat(dt('scrollpanel.bar.size'), \";\\n bottom: 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\");\n};\nvar classes = {\n root: 'p-scrollpanel p-component',\n contentContainer: 'p-scrollpanel-content-container',\n content: 'p-scrollpanel-content',\n barX: 'p-scrollpanel-bar p-scrollpanel-bar-x',\n barY: 'p-scrollpanel-bar p-scrollpanel-bar-y'\n};\nvar ScrollPanelStyle = BaseStyle.extend({\n name: 'scrollpanel',\n theme: theme,\n classes: classes\n});\n\nexport { ScrollPanelStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { UniqueComponentId } from '@primevue/core/utils';\nimport { getHeight, addClass, removeClass } from '@primeuix/utils/dom';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport ScrollPanelStyle from 'primevue/scrollpanel/style';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode, renderSlot } from 'vue';\n\nvar script$1 = {\n name: 'BaseScrollPanel',\n \"extends\": BaseComponent,\n props: {\n step: {\n type: Number,\n \"default\": 5\n }\n },\n style: ScrollPanelStyle,\n provide: function provide() {\n return {\n $pcScrollPanel: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'ScrollPanel',\n \"extends\": script$1,\n inheritAttrs: false,\n initialized: false,\n documentResizeListener: null,\n documentMouseMoveListener: null,\n documentMouseUpListener: null,\n frame: null,\n scrollXRatio: null,\n scrollYRatio: null,\n isXBarClicked: false,\n isYBarClicked: false,\n lastPageX: null,\n lastPageY: null,\n timer: null,\n outsideClickListener: null,\n data: function data() {\n return {\n id: this.$attrs.id,\n orientation: 'vertical',\n lastScrollTop: 0,\n lastScrollLeft: 0\n };\n },\n watch: {\n '$attrs.id': function $attrsId(newValue) {\n this.id = newValue || UniqueComponentId();\n }\n },\n mounted: function mounted() {\n this.id = this.id || UniqueComponentId();\n if (this.$el.offsetParent) {\n this.initialize();\n }\n },\n updated: function updated() {\n if (!this.initialized && this.$el.offsetParent) {\n this.initialize();\n }\n },\n beforeUnmount: function beforeUnmount() {\n this.unbindDocumentResizeListener();\n if (this.frame) {\n window.cancelAnimationFrame(this.frame);\n }\n },\n methods: {\n initialize: function initialize() {\n this.moveBar();\n this.bindDocumentResizeListener();\n this.calculateContainerHeight();\n },\n calculateContainerHeight: function calculateContainerHeight() {\n var containerStyles = getComputedStyle(this.$el),\n xBarStyles = getComputedStyle(this.$refs.xBar),\n pureContainerHeight = getHeight(this.$el) - parseInt(xBarStyles['height'], 10);\n if (containerStyles['max-height'] !== 'none' && pureContainerHeight === 0) {\n if (this.$refs.content.offsetHeight + parseInt(xBarStyles['height'], 10) > parseInt(containerStyles['max-height'], 10)) {\n this.$el.style.height = containerStyles['max-height'];\n } else {\n this.$el.style.height = this.$refs.content.offsetHeight + parseFloat(containerStyles.paddingTop) + parseFloat(containerStyles.paddingBottom) + parseFloat(containerStyles.borderTopWidth) + parseFloat(containerStyles.borderBottomWidth) + 'px';\n }\n }\n },\n moveBar: function moveBar() {\n var _this = this;\n if (this.$refs.content) {\n /* horizontal scroll */\n var totalWidth = this.$refs.content.scrollWidth;\n var ownWidth = this.$refs.content.clientWidth;\n var bottom = (this.$el.clientHeight - this.$refs.xBar.clientHeight) * -1;\n this.scrollXRatio = ownWidth / totalWidth;\n\n /* vertical scroll */\n var totalHeight = this.$refs.content.scrollHeight;\n var ownHeight = this.$refs.content.clientHeight;\n var right = (this.$el.clientWidth - this.$refs.yBar.clientWidth) * -1;\n this.scrollYRatio = ownHeight / totalHeight;\n this.frame = this.requestAnimationFrame(function () {\n if (_this.$refs.xBar) {\n if (_this.scrollXRatio >= 1) {\n _this.$refs.xBar.setAttribute('data-p-scrollpanel-hidden', 'true');\n !_this.isUnstyled && addClass(_this.$refs.xBar, 'p-scrollpanel-hidden');\n } else {\n _this.$refs.xBar.setAttribute('data-p-scrollpanel-hidden', 'false');\n !_this.isUnstyled && removeClass(_this.$refs.xBar, 'p-scrollpanel-hidden');\n _this.$refs.xBar.style.cssText = 'width:' + Math.max(_this.scrollXRatio * 100, 10) + '%; left:' + _this.$refs.content.scrollLeft / totalWidth * 100 + '%;bottom:' + bottom + 'px;';\n }\n }\n if (_this.$refs.yBar) {\n if (_this.scrollYRatio >= 1) {\n _this.$refs.yBar.setAttribute('data-p-scrollpanel-hidden', 'true');\n !_this.isUnstyled && addClass(_this.$refs.yBar, 'p-scrollpanel-hidden');\n } else {\n _this.$refs.yBar.setAttribute('data-p-scrollpanel-hidden', 'false');\n !_this.isUnstyled && removeClass(_this.$refs.yBar, 'p-scrollpanel-hidden');\n _this.$refs.yBar.style.cssText = 'height:' + Math.max(_this.scrollYRatio * 100, 10) + '%; top: calc(' + _this.$refs.content.scrollTop / totalHeight * 100 + '% - ' + _this.$refs.xBar.clientHeight + 'px);right:' + right + 'px;';\n }\n }\n });\n }\n },\n onYBarMouseDown: function onYBarMouseDown(e) {\n this.isYBarClicked = true;\n this.$refs.yBar.focus();\n this.lastPageY = e.pageY;\n this.$refs.yBar.setAttribute('data-p-scrollpanel-grabbed', 'true');\n !this.isUnstyled && addClass(this.$refs.yBar, 'p-scrollpanel-grabbed');\n document.body.setAttribute('data-p-scrollpanel-grabbed', 'true');\n !this.isUnstyled && addClass(document.body, 'p-scrollpanel-grabbed');\n this.bindDocumentMouseListeners();\n e.preventDefault();\n },\n onXBarMouseDown: function onXBarMouseDown(e) {\n this.isXBarClicked = true;\n this.$refs.xBar.focus();\n this.lastPageX = e.pageX;\n this.$refs.yBar.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && addClass(this.$refs.xBar, 'p-scrollpanel-grabbed');\n document.body.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && addClass(document.body, 'p-scrollpanel-grabbed');\n this.bindDocumentMouseListeners();\n e.preventDefault();\n },\n onScroll: function onScroll(event) {\n if (this.lastScrollLeft !== event.target.scrollLeft) {\n this.lastScrollLeft = event.target.scrollLeft;\n this.orientation = 'horizontal';\n } else if (this.lastScrollTop !== event.target.scrollTop) {\n this.lastScrollTop = event.target.scrollTop;\n this.orientation = 'vertical';\n }\n this.moveBar();\n },\n onKeyDown: function onKeyDown(event) {\n if (this.orientation === 'vertical') {\n switch (event.code) {\n case 'ArrowDown':\n {\n this.setTimer('scrollTop', this.step);\n event.preventDefault();\n break;\n }\n case 'ArrowUp':\n {\n this.setTimer('scrollTop', this.step * -1);\n event.preventDefault();\n break;\n }\n case 'ArrowLeft':\n case 'ArrowRight':\n {\n event.preventDefault();\n break;\n }\n }\n } else if (this.orientation === 'horizontal') {\n switch (event.code) {\n case 'ArrowRight':\n {\n this.setTimer('scrollLeft', this.step);\n event.preventDefault();\n break;\n }\n case 'ArrowLeft':\n {\n this.setTimer('scrollLeft', this.step * -1);\n event.preventDefault();\n break;\n }\n case 'ArrowDown':\n case 'ArrowUp':\n {\n event.preventDefault();\n break;\n }\n }\n }\n },\n onKeyUp: function onKeyUp() {\n this.clearTimer();\n },\n repeat: function repeat(bar, step) {\n this.$refs.content[bar] += step;\n this.moveBar();\n },\n setTimer: function setTimer(bar, step) {\n var _this2 = this;\n this.clearTimer();\n this.timer = setTimeout(function () {\n _this2.repeat(bar, step);\n }, 40);\n },\n clearTimer: function clearTimer() {\n if (this.timer) {\n clearTimeout(this.timer);\n }\n },\n onDocumentMouseMove: function onDocumentMouseMove(e) {\n if (this.isXBarClicked) {\n this.onMouseMoveForXBar(e);\n } else if (this.isYBarClicked) {\n this.onMouseMoveForYBar(e);\n } else {\n this.onMouseMoveForXBar(e);\n this.onMouseMoveForYBar(e);\n }\n },\n onMouseMoveForXBar: function onMouseMoveForXBar(e) {\n var _this3 = this;\n var deltaX = e.pageX - this.lastPageX;\n this.lastPageX = e.pageX;\n this.frame = this.requestAnimationFrame(function () {\n _this3.$refs.content.scrollLeft += deltaX / _this3.scrollXRatio;\n });\n },\n onMouseMoveForYBar: function onMouseMoveForYBar(e) {\n var _this4 = this;\n var deltaY = e.pageY - this.lastPageY;\n this.lastPageY = e.pageY;\n this.frame = this.requestAnimationFrame(function () {\n _this4.$refs.content.scrollTop += deltaY / _this4.scrollYRatio;\n });\n },\n onFocus: function onFocus(event) {\n if (this.$refs.xBar.isSameNode(event.target)) {\n this.orientation = 'horizontal';\n } else if (this.$refs.yBar.isSameNode(event.target)) {\n this.orientation = 'vertical';\n }\n },\n onBlur: function onBlur() {\n if (this.orientation === 'horizontal') {\n this.orientation = 'vertical';\n }\n },\n onDocumentMouseUp: function onDocumentMouseUp() {\n this.$refs.yBar.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && removeClass(this.$refs.yBar, 'p-scrollpanel-grabbed');\n this.$refs.xBar.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && removeClass(this.$refs.xBar, 'p-scrollpanel-grabbed');\n document.body.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && removeClass(document.body, 'p-scrollpanel-grabbed');\n this.unbindDocumentMouseListeners();\n this.isXBarClicked = false;\n this.isYBarClicked = false;\n },\n requestAnimationFrame: function requestAnimationFrame(f) {\n var frame = window.requestAnimationFrame || this.timeoutFrame;\n return frame(f);\n },\n refresh: function refresh() {\n this.moveBar();\n },\n scrollTop: function scrollTop(_scrollTop) {\n var scrollableHeight = this.$refs.content.scrollHeight - this.$refs.content.clientHeight;\n _scrollTop = _scrollTop > scrollableHeight ? scrollableHeight : _scrollTop > 0 ? _scrollTop : 0;\n this.$refs.content.scrollTop = _scrollTop;\n },\n timeoutFrame: function timeoutFrame(fn) {\n setTimeout(fn, 0);\n },\n bindDocumentMouseListeners: function bindDocumentMouseListeners() {\n var _this5 = this;\n if (!this.documentMouseMoveListener) {\n this.documentMouseMoveListener = function (e) {\n _this5.onDocumentMouseMove(e);\n };\n document.addEventListener('mousemove', this.documentMouseMoveListener);\n }\n if (!this.documentMouseUpListener) {\n this.documentMouseUpListener = function (e) {\n _this5.onDocumentMouseUp(e);\n };\n document.addEventListener('mouseup', this.documentMouseUpListener);\n }\n },\n unbindDocumentMouseListeners: function unbindDocumentMouseListeners() {\n if (this.documentMouseMoveListener) {\n document.removeEventListener('mousemove', this.documentMouseMoveListener);\n this.documentMouseMoveListener = null;\n }\n if (this.documentMouseUpListener) {\n document.removeEventListener('mouseup', this.documentMouseUpListener);\n this.documentMouseUpListener = null;\n }\n },\n bindDocumentResizeListener: function bindDocumentResizeListener() {\n var _this6 = this;\n if (!this.documentResizeListener) {\n this.documentResizeListener = function () {\n _this6.moveBar();\n };\n window.addEventListener('resize', this.documentResizeListener);\n }\n },\n unbindDocumentResizeListener: function unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n window.removeEventListener('resize', this.documentResizeListener);\n this.documentResizeListener = null;\n }\n }\n },\n computed: {\n contentId: function contentId() {\n return this.id + '_content';\n }\n }\n};\n\nvar _hoisted_1 = [\"id\"];\nvar _hoisted_2 = [\"aria-controls\", \"aria-valuenow\"];\nvar _hoisted_3 = [\"aria-controls\", \"aria-valuenow\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('contentContainer')\n }, _ctx.ptm('contentContainer')), [createElementVNode(\"div\", mergeProps({\n ref: \"content\",\n id: $options.contentId,\n \"class\": _ctx.cx('content'),\n onScroll: _cache[0] || (_cache[0] = function () {\n return $options.onScroll && $options.onScroll.apply($options, arguments);\n }),\n onMouseenter: _cache[1] || (_cache[1] = function () {\n return $options.moveBar && $options.moveBar.apply($options, arguments);\n })\n }, _ctx.ptm('content')), [renderSlot(_ctx.$slots, \"default\")], 16, _hoisted_1)], 16), createElementVNode(\"div\", mergeProps({\n ref: \"xBar\",\n \"class\": _ctx.cx('barx'),\n tabindex: \"0\",\n role: \"scrollbar\",\n \"aria-orientation\": \"horizontal\",\n \"aria-controls\": $options.contentId,\n \"aria-valuenow\": $data.lastScrollLeft,\n onMousedown: _cache[2] || (_cache[2] = function () {\n return $options.onXBarMouseDown && $options.onXBarMouseDown.apply($options, arguments);\n }),\n onKeydown: _cache[3] || (_cache[3] = function ($event) {\n return $options.onKeyDown($event);\n }),\n onKeyup: _cache[4] || (_cache[4] = function () {\n return $options.onKeyUp && $options.onKeyUp.apply($options, arguments);\n }),\n onFocus: _cache[5] || (_cache[5] = function () {\n return $options.onFocus && $options.onFocus.apply($options, arguments);\n }),\n onBlur: _cache[6] || (_cache[6] = function () {\n return $options.onBlur && $options.onBlur.apply($options, arguments);\n })\n }, _ctx.ptm('barx'), {\n \"data-pc-group-section\": \"bar\"\n }), null, 16, _hoisted_2), createElementVNode(\"div\", mergeProps({\n ref: \"yBar\",\n \"class\": _ctx.cx('bary'),\n tabindex: \"0\",\n role: \"scrollbar\",\n \"aria-orientation\": \"vertical\",\n \"aria-controls\": $options.contentId,\n \"aria-valuenow\": $data.lastScrollTop,\n onMousedown: _cache[7] || (_cache[7] = function () {\n return $options.onYBarMouseDown && $options.onYBarMouseDown.apply($options, arguments);\n }),\n onKeydown: _cache[8] || (_cache[8] = function ($event) {\n return $options.onKeyDown($event);\n }),\n onKeyup: _cache[9] || (_cache[9] = function () {\n return $options.onKeyUp && $options.onKeyUp.apply($options, arguments);\n }),\n onFocus: _cache[10] || (_cache[10] = function () {\n return $options.onFocus && $options.onFocus.apply($options, arguments);\n })\n }, _ctx.ptm('bary'), {\n \"data-pc-group-section\": \"bar\"\n }), null, 16, _hoisted_3)], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'AngleDownIcon',\n \"extends\": BaseIcon\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _cache[0] || (_cache[0] = [createElementVNode(\"path\", {\n d: \"M3.58659 4.5007C3.68513 4.50023 3.78277 4.51945 3.87379 4.55723C3.9648 4.59501 4.04735 4.65058 4.11659 4.7207L7.11659 7.7207L10.1166 4.7207C10.2619 4.65055 10.4259 4.62911 10.5843 4.65956C10.7427 4.69002 10.8871 4.77074 10.996 4.88976C11.1049 5.00877 11.1726 5.15973 11.1889 5.32022C11.2052 5.48072 11.1693 5.6422 11.0866 5.7807L7.58659 9.2807C7.44597 9.42115 7.25534 9.50004 7.05659 9.50004C6.85784 9.50004 6.66722 9.42115 6.52659 9.2807L3.02659 5.7807C2.88614 5.64007 2.80725 5.44945 2.80725 5.2507C2.80725 5.05195 2.88614 4.86132 3.02659 4.7207C3.09932 4.64685 3.18675 4.58911 3.28322 4.55121C3.37969 4.51331 3.48305 4.4961 3.58659 4.5007Z\",\n fill: \"currentColor\"\n }, null, -1)]), 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'AngleUpIcon',\n \"extends\": BaseIcon\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _cache[0] || (_cache[0] = [createElementVNode(\"path\", {\n d: \"M10.4134 9.49931C10.3148 9.49977 10.2172 9.48055 10.1262 9.44278C10.0352 9.405 9.95263 9.34942 9.88338 9.27931L6.88338 6.27931L3.88338 9.27931C3.73811 9.34946 3.57409 9.3709 3.41567 9.34044C3.25724 9.30999 3.11286 9.22926 3.00395 9.11025C2.89504 8.99124 2.82741 8.84028 2.8111 8.67978C2.79478 8.51928 2.83065 8.35781 2.91338 8.21931L6.41338 4.71931C6.55401 4.57886 6.74463 4.49997 6.94338 4.49997C7.14213 4.49997 7.33276 4.57886 7.47338 4.71931L10.9734 8.21931C11.1138 8.35994 11.1927 8.55056 11.1927 8.74931C11.1927 8.94806 11.1138 9.13868 10.9734 9.27931C10.9007 9.35315 10.8132 9.41089 10.7168 9.44879C10.6203 9.48669 10.5169 9.5039 10.4134 9.49931Z\",\n fill: \"currentColor\"\n }, null, -1)]), 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-inputnumber {\\n display: inline-flex;\\n position: relative;\\n}\\n\\n.p-inputnumber-button {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n flex: 0 0 auto;\\n cursor: pointer;\\n background: \".concat(dt('inputnumber.button.background'), \";\\n color: \").concat(dt('inputnumber.button.color'), \";\\n width: \").concat(dt('inputnumber.button.width'), \";\\n transition: background \").concat(dt('inputnumber.transition.duration'), \", color \").concat(dt('inputnumber.transition.duration'), \", border-color \").concat(dt('inputnumber.transition.duration'), \", outline-color \").concat(dt('inputnumber.transition.duration'), \";\\n}\\n\\n.p-inputnumber-button:hover {\\n background: \").concat(dt('inputnumber.button.hover.background'), \";\\n color: \").concat(dt('inputnumber.button.hover.color'), \";\\n}\\n\\n.p-inputnumber-button:active {\\n background: \").concat(dt('inputnumber.button.active.background'), \";\\n color: \").concat(dt('inputnumber.button.active.color'), \";\\n}\\n\\n.p-inputnumber-stacked .p-inputnumber-button {\\n position: relative;\\n border: 0 none;\\n}\\n\\n.p-inputnumber-stacked .p-inputnumber-button-group {\\n display: flex;\\n flex-direction: column;\\n position: absolute;\\n top: 1px;\\n right: 1px;\\n height: calc(100% - 2px);\\n z-index: 1;\\n}\\n\\n.p-inputnumber-stacked .p-inputnumber-increment-button {\\n padding: 0;\\n border-top-right-radius: calc(\").concat(dt('inputnumber.button.border.radius'), \" - 1px);\\n}\\n\\n.p-inputnumber-stacked .p-inputnumber-decrement-button {\\n padding: 0;\\n border-bottom-right-radius: calc(\").concat(dt('inputnumber.button.border.radius'), \" - 1px);\\n}\\n\\n.p-inputnumber-stacked .p-inputnumber-button {\\n flex: 1 1 auto;\\n border: 0 none;\\n}\\n\\n.p-inputnumber-horizontal .p-inputnumber-button {\\n border: 1px solid \").concat(dt('inputnumber.button.border.color'), \";\\n}\\n\\n.p-inputnumber-horizontal .p-inputnumber-button:hover {\\n border-color: \").concat(dt('inputnumber.button.hover.border.color'), \";\\n}\\n\\n.p-inputnumber-horizontal .p-inputnumber-button:active {\\n border-color: \").concat(dt('inputnumber.button.active.border.color'), \";\\n}\\n\\n.p-inputnumber-horizontal .p-inputnumber-increment-button {\\n order: 3;\\n border-top-right-radius: \").concat(dt('inputnumber.button.border.radius'), \";\\n border-bottom-right-radius: \").concat(dt('inputnumber.button.border.radius'), \";\\n border-left: 0 none;\\n}\\n\\n.p-inputnumber-horizontal .p-inputnumber-input {\\n order: 2;\\n border-radius: 0;\\n}\\n\\n.p-inputnumber-horizontal .p-inputnumber-decrement-button {\\n order: 1;\\n border-top-left-radius: \").concat(dt('inputnumber.button.border.radius'), \";\\n border-bottom-left-radius: \").concat(dt('inputnumber.button.border.radius'), \";\\n border-right: 0 none;\\n}\\n\\n.p-floatlabel:has(.p-inputnumber-horizontal) label {\\n margin-inline-start: \").concat(dt('inputnumber.button.width'), \";\\n}\\n\\n.p-inputnumber-vertical {\\n flex-direction: column;\\n}\\n\\n.p-inputnumber-vertical .p-inputnumber-button {\\n border: 1px solid \").concat(dt('inputnumber.button.border.color'), \";\\n padding: \").concat(dt('inputnumber.button.vertical.padding'), \"; 0;\\n}\\n\\n.p-inputnumber-vertical .p-inputnumber-button:hover {\\n border-color: \").concat(dt('inputnumber.button.hover.border.color'), \";\\n}\\n\\n.p-inputnumber-vertical .p-inputnumber-button:active {\\n border-color: \").concat(dt('inputnumber.button.active.border.color'), \";\\n}\\n\\n.p-inputnumber-vertical .p-inputnumber-increment-button {\\n order: 1;\\n border-top-left-radius: \").concat(dt('inputnumber.button.border.radius'), \";\\n border-top-right-radius: \").concat(dt('inputnumber.button.border.radius'), \";\\n width: 100%;\\n border-bottom: 0 none;\\n}\\n\\n.p-inputnumber-vertical .p-inputnumber-input {\\n order: 2;\\n border-radius: 0;\\n text-align: center;\\n}\\n\\n.p-inputnumber-vertical .p-inputnumber-decrement-button {\\n order: 3;\\n border-bottom-left-radius: \").concat(dt('inputnumber.button.border.radius'), \";\\n border-bottom-right-radius: \").concat(dt('inputnumber.button.border.radius'), \";\\n width: 100%;\\n border-top: 0 none;\\n}\\n\\n.p-inputnumber-input {\\n flex: 1 1 auto;\\n}\\n\\n.p-inputnumber-fluid {\\n width: 100%;\\n}\\n\\n.p-inputnumber-fluid .p-inputnumber-input {\\n width: 1%;\\n}\\n\\n.p-inputnumber-fluid.p-inputnumber-vertical .p-inputnumber-input {\\n width: 100%;\\n}\\n\");\n};\nvar classes = {\n root: function root(_ref2) {\n var instance = _ref2.instance,\n props = _ref2.props;\n return ['p-inputnumber p-component p-inputwrapper', {\n 'p-inputwrapper-filled': instance.filled || props.allowEmpty === false,\n 'p-inputwrapper-focus': instance.focused,\n 'p-inputnumber-stacked': props.showButtons && props.buttonLayout === 'stacked',\n 'p-inputnumber-horizontal': props.showButtons && props.buttonLayout === 'horizontal',\n 'p-inputnumber-vertical': props.showButtons && props.buttonLayout === 'vertical',\n 'p-inputnumber-fluid': instance.hasFluid\n }];\n },\n pcInputText: 'p-inputnumber-input',\n buttonGroup: 'p-inputnumber-button-group',\n incrementButton: function incrementButton(_ref3) {\n var instance = _ref3.instance,\n props = _ref3.props;\n return ['p-inputnumber-button p-inputnumber-increment-button', {\n 'p-disabled': props.showButtons && props.max !== null && instance.maxBoundry()\n }];\n },\n decrementButton: function decrementButton(_ref4) {\n var instance = _ref4.instance,\n props = _ref4.props;\n return ['p-inputnumber-button p-inputnumber-decrement-button', {\n 'p-disabled': props.showButtons && props.min !== null && instance.minBoundry()\n }];\n }\n};\nvar InputNumberStyle = BaseStyle.extend({\n name: 'inputnumber',\n theme: theme,\n classes: classes\n});\n\nexport { InputNumberStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { getSelection, clearSelection } from '@primeuix/utils/dom';\nimport { isNotEmpty, isEmpty } from '@primeuix/utils/object';\nimport AngleDownIcon from '@primevue/icons/angledown';\nimport AngleUpIcon from '@primevue/icons/angleup';\nimport InputText from 'primevue/inputtext';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport InputNumberStyle from 'primevue/inputnumber/style';\nimport { resolveComponent, openBlock, createElementBlock, mergeProps, createVNode, normalizeClass, normalizeStyle, renderSlot, createElementVNode, toHandlers, createBlock, resolveDynamicComponent, createCommentVNode } from 'vue';\n\nvar script$1 = {\n name: 'BaseInputNumber',\n \"extends\": BaseComponent,\n props: {\n modelValue: {\n type: Number,\n \"default\": null\n },\n format: {\n type: Boolean,\n \"default\": true\n },\n showButtons: {\n type: Boolean,\n \"default\": false\n },\n buttonLayout: {\n type: String,\n \"default\": 'stacked'\n },\n incrementButtonClass: {\n type: String,\n \"default\": null\n },\n decrementButtonClass: {\n type: String,\n \"default\": null\n },\n incrementButtonIcon: {\n type: String,\n \"default\": undefined\n },\n incrementIcon: {\n type: String,\n \"default\": undefined\n },\n decrementButtonIcon: {\n type: String,\n \"default\": undefined\n },\n decrementIcon: {\n type: String,\n \"default\": undefined\n },\n locale: {\n type: String,\n \"default\": undefined\n },\n localeMatcher: {\n type: String,\n \"default\": undefined\n },\n mode: {\n type: String,\n \"default\": 'decimal'\n },\n prefix: {\n type: String,\n \"default\": null\n },\n suffix: {\n type: String,\n \"default\": null\n },\n currency: {\n type: String,\n \"default\": undefined\n },\n currencyDisplay: {\n type: String,\n \"default\": undefined\n },\n useGrouping: {\n type: Boolean,\n \"default\": true\n },\n minFractionDigits: {\n type: Number,\n \"default\": undefined\n },\n maxFractionDigits: {\n type: Number,\n \"default\": undefined\n },\n roundingMode: {\n type: String,\n \"default\": 'halfExpand',\n validator: function validator(value) {\n return ['ceil', 'floor', 'expand', 'trunc', 'halfCeil', 'halfFloor', 'halfExpand', 'halfTrunc', 'halfEven'].includes(value);\n }\n },\n min: {\n type: Number,\n \"default\": null\n },\n max: {\n type: Number,\n \"default\": null\n },\n step: {\n type: Number,\n \"default\": 1\n },\n allowEmpty: {\n type: Boolean,\n \"default\": true\n },\n highlightOnFocus: {\n type: Boolean,\n \"default\": false\n },\n readonly: {\n type: Boolean,\n \"default\": false\n },\n variant: {\n type: String,\n \"default\": null\n },\n invalid: {\n type: Boolean,\n \"default\": false\n },\n disabled: {\n type: Boolean,\n \"default\": false\n },\n placeholder: {\n type: String,\n \"default\": null\n },\n fluid: {\n type: Boolean,\n \"default\": null\n },\n inputId: {\n type: String,\n \"default\": null\n },\n inputClass: {\n type: [String, Object],\n \"default\": null\n },\n inputStyle: {\n type: Object,\n \"default\": null\n },\n ariaLabelledby: {\n type: String,\n \"default\": null\n },\n ariaLabel: {\n type: String,\n \"default\": null\n }\n },\n style: InputNumberStyle,\n provide: function provide() {\n return {\n $pcInputNumber: this,\n $parentInstance: this\n };\n }\n};\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _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); }\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _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.\"); }\nfunction _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; } }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _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; }\nvar script = {\n name: 'InputNumber',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['update:modelValue', 'input', 'focus', 'blur'],\n inject: {\n $pcFluid: {\n \"default\": null\n }\n },\n numberFormat: null,\n _numeral: null,\n _decimal: null,\n _group: null,\n _minusSign: null,\n _currency: null,\n _suffix: null,\n _prefix: null,\n _index: null,\n groupChar: '',\n isSpecialChar: null,\n prefixChar: null,\n suffixChar: null,\n timer: null,\n data: function data() {\n return {\n d_modelValue: this.modelValue,\n focused: false\n };\n },\n watch: {\n modelValue: function modelValue(newValue) {\n this.d_modelValue = newValue;\n },\n locale: function locale(newValue, oldValue) {\n this.updateConstructParser(newValue, oldValue);\n },\n localeMatcher: function localeMatcher(newValue, oldValue) {\n this.updateConstructParser(newValue, oldValue);\n },\n mode: function mode(newValue, oldValue) {\n this.updateConstructParser(newValue, oldValue);\n },\n currency: function currency(newValue, oldValue) {\n this.updateConstructParser(newValue, oldValue);\n },\n currencyDisplay: function currencyDisplay(newValue, oldValue) {\n this.updateConstructParser(newValue, oldValue);\n },\n useGrouping: function useGrouping(newValue, oldValue) {\n this.updateConstructParser(newValue, oldValue);\n },\n minFractionDigits: function minFractionDigits(newValue, oldValue) {\n this.updateConstructParser(newValue, oldValue);\n },\n maxFractionDigits: function maxFractionDigits(newValue, oldValue) {\n this.updateConstructParser(newValue, oldValue);\n },\n suffix: function suffix(newValue, oldValue) {\n this.updateConstructParser(newValue, oldValue);\n },\n prefix: function prefix(newValue, oldValue) {\n this.updateConstructParser(newValue, oldValue);\n }\n },\n created: function created() {\n this.constructParser();\n },\n methods: {\n getOptions: function getOptions() {\n return {\n localeMatcher: this.localeMatcher,\n style: this.mode,\n currency: this.currency,\n currencyDisplay: this.currencyDisplay,\n useGrouping: this.useGrouping,\n minimumFractionDigits: this.minFractionDigits,\n maximumFractionDigits: this.maxFractionDigits,\n roundingMode: this.roundingMode\n };\n },\n constructParser: function constructParser() {\n this.numberFormat = new Intl.NumberFormat(this.locale, this.getOptions());\n var numerals = _toConsumableArray(new Intl.NumberFormat(this.locale, {\n useGrouping: false\n }).format(9876543210)).reverse();\n var index = new Map(numerals.map(function (d, i) {\n return [d, i];\n }));\n this._numeral = new RegExp(\"[\".concat(numerals.join(''), \"]\"), 'g');\n this._group = this.getGroupingExpression();\n this._minusSign = this.getMinusSignExpression();\n this._currency = this.getCurrencyExpression();\n this._decimal = this.getDecimalExpression();\n this._suffix = this.getSuffixExpression();\n this._prefix = this.getPrefixExpression();\n this._index = function (d) {\n return index.get(d);\n };\n },\n updateConstructParser: function updateConstructParser(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.constructParser();\n }\n },\n escapeRegExp: function escapeRegExp(text) {\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n },\n getDecimalExpression: function getDecimalExpression() {\n var formatter = new Intl.NumberFormat(this.locale, _objectSpread(_objectSpread({}, this.getOptions()), {}, {\n useGrouping: false\n }));\n return new RegExp(\"[\".concat(formatter.format(1.1).replace(this._currency, '').trim().replace(this._numeral, ''), \"]\"), 'g');\n },\n getGroupingExpression: function getGroupingExpression() {\n var formatter = new Intl.NumberFormat(this.locale, {\n useGrouping: true\n });\n this.groupChar = formatter.format(1000000).trim().replace(this._numeral, '').charAt(0);\n return new RegExp(\"[\".concat(this.groupChar, \"]\"), 'g');\n },\n getMinusSignExpression: function getMinusSignExpression() {\n var formatter = new Intl.NumberFormat(this.locale, {\n useGrouping: false\n });\n return new RegExp(\"[\".concat(formatter.format(-1).trim().replace(this._numeral, ''), \"]\"), 'g');\n },\n getCurrencyExpression: function getCurrencyExpression() {\n if (this.currency) {\n var formatter = new Intl.NumberFormat(this.locale, {\n style: 'currency',\n currency: this.currency,\n currencyDisplay: this.currencyDisplay,\n minimumFractionDigits: 0,\n maximumFractionDigits: 0,\n roundingMode: this.roundingMode\n });\n return new RegExp(\"[\".concat(formatter.format(1).replace(/\\s/g, '').replace(this._numeral, '').replace(this._group, ''), \"]\"), 'g');\n }\n return new RegExp(\"[]\", 'g');\n },\n getPrefixExpression: function getPrefixExpression() {\n if (this.prefix) {\n this.prefixChar = this.prefix;\n } else {\n var formatter = new Intl.NumberFormat(this.locale, {\n style: this.mode,\n currency: this.currency,\n currencyDisplay: this.currencyDisplay\n });\n this.prefixChar = formatter.format(1).split('1')[0];\n }\n return new RegExp(\"\".concat(this.escapeRegExp(this.prefixChar || '')), 'g');\n },\n getSuffixExpression: function getSuffixExpression() {\n if (this.suffix) {\n this.suffixChar = this.suffix;\n } else {\n var formatter = new Intl.NumberFormat(this.locale, {\n style: this.mode,\n currency: this.currency,\n currencyDisplay: this.currencyDisplay,\n minimumFractionDigits: 0,\n maximumFractionDigits: 0,\n roundingMode: this.roundingMode\n });\n this.suffixChar = formatter.format(1).split('1')[1];\n }\n return new RegExp(\"\".concat(this.escapeRegExp(this.suffixChar || '')), 'g');\n },\n formatValue: function formatValue(value) {\n if (value != null) {\n if (value === '-') {\n // Minus sign\n return value;\n }\n if (this.format) {\n var formatter = new Intl.NumberFormat(this.locale, this.getOptions());\n var formattedValue = formatter.format(value);\n if (this.prefix) {\n formattedValue = this.prefix + formattedValue;\n }\n if (this.suffix) {\n formattedValue = formattedValue + this.suffix;\n }\n return formattedValue;\n }\n return value.toString();\n }\n return '';\n },\n parseValue: function parseValue(text) {\n var filteredText = text.replace(this._suffix, '').replace(this._prefix, '').trim().replace(/\\s/g, '').replace(this._currency, '').replace(this._group, '').replace(this._minusSign, '-').replace(this._decimal, '.').replace(this._numeral, this._index);\n if (filteredText) {\n if (filteredText === '-')\n // Minus sign\n return filteredText;\n var parsedValue = +filteredText;\n return isNaN(parsedValue) ? null : parsedValue;\n }\n return null;\n },\n repeat: function repeat(event, interval, dir) {\n var _this = this;\n if (this.readonly) {\n return;\n }\n var i = interval || 500;\n this.clearTimer();\n this.timer = setTimeout(function () {\n _this.repeat(event, 40, dir);\n }, i);\n this.spin(event, dir);\n },\n spin: function spin(event, dir) {\n if (this.$refs.input) {\n var step = this.step * dir;\n var currentValue = this.parseValue(this.$refs.input.$el.value) || 0;\n var newValue = this.validateValue(currentValue + step);\n this.updateInput(newValue, null, 'spin');\n this.updateModel(event, newValue);\n this.handleOnInput(event, currentValue, newValue);\n }\n },\n onUpButtonMouseDown: function onUpButtonMouseDown(event) {\n if (!this.disabled) {\n this.$refs.input.$el.focus();\n this.repeat(event, null, 1);\n event.preventDefault();\n }\n },\n onUpButtonMouseUp: function onUpButtonMouseUp() {\n if (!this.disabled) {\n this.clearTimer();\n }\n },\n onUpButtonMouseLeave: function onUpButtonMouseLeave() {\n if (!this.disabled) {\n this.clearTimer();\n }\n },\n onUpButtonKeyUp: function onUpButtonKeyUp() {\n if (!this.disabled) {\n this.clearTimer();\n }\n },\n onUpButtonKeyDown: function onUpButtonKeyDown(event) {\n if (event.code === 'Space' || event.code === 'Enter' || event.code === 'NumpadEnter') {\n this.repeat(event, null, 1);\n }\n },\n onDownButtonMouseDown: function onDownButtonMouseDown(event) {\n if (!this.disabled) {\n this.$refs.input.$el.focus();\n this.repeat(event, null, -1);\n event.preventDefault();\n }\n },\n onDownButtonMouseUp: function onDownButtonMouseUp() {\n if (!this.disabled) {\n this.clearTimer();\n }\n },\n onDownButtonMouseLeave: function onDownButtonMouseLeave() {\n if (!this.disabled) {\n this.clearTimer();\n }\n },\n onDownButtonKeyUp: function onDownButtonKeyUp() {\n if (!this.disabled) {\n this.clearTimer();\n }\n },\n onDownButtonKeyDown: function onDownButtonKeyDown(event) {\n if (event.code === 'Space' || event.code === 'Enter' || event.code === 'NumpadEnter') {\n this.repeat(event, null, -1);\n }\n },\n onUserInput: function onUserInput() {\n if (this.isSpecialChar) {\n this.$refs.input.$el.value = this.lastValue;\n }\n this.isSpecialChar = false;\n },\n onInputKeyDown: function onInputKeyDown(event) {\n if (this.readonly) {\n return;\n }\n if (event.altKey || event.ctrlKey || event.metaKey) {\n this.isSpecialChar = true;\n this.lastValue = this.$refs.input.$el.value;\n return;\n }\n this.lastValue = event.target.value;\n var selectionStart = event.target.selectionStart;\n var selectionEnd = event.target.selectionEnd;\n var inputValue = event.target.value;\n var newValueStr = null;\n switch (event.code) {\n case 'ArrowUp':\n this.spin(event, 1);\n event.preventDefault();\n break;\n case 'ArrowDown':\n this.spin(event, -1);\n event.preventDefault();\n break;\n case 'ArrowLeft':\n if (!this.isNumeralChar(inputValue.charAt(selectionStart - 1))) {\n event.preventDefault();\n }\n break;\n case 'ArrowRight':\n if (!this.isNumeralChar(inputValue.charAt(selectionStart))) {\n event.preventDefault();\n }\n break;\n case 'Tab':\n case 'Enter':\n case 'NumpadEnter':\n newValueStr = this.validateValue(this.parseValue(inputValue));\n this.$refs.input.$el.value = this.formatValue(newValueStr);\n this.$refs.input.$el.setAttribute('aria-valuenow', newValueStr);\n this.updateModel(event, newValueStr);\n break;\n case 'Backspace':\n {\n event.preventDefault();\n if (selectionStart === selectionEnd) {\n var deleteChar = inputValue.charAt(selectionStart - 1);\n var _this$getDecimalCharI = this.getDecimalCharIndexes(inputValue),\n decimalCharIndex = _this$getDecimalCharI.decimalCharIndex,\n decimalCharIndexWithoutPrefix = _this$getDecimalCharI.decimalCharIndexWithoutPrefix;\n if (this.isNumeralChar(deleteChar)) {\n var decimalLength = this.getDecimalLength(inputValue);\n if (this._group.test(deleteChar)) {\n this._group.lastIndex = 0;\n newValueStr = inputValue.slice(0, selectionStart - 2) + inputValue.slice(selectionStart - 1);\n } else if (this._decimal.test(deleteChar)) {\n this._decimal.lastIndex = 0;\n if (decimalLength) {\n this.$refs.input.$el.setSelectionRange(selectionStart - 1, selectionStart - 1);\n } else {\n newValueStr = inputValue.slice(0, selectionStart - 1) + inputValue.slice(selectionStart);\n }\n } else if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) {\n var insertedText = this.isDecimalMode() && (this.minFractionDigits || 0) < decimalLength ? '' : '0';\n newValueStr = inputValue.slice(0, selectionStart - 1) + insertedText + inputValue.slice(selectionStart);\n } else if (decimalCharIndexWithoutPrefix === 1) {\n newValueStr = inputValue.slice(0, selectionStart - 1) + '0' + inputValue.slice(selectionStart);\n newValueStr = this.parseValue(newValueStr) > 0 ? newValueStr : '';\n } else {\n newValueStr = inputValue.slice(0, selectionStart - 1) + inputValue.slice(selectionStart);\n }\n }\n this.updateValue(event, newValueStr, null, 'delete-single');\n } else {\n newValueStr = this.deleteRange(inputValue, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, null, 'delete-range');\n }\n break;\n }\n case 'Delete':\n event.preventDefault();\n if (selectionStart === selectionEnd) {\n var _deleteChar = inputValue.charAt(selectionStart);\n var _this$getDecimalCharI2 = this.getDecimalCharIndexes(inputValue),\n _decimalCharIndex = _this$getDecimalCharI2.decimalCharIndex,\n _decimalCharIndexWithoutPrefix = _this$getDecimalCharI2.decimalCharIndexWithoutPrefix;\n if (this.isNumeralChar(_deleteChar)) {\n var _decimalLength = this.getDecimalLength(inputValue);\n if (this._group.test(_deleteChar)) {\n this._group.lastIndex = 0;\n newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 2);\n } else if (this._decimal.test(_deleteChar)) {\n this._decimal.lastIndex = 0;\n if (_decimalLength) {\n this.$refs.input.$el.setSelectionRange(selectionStart + 1, selectionStart + 1);\n } else {\n newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 1);\n }\n } else if (_decimalCharIndex > 0 && selectionStart > _decimalCharIndex) {\n var _insertedText = this.isDecimalMode() && (this.minFractionDigits || 0) < _decimalLength ? '' : '0';\n newValueStr = inputValue.slice(0, selectionStart) + _insertedText + inputValue.slice(selectionStart + 1);\n } else if (_decimalCharIndexWithoutPrefix === 1) {\n newValueStr = inputValue.slice(0, selectionStart) + '0' + inputValue.slice(selectionStart + 1);\n newValueStr = this.parseValue(newValueStr) > 0 ? newValueStr : '';\n } else {\n newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 1);\n }\n }\n this.updateValue(event, newValueStr, null, 'delete-back-single');\n } else {\n newValueStr = this.deleteRange(inputValue, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, null, 'delete-range');\n }\n break;\n case 'Home':\n event.preventDefault();\n if (isNotEmpty(this.min)) {\n this.updateModel(event, this.min);\n }\n break;\n case 'End':\n event.preventDefault();\n if (isNotEmpty(this.max)) {\n this.updateModel(event, this.max);\n }\n break;\n }\n },\n onInputKeyPress: function onInputKeyPress(event) {\n if (this.readonly) {\n return;\n }\n var _char = event.key;\n var isDecimalSign = this.isDecimalSign(_char);\n var isMinusSign = this.isMinusSign(_char);\n if (event.code !== 'Enter') {\n event.preventDefault();\n }\n if (Number(_char) >= 0 && Number(_char) <= 9 || isMinusSign || isDecimalSign) {\n this.insert(event, _char, {\n isDecimalSign: isDecimalSign,\n isMinusSign: isMinusSign\n });\n }\n },\n onPaste: function onPaste(event) {\n event.preventDefault();\n var data = (event.clipboardData || window['clipboardData']).getData('Text');\n if (data) {\n var filteredData = this.parseValue(data);\n if (filteredData != null) {\n this.insert(event, filteredData.toString());\n }\n }\n },\n allowMinusSign: function allowMinusSign() {\n return this.min === null || this.min < 0;\n },\n isMinusSign: function isMinusSign(_char2) {\n if (this._minusSign.test(_char2) || _char2 === '-') {\n this._minusSign.lastIndex = 0;\n return true;\n }\n return false;\n },\n isDecimalSign: function isDecimalSign(_char3) {\n if (this._decimal.test(_char3)) {\n this._decimal.lastIndex = 0;\n return true;\n }\n return false;\n },\n isDecimalMode: function isDecimalMode() {\n return this.mode === 'decimal';\n },\n getDecimalCharIndexes: function getDecimalCharIndexes(val) {\n var decimalCharIndex = val.search(this._decimal);\n this._decimal.lastIndex = 0;\n var filteredVal = val.replace(this._prefix, '').trim().replace(/\\s/g, '').replace(this._currency, '');\n var decimalCharIndexWithoutPrefix = filteredVal.search(this._decimal);\n this._decimal.lastIndex = 0;\n return {\n decimalCharIndex: decimalCharIndex,\n decimalCharIndexWithoutPrefix: decimalCharIndexWithoutPrefix\n };\n },\n getCharIndexes: function getCharIndexes(val) {\n var decimalCharIndex = val.search(this._decimal);\n this._decimal.lastIndex = 0;\n var minusCharIndex = val.search(this._minusSign);\n this._minusSign.lastIndex = 0;\n var suffixCharIndex = val.search(this._suffix);\n this._suffix.lastIndex = 0;\n var currencyCharIndex = val.search(this._currency);\n this._currency.lastIndex = 0;\n return {\n decimalCharIndex: decimalCharIndex,\n minusCharIndex: minusCharIndex,\n suffixCharIndex: suffixCharIndex,\n currencyCharIndex: currencyCharIndex\n };\n },\n insert: function insert(event, text) {\n var sign = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n isDecimalSign: false,\n isMinusSign: false\n };\n var minusCharIndexOnText = text.search(this._minusSign);\n this._minusSign.lastIndex = 0;\n if (!this.allowMinusSign() && minusCharIndexOnText !== -1) {\n return;\n }\n var selectionStart = this.$refs.input.$el.selectionStart;\n var selectionEnd = this.$refs.input.$el.selectionEnd;\n var inputValue = this.$refs.input.$el.value.trim();\n var _this$getCharIndexes = this.getCharIndexes(inputValue),\n decimalCharIndex = _this$getCharIndexes.decimalCharIndex,\n minusCharIndex = _this$getCharIndexes.minusCharIndex,\n suffixCharIndex = _this$getCharIndexes.suffixCharIndex,\n currencyCharIndex = _this$getCharIndexes.currencyCharIndex;\n var newValueStr;\n if (sign.isMinusSign) {\n if (selectionStart === 0) {\n newValueStr = inputValue;\n if (minusCharIndex === -1 || selectionEnd !== 0) {\n newValueStr = this.insertText(inputValue, text, 0, selectionEnd);\n }\n this.updateValue(event, newValueStr, text, 'insert');\n }\n } else if (sign.isDecimalSign) {\n if (decimalCharIndex > 0 && selectionStart === decimalCharIndex) {\n this.updateValue(event, inputValue, text, 'insert');\n } else if (decimalCharIndex > selectionStart && decimalCharIndex < selectionEnd) {\n newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, text, 'insert');\n } else if (decimalCharIndex === -1 && this.maxFractionDigits) {\n newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, text, 'insert');\n }\n } else {\n var maxFractionDigits = this.numberFormat.resolvedOptions().maximumFractionDigits;\n var operation = selectionStart !== selectionEnd ? 'range-insert' : 'insert';\n if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) {\n if (selectionStart + text.length - (decimalCharIndex + 1) <= maxFractionDigits) {\n var charIndex = currencyCharIndex >= selectionStart ? currencyCharIndex - 1 : suffixCharIndex >= selectionStart ? suffixCharIndex : inputValue.length;\n newValueStr = inputValue.slice(0, selectionStart) + text + inputValue.slice(selectionStart + text.length, charIndex) + inputValue.slice(charIndex);\n this.updateValue(event, newValueStr, text, operation);\n }\n } else {\n newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, text, operation);\n }\n }\n },\n insertText: function insertText(value, text, start, end) {\n var textSplit = text === '.' ? text : text.split('.');\n if (textSplit.length === 2) {\n var decimalCharIndex = value.slice(start, end).search(this._decimal);\n this._decimal.lastIndex = 0;\n return decimalCharIndex > 0 ? value.slice(0, start) + this.formatValue(text) + value.slice(end) : this.formatValue(text) || value;\n } else if (end - start === value.length) {\n return this.formatValue(text);\n } else if (start === 0) {\n return text + value.slice(end);\n } else if (end === value.length) {\n return value.slice(0, start) + text;\n } else {\n return value.slice(0, start) + text + value.slice(end);\n }\n },\n deleteRange: function deleteRange(value, start, end) {\n var newValueStr;\n if (end - start === value.length) newValueStr = '';else if (start === 0) newValueStr = value.slice(end);else if (end === value.length) newValueStr = value.slice(0, start);else newValueStr = value.slice(0, start) + value.slice(end);\n return newValueStr;\n },\n initCursor: function initCursor() {\n var selectionStart = this.$refs.input.$el.selectionStart;\n var inputValue = this.$refs.input.$el.value;\n var valueLength = inputValue.length;\n var index = null;\n\n // remove prefix\n var prefixLength = (this.prefixChar || '').length;\n inputValue = inputValue.replace(this._prefix, '');\n selectionStart = selectionStart - prefixLength;\n var _char4 = inputValue.charAt(selectionStart);\n if (this.isNumeralChar(_char4)) {\n return selectionStart + prefixLength;\n }\n\n //left\n var i = selectionStart - 1;\n while (i >= 0) {\n _char4 = inputValue.charAt(i);\n if (this.isNumeralChar(_char4)) {\n index = i + prefixLength;\n break;\n } else {\n i--;\n }\n }\n if (index !== null) {\n this.$refs.input.$el.setSelectionRange(index + 1, index + 1);\n } else {\n i = selectionStart;\n while (i < valueLength) {\n _char4 = inputValue.charAt(i);\n if (this.isNumeralChar(_char4)) {\n index = i + prefixLength;\n break;\n } else {\n i++;\n }\n }\n if (index !== null) {\n this.$refs.input.$el.setSelectionRange(index, index);\n }\n }\n return index || 0;\n },\n onInputClick: function onInputClick() {\n var currentValue = this.$refs.input.$el.value;\n if (!this.readonly && currentValue !== getSelection()) {\n this.initCursor();\n }\n },\n isNumeralChar: function isNumeralChar(_char5) {\n if (_char5.length === 1 && (this._numeral.test(_char5) || this._decimal.test(_char5) || this._group.test(_char5) || this._minusSign.test(_char5))) {\n this.resetRegex();\n return true;\n }\n return false;\n },\n resetRegex: function resetRegex() {\n this._numeral.lastIndex = 0;\n this._decimal.lastIndex = 0;\n this._group.lastIndex = 0;\n this._minusSign.lastIndex = 0;\n },\n updateValue: function updateValue(event, valueStr, insertedValueStr, operation) {\n var currentValue = this.$refs.input.$el.value;\n var newValue = null;\n if (valueStr != null) {\n newValue = this.parseValue(valueStr);\n newValue = !newValue && !this.allowEmpty ? 0 : newValue;\n this.updateInput(newValue, insertedValueStr, operation, valueStr);\n this.handleOnInput(event, currentValue, newValue);\n }\n },\n handleOnInput: function handleOnInput(event, currentValue, newValue) {\n if (this.isValueChanged(currentValue, newValue)) {\n this.$emit('input', {\n originalEvent: event,\n value: newValue,\n formattedValue: currentValue\n });\n }\n },\n isValueChanged: function isValueChanged(currentValue, newValue) {\n if (newValue === null && currentValue !== null) {\n return true;\n }\n if (newValue != null) {\n var parsedCurrentValue = typeof currentValue === 'string' ? this.parseValue(currentValue) : currentValue;\n return newValue !== parsedCurrentValue;\n }\n return false;\n },\n validateValue: function validateValue(value) {\n if (value === '-' || value == null) {\n return null;\n }\n if (this.min != null && value < this.min) {\n return this.min;\n }\n if (this.max != null && value > this.max) {\n return this.max;\n }\n return value;\n },\n updateInput: function updateInput(value, insertedValueStr, operation, valueStr) {\n insertedValueStr = insertedValueStr || '';\n var inputValue = this.$refs.input.$el.value;\n var newValue = this.formatValue(value);\n var currentLength = inputValue.length;\n if (newValue !== valueStr) {\n newValue = this.concatValues(newValue, valueStr);\n }\n if (currentLength === 0) {\n this.$refs.input.$el.value = newValue;\n this.$refs.input.$el.setSelectionRange(0, 0);\n var index = this.initCursor();\n var selectionEnd = index + insertedValueStr.length;\n this.$refs.input.$el.setSelectionRange(selectionEnd, selectionEnd);\n } else {\n var selectionStart = this.$refs.input.$el.selectionStart;\n var _selectionEnd = this.$refs.input.$el.selectionEnd;\n this.$refs.input.$el.value = newValue;\n var newLength = newValue.length;\n if (operation === 'range-insert') {\n var startValue = this.parseValue((inputValue || '').slice(0, selectionStart));\n var startValueStr = startValue !== null ? startValue.toString() : '';\n var startExpr = startValueStr.split('').join(\"(\".concat(this.groupChar, \")?\"));\n var sRegex = new RegExp(startExpr, 'g');\n sRegex.test(newValue);\n var tExpr = insertedValueStr.split('').join(\"(\".concat(this.groupChar, \")?\"));\n var tRegex = new RegExp(tExpr, 'g');\n tRegex.test(newValue.slice(sRegex.lastIndex));\n _selectionEnd = sRegex.lastIndex + tRegex.lastIndex;\n this.$refs.input.$el.setSelectionRange(_selectionEnd, _selectionEnd);\n } else if (newLength === currentLength) {\n if (operation === 'insert' || operation === 'delete-back-single') {\n this.$refs.input.$el.setSelectionRange(_selectionEnd + 1, _selectionEnd + 1);\n } else if (operation === 'delete-single') {\n this.$refs.input.$el.setSelectionRange(_selectionEnd - 1, _selectionEnd - 1);\n } else if (operation === 'delete-range' || operation === 'spin') {\n this.$refs.input.$el.setSelectionRange(_selectionEnd, _selectionEnd);\n }\n } else if (operation === 'delete-back-single') {\n var prevChar = inputValue.charAt(_selectionEnd - 1);\n var nextChar = inputValue.charAt(_selectionEnd);\n var diff = currentLength - newLength;\n var isGroupChar = this._group.test(nextChar);\n if (isGroupChar && diff === 1) {\n _selectionEnd += 1;\n } else if (!isGroupChar && this.isNumeralChar(prevChar)) {\n _selectionEnd += -1 * diff + 1;\n }\n this._group.lastIndex = 0;\n this.$refs.input.$el.setSelectionRange(_selectionEnd, _selectionEnd);\n } else if (inputValue === '-' && operation === 'insert') {\n this.$refs.input.$el.setSelectionRange(0, 0);\n var _index = this.initCursor();\n var _selectionEnd2 = _index + insertedValueStr.length + 1;\n this.$refs.input.$el.setSelectionRange(_selectionEnd2, _selectionEnd2);\n } else {\n _selectionEnd = _selectionEnd + (newLength - currentLength);\n this.$refs.input.$el.setSelectionRange(_selectionEnd, _selectionEnd);\n }\n }\n this.$refs.input.$el.setAttribute('aria-valuenow', value);\n },\n concatValues: function concatValues(val1, val2) {\n if (val1 && val2) {\n var decimalCharIndex = val2.search(this._decimal);\n this._decimal.lastIndex = 0;\n if (this.suffixChar) {\n return decimalCharIndex !== -1 ? val1.replace(this.suffixChar, '').split(this._decimal)[0] + val2.replace(this.suffixChar, '').slice(decimalCharIndex) + this.suffixChar : val1;\n } else {\n return decimalCharIndex !== -1 ? val1.split(this._decimal)[0] + val2.slice(decimalCharIndex) : val1;\n }\n }\n return val1;\n },\n getDecimalLength: function getDecimalLength(value) {\n if (value) {\n var valueSplit = value.split(this._decimal);\n if (valueSplit.length === 2) {\n return valueSplit[1].replace(this._suffix, '').trim().replace(/\\s/g, '').replace(this._currency, '').length;\n }\n }\n return 0;\n },\n updateModel: function updateModel(event, value) {\n this.d_modelValue = value;\n this.$emit('update:modelValue', value);\n },\n onInputFocus: function onInputFocus(event) {\n this.focused = true;\n if (!this.disabled && !this.readonly && this.$refs.input.$el.value !== getSelection() && this.highlightOnFocus) {\n event.target.select();\n }\n this.$emit('focus', event);\n },\n onInputBlur: function onInputBlur(event) {\n this.focused = false;\n var input = event.target;\n var newValue = this.validateValue(this.parseValue(input.value));\n this.$emit('blur', {\n originalEvent: event,\n value: input.value\n });\n input.value = this.formatValue(newValue);\n input.setAttribute('aria-valuenow', newValue);\n this.updateModel(event, newValue);\n if (!this.disabled && !this.readonly && this.highlightOnFocus) {\n clearSelection();\n }\n },\n clearTimer: function clearTimer() {\n if (this.timer) {\n clearInterval(this.timer);\n }\n },\n maxBoundry: function maxBoundry() {\n return this.d_modelValue >= this.max;\n },\n minBoundry: function minBoundry() {\n return this.d_modelValue <= this.min;\n }\n },\n computed: {\n filled: function filled() {\n return this.modelValue != null && this.modelValue.toString().length > 0;\n },\n upButtonListeners: function upButtonListeners() {\n var _this2 = this;\n return {\n mousedown: function mousedown(event) {\n return _this2.onUpButtonMouseDown(event);\n },\n mouseup: function mouseup(event) {\n return _this2.onUpButtonMouseUp(event);\n },\n mouseleave: function mouseleave(event) {\n return _this2.onUpButtonMouseLeave(event);\n },\n keydown: function keydown(event) {\n return _this2.onUpButtonKeyDown(event);\n },\n keyup: function keyup(event) {\n return _this2.onUpButtonKeyUp(event);\n }\n };\n },\n downButtonListeners: function downButtonListeners() {\n var _this3 = this;\n return {\n mousedown: function mousedown(event) {\n return _this3.onDownButtonMouseDown(event);\n },\n mouseup: function mouseup(event) {\n return _this3.onDownButtonMouseUp(event);\n },\n mouseleave: function mouseleave(event) {\n return _this3.onDownButtonMouseLeave(event);\n },\n keydown: function keydown(event) {\n return _this3.onDownButtonKeyDown(event);\n },\n keyup: function keyup(event) {\n return _this3.onDownButtonKeyUp(event);\n }\n };\n },\n formattedValue: function formattedValue() {\n var val = !this.modelValue && !this.allowEmpty ? 0 : this.modelValue;\n return this.formatValue(val);\n },\n getFormatter: function getFormatter() {\n return this.numberFormat;\n },\n hasFluid: function hasFluid() {\n return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid;\n }\n },\n components: {\n InputText: InputText,\n AngleUpIcon: AngleUpIcon,\n AngleDownIcon: AngleDownIcon\n }\n};\n\nvar _hoisted_1 = [\"disabled\"];\nvar _hoisted_2 = [\"disabled\"];\nvar _hoisted_3 = [\"disabled\"];\nvar _hoisted_4 = [\"disabled\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_InputText = resolveComponent(\"InputText\");\n return openBlock(), createElementBlock(\"span\", mergeProps({\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [createVNode(_component_InputText, {\n ref: \"input\",\n id: _ctx.inputId,\n role: \"spinbutton\",\n \"class\": normalizeClass([_ctx.cx('pcInputText'), _ctx.inputClass]),\n style: normalizeStyle(_ctx.inputStyle),\n value: $options.formattedValue,\n \"aria-valuemin\": _ctx.min,\n \"aria-valuemax\": _ctx.max,\n \"aria-valuenow\": _ctx.modelValue,\n inputmode: _ctx.mode === 'decimal' && !_ctx.minFractionDigits ? 'numeric' : 'decimal',\n disabled: _ctx.disabled,\n readonly: _ctx.readonly,\n placeholder: _ctx.placeholder,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-label\": _ctx.ariaLabel,\n invalid: _ctx.invalid,\n variant: _ctx.variant,\n onInput: $options.onUserInput,\n onKeydown: $options.onInputKeyDown,\n onKeypress: $options.onInputKeyPress,\n onPaste: $options.onPaste,\n onClick: $options.onInputClick,\n onFocus: $options.onInputFocus,\n onBlur: $options.onInputBlur,\n pt: _ctx.ptm('pcInputText'),\n unstyled: _ctx.unstyled\n }, null, 8, [\"id\", \"class\", \"style\", \"value\", \"aria-valuemin\", \"aria-valuemax\", \"aria-valuenow\", \"inputmode\", \"disabled\", \"readonly\", \"placeholder\", \"aria-labelledby\", \"aria-label\", \"invalid\", \"variant\", \"onInput\", \"onKeydown\", \"onKeypress\", \"onPaste\", \"onClick\", \"onFocus\", \"onBlur\", \"pt\", \"unstyled\"]), _ctx.showButtons && _ctx.buttonLayout === 'stacked' ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('buttonGroup')\n }, _ctx.ptm('buttonGroup')), [renderSlot(_ctx.$slots, \"incrementbutton\", {\n listeners: $options.upButtonListeners\n }, function () {\n return [createElementVNode(\"button\", mergeProps({\n \"class\": [_ctx.cx('incrementButton'), _ctx.incrementButtonClass]\n }, toHandlers($options.upButtonListeners, true), {\n disabled: _ctx.disabled,\n tabindex: -1,\n \"aria-hidden\": \"true\",\n type: \"button\"\n }, _ctx.ptm('incrementButton')), [renderSlot(_ctx.$slots, _ctx.$slots.incrementicon ? 'incrementicon' : 'incrementbuttonicon', {}, function () {\n return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.incrementIcon || _ctx.incrementButtonIcon ? 'span' : 'AngleUpIcon'), mergeProps({\n \"class\": [_ctx.incrementIcon, _ctx.incrementButtonIcon]\n }, _ctx.ptm('incrementIcon'), {\n \"data-pc-section\": \"incrementicon\"\n }), null, 16, [\"class\"]))];\n })], 16, _hoisted_1)];\n }), renderSlot(_ctx.$slots, \"decrementbutton\", {\n listeners: $options.downButtonListeners\n }, function () {\n return [createElementVNode(\"button\", mergeProps({\n \"class\": [_ctx.cx('decrementButton'), _ctx.decrementButtonClass]\n }, toHandlers($options.downButtonListeners, true), {\n disabled: _ctx.disabled,\n tabindex: -1,\n \"aria-hidden\": \"true\",\n type: \"button\"\n }, _ctx.ptm('decrementButton')), [renderSlot(_ctx.$slots, _ctx.$slots.decrementicon ? 'decrementicon' : 'decrementbuttonicon', {}, function () {\n return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.decrementIcon || _ctx.decrementButtonIcon ? 'span' : 'AngleDownIcon'), mergeProps({\n \"class\": [_ctx.decrementIcon, _ctx.decrementButtonIcon]\n }, _ctx.ptm('decrementIcon'), {\n \"data-pc-section\": \"decrementicon\"\n }), null, 16, [\"class\"]))];\n })], 16, _hoisted_2)];\n })], 16)) : createCommentVNode(\"\", true), renderSlot(_ctx.$slots, \"incrementbutton\", {\n listeners: $options.upButtonListeners\n }, function () {\n return [_ctx.showButtons && _ctx.buttonLayout !== 'stacked' ? (openBlock(), createElementBlock(\"button\", mergeProps({\n key: 0,\n \"class\": [_ctx.cx('incrementButton'), _ctx.incrementButtonClass]\n }, toHandlers($options.upButtonListeners, true), {\n disabled: _ctx.disabled,\n tabindex: -1,\n \"aria-hidden\": \"true\",\n type: \"button\"\n }, _ctx.ptm('incrementButton')), [renderSlot(_ctx.$slots, _ctx.$slots.incrementicon ? 'incrementicon' : 'incrementbuttonicon', {}, function () {\n return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.incrementIcon || _ctx.incrementButtonIcon ? 'span' : 'AngleUpIcon'), mergeProps({\n \"class\": [_ctx.incrementIcon, _ctx.incrementButtonIcon]\n }, _ctx.ptm('incrementIcon'), {\n \"data-pc-section\": \"incrementicon\"\n }), null, 16, [\"class\"]))];\n })], 16, _hoisted_3)) : createCommentVNode(\"\", true)];\n }), renderSlot(_ctx.$slots, \"decrementbutton\", {\n listeners: $options.downButtonListeners\n }, function () {\n return [_ctx.showButtons && _ctx.buttonLayout !== 'stacked' ? (openBlock(), createElementBlock(\"button\", mergeProps({\n key: 0,\n \"class\": [_ctx.cx('decrementButton'), _ctx.decrementButtonClass]\n }, toHandlers($options.downButtonListeners, true), {\n disabled: _ctx.disabled,\n tabindex: -1,\n \"aria-hidden\": \"true\",\n type: \"button\"\n }, _ctx.ptm('decrementButton')), [renderSlot(_ctx.$slots, _ctx.$slots.decrementicon ? 'decrementicon' : 'decrementbuttonicon', {}, function () {\n return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.decrementIcon || _ctx.decrementButtonIcon ? 'span' : 'AngleDownIcon'), mergeProps({\n \"class\": [_ctx.decrementIcon, _ctx.decrementButtonIcon]\n }, _ctx.ptm('decrementIcon'), {\n \"data-pc-section\": \"decrementicon\"\n }), null, 16, [\"class\"]))];\n })], 16, _hoisted_4)) : createCommentVNode(\"\", true)];\n })], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'ChevronDownIcon',\n \"extends\": BaseIcon\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _cache[0] || (_cache[0] = [createElementVNode(\"path\", {\n d: \"M7.01744 10.398C6.91269 10.3985 6.8089 10.378 6.71215 10.3379C6.61541 10.2977 6.52766 10.2386 6.45405 10.1641L1.13907 4.84913C1.03306 4.69404 0.985221 4.5065 1.00399 4.31958C1.02276 4.13266 1.10693 3.95838 1.24166 3.82747C1.37639 3.69655 1.55301 3.61742 1.74039 3.60402C1.92777 3.59062 2.11386 3.64382 2.26584 3.75424L7.01744 8.47394L11.769 3.75424C11.9189 3.65709 12.097 3.61306 12.2748 3.62921C12.4527 3.64535 12.6199 3.72073 12.7498 3.84328C12.8797 3.96582 12.9647 4.12842 12.9912 4.30502C13.0177 4.48162 12.9841 4.662 12.8958 4.81724L7.58083 10.1322C7.50996 10.2125 7.42344 10.2775 7.32656 10.3232C7.22968 10.3689 7.12449 10.3944 7.01744 10.398Z\",\n fill: \"currentColor\"\n }, null, -1)]), 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'TimesIcon',\n \"extends\": BaseIcon\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _cache[0] || (_cache[0] = [createElementVNode(\"path\", {\n d: \"M8.01186 7.00933L12.27 2.75116C12.341 2.68501 12.398 2.60524 12.4375 2.51661C12.4769 2.42798 12.4982 2.3323 12.4999 2.23529C12.5016 2.13827 12.4838 2.0419 12.4474 1.95194C12.4111 1.86197 12.357 1.78024 12.2884 1.71163C12.2198 1.64302 12.138 1.58893 12.0481 1.55259C11.9581 1.51625 11.8617 1.4984 11.7647 1.50011C11.6677 1.50182 11.572 1.52306 11.4834 1.56255C11.3948 1.60204 11.315 1.65898 11.2488 1.72997L6.99067 5.98814L2.7325 1.72997C2.59553 1.60234 2.41437 1.53286 2.22718 1.53616C2.03999 1.53946 1.8614 1.61529 1.72901 1.74767C1.59663 1.88006 1.5208 2.05865 1.5175 2.24584C1.5142 2.43303 1.58368 2.61419 1.71131 2.75116L5.96948 7.00933L1.71131 11.2675C1.576 11.403 1.5 11.5866 1.5 11.7781C1.5 11.9696 1.576 12.1532 1.71131 12.2887C1.84679 12.424 2.03043 12.5 2.2219 12.5C2.41338 12.5 2.59702 12.424 2.7325 12.2887L6.99067 8.03052L11.2488 12.2887C11.3843 12.424 11.568 12.5 11.7594 12.5C11.9509 12.5 12.1346 12.424 12.27 12.2887C12.4053 12.1532 12.4813 11.9696 12.4813 11.7781C12.4813 11.5866 12.4053 11.403 12.27 11.2675L8.01186 7.00933Z\",\n fill: \"currentColor\"\n }, null, -1)]), 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import { EventBus } from '@primeuix/utils/eventbus';\n\nvar OverlayEventBus = EventBus();\n\nexport { OverlayEventBus as default };\n//# sourceMappingURL=index.mjs.map\n","import { isClient } from '@primeuix/utils/dom';\nimport { renderSlot, openBlock, createBlock, Teleport, createCommentVNode } from 'vue';\n\nvar script = {\n name: 'Portal',\n props: {\n appendTo: {\n type: [String, Object],\n \"default\": 'body'\n },\n disabled: {\n type: Boolean,\n \"default\": false\n }\n },\n data: function data() {\n return {\n mounted: false\n };\n },\n mounted: function mounted() {\n this.mounted = isClient();\n },\n computed: {\n inline: function inline() {\n return this.disabled || this.appendTo === 'self';\n }\n }\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return $options.inline ? renderSlot(_ctx.$slots, \"default\", {\n key: 0\n }) : $data.mounted ? (openBlock(), createBlock(Teleport, {\n key: 1,\n to: $props.appendTo\n }, [renderSlot(_ctx.$slots, \"default\")], 8, [\"to\"])) : createCommentVNode(\"\", true);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-select {\\n display: inline-flex;\\n cursor: pointer;\\n position: relative;\\n user-select: none;\\n background: \".concat(dt('select.background'), \";\\n border: 1px solid \").concat(dt('select.border.color'), \";\\n transition: background \").concat(dt('select.transition.duration'), \", color \").concat(dt('select.transition.duration'), \", border-color \").concat(dt('select.transition.duration'), \",\\n outline-color \").concat(dt('select.transition.duration'), \", box-shadow \").concat(dt('select.transition.duration'), \";\\n border-radius: \").concat(dt('select.border.radius'), \";\\n outline-color: transparent;\\n box-shadow: \").concat(dt('select.shadow'), \";\\n}\\n\\n.p-select:not(.p-disabled):hover {\\n border-color: \").concat(dt('select.hover.border.color'), \";\\n}\\n\\n.p-select:not(.p-disabled).p-focus {\\n border-color: \").concat(dt('select.focus.border.color'), \";\\n box-shadow: \").concat(dt('select.focus.ring.shadow'), \";\\n outline: \").concat(dt('select.focus.ring.width'), \" \").concat(dt('select.focus.ring.style'), \" \").concat(dt('select.focus.ring.color'), \";\\n outline-offset: \").concat(dt('select.focus.ring.offset'), \";\\n}\\n\\n.p-select.p-variant-filled {\\n background: \").concat(dt('select.filled.background'), \";\\n}\\n\\n.p-select.p-variant-filled:not(.p-disabled):hover {\\n background: \").concat(dt('select.filled.hover.background'), \";\\n}\\n\\n.p-select.p-variant-filled:not(.p-disabled).p-focus {\\n background: \").concat(dt('select.filled.focus.background'), \";\\n}\\n\\n.p-select.p-invalid {\\n border-color: \").concat(dt('select.invalid.border.color'), \";\\n}\\n\\n.p-select.p-disabled {\\n opacity: 1;\\n background: \").concat(dt('select.disabled.background'), \";\\n}\\n\\n.p-select-clear-icon {\\n position: absolute;\\n top: 50%;\\n margin-top: -0.5rem;\\n color: \").concat(dt('select.clear.icon.color'), \";\\n right: \").concat(dt('select.dropdown.width'), \";\\n}\\n\\n.p-select-dropdown {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n flex-shrink: 0;\\n background: transparent;\\n color: \").concat(dt('select.dropdown.color'), \";\\n width: \").concat(dt('select.dropdown.width'), \";\\n border-top-right-radius: \").concat(dt('select.border.radius'), \";\\n border-bottom-right-radius: \").concat(dt('select.border.radius'), \";\\n}\\n\\n.p-select-label {\\n display: block;\\n white-space: nowrap;\\n overflow: hidden;\\n flex: 1 1 auto;\\n width: 1%;\\n padding: \").concat(dt('select.padding.y'), \" \").concat(dt('select.padding.x'), \";\\n text-overflow: ellipsis;\\n cursor: pointer;\\n color: \").concat(dt('select.color'), \";\\n background: transparent;\\n border: 0 none;\\n outline: 0 none;\\n}\\n\\n.p-select-label.p-placeholder {\\n color: \").concat(dt('select.placeholder.color'), \";\\n}\\n\\n.p-select:has(.p-select-clear-icon) .p-select-label {\\n padding-right: calc(1rem + \").concat(dt('select.padding.x'), \");\\n}\\n\\n.p-select.p-disabled .p-select-label {\\n color: \").concat(dt('select.disabled.color'), \";\\n}\\n\\n.p-select-label-empty {\\n overflow: hidden;\\n opacity: 0;\\n}\\n\\ninput.p-select-label {\\n cursor: default;\\n}\\n\\n.p-select .p-select-overlay {\\n min-width: 100%;\\n}\\n\\n.p-select-overlay {\\n position: absolute;\\n top: 0;\\n left: 0;\\n background: \").concat(dt('select.overlay.background'), \";\\n color: \").concat(dt('select.overlay.color'), \";\\n border: 1px solid \").concat(dt('select.overlay.border.color'), \";\\n border-radius: \").concat(dt('select.overlay.border.radius'), \";\\n box-shadow: \").concat(dt('select.overlay.shadow'), \";\\n}\\n\\n.p-select-header {\\n padding: \").concat(dt('select.list.header.padding'), \";\\n}\\n\\n.p-select-filter {\\n width: 100%;\\n}\\n\\n.p-select-list-container {\\n overflow: auto;\\n}\\n\\n.p-select-option-group {\\n cursor: auto;\\n margin: 0;\\n padding: \").concat(dt('select.option.group.padding'), \";\\n background: \").concat(dt('select.option.group.background'), \";\\n color: \").concat(dt('select.option.group.color'), \";\\n font-weight: \").concat(dt('select.option.group.font.weight'), \";\\n}\\n\\n.p-select-list {\\n margin: 0;\\n padding: 0;\\n list-style-type: none;\\n padding: \").concat(dt('select.list.padding'), \";\\n gap: \").concat(dt('select.list.gap'), \";\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.p-select-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 padding: \").concat(dt('select.option.padding'), \";\\n border: 0 none;\\n color: \").concat(dt('select.option.color'), \";\\n background: transparent;\\n transition: background \").concat(dt('select.transition.duration'), \", color \").concat(dt('select.transition.duration'), \", border-color \").concat(dt('select.transition.duration'), \",\\n box-shadow \").concat(dt('select.transition.duration'), \", outline-color \").concat(dt('select.transition.duration'), \";\\n border-radius: \").concat(dt('select.option.border.radius'), \";\\n}\\n\\n.p-select-option:not(.p-select-option-selected):not(.p-disabled).p-focus {\\n background: \").concat(dt('select.option.focus.background'), \";\\n color: \").concat(dt('select.option.focus.color'), \";\\n}\\n\\n.p-select-option.p-select-option-selected {\\n background: \").concat(dt('select.option.selected.background'), \";\\n color: \").concat(dt('select.option.selected.color'), \";\\n}\\n\\n.p-select-option.p-select-option-selected.p-focus {\\n background: \").concat(dt('select.option.selected.focus.background'), \";\\n color: \").concat(dt('select.option.selected.focus.color'), \";\\n}\\n\\n.p-select-option-check-icon {\\n position: relative;\\n margin-inline-start: \").concat(dt('select.checkmark.gutter.start'), \";\\n margin-inline-end: \").concat(dt('select.checkmark.gutter.end'), \";\\n color: \").concat(dt('select.checkmark.color'), \";\\n}\\n\\n.p-select-empty-message {\\n padding: \").concat(dt('select.empty.message.padding'), \";\\n}\\n\\n.p-select-fluid {\\n display: flex;\\n}\\n\");\n};\nvar classes = {\n root: function root(_ref2) {\n var instance = _ref2.instance,\n props = _ref2.props,\n state = _ref2.state;\n return ['p-select p-component p-inputwrapper', {\n 'p-disabled': props.disabled,\n 'p-invalid': props.invalid,\n 'p-variant-filled': props.variant ? props.variant === 'filled' : instance.$primevue.config.inputStyle === 'filled' || instance.$primevue.config.inputVariant === 'filled',\n 'p-focus': state.focused,\n 'p-inputwrapper-filled': instance.hasSelectedOption,\n 'p-inputwrapper-focus': state.focused || state.overlayVisible,\n 'p-select-open': state.overlayVisible,\n 'p-select-fluid': instance.hasFluid\n }];\n },\n label: function label(_ref3) {\n var instance = _ref3.instance,\n props = _ref3.props;\n return ['p-select-label', {\n 'p-placeholder': !props.editable && instance.label === props.placeholder,\n 'p-select-label-empty': !props.editable && !instance.$slots['value'] && (instance.label === 'p-emptylabel' || instance.label.length === 0)\n }];\n },\n clearIcon: 'p-select-clear-icon',\n dropdown: 'p-select-dropdown',\n loadingicon: 'p-select-loading-icon',\n dropdownIcon: 'p-select-dropdown-icon',\n overlay: 'p-select-overlay p-component',\n header: 'p-select-header',\n pcFilter: 'p-select-filter',\n listContainer: 'p-select-list-container',\n list: 'p-select-list',\n optionGroup: 'p-select-option-group',\n optionGroupLabel: 'p-select-option-group-label',\n option: function option(_ref4) {\n var instance = _ref4.instance,\n props = _ref4.props,\n state = _ref4.state,\n _option = _ref4.option,\n focusedOption = _ref4.focusedOption;\n return ['p-select-option', {\n 'p-select-option-selected': instance.isSelected(_option) && props.highlightOnSelect,\n 'p-focus': state.focusedOptionIndex === focusedOption,\n 'p-disabled': instance.isOptionDisabled(_option)\n }];\n },\n optionLabel: 'p-select-option-label',\n optionCheckIcon: 'p-select-option-check-icon',\n optionBlankIcon: 'p-select-option-blank-icon',\n emptyMessage: 'p-select-empty-message'\n};\nvar SelectStyle = BaseStyle.extend({\n name: 'select',\n theme: theme,\n classes: classes\n});\n\nexport { SelectStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { focus, isAndroid, getFirstFocusableElement, getLastFocusableElement, addStyle, relativePosition, getOuterWidth, absolutePosition, isTouchDevice, isVisible, getFocusableElements, findSingle } from '@primeuix/utils/dom';\nimport { resolveFieldData, isPrintableCharacter, isNotEmpty, equals, findLastIndex, isEmpty } from '@primeuix/utils/object';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { FilterService } from '@primevue/core/api';\nimport { UniqueComponentId, ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport BlankIcon from '@primevue/icons/blank';\nimport CheckIcon from '@primevue/icons/check';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport SearchIcon from '@primevue/icons/search';\nimport SpinnerIcon from '@primevue/icons/spinner';\nimport TimesIcon from '@primevue/icons/times';\nimport IconField from 'primevue/iconfield';\nimport InputIcon from 'primevue/inputicon';\nimport InputText from 'primevue/inputtext';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport Ripple from 'primevue/ripple';\nimport VirtualScroller from 'primevue/virtualscroller';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport SelectStyle from 'primevue/select/style';\nimport { resolveComponent, resolveDirective, openBlock, createElementBlock, mergeProps, renderSlot, createTextVNode, toDisplayString, normalizeClass, createBlock, resolveDynamicComponent, createCommentVNode, createElementVNode, createVNode, withCtx, Transition, normalizeProps, createSlots, Fragment, renderList, withDirectives } from 'vue';\n\nvar script$1 = {\n name: 'BaseSelect',\n \"extends\": BaseComponent,\n props: {\n modelValue: null,\n options: Array,\n optionLabel: [String, Function],\n optionValue: [String, Function],\n optionDisabled: [String, Function],\n optionGroupLabel: [String, Function],\n optionGroupChildren: [String, Function],\n scrollHeight: {\n type: String,\n \"default\": '14rem'\n },\n filter: Boolean,\n filterPlaceholder: String,\n filterLocale: String,\n filterMatchMode: {\n type: String,\n \"default\": 'contains'\n },\n filterFields: {\n type: Array,\n \"default\": null\n },\n editable: Boolean,\n placeholder: {\n type: String,\n \"default\": null\n },\n variant: {\n type: String,\n \"default\": null\n },\n invalid: {\n type: Boolean,\n \"default\": false\n },\n disabled: {\n type: Boolean,\n \"default\": false\n },\n dataKey: null,\n showClear: {\n type: Boolean,\n \"default\": false\n },\n fluid: {\n type: Boolean,\n \"default\": null\n },\n inputId: {\n type: String,\n \"default\": null\n },\n inputClass: {\n type: [String, Object],\n \"default\": null\n },\n inputStyle: {\n type: Object,\n \"default\": null\n },\n labelId: {\n type: String,\n \"default\": null\n },\n labelClass: {\n type: [String, Object],\n \"default\": null\n },\n labelStyle: {\n type: Object,\n \"default\": null\n },\n panelClass: {\n type: [String, Object],\n \"default\": null\n },\n overlayStyle: {\n type: Object,\n \"default\": null\n },\n overlayClass: {\n type: [String, Object],\n \"default\": null\n },\n panelStyle: {\n type: Object,\n \"default\": null\n },\n appendTo: {\n type: [String, Object],\n \"default\": 'body'\n },\n loading: {\n type: Boolean,\n \"default\": false\n },\n clearIcon: {\n type: String,\n \"default\": undefined\n },\n dropdownIcon: {\n type: String,\n \"default\": undefined\n },\n filterIcon: {\n type: String,\n \"default\": undefined\n },\n loadingIcon: {\n type: String,\n \"default\": undefined\n },\n resetFilterOnHide: {\n type: Boolean,\n \"default\": false\n },\n resetFilterOnClear: {\n type: Boolean,\n \"default\": false\n },\n virtualScrollerOptions: {\n type: Object,\n \"default\": null\n },\n autoOptionFocus: {\n type: Boolean,\n \"default\": false\n },\n autoFilterFocus: {\n type: Boolean,\n \"default\": false\n },\n selectOnFocus: {\n type: Boolean,\n \"default\": false\n },\n focusOnHover: {\n type: Boolean,\n \"default\": true\n },\n highlightOnSelect: {\n type: Boolean,\n \"default\": true\n },\n checkmark: {\n type: Boolean,\n \"default\": false\n },\n filterMessage: {\n type: String,\n \"default\": null\n },\n selectionMessage: {\n type: String,\n \"default\": null\n },\n emptySelectionMessage: {\n type: String,\n \"default\": null\n },\n emptyFilterMessage: {\n type: String,\n \"default\": null\n },\n emptyMessage: {\n type: String,\n \"default\": null\n },\n tabindex: {\n type: Number,\n \"default\": 0\n },\n ariaLabel: {\n type: String,\n \"default\": null\n },\n ariaLabelledby: {\n type: String,\n \"default\": null\n }\n },\n style: SelectStyle,\n provide: function provide() {\n return {\n $pcSelect: this,\n $parentInstance: this\n };\n }\n};\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _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.\"); }\nfunction _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; } }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _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; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _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); }\nvar script = {\n name: 'Select',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['update:modelValue', 'change', 'focus', 'blur', 'before-show', 'before-hide', 'show', 'hide', 'filter'],\n inject: {\n $pcFluid: {\n \"default\": null\n }\n },\n outsideClickListener: null,\n scrollHandler: null,\n resizeListener: null,\n labelClickListener: null,\n overlay: null,\n list: null,\n virtualScroller: null,\n searchTimeout: null,\n searchValue: null,\n isModelValueChanged: false,\n data: function data() {\n return {\n id: this.$attrs.id,\n clicked: false,\n focused: false,\n focusedOptionIndex: -1,\n filterValue: null,\n overlayVisible: false\n };\n },\n watch: {\n '$attrs.id': function $attrsId(newValue) {\n this.id = newValue || UniqueComponentId();\n },\n modelValue: function modelValue() {\n this.isModelValueChanged = true;\n },\n options: function options() {\n this.autoUpdateModel();\n }\n },\n mounted: function mounted() {\n this.id = this.id || UniqueComponentId();\n this.autoUpdateModel();\n this.bindLabelClickListener();\n },\n updated: function updated() {\n if (this.overlayVisible && this.isModelValueChanged) {\n this.scrollInView(this.findSelectedOptionIndex());\n }\n this.isModelValueChanged = false;\n },\n beforeUnmount: function beforeUnmount() {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n this.unbindLabelClickListener();\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n if (this.overlay) {\n ZIndex.clear(this.overlay);\n this.overlay = null;\n }\n },\n methods: {\n getOptionIndex: function getOptionIndex(index, fn) {\n return this.virtualScrollerDisabled ? index : fn && fn(index)['index'];\n },\n getOptionLabel: function getOptionLabel(option) {\n return this.optionLabel ? resolveFieldData(option, this.optionLabel) : option;\n },\n getOptionValue: function getOptionValue(option) {\n return this.optionValue ? resolveFieldData(option, this.optionValue) : option;\n },\n getOptionRenderKey: function getOptionRenderKey(option, index) {\n return (this.dataKey ? resolveFieldData(option, this.dataKey) : this.getOptionLabel(option)) + '_' + index;\n },\n getPTItemOptions: function getPTItemOptions(option, itemOptions, index, key) {\n return this.ptm(key, {\n context: {\n option: option,\n index: index,\n selected: this.isSelected(option),\n focused: this.focusedOptionIndex === this.getOptionIndex(index, itemOptions),\n disabled: this.isOptionDisabled(option)\n }\n });\n },\n isOptionDisabled: function isOptionDisabled(option) {\n return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : false;\n },\n isOptionGroup: function isOptionGroup(option) {\n return this.optionGroupLabel && option.optionGroup && option.group;\n },\n getOptionGroupLabel: function getOptionGroupLabel(optionGroup) {\n return resolveFieldData(optionGroup, this.optionGroupLabel);\n },\n getOptionGroupChildren: function getOptionGroupChildren(optionGroup) {\n return resolveFieldData(optionGroup, this.optionGroupChildren);\n },\n getAriaPosInset: function getAriaPosInset(index) {\n var _this = this;\n return (this.optionGroupLabel ? index - this.visibleOptions.slice(0, index).filter(function (option) {\n return _this.isOptionGroup(option);\n }).length : index) + 1;\n },\n show: function show(isFocus) {\n this.$emit('before-show');\n this.overlayVisible = true;\n this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.editable ? -1 : this.findSelectedOptionIndex();\n isFocus && focus(this.$refs.focusInput);\n },\n hide: function hide(isFocus) {\n var _this2 = this;\n var _hide = function _hide() {\n _this2.$emit('before-hide');\n _this2.overlayVisible = false;\n _this2.clicked = false;\n _this2.focusedOptionIndex = -1;\n _this2.searchValue = '';\n _this2.resetFilterOnHide && (_this2.filterValue = null);\n isFocus && focus(_this2.$refs.focusInput);\n };\n setTimeout(function () {\n _hide();\n }, 0); // For ScreenReaders\n },\n onFocus: function onFocus(event) {\n if (this.disabled) {\n // For ScreenReaders\n return;\n }\n this.focused = true;\n if (this.overlayVisible) {\n this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.editable ? -1 : this.findSelectedOptionIndex();\n this.scrollInView(this.focusedOptionIndex);\n }\n this.$emit('focus', event);\n },\n onBlur: function onBlur(event) {\n this.focused = false;\n this.focusedOptionIndex = -1;\n this.searchValue = '';\n this.$emit('blur', event);\n },\n onKeyDown: function onKeyDown(event) {\n if (this.disabled || isAndroid()) {\n event.preventDefault();\n return;\n }\n var metaKey = event.metaKey || event.ctrlKey;\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n case 'ArrowUp':\n this.onArrowUpKey(event, this.editable);\n break;\n case 'ArrowLeft':\n case 'ArrowRight':\n this.onArrowLeftKey(event, this.editable);\n break;\n case 'Home':\n this.onHomeKey(event, this.editable);\n break;\n case 'End':\n this.onEndKey(event, this.editable);\n break;\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n case 'Space':\n this.onSpaceKey(event, this.editable);\n break;\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n case 'Escape':\n this.onEscapeKey(event);\n break;\n case 'Tab':\n this.onTabKey(event);\n break;\n case 'Backspace':\n this.onBackspaceKey(event, this.editable);\n break;\n case 'ShiftLeft':\n case 'ShiftRight':\n //NOOP\n break;\n default:\n if (!metaKey && isPrintableCharacter(event.key)) {\n !this.overlayVisible && this.show();\n !this.editable && this.searchOptions(event, event.key);\n }\n break;\n }\n this.clicked = false;\n },\n onEditableInput: function onEditableInput(event) {\n var value = event.target.value;\n this.searchValue = '';\n var matched = this.searchOptions(event, value);\n !matched && (this.focusedOptionIndex = -1);\n this.updateModel(event, value);\n !this.overlayVisible && isNotEmpty(value) && this.show();\n },\n onContainerClick: function onContainerClick(event) {\n if (this.disabled || this.loading) {\n return;\n }\n if (event.target.tagName === 'INPUT' || event.target.getAttribute('data-pc-section') === 'clearicon' || event.target.closest('[data-pc-section=\"clearicon\"]')) {\n return;\n } else if (!this.overlay || !this.overlay.contains(event.target)) {\n this.overlayVisible ? this.hide(true) : this.show(true);\n }\n this.clicked = true;\n },\n onClearClick: function onClearClick(event) {\n this.updateModel(event, null);\n this.resetFilterOnClear && (this.filterValue = null);\n },\n onFirstHiddenFocus: function onFirstHiddenFocus(event) {\n var focusableEl = event.relatedTarget === this.$refs.focusInput ? getFirstFocusableElement(this.overlay, ':not([data-p-hidden-focusable=\"true\"])') : this.$refs.focusInput;\n focus(focusableEl);\n },\n onLastHiddenFocus: function onLastHiddenFocus(event) {\n var focusableEl = event.relatedTarget === this.$refs.focusInput ? getLastFocusableElement(this.overlay, ':not([data-p-hidden-focusable=\"true\"])') : this.$refs.focusInput;\n focus(focusableEl);\n },\n onOptionSelect: function onOptionSelect(event, option) {\n var isHide = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var value = this.getOptionValue(option);\n this.updateModel(event, value);\n isHide && this.hide(true);\n },\n onOptionMouseMove: function onOptionMouseMove(event, index) {\n if (this.focusOnHover) {\n this.changeFocusedOptionIndex(event, index);\n }\n },\n onFilterChange: function onFilterChange(event) {\n var value = event.target.value;\n this.filterValue = value;\n this.focusedOptionIndex = -1;\n this.$emit('filter', {\n originalEvent: event,\n value: value\n });\n !this.virtualScrollerDisabled && this.virtualScroller.scrollToIndex(0);\n },\n onFilterKeyDown: function onFilterKeyDown(event) {\n // Check if the event is part of a text composition process (e.g., for Asian languages).\n // If event.isComposing is true, it means the user is still composing text and the input is not finalized.\n if (event.isComposing) return;\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n case 'ArrowUp':\n this.onArrowUpKey(event, true);\n break;\n case 'ArrowLeft':\n case 'ArrowRight':\n this.onArrowLeftKey(event, true);\n break;\n case 'Home':\n this.onHomeKey(event, true);\n break;\n case 'End':\n this.onEndKey(event, true);\n break;\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n case 'Escape':\n this.onEscapeKey(event);\n break;\n case 'Tab':\n this.onTabKey(event, true);\n break;\n }\n },\n onFilterBlur: function onFilterBlur() {\n this.focusedOptionIndex = -1;\n },\n onFilterUpdated: function onFilterUpdated() {\n if (this.overlayVisible) {\n this.alignOverlay();\n }\n },\n onOverlayClick: function onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.$el\n });\n },\n onOverlayKeyDown: function onOverlayKeyDown(event) {\n switch (event.code) {\n case 'Escape':\n this.onEscapeKey(event);\n break;\n }\n },\n onArrowDownKey: function onArrowDownKey(event) {\n if (!this.overlayVisible) {\n this.show();\n this.editable && this.changeFocusedOptionIndex(event, this.findSelectedOptionIndex());\n } else {\n var optionIndex = this.focusedOptionIndex !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex) : this.clicked ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex();\n this.changeFocusedOptionIndex(event, optionIndex);\n }\n event.preventDefault();\n },\n onArrowUpKey: function onArrowUpKey(event) {\n var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (event.altKey && !pressedInInputText) {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n this.overlayVisible && this.hide();\n event.preventDefault();\n } else {\n var optionIndex = this.focusedOptionIndex !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex) : this.clicked ? this.findLastOptionIndex() : this.findLastFocusedOptionIndex();\n this.changeFocusedOptionIndex(event, optionIndex);\n !this.overlayVisible && this.show();\n event.preventDefault();\n }\n },\n onArrowLeftKey: function onArrowLeftKey(event) {\n var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n pressedInInputText && (this.focusedOptionIndex = -1);\n },\n onHomeKey: function onHomeKey(event) {\n var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (pressedInInputText) {\n var target = event.currentTarget;\n if (event.shiftKey) {\n target.setSelectionRange(0, event.target.selectionStart);\n } else {\n target.setSelectionRange(0, 0);\n this.focusedOptionIndex = -1;\n }\n } else {\n this.changeFocusedOptionIndex(event, this.findFirstOptionIndex());\n !this.overlayVisible && this.show();\n }\n event.preventDefault();\n },\n onEndKey: function onEndKey(event) {\n var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (pressedInInputText) {\n var target = event.currentTarget;\n if (event.shiftKey) {\n target.setSelectionRange(event.target.selectionStart, target.value.length);\n } else {\n var len = target.value.length;\n target.setSelectionRange(len, len);\n this.focusedOptionIndex = -1;\n }\n } else {\n this.changeFocusedOptionIndex(event, this.findLastOptionIndex());\n !this.overlayVisible && this.show();\n }\n event.preventDefault();\n },\n onPageUpKey: function onPageUpKey(event) {\n this.scrollInView(0);\n event.preventDefault();\n },\n onPageDownKey: function onPageDownKey(event) {\n this.scrollInView(this.visibleOptions.length - 1);\n event.preventDefault();\n },\n onEnterKey: function onEnterKey(event) {\n if (!this.overlayVisible) {\n this.focusedOptionIndex = -1; // reset\n this.onArrowDownKey(event);\n } else {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n this.hide();\n }\n event.preventDefault();\n },\n onSpaceKey: function onSpaceKey(event) {\n var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n !pressedInInputText && this.onEnterKey(event);\n },\n onEscapeKey: function onEscapeKey(event) {\n this.overlayVisible && this.hide(true);\n event.preventDefault();\n event.stopPropagation(); //@todo will be changed next versionss\n },\n onTabKey: function onTabKey(event) {\n var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (!pressedInInputText) {\n if (this.overlayVisible && this.hasFocusableElements()) {\n focus(this.$refs.firstHiddenFocusableElementOnOverlay);\n event.preventDefault();\n } else {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n this.overlayVisible && this.hide(this.filter);\n }\n }\n },\n onBackspaceKey: function onBackspaceKey(event) {\n var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (pressedInInputText) {\n !this.overlayVisible && this.show();\n }\n },\n onOverlayEnter: function onOverlayEnter(el) {\n var _this3 = this;\n ZIndex.set('overlay', el, this.$primevue.config.zIndex.overlay);\n addStyle(el, {\n position: 'absolute',\n top: '0',\n left: '0'\n });\n this.alignOverlay();\n this.scrollInView();\n setTimeout(function () {\n _this3.autoFilterFocus && focus(_this3.$refs.filterInput.$el);\n }, 1);\n },\n onOverlayAfterEnter: function onOverlayAfterEnter() {\n this.bindOutsideClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n this.$emit('show');\n },\n onOverlayLeave: function onOverlayLeave() {\n var _this4 = this;\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n if (this.autoFilterFocus && this.filter) {\n this.$nextTick(function () {\n focus(_this4.$refs.filterInput.$el);\n });\n }\n this.$emit('hide');\n this.overlay = null;\n },\n onOverlayAfterLeave: function onOverlayAfterLeave(el) {\n ZIndex.clear(el);\n },\n alignOverlay: function alignOverlay() {\n if (this.appendTo === 'self') {\n relativePosition(this.overlay, this.$el);\n } else {\n this.overlay.style.minWidth = getOuterWidth(this.$el) + 'px';\n absolutePosition(this.overlay, this.$el);\n }\n },\n bindOutsideClickListener: function bindOutsideClickListener() {\n var _this5 = this;\n if (!this.outsideClickListener) {\n this.outsideClickListener = function (event) {\n if (_this5.overlayVisible && _this5.overlay && !_this5.$el.contains(event.target) && !_this5.overlay.contains(event.target)) {\n _this5.hide();\n }\n };\n document.addEventListener('click', this.outsideClickListener);\n }\n },\n unbindOutsideClickListener: function unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener: function bindScrollListener() {\n var _this6 = this;\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.container, function () {\n if (_this6.overlayVisible) {\n _this6.hide();\n }\n });\n }\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener: function unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener: function bindResizeListener() {\n var _this7 = this;\n if (!this.resizeListener) {\n this.resizeListener = function () {\n if (_this7.overlayVisible && !isTouchDevice()) {\n _this7.hide();\n }\n };\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener: function unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n bindLabelClickListener: function bindLabelClickListener() {\n var _this8 = this;\n if (!this.editable && !this.labelClickListener) {\n var label = document.querySelector(\"label[for=\\\"\".concat(this.labelId, \"\\\"]\"));\n if (label && isVisible(label)) {\n this.labelClickListener = function () {\n focus(_this8.$refs.focusInput);\n };\n label.addEventListener('click', this.labelClickListener);\n }\n }\n },\n unbindLabelClickListener: function unbindLabelClickListener() {\n if (this.labelClickListener) {\n var label = document.querySelector(\"label[for=\\\"\".concat(this.labelId, \"\\\"]\"));\n if (label && isVisible(label)) {\n label.removeEventListener('click', this.labelClickListener);\n }\n }\n },\n hasFocusableElements: function hasFocusableElements() {\n return getFocusableElements(this.overlay, ':not([data-p-hidden-focusable=\"true\"])').length > 0;\n },\n isOptionMatched: function isOptionMatched(option) {\n var _this$getOptionLabel;\n return this.isValidOption(option) && typeof this.getOptionLabel(option) === 'string' && ((_this$getOptionLabel = this.getOptionLabel(option)) === null || _this$getOptionLabel === void 0 ? void 0 : _this$getOptionLabel.toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale)));\n },\n isValidOption: function isValidOption(option) {\n return isNotEmpty(option) && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n },\n isValidSelectedOption: function isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n },\n isSelected: function isSelected(option) {\n return equals(this.modelValue, this.getOptionValue(option), this.equalityKey);\n },\n findFirstOptionIndex: function findFirstOptionIndex() {\n var _this9 = this;\n return this.visibleOptions.findIndex(function (option) {\n return _this9.isValidOption(option);\n });\n },\n findLastOptionIndex: function findLastOptionIndex() {\n var _this10 = this;\n return findLastIndex(this.visibleOptions, function (option) {\n return _this10.isValidOption(option);\n });\n },\n findNextOptionIndex: function findNextOptionIndex(index) {\n var _this11 = this;\n var matchedOptionIndex = index < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index + 1).findIndex(function (option) {\n return _this11.isValidOption(option);\n }) : -1;\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;\n },\n findPrevOptionIndex: function findPrevOptionIndex(index) {\n var _this12 = this;\n var matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions.slice(0, index), function (option) {\n return _this12.isValidOption(option);\n }) : -1;\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n },\n findSelectedOptionIndex: function findSelectedOptionIndex() {\n var _this13 = this;\n return this.hasSelectedOption ? this.visibleOptions.findIndex(function (option) {\n return _this13.isValidSelectedOption(option);\n }) : -1;\n },\n findFirstFocusedOptionIndex: function findFirstFocusedOptionIndex() {\n var selectedIndex = this.findSelectedOptionIndex();\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n },\n findLastFocusedOptionIndex: function findLastFocusedOptionIndex() {\n var selectedIndex = this.findSelectedOptionIndex();\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n },\n searchOptions: function searchOptions(event, _char) {\n var _this14 = this;\n this.searchValue = (this.searchValue || '') + _char;\n var optionIndex = -1;\n var matched = false;\n if (isNotEmpty(this.searchValue)) {\n if (this.focusedOptionIndex !== -1) {\n optionIndex = this.visibleOptions.slice(this.focusedOptionIndex).findIndex(function (option) {\n return _this14.isOptionMatched(option);\n });\n optionIndex = optionIndex === -1 ? this.visibleOptions.slice(0, this.focusedOptionIndex).findIndex(function (option) {\n return _this14.isOptionMatched(option);\n }) : optionIndex + this.focusedOptionIndex;\n } else {\n optionIndex = this.visibleOptions.findIndex(function (option) {\n return _this14.isOptionMatched(option);\n });\n }\n if (optionIndex !== -1) {\n matched = true;\n }\n if (optionIndex === -1 && this.focusedOptionIndex === -1) {\n optionIndex = this.findFirstFocusedOptionIndex();\n }\n if (optionIndex !== -1) {\n this.changeFocusedOptionIndex(event, optionIndex);\n }\n }\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n this.searchTimeout = setTimeout(function () {\n _this14.searchValue = '';\n _this14.searchTimeout = null;\n }, 500);\n return matched;\n },\n changeFocusedOptionIndex: function changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex !== index) {\n this.focusedOptionIndex = index;\n this.scrollInView();\n if (this.selectOnFocus) {\n this.onOptionSelect(event, this.visibleOptions[index], false);\n }\n }\n },\n scrollInView: function scrollInView() {\n var _this15 = this;\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;\n this.$nextTick(function () {\n var id = index !== -1 ? \"\".concat(_this15.id, \"_\").concat(index) : _this15.focusedOptionId;\n var element = findSingle(_this15.list, \"li[id=\\\"\".concat(id, \"\\\"]\"));\n if (element) {\n element.scrollIntoView && element.scrollIntoView({\n block: 'nearest',\n inline: 'start'\n });\n } else if (!_this15.virtualScrollerDisabled) {\n _this15.virtualScroller && _this15.virtualScroller.scrollToIndex(index !== -1 ? index : _this15.focusedOptionIndex);\n }\n });\n },\n autoUpdateModel: function autoUpdateModel() {\n if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption) {\n this.focusedOptionIndex = this.findFirstFocusedOptionIndex();\n this.onOptionSelect(null, this.visibleOptions[this.focusedOptionIndex], false);\n }\n },\n updateModel: function updateModel(event, value) {\n this.$emit('update:modelValue', value);\n this.$emit('change', {\n originalEvent: event,\n value: value\n });\n },\n flatOptions: function flatOptions(options) {\n var _this16 = this;\n return (options || []).reduce(function (result, option, index) {\n result.push({\n optionGroup: option,\n group: true,\n index: index\n });\n var optionGroupChildren = _this16.getOptionGroupChildren(option);\n optionGroupChildren && optionGroupChildren.forEach(function (o) {\n return result.push(o);\n });\n return result;\n }, []);\n },\n overlayRef: function overlayRef(el) {\n this.overlay = el;\n },\n listRef: function listRef(el, contentRef) {\n this.list = el;\n contentRef && contentRef(el); // For VirtualScroller\n },\n virtualScrollerRef: function virtualScrollerRef(el) {\n this.virtualScroller = el;\n }\n },\n computed: {\n visibleOptions: function visibleOptions() {\n var _this17 = this;\n var options = this.optionGroupLabel ? this.flatOptions(this.options) : this.options || [];\n if (this.filterValue) {\n var filteredOptions = FilterService.filter(options, this.searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);\n if (this.optionGroupLabel) {\n var optionGroups = this.options || [];\n var filtered = [];\n optionGroups.forEach(function (group) {\n var groupChildren = _this17.getOptionGroupChildren(group);\n var filteredItems = groupChildren.filter(function (item) {\n return filteredOptions.includes(item);\n });\n if (filteredItems.length > 0) filtered.push(_objectSpread(_objectSpread({}, group), {}, _defineProperty({}, typeof _this17.optionGroupChildren === 'string' ? _this17.optionGroupChildren : 'items', _toConsumableArray(filteredItems))));\n });\n return this.flatOptions(filtered);\n }\n return filteredOptions;\n }\n return options;\n },\n hasSelectedOption: function hasSelectedOption() {\n return isNotEmpty(this.modelValue);\n },\n label: function label() {\n var selectedOptionIndex = this.findSelectedOptionIndex();\n return selectedOptionIndex !== -1 ? this.getOptionLabel(this.visibleOptions[selectedOptionIndex]) : this.placeholder || 'p-emptylabel';\n },\n editableInputValue: function editableInputValue() {\n var selectedOptionIndex = this.findSelectedOptionIndex();\n return selectedOptionIndex !== -1 ? this.getOptionLabel(this.visibleOptions[selectedOptionIndex]) : this.modelValue || '';\n },\n equalityKey: function equalityKey() {\n return this.optionValue ? null : this.dataKey;\n },\n searchFields: function searchFields() {\n return this.filterFields || [this.optionLabel];\n },\n filterResultMessageText: function filterResultMessageText() {\n return isNotEmpty(this.visibleOptions) ? this.filterMessageText.replaceAll('{0}', this.visibleOptions.length) : this.emptyFilterMessageText;\n },\n filterMessageText: function filterMessageText() {\n return this.filterMessage || this.$primevue.config.locale.searchMessage || '';\n },\n emptyFilterMessageText: function emptyFilterMessageText() {\n return this.emptyFilterMessage || this.$primevue.config.locale.emptySearchMessage || this.$primevue.config.locale.emptyFilterMessage || '';\n },\n emptyMessageText: function emptyMessageText() {\n return this.emptyMessage || this.$primevue.config.locale.emptyMessage || '';\n },\n selectionMessageText: function selectionMessageText() {\n return this.selectionMessage || this.$primevue.config.locale.selectionMessage || '';\n },\n emptySelectionMessageText: function emptySelectionMessageText() {\n return this.emptySelectionMessage || this.$primevue.config.locale.emptySelectionMessage || '';\n },\n selectedMessageText: function selectedMessageText() {\n return this.hasSelectedOption ? this.selectionMessageText.replaceAll('{0}', '1') : this.emptySelectionMessageText;\n },\n focusedOptionId: function focusedOptionId() {\n return this.focusedOptionIndex !== -1 ? \"\".concat(this.id, \"_\").concat(this.focusedOptionIndex) : null;\n },\n ariaSetSize: function ariaSetSize() {\n var _this18 = this;\n return this.visibleOptions.filter(function (option) {\n return !_this18.isOptionGroup(option);\n }).length;\n },\n isClearIconVisible: function isClearIconVisible() {\n return this.showClear && this.modelValue != null && isNotEmpty(this.options);\n },\n virtualScrollerDisabled: function virtualScrollerDisabled() {\n return !this.virtualScrollerOptions;\n },\n hasFluid: function hasFluid() {\n return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid;\n }\n },\n directives: {\n ripple: Ripple\n },\n components: {\n InputText: InputText,\n VirtualScroller: VirtualScroller,\n Portal: Portal,\n InputIcon: InputIcon,\n IconField: IconField,\n TimesIcon: TimesIcon,\n ChevronDownIcon: ChevronDownIcon,\n SpinnerIcon: SpinnerIcon,\n SearchIcon: SearchIcon,\n CheckIcon: CheckIcon,\n BlankIcon: BlankIcon\n }\n};\n\nvar _hoisted_1 = [\"id\"];\nvar _hoisted_2 = [\"id\", \"value\", \"placeholder\", \"tabindex\", \"disabled\", \"aria-label\", \"aria-labelledby\", \"aria-expanded\", \"aria-controls\", \"aria-activedescendant\", \"aria-invalid\"];\nvar _hoisted_3 = [\"id\", \"tabindex\", \"aria-label\", \"aria-labelledby\", \"aria-expanded\", \"aria-controls\", \"aria-activedescendant\", \"aria-disabled\"];\nvar _hoisted_4 = [\"id\"];\nvar _hoisted_5 = [\"id\"];\nvar _hoisted_6 = [\"id\", \"aria-label\", \"aria-selected\", \"aria-disabled\", \"aria-setsize\", \"aria-posinset\", \"onClick\", \"onMousemove\", \"data-p-selected\", \"data-p-focused\", \"data-p-disabled\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_SpinnerIcon = resolveComponent(\"SpinnerIcon\");\n var _component_InputText = resolveComponent(\"InputText\");\n var _component_SearchIcon = resolveComponent(\"SearchIcon\");\n var _component_InputIcon = resolveComponent(\"InputIcon\");\n var _component_IconField = resolveComponent(\"IconField\");\n var _component_CheckIcon = resolveComponent(\"CheckIcon\");\n var _component_BlankIcon = resolveComponent(\"BlankIcon\");\n var _component_VirtualScroller = resolveComponent(\"VirtualScroller\");\n var _component_Portal = resolveComponent(\"Portal\");\n var _directive_ripple = resolveDirective(\"ripple\");\n return openBlock(), createElementBlock(\"div\", mergeProps({\n ref: \"container\",\n id: $data.id,\n \"class\": _ctx.cx('root'),\n onClick: _cache[11] || (_cache[11] = function () {\n return $options.onContainerClick && $options.onContainerClick.apply($options, arguments);\n })\n }, _ctx.ptmi('root')), [_ctx.editable ? (openBlock(), createElementBlock(\"input\", mergeProps({\n key: 0,\n ref: \"focusInput\",\n id: _ctx.labelId || _ctx.inputId,\n type: \"text\",\n \"class\": [_ctx.cx('label'), _ctx.inputClass, _ctx.labelClass],\n style: [_ctx.inputStyle, _ctx.labelStyle],\n value: $options.editableInputValue,\n placeholder: _ctx.placeholder,\n tabindex: !_ctx.disabled ? _ctx.tabindex : -1,\n disabled: _ctx.disabled,\n autocomplete: \"off\",\n role: \"combobox\",\n \"aria-label\": _ctx.ariaLabel,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": $data.overlayVisible,\n \"aria-controls\": $data.id + '_list',\n \"aria-activedescendant\": $data.focused ? $options.focusedOptionId : undefined,\n \"aria-invalid\": _ctx.invalid || undefined,\n onFocus: _cache[0] || (_cache[0] = function () {\n return $options.onFocus && $options.onFocus.apply($options, arguments);\n }),\n onBlur: _cache[1] || (_cache[1] = function () {\n return $options.onBlur && $options.onBlur.apply($options, arguments);\n }),\n onKeydown: _cache[2] || (_cache[2] = function () {\n return $options.onKeyDown && $options.onKeyDown.apply($options, arguments);\n }),\n onInput: _cache[3] || (_cache[3] = function () {\n return $options.onEditableInput && $options.onEditableInput.apply($options, arguments);\n })\n }, _ctx.ptm('label')), null, 16, _hoisted_2)) : (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 1,\n ref: \"focusInput\",\n id: _ctx.labelId || _ctx.inputId,\n \"class\": [_ctx.cx('label'), _ctx.inputClass, _ctx.labelClass],\n style: [_ctx.inputStyle, _ctx.labelStyle],\n tabindex: !_ctx.disabled ? _ctx.tabindex : -1,\n role: \"combobox\",\n \"aria-label\": _ctx.ariaLabel || ($options.label === 'p-emptylabel' ? undefined : $options.label),\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": $data.overlayVisible,\n \"aria-controls\": $data.id + '_list',\n \"aria-activedescendant\": $data.focused ? $options.focusedOptionId : undefined,\n \"aria-disabled\": _ctx.disabled,\n onFocus: _cache[4] || (_cache[4] = function () {\n return $options.onFocus && $options.onFocus.apply($options, arguments);\n }),\n onBlur: _cache[5] || (_cache[5] = function () {\n return $options.onBlur && $options.onBlur.apply($options, arguments);\n }),\n onKeydown: _cache[6] || (_cache[6] = function () {\n return $options.onKeyDown && $options.onKeyDown.apply($options, arguments);\n })\n }, _ctx.ptm('label')), [renderSlot(_ctx.$slots, \"value\", {\n value: _ctx.modelValue,\n placeholder: _ctx.placeholder\n }, function () {\n var _$options$label;\n return [createTextVNode(toDisplayString($options.label === 'p-emptylabel' ? ' ' : (_$options$label = $options.label) !== null && _$options$label !== void 0 ? _$options$label : 'empty'), 1)];\n })], 16, _hoisted_3)), $options.isClearIconVisible ? renderSlot(_ctx.$slots, \"clearicon\", {\n key: 2,\n \"class\": normalizeClass(_ctx.cx('clearIcon')),\n clearCallback: $options.onClearClick\n }, function () {\n return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.clearIcon ? 'i' : 'TimesIcon'), mergeProps({\n ref: \"clearIcon\",\n \"class\": [_ctx.cx('clearIcon'), _ctx.clearIcon],\n onClick: $options.onClearClick\n }, _ctx.ptm('clearIcon'), {\n \"data-pc-section\": \"clearicon\"\n }), null, 16, [\"class\", \"onClick\"]))];\n }) : createCommentVNode(\"\", true), createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('dropdown')\n }, _ctx.ptm('dropdown')), [_ctx.loading ? renderSlot(_ctx.$slots, \"loadingicon\", {\n key: 0,\n \"class\": normalizeClass(_ctx.cx('loadingIcon'))\n }, function () {\n return [_ctx.loadingIcon ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 0,\n \"class\": [_ctx.cx('loadingIcon'), 'pi-spin', _ctx.loadingIcon],\n \"aria-hidden\": \"true\"\n }, _ctx.ptm('loadingIcon')), null, 16)) : (openBlock(), createBlock(_component_SpinnerIcon, mergeProps({\n key: 1,\n \"class\": _ctx.cx('loadingIcon'),\n spin: \"\",\n \"aria-hidden\": \"true\"\n }, _ctx.ptm('loadingIcon')), null, 16, [\"class\"]))];\n }) : renderSlot(_ctx.$slots, \"dropdownicon\", {\n key: 1,\n \"class\": normalizeClass(_ctx.cx('dropdownIcon'))\n }, function () {\n return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.dropdownIcon ? 'span' : 'ChevronDownIcon'), mergeProps({\n \"class\": [_ctx.cx('dropdownIcon'), _ctx.dropdownIcon],\n \"aria-hidden\": \"true\"\n }, _ctx.ptm('dropdownIcon')), null, 16, [\"class\"]))];\n })], 16), createVNode(_component_Portal, {\n appendTo: _ctx.appendTo\n }, {\n \"default\": withCtx(function () {\n return [createVNode(Transition, mergeProps({\n name: \"p-connected-overlay\",\n onEnter: $options.onOverlayEnter,\n onAfterEnter: $options.onOverlayAfterEnter,\n onLeave: $options.onOverlayLeave,\n onAfterLeave: $options.onOverlayAfterLeave\n }, _ctx.ptm('transition')), {\n \"default\": withCtx(function () {\n return [$data.overlayVisible ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n ref: $options.overlayRef,\n \"class\": [_ctx.cx('overlay'), _ctx.panelClass, _ctx.overlayClass],\n style: [_ctx.panelStyle, _ctx.overlayStyle],\n onClick: _cache[9] || (_cache[9] = function () {\n return $options.onOverlayClick && $options.onOverlayClick.apply($options, arguments);\n }),\n onKeydown: _cache[10] || (_cache[10] = function () {\n return $options.onOverlayKeyDown && $options.onOverlayKeyDown.apply($options, arguments);\n })\n }, _ctx.ptm('overlay')), [createElementVNode(\"span\", mergeProps({\n ref: \"firstHiddenFocusableElementOnOverlay\",\n role: \"presentation\",\n \"aria-hidden\": \"true\",\n \"class\": \"p-hidden-accessible p-hidden-focusable\",\n tabindex: 0,\n onFocus: _cache[7] || (_cache[7] = function () {\n return $options.onFirstHiddenFocus && $options.onFirstHiddenFocus.apply($options, arguments);\n })\n }, _ctx.ptm('hiddenFirstFocusableEl'), {\n \"data-p-hidden-accessible\": true,\n \"data-p-hidden-focusable\": true\n }), null, 16), renderSlot(_ctx.$slots, \"header\", {\n value: _ctx.modelValue,\n options: $options.visibleOptions\n }), _ctx.filter ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('header')\n }, _ctx.ptm('header')), [createVNode(_component_IconField, {\n unstyled: _ctx.unstyled,\n pt: _ctx.ptm('pcFilterContainer')\n }, {\n \"default\": withCtx(function () {\n return [createVNode(_component_InputText, {\n ref: \"filterInput\",\n type: \"text\",\n value: $data.filterValue,\n onVnodeMounted: $options.onFilterUpdated,\n onVnodeUpdated: $options.onFilterUpdated,\n \"class\": normalizeClass(_ctx.cx('pcFilter')),\n placeholder: _ctx.filterPlaceholder,\n variant: _ctx.variant,\n unstyled: _ctx.unstyled,\n role: \"searchbox\",\n autocomplete: \"off\",\n \"aria-owns\": $data.id + '_list',\n \"aria-activedescendant\": $options.focusedOptionId,\n onKeydown: $options.onFilterKeyDown,\n onBlur: $options.onFilterBlur,\n onInput: $options.onFilterChange,\n pt: _ctx.ptm('pcFilter')\n }, null, 8, [\"value\", \"onVnodeMounted\", \"onVnodeUpdated\", \"class\", \"placeholder\", \"variant\", \"unstyled\", \"aria-owns\", \"aria-activedescendant\", \"onKeydown\", \"onBlur\", \"onInput\", \"pt\"]), createVNode(_component_InputIcon, {\n unstyled: _ctx.unstyled,\n pt: _ctx.ptm('pcFilterIconContainer')\n }, {\n \"default\": withCtx(function () {\n return [renderSlot(_ctx.$slots, \"filtericon\", {}, function () {\n return [_ctx.filterIcon ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 0,\n \"class\": _ctx.filterIcon\n }, _ctx.ptm('filterIcon')), null, 16)) : (openBlock(), createBlock(_component_SearchIcon, normalizeProps(mergeProps({\n key: 1\n }, _ctx.ptm('filterIcon'))), null, 16))];\n })];\n }),\n _: 3\n }, 8, [\"unstyled\", \"pt\"])];\n }),\n _: 3\n }, 8, [\"unstyled\", \"pt\"]), createElementVNode(\"span\", mergeProps({\n role: \"status\",\n \"aria-live\": \"polite\",\n \"class\": \"p-hidden-accessible\"\n }, _ctx.ptm('hiddenFilterResult'), {\n \"data-p-hidden-accessible\": true\n }), toDisplayString($options.filterResultMessageText), 17)], 16)) : createCommentVNode(\"\", true), createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('listContainer'),\n style: {\n 'max-height': $options.virtualScrollerDisabled ? _ctx.scrollHeight : ''\n }\n }, _ctx.ptm('listContainer')), [createVNode(_component_VirtualScroller, mergeProps({\n ref: $options.virtualScrollerRef\n }, _ctx.virtualScrollerOptions, {\n items: $options.visibleOptions,\n style: {\n height: _ctx.scrollHeight\n },\n tabindex: -1,\n disabled: $options.virtualScrollerDisabled,\n pt: _ctx.ptm('virtualScroller')\n }), createSlots({\n content: withCtx(function (_ref) {\n var styleClass = _ref.styleClass,\n contentRef = _ref.contentRef,\n items = _ref.items,\n getItemOptions = _ref.getItemOptions,\n contentStyle = _ref.contentStyle,\n itemSize = _ref.itemSize;\n return [createElementVNode(\"ul\", mergeProps({\n ref: function ref(el) {\n return $options.listRef(el, contentRef);\n },\n id: $data.id + '_list',\n \"class\": [_ctx.cx('list'), styleClass],\n style: contentStyle,\n role: \"listbox\"\n }, _ctx.ptm('list')), [(openBlock(true), createElementBlock(Fragment, null, renderList(items, function (option, i) {\n return openBlock(), createElementBlock(Fragment, {\n key: $options.getOptionRenderKey(option, $options.getOptionIndex(i, getItemOptions))\n }, [$options.isOptionGroup(option) ? (openBlock(), createElementBlock(\"li\", mergeProps({\n key: 0,\n id: $data.id + '_' + $options.getOptionIndex(i, getItemOptions),\n style: {\n height: itemSize ? itemSize + 'px' : undefined\n },\n \"class\": _ctx.cx('optionGroup'),\n role: \"option\",\n ref_for: true\n }, _ctx.ptm('optionGroup')), [renderSlot(_ctx.$slots, \"optiongroup\", {\n option: option.optionGroup,\n index: $options.getOptionIndex(i, getItemOptions)\n }, function () {\n return [createElementVNode(\"span\", mergeProps({\n \"class\": _ctx.cx('optionGroupLabel'),\n ref_for: true\n }, _ctx.ptm('optionGroupLabel')), toDisplayString($options.getOptionGroupLabel(option.optionGroup)), 17)];\n })], 16, _hoisted_5)) : withDirectives((openBlock(), createElementBlock(\"li\", mergeProps({\n key: 1,\n id: $data.id + '_' + $options.getOptionIndex(i, getItemOptions),\n \"class\": _ctx.cx('option', {\n option: option,\n focusedOption: $options.getOptionIndex(i, getItemOptions)\n }),\n style: {\n height: itemSize ? itemSize + 'px' : undefined\n },\n role: \"option\",\n \"aria-label\": $options.getOptionLabel(option),\n \"aria-selected\": $options.isSelected(option),\n \"aria-disabled\": $options.isOptionDisabled(option),\n \"aria-setsize\": $options.ariaSetSize,\n \"aria-posinset\": $options.getAriaPosInset($options.getOptionIndex(i, getItemOptions)),\n onClick: function onClick($event) {\n return $options.onOptionSelect($event, option);\n },\n onMousemove: function onMousemove($event) {\n return $options.onOptionMouseMove($event, $options.getOptionIndex(i, getItemOptions));\n },\n \"data-p-selected\": $options.isSelected(option),\n \"data-p-focused\": $data.focusedOptionIndex === $options.getOptionIndex(i, getItemOptions),\n \"data-p-disabled\": $options.isOptionDisabled(option),\n ref_for: true\n }, $options.getPTItemOptions(option, getItemOptions, i, 'option')), [_ctx.checkmark ? (openBlock(), createElementBlock(Fragment, {\n key: 0\n }, [$options.isSelected(option) ? (openBlock(), createBlock(_component_CheckIcon, mergeProps({\n key: 0,\n \"class\": _ctx.cx('optionCheckIcon'),\n ref_for: true\n }, _ctx.ptm('optionCheckIcon')), null, 16, [\"class\"])) : (openBlock(), createBlock(_component_BlankIcon, mergeProps({\n key: 1,\n \"class\": _ctx.cx('optionBlankIcon'),\n ref_for: true\n }, _ctx.ptm('optionBlankIcon')), null, 16, [\"class\"]))], 64)) : createCommentVNode(\"\", true), renderSlot(_ctx.$slots, \"option\", {\n option: option,\n selected: $options.isSelected(option),\n index: $options.getOptionIndex(i, getItemOptions)\n }, function () {\n return [createElementVNode(\"span\", mergeProps({\n \"class\": _ctx.cx('optionLabel'),\n ref_for: true\n }, _ctx.ptm('optionLabel')), toDisplayString($options.getOptionLabel(option)), 17)];\n })], 16, _hoisted_6)), [[_directive_ripple]])], 64);\n }), 128)), $data.filterValue && (!items || items && items.length === 0) ? (openBlock(), createElementBlock(\"li\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('emptyMessage'),\n role: \"option\"\n }, _ctx.ptm('emptyMessage'), {\n \"data-p-hidden-accessible\": true\n }), [renderSlot(_ctx.$slots, \"emptyfilter\", {}, function () {\n return [createTextVNode(toDisplayString($options.emptyFilterMessageText), 1)];\n })], 16)) : !_ctx.options || _ctx.options && _ctx.options.length === 0 ? (openBlock(), createElementBlock(\"li\", mergeProps({\n key: 1,\n \"class\": _ctx.cx('emptyMessage'),\n role: \"option\"\n }, _ctx.ptm('emptyMessage'), {\n \"data-p-hidden-accessible\": true\n }), [renderSlot(_ctx.$slots, \"empty\", {}, function () {\n return [createTextVNode(toDisplayString($options.emptyMessageText), 1)];\n })], 16)) : createCommentVNode(\"\", true)], 16, _hoisted_4)];\n }),\n _: 2\n }, [_ctx.$slots.loader ? {\n name: \"loader\",\n fn: withCtx(function (_ref2) {\n var options = _ref2.options;\n return [renderSlot(_ctx.$slots, \"loader\", {\n options: options\n })];\n }),\n key: \"0\"\n } : undefined]), 1040, [\"items\", \"style\", \"disabled\", \"pt\"])], 16), renderSlot(_ctx.$slots, \"footer\", {\n value: _ctx.modelValue,\n options: $options.visibleOptions\n }), !_ctx.options || _ctx.options && _ctx.options.length === 0 ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 1,\n role: \"status\",\n \"aria-live\": \"polite\",\n \"class\": \"p-hidden-accessible\"\n }, _ctx.ptm('hiddenEmptyMessage'), {\n \"data-p-hidden-accessible\": true\n }), toDisplayString($options.emptyMessageText), 17)) : createCommentVNode(\"\", true), createElementVNode(\"span\", mergeProps({\n role: \"status\",\n \"aria-live\": \"polite\",\n \"class\": \"p-hidden-accessible\"\n }, _ctx.ptm('hiddenSelectedMessage'), {\n \"data-p-hidden-accessible\": true\n }), toDisplayString($options.selectedMessageText), 17), createElementVNode(\"span\", mergeProps({\n ref: \"lastHiddenFocusableElementOnOverlay\",\n role: \"presentation\",\n \"aria-hidden\": \"true\",\n \"class\": \"p-hidden-accessible p-hidden-focusable\",\n tabindex: 0,\n onFocus: _cache[8] || (_cache[8] = function () {\n return $options.onLastHiddenFocus && $options.onLastHiddenFocus.apply($options, arguments);\n })\n }, _ctx.ptm('hiddenLastFocusableEl'), {\n \"data-p-hidden-accessible\": true,\n \"data-p-hidden-focusable\": true\n }), null, 16)], 16)) : createCommentVNode(\"\", true)];\n }),\n _: 3\n }, 16, [\"onEnter\", \"onAfterEnter\", \"onLeave\", \"onAfterLeave\"])];\n }),\n _: 3\n }, 8, [\"appendTo\"])], 16, _hoisted_1);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-toggleswitch {\\n display: inline-block;\\n width: \".concat(dt('toggleswitch.width'), \";\\n height: \").concat(dt('toggleswitch.height'), \";\\n}\\n\\n.p-toggleswitch-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-radius: \").concat(dt('toggleswitch.border.radius'), \";\\n}\\n\\n.p-toggleswitch-slider {\\n display: inline-block;\\n cursor: pointer;\\n width: 100%;\\n height: 100%;\\n border-width: \").concat(dt('toggleswitch.border.width'), \";\\n border-style: solid;\\n border-color: \").concat(dt('toggleswitch.border.color'), \";\\n background: \").concat(dt('toggleswitch.background'), \";\\n transition: background \").concat(dt('toggleswitch.transition.duration'), \", color \").concat(dt('toggleswitch.transition.duration'), \", border-color \").concat(dt('toggleswitch.transition.duration'), \", outline-color \").concat(dt('toggleswitch.transition.duration'), \", box-shadow \").concat(dt('toggleswitch.transition.duration'), \";\\n border-radius: \").concat(dt('toggleswitch.border.radius'), \";\\n outline-color: transparent;\\n box-shadow: \").concat(dt('toggleswitch.shadow'), \";\\n}\\n\\n.p-toggleswitch-handle {\\n position: absolute;\\n top: 50%;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n background: \").concat(dt('toggleswitch.handle.background'), \";\\n color: \").concat(dt('toggleswitch.handle.color'), \";\\n width: \").concat(dt('toggleswitch.handle.size'), \";\\n height: \").concat(dt('toggleswitch.handle.size'), \";\\n left: \").concat(dt('toggleswitch.gap'), \";\\n margin-top: calc(-1 * calc(\").concat(dt('toggleswitch.handle.size'), \" / 2));\\n border-radius: \").concat(dt('toggleswitch.handle.border.radius'), \";\\n transition: background \").concat(dt('toggleswitch.transition.duration'), \", color \").concat(dt('toggleswitch.transition.duration'), \", left \").concat(dt('toggleswitch.slide.duration'), \", box-shadow \").concat(dt('toggleswitch.slide.duration'), \";\\n}\\n\\n.p-toggleswitch.p-toggleswitch-checked .p-toggleswitch-slider {\\n background: \").concat(dt('toggleswitch.checked.background'), \";\\n border-color: \").concat(dt('toggleswitch.checked.border.color'), \";\\n}\\n\\n.p-toggleswitch.p-toggleswitch-checked .p-toggleswitch-handle {\\n background: \").concat(dt('toggleswitch.handle.checked.background'), \";\\n color: \").concat(dt('toggleswitch.handle.checked.color'), \";\\n left: calc(\").concat(dt('toggleswitch.width'), \" - calc(\").concat(dt('toggleswitch.handle.size'), \" + \").concat(dt('toggleswitch.gap'), \"));\\n}\\n\\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover) .p-toggleswitch-slider {\\n background: \").concat(dt('toggleswitch.hover.background'), \";\\n border-color: \").concat(dt('toggleswitch.hover.border.color'), \";\\n}\\n\\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover) .p-toggleswitch-handle {\\n background: \").concat(dt('toggleswitch.handle.hover.background'), \";\\n color: \").concat(dt('toggleswitch.handle.hover.color'), \";\\n}\\n\\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover).p-toggleswitch-checked .p-toggleswitch-slider {\\n background: \").concat(dt('toggleswitch.checked.hover.background'), \";\\n border-color: \").concat(dt('toggleswitch.checked.hover.border.color'), \";\\n}\\n\\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover).p-toggleswitch-checked .p-toggleswitch-handle {\\n background: \").concat(dt('toggleswitch.handle.checked.hover.background'), \";\\n color: \").concat(dt('toggleswitch.handle.checked.hover.color'), \";\\n}\\n\\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:focus-visible) .p-toggleswitch-slider {\\n box-shadow: \").concat(dt('toggleswitch.focus.ring.shadow'), \";\\n outline: \").concat(dt('toggleswitch.focus.ring.width'), \" \").concat(dt('toggleswitch.focus.ring.style'), \" \").concat(dt('toggleswitch.focus.ring.color'), \";\\n outline-offset: \").concat(dt('toggleswitch.focus.ring.offset'), \";\\n}\\n\\n.p-toggleswitch.p-invalid > .p-toggleswitch-slider {\\n border-color: \").concat(dt('toggleswitch.invalid.border.color'), \";\\n}\\n\\n.p-toggleswitch.p-disabled {\\n opacity: 1;\\n}\\n\\n.p-toggleswitch.p-disabled .p-toggleswitch-slider {\\n background: \").concat(dt('toggleswitch.disabled.background'), \";\\n}\\n\\n.p-toggleswitch.p-disabled .p-toggleswitch-handle {\\n background: \").concat(dt('toggleswitch.handle.disabled.background'), \";\\n}\\n\");\n};\nvar inlineStyles = {\n root: {\n position: 'relative'\n }\n};\nvar classes = {\n root: function root(_ref2) {\n var instance = _ref2.instance,\n props = _ref2.props;\n return ['p-toggleswitch p-component', {\n 'p-toggleswitch-checked': instance.checked,\n 'p-disabled': props.disabled,\n 'p-invalid': props.invalid\n }];\n },\n input: 'p-toggleswitch-input',\n slider: 'p-toggleswitch-slider',\n handle: 'p-toggleswitch-handle'\n};\nvar ToggleSwitchStyle = BaseStyle.extend({\n name: 'toggleswitch',\n theme: theme,\n classes: classes,\n inlineStyles: inlineStyles\n});\n\nexport { ToggleSwitchStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseComponent from '@primevue/core/basecomponent';\nimport ToggleSwitchStyle from 'primevue/toggleswitch/style';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode, renderSlot } from 'vue';\n\nvar script$1 = {\n name: 'BaseToggleSwitch',\n \"extends\": BaseComponent,\n props: {\n modelValue: {\n type: null,\n \"default\": false\n },\n trueValue: {\n type: null,\n \"default\": true\n },\n falseValue: {\n type: null,\n \"default\": false\n },\n invalid: {\n type: Boolean,\n \"default\": false\n },\n disabled: {\n type: Boolean,\n \"default\": false\n },\n readonly: {\n type: Boolean,\n \"default\": false\n },\n tabindex: {\n type: Number,\n \"default\": null\n },\n inputId: {\n type: String,\n \"default\": null\n },\n inputClass: {\n type: [String, Object],\n \"default\": null\n },\n inputStyle: {\n type: Object,\n \"default\": null\n },\n ariaLabelledby: {\n type: String,\n \"default\": null\n },\n ariaLabel: {\n type: String,\n \"default\": null\n }\n },\n style: ToggleSwitchStyle,\n provide: function provide() {\n return {\n $pcToggleSwitch: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'ToggleSwitch',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['update:modelValue', 'change', 'focus', 'blur'],\n methods: {\n getPTOptions: function getPTOptions(key) {\n var _ptm = key === 'root' ? this.ptmi : this.ptm;\n return _ptm(key, {\n context: {\n checked: this.checked,\n disabled: this.disabled\n }\n });\n },\n onChange: function onChange(event) {\n if (!this.disabled && !this.readonly) {\n var newValue = this.checked ? this.falseValue : this.trueValue;\n this.$emit('update:modelValue', newValue);\n this.$emit('change', event);\n }\n },\n onFocus: function onFocus(event) {\n this.$emit('focus', event);\n },\n onBlur: function onBlur(event) {\n this.$emit('blur', event);\n }\n },\n computed: {\n checked: function checked() {\n return this.modelValue === this.trueValue;\n }\n }\n};\n\nvar _hoisted_1 = [\"data-p-checked\", \"data-p-disabled\"];\nvar _hoisted_2 = [\"id\", \"checked\", \"tabindex\", \"disabled\", \"readonly\", \"aria-checked\", \"aria-labelledby\", \"aria-label\", \"aria-invalid\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root'),\n style: _ctx.sx('root')\n }, $options.getPTOptions('root'), {\n \"data-p-checked\": $options.checked,\n \"data-p-disabled\": _ctx.disabled\n }), [createElementVNode(\"input\", mergeProps({\n id: _ctx.inputId,\n type: \"checkbox\",\n role: \"switch\",\n \"class\": [_ctx.cx('input'), _ctx.inputClass],\n style: _ctx.inputStyle,\n checked: $options.checked,\n tabindex: _ctx.tabindex,\n disabled: _ctx.disabled,\n readonly: _ctx.readonly,\n \"aria-checked\": $options.checked,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-label\": _ctx.ariaLabel,\n \"aria-invalid\": _ctx.invalid || undefined,\n onFocus: _cache[0] || (_cache[0] = function () {\n return $options.onFocus && $options.onFocus.apply($options, arguments);\n }),\n onBlur: _cache[1] || (_cache[1] = function () {\n return $options.onBlur && $options.onBlur.apply($options, arguments);\n }),\n onChange: _cache[2] || (_cache[2] = function () {\n return $options.onChange && $options.onChange.apply($options, arguments);\n })\n }, $options.getPTOptions('input')), null, 16, _hoisted_2), createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('slider')\n }, $options.getPTOptions('slider')), [createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('handle')\n }, $options.getPTOptions('handle')), [renderSlot(_ctx.$slots, \"handle\", {\n checked: $options.checked\n })], 16)], 16)], 16, _hoisted_1);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-tag {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n background: \".concat(dt('tag.primary.background'), \";\\n color: \").concat(dt('tag.primary.color'), \";\\n font-size: \").concat(dt('tag.font.size'), \";\\n font-weight: \").concat(dt('tag.font.weight'), \";\\n padding: \").concat(dt('tag.padding'), \";\\n border-radius: \").concat(dt('tag.border.radius'), \";\\n gap: \").concat(dt('tag.gap'), \";\\n}\\n\\n.p-tag-icon {\\n font-size: \").concat(dt('tag.icon.size'), \";\\n width: \").concat(dt('tag.icon.size'), \";\\n height:\").concat(dt('tag.icon.size'), \";\\n}\\n\\n.p-tag-rounded {\\n border-radius: \").concat(dt('tag.rounded.border.radius'), \";\\n}\\n\\n.p-tag-success {\\n background: \").concat(dt('tag.success.background'), \";\\n color: \").concat(dt('tag.success.color'), \";\\n}\\n\\n.p-tag-info {\\n background: \").concat(dt('tag.info.background'), \";\\n color: \").concat(dt('tag.info.color'), \";\\n}\\n\\n.p-tag-warn {\\n background: \").concat(dt('tag.warn.background'), \";\\n color: \").concat(dt('tag.warn.color'), \";\\n}\\n\\n.p-tag-danger {\\n background: \").concat(dt('tag.danger.background'), \";\\n color: \").concat(dt('tag.danger.color'), \";\\n}\\n\\n.p-tag-secondary {\\n background: \").concat(dt('tag.secondary.background'), \";\\n color: \").concat(dt('tag.secondary.color'), \";\\n}\\n\\n.p-tag-contrast {\\n background: \").concat(dt('tag.contrast.background'), \";\\n color: \").concat(dt('tag.contrast.color'), \";\\n}\\n\");\n};\nvar classes = {\n root: function root(_ref2) {\n var props = _ref2.props;\n return ['p-tag p-component', {\n 'p-tag-info': props.severity === 'info',\n 'p-tag-success': props.severity === 'success',\n 'p-tag-warn': props.severity === 'warn',\n 'p-tag-danger': props.severity === 'danger',\n 'p-tag-secondary': props.severity === 'secondary',\n 'p-tag-contrast': props.severity === 'contrast',\n 'p-tag-rounded': props.rounded\n }];\n },\n icon: 'p-tag-icon',\n label: 'p-tag-label'\n};\nvar TagStyle = BaseStyle.extend({\n name: 'tag',\n theme: theme,\n classes: classes\n});\n\nexport { TagStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseComponent from '@primevue/core/basecomponent';\nimport TagStyle from 'primevue/tag/style';\nimport { openBlock, createElementBlock, mergeProps, createBlock, resolveDynamicComponent, createCommentVNode, renderSlot, createElementVNode, toDisplayString } from 'vue';\n\nvar script$1 = {\n name: 'BaseTag',\n \"extends\": BaseComponent,\n props: {\n value: null,\n severity: null,\n rounded: Boolean,\n icon: String\n },\n style: TagStyle,\n provide: function provide() {\n return {\n $pcTag: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'Tag',\n \"extends\": script$1,\n inheritAttrs: false\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps({\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [_ctx.$slots.icon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.icon), mergeProps({\n key: 0,\n \"class\": _ctx.cx('icon')\n }, _ctx.ptm('icon')), null, 16, [\"class\"])) : _ctx.icon ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 1,\n \"class\": [_ctx.cx('icon'), _ctx.icon]\n }, _ctx.ptm('icon')), null, 16)) : createCommentVNode(\"\", true), _ctx.value != null || _ctx.$slots[\"default\"] ? renderSlot(_ctx.$slots, \"default\", {\n key: 2\n }, function () {\n return [createElementVNode(\"span\", mergeProps({\n \"class\": _ctx.cx('label')\n }, _ctx.ptm('label')), toDisplayString(_ctx.value), 17)];\n }) : createCommentVNode(\"\", true)], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","\n\n\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-slider {\\n position: relative;\\n background: \".concat(dt('slider.track.background'), \";\\n border-radius: \").concat(dt('slider.border.radius'), \";\\n}\\n\\n.p-slider-handle {\\n cursor: grab;\\n touch-action: none;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n height: \").concat(dt('slider.handle.height'), \";\\n width: \").concat(dt('slider.handle.width'), \";\\n background: \").concat(dt('slider.handle.background'), \";\\n border-radius: \").concat(dt('slider.handle.border.radius'), \";\\n transition: background \").concat(dt('slider.transition.duration'), \", color \").concat(dt('slider.transition.duration'), \", border-color \").concat(dt('slider.transition.duration'), \", box-shadow \").concat(dt('slider.transition.duration'), \", outline-color \").concat(dt('slider.transition.duration'), \";\\n outline-color: transparent;\\n}\\n\\n.p-slider-handle::before {\\n content: \\\"\\\";\\n width: \").concat(dt('slider.handle.content.width'), \";\\n height: \").concat(dt('slider.handle.content.height'), \";\\n display: block;\\n background: \").concat(dt('slider.handle.content.background'), \";\\n border-radius: \").concat(dt('slider.handle.content.border.radius'), \";\\n box-shadow: \").concat(dt('slider.handle.content.shadow'), \";\\n transition: background \").concat(dt('slider.transition.duration'), \";\\n}\\n\\n.p-slider:not(.p-disabled) .p-slider-handle:hover {\\n background: \").concat(dt('slider.handle.hover.background'), \";\\n}\\n\\n.p-slider:not(.p-disabled) .p-slider-handle:hover::before {\\n background: \").concat(dt('slider.handle.content.hover.background'), \";\\n}\\n\\n.p-slider-handle:focus-visible {\\n border-color: \").concat(dt('slider.handle.focus.border.color'), \";\\n box-shadow: \").concat(dt('slider.handle.focus.ring.shadow'), \";\\n outline: \").concat(dt('slider.handle.focus.ring.width'), \" \").concat(dt('slider.handle.focus.ring.style'), \" \").concat(dt('slider.handle.focus.ring.color'), \";\\n outline-offset: \").concat(dt('slider.handle.focus.ring.offset'), \";\\n}\\n\\n.p-slider-range {\\n display: block;\\n background: \").concat(dt('slider.range.background'), \";\\n border-radius: \").concat(dt('slider.border.radius'), \";\\n}\\n\\n.p-slider.p-slider-horizontal {\\n height: \").concat(dt('slider.track.size'), \";\\n}\\n\\n.p-slider-horizontal .p-slider-range {\\n top: 0;\\n left: 0;\\n height: 100%;\\n}\\n\\n.p-slider-horizontal .p-slider-handle {\\n top: 50%;\\n margin-top: calc(-1 * calc(\").concat(dt('slider.handle.height'), \" / 2));\\n margin-left: calc(-1 * calc(\").concat(dt('slider.handle.width'), \" / 2));\\n}\\n\\n.p-slider-vertical {\\n min-height: 100px;\\n width: \").concat(dt('slider.track.size'), \";\\n}\\n\\n.p-slider-vertical .p-slider-handle {\\n left: 50%;\\n margin-left: calc(-1 * calc(\").concat(dt('slider.handle.width'), \" / 2));\\n margin-bottom: calc(-1 * calc(\").concat(dt('slider.handle.height'), \" / 2));\\n}\\n\\n.p-slider-vertical .p-slider-range {\\n bottom: 0;\\n left: 0;\\n width: 100%;\\n}\\n\");\n};\nvar inlineStyles = {\n handle: {\n position: 'absolute'\n },\n range: {\n position: 'absolute'\n }\n};\nvar classes = {\n root: function root(_ref2) {\n var props = _ref2.props;\n return ['p-slider p-component', {\n 'p-disabled': props.disabled,\n 'p-slider-horizontal': props.orientation === 'horizontal',\n 'p-slider-vertical': props.orientation === 'vertical'\n }];\n },\n range: 'p-slider-range',\n handle: 'p-slider-handle'\n};\nvar SliderStyle = BaseStyle.extend({\n name: 'slider',\n theme: theme,\n classes: classes,\n inlineStyles: inlineStyles\n});\n\nexport { SliderStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { getWindowScrollLeft, getWindowScrollTop, getAttribute } from '@primeuix/utils/dom';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport SliderStyle from 'primevue/slider/style';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode, createCommentVNode } from 'vue';\n\nvar script$1 = {\n name: 'BaseSlider',\n \"extends\": BaseComponent,\n props: {\n modelValue: [Number, Array],\n min: {\n type: Number,\n \"default\": 0\n },\n max: {\n type: Number,\n \"default\": 100\n },\n orientation: {\n type: String,\n \"default\": 'horizontal'\n },\n step: {\n type: Number,\n \"default\": null\n },\n range: {\n type: Boolean,\n \"default\": false\n },\n disabled: {\n type: Boolean,\n \"default\": false\n },\n tabindex: {\n type: Number,\n \"default\": 0\n },\n ariaLabelledby: {\n type: String,\n \"default\": null\n },\n ariaLabel: {\n type: String,\n \"default\": null\n }\n },\n style: SliderStyle,\n provide: function provide() {\n return {\n $pcSlider: this,\n $parentInstance: this\n };\n }\n};\n\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _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.\"); }\nfunction _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; } }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _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; }\nvar script = {\n name: 'Slider',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['update:modelValue', 'change', 'slideend'],\n dragging: false,\n handleIndex: null,\n initX: null,\n initY: null,\n barWidth: null,\n barHeight: null,\n dragListener: null,\n dragEndListener: null,\n beforeUnmount: function beforeUnmount() {\n this.unbindDragListeners();\n },\n methods: {\n updateDomData: function updateDomData() {\n var rect = this.$el.getBoundingClientRect();\n this.initX = rect.left + getWindowScrollLeft();\n this.initY = rect.top + getWindowScrollTop();\n this.barWidth = this.$el.offsetWidth;\n this.barHeight = this.$el.offsetHeight;\n },\n setValue: function setValue(event) {\n var handleValue;\n var pageX = event.touches ? event.touches[0].pageX : event.pageX;\n var pageY = event.touches ? event.touches[0].pageY : event.pageY;\n if (this.orientation === 'horizontal') handleValue = (pageX - this.initX) * 100 / this.barWidth;else handleValue = (this.initY + this.barHeight - pageY) * 100 / this.barHeight;\n var newValue = (this.max - this.min) * (handleValue / 100) + this.min;\n if (this.step) {\n var oldValue = this.range ? this.value[this.handleIndex] : this.value;\n var diff = newValue - oldValue;\n if (diff < 0) newValue = oldValue + Math.ceil(newValue / this.step - oldValue / this.step) * this.step;else if (diff > 0) newValue = oldValue + Math.floor(newValue / this.step - oldValue / this.step) * this.step;\n } else {\n newValue = Math.floor(newValue);\n }\n this.updateModel(event, newValue);\n },\n updateModel: function updateModel(event, value) {\n var newValue = parseFloat(value.toFixed(10));\n var modelValue;\n if (this.range) {\n modelValue = this.value ? _toConsumableArray(this.value) : [];\n if (this.handleIndex == 0) {\n if (newValue < this.min) newValue = this.min;else if (newValue >= this.max) newValue = this.max;\n modelValue[0] = newValue;\n } else {\n if (newValue > this.max) newValue = this.max;else if (newValue <= this.min) newValue = this.min;\n modelValue[1] = newValue;\n }\n } else {\n if (newValue < this.min) newValue = this.min;else if (newValue > this.max) newValue = this.max;\n modelValue = newValue;\n }\n this.$emit('update:modelValue', modelValue);\n this.$emit('change', modelValue);\n },\n onDragStart: function onDragStart(event, index) {\n if (this.disabled) {\n return;\n }\n this.$el.setAttribute('data-p-sliding', true);\n this.dragging = true;\n this.updateDomData();\n if (this.range && this.value[0] === this.max) {\n this.handleIndex = 0;\n } else {\n this.handleIndex = index;\n }\n event.currentTarget.focus();\n event.preventDefault();\n },\n onDrag: function onDrag(event) {\n if (this.dragging) {\n this.setValue(event);\n event.preventDefault();\n }\n },\n onDragEnd: function onDragEnd(event) {\n if (this.dragging) {\n this.dragging = false;\n this.$el.setAttribute('data-p-sliding', false);\n this.$emit('slideend', {\n originalEvent: event,\n value: this.value\n });\n }\n },\n onBarClick: function onBarClick(event) {\n if (this.disabled) {\n return;\n }\n if (getAttribute(event.target, 'data-pc-section') !== 'handle') {\n this.updateDomData();\n this.setValue(event);\n }\n },\n onMouseDown: function onMouseDown(event, index) {\n this.bindDragListeners();\n this.onDragStart(event, index);\n },\n onKeyDown: function onKeyDown(event, index) {\n this.handleIndex = index;\n switch (event.code) {\n case 'ArrowDown':\n case 'ArrowLeft':\n this.decrementValue(event, index);\n event.preventDefault();\n break;\n case 'ArrowUp':\n case 'ArrowRight':\n this.incrementValue(event, index);\n event.preventDefault();\n break;\n case 'PageDown':\n this.decrementValue(event, index, true);\n event.preventDefault();\n break;\n case 'PageUp':\n this.incrementValue(event, index, true);\n event.preventDefault();\n break;\n case 'Home':\n this.updateModel(event, this.min);\n event.preventDefault();\n break;\n case 'End':\n this.updateModel(event, this.max);\n event.preventDefault();\n break;\n }\n },\n decrementValue: function decrementValue(event, index) {\n var pageKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var newValue;\n if (this.range) {\n if (this.step) newValue = this.value[index] - this.step;else newValue = this.value[index] - 1;\n } else {\n if (this.step) newValue = this.value - this.step;else if (!this.step && pageKey) newValue = this.value - 10;else newValue = this.value - 1;\n }\n this.updateModel(event, newValue);\n event.preventDefault();\n },\n incrementValue: function incrementValue(event, index) {\n var pageKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var newValue;\n if (this.range) {\n if (this.step) newValue = this.value[index] + this.step;else newValue = this.value[index] + 1;\n } else {\n if (this.step) newValue = this.value + this.step;else if (!this.step && pageKey) newValue = this.value + 10;else newValue = this.value + 1;\n }\n this.updateModel(event, newValue);\n event.preventDefault();\n },\n bindDragListeners: function bindDragListeners() {\n if (!this.dragListener) {\n this.dragListener = this.onDrag.bind(this);\n document.addEventListener('mousemove', this.dragListener);\n }\n if (!this.dragEndListener) {\n this.dragEndListener = this.onDragEnd.bind(this);\n document.addEventListener('mouseup', this.dragEndListener);\n }\n },\n unbindDragListeners: function unbindDragListeners() {\n if (this.dragListener) {\n document.removeEventListener('mousemove', this.dragListener);\n this.dragListener = null;\n }\n if (this.dragEndListener) {\n document.removeEventListener('mouseup', this.dragEndListener);\n this.dragEndListener = null;\n }\n }\n },\n computed: {\n value: function value() {\n var _this$modelValue3;\n if (this.range) {\n var _this$modelValue$, _this$modelValue, _this$modelValue$2, _this$modelValue2;\n return [(_this$modelValue$ = (_this$modelValue = this.modelValue) === null || _this$modelValue === void 0 ? void 0 : _this$modelValue[0]) !== null && _this$modelValue$ !== void 0 ? _this$modelValue$ : this.min, (_this$modelValue$2 = (_this$modelValue2 = this.modelValue) === null || _this$modelValue2 === void 0 ? void 0 : _this$modelValue2[1]) !== null && _this$modelValue$2 !== void 0 ? _this$modelValue$2 : this.max];\n }\n return (_this$modelValue3 = this.modelValue) !== null && _this$modelValue3 !== void 0 ? _this$modelValue3 : this.min;\n },\n horizontal: function horizontal() {\n return this.orientation === 'horizontal';\n },\n vertical: function vertical() {\n return this.orientation === 'vertical';\n },\n rangeStyle: function rangeStyle() {\n if (this.range) {\n var rangeSliderWidth = this.rangeEndPosition > this.rangeStartPosition ? this.rangeEndPosition - this.rangeStartPosition : this.rangeStartPosition - this.rangeEndPosition;\n var rangeSliderPosition = this.rangeEndPosition > this.rangeStartPosition ? this.rangeStartPosition : this.rangeEndPosition;\n if (this.horizontal) return {\n left: rangeSliderPosition + '%',\n width: rangeSliderWidth + '%'\n };else return {\n bottom: rangeSliderPosition + '%',\n height: rangeSliderWidth + '%'\n };\n } else {\n if (this.horizontal) return {\n width: this.handlePosition + '%'\n };else return {\n height: this.handlePosition + '%'\n };\n }\n },\n handleStyle: function handleStyle() {\n if (this.horizontal) return {\n left: this.handlePosition + '%'\n };else return {\n bottom: this.handlePosition + '%'\n };\n },\n handlePosition: function handlePosition() {\n if (this.value < this.min) return 0;else if (this.value > this.max) return 100;else return (this.value - this.min) * 100 / (this.max - this.min);\n },\n rangeStartPosition: function rangeStartPosition() {\n if (this.value && this.value[0]) return (this.value[0] < this.min ? 0 : this.value[0] - this.min) * 100 / (this.max - this.min);else return 0;\n },\n rangeEndPosition: function rangeEndPosition() {\n if (this.value && this.value.length === 2) return (this.value[1] > this.max ? 100 : this.value[1] - this.min) * 100 / (this.max - this.min);else return 100;\n },\n rangeStartHandleStyle: function rangeStartHandleStyle() {\n if (this.horizontal) return {\n left: this.rangeStartPosition + '%'\n };else return {\n bottom: this.rangeStartPosition + '%'\n };\n },\n rangeEndHandleStyle: function rangeEndHandleStyle() {\n if (this.horizontal) return {\n left: this.rangeEndPosition + '%'\n };else return {\n bottom: this.rangeEndPosition + '%'\n };\n }\n }\n};\n\nvar _hoisted_1 = [\"tabindex\", \"aria-valuemin\", \"aria-valuenow\", \"aria-valuemax\", \"aria-labelledby\", \"aria-label\", \"aria-orientation\"];\nvar _hoisted_2 = [\"tabindex\", \"aria-valuemin\", \"aria-valuenow\", \"aria-valuemax\", \"aria-labelledby\", \"aria-label\", \"aria-orientation\"];\nvar _hoisted_3 = [\"tabindex\", \"aria-valuemin\", \"aria-valuenow\", \"aria-valuemax\", \"aria-labelledby\", \"aria-label\", \"aria-orientation\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root'),\n onClick: _cache[15] || (_cache[15] = function () {\n return $options.onBarClick && $options.onBarClick.apply($options, arguments);\n })\n }, _ctx.ptmi('root'), {\n \"data-p-sliding\": false\n }), [createElementVNode(\"span\", mergeProps({\n \"class\": _ctx.cx('range'),\n style: [_ctx.sx('range'), $options.rangeStyle]\n }, _ctx.ptm('range')), null, 16), !_ctx.range ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('handle'),\n style: [_ctx.sx('handle'), $options.handleStyle],\n onTouchstartPassive: _cache[0] || (_cache[0] = function ($event) {\n return $options.onDragStart($event);\n }),\n onTouchmovePassive: _cache[1] || (_cache[1] = function ($event) {\n return $options.onDrag($event);\n }),\n onTouchend: _cache[2] || (_cache[2] = function ($event) {\n return $options.onDragEnd($event);\n }),\n onMousedown: _cache[3] || (_cache[3] = function ($event) {\n return $options.onMouseDown($event);\n }),\n onKeydown: _cache[4] || (_cache[4] = function ($event) {\n return $options.onKeyDown($event);\n }),\n tabindex: _ctx.tabindex,\n role: \"slider\",\n \"aria-valuemin\": _ctx.min,\n \"aria-valuenow\": _ctx.modelValue,\n \"aria-valuemax\": _ctx.max,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-label\": _ctx.ariaLabel,\n \"aria-orientation\": _ctx.orientation\n }, _ctx.ptm('handle')), null, 16, _hoisted_1)) : createCommentVNode(\"\", true), _ctx.range ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 1,\n \"class\": _ctx.cx('handle'),\n style: [_ctx.sx('handle'), $options.rangeStartHandleStyle],\n onTouchstartPassive: _cache[5] || (_cache[5] = function ($event) {\n return $options.onDragStart($event, 0);\n }),\n onTouchmovePassive: _cache[6] || (_cache[6] = function ($event) {\n return $options.onDrag($event);\n }),\n onTouchend: _cache[7] || (_cache[7] = function ($event) {\n return $options.onDragEnd($event);\n }),\n onMousedown: _cache[8] || (_cache[8] = function ($event) {\n return $options.onMouseDown($event, 0);\n }),\n onKeydown: _cache[9] || (_cache[9] = function ($event) {\n return $options.onKeyDown($event, 0);\n }),\n tabindex: _ctx.tabindex,\n role: \"slider\",\n \"aria-valuemin\": _ctx.min,\n \"aria-valuenow\": _ctx.modelValue ? _ctx.modelValue[0] : null,\n \"aria-valuemax\": _ctx.max,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-label\": _ctx.ariaLabel,\n \"aria-orientation\": _ctx.orientation\n }, _ctx.ptm('startHandler')), null, 16, _hoisted_2)) : createCommentVNode(\"\", true), _ctx.range ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 2,\n \"class\": _ctx.cx('handle'),\n style: [_ctx.sx('handle'), $options.rangeEndHandleStyle],\n onTouchstartPassive: _cache[10] || (_cache[10] = function ($event) {\n return $options.onDragStart($event, 1);\n }),\n onTouchmovePassive: _cache[11] || (_cache[11] = function ($event) {\n return $options.onDrag($event);\n }),\n onTouchend: _cache[12] || (_cache[12] = function ($event) {\n return $options.onDragEnd($event);\n }),\n onMousedown: _cache[13] || (_cache[13] = function ($event) {\n return $options.onMouseDown($event, 1);\n }),\n onKeydown: _cache[14] || (_cache[14] = function ($event) {\n return $options.onKeyDown($event, 1);\n }),\n tabindex: _ctx.tabindex,\n role: \"slider\",\n \"aria-valuemin\": _ctx.min,\n \"aria-valuenow\": _ctx.modelValue ? _ctx.modelValue[1] : null,\n \"aria-valuemax\": _ctx.max,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-label\": _ctx.ariaLabel,\n \"aria-orientation\": _ctx.orientation\n }, _ctx.ptm('endHandler')), null, 16, _hoisted_3)) : createCommentVNode(\"\", true)], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","\n\n\n","\n\n\n\n\n","import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'TimesCircleIcon',\n \"extends\": BaseIcon\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _cache[0] || (_cache[0] = [createElementVNode(\"path\", {\n \"fill-rule\": \"evenodd\",\n \"clip-rule\": \"evenodd\",\n d: \"M7 14C5.61553 14 4.26215 13.5895 3.11101 12.8203C1.95987 12.0511 1.06266 10.9579 0.532846 9.67879C0.00303296 8.3997 -0.13559 6.99224 0.134506 5.63437C0.404603 4.2765 1.07129 3.02922 2.05026 2.05026C3.02922 1.07129 4.2765 0.404603 5.63437 0.134506C6.99224 -0.13559 8.3997 0.00303296 9.67879 0.532846C10.9579 1.06266 12.0511 1.95987 12.8203 3.11101C13.5895 4.26215 14 5.61553 14 7C14 8.85652 13.2625 10.637 11.9497 11.9497C10.637 13.2625 8.85652 14 7 14ZM7 1.16667C5.84628 1.16667 4.71846 1.50879 3.75918 2.14976C2.79989 2.79074 2.05222 3.70178 1.61071 4.76768C1.16919 5.83358 1.05367 7.00647 1.27876 8.13803C1.50384 9.26958 2.05941 10.309 2.87521 11.1248C3.69102 11.9406 4.73042 12.4962 5.86198 12.7212C6.99353 12.9463 8.16642 12.8308 9.23232 12.3893C10.2982 11.9478 11.2093 11.2001 11.8502 10.2408C12.4912 9.28154 12.8333 8.15373 12.8333 7C12.8333 5.45291 12.2188 3.96918 11.1248 2.87521C10.0308 1.78125 8.5471 1.16667 7 1.16667ZM4.66662 9.91668C4.58998 9.91704 4.51404 9.90209 4.44325 9.87271C4.37246 9.84333 4.30826 9.8001 4.2544 9.74557C4.14516 9.6362 4.0838 9.48793 4.0838 9.33335C4.0838 9.17876 4.14516 9.0305 4.2544 8.92113L6.17553 7L4.25443 5.07891C4.15139 4.96832 4.09529 4.82207 4.09796 4.67094C4.10063 4.51982 4.16185 4.37563 4.26872 4.26876C4.3756 4.16188 4.51979 4.10066 4.67091 4.09799C4.82204 4.09532 4.96829 4.15142 5.07887 4.25446L6.99997 6.17556L8.92106 4.25446C9.03164 4.15142 9.1779 4.09532 9.32903 4.09799C9.48015 4.10066 9.62434 4.16188 9.73121 4.26876C9.83809 4.37563 9.89931 4.51982 9.90198 4.67094C9.90464 4.82207 9.84855 4.96832 9.74551 5.07891L7.82441 7L9.74554 8.92113C9.85478 9.0305 9.91614 9.17876 9.91614 9.33335C9.91614 9.48793 9.85478 9.6362 9.74554 9.74557C9.69168 9.8001 9.62748 9.84333 9.55669 9.87271C9.4859 9.90209 9.40996 9.91704 9.33332 9.91668C9.25668 9.91704 9.18073 9.90209 9.10995 9.87271C9.03916 9.84333 8.97495 9.8001 8.9211 9.74557L6.99997 7.82444L5.07884 9.74557C5.02499 9.8001 4.96078 9.84333 4.88999 9.87271C4.81921 9.90209 4.74326 9.91704 4.66662 9.91668Z\",\n fill: \"currentColor\"\n }, null, -1)]), 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-chip {\\n display: inline-flex;\\n align-items: center;\\n background: \".concat(dt('chip.background'), \";\\n color: \").concat(dt('chip.color'), \";\\n border-radius: \").concat(dt('chip.border.radius'), \";\\n padding: \").concat(dt('chip.padding.y'), \" \").concat(dt('chip.padding.x'), \";\\n gap: \").concat(dt('chip.gap'), \";\\n}\\n\\n.p-chip-icon {\\n color: \").concat(dt('chip.icon.color'), \";\\n font-size: \").concat(dt('chip.icon.font.size'), \";\\n width: \").concat(dt('chip.icon.size'), \";\\n height: \").concat(dt('chip.icon.size'), \";\\n}\\n\\n.p-chip-image {\\n border-radius: 50%;\\n width: \").concat(dt('chip.image.width'), \";\\n height: \").concat(dt('chip.image.height'), \";\\n margin-left: calc(-1 * \").concat(dt('chip.padding.y'), \");\\n}\\n\\n.p-chip:has(.p-chip-remove-icon) {\\n padding-right: \").concat(dt('chip.padding.y'), \";\\n}\\n\\n.p-chip:has(.p-chip-image) {\\n padding-top: calc(\").concat(dt('chip.padding.y'), \" / 2);\\n padding-bottom: calc(\").concat(dt('chip.padding.y'), \" / 2);\\n}\\n\\n.p-chip-remove-icon {\\n cursor: pointer;\\n font-size: \").concat(dt('chip.remove.icon.size'), \";\\n width: \").concat(dt('chip.remove.icon.size'), \";\\n height: \").concat(dt('chip.remove.icon.size'), \";\\n color: \").concat(dt('chip.remove.icon.color'), \";\\n border-radius: 50%;\\n transition: outline-color \").concat(dt('chip.transition.duration'), \", box-shadow \").concat(dt('chip.transition.duration'), \";\\n outline-color: transparent;\\n}\\n\\n.p-chip-remove-icon:focus-visible {\\n box-shadow: \").concat(dt('chip.remove.icon.focus.ring.shadow'), \";\\n outline: \").concat(dt('chip.remove.icon.focus.ring.width'), \" \").concat(dt('chip.remove.icon.focus.ring.style'), \" \").concat(dt('chip.remove.icon.focus.ring.color'), \";\\n outline-offset: \").concat(dt('chip.remove.icon.focus.ring.offset'), \";\\n}\\n\");\n};\nvar classes = {\n root: 'p-chip p-component',\n image: 'p-chip-image',\n icon: 'p-chip-icon',\n label: 'p-chip-label',\n removeIcon: 'p-chip-remove-icon'\n};\nvar ChipStyle = BaseStyle.extend({\n name: 'chip',\n theme: theme,\n classes: classes\n});\n\nexport { ChipStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import TimesCircleIcon from '@primevue/icons/timescircle';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport ChipStyle from 'primevue/chip/style';\nimport { openBlock, createElementBlock, mergeProps, renderSlot, createBlock, resolveDynamicComponent, createCommentVNode, toDisplayString } from 'vue';\n\nvar script$1 = {\n name: 'BaseChip',\n \"extends\": BaseComponent,\n props: {\n label: {\n type: String,\n \"default\": null\n },\n icon: {\n type: String,\n \"default\": null\n },\n image: {\n type: String,\n \"default\": null\n },\n removable: {\n type: Boolean,\n \"default\": false\n },\n removeIcon: {\n type: String,\n \"default\": undefined\n }\n },\n style: ChipStyle,\n provide: function provide() {\n return {\n $pcChip: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'Chip',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['remove'],\n data: function data() {\n return {\n visible: true\n };\n },\n methods: {\n onKeydown: function onKeydown(event) {\n if (event.key === 'Enter' || event.key === 'Backspace') {\n this.close(event);\n }\n },\n close: function close(event) {\n this.visible = false;\n this.$emit('remove', event);\n }\n },\n components: {\n TimesCircleIcon: TimesCircleIcon\n }\n};\n\nvar _hoisted_1 = [\"aria-label\"];\nvar _hoisted_2 = [\"src\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return $data.visible ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('root'),\n \"aria-label\": _ctx.label\n }, _ctx.ptmi('root')), [renderSlot(_ctx.$slots, \"default\", {}, function () {\n return [_ctx.image ? (openBlock(), createElementBlock(\"img\", mergeProps({\n key: 0,\n src: _ctx.image\n }, _ctx.ptm('image'), {\n \"class\": _ctx.cx('image')\n }), null, 16, _hoisted_2)) : _ctx.$slots.icon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.icon), mergeProps({\n key: 1,\n \"class\": _ctx.cx('icon')\n }, _ctx.ptm('icon')), null, 16, [\"class\"])) : _ctx.icon ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 2,\n \"class\": [_ctx.cx('icon'), _ctx.icon]\n }, _ctx.ptm('icon')), null, 16)) : createCommentVNode(\"\", true), _ctx.label ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 3,\n \"class\": _ctx.cx('label')\n }, _ctx.ptm('label')), toDisplayString(_ctx.label), 17)) : createCommentVNode(\"\", true)];\n }), _ctx.removable ? renderSlot(_ctx.$slots, \"removeicon\", {\n key: 0,\n removeCallback: $options.close,\n keydownCallback: $options.onKeydown\n }, function () {\n return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.removeIcon ? 'span' : 'TimesCircleIcon'), mergeProps({\n tabindex: \"0\",\n \"class\": [_ctx.cx('removeIcon'), _ctx.removeIcon],\n onClick: $options.close,\n onKeydown: $options.onKeydown\n }, _ctx.ptm('removeIcon')), null, 16, [\"class\", \"onClick\", \"onKeydown\"]))];\n }) : createCommentVNode(\"\", true)], 16, _hoisted_1)) : createCommentVNode(\"\", true);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","\n\n\n\n\n","import { defineStore } from 'pinia'\nimport { ref } from 'vue'\nimport { api } from '@/scripts/api'\nimport type { SystemStats } from '@/types/apiTypes'\n\nexport const useSystemStatsStore = defineStore('systemStats', () => {\n const systemStats = ref(null)\n const isLoading = ref(false)\n const error = ref(null)\n\n async function fetchSystemStats() {\n isLoading.value = true\n error.value = null\n\n try {\n systemStats.value = await api.getSystemStats()\n } catch (err) {\n error.value =\n err instanceof Error\n ? err.message\n : 'An error occurred while fetching system stats'\n console.error('Error fetching system stats:', err)\n } finally {\n isLoading.value = false\n }\n }\n\n return {\n systemStats,\n isLoading,\n error,\n fetchSystemStats\n }\n})\n","import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'ChevronLeftIcon',\n \"extends\": BaseIcon\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _cache[0] || (_cache[0] = [createElementVNode(\"path\", {\n d: \"M9.61296 13C9.50997 13.0005 9.40792 12.9804 9.3128 12.9409C9.21767 12.9014 9.13139 12.8433 9.05902 12.7701L3.83313 7.54416C3.68634 7.39718 3.60388 7.19795 3.60388 6.99022C3.60388 6.78249 3.68634 6.58325 3.83313 6.43628L9.05902 1.21039C9.20762 1.07192 9.40416 0.996539 9.60724 1.00012C9.81032 1.00371 10.0041 1.08597 10.1477 1.22959C10.2913 1.37322 10.3736 1.56698 10.3772 1.77005C10.3808 1.97313 10.3054 2.16968 10.1669 2.31827L5.49496 6.99022L10.1669 11.6622C10.3137 11.8091 10.3962 12.0084 10.3962 12.2161C10.3962 12.4238 10.3137 12.6231 10.1669 12.7701C10.0945 12.8433 10.0083 12.9014 9.91313 12.9409C9.81801 12.9804 9.71596 13.0005 9.61296 13Z\",\n fill: \"currentColor\"\n }, null, -1)]), 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'ChevronRightIcon',\n \"extends\": BaseIcon\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _cache[0] || (_cache[0] = [createElementVNode(\"path\", {\n d: \"M4.38708 13C4.28408 13.0005 4.18203 12.9804 4.08691 12.9409C3.99178 12.9014 3.9055 12.8433 3.83313 12.7701C3.68634 12.6231 3.60388 12.4238 3.60388 12.2161C3.60388 12.0084 3.68634 11.8091 3.83313 11.6622L8.50507 6.99022L3.83313 2.31827C3.69467 2.16968 3.61928 1.97313 3.62287 1.77005C3.62645 1.56698 3.70872 1.37322 3.85234 1.22959C3.99596 1.08597 4.18972 1.00371 4.3928 1.00012C4.59588 0.996539 4.79242 1.07192 4.94102 1.21039L10.1669 6.43628C10.3137 6.58325 10.3962 6.78249 10.3962 6.99022C10.3962 7.19795 10.3137 7.39718 10.1669 7.54416L4.94102 12.7701C4.86865 12.8433 4.78237 12.9014 4.68724 12.9409C4.59212 12.9804 4.49007 13.0005 4.38708 13Z\",\n fill: \"currentColor\"\n }, null, -1)]), 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-tabview-tablist-container {\\n position: relative;\\n}\\n\\n.p-tabview-scrollable > .p-tabview-tablist-container {\\n overflow: hidden;\\n}\\n\\n.p-tabview-tablist-scroll-container {\\n overflow-x: auto;\\n overflow-y: hidden;\\n scroll-behavior: smooth;\\n scrollbar-width: none;\\n overscroll-behavior: contain auto;\\n}\\n\\n.p-tabview-tablist-scroll-container::-webkit-scrollbar {\\n display: none;\\n}\\n\\n.p-tabview-tablist {\\n display: flex;\\n margin: 0;\\n padding: 0;\\n list-style-type: none;\\n flex: 1 1 auto;\\n background: \".concat(dt('tabview.tab.list.background'), \";\\n border: 1px solid \").concat(dt('tabview.tab.list.border.color'), \";\\n border-width: 0 0 1px 0;\\n position: relative;\\n}\\n\\n.p-tabview-tab-header {\\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 border-style: solid;\\n border-width: 0 0 1px 0;\\n border-color: transparent transparent \").concat(dt('tabview.tab.border.color'), \" transparent;\\n color: \").concat(dt('tabview.tab.color'), \";\\n padding: 1rem 1.125rem;\\n font-weight: 600;\\n border-top-right-radius: \").concat(dt('border.radius.md'), \";\\n border-top-left-radius: \").concat(dt('border.radius.md'), \";\\n transition: color \").concat(dt('tabview.transition.duration'), \", outline-color \").concat(dt('tabview.transition.duration'), \";\\n margin: 0 0 -1px 0;\\n outline-color: transparent;\\n}\\n\\n.p-tabview-tablist-item:not(.p-disabled) .p-tabview-tab-header:focus-visible {\\n outline: \").concat(dt('focus.ring.width'), \" \").concat(dt('focus.ring.style'), \" \").concat(dt('focus.ring.color'), \";\\n outline-offset: -1px;\\n}\\n\\n.p-tabview-tablist-item:not(.p-highlight):not(.p-disabled):hover > .p-tabview-tab-header {\\n color: \").concat(dt('tabview.tab.hover.color'), \";\\n}\\n\\n.p-tabview-tablist-item.p-highlight > .p-tabview-tab-header {\\n color: \").concat(dt('tabview.tab.active.color'), \";\\n}\\n\\n.p-tabview-tab-title {\\n line-height: 1;\\n white-space: nowrap;\\n}\\n\\n.p-tabview-next-button,\\n.p-tabview-prev-button {\\n position: absolute;\\n top: 0;\\n margin: 0;\\n padding: 0;\\n z-index: 2;\\n height: 100%;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n background: \").concat(dt('tabview.nav.button.background'), \";\\n color: \").concat(dt('tabview.nav.button.color'), \";\\n width: 2.5rem;\\n border-radius: 0;\\n outline-color: transparent;\\n transition: color \").concat(dt('tabview.transition.duration'), \", outline-color \").concat(dt('tabview.transition.duration'), \";\\n box-shadow: \").concat(dt('tabview.nav.button.shadow'), \";\\n border: none;\\n cursor: pointer;\\n user-select: none;\\n}\\n\\n.p-tabview-next-button:focus-visible,\\n.p-tabview-prev-button: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-tabview-next-button:hover,\\n.p-tabview-prev-button:hover {\\n color: \").concat(dt('tabview.nav.button.hover.color'), \";\\n}\\n\\n.p-tabview-prev-button {\\n left: 0;\\n}\\n\\n.p-tabview-next-button {\\n right: 0;\\n}\\n\\n.p-tabview-panels {\\n background: \").concat(dt('tabview.tab.panel.background'), \";\\n color: \").concat(dt('tabview.tab.panel.color'), \";\\n padding: 0.875rem 1.125rem 1.125rem 1.125rem;\\n}\\n\\n.p-tabview-ink-bar {\\n z-index: 1;\\n display: block;\\n position: absolute;\\n bottom: -1px;\\n height: 1px;\\n background: \").concat(dt('tabview.tab.active.border.color'), \";\\n transition: 250ms cubic-bezier(0.35, 0, 0.25, 1);\\n}\\n\");\n};\nvar classes = {\n root: function root(_ref2) {\n var props = _ref2.props;\n return ['p-tabview p-component', {\n 'p-tabview-scrollable': props.scrollable\n }];\n },\n navContainer: 'p-tabview-tablist-container',\n prevButton: 'p-tabview-prev-button',\n navContent: 'p-tabview-tablist-scroll-container',\n nav: 'p-tabview-tablist',\n tab: {\n header: function header(_ref3) {\n var instance = _ref3.instance,\n tab = _ref3.tab,\n index = _ref3.index;\n return ['p-tabview-tablist-item', instance.getTabProp(tab, 'headerClass'), {\n 'p-tabview-tablist-item-active': instance.d_activeIndex === index,\n 'p-disabled': instance.getTabProp(tab, 'disabled')\n }];\n },\n headerAction: 'p-tabview-tab-header',\n headerTitle: 'p-tabview-tab-title',\n content: function content(_ref4) {\n var instance = _ref4.instance,\n tab = _ref4.tab;\n return ['p-tabview-panel', instance.getTabProp(tab, 'contentClass')];\n }\n },\n inkbar: 'p-tabview-ink-bar',\n nextButton: 'p-tabview-next-button',\n panelContainer: 'p-tabview-panels'\n};\nvar TabViewStyle = BaseStyle.extend({\n name: 'tabview',\n theme: theme,\n classes: classes\n});\n\nexport { TabViewStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { UniqueComponentId } from '@primevue/core/utils';\nimport { getWidth, getAttribute, findSingle, focus, getOffset } from '@primeuix/utils/dom';\nimport ChevronLeftIcon from '@primevue/icons/chevronleft';\nimport ChevronRightIcon from '@primevue/icons/chevronright';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps, resolveDirective, openBlock, createElementBlock, createElementVNode, withDirectives, renderSlot, createBlock, resolveDynamicComponent, createCommentVNode, Fragment, renderList, toDisplayString, vShow } from 'vue';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport TabViewStyle from 'primevue/tabview/style';\n\nvar script$1 = {\n name: 'BaseTabView',\n \"extends\": BaseComponent,\n props: {\n activeIndex: {\n type: Number,\n \"default\": 0\n },\n lazy: {\n type: Boolean,\n \"default\": false\n },\n scrollable: {\n type: Boolean,\n \"default\": false\n },\n tabindex: {\n type: Number,\n \"default\": 0\n },\n selectOnFocus: {\n type: Boolean,\n \"default\": false\n },\n prevButtonProps: {\n type: null,\n \"default\": null\n },\n nextButtonProps: {\n type: null,\n \"default\": null\n },\n prevIcon: {\n type: String,\n \"default\": undefined\n },\n nextIcon: {\n type: String,\n \"default\": undefined\n }\n },\n style: TabViewStyle,\n provide: function provide() {\n return {\n $pcTabs: undefined,\n // Backwards compatible to prevent component from breaking\n $pcTabView: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'TabView',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['update:activeIndex', 'tab-change', 'tab-click'],\n data: function data() {\n return {\n id: this.$attrs.id,\n d_activeIndex: this.activeIndex,\n isPrevButtonDisabled: true,\n isNextButtonDisabled: false\n };\n },\n watch: {\n '$attrs.id': function $attrsId(newValue) {\n this.id = newValue || UniqueComponentId();\n },\n activeIndex: function activeIndex(newValue) {\n this.d_activeIndex = newValue;\n this.scrollInView({\n index: newValue\n });\n }\n },\n mounted: function mounted() {\n console.warn('Deprecated since v4. Use Tabs component instead.');\n this.id = this.id || UniqueComponentId();\n this.updateInkBar();\n this.scrollable && this.updateButtonState();\n },\n updated: function updated() {\n this.updateInkBar();\n this.scrollable && this.updateButtonState();\n },\n methods: {\n isTabPanel: function isTabPanel(child) {\n return child.type.name === 'TabPanel';\n },\n isTabActive: function isTabActive(index) {\n return this.d_activeIndex === index;\n },\n getTabProp: function getTabProp(tab, name) {\n return tab.props ? tab.props[name] : undefined;\n },\n getKey: function getKey(tab, index) {\n return this.getTabProp(tab, 'header') || index;\n },\n getTabHeaderActionId: function getTabHeaderActionId(index) {\n return \"\".concat(this.id, \"_\").concat(index, \"_header_action\");\n },\n getTabContentId: function getTabContentId(index) {\n return \"\".concat(this.id, \"_\").concat(index, \"_content\");\n },\n getTabPT: function getTabPT(tab, key, index) {\n var count = this.tabs.length;\n var tabMetaData = {\n props: tab.props,\n parent: {\n instance: this,\n props: this.$props,\n state: this.$data\n },\n context: {\n index: index,\n count: count,\n first: index === 0,\n last: index === count - 1,\n active: this.isTabActive(index)\n }\n };\n return mergeProps(this.ptm(\"tabpanel.\".concat(key), {\n tabpanel: tabMetaData\n }), this.ptm(\"tabpanel.\".concat(key), tabMetaData), this.ptmo(this.getTabProp(tab, 'pt'), key, tabMetaData));\n },\n onScroll: function onScroll(event) {\n this.scrollable && this.updateButtonState();\n event.preventDefault();\n },\n onPrevButtonClick: function onPrevButtonClick() {\n var content = this.$refs.content;\n var width = getWidth(content);\n var pos = content.scrollLeft - width;\n content.scrollLeft = pos <= 0 ? 0 : pos;\n },\n onNextButtonClick: function onNextButtonClick() {\n var content = this.$refs.content;\n var width = getWidth(content) - this.getVisibleButtonWidths();\n var pos = content.scrollLeft + width;\n var lastPos = content.scrollWidth - width;\n content.scrollLeft = pos >= lastPos ? lastPos : pos;\n },\n onTabClick: function onTabClick(event, tab, index) {\n this.changeActiveIndex(event, tab, index);\n this.$emit('tab-click', {\n originalEvent: event,\n index: index\n });\n },\n onTabKeyDown: function onTabKeyDown(event, tab, index) {\n switch (event.code) {\n case 'ArrowLeft':\n this.onTabArrowLeftKey(event);\n break;\n case 'ArrowRight':\n this.onTabArrowRightKey(event);\n break;\n case 'Home':\n this.onTabHomeKey(event);\n break;\n case 'End':\n this.onTabEndKey(event);\n break;\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n this.onTabEnterKey(event, tab, index);\n break;\n }\n },\n onTabArrowRightKey: function onTabArrowRightKey(event) {\n var nextHeaderAction = this.findNextHeaderAction(event.target.parentElement);\n nextHeaderAction ? this.changeFocusedTab(event, nextHeaderAction) : this.onTabHomeKey(event);\n event.preventDefault();\n },\n onTabArrowLeftKey: function onTabArrowLeftKey(event) {\n var prevHeaderAction = this.findPrevHeaderAction(event.target.parentElement);\n prevHeaderAction ? this.changeFocusedTab(event, prevHeaderAction) : this.onTabEndKey(event);\n event.preventDefault();\n },\n onTabHomeKey: function onTabHomeKey(event) {\n var firstHeaderAction = this.findFirstHeaderAction();\n this.changeFocusedTab(event, firstHeaderAction);\n event.preventDefault();\n },\n onTabEndKey: function onTabEndKey(event) {\n var lastHeaderAction = this.findLastHeaderAction();\n this.changeFocusedTab(event, lastHeaderAction);\n event.preventDefault();\n },\n onPageDownKey: function onPageDownKey(event) {\n this.scrollInView({\n index: this.$refs.nav.children.length - 2\n });\n event.preventDefault();\n },\n onPageUpKey: function onPageUpKey(event) {\n this.scrollInView({\n index: 0\n });\n event.preventDefault();\n },\n onTabEnterKey: function onTabEnterKey(event, tab, index) {\n this.changeActiveIndex(event, tab, index);\n event.preventDefault();\n },\n findNextHeaderAction: function findNextHeaderAction(tabElement) {\n var selfCheck = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var headerElement = selfCheck ? tabElement : tabElement.nextElementSibling;\n return headerElement ? getAttribute(headerElement, 'data-p-disabled') || getAttribute(headerElement, 'data-pc-section') === 'inkbar' ? this.findNextHeaderAction(headerElement) : findSingle(headerElement, '[data-pc-section=\"headeraction\"]') : null;\n },\n findPrevHeaderAction: function findPrevHeaderAction(tabElement) {\n var selfCheck = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var headerElement = selfCheck ? tabElement : tabElement.previousElementSibling;\n return headerElement ? getAttribute(headerElement, 'data-p-disabled') || getAttribute(headerElement, 'data-pc-section') === 'inkbar' ? this.findPrevHeaderAction(headerElement) : findSingle(headerElement, '[data-pc-section=\"headeraction\"]') : null;\n },\n findFirstHeaderAction: function findFirstHeaderAction() {\n return this.findNextHeaderAction(this.$refs.nav.firstElementChild, true);\n },\n findLastHeaderAction: function findLastHeaderAction() {\n return this.findPrevHeaderAction(this.$refs.nav.lastElementChild, true);\n },\n changeActiveIndex: function changeActiveIndex(event, tab, index) {\n if (!this.getTabProp(tab, 'disabled') && this.d_activeIndex !== index) {\n this.d_activeIndex = index;\n this.$emit('update:activeIndex', index);\n this.$emit('tab-change', {\n originalEvent: event,\n index: index\n });\n this.scrollInView({\n index: index\n });\n }\n },\n changeFocusedTab: function changeFocusedTab(event, element) {\n if (element) {\n focus(element);\n this.scrollInView({\n element: element\n });\n if (this.selectOnFocus) {\n var index = parseInt(element.parentElement.dataset.pcIndex, 10);\n var tab = this.tabs[index];\n this.changeActiveIndex(event, tab, index);\n }\n }\n },\n scrollInView: function scrollInView(_ref) {\n var element = _ref.element,\n _ref$index = _ref.index,\n index = _ref$index === void 0 ? -1 : _ref$index;\n var currentElement = element || this.$refs.nav.children[index];\n if (currentElement) {\n currentElement.scrollIntoView && currentElement.scrollIntoView({\n block: 'nearest'\n });\n }\n },\n updateInkBar: function updateInkBar() {\n var tabHeader = this.$refs.nav.children[this.d_activeIndex];\n this.$refs.inkbar.style.width = getWidth(tabHeader) + 'px';\n this.$refs.inkbar.style.left = getOffset(tabHeader).left - getOffset(this.$refs.nav).left + 'px';\n },\n updateButtonState: function updateButtonState() {\n var content = this.$refs.content;\n var scrollLeft = content.scrollLeft,\n scrollWidth = content.scrollWidth;\n var width = getWidth(content);\n this.isPrevButtonDisabled = scrollLeft === 0;\n this.isNextButtonDisabled = parseInt(scrollLeft) === scrollWidth - width;\n },\n getVisibleButtonWidths: function getVisibleButtonWidths() {\n var _this$$refs = this.$refs,\n prevBtn = _this$$refs.prevBtn,\n nextBtn = _this$$refs.nextBtn;\n return [prevBtn, nextBtn].reduce(function (acc, el) {\n return el ? acc + getWidth(el) : acc;\n }, 0);\n }\n },\n computed: {\n tabs: function tabs() {\n var _this = this;\n return this.$slots[\"default\"]().reduce(function (tabs, child) {\n if (_this.isTabPanel(child)) {\n tabs.push(child);\n } else if (child.children && child.children instanceof Array) {\n child.children.forEach(function (nestedChild) {\n if (_this.isTabPanel(nestedChild)) {\n tabs.push(nestedChild);\n }\n });\n }\n return tabs;\n }, []);\n },\n prevButtonAriaLabel: function prevButtonAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.previous : undefined;\n },\n nextButtonAriaLabel: function nextButtonAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.next : undefined;\n }\n },\n directives: {\n ripple: Ripple\n },\n components: {\n ChevronLeftIcon: ChevronLeftIcon,\n ChevronRightIcon: ChevronRightIcon\n }\n};\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _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); }\nvar _hoisted_1 = [\"tabindex\", \"aria-label\"];\nvar _hoisted_2 = [\"data-p-active\", \"data-p-disabled\", \"data-pc-index\"];\nvar _hoisted_3 = [\"id\", \"tabindex\", \"aria-disabled\", \"aria-selected\", \"aria-controls\", \"onClick\", \"onKeydown\"];\nvar _hoisted_4 = [\"tabindex\", \"aria-label\"];\nvar _hoisted_5 = [\"id\", \"aria-labelledby\", \"data-pc-index\", \"data-p-active\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _directive_ripple = resolveDirective(\"ripple\");\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root'),\n role: \"tablist\"\n }, _ctx.ptmi('root')), [createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('navContainer')\n }, _ctx.ptm('navContainer')), [_ctx.scrollable && !$data.isPrevButtonDisabled ? withDirectives((openBlock(), createElementBlock(\"button\", mergeProps({\n key: 0,\n ref: \"prevBtn\",\n type: \"button\",\n \"class\": _ctx.cx('prevButton'),\n tabindex: _ctx.tabindex,\n \"aria-label\": $options.prevButtonAriaLabel,\n onClick: _cache[0] || (_cache[0] = function () {\n return $options.onPrevButtonClick && $options.onPrevButtonClick.apply($options, arguments);\n })\n }, _objectSpread(_objectSpread({}, _ctx.prevButtonProps), _ctx.ptm('prevButton')), {\n \"data-pc-group-section\": \"navbutton\"\n }), [renderSlot(_ctx.$slots, \"previcon\", {}, function () {\n return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.prevIcon ? 'span' : 'ChevronLeftIcon'), mergeProps({\n \"aria-hidden\": \"true\",\n \"class\": _ctx.prevIcon\n }, _ctx.ptm('prevIcon')), null, 16, [\"class\"]))];\n })], 16, _hoisted_1)), [[_directive_ripple]]) : createCommentVNode(\"\", true), createElementVNode(\"div\", mergeProps({\n ref: \"content\",\n \"class\": _ctx.cx('navContent'),\n onScroll: _cache[1] || (_cache[1] = function () {\n return $options.onScroll && $options.onScroll.apply($options, arguments);\n })\n }, _ctx.ptm('navContent')), [createElementVNode(\"ul\", mergeProps({\n ref: \"nav\",\n \"class\": _ctx.cx('nav')\n }, _ctx.ptm('nav')), [(openBlock(true), createElementBlock(Fragment, null, renderList($options.tabs, function (tab, index) {\n return openBlock(), createElementBlock(\"li\", mergeProps({\n key: $options.getKey(tab, index),\n style: $options.getTabProp(tab, 'headerStyle'),\n \"class\": _ctx.cx('tab.header', {\n tab: tab,\n index: index\n }),\n role: \"presentation\",\n ref_for: true\n }, _objectSpread(_objectSpread(_objectSpread({}, $options.getTabProp(tab, 'headerProps')), $options.getTabPT(tab, 'root', index)), $options.getTabPT(tab, 'header', index)), {\n \"data-pc-name\": \"tabpanel\",\n \"data-p-active\": $data.d_activeIndex === index,\n \"data-p-disabled\": $options.getTabProp(tab, 'disabled'),\n \"data-pc-index\": index\n }), [withDirectives((openBlock(), createElementBlock(\"a\", mergeProps({\n id: $options.getTabHeaderActionId(index),\n \"class\": _ctx.cx('tab.headerAction'),\n tabindex: $options.getTabProp(tab, 'disabled') || !$options.isTabActive(index) ? -1 : _ctx.tabindex,\n role: \"tab\",\n \"aria-disabled\": $options.getTabProp(tab, 'disabled'),\n \"aria-selected\": $options.isTabActive(index),\n \"aria-controls\": $options.getTabContentId(index),\n onClick: function onClick($event) {\n return $options.onTabClick($event, tab, index);\n },\n onKeydown: function onKeydown($event) {\n return $options.onTabKeyDown($event, tab, index);\n },\n ref_for: true\n }, _objectSpread(_objectSpread({}, $options.getTabProp(tab, 'headerActionProps')), $options.getTabPT(tab, 'headerAction', index))), [tab.props && tab.props.header ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('tab.headerTitle'),\n ref_for: true\n }, $options.getTabPT(tab, 'headerTitle', index)), toDisplayString(tab.props.header), 17)) : createCommentVNode(\"\", true), tab.children && tab.children.header ? (openBlock(), createBlock(resolveDynamicComponent(tab.children.header), {\n key: 1\n })) : createCommentVNode(\"\", true)], 16, _hoisted_3)), [[_directive_ripple]])], 16, _hoisted_2);\n }), 128)), createElementVNode(\"li\", mergeProps({\n ref: \"inkbar\",\n \"class\": _ctx.cx('inkbar'),\n role: \"presentation\",\n \"aria-hidden\": \"true\"\n }, _ctx.ptm('inkbar')), null, 16)], 16)], 16), _ctx.scrollable && !$data.isNextButtonDisabled ? withDirectives((openBlock(), createElementBlock(\"button\", mergeProps({\n key: 1,\n ref: \"nextBtn\",\n type: \"button\",\n \"class\": _ctx.cx('nextButton'),\n tabindex: _ctx.tabindex,\n \"aria-label\": $options.nextButtonAriaLabel,\n onClick: _cache[2] || (_cache[2] = function () {\n return $options.onNextButtonClick && $options.onNextButtonClick.apply($options, arguments);\n })\n }, _objectSpread(_objectSpread({}, _ctx.nextButtonProps), _ctx.ptm('nextButton')), {\n \"data-pc-group-section\": \"navbutton\"\n }), [renderSlot(_ctx.$slots, \"nexticon\", {}, function () {\n return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.nextIcon ? 'span' : 'ChevronRightIcon'), mergeProps({\n \"aria-hidden\": \"true\",\n \"class\": _ctx.nextIcon\n }, _ctx.ptm('nextIcon')), null, 16, [\"class\"]))];\n })], 16, _hoisted_4)), [[_directive_ripple]]) : createCommentVNode(\"\", true)], 16), createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('panelContainer')\n }, _ctx.ptm('panelContainer')), [(openBlock(true), createElementBlock(Fragment, null, renderList($options.tabs, function (tab, index) {\n return openBlock(), createElementBlock(Fragment, {\n key: $options.getKey(tab, index)\n }, [(_ctx.lazy ? $options.isTabActive(index) : true) ? withDirectives((openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n id: $options.getTabContentId(index),\n style: $options.getTabProp(tab, 'contentStyle'),\n \"class\": _ctx.cx('tab.content', {\n tab: tab\n }),\n role: \"tabpanel\",\n \"aria-labelledby\": $options.getTabHeaderActionId(index),\n ref_for: true\n }, _objectSpread(_objectSpread(_objectSpread({}, $options.getTabProp(tab, 'contentProps')), $options.getTabPT(tab, 'root', index)), $options.getTabPT(tab, 'content', index)), {\n \"data-pc-name\": \"tabpanel\",\n \"data-pc-index\": index,\n \"data-p-active\": $data.d_activeIndex === index\n }), [(openBlock(), createBlock(resolveDynamicComponent(tab)))], 16, _hoisted_5)), [[vShow, _ctx.lazy ? true : $options.isTabActive(index)]]) : createCommentVNode(\"\", true)], 64);\n }), 128))], 16)], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","\n\n\n","\n\n\n","\n\n\n","\n\n\n\n\n\n\n","\n\n\n","import { shallowRef, watchEffect, readonly, ref, watch, customRef, getCurrentScope, onScopeDispose, effectScope, getCurrentInstance, inject, provide, isVue3, version, isRef, unref, computed, reactive, toRefs as toRefs$1, toRef as toRef$1, isVue2, set as set$1, onBeforeMount, nextTick, onBeforeUnmount, onMounted, onUnmounted, isReactive } from 'vue-demi';\n\nfunction computedEager(fn, options) {\n var _a;\n const result = shallowRef();\n watchEffect(() => {\n result.value = fn();\n }, {\n ...options,\n flush: (_a = options == null ? void 0 : options.flush) != null ? _a : \"sync\"\n });\n return readonly(result);\n}\n\nfunction computedWithControl(source, fn) {\n let v = void 0;\n let track;\n let trigger;\n const dirty = ref(true);\n const update = () => {\n dirty.value = true;\n trigger();\n };\n watch(source, update, { flush: \"sync\" });\n const get = typeof fn === \"function\" ? fn : fn.get;\n const set = typeof fn === \"function\" ? void 0 : fn.set;\n const result = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n if (dirty.value) {\n v = get(v);\n dirty.value = false;\n }\n track();\n return v;\n },\n set(v2) {\n set == null ? void 0 : set(v2);\n }\n };\n });\n if (Object.isExtensible(result))\n result.trigger = update;\n return result;\n}\n\nfunction tryOnScopeDispose(fn) {\n if (getCurrentScope()) {\n onScopeDispose(fn);\n return true;\n }\n return false;\n}\n\nfunction createEventHook() {\n const fns = /* @__PURE__ */ new Set();\n const off = (fn) => {\n fns.delete(fn);\n };\n const on = (fn) => {\n fns.add(fn);\n const offFn = () => off(fn);\n tryOnScopeDispose(offFn);\n return {\n off: offFn\n };\n };\n const trigger = (...args) => {\n return Promise.all(Array.from(fns).map((fn) => fn(...args)));\n };\n return {\n on,\n off,\n trigger\n };\n}\n\nfunction createGlobalState(stateFactory) {\n let initialized = false;\n let state;\n const scope = effectScope(true);\n return (...args) => {\n if (!initialized) {\n state = scope.run(() => stateFactory(...args));\n initialized = true;\n }\n return state;\n };\n}\n\nconst localProvidedStateMap = /* @__PURE__ */ new WeakMap();\n\nconst injectLocal = (...args) => {\n var _a;\n const key = args[0];\n const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy;\n if (instance == null)\n throw new Error(\"injectLocal must be called in setup\");\n if (localProvidedStateMap.has(instance) && key in localProvidedStateMap.get(instance))\n return localProvidedStateMap.get(instance)[key];\n return inject(...args);\n};\n\nconst provideLocal = (key, value) => {\n var _a;\n const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy;\n if (instance == null)\n throw new Error(\"provideLocal must be called in setup\");\n if (!localProvidedStateMap.has(instance))\n localProvidedStateMap.set(instance, /* @__PURE__ */ Object.create(null));\n const localProvidedState = localProvidedStateMap.get(instance);\n localProvidedState[key] = value;\n provide(key, value);\n};\n\nfunction createInjectionState(composable, options) {\n const key = (options == null ? void 0 : options.injectionKey) || Symbol(composable.name || \"InjectionState\");\n const defaultValue = options == null ? void 0 : options.defaultValue;\n const useProvidingState = (...args) => {\n const state = composable(...args);\n provideLocal(key, state);\n return state;\n };\n const useInjectedState = () => injectLocal(key, defaultValue);\n return [useProvidingState, useInjectedState];\n}\n\nfunction createSharedComposable(composable) {\n let subscribers = 0;\n let state;\n let scope;\n const dispose = () => {\n subscribers -= 1;\n if (scope && subscribers <= 0) {\n scope.stop();\n state = void 0;\n scope = void 0;\n }\n };\n return (...args) => {\n subscribers += 1;\n if (!scope) {\n scope = effectScope(true);\n state = scope.run(() => composable(...args));\n }\n tryOnScopeDispose(dispose);\n return state;\n };\n}\n\nfunction extendRef(ref, extend, { enumerable = false, unwrap = true } = {}) {\n if (!isVue3 && !version.startsWith(\"2.7.\")) {\n if (process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] extendRef only works in Vue 2.7 or above.\");\n return;\n }\n for (const [key, value] of Object.entries(extend)) {\n if (key === \"value\")\n continue;\n if (isRef(value) && unwrap) {\n Object.defineProperty(ref, key, {\n get() {\n return value.value;\n },\n set(v) {\n value.value = v;\n },\n enumerable\n });\n } else {\n Object.defineProperty(ref, key, { value, enumerable });\n }\n }\n return ref;\n}\n\nfunction get(obj, key) {\n if (key == null)\n return unref(obj);\n return unref(obj)[key];\n}\n\nfunction isDefined(v) {\n return unref(v) != null;\n}\n\nfunction makeDestructurable(obj, arr) {\n if (typeof Symbol !== \"undefined\") {\n const clone = { ...obj };\n Object.defineProperty(clone, Symbol.iterator, {\n enumerable: false,\n value() {\n let index = 0;\n return {\n next: () => ({\n value: arr[index++],\n done: index > arr.length\n })\n };\n }\n });\n return clone;\n } else {\n return Object.assign([...arr], obj);\n }\n}\n\nfunction toValue(r) {\n return typeof r === \"function\" ? r() : unref(r);\n}\nconst resolveUnref = toValue;\n\nfunction reactify(fn, options) {\n const unrefFn = (options == null ? void 0 : options.computedGetter) === false ? unref : toValue;\n return function(...args) {\n return computed(() => fn.apply(this, args.map((i) => unrefFn(i))));\n };\n}\n\nfunction reactifyObject(obj, optionsOrKeys = {}) {\n let keys = [];\n let options;\n if (Array.isArray(optionsOrKeys)) {\n keys = optionsOrKeys;\n } else {\n options = optionsOrKeys;\n const { includeOwnProperties = true } = optionsOrKeys;\n keys.push(...Object.keys(obj));\n if (includeOwnProperties)\n keys.push(...Object.getOwnPropertyNames(obj));\n }\n return Object.fromEntries(\n keys.map((key) => {\n const value = obj[key];\n return [\n key,\n typeof value === \"function\" ? reactify(value.bind(obj), options) : value\n ];\n })\n );\n}\n\nfunction toReactive(objectRef) {\n if (!isRef(objectRef))\n return reactive(objectRef);\n const proxy = new Proxy({}, {\n get(_, p, receiver) {\n return unref(Reflect.get(objectRef.value, p, receiver));\n },\n set(_, p, value) {\n if (isRef(objectRef.value[p]) && !isRef(value))\n objectRef.value[p].value = value;\n else\n objectRef.value[p] = value;\n return true;\n },\n deleteProperty(_, p) {\n return Reflect.deleteProperty(objectRef.value, p);\n },\n has(_, p) {\n return Reflect.has(objectRef.value, p);\n },\n ownKeys() {\n return Object.keys(objectRef.value);\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true\n };\n }\n });\n return reactive(proxy);\n}\n\nfunction reactiveComputed(fn) {\n return toReactive(computed(fn));\n}\n\nfunction reactiveOmit(obj, ...keys) {\n const flatKeys = keys.flat();\n const predicate = flatKeys[0];\n return reactiveComputed(() => typeof predicate === \"function\" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => !predicate(toValue(v), k))) : Object.fromEntries(Object.entries(toRefs$1(obj)).filter((e) => !flatKeys.includes(e[0]))));\n}\n\nconst directiveHooks = {\n mounted: isVue3 ? \"mounted\" : \"inserted\",\n updated: isVue3 ? \"updated\" : \"componentUpdated\",\n unmounted: isVue3 ? \"unmounted\" : \"unbind\"\n};\n\nconst isClient = typeof window !== \"undefined\" && typeof document !== \"undefined\";\nconst isWorker = typeof WorkerGlobalScope !== \"undefined\" && globalThis instanceof WorkerGlobalScope;\nconst isDef = (val) => typeof val !== \"undefined\";\nconst notNullish = (val) => val != null;\nconst assert = (condition, ...infos) => {\n if (!condition)\n console.warn(...infos);\n};\nconst toString = Object.prototype.toString;\nconst isObject = (val) => toString.call(val) === \"[object Object]\";\nconst now = () => Date.now();\nconst timestamp = () => +Date.now();\nconst clamp = (n, min, max) => Math.min(max, Math.max(min, n));\nconst noop = () => {\n};\nconst rand = (min, max) => {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\nconst hasOwn = (val, key) => Object.prototype.hasOwnProperty.call(val, key);\nconst isIOS = /* @__PURE__ */ getIsIOS();\nfunction getIsIOS() {\n var _a, _b;\n return isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((_b = window == null ? void 0 : window.navigator) == null ? void 0 : _b.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window == null ? void 0 : window.navigator.userAgent));\n}\n\nfunction createFilterWrapper(filter, fn) {\n function wrapper(...args) {\n return new Promise((resolve, reject) => {\n Promise.resolve(filter(() => fn.apply(this, args), { fn, thisArg: this, args })).then(resolve).catch(reject);\n });\n }\n return wrapper;\n}\nconst bypassFilter = (invoke) => {\n return invoke();\n};\nfunction debounceFilter(ms, options = {}) {\n let timer;\n let maxTimer;\n let lastRejector = noop;\n const _clearTimeout = (timer2) => {\n clearTimeout(timer2);\n lastRejector();\n lastRejector = noop;\n };\n const filter = (invoke) => {\n const duration = toValue(ms);\n const maxDuration = toValue(options.maxWait);\n if (timer)\n _clearTimeout(timer);\n if (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) {\n if (maxTimer) {\n _clearTimeout(maxTimer);\n maxTimer = null;\n }\n return Promise.resolve(invoke());\n }\n return new Promise((resolve, reject) => {\n lastRejector = options.rejectOnCancel ? reject : resolve;\n if (maxDuration && !maxTimer) {\n maxTimer = setTimeout(() => {\n if (timer)\n _clearTimeout(timer);\n maxTimer = null;\n resolve(invoke());\n }, maxDuration);\n }\n timer = setTimeout(() => {\n if (maxTimer)\n _clearTimeout(maxTimer);\n maxTimer = null;\n resolve(invoke());\n }, duration);\n });\n };\n return filter;\n}\nfunction throttleFilter(...args) {\n let lastExec = 0;\n let timer;\n let isLeading = true;\n let lastRejector = noop;\n let lastValue;\n let ms;\n let trailing;\n let leading;\n let rejectOnCancel;\n if (!isRef(args[0]) && typeof args[0] === \"object\")\n ({ delay: ms, trailing = true, leading = true, rejectOnCancel = false } = args[0]);\n else\n [ms, trailing = true, leading = true, rejectOnCancel = false] = args;\n const clear = () => {\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n lastRejector();\n lastRejector = noop;\n }\n };\n const filter = (_invoke) => {\n const duration = toValue(ms);\n const elapsed = Date.now() - lastExec;\n const invoke = () => {\n return lastValue = _invoke();\n };\n clear();\n if (duration <= 0) {\n lastExec = Date.now();\n return invoke();\n }\n if (elapsed > duration && (leading || !isLeading)) {\n lastExec = Date.now();\n invoke();\n } else if (trailing) {\n lastValue = new Promise((resolve, reject) => {\n lastRejector = rejectOnCancel ? reject : resolve;\n timer = setTimeout(() => {\n lastExec = Date.now();\n isLeading = true;\n resolve(invoke());\n clear();\n }, Math.max(0, duration - elapsed));\n });\n }\n if (!leading && !timer)\n timer = setTimeout(() => isLeading = true, duration);\n isLeading = false;\n return lastValue;\n };\n return filter;\n}\nfunction pausableFilter(extendFilter = bypassFilter) {\n const isActive = ref(true);\n function pause() {\n isActive.value = false;\n }\n function resume() {\n isActive.value = true;\n }\n const eventFilter = (...args) => {\n if (isActive.value)\n extendFilter(...args);\n };\n return { isActive: readonly(isActive), pause, resume, eventFilter };\n}\n\nfunction cacheStringFunction(fn) {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, \"-$1\").toLowerCase());\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\n\nfunction promiseTimeout(ms, throwOnTimeout = false, reason = \"Timeout\") {\n return new Promise((resolve, reject) => {\n if (throwOnTimeout)\n setTimeout(() => reject(reason), ms);\n else\n setTimeout(resolve, ms);\n });\n}\nfunction identity(arg) {\n return arg;\n}\nfunction createSingletonPromise(fn) {\n let _promise;\n function wrapper() {\n if (!_promise)\n _promise = fn();\n return _promise;\n }\n wrapper.reset = async () => {\n const _prev = _promise;\n _promise = void 0;\n if (_prev)\n await _prev;\n };\n return wrapper;\n}\nfunction invoke(fn) {\n return fn();\n}\nfunction containsProp(obj, ...props) {\n return props.some((k) => k in obj);\n}\nfunction increaseWithUnit(target, delta) {\n var _a;\n if (typeof target === \"number\")\n return target + delta;\n const value = ((_a = target.match(/^-?\\d+\\.?\\d*/)) == null ? void 0 : _a[0]) || \"\";\n const unit = target.slice(value.length);\n const result = Number.parseFloat(value) + delta;\n if (Number.isNaN(result))\n return target;\n return result + unit;\n}\nfunction objectPick(obj, keys, omitUndefined = false) {\n return keys.reduce((n, k) => {\n if (k in obj) {\n if (!omitUndefined || obj[k] !== void 0)\n n[k] = obj[k];\n }\n return n;\n }, {});\n}\nfunction objectOmit(obj, keys, omitUndefined = false) {\n return Object.fromEntries(Object.entries(obj).filter(([key, value]) => {\n return (!omitUndefined || value !== void 0) && !keys.includes(key);\n }));\n}\nfunction objectEntries(obj) {\n return Object.entries(obj);\n}\nfunction getLifeCycleTarget(target) {\n return target || getCurrentInstance();\n}\n\nfunction toRef(...args) {\n if (args.length !== 1)\n return toRef$1(...args);\n const r = args[0];\n return typeof r === \"function\" ? readonly(customRef(() => ({ get: r, set: noop }))) : ref(r);\n}\nconst resolveRef = toRef;\n\nfunction reactivePick(obj, ...keys) {\n const flatKeys = keys.flat();\n const predicate = flatKeys[0];\n return reactiveComputed(() => typeof predicate === \"function\" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => predicate(toValue(v), k))) : Object.fromEntries(flatKeys.map((k) => [k, toRef(obj, k)])));\n}\n\nfunction refAutoReset(defaultValue, afterMs = 1e4) {\n return customRef((track, trigger) => {\n let value = toValue(defaultValue);\n let timer;\n const resetAfter = () => setTimeout(() => {\n value = toValue(defaultValue);\n trigger();\n }, toValue(afterMs));\n tryOnScopeDispose(() => {\n clearTimeout(timer);\n });\n return {\n get() {\n track();\n return value;\n },\n set(newValue) {\n value = newValue;\n trigger();\n clearTimeout(timer);\n timer = resetAfter();\n }\n };\n });\n}\n\nfunction useDebounceFn(fn, ms = 200, options = {}) {\n return createFilterWrapper(\n debounceFilter(ms, options),\n fn\n );\n}\n\nfunction refDebounced(value, ms = 200, options = {}) {\n const debounced = ref(value.value);\n const updater = useDebounceFn(() => {\n debounced.value = value.value;\n }, ms, options);\n watch(value, () => updater());\n return debounced;\n}\n\nfunction refDefault(source, defaultValue) {\n return computed({\n get() {\n var _a;\n return (_a = source.value) != null ? _a : defaultValue;\n },\n set(value) {\n source.value = value;\n }\n });\n}\n\nfunction useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnCancel = false) {\n return createFilterWrapper(\n throttleFilter(ms, trailing, leading, rejectOnCancel),\n fn\n );\n}\n\nfunction refThrottled(value, delay = 200, trailing = true, leading = true) {\n if (delay <= 0)\n return value;\n const throttled = ref(value.value);\n const updater = useThrottleFn(() => {\n throttled.value = value.value;\n }, delay, trailing, leading);\n watch(value, () => updater());\n return throttled;\n}\n\nfunction refWithControl(initial, options = {}) {\n let source = initial;\n let track;\n let trigger;\n const ref = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n return get();\n },\n set(v) {\n set(v);\n }\n };\n });\n function get(tracking = true) {\n if (tracking)\n track();\n return source;\n }\n function set(value, triggering = true) {\n var _a, _b;\n if (value === source)\n return;\n const old = source;\n if (((_a = options.onBeforeChange) == null ? void 0 : _a.call(options, value, old)) === false)\n return;\n source = value;\n (_b = options.onChanged) == null ? void 0 : _b.call(options, value, old);\n if (triggering)\n trigger();\n }\n const untrackedGet = () => get(false);\n const silentSet = (v) => set(v, false);\n const peek = () => get(false);\n const lay = (v) => set(v, false);\n return extendRef(\n ref,\n {\n get,\n set,\n untrackedGet,\n silentSet,\n peek,\n lay\n },\n { enumerable: true }\n );\n}\nconst controlledRef = refWithControl;\n\nfunction set(...args) {\n if (args.length === 2) {\n const [ref, value] = args;\n ref.value = value;\n }\n if (args.length === 3) {\n if (isVue2) {\n set$1(...args);\n } else {\n const [target, key, value] = args;\n target[key] = value;\n }\n }\n}\n\nfunction watchWithFilter(source, cb, options = {}) {\n const {\n eventFilter = bypassFilter,\n ...watchOptions\n } = options;\n return watch(\n source,\n createFilterWrapper(\n eventFilter,\n cb\n ),\n watchOptions\n );\n}\n\nfunction watchPausable(source, cb, options = {}) {\n const {\n eventFilter: filter,\n ...watchOptions\n } = options;\n const { eventFilter, pause, resume, isActive } = pausableFilter(filter);\n const stop = watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter\n }\n );\n return { stop, pause, resume, isActive };\n}\n\nfunction syncRef(left, right, ...[options]) {\n const {\n flush = \"sync\",\n deep = false,\n immediate = true,\n direction = \"both\",\n transform = {}\n } = options || {};\n const watchers = [];\n const transformLTR = \"ltr\" in transform && transform.ltr || ((v) => v);\n const transformRTL = \"rtl\" in transform && transform.rtl || ((v) => v);\n if (direction === \"both\" || direction === \"ltr\") {\n watchers.push(watchPausable(\n left,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n right.value = transformLTR(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n if (direction === \"both\" || direction === \"rtl\") {\n watchers.push(watchPausable(\n right,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n left.value = transformRTL(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n const stop = () => {\n watchers.forEach((w) => w.stop());\n };\n return stop;\n}\n\nfunction syncRefs(source, targets, options = {}) {\n const {\n flush = \"sync\",\n deep = false,\n immediate = true\n } = options;\n if (!Array.isArray(targets))\n targets = [targets];\n return watch(\n source,\n (newValue) => targets.forEach((target) => target.value = newValue),\n { flush, deep, immediate }\n );\n}\n\nfunction toRefs(objectRef, options = {}) {\n if (!isRef(objectRef))\n return toRefs$1(objectRef);\n const result = Array.isArray(objectRef.value) ? Array.from({ length: objectRef.value.length }) : {};\n for (const key in objectRef.value) {\n result[key] = customRef(() => ({\n get() {\n return objectRef.value[key];\n },\n set(v) {\n var _a;\n const replaceRef = (_a = toValue(options.replaceRef)) != null ? _a : true;\n if (replaceRef) {\n if (Array.isArray(objectRef.value)) {\n const copy = [...objectRef.value];\n copy[key] = v;\n objectRef.value = copy;\n } else {\n const newObject = { ...objectRef.value, [key]: v };\n Object.setPrototypeOf(newObject, Object.getPrototypeOf(objectRef.value));\n objectRef.value = newObject;\n }\n } else {\n objectRef.value[key] = v;\n }\n }\n }));\n }\n return result;\n}\n\nfunction tryOnBeforeMount(fn, sync = true, target) {\n const instance = getLifeCycleTarget(target);\n if (instance)\n onBeforeMount(fn, target);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\n\nfunction tryOnBeforeUnmount(fn, target) {\n const instance = getLifeCycleTarget(target);\n if (instance)\n onBeforeUnmount(fn, target);\n}\n\nfunction tryOnMounted(fn, sync = true, target) {\n const instance = getLifeCycleTarget();\n if (instance)\n onMounted(fn, target);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\n\nfunction tryOnUnmounted(fn, target) {\n const instance = getLifeCycleTarget(target);\n if (instance)\n onUnmounted(fn, target);\n}\n\nfunction createUntil(r, isNot = false) {\n function toMatch(condition, { flush = \"sync\", deep = false, timeout, throwOnTimeout } = {}) {\n let stop = null;\n const watcher = new Promise((resolve) => {\n stop = watch(\n r,\n (v) => {\n if (condition(v) !== isNot) {\n if (stop)\n stop();\n else\n nextTick(() => stop == null ? void 0 : stop());\n resolve(v);\n }\n },\n {\n flush,\n deep,\n immediate: true\n }\n );\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(\n promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => stop == null ? void 0 : stop())\n );\n }\n return Promise.race(promises);\n }\n function toBe(value, options) {\n if (!isRef(value))\n return toMatch((v) => v === value, options);\n const { flush = \"sync\", deep = false, timeout, throwOnTimeout } = options != null ? options : {};\n let stop = null;\n const watcher = new Promise((resolve) => {\n stop = watch(\n [r, value],\n ([v1, v2]) => {\n if (isNot !== (v1 === v2)) {\n if (stop)\n stop();\n else\n nextTick(() => stop == null ? void 0 : stop());\n resolve(v1);\n }\n },\n {\n flush,\n deep,\n immediate: true\n }\n );\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(\n promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => {\n stop == null ? void 0 : stop();\n return toValue(r);\n })\n );\n }\n return Promise.race(promises);\n }\n function toBeTruthy(options) {\n return toMatch((v) => Boolean(v), options);\n }\n function toBeNull(options) {\n return toBe(null, options);\n }\n function toBeUndefined(options) {\n return toBe(void 0, options);\n }\n function toBeNaN(options) {\n return toMatch(Number.isNaN, options);\n }\n function toContains(value, options) {\n return toMatch((v) => {\n const array = Array.from(v);\n return array.includes(value) || array.includes(toValue(value));\n }, options);\n }\n function changed(options) {\n return changedTimes(1, options);\n }\n function changedTimes(n = 1, options) {\n let count = -1;\n return toMatch(() => {\n count += 1;\n return count >= n;\n }, options);\n }\n if (Array.isArray(toValue(r))) {\n const instance = {\n toMatch,\n toContains,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n } else {\n const instance = {\n toMatch,\n toBe,\n toBeTruthy,\n toBeNull,\n toBeNaN,\n toBeUndefined,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n }\n}\nfunction until(r) {\n return createUntil(r);\n}\n\nfunction defaultComparator(value, othVal) {\n return value === othVal;\n}\nfunction useArrayDifference(...args) {\n var _a;\n const list = args[0];\n const values = args[1];\n let compareFn = (_a = args[2]) != null ? _a : defaultComparator;\n if (typeof compareFn === \"string\") {\n const key = compareFn;\n compareFn = (value, othVal) => value[key] === othVal[key];\n }\n return computed(() => toValue(list).filter((x) => toValue(values).findIndex((y) => compareFn(x, y)) === -1));\n}\n\nfunction useArrayEvery(list, fn) {\n return computed(() => toValue(list).every((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction useArrayFilter(list, fn) {\n return computed(() => toValue(list).map((i) => toValue(i)).filter(fn));\n}\n\nfunction useArrayFind(list, fn) {\n return computed(() => toValue(\n toValue(list).find((element, index, array) => fn(toValue(element), index, array))\n ));\n}\n\nfunction useArrayFindIndex(list, fn) {\n return computed(() => toValue(list).findIndex((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction findLast(arr, cb) {\n let index = arr.length;\n while (index-- > 0) {\n if (cb(arr[index], index, arr))\n return arr[index];\n }\n return void 0;\n}\nfunction useArrayFindLast(list, fn) {\n return computed(() => toValue(\n !Array.prototype.findLast ? findLast(toValue(list), (element, index, array) => fn(toValue(element), index, array)) : toValue(list).findLast((element, index, array) => fn(toValue(element), index, array))\n ));\n}\n\nfunction isArrayIncludesOptions(obj) {\n return isObject(obj) && containsProp(obj, \"formIndex\", \"comparator\");\n}\nfunction useArrayIncludes(...args) {\n var _a;\n const list = args[0];\n const value = args[1];\n let comparator = args[2];\n let formIndex = 0;\n if (isArrayIncludesOptions(comparator)) {\n formIndex = (_a = comparator.fromIndex) != null ? _a : 0;\n comparator = comparator.comparator;\n }\n if (typeof comparator === \"string\") {\n const key = comparator;\n comparator = (element, value2) => element[key] === toValue(value2);\n }\n comparator = comparator != null ? comparator : (element, value2) => element === toValue(value2);\n return computed(() => toValue(list).slice(formIndex).some((element, index, array) => comparator(\n toValue(element),\n toValue(value),\n index,\n toValue(array)\n )));\n}\n\nfunction useArrayJoin(list, separator) {\n return computed(() => toValue(list).map((i) => toValue(i)).join(toValue(separator)));\n}\n\nfunction useArrayMap(list, fn) {\n return computed(() => toValue(list).map((i) => toValue(i)).map(fn));\n}\n\nfunction useArrayReduce(list, reducer, ...args) {\n const reduceCallback = (sum, value, index) => reducer(toValue(sum), toValue(value), index);\n return computed(() => {\n const resolved = toValue(list);\n return args.length ? resolved.reduce(reduceCallback, toValue(args[0])) : resolved.reduce(reduceCallback);\n });\n}\n\nfunction useArraySome(list, fn) {\n return computed(() => toValue(list).some((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction uniq(array) {\n return Array.from(new Set(array));\n}\nfunction uniqueElementsBy(array, fn) {\n return array.reduce((acc, v) => {\n if (!acc.some((x) => fn(v, x, array)))\n acc.push(v);\n return acc;\n }, []);\n}\nfunction useArrayUnique(list, compareFn) {\n return computed(() => {\n const resolvedList = toValue(list).map((element) => toValue(element));\n return compareFn ? uniqueElementsBy(resolvedList, compareFn) : uniq(resolvedList);\n });\n}\n\nfunction useCounter(initialValue = 0, options = {}) {\n let _initialValue = unref(initialValue);\n const count = ref(initialValue);\n const {\n max = Number.POSITIVE_INFINITY,\n min = Number.NEGATIVE_INFINITY\n } = options;\n const inc = (delta = 1) => count.value = Math.max(Math.min(max, count.value + delta), min);\n const dec = (delta = 1) => count.value = Math.min(Math.max(min, count.value - delta), max);\n const get = () => count.value;\n const set = (val) => count.value = Math.max(min, Math.min(max, val));\n const reset = (val = _initialValue) => {\n _initialValue = val;\n return set(val);\n };\n return { count, inc, dec, get, set, reset };\n}\n\nconst REGEX_PARSE = /^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[T\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/i;\nconst REGEX_FORMAT = /[YMDHhms]o|\\[([^\\]]+)\\]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g;\nfunction defaultMeridiem(hours, minutes, isLowercase, hasPeriod) {\n let m = hours < 12 ? \"AM\" : \"PM\";\n if (hasPeriod)\n m = m.split(\"\").reduce((acc, curr) => acc += `${curr}.`, \"\");\n return isLowercase ? m.toLowerCase() : m;\n}\nfunction formatOrdinal(num) {\n const suffixes = [\"th\", \"st\", \"nd\", \"rd\"];\n const v = num % 100;\n return num + (suffixes[(v - 20) % 10] || suffixes[v] || suffixes[0]);\n}\nfunction formatDate(date, formatStr, options = {}) {\n var _a;\n const years = date.getFullYear();\n const month = date.getMonth();\n const days = date.getDate();\n const hours = date.getHours();\n const minutes = date.getMinutes();\n const seconds = date.getSeconds();\n const milliseconds = date.getMilliseconds();\n const day = date.getDay();\n const meridiem = (_a = options.customMeridiem) != null ? _a : defaultMeridiem;\n const matches = {\n Yo: () => formatOrdinal(years),\n YY: () => String(years).slice(-2),\n YYYY: () => years,\n M: () => month + 1,\n Mo: () => formatOrdinal(month + 1),\n MM: () => `${month + 1}`.padStart(2, \"0\"),\n MMM: () => date.toLocaleDateString(toValue(options.locales), { month: \"short\" }),\n MMMM: () => date.toLocaleDateString(toValue(options.locales), { month: \"long\" }),\n D: () => String(days),\n Do: () => formatOrdinal(days),\n DD: () => `${days}`.padStart(2, \"0\"),\n H: () => String(hours),\n Ho: () => formatOrdinal(hours),\n HH: () => `${hours}`.padStart(2, \"0\"),\n h: () => `${hours % 12 || 12}`.padStart(1, \"0\"),\n ho: () => formatOrdinal(hours % 12 || 12),\n hh: () => `${hours % 12 || 12}`.padStart(2, \"0\"),\n m: () => String(minutes),\n mo: () => formatOrdinal(minutes),\n mm: () => `${minutes}`.padStart(2, \"0\"),\n s: () => String(seconds),\n so: () => formatOrdinal(seconds),\n ss: () => `${seconds}`.padStart(2, \"0\"),\n SSS: () => `${milliseconds}`.padStart(3, \"0\"),\n d: () => day,\n dd: () => date.toLocaleDateString(toValue(options.locales), { weekday: \"narrow\" }),\n ddd: () => date.toLocaleDateString(toValue(options.locales), { weekday: \"short\" }),\n dddd: () => date.toLocaleDateString(toValue(options.locales), { weekday: \"long\" }),\n A: () => meridiem(hours, minutes),\n AA: () => meridiem(hours, minutes, false, true),\n a: () => meridiem(hours, minutes, true),\n aa: () => meridiem(hours, minutes, true, true)\n };\n return formatStr.replace(REGEX_FORMAT, (match, $1) => {\n var _a2, _b;\n return (_b = $1 != null ? $1 : (_a2 = matches[match]) == null ? void 0 : _a2.call(matches)) != null ? _b : match;\n });\n}\nfunction normalizeDate(date) {\n if (date === null)\n return new Date(Number.NaN);\n if (date === void 0)\n return /* @__PURE__ */ new Date();\n if (date instanceof Date)\n return new Date(date);\n if (typeof date === \"string\" && !/Z$/i.test(date)) {\n const d = date.match(REGEX_PARSE);\n if (d) {\n const m = d[2] - 1 || 0;\n const ms = (d[7] || \"0\").substring(0, 3);\n return new Date(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms);\n }\n }\n return new Date(date);\n}\nfunction useDateFormat(date, formatStr = \"HH:mm:ss\", options = {}) {\n return computed(() => formatDate(normalizeDate(toValue(date)), toValue(formatStr), options));\n}\n\nfunction useIntervalFn(cb, interval = 1e3, options = {}) {\n const {\n immediate = true,\n immediateCallback = false\n } = options;\n let timer = null;\n const isActive = ref(false);\n function clean() {\n if (timer) {\n clearInterval(timer);\n timer = null;\n }\n }\n function pause() {\n isActive.value = false;\n clean();\n }\n function resume() {\n const intervalValue = toValue(interval);\n if (intervalValue <= 0)\n return;\n isActive.value = true;\n if (immediateCallback)\n cb();\n clean();\n timer = setInterval(cb, intervalValue);\n }\n if (immediate && isClient)\n resume();\n if (isRef(interval) || typeof interval === \"function\") {\n const stopWatch = watch(interval, () => {\n if (isActive.value && isClient)\n resume();\n });\n tryOnScopeDispose(stopWatch);\n }\n tryOnScopeDispose(pause);\n return {\n isActive,\n pause,\n resume\n };\n}\n\nfunction useInterval(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n immediate = true,\n callback\n } = options;\n const counter = ref(0);\n const update = () => counter.value += 1;\n const reset = () => {\n counter.value = 0;\n };\n const controls = useIntervalFn(\n callback ? () => {\n update();\n callback(counter.value);\n } : update,\n interval,\n { immediate }\n );\n if (exposeControls) {\n return {\n counter,\n reset,\n ...controls\n };\n } else {\n return counter;\n }\n}\n\nfunction useLastChanged(source, options = {}) {\n var _a;\n const ms = ref((_a = options.initialValue) != null ? _a : null);\n watch(\n source,\n () => ms.value = timestamp(),\n options\n );\n return ms;\n}\n\nfunction useTimeoutFn(cb, interval, options = {}) {\n const {\n immediate = true\n } = options;\n const isPending = ref(false);\n let timer = null;\n function clear() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n function stop() {\n isPending.value = false;\n clear();\n }\n function start(...args) {\n clear();\n isPending.value = true;\n timer = setTimeout(() => {\n isPending.value = false;\n timer = null;\n cb(...args);\n }, toValue(interval));\n }\n if (immediate) {\n isPending.value = true;\n if (isClient)\n start();\n }\n tryOnScopeDispose(stop);\n return {\n isPending: readonly(isPending),\n start,\n stop\n };\n}\n\nfunction useTimeout(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n callback\n } = options;\n const controls = useTimeoutFn(\n callback != null ? callback : noop,\n interval,\n options\n );\n const ready = computed(() => !controls.isPending.value);\n if (exposeControls) {\n return {\n ready,\n ...controls\n };\n } else {\n return ready;\n }\n}\n\nfunction useToNumber(value, options = {}) {\n const {\n method = \"parseFloat\",\n radix,\n nanToZero\n } = options;\n return computed(() => {\n let resolved = toValue(value);\n if (typeof resolved === \"string\")\n resolved = Number[method](resolved, radix);\n if (nanToZero && Number.isNaN(resolved))\n resolved = 0;\n return resolved;\n });\n}\n\nfunction useToString(value) {\n return computed(() => `${toValue(value)}`);\n}\n\nfunction useToggle(initialValue = false, options = {}) {\n const {\n truthyValue = true,\n falsyValue = false\n } = options;\n const valueIsRef = isRef(initialValue);\n const _value = ref(initialValue);\n function toggle(value) {\n if (arguments.length) {\n _value.value = value;\n return _value.value;\n } else {\n const truthy = toValue(truthyValue);\n _value.value = _value.value === truthy ? toValue(falsyValue) : truthy;\n return _value.value;\n }\n }\n if (valueIsRef)\n return toggle;\n else\n return [_value, toggle];\n}\n\nfunction watchArray(source, cb, options) {\n let oldList = (options == null ? void 0 : options.immediate) ? [] : [...source instanceof Function ? source() : Array.isArray(source) ? source : toValue(source)];\n return watch(source, (newList, _, onCleanup) => {\n const oldListRemains = Array.from({ length: oldList.length });\n const added = [];\n for (const obj of newList) {\n let found = false;\n for (let i = 0; i < oldList.length; i++) {\n if (!oldListRemains[i] && obj === oldList[i]) {\n oldListRemains[i] = true;\n found = true;\n break;\n }\n }\n if (!found)\n added.push(obj);\n }\n const removed = oldList.filter((_2, i) => !oldListRemains[i]);\n cb(newList, oldList, added, removed, onCleanup);\n oldList = [...newList];\n }, options);\n}\n\nfunction watchAtMost(source, cb, options) {\n const {\n count,\n ...watchOptions\n } = options;\n const current = ref(0);\n const stop = watchWithFilter(\n source,\n (...args) => {\n current.value += 1;\n if (current.value >= toValue(count))\n nextTick(() => stop());\n cb(...args);\n },\n watchOptions\n );\n return { count: current, stop };\n}\n\nfunction watchDebounced(source, cb, options = {}) {\n const {\n debounce = 0,\n maxWait = void 0,\n ...watchOptions\n } = options;\n return watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter: debounceFilter(debounce, { maxWait })\n }\n );\n}\n\nfunction watchDeep(source, cb, options) {\n return watch(\n source,\n cb,\n {\n ...options,\n deep: true\n }\n );\n}\n\nfunction watchIgnorable(source, cb, options = {}) {\n const {\n eventFilter = bypassFilter,\n ...watchOptions\n } = options;\n const filteredCb = createFilterWrapper(\n eventFilter,\n cb\n );\n let ignoreUpdates;\n let ignorePrevAsyncUpdates;\n let stop;\n if (watchOptions.flush === \"sync\") {\n const ignore = ref(false);\n ignorePrevAsyncUpdates = () => {\n };\n ignoreUpdates = (updater) => {\n ignore.value = true;\n updater();\n ignore.value = false;\n };\n stop = watch(\n source,\n (...args) => {\n if (!ignore.value)\n filteredCb(...args);\n },\n watchOptions\n );\n } else {\n const disposables = [];\n const ignoreCounter = ref(0);\n const syncCounter = ref(0);\n ignorePrevAsyncUpdates = () => {\n ignoreCounter.value = syncCounter.value;\n };\n disposables.push(\n watch(\n source,\n () => {\n syncCounter.value++;\n },\n { ...watchOptions, flush: \"sync\" }\n )\n );\n ignoreUpdates = (updater) => {\n const syncCounterPrev = syncCounter.value;\n updater();\n ignoreCounter.value += syncCounter.value - syncCounterPrev;\n };\n disposables.push(\n watch(\n source,\n (...args) => {\n const ignore = ignoreCounter.value > 0 && ignoreCounter.value === syncCounter.value;\n ignoreCounter.value = 0;\n syncCounter.value = 0;\n if (ignore)\n return;\n filteredCb(...args);\n },\n watchOptions\n )\n );\n stop = () => {\n disposables.forEach((fn) => fn());\n };\n }\n return { stop, ignoreUpdates, ignorePrevAsyncUpdates };\n}\n\nfunction watchImmediate(source, cb, options) {\n return watch(\n source,\n cb,\n {\n ...options,\n immediate: true\n }\n );\n}\n\nfunction watchOnce(source, cb, options) {\n const stop = watch(source, (...args) => {\n nextTick(() => stop());\n return cb(...args);\n }, options);\n return stop;\n}\n\nfunction watchThrottled(source, cb, options = {}) {\n const {\n throttle = 0,\n trailing = true,\n leading = true,\n ...watchOptions\n } = options;\n return watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter: throttleFilter(throttle, trailing, leading)\n }\n );\n}\n\nfunction watchTriggerable(source, cb, options = {}) {\n let cleanupFn;\n function onEffect() {\n if (!cleanupFn)\n return;\n const fn = cleanupFn;\n cleanupFn = void 0;\n fn();\n }\n function onCleanup(callback) {\n cleanupFn = callback;\n }\n const _cb = (value, oldValue) => {\n onEffect();\n return cb(value, oldValue, onCleanup);\n };\n const res = watchIgnorable(source, _cb, options);\n const { ignoreUpdates } = res;\n const trigger = () => {\n let res2;\n ignoreUpdates(() => {\n res2 = _cb(getWatchSources(source), getOldValue(source));\n });\n return res2;\n };\n return {\n ...res,\n trigger\n };\n}\nfunction getWatchSources(sources) {\n if (isReactive(sources))\n return sources;\n if (Array.isArray(sources))\n return sources.map((item) => toValue(item));\n return toValue(sources);\n}\nfunction getOldValue(source) {\n return Array.isArray(source) ? source.map(() => void 0) : void 0;\n}\n\nfunction whenever(source, cb, options) {\n const stop = watch(\n source,\n (v, ov, onInvalidate) => {\n if (v) {\n if (options == null ? void 0 : options.once)\n nextTick(() => stop());\n cb(v, ov, onInvalidate);\n }\n },\n {\n ...options,\n once: false\n }\n );\n return stop;\n}\n\nexport { assert, refAutoReset as autoResetRef, bypassFilter, camelize, clamp, computedEager, computedWithControl, containsProp, computedWithControl as controlledComputed, controlledRef, createEventHook, createFilterWrapper, createGlobalState, createInjectionState, reactify as createReactiveFn, createSharedComposable, createSingletonPromise, debounceFilter, refDebounced as debouncedRef, watchDebounced as debouncedWatch, directiveHooks, computedEager as eagerComputed, extendRef, formatDate, get, getLifeCycleTarget, hasOwn, hyphenate, identity, watchIgnorable as ignorableWatch, increaseWithUnit, injectLocal, invoke, isClient, isDef, isDefined, isIOS, isObject, isWorker, makeDestructurable, noop, normalizeDate, notNullish, now, objectEntries, objectOmit, objectPick, pausableFilter, watchPausable as pausableWatch, promiseTimeout, provideLocal, rand, reactify, reactifyObject, reactiveComputed, reactiveOmit, reactivePick, refAutoReset, refDebounced, refDefault, refThrottled, refWithControl, resolveRef, resolveUnref, set, syncRef, syncRefs, throttleFilter, refThrottled as throttledRef, watchThrottled as throttledWatch, timestamp, toReactive, toRef, toRefs, toValue, tryOnBeforeMount, tryOnBeforeUnmount, tryOnMounted, tryOnScopeDispose, tryOnUnmounted, until, useArrayDifference, useArrayEvery, useArrayFilter, useArrayFind, useArrayFindIndex, useArrayFindLast, useArrayIncludes, useArrayJoin, useArrayMap, useArrayReduce, useArraySome, useArrayUnique, useCounter, useDateFormat, refDebounced as useDebounce, useDebounceFn, useInterval, useIntervalFn, useLastChanged, refThrottled as useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useToNumber, useToString, useToggle, watchArray, watchAtMost, watchDebounced, watchDeep, watchIgnorable, watchImmediate, watchOnce, watchPausable, watchThrottled, watchTriggerable, watchWithFilter, whenever };\n","import { noop, makeDestructurable, camelize, toValue, isClient, isObject, tryOnScopeDispose, isIOS, tryOnMounted, notNullish, objectOmit, promiseTimeout, until, increaseWithUnit, objectEntries, createSingletonPromise, useTimeoutFn, pausableWatch, toRef, createEventHook, computedWithControl, timestamp, pausableFilter, watchIgnorable, debounceFilter, createFilterWrapper, bypassFilter, toRefs, useIntervalFn, containsProp, hasOwn, throttleFilter, useDebounceFn, useThrottleFn, tryOnUnmounted, clamp, syncRef, objectPick, watchWithFilter, tryOnBeforeUnmount, identity, isDef, whenever, isWorker } from '@vueuse/shared';\nexport * from '@vueuse/shared';\nimport { isRef, ref, shallowRef, watchEffect, computed, inject, isVue3, version, defineComponent, h, TransitionGroup, shallowReactive, Fragment, watch, getCurrentInstance, customRef, onUpdated, onMounted, isVue2, readonly, reactive, toRaw, nextTick, markRaw, unref, getCurrentScope, set, del, isReadonly, onBeforeUpdate } from 'vue-demi';\n\nfunction computedAsync(evaluationCallback, initialState, optionsOrRef) {\n let options;\n if (isRef(optionsOrRef)) {\n options = {\n evaluating: optionsOrRef\n };\n } else {\n options = optionsOrRef || {};\n }\n const {\n lazy = false,\n evaluating = void 0,\n shallow = true,\n onError = noop\n } = options;\n const started = ref(!lazy);\n const current = shallow ? shallowRef(initialState) : ref(initialState);\n let counter = 0;\n watchEffect(async (onInvalidate) => {\n if (!started.value)\n return;\n counter++;\n const counterAtBeginning = counter;\n let hasFinished = false;\n if (evaluating) {\n Promise.resolve().then(() => {\n evaluating.value = true;\n });\n }\n try {\n const result = await evaluationCallback((cancelCallback) => {\n onInvalidate(() => {\n if (evaluating)\n evaluating.value = false;\n if (!hasFinished)\n cancelCallback();\n });\n });\n if (counterAtBeginning === counter)\n current.value = result;\n } catch (e) {\n onError(e);\n } finally {\n if (evaluating && counterAtBeginning === counter)\n evaluating.value = false;\n hasFinished = true;\n }\n });\n if (lazy) {\n return computed(() => {\n started.value = true;\n return current.value;\n });\n } else {\n return current;\n }\n}\n\nfunction computedInject(key, options, defaultSource, treatDefaultAsFactory) {\n let source = inject(key);\n if (defaultSource)\n source = inject(key, defaultSource);\n if (treatDefaultAsFactory)\n source = inject(key, defaultSource, treatDefaultAsFactory);\n if (typeof options === \"function\") {\n return computed((ctx) => options(source, ctx));\n } else {\n return computed({\n get: (ctx) => options.get(source, ctx),\n set: options.set\n });\n }\n}\n\nfunction createReusableTemplate(options = {}) {\n if (!isVue3 && !version.startsWith(\"2.7.\")) {\n if (process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] createReusableTemplate only works in Vue 2.7 or above.\");\n return;\n }\n const {\n inheritAttrs = true\n } = options;\n const render = shallowRef();\n const define = /* #__PURE__ */ defineComponent({\n setup(_, { slots }) {\n return () => {\n render.value = slots.default;\n };\n }\n });\n const reuse = /* #__PURE__ */ defineComponent({\n inheritAttrs,\n setup(_, { attrs, slots }) {\n return () => {\n var _a;\n if (!render.value && process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] Failed to find the definition of reusable template\");\n const vnode = (_a = render.value) == null ? void 0 : _a.call(render, { ...keysToCamelKebabCase(attrs), $slots: slots });\n return inheritAttrs && (vnode == null ? void 0 : vnode.length) === 1 ? vnode[0] : vnode;\n };\n }\n });\n return makeDestructurable(\n { define, reuse },\n [define, reuse]\n );\n}\nfunction keysToCamelKebabCase(obj) {\n const newObj = {};\n for (const key in obj)\n newObj[camelize(key)] = obj[key];\n return newObj;\n}\n\nfunction createTemplatePromise(options = {}) {\n if (!isVue3) {\n if (process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] createTemplatePromise only works in Vue 3 or above.\");\n return;\n }\n let index = 0;\n const instances = ref([]);\n function create(...args) {\n const props = shallowReactive({\n key: index++,\n args,\n promise: void 0,\n resolve: () => {\n },\n reject: () => {\n },\n isResolving: false,\n options\n });\n instances.value.push(props);\n props.promise = new Promise((_resolve, _reject) => {\n props.resolve = (v) => {\n props.isResolving = true;\n return _resolve(v);\n };\n props.reject = _reject;\n }).finally(() => {\n props.promise = void 0;\n const index2 = instances.value.indexOf(props);\n if (index2 !== -1)\n instances.value.splice(index2, 1);\n });\n return props.promise;\n }\n function start(...args) {\n if (options.singleton && instances.value.length > 0)\n return instances.value[0].promise;\n return create(...args);\n }\n const component = /* #__PURE__ */ defineComponent((_, { slots }) => {\n const renderList = () => instances.value.map((props) => {\n var _a;\n return h(Fragment, { key: props.key }, (_a = slots.default) == null ? void 0 : _a.call(slots, props));\n });\n if (options.transition)\n return () => h(TransitionGroup, options.transition, renderList);\n return renderList;\n });\n component.start = start;\n return component;\n}\n\nfunction createUnrefFn(fn) {\n return function(...args) {\n return fn.apply(this, args.map((i) => toValue(i)));\n };\n}\n\nconst defaultWindow = isClient ? window : void 0;\nconst defaultDocument = isClient ? window.document : void 0;\nconst defaultNavigator = isClient ? window.navigator : void 0;\nconst defaultLocation = isClient ? window.location : void 0;\n\nfunction unrefElement(elRef) {\n var _a;\n const plain = toValue(elRef);\n return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;\n}\n\nfunction useEventListener(...args) {\n let target;\n let events;\n let listeners;\n let options;\n if (typeof args[0] === \"string\" || Array.isArray(args[0])) {\n [events, listeners, options] = args;\n target = defaultWindow;\n } else {\n [target, events, listeners, options] = args;\n }\n if (!target)\n return noop;\n if (!Array.isArray(events))\n events = [events];\n if (!Array.isArray(listeners))\n listeners = [listeners];\n const cleanups = [];\n const cleanup = () => {\n cleanups.forEach((fn) => fn());\n cleanups.length = 0;\n };\n const register = (el, event, listener, options2) => {\n el.addEventListener(event, listener, options2);\n return () => el.removeEventListener(event, listener, options2);\n };\n const stopWatch = watch(\n () => [unrefElement(target), toValue(options)],\n ([el, options2]) => {\n cleanup();\n if (!el)\n return;\n const optionsClone = isObject(options2) ? { ...options2 } : options2;\n cleanups.push(\n ...events.flatMap((event) => {\n return listeners.map((listener) => register(el, event, listener, optionsClone));\n })\n );\n },\n { immediate: true, flush: \"post\" }\n );\n const stop = () => {\n stopWatch();\n cleanup();\n };\n tryOnScopeDispose(stop);\n return stop;\n}\n\nlet _iOSWorkaround = false;\nfunction onClickOutside(target, handler, options = {}) {\n const { window = defaultWindow, ignore = [], capture = true, detectIframe = false } = options;\n if (!window)\n return noop;\n if (isIOS && !_iOSWorkaround) {\n _iOSWorkaround = true;\n Array.from(window.document.body.children).forEach((el) => el.addEventListener(\"click\", noop));\n window.document.documentElement.addEventListener(\"click\", noop);\n }\n let shouldListen = true;\n const shouldIgnore = (event) => {\n return toValue(ignore).some((target2) => {\n if (typeof target2 === \"string\") {\n return Array.from(window.document.querySelectorAll(target2)).some((el) => el === event.target || event.composedPath().includes(el));\n } else {\n const el = unrefElement(target2);\n return el && (event.target === el || event.composedPath().includes(el));\n }\n });\n };\n const listener = (event) => {\n const el = unrefElement(target);\n if (!el || el === event.target || event.composedPath().includes(el))\n return;\n if (event.detail === 0)\n shouldListen = !shouldIgnore(event);\n if (!shouldListen) {\n shouldListen = true;\n return;\n }\n handler(event);\n };\n let isProcessingClick = false;\n const cleanup = [\n useEventListener(window, \"click\", (event) => {\n if (!isProcessingClick) {\n isProcessingClick = true;\n setTimeout(() => {\n isProcessingClick = false;\n }, 0);\n listener(event);\n }\n }, { passive: true, capture }),\n useEventListener(window, \"pointerdown\", (e) => {\n const el = unrefElement(target);\n shouldListen = !shouldIgnore(e) && !!(el && !e.composedPath().includes(el));\n }, { passive: true }),\n detectIframe && useEventListener(window, \"blur\", (event) => {\n setTimeout(() => {\n var _a;\n const el = unrefElement(target);\n if (((_a = window.document.activeElement) == null ? void 0 : _a.tagName) === \"IFRAME\" && !(el == null ? void 0 : el.contains(window.document.activeElement))) {\n handler(event);\n }\n }, 0);\n })\n ].filter(Boolean);\n const stop = () => cleanup.forEach((fn) => fn());\n return stop;\n}\n\nfunction createKeyPredicate(keyFilter) {\n if (typeof keyFilter === \"function\")\n return keyFilter;\n else if (typeof keyFilter === \"string\")\n return (event) => event.key === keyFilter;\n else if (Array.isArray(keyFilter))\n return (event) => keyFilter.includes(event.key);\n return () => true;\n}\nfunction onKeyStroke(...args) {\n let key;\n let handler;\n let options = {};\n if (args.length === 3) {\n key = args[0];\n handler = args[1];\n options = args[2];\n } else if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n key = true;\n handler = args[0];\n options = args[1];\n } else {\n key = args[0];\n handler = args[1];\n }\n } else {\n key = true;\n handler = args[0];\n }\n const {\n target = defaultWindow,\n eventName = \"keydown\",\n passive = false,\n dedupe = false\n } = options;\n const predicate = createKeyPredicate(key);\n const listener = (e) => {\n if (e.repeat && toValue(dedupe))\n return;\n if (predicate(e))\n handler(e);\n };\n return useEventListener(target, eventName, listener, passive);\n}\nfunction onKeyDown(key, handler, options = {}) {\n return onKeyStroke(key, handler, { ...options, eventName: \"keydown\" });\n}\nfunction onKeyPressed(key, handler, options = {}) {\n return onKeyStroke(key, handler, { ...options, eventName: \"keypress\" });\n}\nfunction onKeyUp(key, handler, options = {}) {\n return onKeyStroke(key, handler, { ...options, eventName: \"keyup\" });\n}\n\nconst DEFAULT_DELAY = 500;\nconst DEFAULT_THRESHOLD = 10;\nfunction onLongPress(target, handler, options) {\n var _a, _b;\n const elementRef = computed(() => unrefElement(target));\n let timeout;\n let posStart;\n let startTimestamp;\n let hasLongPressed = false;\n function clear() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n posStart = void 0;\n startTimestamp = void 0;\n hasLongPressed = false;\n }\n function onRelease(ev) {\n var _a2, _b2, _c;\n const [_startTimestamp, _posStart, _hasLongPressed] = [startTimestamp, posStart, hasLongPressed];\n clear();\n if (!(options == null ? void 0 : options.onMouseUp) || !_posStart || !_startTimestamp)\n return;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n const dx = ev.x - _posStart.x;\n const dy = ev.y - _posStart.y;\n const distance = Math.sqrt(dx * dx + dy * dy);\n options.onMouseUp(ev.timeStamp - _startTimestamp, distance, _hasLongPressed);\n }\n function onDown(ev) {\n var _a2, _b2, _c, _d;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n clear();\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n posStart = {\n x: ev.x,\n y: ev.y\n };\n startTimestamp = ev.timeStamp;\n timeout = setTimeout(\n () => {\n hasLongPressed = true;\n handler(ev);\n },\n (_d = options == null ? void 0 : options.delay) != null ? _d : DEFAULT_DELAY\n );\n }\n function onMove(ev) {\n var _a2, _b2, _c, _d;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n if (!posStart || (options == null ? void 0 : options.distanceThreshold) === false)\n return;\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n const dx = ev.x - posStart.x;\n const dy = ev.y - posStart.y;\n const distance = Math.sqrt(dx * dx + dy * dy);\n if (distance >= ((_d = options == null ? void 0 : options.distanceThreshold) != null ? _d : DEFAULT_THRESHOLD))\n clear();\n }\n const listenerOptions = {\n capture: (_a = options == null ? void 0 : options.modifiers) == null ? void 0 : _a.capture,\n once: (_b = options == null ? void 0 : options.modifiers) == null ? void 0 : _b.once\n };\n const cleanup = [\n useEventListener(elementRef, \"pointerdown\", onDown, listenerOptions),\n useEventListener(elementRef, \"pointermove\", onMove, listenerOptions),\n useEventListener(elementRef, [\"pointerup\", \"pointerleave\"], onRelease, listenerOptions)\n ];\n const stop = () => cleanup.forEach((fn) => fn());\n return stop;\n}\n\nfunction isFocusedElementEditable() {\n const { activeElement, body } = document;\n if (!activeElement)\n return false;\n if (activeElement === body)\n return false;\n switch (activeElement.tagName) {\n case \"INPUT\":\n case \"TEXTAREA\":\n return true;\n }\n return activeElement.hasAttribute(\"contenteditable\");\n}\nfunction isTypedCharValid({\n keyCode,\n metaKey,\n ctrlKey,\n altKey\n}) {\n if (metaKey || ctrlKey || altKey)\n return false;\n if (keyCode >= 48 && keyCode <= 57)\n return true;\n if (keyCode >= 65 && keyCode <= 90)\n return true;\n if (keyCode >= 97 && keyCode <= 122)\n return true;\n return false;\n}\nfunction onStartTyping(callback, options = {}) {\n const { document: document2 = defaultDocument } = options;\n const keydown = (event) => {\n if (!isFocusedElementEditable() && isTypedCharValid(event)) {\n callback(event);\n }\n };\n if (document2)\n useEventListener(document2, \"keydown\", keydown, { passive: true });\n}\n\nfunction templateRef(key, initialValue = null) {\n const instance = getCurrentInstance();\n let _trigger = () => {\n };\n const element = customRef((track, trigger) => {\n _trigger = trigger;\n return {\n get() {\n var _a, _b;\n track();\n return (_b = (_a = instance == null ? void 0 : instance.proxy) == null ? void 0 : _a.$refs[key]) != null ? _b : initialValue;\n },\n set() {\n }\n };\n });\n tryOnMounted(_trigger);\n onUpdated(_trigger);\n return element;\n}\n\nfunction useMounted() {\n const isMounted = ref(false);\n const instance = getCurrentInstance();\n if (instance) {\n onMounted(() => {\n isMounted.value = true;\n }, isVue2 ? void 0 : instance);\n }\n return isMounted;\n}\n\nfunction useSupported(callback) {\n const isMounted = useMounted();\n return computed(() => {\n isMounted.value;\n return Boolean(callback());\n });\n}\n\nfunction useMutationObserver(target, callback, options = {}) {\n const { window = defaultWindow, ...mutationOptions } = options;\n let observer;\n const isSupported = useSupported(() => window && \"MutationObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const targets = computed(() => {\n const value = toValue(target);\n const items = (Array.isArray(value) ? value : [value]).map(unrefElement).filter(notNullish);\n return new Set(items);\n });\n const stopWatch = watch(\n () => targets.value,\n (targets2) => {\n cleanup();\n if (isSupported.value && targets2.size) {\n observer = new MutationObserver(callback);\n targets2.forEach((el) => observer.observe(el, mutationOptions));\n }\n },\n { immediate: true, flush: \"post\" }\n );\n const takeRecords = () => {\n return observer == null ? void 0 : observer.takeRecords();\n };\n const stop = () => {\n stopWatch();\n cleanup();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop,\n takeRecords\n };\n}\n\nfunction useActiveElement(options = {}) {\n var _a;\n const {\n window = defaultWindow,\n deep = true,\n triggerOnRemoval = false\n } = options;\n const document = (_a = options.document) != null ? _a : window == null ? void 0 : window.document;\n const getDeepActiveElement = () => {\n var _a2;\n let element = document == null ? void 0 : document.activeElement;\n if (deep) {\n while (element == null ? void 0 : element.shadowRoot)\n element = (_a2 = element == null ? void 0 : element.shadowRoot) == null ? void 0 : _a2.activeElement;\n }\n return element;\n };\n const activeElement = ref();\n const trigger = () => {\n activeElement.value = getDeepActiveElement();\n };\n if (window) {\n useEventListener(window, \"blur\", (event) => {\n if (event.relatedTarget !== null)\n return;\n trigger();\n }, true);\n useEventListener(window, \"focus\", trigger, true);\n }\n if (triggerOnRemoval) {\n useMutationObserver(document, (mutations) => {\n mutations.filter((m) => m.removedNodes.length).map((n) => Array.from(n.removedNodes)).flat().forEach((node) => {\n if (node === activeElement.value)\n trigger();\n });\n }, {\n childList: true,\n subtree: true\n });\n }\n trigger();\n return activeElement;\n}\n\nfunction useRafFn(fn, options = {}) {\n const {\n immediate = true,\n fpsLimit = void 0,\n window = defaultWindow\n } = options;\n const isActive = ref(false);\n const intervalLimit = fpsLimit ? 1e3 / fpsLimit : null;\n let previousFrameTimestamp = 0;\n let rafId = null;\n function loop(timestamp) {\n if (!isActive.value || !window)\n return;\n if (!previousFrameTimestamp)\n previousFrameTimestamp = timestamp;\n const delta = timestamp - previousFrameTimestamp;\n if (intervalLimit && delta < intervalLimit) {\n rafId = window.requestAnimationFrame(loop);\n return;\n }\n previousFrameTimestamp = timestamp;\n fn({ delta, timestamp });\n rafId = window.requestAnimationFrame(loop);\n }\n function resume() {\n if (!isActive.value && window) {\n isActive.value = true;\n previousFrameTimestamp = 0;\n rafId = window.requestAnimationFrame(loop);\n }\n }\n function pause() {\n isActive.value = false;\n if (rafId != null && window) {\n window.cancelAnimationFrame(rafId);\n rafId = null;\n }\n }\n if (immediate)\n resume();\n tryOnScopeDispose(pause);\n return {\n isActive: readonly(isActive),\n pause,\n resume\n };\n}\n\nfunction useAnimate(target, keyframes, options) {\n let config;\n let animateOptions;\n if (isObject(options)) {\n config = options;\n animateOptions = objectOmit(options, [\"window\", \"immediate\", \"commitStyles\", \"persist\", \"onReady\", \"onError\"]);\n } else {\n config = { duration: options };\n animateOptions = options;\n }\n const {\n window = defaultWindow,\n immediate = true,\n commitStyles,\n persist,\n playbackRate: _playbackRate = 1,\n onReady,\n onError = (e) => {\n console.error(e);\n }\n } = config;\n const isSupported = useSupported(() => window && HTMLElement && \"animate\" in HTMLElement.prototype);\n const animate = shallowRef(void 0);\n const store = shallowReactive({\n startTime: null,\n currentTime: null,\n timeline: null,\n playbackRate: _playbackRate,\n pending: false,\n playState: immediate ? \"idle\" : \"paused\",\n replaceState: \"active\"\n });\n const pending = computed(() => store.pending);\n const playState = computed(() => store.playState);\n const replaceState = computed(() => store.replaceState);\n const startTime = computed({\n get() {\n return store.startTime;\n },\n set(value) {\n store.startTime = value;\n if (animate.value)\n animate.value.startTime = value;\n }\n });\n const currentTime = computed({\n get() {\n return store.currentTime;\n },\n set(value) {\n store.currentTime = value;\n if (animate.value) {\n animate.value.currentTime = value;\n syncResume();\n }\n }\n });\n const timeline = computed({\n get() {\n return store.timeline;\n },\n set(value) {\n store.timeline = value;\n if (animate.value)\n animate.value.timeline = value;\n }\n });\n const playbackRate = computed({\n get() {\n return store.playbackRate;\n },\n set(value) {\n store.playbackRate = value;\n if (animate.value)\n animate.value.playbackRate = value;\n }\n });\n const play = () => {\n if (animate.value) {\n try {\n animate.value.play();\n syncResume();\n } catch (e) {\n syncPause();\n onError(e);\n }\n } else {\n update();\n }\n };\n const pause = () => {\n var _a;\n try {\n (_a = animate.value) == null ? void 0 : _a.pause();\n syncPause();\n } catch (e) {\n onError(e);\n }\n };\n const reverse = () => {\n var _a;\n if (!animate.value)\n update();\n try {\n (_a = animate.value) == null ? void 0 : _a.reverse();\n syncResume();\n } catch (e) {\n syncPause();\n onError(e);\n }\n };\n const finish = () => {\n var _a;\n try {\n (_a = animate.value) == null ? void 0 : _a.finish();\n syncPause();\n } catch (e) {\n onError(e);\n }\n };\n const cancel = () => {\n var _a;\n try {\n (_a = animate.value) == null ? void 0 : _a.cancel();\n syncPause();\n } catch (e) {\n onError(e);\n }\n };\n watch(() => unrefElement(target), (el) => {\n if (el)\n update();\n });\n watch(() => keyframes, (value) => {\n if (animate.value)\n update();\n if (!unrefElement(target) && animate.value) {\n animate.value.effect = new KeyframeEffect(\n unrefElement(target),\n toValue(value),\n animateOptions\n );\n }\n }, { deep: true });\n tryOnMounted(() => update(true), false);\n tryOnScopeDispose(cancel);\n function update(init) {\n const el = unrefElement(target);\n if (!isSupported.value || !el)\n return;\n if (!animate.value)\n animate.value = el.animate(toValue(keyframes), animateOptions);\n if (persist)\n animate.value.persist();\n if (_playbackRate !== 1)\n animate.value.playbackRate = _playbackRate;\n if (init && !immediate)\n animate.value.pause();\n else\n syncResume();\n onReady == null ? void 0 : onReady(animate.value);\n }\n useEventListener(animate, [\"cancel\", \"finish\", \"remove\"], syncPause);\n useEventListener(animate, \"finish\", () => {\n var _a;\n if (commitStyles)\n (_a = animate.value) == null ? void 0 : _a.commitStyles();\n });\n const { resume: resumeRef, pause: pauseRef } = useRafFn(() => {\n if (!animate.value)\n return;\n store.pending = animate.value.pending;\n store.playState = animate.value.playState;\n store.replaceState = animate.value.replaceState;\n store.startTime = animate.value.startTime;\n store.currentTime = animate.value.currentTime;\n store.timeline = animate.value.timeline;\n store.playbackRate = animate.value.playbackRate;\n }, { immediate: false });\n function syncResume() {\n if (isSupported.value)\n resumeRef();\n }\n function syncPause() {\n if (isSupported.value && window)\n window.requestAnimationFrame(pauseRef);\n }\n return {\n isSupported,\n animate,\n // actions\n play,\n pause,\n reverse,\n finish,\n cancel,\n // state\n pending,\n playState,\n replaceState,\n startTime,\n currentTime,\n timeline,\n playbackRate\n };\n}\n\nfunction useAsyncQueue(tasks, options) {\n const {\n interrupt = true,\n onError = noop,\n onFinished = noop,\n signal\n } = options || {};\n const promiseState = {\n aborted: \"aborted\",\n fulfilled: \"fulfilled\",\n pending: \"pending\",\n rejected: \"rejected\"\n };\n const initialResult = Array.from(Array.from({ length: tasks.length }), () => ({ state: promiseState.pending, data: null }));\n const result = reactive(initialResult);\n const activeIndex = ref(-1);\n if (!tasks || tasks.length === 0) {\n onFinished();\n return {\n activeIndex,\n result\n };\n }\n function updateResult(state, res) {\n activeIndex.value++;\n result[activeIndex.value].data = res;\n result[activeIndex.value].state = state;\n }\n tasks.reduce((prev, curr) => {\n return prev.then((prevRes) => {\n var _a;\n if (signal == null ? void 0 : signal.aborted) {\n updateResult(promiseState.aborted, new Error(\"aborted\"));\n return;\n }\n if (((_a = result[activeIndex.value]) == null ? void 0 : _a.state) === promiseState.rejected && interrupt) {\n onFinished();\n return;\n }\n const done = curr(prevRes).then((currentRes) => {\n updateResult(promiseState.fulfilled, currentRes);\n if (activeIndex.value === tasks.length - 1)\n onFinished();\n return currentRes;\n });\n if (!signal)\n return done;\n return Promise.race([done, whenAborted(signal)]);\n }).catch((e) => {\n if (signal == null ? void 0 : signal.aborted) {\n updateResult(promiseState.aborted, e);\n return e;\n }\n updateResult(promiseState.rejected, e);\n onError();\n return e;\n });\n }, Promise.resolve());\n return {\n activeIndex,\n result\n };\n}\nfunction whenAborted(signal) {\n return new Promise((resolve, reject) => {\n const error = new Error(\"aborted\");\n if (signal.aborted)\n reject(error);\n else\n signal.addEventListener(\"abort\", () => reject(error), { once: true });\n });\n}\n\nfunction useAsyncState(promise, initialState, options) {\n const {\n immediate = true,\n delay = 0,\n onError = noop,\n onSuccess = noop,\n resetOnExecute = true,\n shallow = true,\n throwError\n } = options != null ? options : {};\n const state = shallow ? shallowRef(initialState) : ref(initialState);\n const isReady = ref(false);\n const isLoading = ref(false);\n const error = shallowRef(void 0);\n async function execute(delay2 = 0, ...args) {\n if (resetOnExecute)\n state.value = initialState;\n error.value = void 0;\n isReady.value = false;\n isLoading.value = true;\n if (delay2 > 0)\n await promiseTimeout(delay2);\n const _promise = typeof promise === \"function\" ? promise(...args) : promise;\n try {\n const data = await _promise;\n state.value = data;\n isReady.value = true;\n onSuccess(data);\n } catch (e) {\n error.value = e;\n onError(e);\n if (throwError)\n throw e;\n } finally {\n isLoading.value = false;\n }\n return state.value;\n }\n if (immediate)\n execute(delay);\n const shell = {\n state,\n isReady,\n isLoading,\n error,\n execute\n };\n function waitUntilIsLoaded() {\n return new Promise((resolve, reject) => {\n until(isLoading).toBe(false).then(() => resolve(shell)).catch(reject);\n });\n }\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilIsLoaded().then(onFulfilled, onRejected);\n }\n };\n}\n\nconst defaults = {\n array: (v) => JSON.stringify(v),\n object: (v) => JSON.stringify(v),\n set: (v) => JSON.stringify(Array.from(v)),\n map: (v) => JSON.stringify(Object.fromEntries(v)),\n null: () => \"\"\n};\nfunction getDefaultSerialization(target) {\n if (!target)\n return defaults.null;\n if (target instanceof Map)\n return defaults.map;\n else if (target instanceof Set)\n return defaults.set;\n else if (Array.isArray(target))\n return defaults.array;\n else\n return defaults.object;\n}\n\nfunction useBase64(target, options) {\n const base64 = ref(\"\");\n const promise = ref();\n function execute() {\n if (!isClient)\n return;\n promise.value = new Promise((resolve, reject) => {\n try {\n const _target = toValue(target);\n if (_target == null) {\n resolve(\"\");\n } else if (typeof _target === \"string\") {\n resolve(blobToBase64(new Blob([_target], { type: \"text/plain\" })));\n } else if (_target instanceof Blob) {\n resolve(blobToBase64(_target));\n } else if (_target instanceof ArrayBuffer) {\n resolve(window.btoa(String.fromCharCode(...new Uint8Array(_target))));\n } else if (_target instanceof HTMLCanvasElement) {\n resolve(_target.toDataURL(options == null ? void 0 : options.type, options == null ? void 0 : options.quality));\n } else if (_target instanceof HTMLImageElement) {\n const img = _target.cloneNode(false);\n img.crossOrigin = \"Anonymous\";\n imgLoaded(img).then(() => {\n const canvas = document.createElement(\"canvas\");\n const ctx = canvas.getContext(\"2d\");\n canvas.width = img.width;\n canvas.height = img.height;\n ctx.drawImage(img, 0, 0, canvas.width, canvas.height);\n resolve(canvas.toDataURL(options == null ? void 0 : options.type, options == null ? void 0 : options.quality));\n }).catch(reject);\n } else if (typeof _target === \"object\") {\n const _serializeFn = (options == null ? void 0 : options.serializer) || getDefaultSerialization(_target);\n const serialized = _serializeFn(_target);\n return resolve(blobToBase64(new Blob([serialized], { type: \"application/json\" })));\n } else {\n reject(new Error(\"target is unsupported types\"));\n }\n } catch (error) {\n reject(error);\n }\n });\n promise.value.then((res) => base64.value = res);\n return promise.value;\n }\n if (isRef(target) || typeof target === \"function\")\n watch(target, execute, { immediate: true });\n else\n execute();\n return {\n base64,\n promise,\n execute\n };\n}\nfunction imgLoaded(img) {\n return new Promise((resolve, reject) => {\n if (!img.complete) {\n img.onload = () => {\n resolve();\n };\n img.onerror = reject;\n } else {\n resolve();\n }\n });\n}\nfunction blobToBase64(blob) {\n return new Promise((resolve, reject) => {\n const fr = new FileReader();\n fr.onload = (e) => {\n resolve(e.target.result);\n };\n fr.onerror = reject;\n fr.readAsDataURL(blob);\n });\n}\n\nfunction useBattery(options = {}) {\n const { navigator = defaultNavigator } = options;\n const events = [\"chargingchange\", \"chargingtimechange\", \"dischargingtimechange\", \"levelchange\"];\n const isSupported = useSupported(() => navigator && \"getBattery\" in navigator && typeof navigator.getBattery === \"function\");\n const charging = ref(false);\n const chargingTime = ref(0);\n const dischargingTime = ref(0);\n const level = ref(1);\n let battery;\n function updateBatteryInfo() {\n charging.value = this.charging;\n chargingTime.value = this.chargingTime || 0;\n dischargingTime.value = this.dischargingTime || 0;\n level.value = this.level;\n }\n if (isSupported.value) {\n navigator.getBattery().then((_battery) => {\n battery = _battery;\n updateBatteryInfo.call(battery);\n useEventListener(battery, events, updateBatteryInfo, { passive: true });\n });\n }\n return {\n isSupported,\n charging,\n chargingTime,\n dischargingTime,\n level\n };\n}\n\nfunction useBluetooth(options) {\n let {\n acceptAllDevices = false\n } = options || {};\n const {\n filters = void 0,\n optionalServices = void 0,\n navigator = defaultNavigator\n } = options || {};\n const isSupported = useSupported(() => navigator && \"bluetooth\" in navigator);\n const device = shallowRef(void 0);\n const error = shallowRef(null);\n watch(device, () => {\n connectToBluetoothGATTServer();\n });\n async function requestDevice() {\n if (!isSupported.value)\n return;\n error.value = null;\n if (filters && filters.length > 0)\n acceptAllDevices = false;\n try {\n device.value = await (navigator == null ? void 0 : navigator.bluetooth.requestDevice({\n acceptAllDevices,\n filters,\n optionalServices\n }));\n } catch (err) {\n error.value = err;\n }\n }\n const server = ref();\n const isConnected = computed(() => {\n var _a;\n return ((_a = server.value) == null ? void 0 : _a.connected) || false;\n });\n async function connectToBluetoothGATTServer() {\n error.value = null;\n if (device.value && device.value.gatt) {\n device.value.addEventListener(\"gattserverdisconnected\", () => {\n });\n try {\n server.value = await device.value.gatt.connect();\n } catch (err) {\n error.value = err;\n }\n }\n }\n tryOnMounted(() => {\n var _a;\n if (device.value)\n (_a = device.value.gatt) == null ? void 0 : _a.connect();\n });\n tryOnScopeDispose(() => {\n var _a;\n if (device.value)\n (_a = device.value.gatt) == null ? void 0 : _a.disconnect();\n });\n return {\n isSupported,\n isConnected,\n // Device:\n device,\n requestDevice,\n // Server:\n server,\n // Errors:\n error\n };\n}\n\nfunction useMediaQuery(query, options = {}) {\n const { window = defaultWindow } = options;\n const isSupported = useSupported(() => window && \"matchMedia\" in window && typeof window.matchMedia === \"function\");\n let mediaQuery;\n const matches = ref(false);\n const handler = (event) => {\n matches.value = event.matches;\n };\n const cleanup = () => {\n if (!mediaQuery)\n return;\n if (\"removeEventListener\" in mediaQuery)\n mediaQuery.removeEventListener(\"change\", handler);\n else\n mediaQuery.removeListener(handler);\n };\n const stopWatch = watchEffect(() => {\n if (!isSupported.value)\n return;\n cleanup();\n mediaQuery = window.matchMedia(toValue(query));\n if (\"addEventListener\" in mediaQuery)\n mediaQuery.addEventListener(\"change\", handler);\n else\n mediaQuery.addListener(handler);\n matches.value = mediaQuery.matches;\n });\n tryOnScopeDispose(() => {\n stopWatch();\n cleanup();\n mediaQuery = void 0;\n });\n return matches;\n}\n\nconst breakpointsTailwind = {\n \"sm\": 640,\n \"md\": 768,\n \"lg\": 1024,\n \"xl\": 1280,\n \"2xl\": 1536\n};\nconst breakpointsBootstrapV5 = {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1400\n};\nconst breakpointsVuetifyV2 = {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1264,\n xl: 1904\n};\nconst breakpointsVuetifyV3 = {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920,\n xxl: 2560\n};\nconst breakpointsVuetify = breakpointsVuetifyV2;\nconst breakpointsAntDesign = {\n xs: 480,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1600\n};\nconst breakpointsQuasar = {\n xs: 0,\n sm: 600,\n md: 1024,\n lg: 1440,\n xl: 1920\n};\nconst breakpointsSematic = {\n mobileS: 320,\n mobileM: 375,\n mobileL: 425,\n tablet: 768,\n laptop: 1024,\n laptopL: 1440,\n desktop4K: 2560\n};\nconst breakpointsMasterCss = {\n \"3xs\": 360,\n \"2xs\": 480,\n \"xs\": 600,\n \"sm\": 768,\n \"md\": 1024,\n \"lg\": 1280,\n \"xl\": 1440,\n \"2xl\": 1600,\n \"3xl\": 1920,\n \"4xl\": 2560\n};\nconst breakpointsPrimeFlex = {\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200\n};\n\nfunction useBreakpoints(breakpoints, options = {}) {\n function getValue(k, delta) {\n let v = toValue(breakpoints[toValue(k)]);\n if (delta != null)\n v = increaseWithUnit(v, delta);\n if (typeof v === \"number\")\n v = `${v}px`;\n return v;\n }\n const { window = defaultWindow, strategy = \"min-width\" } = options;\n function match(query) {\n if (!window)\n return false;\n return window.matchMedia(query).matches;\n }\n const greaterOrEqual = (k) => {\n return useMediaQuery(() => `(min-width: ${getValue(k)})`, options);\n };\n const smallerOrEqual = (k) => {\n return useMediaQuery(() => `(max-width: ${getValue(k)})`, options);\n };\n const shortcutMethods = Object.keys(breakpoints).reduce((shortcuts, k) => {\n Object.defineProperty(shortcuts, k, {\n get: () => strategy === \"min-width\" ? greaterOrEqual(k) : smallerOrEqual(k),\n enumerable: true,\n configurable: true\n });\n return shortcuts;\n }, {});\n function current() {\n const points = Object.keys(breakpoints).map((i) => [i, greaterOrEqual(i)]);\n return computed(() => points.filter(([, v]) => v.value).map(([k]) => k));\n }\n return Object.assign(shortcutMethods, {\n greaterOrEqual,\n smallerOrEqual,\n greater(k) {\n return useMediaQuery(() => `(min-width: ${getValue(k, 0.1)})`, options);\n },\n smaller(k) {\n return useMediaQuery(() => `(max-width: ${getValue(k, -0.1)})`, options);\n },\n between(a, b) {\n return useMediaQuery(() => `(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -0.1)})`, options);\n },\n isGreater(k) {\n return match(`(min-width: ${getValue(k, 0.1)})`);\n },\n isGreaterOrEqual(k) {\n return match(`(min-width: ${getValue(k)})`);\n },\n isSmaller(k) {\n return match(`(max-width: ${getValue(k, -0.1)})`);\n },\n isSmallerOrEqual(k) {\n return match(`(max-width: ${getValue(k)})`);\n },\n isInBetween(a, b) {\n return match(`(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -0.1)})`);\n },\n current,\n active() {\n const bps = current();\n return computed(() => bps.value.length === 0 ? \"\" : bps.value.at(-1));\n }\n });\n}\n\nfunction useBroadcastChannel(options) {\n const {\n name,\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"BroadcastChannel\" in window);\n const isClosed = ref(false);\n const channel = ref();\n const data = ref();\n const error = shallowRef(null);\n const post = (data2) => {\n if (channel.value)\n channel.value.postMessage(data2);\n };\n const close = () => {\n if (channel.value)\n channel.value.close();\n isClosed.value = true;\n };\n if (isSupported.value) {\n tryOnMounted(() => {\n error.value = null;\n channel.value = new BroadcastChannel(name);\n channel.value.addEventListener(\"message\", (e) => {\n data.value = e.data;\n }, { passive: true });\n channel.value.addEventListener(\"messageerror\", (e) => {\n error.value = e;\n }, { passive: true });\n channel.value.addEventListener(\"close\", () => {\n isClosed.value = true;\n });\n });\n }\n tryOnScopeDispose(() => {\n close();\n });\n return {\n isSupported,\n channel,\n data,\n post,\n close,\n error,\n isClosed\n };\n}\n\nconst WRITABLE_PROPERTIES = [\n \"hash\",\n \"host\",\n \"hostname\",\n \"href\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"search\"\n];\nfunction useBrowserLocation(options = {}) {\n const { window = defaultWindow } = options;\n const refs = Object.fromEntries(\n WRITABLE_PROPERTIES.map((key) => [key, ref()])\n );\n for (const [key, ref2] of objectEntries(refs)) {\n watch(ref2, (value) => {\n if (!(window == null ? void 0 : window.location) || window.location[key] === value)\n return;\n window.location[key] = value;\n });\n }\n const buildState = (trigger) => {\n var _a;\n const { state: state2, length } = (window == null ? void 0 : window.history) || {};\n const { origin } = (window == null ? void 0 : window.location) || {};\n for (const key of WRITABLE_PROPERTIES)\n refs[key].value = (_a = window == null ? void 0 : window.location) == null ? void 0 : _a[key];\n return reactive({\n trigger,\n state: state2,\n length,\n origin,\n ...refs\n });\n };\n const state = ref(buildState(\"load\"));\n if (window) {\n useEventListener(window, \"popstate\", () => state.value = buildState(\"popstate\"), { passive: true });\n useEventListener(window, \"hashchange\", () => state.value = buildState(\"hashchange\"), { passive: true });\n }\n return state;\n}\n\nfunction useCached(refValue, comparator = (a, b) => a === b, watchOptions) {\n const cachedValue = ref(refValue.value);\n watch(() => refValue.value, (value) => {\n if (!comparator(value, cachedValue.value))\n cachedValue.value = value;\n }, watchOptions);\n return cachedValue;\n}\n\nfunction usePermission(permissionDesc, options = {}) {\n const {\n controls = false,\n navigator = defaultNavigator\n } = options;\n const isSupported = useSupported(() => navigator && \"permissions\" in navigator);\n const permissionStatus = shallowRef();\n const desc = typeof permissionDesc === \"string\" ? { name: permissionDesc } : permissionDesc;\n const state = shallowRef();\n const update = () => {\n var _a, _b;\n state.value = (_b = (_a = permissionStatus.value) == null ? void 0 : _a.state) != null ? _b : \"prompt\";\n };\n useEventListener(permissionStatus, \"change\", update);\n const query = createSingletonPromise(async () => {\n if (!isSupported.value)\n return;\n if (!permissionStatus.value) {\n try {\n permissionStatus.value = await navigator.permissions.query(desc);\n } catch (e) {\n permissionStatus.value = void 0;\n } finally {\n update();\n }\n }\n if (controls)\n return toRaw(permissionStatus.value);\n });\n query();\n if (controls) {\n return {\n state,\n isSupported,\n query\n };\n } else {\n return state;\n }\n}\n\nfunction useClipboard(options = {}) {\n const {\n navigator = defaultNavigator,\n read = false,\n source,\n copiedDuring = 1500,\n legacy = false\n } = options;\n const isClipboardApiSupported = useSupported(() => navigator && \"clipboard\" in navigator);\n const permissionRead = usePermission(\"clipboard-read\");\n const permissionWrite = usePermission(\"clipboard-write\");\n const isSupported = computed(() => isClipboardApiSupported.value || legacy);\n const text = ref(\"\");\n const copied = ref(false);\n const timeout = useTimeoutFn(() => copied.value = false, copiedDuring);\n function updateText() {\n if (isClipboardApiSupported.value && isAllowed(permissionRead.value)) {\n navigator.clipboard.readText().then((value) => {\n text.value = value;\n });\n } else {\n text.value = legacyRead();\n }\n }\n if (isSupported.value && read)\n useEventListener([\"copy\", \"cut\"], updateText);\n async function copy(value = toValue(source)) {\n if (isSupported.value && value != null) {\n if (isClipboardApiSupported.value && isAllowed(permissionWrite.value))\n await navigator.clipboard.writeText(value);\n else\n legacyCopy(value);\n text.value = value;\n copied.value = true;\n timeout.start();\n }\n }\n function legacyCopy(value) {\n const ta = document.createElement(\"textarea\");\n ta.value = value != null ? value : \"\";\n ta.style.position = \"absolute\";\n ta.style.opacity = \"0\";\n document.body.appendChild(ta);\n ta.select();\n document.execCommand(\"copy\");\n ta.remove();\n }\n function legacyRead() {\n var _a, _b, _c;\n return (_c = (_b = (_a = document == null ? void 0 : document.getSelection) == null ? void 0 : _a.call(document)) == null ? void 0 : _b.toString()) != null ? _c : \"\";\n }\n function isAllowed(status) {\n return status === \"granted\" || status === \"prompt\";\n }\n return {\n isSupported,\n text,\n copied,\n copy\n };\n}\n\nfunction useClipboardItems(options = {}) {\n const {\n navigator = defaultNavigator,\n read = false,\n source,\n copiedDuring = 1500\n } = options;\n const isSupported = useSupported(() => navigator && \"clipboard\" in navigator);\n const content = ref([]);\n const copied = ref(false);\n const timeout = useTimeoutFn(() => copied.value = false, copiedDuring);\n function updateContent() {\n if (isSupported.value) {\n navigator.clipboard.read().then((items) => {\n content.value = items;\n });\n }\n }\n if (isSupported.value && read)\n useEventListener([\"copy\", \"cut\"], updateContent);\n async function copy(value = toValue(source)) {\n if (isSupported.value && value != null) {\n await navigator.clipboard.write(value);\n content.value = value;\n copied.value = true;\n timeout.start();\n }\n }\n return {\n isSupported,\n content,\n copied,\n copy\n };\n}\n\nfunction cloneFnJSON(source) {\n return JSON.parse(JSON.stringify(source));\n}\nfunction useCloned(source, options = {}) {\n const cloned = ref({});\n const {\n manual,\n clone = cloneFnJSON,\n // watch options\n deep = true,\n immediate = true\n } = options;\n function sync() {\n cloned.value = clone(toValue(source));\n }\n if (!manual && (isRef(source) || typeof source === \"function\")) {\n watch(source, sync, {\n ...options,\n deep,\n immediate\n });\n } else {\n sync();\n }\n return { cloned, sync };\n}\n\nconst _global = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : {};\nconst globalKey = \"__vueuse_ssr_handlers__\";\nconst handlers = /* @__PURE__ */ getHandlers();\nfunction getHandlers() {\n if (!(globalKey in _global))\n _global[globalKey] = _global[globalKey] || {};\n return _global[globalKey];\n}\nfunction getSSRHandler(key, fallback) {\n return handlers[key] || fallback;\n}\nfunction setSSRHandler(key, fn) {\n handlers[key] = fn;\n}\n\nfunction usePreferredDark(options) {\n return useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n}\n\nfunction guessSerializerType(rawInit) {\n return rawInit == null ? \"any\" : rawInit instanceof Set ? \"set\" : rawInit instanceof Map ? \"map\" : rawInit instanceof Date ? \"date\" : typeof rawInit === \"boolean\" ? \"boolean\" : typeof rawInit === \"string\" ? \"string\" : typeof rawInit === \"object\" ? \"object\" : !Number.isNaN(rawInit) ? \"number\" : \"any\";\n}\n\nconst StorageSerializers = {\n boolean: {\n read: (v) => v === \"true\",\n write: (v) => String(v)\n },\n object: {\n read: (v) => JSON.parse(v),\n write: (v) => JSON.stringify(v)\n },\n number: {\n read: (v) => Number.parseFloat(v),\n write: (v) => String(v)\n },\n any: {\n read: (v) => v,\n write: (v) => String(v)\n },\n string: {\n read: (v) => v,\n write: (v) => String(v)\n },\n map: {\n read: (v) => new Map(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v.entries()))\n },\n set: {\n read: (v) => new Set(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v))\n },\n date: {\n read: (v) => new Date(v),\n write: (v) => v.toISOString()\n }\n};\nconst customStorageEventName = \"vueuse-storage\";\nfunction useStorage(key, defaults, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n },\n initOnMounted\n } = options;\n const data = (shallow ? shallowRef : ref)(typeof defaults === \"function\" ? defaults() : defaults);\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorage\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n if (!storage)\n return data;\n const rawInit = toValue(defaults);\n const type = guessSerializerType(rawInit);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n const { pause: pauseWatch, resume: resumeWatch } = pausableWatch(\n data,\n () => write(data.value),\n { flush, deep, eventFilter }\n );\n if (window && listenToStorageChanges) {\n tryOnMounted(() => {\n if (storage instanceof Storage)\n useEventListener(window, \"storage\", update);\n else\n useEventListener(window, customStorageEventName, updateFromCustomEvent);\n if (initOnMounted)\n update();\n });\n }\n if (!initOnMounted)\n update();\n function dispatchWriteEvent(oldValue, newValue) {\n if (window) {\n const payload = {\n key,\n oldValue,\n newValue,\n storageArea: storage\n };\n window.dispatchEvent(storage instanceof Storage ? new StorageEvent(\"storage\", payload) : new CustomEvent(customStorageEventName, {\n detail: payload\n }));\n }\n }\n function write(v) {\n try {\n const oldValue = storage.getItem(key);\n if (v == null) {\n dispatchWriteEvent(oldValue, null);\n storage.removeItem(key);\n } else {\n const serialized = serializer.write(v);\n if (oldValue !== serialized) {\n storage.setItem(key, serialized);\n dispatchWriteEvent(oldValue, serialized);\n }\n }\n } catch (e) {\n onError(e);\n }\n }\n function read(event) {\n const rawValue = event ? event.newValue : storage.getItem(key);\n if (rawValue == null) {\n if (writeDefaults && rawInit != null)\n storage.setItem(key, serializer.write(rawInit));\n return rawInit;\n } else if (!event && mergeDefaults) {\n const value = serializer.read(rawValue);\n if (typeof mergeDefaults === \"function\")\n return mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n return { ...rawInit, ...value };\n return value;\n } else if (typeof rawValue !== \"string\") {\n return rawValue;\n } else {\n return serializer.read(rawValue);\n }\n }\n function update(event) {\n if (event && event.storageArea !== storage)\n return;\n if (event && event.key == null) {\n data.value = rawInit;\n return;\n }\n if (event && event.key !== key)\n return;\n pauseWatch();\n try {\n if ((event == null ? void 0 : event.newValue) !== serializer.write(data.value))\n data.value = read(event);\n } catch (e) {\n onError(e);\n } finally {\n if (event)\n nextTick(resumeWatch);\n else\n resumeWatch();\n }\n }\n function updateFromCustomEvent(event) {\n update(event.detail);\n }\n return data;\n}\n\nconst CSS_DISABLE_TRANS = \"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\";\nfunction useColorMode(options = {}) {\n const {\n selector = \"html\",\n attribute = \"class\",\n initialValue = \"auto\",\n window = defaultWindow,\n storage,\n storageKey = \"vueuse-color-scheme\",\n listenToStorageChanges = true,\n storageRef,\n emitAuto,\n disableTransition = true\n } = options;\n const modes = {\n auto: \"\",\n light: \"light\",\n dark: \"dark\",\n ...options.modes || {}\n };\n const preferredDark = usePreferredDark({ window });\n const system = computed(() => preferredDark.value ? \"dark\" : \"light\");\n const store = storageRef || (storageKey == null ? toRef(initialValue) : useStorage(storageKey, initialValue, storage, { window, listenToStorageChanges }));\n const state = computed(() => store.value === \"auto\" ? system.value : store.value);\n const updateHTMLAttrs = getSSRHandler(\n \"updateHTMLAttrs\",\n (selector2, attribute2, value) => {\n const el = typeof selector2 === \"string\" ? window == null ? void 0 : window.document.querySelector(selector2) : unrefElement(selector2);\n if (!el)\n return;\n const classesToAdd = /* @__PURE__ */ new Set();\n const classesToRemove = /* @__PURE__ */ new Set();\n let attributeToChange = null;\n if (attribute2 === \"class\") {\n const current = value.split(/\\s/g);\n Object.values(modes).flatMap((i) => (i || \"\").split(/\\s/g)).filter(Boolean).forEach((v) => {\n if (current.includes(v))\n classesToAdd.add(v);\n else\n classesToRemove.add(v);\n });\n } else {\n attributeToChange = { key: attribute2, value };\n }\n if (classesToAdd.size === 0 && classesToRemove.size === 0 && attributeToChange === null)\n return;\n let style;\n if (disableTransition) {\n style = window.document.createElement(\"style\");\n style.appendChild(document.createTextNode(CSS_DISABLE_TRANS));\n window.document.head.appendChild(style);\n }\n for (const c of classesToAdd) {\n el.classList.add(c);\n }\n for (const c of classesToRemove) {\n el.classList.remove(c);\n }\n if (attributeToChange) {\n el.setAttribute(attributeToChange.key, attributeToChange.value);\n }\n if (disableTransition) {\n window.getComputedStyle(style).opacity;\n document.head.removeChild(style);\n }\n }\n );\n function defaultOnChanged(mode) {\n var _a;\n updateHTMLAttrs(selector, attribute, (_a = modes[mode]) != null ? _a : mode);\n }\n function onChanged(mode) {\n if (options.onChanged)\n options.onChanged(mode, defaultOnChanged);\n else\n defaultOnChanged(mode);\n }\n watch(state, onChanged, { flush: \"post\", immediate: true });\n tryOnMounted(() => onChanged(state.value));\n const auto = computed({\n get() {\n return emitAuto ? store.value : state.value;\n },\n set(v) {\n store.value = v;\n }\n });\n try {\n return Object.assign(auto, { store, system, state });\n } catch (e) {\n return auto;\n }\n}\n\nfunction useConfirmDialog(revealed = ref(false)) {\n const confirmHook = createEventHook();\n const cancelHook = createEventHook();\n const revealHook = createEventHook();\n let _resolve = noop;\n const reveal = (data) => {\n revealHook.trigger(data);\n revealed.value = true;\n return new Promise((resolve) => {\n _resolve = resolve;\n });\n };\n const confirm = (data) => {\n revealed.value = false;\n confirmHook.trigger(data);\n _resolve({ data, isCanceled: false });\n };\n const cancel = (data) => {\n revealed.value = false;\n cancelHook.trigger(data);\n _resolve({ data, isCanceled: true });\n };\n return {\n isRevealed: computed(() => revealed.value),\n reveal,\n confirm,\n cancel,\n onReveal: revealHook.on,\n onConfirm: confirmHook.on,\n onCancel: cancelHook.on\n };\n}\n\nfunction useCssVar(prop, target, options = {}) {\n const { window = defaultWindow, initialValue, observe = false } = options;\n const variable = ref(initialValue);\n const elRef = computed(() => {\n var _a;\n return unrefElement(target) || ((_a = window == null ? void 0 : window.document) == null ? void 0 : _a.documentElement);\n });\n function updateCssVar() {\n var _a;\n const key = toValue(prop);\n const el = toValue(elRef);\n if (el && window && key) {\n const value = (_a = window.getComputedStyle(el).getPropertyValue(key)) == null ? void 0 : _a.trim();\n variable.value = value || initialValue;\n }\n }\n if (observe) {\n useMutationObserver(elRef, updateCssVar, {\n attributeFilter: [\"style\", \"class\"],\n window\n });\n }\n watch(\n [elRef, () => toValue(prop)],\n (_, old) => {\n if (old[0] && old[1])\n old[0].style.removeProperty(old[1]);\n updateCssVar();\n },\n { immediate: true }\n );\n watch(\n variable,\n (val) => {\n var _a;\n const raw_prop = toValue(prop);\n if (((_a = elRef.value) == null ? void 0 : _a.style) && raw_prop) {\n if (val == null)\n elRef.value.style.removeProperty(raw_prop);\n else\n elRef.value.style.setProperty(raw_prop, val);\n }\n }\n );\n return variable;\n}\n\nfunction useCurrentElement(rootComponent) {\n const vm = getCurrentInstance();\n const currentElement = computedWithControl(\n () => null,\n () => rootComponent ? unrefElement(rootComponent) : vm.proxy.$el\n );\n onUpdated(currentElement.trigger);\n onMounted(currentElement.trigger);\n return currentElement;\n}\n\nfunction useCycleList(list, options) {\n const state = shallowRef(getInitialValue());\n const listRef = toRef(list);\n const index = computed({\n get() {\n var _a;\n const targetList = listRef.value;\n let index2 = (options == null ? void 0 : options.getIndexOf) ? options.getIndexOf(state.value, targetList) : targetList.indexOf(state.value);\n if (index2 < 0)\n index2 = (_a = options == null ? void 0 : options.fallbackIndex) != null ? _a : 0;\n return index2;\n },\n set(v) {\n set(v);\n }\n });\n function set(i) {\n const targetList = listRef.value;\n const length = targetList.length;\n const index2 = (i % length + length) % length;\n const value = targetList[index2];\n state.value = value;\n return value;\n }\n function shift(delta = 1) {\n return set(index.value + delta);\n }\n function next(n = 1) {\n return shift(n);\n }\n function prev(n = 1) {\n return shift(-n);\n }\n function getInitialValue() {\n var _a, _b;\n return (_b = toValue((_a = options == null ? void 0 : options.initialValue) != null ? _a : toValue(list)[0])) != null ? _b : void 0;\n }\n watch(listRef, () => set(index.value));\n return {\n state,\n index,\n next,\n prev,\n go: set\n };\n}\n\nfunction useDark(options = {}) {\n const {\n valueDark = \"dark\",\n valueLight = \"\",\n window = defaultWindow\n } = options;\n const mode = useColorMode({\n ...options,\n onChanged: (mode2, defaultHandler) => {\n var _a;\n if (options.onChanged)\n (_a = options.onChanged) == null ? void 0 : _a.call(options, mode2 === \"dark\", defaultHandler, mode2);\n else\n defaultHandler(mode2);\n },\n modes: {\n dark: valueDark,\n light: valueLight\n }\n });\n const system = computed(() => {\n if (mode.system) {\n return mode.system.value;\n } else {\n const preferredDark = usePreferredDark({ window });\n return preferredDark.value ? \"dark\" : \"light\";\n }\n });\n const isDark = computed({\n get() {\n return mode.value === \"dark\";\n },\n set(v) {\n const modeVal = v ? \"dark\" : \"light\";\n if (system.value === modeVal)\n mode.value = \"auto\";\n else\n mode.value = modeVal;\n }\n });\n return isDark;\n}\n\nfunction fnBypass(v) {\n return v;\n}\nfunction fnSetSource(source, value) {\n return source.value = value;\n}\nfunction defaultDump(clone) {\n return clone ? typeof clone === \"function\" ? clone : cloneFnJSON : fnBypass;\n}\nfunction defaultParse(clone) {\n return clone ? typeof clone === \"function\" ? clone : cloneFnJSON : fnBypass;\n}\nfunction useManualRefHistory(source, options = {}) {\n const {\n clone = false,\n dump = defaultDump(clone),\n parse = defaultParse(clone),\n setSource = fnSetSource\n } = options;\n function _createHistoryRecord() {\n return markRaw({\n snapshot: dump(source.value),\n timestamp: timestamp()\n });\n }\n const last = ref(_createHistoryRecord());\n const undoStack = ref([]);\n const redoStack = ref([]);\n const _setSource = (record) => {\n setSource(source, parse(record.snapshot));\n last.value = record;\n };\n const commit = () => {\n undoStack.value.unshift(last.value);\n last.value = _createHistoryRecord();\n if (options.capacity && undoStack.value.length > options.capacity)\n undoStack.value.splice(options.capacity, Number.POSITIVE_INFINITY);\n if (redoStack.value.length)\n redoStack.value.splice(0, redoStack.value.length);\n };\n const clear = () => {\n undoStack.value.splice(0, undoStack.value.length);\n redoStack.value.splice(0, redoStack.value.length);\n };\n const undo = () => {\n const state = undoStack.value.shift();\n if (state) {\n redoStack.value.unshift(last.value);\n _setSource(state);\n }\n };\n const redo = () => {\n const state = redoStack.value.shift();\n if (state) {\n undoStack.value.unshift(last.value);\n _setSource(state);\n }\n };\n const reset = () => {\n _setSource(last.value);\n };\n const history = computed(() => [last.value, ...undoStack.value]);\n const canUndo = computed(() => undoStack.value.length > 0);\n const canRedo = computed(() => redoStack.value.length > 0);\n return {\n source,\n undoStack,\n redoStack,\n last,\n history,\n canUndo,\n canRedo,\n clear,\n commit,\n reset,\n undo,\n redo\n };\n}\n\nfunction useRefHistory(source, options = {}) {\n const {\n deep = false,\n flush = \"pre\",\n eventFilter\n } = options;\n const {\n eventFilter: composedFilter,\n pause,\n resume: resumeTracking,\n isActive: isTracking\n } = pausableFilter(eventFilter);\n const {\n ignoreUpdates,\n ignorePrevAsyncUpdates,\n stop\n } = watchIgnorable(\n source,\n commit,\n { deep, flush, eventFilter: composedFilter }\n );\n function setSource(source2, value) {\n ignorePrevAsyncUpdates();\n ignoreUpdates(() => {\n source2.value = value;\n });\n }\n const manualHistory = useManualRefHistory(source, { ...options, clone: options.clone || deep, setSource });\n const { clear, commit: manualCommit } = manualHistory;\n function commit() {\n ignorePrevAsyncUpdates();\n manualCommit();\n }\n function resume(commitNow) {\n resumeTracking();\n if (commitNow)\n commit();\n }\n function batch(fn) {\n let canceled = false;\n const cancel = () => canceled = true;\n ignoreUpdates(() => {\n fn(cancel);\n });\n if (!canceled)\n commit();\n }\n function dispose() {\n stop();\n clear();\n }\n return {\n ...manualHistory,\n isTracking,\n pause,\n resume,\n commit,\n batch,\n dispose\n };\n}\n\nfunction useDebouncedRefHistory(source, options = {}) {\n const filter = options.debounce ? debounceFilter(options.debounce) : void 0;\n const history = useRefHistory(source, { ...options, eventFilter: filter });\n return {\n ...history\n };\n}\n\nfunction useDeviceMotion(options = {}) {\n const {\n window = defaultWindow,\n eventFilter = bypassFilter\n } = options;\n const acceleration = ref({ x: null, y: null, z: null });\n const rotationRate = ref({ alpha: null, beta: null, gamma: null });\n const interval = ref(0);\n const accelerationIncludingGravity = ref({\n x: null,\n y: null,\n z: null\n });\n if (window) {\n const onDeviceMotion = createFilterWrapper(\n eventFilter,\n (event) => {\n acceleration.value = event.acceleration;\n accelerationIncludingGravity.value = event.accelerationIncludingGravity;\n rotationRate.value = event.rotationRate;\n interval.value = event.interval;\n }\n );\n useEventListener(window, \"devicemotion\", onDeviceMotion);\n }\n return {\n acceleration,\n accelerationIncludingGravity,\n rotationRate,\n interval\n };\n}\n\nfunction useDeviceOrientation(options = {}) {\n const { window = defaultWindow } = options;\n const isSupported = useSupported(() => window && \"DeviceOrientationEvent\" in window);\n const isAbsolute = ref(false);\n const alpha = ref(null);\n const beta = ref(null);\n const gamma = ref(null);\n if (window && isSupported.value) {\n useEventListener(window, \"deviceorientation\", (event) => {\n isAbsolute.value = event.absolute;\n alpha.value = event.alpha;\n beta.value = event.beta;\n gamma.value = event.gamma;\n });\n }\n return {\n isSupported,\n isAbsolute,\n alpha,\n beta,\n gamma\n };\n}\n\nfunction useDevicePixelRatio(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const pixelRatio = ref(1);\n if (window) {\n let observe2 = function() {\n pixelRatio.value = window.devicePixelRatio;\n cleanup2();\n media = window.matchMedia(`(resolution: ${pixelRatio.value}dppx)`);\n media.addEventListener(\"change\", observe2, { once: true });\n }, cleanup2 = function() {\n media == null ? void 0 : media.removeEventListener(\"change\", observe2);\n };\n let media;\n observe2();\n tryOnScopeDispose(cleanup2);\n }\n return { pixelRatio };\n}\n\nfunction useDevicesList(options = {}) {\n const {\n navigator = defaultNavigator,\n requestPermissions = false,\n constraints = { audio: true, video: true },\n onUpdated\n } = options;\n const devices = ref([]);\n const videoInputs = computed(() => devices.value.filter((i) => i.kind === \"videoinput\"));\n const audioInputs = computed(() => devices.value.filter((i) => i.kind === \"audioinput\"));\n const audioOutputs = computed(() => devices.value.filter((i) => i.kind === \"audiooutput\"));\n const isSupported = useSupported(() => navigator && navigator.mediaDevices && navigator.mediaDevices.enumerateDevices);\n const permissionGranted = ref(false);\n let stream;\n async function update() {\n if (!isSupported.value)\n return;\n devices.value = await navigator.mediaDevices.enumerateDevices();\n onUpdated == null ? void 0 : onUpdated(devices.value);\n if (stream) {\n stream.getTracks().forEach((t) => t.stop());\n stream = null;\n }\n }\n async function ensurePermissions() {\n if (!isSupported.value)\n return false;\n if (permissionGranted.value)\n return true;\n const { state, query } = usePermission(\"camera\", { controls: true });\n await query();\n if (state.value !== \"granted\") {\n stream = await navigator.mediaDevices.getUserMedia(constraints);\n update();\n permissionGranted.value = true;\n } else {\n permissionGranted.value = true;\n }\n return permissionGranted.value;\n }\n if (isSupported.value) {\n if (requestPermissions)\n ensurePermissions();\n useEventListener(navigator.mediaDevices, \"devicechange\", update);\n update();\n }\n return {\n devices,\n ensurePermissions,\n permissionGranted,\n videoInputs,\n audioInputs,\n audioOutputs,\n isSupported\n };\n}\n\nfunction useDisplayMedia(options = {}) {\n var _a;\n const enabled = ref((_a = options.enabled) != null ? _a : false);\n const video = options.video;\n const audio = options.audio;\n const { navigator = defaultNavigator } = options;\n const isSupported = useSupported(() => {\n var _a2;\n return (_a2 = navigator == null ? void 0 : navigator.mediaDevices) == null ? void 0 : _a2.getDisplayMedia;\n });\n const constraint = { audio, video };\n const stream = shallowRef();\n async function _start() {\n var _a2;\n if (!isSupported.value || stream.value)\n return;\n stream.value = await navigator.mediaDevices.getDisplayMedia(constraint);\n (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.addEventListener(\"ended\", stop));\n return stream.value;\n }\n async function _stop() {\n var _a2;\n (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.stop());\n stream.value = void 0;\n }\n function stop() {\n _stop();\n enabled.value = false;\n }\n async function start() {\n await _start();\n if (stream.value)\n enabled.value = true;\n return stream.value;\n }\n watch(\n enabled,\n (v) => {\n if (v)\n _start();\n else\n _stop();\n },\n { immediate: true }\n );\n return {\n isSupported,\n stream,\n start,\n stop,\n enabled\n };\n}\n\nfunction useDocumentVisibility(options = {}) {\n const { document = defaultDocument } = options;\n if (!document)\n return ref(\"visible\");\n const visibility = ref(document.visibilityState);\n useEventListener(document, \"visibilitychange\", () => {\n visibility.value = document.visibilityState;\n });\n return visibility;\n}\n\nfunction useDraggable(target, options = {}) {\n var _a, _b;\n const {\n pointerTypes,\n preventDefault,\n stopPropagation,\n exact,\n onMove,\n onEnd,\n onStart,\n initialValue,\n axis = \"both\",\n draggingElement = defaultWindow,\n containerElement,\n handle: draggingHandle = target,\n buttons = [0]\n } = options;\n const position = ref(\n (_a = toValue(initialValue)) != null ? _a : { x: 0, y: 0 }\n );\n const pressedDelta = ref();\n const filterEvent = (e) => {\n if (pointerTypes)\n return pointerTypes.includes(e.pointerType);\n return true;\n };\n const handleEvent = (e) => {\n if (toValue(preventDefault))\n e.preventDefault();\n if (toValue(stopPropagation))\n e.stopPropagation();\n };\n const start = (e) => {\n var _a2;\n if (!toValue(buttons).includes(e.button))\n return;\n if (toValue(options.disabled) || !filterEvent(e))\n return;\n if (toValue(exact) && e.target !== toValue(target))\n return;\n const container = toValue(containerElement);\n const containerRect = (_a2 = container == null ? void 0 : container.getBoundingClientRect) == null ? void 0 : _a2.call(container);\n const targetRect = toValue(target).getBoundingClientRect();\n const pos = {\n x: e.clientX - (container ? targetRect.left - containerRect.left + container.scrollLeft : targetRect.left),\n y: e.clientY - (container ? targetRect.top - containerRect.top + container.scrollTop : targetRect.top)\n };\n if ((onStart == null ? void 0 : onStart(pos, e)) === false)\n return;\n pressedDelta.value = pos;\n handleEvent(e);\n };\n const move = (e) => {\n if (toValue(options.disabled) || !filterEvent(e))\n return;\n if (!pressedDelta.value)\n return;\n const container = toValue(containerElement);\n const targetRect = toValue(target).getBoundingClientRect();\n let { x, y } = position.value;\n if (axis === \"x\" || axis === \"both\") {\n x = e.clientX - pressedDelta.value.x;\n if (container)\n x = Math.min(Math.max(0, x), container.scrollWidth - targetRect.width);\n }\n if (axis === \"y\" || axis === \"both\") {\n y = e.clientY - pressedDelta.value.y;\n if (container)\n y = Math.min(Math.max(0, y), container.scrollHeight - targetRect.height);\n }\n position.value = {\n x,\n y\n };\n onMove == null ? void 0 : onMove(position.value, e);\n handleEvent(e);\n };\n const end = (e) => {\n if (toValue(options.disabled) || !filterEvent(e))\n return;\n if (!pressedDelta.value)\n return;\n pressedDelta.value = void 0;\n onEnd == null ? void 0 : onEnd(position.value, e);\n handleEvent(e);\n };\n if (isClient) {\n const config = { capture: (_b = options.capture) != null ? _b : true };\n useEventListener(draggingHandle, \"pointerdown\", start, config);\n useEventListener(draggingElement, \"pointermove\", move, config);\n useEventListener(draggingElement, \"pointerup\", end, config);\n }\n return {\n ...toRefs(position),\n position,\n isDragging: computed(() => !!pressedDelta.value),\n style: computed(\n () => `left:${position.value.x}px;top:${position.value.y}px;`\n )\n };\n}\n\nfunction useDropZone(target, options = {}) {\n var _a, _b;\n const isOverDropZone = ref(false);\n const files = shallowRef(null);\n let counter = 0;\n let isValid = true;\n if (isClient) {\n const _options = typeof options === \"function\" ? { onDrop: options } : options;\n const multiple = (_a = _options.multiple) != null ? _a : true;\n const preventDefaultForUnhandled = (_b = _options.preventDefaultForUnhandled) != null ? _b : false;\n const getFiles = (event) => {\n var _a2, _b2;\n const list = Array.from((_b2 = (_a2 = event.dataTransfer) == null ? void 0 : _a2.files) != null ? _b2 : []);\n return list.length === 0 ? null : multiple ? list : [list[0]];\n };\n const checkDataTypes = (types) => {\n if (_options.dataTypes) {\n const dataTypes = unref(_options.dataTypes);\n return typeof dataTypes === \"function\" ? dataTypes(types) : dataTypes ? dataTypes.some((item) => types.includes(item)) : true;\n }\n return true;\n };\n const checkValidity = (event) => {\n var _a2, _b2;\n const items = Array.from((_b2 = (_a2 = event.dataTransfer) == null ? void 0 : _a2.items) != null ? _b2 : []);\n const types = items.filter((item) => item.kind === \"file\").map((item) => item.type);\n const dataTypesValid = checkDataTypes(types);\n const multipleFilesValid = multiple || items.filter((item) => item.kind === \"file\").length <= 1;\n return dataTypesValid && multipleFilesValid;\n };\n const handleDragEvent = (event, eventType) => {\n var _a2, _b2, _c, _d;\n isValid = checkValidity(event);\n if (!isValid) {\n if (preventDefaultForUnhandled) {\n event.preventDefault();\n }\n if (event.dataTransfer) {\n event.dataTransfer.dropEffect = \"none\";\n }\n return;\n }\n event.preventDefault();\n if (event.dataTransfer) {\n event.dataTransfer.dropEffect = \"copy\";\n }\n const currentFiles = getFiles(event);\n switch (eventType) {\n case \"enter\":\n counter += 1;\n isOverDropZone.value = true;\n (_a2 = _options.onEnter) == null ? void 0 : _a2.call(_options, null, event);\n break;\n case \"over\":\n (_b2 = _options.onOver) == null ? void 0 : _b2.call(_options, null, event);\n break;\n case \"leave\":\n counter -= 1;\n if (counter === 0)\n isOverDropZone.value = false;\n (_c = _options.onLeave) == null ? void 0 : _c.call(_options, null, event);\n break;\n case \"drop\":\n counter = 0;\n isOverDropZone.value = false;\n if (isValid) {\n files.value = currentFiles;\n (_d = _options.onDrop) == null ? void 0 : _d.call(_options, currentFiles, event);\n }\n break;\n }\n };\n useEventListener(target, \"dragenter\", (event) => handleDragEvent(event, \"enter\"));\n useEventListener(target, \"dragover\", (event) => handleDragEvent(event, \"over\"));\n useEventListener(target, \"dragleave\", (event) => handleDragEvent(event, \"leave\"));\n useEventListener(target, \"drop\", (event) => handleDragEvent(event, \"drop\"));\n }\n return {\n files,\n isOverDropZone\n };\n}\n\nfunction useResizeObserver(target, callback, options = {}) {\n const { window = defaultWindow, ...observerOptions } = options;\n let observer;\n const isSupported = useSupported(() => window && \"ResizeObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const targets = computed(() => {\n const _targets = toValue(target);\n return Array.isArray(_targets) ? _targets.map((el) => unrefElement(el)) : [unrefElement(_targets)];\n });\n const stopWatch = watch(\n targets,\n (els) => {\n cleanup();\n if (isSupported.value && window) {\n observer = new ResizeObserver(callback);\n for (const _el of els) {\n if (_el)\n observer.observe(_el, observerOptions);\n }\n }\n },\n { immediate: true, flush: \"post\" }\n );\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop\n };\n}\n\nfunction useElementBounding(target, options = {}) {\n const {\n reset = true,\n windowResize = true,\n windowScroll = true,\n immediate = true,\n updateTiming = \"sync\"\n } = options;\n const height = ref(0);\n const bottom = ref(0);\n const left = ref(0);\n const right = ref(0);\n const top = ref(0);\n const width = ref(0);\n const x = ref(0);\n const y = ref(0);\n function recalculate() {\n const el = unrefElement(target);\n if (!el) {\n if (reset) {\n height.value = 0;\n bottom.value = 0;\n left.value = 0;\n right.value = 0;\n top.value = 0;\n width.value = 0;\n x.value = 0;\n y.value = 0;\n }\n return;\n }\n const rect = el.getBoundingClientRect();\n height.value = rect.height;\n bottom.value = rect.bottom;\n left.value = rect.left;\n right.value = rect.right;\n top.value = rect.top;\n width.value = rect.width;\n x.value = rect.x;\n y.value = rect.y;\n }\n function update() {\n if (updateTiming === \"sync\")\n recalculate();\n else if (updateTiming === \"next-frame\")\n requestAnimationFrame(() => recalculate());\n }\n useResizeObserver(target, update);\n watch(() => unrefElement(target), (ele) => !ele && update());\n useMutationObserver(target, update, {\n attributeFilter: [\"style\", \"class\"]\n });\n if (windowScroll)\n useEventListener(\"scroll\", update, { capture: true, passive: true });\n if (windowResize)\n useEventListener(\"resize\", update, { passive: true });\n tryOnMounted(() => {\n if (immediate)\n update();\n });\n return {\n height,\n bottom,\n left,\n right,\n top,\n width,\n x,\n y,\n update\n };\n}\n\nfunction useElementByPoint(options) {\n const {\n x,\n y,\n document = defaultDocument,\n multiple,\n interval = \"requestAnimationFrame\",\n immediate = true\n } = options;\n const isSupported = useSupported(() => {\n if (toValue(multiple))\n return document && \"elementsFromPoint\" in document;\n return document && \"elementFromPoint\" in document;\n });\n const element = ref(null);\n const cb = () => {\n var _a, _b;\n element.value = toValue(multiple) ? (_a = document == null ? void 0 : document.elementsFromPoint(toValue(x), toValue(y))) != null ? _a : [] : (_b = document == null ? void 0 : document.elementFromPoint(toValue(x), toValue(y))) != null ? _b : null;\n };\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate });\n return {\n isSupported,\n element,\n ...controls\n };\n}\n\nfunction useElementHover(el, options = {}) {\n const {\n delayEnter = 0,\n delayLeave = 0,\n window = defaultWindow\n } = options;\n const isHovered = ref(false);\n let timer;\n const toggle = (entering) => {\n const delay = entering ? delayEnter : delayLeave;\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n }\n if (delay)\n timer = setTimeout(() => isHovered.value = entering, delay);\n else\n isHovered.value = entering;\n };\n if (!window)\n return isHovered;\n useEventListener(el, \"mouseenter\", () => toggle(true), { passive: true });\n useEventListener(el, \"mouseleave\", () => toggle(false), { passive: true });\n return isHovered;\n}\n\nfunction useElementSize(target, initialSize = { width: 0, height: 0 }, options = {}) {\n const { window = defaultWindow, box = \"content-box\" } = options;\n const isSVG = computed(() => {\n var _a, _b;\n return (_b = (_a = unrefElement(target)) == null ? void 0 : _a.namespaceURI) == null ? void 0 : _b.includes(\"svg\");\n });\n const width = ref(initialSize.width);\n const height = ref(initialSize.height);\n const { stop: stop1 } = useResizeObserver(\n target,\n ([entry]) => {\n const boxSize = box === \"border-box\" ? entry.borderBoxSize : box === \"content-box\" ? entry.contentBoxSize : entry.devicePixelContentBoxSize;\n if (window && isSVG.value) {\n const $elem = unrefElement(target);\n if ($elem) {\n const rect = $elem.getBoundingClientRect();\n width.value = rect.width;\n height.value = rect.height;\n }\n } else {\n if (boxSize) {\n const formatBoxSize = Array.isArray(boxSize) ? boxSize : [boxSize];\n width.value = formatBoxSize.reduce((acc, { inlineSize }) => acc + inlineSize, 0);\n height.value = formatBoxSize.reduce((acc, { blockSize }) => acc + blockSize, 0);\n } else {\n width.value = entry.contentRect.width;\n height.value = entry.contentRect.height;\n }\n }\n },\n options\n );\n tryOnMounted(() => {\n const ele = unrefElement(target);\n if (ele) {\n width.value = \"offsetWidth\" in ele ? ele.offsetWidth : initialSize.width;\n height.value = \"offsetHeight\" in ele ? ele.offsetHeight : initialSize.height;\n }\n });\n const stop2 = watch(\n () => unrefElement(target),\n (ele) => {\n width.value = ele ? initialSize.width : 0;\n height.value = ele ? initialSize.height : 0;\n }\n );\n function stop() {\n stop1();\n stop2();\n }\n return {\n width,\n height,\n stop\n };\n}\n\nfunction useIntersectionObserver(target, callback, options = {}) {\n const {\n root,\n rootMargin = \"0px\",\n threshold = 0,\n window = defaultWindow,\n immediate = true\n } = options;\n const isSupported = useSupported(() => window && \"IntersectionObserver\" in window);\n const targets = computed(() => {\n const _target = toValue(target);\n return (Array.isArray(_target) ? _target : [_target]).map(unrefElement).filter(notNullish);\n });\n let cleanup = noop;\n const isActive = ref(immediate);\n const stopWatch = isSupported.value ? watch(\n () => [targets.value, unrefElement(root), isActive.value],\n ([targets2, root2]) => {\n cleanup();\n if (!isActive.value)\n return;\n if (!targets2.length)\n return;\n const observer = new IntersectionObserver(\n callback,\n {\n root: unrefElement(root2),\n rootMargin,\n threshold\n }\n );\n targets2.forEach((el) => el && observer.observe(el));\n cleanup = () => {\n observer.disconnect();\n cleanup = noop;\n };\n },\n { immediate, flush: \"post\" }\n ) : noop;\n const stop = () => {\n cleanup();\n stopWatch();\n isActive.value = false;\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n isActive,\n pause() {\n cleanup();\n isActive.value = false;\n },\n resume() {\n isActive.value = true;\n },\n stop\n };\n}\n\nfunction useElementVisibility(element, options = {}) {\n const { window = defaultWindow, scrollTarget, threshold = 0 } = options;\n const elementIsVisible = ref(false);\n useIntersectionObserver(\n element,\n (intersectionObserverEntries) => {\n let isIntersecting = elementIsVisible.value;\n let latestTime = 0;\n for (const entry of intersectionObserverEntries) {\n if (entry.time >= latestTime) {\n latestTime = entry.time;\n isIntersecting = entry.isIntersecting;\n }\n }\n elementIsVisible.value = isIntersecting;\n },\n {\n root: scrollTarget,\n window,\n threshold\n }\n );\n return elementIsVisible;\n}\n\nconst events = /* @__PURE__ */ new Map();\n\nfunction useEventBus(key) {\n const scope = getCurrentScope();\n function on(listener) {\n var _a;\n const listeners = events.get(key) || /* @__PURE__ */ new Set();\n listeners.add(listener);\n events.set(key, listeners);\n const _off = () => off(listener);\n (_a = scope == null ? void 0 : scope.cleanups) == null ? void 0 : _a.push(_off);\n return _off;\n }\n function once(listener) {\n function _listener(...args) {\n off(_listener);\n listener(...args);\n }\n return on(_listener);\n }\n function off(listener) {\n const listeners = events.get(key);\n if (!listeners)\n return;\n listeners.delete(listener);\n if (!listeners.size)\n reset();\n }\n function reset() {\n events.delete(key);\n }\n function emit(event, payload) {\n var _a;\n (_a = events.get(key)) == null ? void 0 : _a.forEach((v) => v(event, payload));\n }\n return { on, once, off, emit, reset };\n}\n\nfunction resolveNestedOptions$1(options) {\n if (options === true)\n return {};\n return options;\n}\nfunction useEventSource(url, events = [], options = {}) {\n const event = ref(null);\n const data = ref(null);\n const status = ref(\"CONNECTING\");\n const eventSource = ref(null);\n const error = shallowRef(null);\n const urlRef = toRef(url);\n const lastEventId = shallowRef(null);\n let explicitlyClosed = false;\n let retried = 0;\n const {\n withCredentials = false,\n immediate = true\n } = options;\n const close = () => {\n if (isClient && eventSource.value) {\n eventSource.value.close();\n eventSource.value = null;\n status.value = \"CLOSED\";\n explicitlyClosed = true;\n }\n };\n const _init = () => {\n if (explicitlyClosed || typeof urlRef.value === \"undefined\")\n return;\n const es = new EventSource(urlRef.value, { withCredentials });\n status.value = \"CONNECTING\";\n eventSource.value = es;\n es.onopen = () => {\n status.value = \"OPEN\";\n error.value = null;\n };\n es.onerror = (e) => {\n status.value = \"CLOSED\";\n error.value = e;\n if (es.readyState === 2 && !explicitlyClosed && options.autoReconnect) {\n es.close();\n const {\n retries = -1,\n delay = 1e3,\n onFailed\n } = resolveNestedOptions$1(options.autoReconnect);\n retried += 1;\n if (typeof retries === \"number\" && (retries < 0 || retried < retries))\n setTimeout(_init, delay);\n else if (typeof retries === \"function\" && retries())\n setTimeout(_init, delay);\n else\n onFailed == null ? void 0 : onFailed();\n }\n };\n es.onmessage = (e) => {\n event.value = null;\n data.value = e.data;\n lastEventId.value = e.lastEventId;\n };\n for (const event_name of events) {\n useEventListener(es, event_name, (e) => {\n event.value = event_name;\n data.value = e.data || null;\n });\n }\n };\n const open = () => {\n if (!isClient)\n return;\n close();\n explicitlyClosed = false;\n retried = 0;\n _init();\n };\n if (immediate)\n watch(urlRef, open, { immediate: true });\n tryOnScopeDispose(close);\n return {\n eventSource,\n event,\n data,\n status,\n error,\n open,\n close,\n lastEventId\n };\n}\n\nfunction useEyeDropper(options = {}) {\n const { initialValue = \"\" } = options;\n const isSupported = useSupported(() => typeof window !== \"undefined\" && \"EyeDropper\" in window);\n const sRGBHex = ref(initialValue);\n async function open(openOptions) {\n if (!isSupported.value)\n return;\n const eyeDropper = new window.EyeDropper();\n const result = await eyeDropper.open(openOptions);\n sRGBHex.value = result.sRGBHex;\n return result;\n }\n return { isSupported, sRGBHex, open };\n}\n\nfunction useFavicon(newIcon = null, options = {}) {\n const {\n baseUrl = \"\",\n rel = \"icon\",\n document = defaultDocument\n } = options;\n const favicon = toRef(newIcon);\n const applyIcon = (icon) => {\n const elements = document == null ? void 0 : document.head.querySelectorAll(`link[rel*=\"${rel}\"]`);\n if (!elements || elements.length === 0) {\n const link = document == null ? void 0 : document.createElement(\"link\");\n if (link) {\n link.rel = rel;\n link.href = `${baseUrl}${icon}`;\n link.type = `image/${icon.split(\".\").pop()}`;\n document == null ? void 0 : document.head.append(link);\n }\n return;\n }\n elements == null ? void 0 : elements.forEach((el) => el.href = `${baseUrl}${icon}`);\n };\n watch(\n favicon,\n (i, o) => {\n if (typeof i === \"string\" && i !== o)\n applyIcon(i);\n },\n { immediate: true }\n );\n return favicon;\n}\n\nconst payloadMapping = {\n json: \"application/json\",\n text: \"text/plain\"\n};\nfunction isFetchOptions(obj) {\n return obj && containsProp(obj, \"immediate\", \"refetch\", \"initialData\", \"timeout\", \"beforeFetch\", \"afterFetch\", \"onFetchError\", \"fetch\", \"updateDataOnError\");\n}\nconst reAbsolute = /^(?:[a-z][a-z\\d+\\-.]*:)?\\/\\//i;\nfunction isAbsoluteURL(url) {\n return reAbsolute.test(url);\n}\nfunction headersToObject(headers) {\n if (typeof Headers !== \"undefined\" && headers instanceof Headers)\n return Object.fromEntries(headers.entries());\n return headers;\n}\nfunction combineCallbacks(combination, ...callbacks) {\n if (combination === \"overwrite\") {\n return async (ctx) => {\n const callback = callbacks[callbacks.length - 1];\n if (callback)\n return { ...ctx, ...await callback(ctx) };\n return ctx;\n };\n } else {\n return async (ctx) => {\n for (const callback of callbacks) {\n if (callback)\n ctx = { ...ctx, ...await callback(ctx) };\n }\n return ctx;\n };\n }\n}\nfunction createFetch(config = {}) {\n const _combination = config.combination || \"chain\";\n const _options = config.options || {};\n const _fetchOptions = config.fetchOptions || {};\n function useFactoryFetch(url, ...args) {\n const computedUrl = computed(() => {\n const baseUrl = toValue(config.baseUrl);\n const targetUrl = toValue(url);\n return baseUrl && !isAbsoluteURL(targetUrl) ? joinPaths(baseUrl, targetUrl) : targetUrl;\n });\n let options = _options;\n let fetchOptions = _fetchOptions;\n if (args.length > 0) {\n if (isFetchOptions(args[0])) {\n options = {\n ...options,\n ...args[0],\n beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[0].beforeFetch),\n afterFetch: combineCallbacks(_combination, _options.afterFetch, args[0].afterFetch),\n onFetchError: combineCallbacks(_combination, _options.onFetchError, args[0].onFetchError)\n };\n } else {\n fetchOptions = {\n ...fetchOptions,\n ...args[0],\n headers: {\n ...headersToObject(fetchOptions.headers) || {},\n ...headersToObject(args[0].headers) || {}\n }\n };\n }\n }\n if (args.length > 1 && isFetchOptions(args[1])) {\n options = {\n ...options,\n ...args[1],\n beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[1].beforeFetch),\n afterFetch: combineCallbacks(_combination, _options.afterFetch, args[1].afterFetch),\n onFetchError: combineCallbacks(_combination, _options.onFetchError, args[1].onFetchError)\n };\n }\n return useFetch(computedUrl, fetchOptions, options);\n }\n return useFactoryFetch;\n}\nfunction useFetch(url, ...args) {\n var _a;\n const supportsAbort = typeof AbortController === \"function\";\n let fetchOptions = {};\n let options = {\n immediate: true,\n refetch: false,\n timeout: 0,\n updateDataOnError: false\n };\n const config = {\n method: \"GET\",\n type: \"text\",\n payload: void 0\n };\n if (args.length > 0) {\n if (isFetchOptions(args[0]))\n options = { ...options, ...args[0] };\n else\n fetchOptions = args[0];\n }\n if (args.length > 1) {\n if (isFetchOptions(args[1]))\n options = { ...options, ...args[1] };\n }\n const {\n fetch = (_a = defaultWindow) == null ? void 0 : _a.fetch,\n initialData,\n timeout\n } = options;\n const responseEvent = createEventHook();\n const errorEvent = createEventHook();\n const finallyEvent = createEventHook();\n const isFinished = ref(false);\n const isFetching = ref(false);\n const aborted = ref(false);\n const statusCode = ref(null);\n const response = shallowRef(null);\n const error = shallowRef(null);\n const data = shallowRef(initialData || null);\n const canAbort = computed(() => supportsAbort && isFetching.value);\n let controller;\n let timer;\n const abort = () => {\n if (supportsAbort) {\n controller == null ? void 0 : controller.abort();\n controller = new AbortController();\n controller.signal.onabort = () => aborted.value = true;\n fetchOptions = {\n ...fetchOptions,\n signal: controller.signal\n };\n }\n };\n const loading = (isLoading) => {\n isFetching.value = isLoading;\n isFinished.value = !isLoading;\n };\n if (timeout)\n timer = useTimeoutFn(abort, timeout, { immediate: false });\n let executeCounter = 0;\n const execute = async (throwOnFailed = false) => {\n var _a2, _b;\n abort();\n loading(true);\n error.value = null;\n statusCode.value = null;\n aborted.value = false;\n executeCounter += 1;\n const currentExecuteCounter = executeCounter;\n const defaultFetchOptions = {\n method: config.method,\n headers: {}\n };\n if (config.payload) {\n const headers = headersToObject(defaultFetchOptions.headers);\n const payload = toValue(config.payload);\n if (!config.payloadType && payload && Object.getPrototypeOf(payload) === Object.prototype && !(payload instanceof FormData))\n config.payloadType = \"json\";\n if (config.payloadType)\n headers[\"Content-Type\"] = (_a2 = payloadMapping[config.payloadType]) != null ? _a2 : config.payloadType;\n defaultFetchOptions.body = config.payloadType === \"json\" ? JSON.stringify(payload) : payload;\n }\n let isCanceled = false;\n const context = {\n url: toValue(url),\n options: {\n ...defaultFetchOptions,\n ...fetchOptions\n },\n cancel: () => {\n isCanceled = true;\n }\n };\n if (options.beforeFetch)\n Object.assign(context, await options.beforeFetch(context));\n if (isCanceled || !fetch) {\n loading(false);\n return Promise.resolve(null);\n }\n let responseData = null;\n if (timer)\n timer.start();\n return fetch(\n context.url,\n {\n ...defaultFetchOptions,\n ...context.options,\n headers: {\n ...headersToObject(defaultFetchOptions.headers),\n ...headersToObject((_b = context.options) == null ? void 0 : _b.headers)\n }\n }\n ).then(async (fetchResponse) => {\n response.value = fetchResponse;\n statusCode.value = fetchResponse.status;\n responseData = await fetchResponse.clone()[config.type]();\n if (!fetchResponse.ok) {\n data.value = initialData || null;\n throw new Error(fetchResponse.statusText);\n }\n if (options.afterFetch) {\n ({ data: responseData } = await options.afterFetch({\n data: responseData,\n response: fetchResponse\n }));\n }\n data.value = responseData;\n responseEvent.trigger(fetchResponse);\n return fetchResponse;\n }).catch(async (fetchError) => {\n let errorData = fetchError.message || fetchError.name;\n if (options.onFetchError) {\n ({ error: errorData, data: responseData } = await options.onFetchError({\n data: responseData,\n error: fetchError,\n response: response.value\n }));\n }\n error.value = errorData;\n if (options.updateDataOnError)\n data.value = responseData;\n errorEvent.trigger(fetchError);\n if (throwOnFailed)\n throw fetchError;\n return null;\n }).finally(() => {\n if (currentExecuteCounter === executeCounter)\n loading(false);\n if (timer)\n timer.stop();\n finallyEvent.trigger(null);\n });\n };\n const refetch = toRef(options.refetch);\n watch(\n [\n refetch,\n toRef(url)\n ],\n ([refetch2]) => refetch2 && execute(),\n { deep: true }\n );\n const shell = {\n isFinished: readonly(isFinished),\n isFetching: readonly(isFetching),\n statusCode,\n response,\n error,\n data,\n canAbort,\n aborted,\n abort,\n execute,\n onFetchResponse: responseEvent.on,\n onFetchError: errorEvent.on,\n onFetchFinally: finallyEvent.on,\n // method\n get: setMethod(\"GET\"),\n put: setMethod(\"PUT\"),\n post: setMethod(\"POST\"),\n delete: setMethod(\"DELETE\"),\n patch: setMethod(\"PATCH\"),\n head: setMethod(\"HEAD\"),\n options: setMethod(\"OPTIONS\"),\n // type\n json: setType(\"json\"),\n text: setType(\"text\"),\n blob: setType(\"blob\"),\n arrayBuffer: setType(\"arrayBuffer\"),\n formData: setType(\"formData\")\n };\n function setMethod(method) {\n return (payload, payloadType) => {\n if (!isFetching.value) {\n config.method = method;\n config.payload = payload;\n config.payloadType = payloadType;\n if (isRef(config.payload)) {\n watch(\n [\n refetch,\n toRef(config.payload)\n ],\n ([refetch2]) => refetch2 && execute(),\n { deep: true }\n );\n }\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n };\n }\n return void 0;\n };\n }\n function waitUntilFinished() {\n return new Promise((resolve, reject) => {\n until(isFinished).toBe(true).then(() => resolve(shell)).catch((error2) => reject(error2));\n });\n }\n function setType(type) {\n return () => {\n if (!isFetching.value) {\n config.type = type;\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n };\n }\n return void 0;\n };\n }\n if (options.immediate)\n Promise.resolve().then(() => execute());\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n };\n}\nfunction joinPaths(start, end) {\n if (!start.endsWith(\"/\") && !end.startsWith(\"/\"))\n return `${start}/${end}`;\n return `${start}${end}`;\n}\n\nconst DEFAULT_OPTIONS = {\n multiple: true,\n accept: \"*\",\n reset: false,\n directory: false\n};\nfunction useFileDialog(options = {}) {\n const {\n document = defaultDocument\n } = options;\n const files = ref(null);\n const { on: onChange, trigger: changeTrigger } = createEventHook();\n const { on: onCancel, trigger: cancelTrigger } = createEventHook();\n let input;\n if (document) {\n input = document.createElement(\"input\");\n input.type = \"file\";\n input.onchange = (event) => {\n const result = event.target;\n files.value = result.files;\n changeTrigger(files.value);\n };\n input.oncancel = () => {\n cancelTrigger();\n };\n }\n const reset = () => {\n files.value = null;\n if (input && input.value) {\n input.value = \"\";\n changeTrigger(null);\n }\n };\n const open = (localOptions) => {\n if (!input)\n return;\n const _options = {\n ...DEFAULT_OPTIONS,\n ...options,\n ...localOptions\n };\n input.multiple = _options.multiple;\n input.accept = _options.accept;\n input.webkitdirectory = _options.directory;\n if (hasOwn(_options, \"capture\"))\n input.capture = _options.capture;\n if (_options.reset)\n reset();\n input.click();\n };\n return {\n files: readonly(files),\n open,\n reset,\n onCancel,\n onChange\n };\n}\n\nfunction useFileSystemAccess(options = {}) {\n const {\n window: _window = defaultWindow,\n dataType = \"Text\"\n } = options;\n const window = _window;\n const isSupported = useSupported(() => window && \"showSaveFilePicker\" in window && \"showOpenFilePicker\" in window);\n const fileHandle = ref();\n const data = ref();\n const file = ref();\n const fileName = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.name) != null ? _b : \"\";\n });\n const fileMIME = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.type) != null ? _b : \"\";\n });\n const fileSize = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.size) != null ? _b : 0;\n });\n const fileLastModified = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.lastModified) != null ? _b : 0;\n });\n async function open(_options = {}) {\n if (!isSupported.value)\n return;\n const [handle] = await window.showOpenFilePicker({ ...toValue(options), ..._options });\n fileHandle.value = handle;\n await updateData();\n }\n async function create(_options = {}) {\n if (!isSupported.value)\n return;\n fileHandle.value = await window.showSaveFilePicker({ ...options, ..._options });\n data.value = void 0;\n await updateData();\n }\n async function save(_options = {}) {\n if (!isSupported.value)\n return;\n if (!fileHandle.value)\n return saveAs(_options);\n if (data.value) {\n const writableStream = await fileHandle.value.createWritable();\n await writableStream.write(data.value);\n await writableStream.close();\n }\n await updateFile();\n }\n async function saveAs(_options = {}) {\n if (!isSupported.value)\n return;\n fileHandle.value = await window.showSaveFilePicker({ ...options, ..._options });\n if (data.value) {\n const writableStream = await fileHandle.value.createWritable();\n await writableStream.write(data.value);\n await writableStream.close();\n }\n await updateFile();\n }\n async function updateFile() {\n var _a;\n file.value = await ((_a = fileHandle.value) == null ? void 0 : _a.getFile());\n }\n async function updateData() {\n var _a, _b;\n await updateFile();\n const type = toValue(dataType);\n if (type === \"Text\")\n data.value = await ((_a = file.value) == null ? void 0 : _a.text());\n else if (type === \"ArrayBuffer\")\n data.value = await ((_b = file.value) == null ? void 0 : _b.arrayBuffer());\n else if (type === \"Blob\")\n data.value = file.value;\n }\n watch(() => toValue(dataType), updateData);\n return {\n isSupported,\n data,\n file,\n fileName,\n fileMIME,\n fileSize,\n fileLastModified,\n open,\n create,\n save,\n saveAs,\n updateData\n };\n}\n\nfunction useFocus(target, options = {}) {\n const { initialValue = false, focusVisible = false, preventScroll = false } = options;\n const innerFocused = ref(false);\n const targetElement = computed(() => unrefElement(target));\n useEventListener(targetElement, \"focus\", (event) => {\n var _a, _b;\n if (!focusVisible || ((_b = (_a = event.target).matches) == null ? void 0 : _b.call(_a, \":focus-visible\")))\n innerFocused.value = true;\n });\n useEventListener(targetElement, \"blur\", () => innerFocused.value = false);\n const focused = computed({\n get: () => innerFocused.value,\n set(value) {\n var _a, _b;\n if (!value && innerFocused.value)\n (_a = targetElement.value) == null ? void 0 : _a.blur();\n else if (value && !innerFocused.value)\n (_b = targetElement.value) == null ? void 0 : _b.focus({ preventScroll });\n }\n });\n watch(\n targetElement,\n () => {\n focused.value = initialValue;\n },\n { immediate: true, flush: \"post\" }\n );\n return { focused };\n}\n\nconst EVENT_FOCUS_IN = \"focusin\";\nconst EVENT_FOCUS_OUT = \"focusout\";\nfunction useFocusWithin(target, options = {}) {\n const { window = defaultWindow } = options;\n const targetElement = computed(() => unrefElement(target));\n const _focused = ref(false);\n const focused = computed(() => _focused.value);\n const activeElement = useActiveElement(options);\n if (!window || !activeElement.value) {\n return { focused };\n }\n useEventListener(targetElement, EVENT_FOCUS_IN, () => _focused.value = true);\n useEventListener(targetElement, EVENT_FOCUS_OUT, () => _focused.value = false);\n return { focused };\n}\n\nfunction useFps(options) {\n var _a;\n const fps = ref(0);\n if (typeof performance === \"undefined\")\n return fps;\n const every = (_a = options == null ? void 0 : options.every) != null ? _a : 10;\n let last = performance.now();\n let ticks = 0;\n useRafFn(() => {\n ticks += 1;\n if (ticks >= every) {\n const now = performance.now();\n const diff = now - last;\n fps.value = Math.round(1e3 / (diff / ticks));\n last = now;\n ticks = 0;\n }\n });\n return fps;\n}\n\nconst eventHandlers = [\n \"fullscreenchange\",\n \"webkitfullscreenchange\",\n \"webkitendfullscreen\",\n \"mozfullscreenchange\",\n \"MSFullscreenChange\"\n];\nfunction useFullscreen(target, options = {}) {\n const {\n document = defaultDocument,\n autoExit = false\n } = options;\n const targetRef = computed(() => {\n var _a;\n return (_a = unrefElement(target)) != null ? _a : document == null ? void 0 : document.querySelector(\"html\");\n });\n const isFullscreen = ref(false);\n const requestMethod = computed(() => {\n return [\n \"requestFullscreen\",\n \"webkitRequestFullscreen\",\n \"webkitEnterFullscreen\",\n \"webkitEnterFullScreen\",\n \"webkitRequestFullScreen\",\n \"mozRequestFullScreen\",\n \"msRequestFullscreen\"\n ].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n });\n const exitMethod = computed(() => {\n return [\n \"exitFullscreen\",\n \"webkitExitFullscreen\",\n \"webkitExitFullScreen\",\n \"webkitCancelFullScreen\",\n \"mozCancelFullScreen\",\n \"msExitFullscreen\"\n ].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n });\n const fullscreenEnabled = computed(() => {\n return [\n \"fullScreen\",\n \"webkitIsFullScreen\",\n \"webkitDisplayingFullscreen\",\n \"mozFullScreen\",\n \"msFullscreenElement\"\n ].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n });\n const fullscreenElementMethod = [\n \"fullscreenElement\",\n \"webkitFullscreenElement\",\n \"mozFullScreenElement\",\n \"msFullscreenElement\"\n ].find((m) => document && m in document);\n const isSupported = useSupported(() => targetRef.value && document && requestMethod.value !== void 0 && exitMethod.value !== void 0 && fullscreenEnabled.value !== void 0);\n const isCurrentElementFullScreen = () => {\n if (fullscreenElementMethod)\n return (document == null ? void 0 : document[fullscreenElementMethod]) === targetRef.value;\n return false;\n };\n const isElementFullScreen = () => {\n if (fullscreenEnabled.value) {\n if (document && document[fullscreenEnabled.value] != null) {\n return document[fullscreenEnabled.value];\n } else {\n const target2 = targetRef.value;\n if ((target2 == null ? void 0 : target2[fullscreenEnabled.value]) != null) {\n return Boolean(target2[fullscreenEnabled.value]);\n }\n }\n }\n return false;\n };\n async function exit() {\n if (!isSupported.value || !isFullscreen.value)\n return;\n if (exitMethod.value) {\n if ((document == null ? void 0 : document[exitMethod.value]) != null) {\n await document[exitMethod.value]();\n } else {\n const target2 = targetRef.value;\n if ((target2 == null ? void 0 : target2[exitMethod.value]) != null)\n await target2[exitMethod.value]();\n }\n }\n isFullscreen.value = false;\n }\n async function enter() {\n if (!isSupported.value || isFullscreen.value)\n return;\n if (isElementFullScreen())\n await exit();\n const target2 = targetRef.value;\n if (requestMethod.value && (target2 == null ? void 0 : target2[requestMethod.value]) != null) {\n await target2[requestMethod.value]();\n isFullscreen.value = true;\n }\n }\n async function toggle() {\n await (isFullscreen.value ? exit() : enter());\n }\n const handlerCallback = () => {\n const isElementFullScreenValue = isElementFullScreen();\n if (!isElementFullScreenValue || isElementFullScreenValue && isCurrentElementFullScreen())\n isFullscreen.value = isElementFullScreenValue;\n };\n useEventListener(document, eventHandlers, handlerCallback, false);\n useEventListener(() => unrefElement(targetRef), eventHandlers, handlerCallback, false);\n if (autoExit)\n tryOnScopeDispose(exit);\n return {\n isSupported,\n isFullscreen,\n enter,\n exit,\n toggle\n };\n}\n\nfunction mapGamepadToXbox360Controller(gamepad) {\n return computed(() => {\n if (gamepad.value) {\n return {\n buttons: {\n a: gamepad.value.buttons[0],\n b: gamepad.value.buttons[1],\n x: gamepad.value.buttons[2],\n y: gamepad.value.buttons[3]\n },\n bumper: {\n left: gamepad.value.buttons[4],\n right: gamepad.value.buttons[5]\n },\n triggers: {\n left: gamepad.value.buttons[6],\n right: gamepad.value.buttons[7]\n },\n stick: {\n left: {\n horizontal: gamepad.value.axes[0],\n vertical: gamepad.value.axes[1],\n button: gamepad.value.buttons[10]\n },\n right: {\n horizontal: gamepad.value.axes[2],\n vertical: gamepad.value.axes[3],\n button: gamepad.value.buttons[11]\n }\n },\n dpad: {\n up: gamepad.value.buttons[12],\n down: gamepad.value.buttons[13],\n left: gamepad.value.buttons[14],\n right: gamepad.value.buttons[15]\n },\n back: gamepad.value.buttons[8],\n start: gamepad.value.buttons[9]\n };\n }\n return null;\n });\n}\nfunction useGamepad(options = {}) {\n const {\n navigator = defaultNavigator\n } = options;\n const isSupported = useSupported(() => navigator && \"getGamepads\" in navigator);\n const gamepads = ref([]);\n const onConnectedHook = createEventHook();\n const onDisconnectedHook = createEventHook();\n const stateFromGamepad = (gamepad) => {\n const hapticActuators = [];\n const vibrationActuator = \"vibrationActuator\" in gamepad ? gamepad.vibrationActuator : null;\n if (vibrationActuator)\n hapticActuators.push(vibrationActuator);\n if (gamepad.hapticActuators)\n hapticActuators.push(...gamepad.hapticActuators);\n return {\n id: gamepad.id,\n index: gamepad.index,\n connected: gamepad.connected,\n mapping: gamepad.mapping,\n timestamp: gamepad.timestamp,\n vibrationActuator: gamepad.vibrationActuator,\n hapticActuators,\n axes: gamepad.axes.map((axes) => axes),\n buttons: gamepad.buttons.map((button) => ({ pressed: button.pressed, touched: button.touched, value: button.value }))\n };\n };\n const updateGamepadState = () => {\n const _gamepads = (navigator == null ? void 0 : navigator.getGamepads()) || [];\n for (const gamepad of _gamepads) {\n if (gamepad && gamepads.value[gamepad.index])\n gamepads.value[gamepad.index] = stateFromGamepad(gamepad);\n }\n };\n const { isActive, pause, resume } = useRafFn(updateGamepadState);\n const onGamepadConnected = (gamepad) => {\n if (!gamepads.value.some(({ index }) => index === gamepad.index)) {\n gamepads.value.push(stateFromGamepad(gamepad));\n onConnectedHook.trigger(gamepad.index);\n }\n resume();\n };\n const onGamepadDisconnected = (gamepad) => {\n gamepads.value = gamepads.value.filter((x) => x.index !== gamepad.index);\n onDisconnectedHook.trigger(gamepad.index);\n };\n useEventListener(\"gamepadconnected\", (e) => onGamepadConnected(e.gamepad));\n useEventListener(\"gamepaddisconnected\", (e) => onGamepadDisconnected(e.gamepad));\n tryOnMounted(() => {\n const _gamepads = (navigator == null ? void 0 : navigator.getGamepads()) || [];\n for (const gamepad of _gamepads) {\n if (gamepad && gamepads.value[gamepad.index])\n onGamepadConnected(gamepad);\n }\n });\n pause();\n return {\n isSupported,\n onConnected: onConnectedHook.on,\n onDisconnected: onDisconnectedHook.on,\n gamepads,\n pause,\n resume,\n isActive\n };\n}\n\nfunction useGeolocation(options = {}) {\n const {\n enableHighAccuracy = true,\n maximumAge = 3e4,\n timeout = 27e3,\n navigator = defaultNavigator,\n immediate = true\n } = options;\n const isSupported = useSupported(() => navigator && \"geolocation\" in navigator);\n const locatedAt = ref(null);\n const error = shallowRef(null);\n const coords = ref({\n accuracy: 0,\n latitude: Number.POSITIVE_INFINITY,\n longitude: Number.POSITIVE_INFINITY,\n altitude: null,\n altitudeAccuracy: null,\n heading: null,\n speed: null\n });\n function updatePosition(position) {\n locatedAt.value = position.timestamp;\n coords.value = position.coords;\n error.value = null;\n }\n let watcher;\n function resume() {\n if (isSupported.value) {\n watcher = navigator.geolocation.watchPosition(\n updatePosition,\n (err) => error.value = err,\n {\n enableHighAccuracy,\n maximumAge,\n timeout\n }\n );\n }\n }\n if (immediate)\n resume();\n function pause() {\n if (watcher && navigator)\n navigator.geolocation.clearWatch(watcher);\n }\n tryOnScopeDispose(() => {\n pause();\n });\n return {\n isSupported,\n coords,\n locatedAt,\n error,\n resume,\n pause\n };\n}\n\nconst defaultEvents$1 = [\"mousemove\", \"mousedown\", \"resize\", \"keydown\", \"touchstart\", \"wheel\"];\nconst oneMinute = 6e4;\nfunction useIdle(timeout = oneMinute, options = {}) {\n const {\n initialState = false,\n listenForVisibilityChange = true,\n events = defaultEvents$1,\n window = defaultWindow,\n eventFilter = throttleFilter(50)\n } = options;\n const idle = ref(initialState);\n const lastActive = ref(timestamp());\n let timer;\n const reset = () => {\n idle.value = false;\n clearTimeout(timer);\n timer = setTimeout(() => idle.value = true, timeout);\n };\n const onEvent = createFilterWrapper(\n eventFilter,\n () => {\n lastActive.value = timestamp();\n reset();\n }\n );\n if (window) {\n const document = window.document;\n for (const event of events)\n useEventListener(window, event, onEvent, { passive: true });\n if (listenForVisibilityChange) {\n useEventListener(document, \"visibilitychange\", () => {\n if (!document.hidden)\n onEvent();\n });\n }\n reset();\n }\n return {\n idle,\n lastActive,\n reset\n };\n}\n\nasync function loadImage(options) {\n return new Promise((resolve, reject) => {\n const img = new Image();\n const { src, srcset, sizes, class: clazz, loading, crossorigin, referrerPolicy } = options;\n img.src = src;\n if (srcset)\n img.srcset = srcset;\n if (sizes)\n img.sizes = sizes;\n if (clazz)\n img.className = clazz;\n if (loading)\n img.loading = loading;\n if (crossorigin)\n img.crossOrigin = crossorigin;\n if (referrerPolicy)\n img.referrerPolicy = referrerPolicy;\n img.onload = () => resolve(img);\n img.onerror = reject;\n });\n}\nfunction useImage(options, asyncStateOptions = {}) {\n const state = useAsyncState(\n () => loadImage(toValue(options)),\n void 0,\n {\n resetOnExecute: true,\n ...asyncStateOptions\n }\n );\n watch(\n () => toValue(options),\n () => state.execute(asyncStateOptions.delay),\n { deep: true }\n );\n return state;\n}\n\nfunction resolveElement(el) {\n if (typeof Window !== \"undefined\" && el instanceof Window)\n return el.document.documentElement;\n if (typeof Document !== \"undefined\" && el instanceof Document)\n return el.documentElement;\n return el;\n}\n\nconst ARRIVED_STATE_THRESHOLD_PIXELS = 1;\nfunction useScroll(element, options = {}) {\n const {\n throttle = 0,\n idle = 200,\n onStop = noop,\n onScroll = noop,\n offset = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n eventListenerOptions = {\n capture: false,\n passive: true\n },\n behavior = \"auto\",\n window = defaultWindow,\n onError = (e) => {\n console.error(e);\n }\n } = options;\n const internalX = ref(0);\n const internalY = ref(0);\n const x = computed({\n get() {\n return internalX.value;\n },\n set(x2) {\n scrollTo(x2, void 0);\n }\n });\n const y = computed({\n get() {\n return internalY.value;\n },\n set(y2) {\n scrollTo(void 0, y2);\n }\n });\n function scrollTo(_x, _y) {\n var _a, _b, _c, _d;\n if (!window)\n return;\n const _element = toValue(element);\n if (!_element)\n return;\n (_c = _element instanceof Document ? window.document.body : _element) == null ? void 0 : _c.scrollTo({\n top: (_a = toValue(_y)) != null ? _a : y.value,\n left: (_b = toValue(_x)) != null ? _b : x.value,\n behavior: toValue(behavior)\n });\n const scrollContainer = ((_d = _element == null ? void 0 : _element.document) == null ? void 0 : _d.documentElement) || (_element == null ? void 0 : _element.documentElement) || _element;\n if (x != null)\n internalX.value = scrollContainer.scrollLeft;\n if (y != null)\n internalY.value = scrollContainer.scrollTop;\n }\n const isScrolling = ref(false);\n const arrivedState = reactive({\n left: true,\n right: false,\n top: true,\n bottom: false\n });\n const directions = reactive({\n left: false,\n right: false,\n top: false,\n bottom: false\n });\n const onScrollEnd = (e) => {\n if (!isScrolling.value)\n return;\n isScrolling.value = false;\n directions.left = false;\n directions.right = false;\n directions.top = false;\n directions.bottom = false;\n onStop(e);\n };\n const onScrollEndDebounced = useDebounceFn(onScrollEnd, throttle + idle);\n const setArrivedState = (target) => {\n var _a;\n if (!window)\n return;\n const el = ((_a = target == null ? void 0 : target.document) == null ? void 0 : _a.documentElement) || (target == null ? void 0 : target.documentElement) || unrefElement(target);\n const { display, flexDirection } = getComputedStyle(el);\n const scrollLeft = el.scrollLeft;\n directions.left = scrollLeft < internalX.value;\n directions.right = scrollLeft > internalX.value;\n const left = Math.abs(scrollLeft) <= (offset.left || 0);\n const right = Math.abs(scrollLeft) + el.clientWidth >= el.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n if (display === \"flex\" && flexDirection === \"row-reverse\") {\n arrivedState.left = right;\n arrivedState.right = left;\n } else {\n arrivedState.left = left;\n arrivedState.right = right;\n }\n internalX.value = scrollLeft;\n let scrollTop = el.scrollTop;\n if (target === window.document && !scrollTop)\n scrollTop = window.document.body.scrollTop;\n directions.top = scrollTop < internalY.value;\n directions.bottom = scrollTop > internalY.value;\n const top = Math.abs(scrollTop) <= (offset.top || 0);\n const bottom = Math.abs(scrollTop) + el.clientHeight >= el.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n if (display === \"flex\" && flexDirection === \"column-reverse\") {\n arrivedState.top = bottom;\n arrivedState.bottom = top;\n } else {\n arrivedState.top = top;\n arrivedState.bottom = bottom;\n }\n internalY.value = scrollTop;\n };\n const onScrollHandler = (e) => {\n var _a;\n if (!window)\n return;\n const eventTarget = (_a = e.target.documentElement) != null ? _a : e.target;\n setArrivedState(eventTarget);\n isScrolling.value = true;\n onScrollEndDebounced(e);\n onScroll(e);\n };\n useEventListener(\n element,\n \"scroll\",\n throttle ? useThrottleFn(onScrollHandler, throttle, true, false) : onScrollHandler,\n eventListenerOptions\n );\n tryOnMounted(() => {\n try {\n const _element = toValue(element);\n if (!_element)\n return;\n setArrivedState(_element);\n } catch (e) {\n onError(e);\n }\n });\n useEventListener(\n element,\n \"scrollend\",\n onScrollEnd,\n eventListenerOptions\n );\n return {\n x,\n y,\n isScrolling,\n arrivedState,\n directions,\n measure() {\n const _element = toValue(element);\n if (window && _element)\n setArrivedState(_element);\n }\n };\n}\n\nfunction useInfiniteScroll(element, onLoadMore, options = {}) {\n var _a;\n const {\n direction = \"bottom\",\n interval = 100,\n canLoadMore = () => true\n } = options;\n const state = reactive(useScroll(\n element,\n {\n ...options,\n offset: {\n [direction]: (_a = options.distance) != null ? _a : 0,\n ...options.offset\n }\n }\n ));\n const promise = ref();\n const isLoading = computed(() => !!promise.value);\n const observedElement = computed(() => {\n return resolveElement(toValue(element));\n });\n const isElementVisible = useElementVisibility(observedElement);\n function checkAndLoad() {\n state.measure();\n if (!observedElement.value || !isElementVisible.value || !canLoadMore(observedElement.value))\n return;\n const { scrollHeight, clientHeight, scrollWidth, clientWidth } = observedElement.value;\n const isNarrower = direction === \"bottom\" || direction === \"top\" ? scrollHeight <= clientHeight : scrollWidth <= clientWidth;\n if (state.arrivedState[direction] || isNarrower) {\n if (!promise.value) {\n promise.value = Promise.all([\n onLoadMore(state),\n new Promise((resolve) => setTimeout(resolve, interval))\n ]).finally(() => {\n promise.value = null;\n nextTick(() => checkAndLoad());\n });\n }\n }\n }\n const stop = watch(\n () => [state.arrivedState[direction], isElementVisible.value],\n checkAndLoad,\n { immediate: true }\n );\n tryOnUnmounted(stop);\n return {\n isLoading,\n reset() {\n nextTick(() => checkAndLoad());\n }\n };\n}\n\nconst defaultEvents = [\"mousedown\", \"mouseup\", \"keydown\", \"keyup\"];\nfunction useKeyModifier(modifier, options = {}) {\n const {\n events = defaultEvents,\n document = defaultDocument,\n initial = null\n } = options;\n const state = ref(initial);\n if (document) {\n events.forEach((listenerEvent) => {\n useEventListener(document, listenerEvent, (evt) => {\n if (typeof evt.getModifierState === \"function\")\n state.value = evt.getModifierState(modifier);\n });\n });\n }\n return state;\n}\n\nfunction useLocalStorage(key, initialValue, options = {}) {\n const { window = defaultWindow } = options;\n return useStorage(key, initialValue, window == null ? void 0 : window.localStorage, options);\n}\n\nconst DefaultMagicKeysAliasMap = {\n ctrl: \"control\",\n command: \"meta\",\n cmd: \"meta\",\n option: \"alt\",\n up: \"arrowup\",\n down: \"arrowdown\",\n left: \"arrowleft\",\n right: \"arrowright\"\n};\n\nfunction useMagicKeys(options = {}) {\n const {\n reactive: useReactive = false,\n target = defaultWindow,\n aliasMap = DefaultMagicKeysAliasMap,\n passive = true,\n onEventFired = noop\n } = options;\n const current = reactive(/* @__PURE__ */ new Set());\n const obj = {\n toJSON() {\n return {};\n },\n current\n };\n const refs = useReactive ? reactive(obj) : obj;\n const metaDeps = /* @__PURE__ */ new Set();\n const usedKeys = /* @__PURE__ */ new Set();\n function setRefs(key, value) {\n if (key in refs) {\n if (useReactive)\n refs[key] = value;\n else\n refs[key].value = value;\n }\n }\n function reset() {\n current.clear();\n for (const key of usedKeys)\n setRefs(key, false);\n }\n function updateRefs(e, value) {\n var _a, _b;\n const key = (_a = e.key) == null ? void 0 : _a.toLowerCase();\n const code = (_b = e.code) == null ? void 0 : _b.toLowerCase();\n const values = [code, key].filter(Boolean);\n if (key) {\n if (value)\n current.add(key);\n else\n current.delete(key);\n }\n for (const key2 of values) {\n usedKeys.add(key2);\n setRefs(key2, value);\n }\n if (key === \"meta\" && !value) {\n metaDeps.forEach((key2) => {\n current.delete(key2);\n setRefs(key2, false);\n });\n metaDeps.clear();\n } else if (typeof e.getModifierState === \"function\" && e.getModifierState(\"Meta\") && value) {\n [...current, ...values].forEach((key2) => metaDeps.add(key2));\n }\n }\n useEventListener(target, \"keydown\", (e) => {\n updateRefs(e, true);\n return onEventFired(e);\n }, { passive });\n useEventListener(target, \"keyup\", (e) => {\n updateRefs(e, false);\n return onEventFired(e);\n }, { passive });\n useEventListener(\"blur\", reset, { passive: true });\n useEventListener(\"focus\", reset, { passive: true });\n const proxy = new Proxy(\n refs,\n {\n get(target2, prop, rec) {\n if (typeof prop !== \"string\")\n return Reflect.get(target2, prop, rec);\n prop = prop.toLowerCase();\n if (prop in aliasMap)\n prop = aliasMap[prop];\n if (!(prop in refs)) {\n if (/[+_-]/.test(prop)) {\n const keys = prop.split(/[+_-]/g).map((i) => i.trim());\n refs[prop] = computed(() => keys.every((key) => toValue(proxy[key])));\n } else {\n refs[prop] = ref(false);\n }\n }\n const r = Reflect.get(target2, prop, rec);\n return useReactive ? toValue(r) : r;\n }\n }\n );\n return proxy;\n}\n\nfunction usingElRef(source, cb) {\n if (toValue(source))\n cb(toValue(source));\n}\nfunction timeRangeToArray(timeRanges) {\n let ranges = [];\n for (let i = 0; i < timeRanges.length; ++i)\n ranges = [...ranges, [timeRanges.start(i), timeRanges.end(i)]];\n return ranges;\n}\nfunction tracksToArray(tracks) {\n return Array.from(tracks).map(({ label, kind, language, mode, activeCues, cues, inBandMetadataTrackDispatchType }, id) => ({ id, label, kind, language, mode, activeCues, cues, inBandMetadataTrackDispatchType }));\n}\nconst defaultOptions = {\n src: \"\",\n tracks: []\n};\nfunction useMediaControls(target, options = {}) {\n target = toRef(target);\n options = {\n ...defaultOptions,\n ...options\n };\n const {\n document = defaultDocument\n } = options;\n const currentTime = ref(0);\n const duration = ref(0);\n const seeking = ref(false);\n const volume = ref(1);\n const waiting = ref(false);\n const ended = ref(false);\n const playing = ref(false);\n const rate = ref(1);\n const stalled = ref(false);\n const buffered = ref([]);\n const tracks = ref([]);\n const selectedTrack = ref(-1);\n const isPictureInPicture = ref(false);\n const muted = ref(false);\n const supportsPictureInPicture = document && \"pictureInPictureEnabled\" in document;\n const sourceErrorEvent = createEventHook();\n const disableTrack = (track) => {\n usingElRef(target, (el) => {\n if (track) {\n const id = typeof track === \"number\" ? track : track.id;\n el.textTracks[id].mode = \"disabled\";\n } else {\n for (let i = 0; i < el.textTracks.length; ++i)\n el.textTracks[i].mode = \"disabled\";\n }\n selectedTrack.value = -1;\n });\n };\n const enableTrack = (track, disableTracks = true) => {\n usingElRef(target, (el) => {\n const id = typeof track === \"number\" ? track : track.id;\n if (disableTracks)\n disableTrack();\n el.textTracks[id].mode = \"showing\";\n selectedTrack.value = id;\n });\n };\n const togglePictureInPicture = () => {\n return new Promise((resolve, reject) => {\n usingElRef(target, async (el) => {\n if (supportsPictureInPicture) {\n if (!isPictureInPicture.value) {\n el.requestPictureInPicture().then(resolve).catch(reject);\n } else {\n document.exitPictureInPicture().then(resolve).catch(reject);\n }\n }\n });\n });\n };\n watchEffect(() => {\n if (!document)\n return;\n const el = toValue(target);\n if (!el)\n return;\n const src = toValue(options.src);\n let sources = [];\n if (!src)\n return;\n if (typeof src === \"string\")\n sources = [{ src }];\n else if (Array.isArray(src))\n sources = src;\n else if (isObject(src))\n sources = [src];\n el.querySelectorAll(\"source\").forEach((e) => {\n e.removeEventListener(\"error\", sourceErrorEvent.trigger);\n e.remove();\n });\n sources.forEach(({ src: src2, type }) => {\n const source = document.createElement(\"source\");\n source.setAttribute(\"src\", src2);\n source.setAttribute(\"type\", type || \"\");\n source.addEventListener(\"error\", sourceErrorEvent.trigger);\n el.appendChild(source);\n });\n el.load();\n });\n tryOnScopeDispose(() => {\n const el = toValue(target);\n if (!el)\n return;\n el.querySelectorAll(\"source\").forEach((e) => e.removeEventListener(\"error\", sourceErrorEvent.trigger));\n });\n watch([target, volume], () => {\n const el = toValue(target);\n if (!el)\n return;\n el.volume = volume.value;\n });\n watch([target, muted], () => {\n const el = toValue(target);\n if (!el)\n return;\n el.muted = muted.value;\n });\n watch([target, rate], () => {\n const el = toValue(target);\n if (!el)\n return;\n el.playbackRate = rate.value;\n });\n watchEffect(() => {\n if (!document)\n return;\n const textTracks = toValue(options.tracks);\n const el = toValue(target);\n if (!textTracks || !textTracks.length || !el)\n return;\n el.querySelectorAll(\"track\").forEach((e) => e.remove());\n textTracks.forEach(({ default: isDefault, kind, label, src, srcLang }, i) => {\n const track = document.createElement(\"track\");\n track.default = isDefault || false;\n track.kind = kind;\n track.label = label;\n track.src = src;\n track.srclang = srcLang;\n if (track.default)\n selectedTrack.value = i;\n el.appendChild(track);\n });\n });\n const { ignoreUpdates: ignoreCurrentTimeUpdates } = watchIgnorable(currentTime, (time) => {\n const el = toValue(target);\n if (!el)\n return;\n el.currentTime = time;\n });\n const { ignoreUpdates: ignorePlayingUpdates } = watchIgnorable(playing, (isPlaying) => {\n const el = toValue(target);\n if (!el)\n return;\n if (isPlaying)\n el.play();\n else\n el.pause();\n });\n useEventListener(target, \"timeupdate\", () => ignoreCurrentTimeUpdates(() => currentTime.value = toValue(target).currentTime));\n useEventListener(target, \"durationchange\", () => duration.value = toValue(target).duration);\n useEventListener(target, \"progress\", () => buffered.value = timeRangeToArray(toValue(target).buffered));\n useEventListener(target, \"seeking\", () => seeking.value = true);\n useEventListener(target, \"seeked\", () => seeking.value = false);\n useEventListener(target, [\"waiting\", \"loadstart\"], () => {\n waiting.value = true;\n ignorePlayingUpdates(() => playing.value = false);\n });\n useEventListener(target, \"loadeddata\", () => waiting.value = false);\n useEventListener(target, \"playing\", () => {\n waiting.value = false;\n ended.value = false;\n ignorePlayingUpdates(() => playing.value = true);\n });\n useEventListener(target, \"ratechange\", () => rate.value = toValue(target).playbackRate);\n useEventListener(target, \"stalled\", () => stalled.value = true);\n useEventListener(target, \"ended\", () => ended.value = true);\n useEventListener(target, \"pause\", () => ignorePlayingUpdates(() => playing.value = false));\n useEventListener(target, \"play\", () => ignorePlayingUpdates(() => playing.value = true));\n useEventListener(target, \"enterpictureinpicture\", () => isPictureInPicture.value = true);\n useEventListener(target, \"leavepictureinpicture\", () => isPictureInPicture.value = false);\n useEventListener(target, \"volumechange\", () => {\n const el = toValue(target);\n if (!el)\n return;\n volume.value = el.volume;\n muted.value = el.muted;\n });\n const listeners = [];\n const stop = watch([target], () => {\n const el = toValue(target);\n if (!el)\n return;\n stop();\n listeners[0] = useEventListener(el.textTracks, \"addtrack\", () => tracks.value = tracksToArray(el.textTracks));\n listeners[1] = useEventListener(el.textTracks, \"removetrack\", () => tracks.value = tracksToArray(el.textTracks));\n listeners[2] = useEventListener(el.textTracks, \"change\", () => tracks.value = tracksToArray(el.textTracks));\n });\n tryOnScopeDispose(() => listeners.forEach((listener) => listener()));\n return {\n currentTime,\n duration,\n waiting,\n seeking,\n ended,\n stalled,\n buffered,\n playing,\n rate,\n // Volume\n volume,\n muted,\n // Tracks\n tracks,\n selectedTrack,\n enableTrack,\n disableTrack,\n // Picture in Picture\n supportsPictureInPicture,\n togglePictureInPicture,\n isPictureInPicture,\n // Events\n onSourceError: sourceErrorEvent.on\n };\n}\n\nfunction getMapVue2Compat() {\n const data = shallowReactive({});\n return {\n get: (key) => data[key],\n set: (key, value) => set(data, key, value),\n has: (key) => hasOwn(data, key),\n delete: (key) => del(data, key),\n clear: () => {\n Object.keys(data).forEach((key) => {\n del(data, key);\n });\n }\n };\n}\nfunction useMemoize(resolver, options) {\n const initCache = () => {\n if (options == null ? void 0 : options.cache)\n return shallowReactive(options.cache);\n if (isVue2)\n return getMapVue2Compat();\n return shallowReactive(/* @__PURE__ */ new Map());\n };\n const cache = initCache();\n const generateKey = (...args) => (options == null ? void 0 : options.getKey) ? options.getKey(...args) : JSON.stringify(args);\n const _loadData = (key, ...args) => {\n cache.set(key, resolver(...args));\n return cache.get(key);\n };\n const loadData = (...args) => _loadData(generateKey(...args), ...args);\n const deleteData = (...args) => {\n cache.delete(generateKey(...args));\n };\n const clearData = () => {\n cache.clear();\n };\n const memoized = (...args) => {\n const key = generateKey(...args);\n if (cache.has(key))\n return cache.get(key);\n return _loadData(key, ...args);\n };\n memoized.load = loadData;\n memoized.delete = deleteData;\n memoized.clear = clearData;\n memoized.generateKey = generateKey;\n memoized.cache = cache;\n return memoized;\n}\n\nfunction useMemory(options = {}) {\n const memory = ref();\n const isSupported = useSupported(() => typeof performance !== \"undefined\" && \"memory\" in performance);\n if (isSupported.value) {\n const { interval = 1e3 } = options;\n useIntervalFn(() => {\n memory.value = performance.memory;\n }, interval, { immediate: options.immediate, immediateCallback: options.immediateCallback });\n }\n return { isSupported, memory };\n}\n\nconst UseMouseBuiltinExtractors = {\n page: (event) => [event.pageX, event.pageY],\n client: (event) => [event.clientX, event.clientY],\n screen: (event) => [event.screenX, event.screenY],\n movement: (event) => event instanceof Touch ? null : [event.movementX, event.movementY]\n};\nfunction useMouse(options = {}) {\n const {\n type = \"page\",\n touch = true,\n resetOnTouchEnds = false,\n initialValue = { x: 0, y: 0 },\n window = defaultWindow,\n target = window,\n scroll = true,\n eventFilter\n } = options;\n let _prevMouseEvent = null;\n const x = ref(initialValue.x);\n const y = ref(initialValue.y);\n const sourceType = ref(null);\n const extractor = typeof type === \"function\" ? type : UseMouseBuiltinExtractors[type];\n const mouseHandler = (event) => {\n const result = extractor(event);\n _prevMouseEvent = event;\n if (result) {\n [x.value, y.value] = result;\n sourceType.value = \"mouse\";\n }\n };\n const touchHandler = (event) => {\n if (event.touches.length > 0) {\n const result = extractor(event.touches[0]);\n if (result) {\n [x.value, y.value] = result;\n sourceType.value = \"touch\";\n }\n }\n };\n const scrollHandler = () => {\n if (!_prevMouseEvent || !window)\n return;\n const pos = extractor(_prevMouseEvent);\n if (_prevMouseEvent instanceof MouseEvent && pos) {\n x.value = pos[0] + window.scrollX;\n y.value = pos[1] + window.scrollY;\n }\n };\n const reset = () => {\n x.value = initialValue.x;\n y.value = initialValue.y;\n };\n const mouseHandlerWrapper = eventFilter ? (event) => eventFilter(() => mouseHandler(event), {}) : (event) => mouseHandler(event);\n const touchHandlerWrapper = eventFilter ? (event) => eventFilter(() => touchHandler(event), {}) : (event) => touchHandler(event);\n const scrollHandlerWrapper = eventFilter ? () => eventFilter(() => scrollHandler(), {}) : () => scrollHandler();\n if (target) {\n const listenerOptions = { passive: true };\n useEventListener(target, [\"mousemove\", \"dragover\"], mouseHandlerWrapper, listenerOptions);\n if (touch && type !== \"movement\") {\n useEventListener(target, [\"touchstart\", \"touchmove\"], touchHandlerWrapper, listenerOptions);\n if (resetOnTouchEnds)\n useEventListener(target, \"touchend\", reset, listenerOptions);\n }\n if (scroll && type === \"page\")\n useEventListener(window, \"scroll\", scrollHandlerWrapper, { passive: true });\n }\n return {\n x,\n y,\n sourceType\n };\n}\n\nfunction useMouseInElement(target, options = {}) {\n const {\n handleOutside = true,\n window = defaultWindow\n } = options;\n const type = options.type || \"page\";\n const { x, y, sourceType } = useMouse(options);\n const targetRef = ref(target != null ? target : window == null ? void 0 : window.document.body);\n const elementX = ref(0);\n const elementY = ref(0);\n const elementPositionX = ref(0);\n const elementPositionY = ref(0);\n const elementHeight = ref(0);\n const elementWidth = ref(0);\n const isOutside = ref(true);\n let stop = () => {\n };\n if (window) {\n stop = watch(\n [targetRef, x, y],\n () => {\n const el = unrefElement(targetRef);\n if (!el || !(el instanceof Element))\n return;\n const {\n left,\n top,\n width,\n height\n } = el.getBoundingClientRect();\n elementPositionX.value = left + (type === \"page\" ? window.pageXOffset : 0);\n elementPositionY.value = top + (type === \"page\" ? window.pageYOffset : 0);\n elementHeight.value = height;\n elementWidth.value = width;\n const elX = x.value - elementPositionX.value;\n const elY = y.value - elementPositionY.value;\n isOutside.value = width === 0 || height === 0 || elX < 0 || elY < 0 || elX > width || elY > height;\n if (handleOutside || !isOutside.value) {\n elementX.value = elX;\n elementY.value = elY;\n }\n },\n { immediate: true }\n );\n useEventListener(document, \"mouseleave\", () => {\n isOutside.value = true;\n });\n }\n return {\n x,\n y,\n sourceType,\n elementX,\n elementY,\n elementPositionX,\n elementPositionY,\n elementHeight,\n elementWidth,\n isOutside,\n stop\n };\n}\n\nfunction useMousePressed(options = {}) {\n const {\n touch = true,\n drag = true,\n capture = false,\n initialValue = false,\n window = defaultWindow\n } = options;\n const pressed = ref(initialValue);\n const sourceType = ref(null);\n if (!window) {\n return {\n pressed,\n sourceType\n };\n }\n const onPressed = (srcType) => () => {\n pressed.value = true;\n sourceType.value = srcType;\n };\n const onReleased = () => {\n pressed.value = false;\n sourceType.value = null;\n };\n const target = computed(() => unrefElement(options.target) || window);\n useEventListener(target, \"mousedown\", onPressed(\"mouse\"), { passive: true, capture });\n useEventListener(window, \"mouseleave\", onReleased, { passive: true, capture });\n useEventListener(window, \"mouseup\", onReleased, { passive: true, capture });\n if (drag) {\n useEventListener(target, \"dragstart\", onPressed(\"mouse\"), { passive: true, capture });\n useEventListener(window, \"drop\", onReleased, { passive: true, capture });\n useEventListener(window, \"dragend\", onReleased, { passive: true, capture });\n }\n if (touch) {\n useEventListener(target, \"touchstart\", onPressed(\"touch\"), { passive: true, capture });\n useEventListener(window, \"touchend\", onReleased, { passive: true, capture });\n useEventListener(window, \"touchcancel\", onReleased, { passive: true, capture });\n }\n return {\n pressed,\n sourceType\n };\n}\n\nfunction useNavigatorLanguage(options = {}) {\n const { window = defaultWindow } = options;\n const navigator = window == null ? void 0 : window.navigator;\n const isSupported = useSupported(() => navigator && \"language\" in navigator);\n const language = ref(navigator == null ? void 0 : navigator.language);\n useEventListener(window, \"languagechange\", () => {\n if (navigator)\n language.value = navigator.language;\n });\n return {\n isSupported,\n language\n };\n}\n\nfunction useNetwork(options = {}) {\n const { window = defaultWindow } = options;\n const navigator = window == null ? void 0 : window.navigator;\n const isSupported = useSupported(() => navigator && \"connection\" in navigator);\n const isOnline = ref(true);\n const saveData = ref(false);\n const offlineAt = ref(void 0);\n const onlineAt = ref(void 0);\n const downlink = ref(void 0);\n const downlinkMax = ref(void 0);\n const rtt = ref(void 0);\n const effectiveType = ref(void 0);\n const type = ref(\"unknown\");\n const connection = isSupported.value && navigator.connection;\n function updateNetworkInformation() {\n if (!navigator)\n return;\n isOnline.value = navigator.onLine;\n offlineAt.value = isOnline.value ? void 0 : Date.now();\n onlineAt.value = isOnline.value ? Date.now() : void 0;\n if (connection) {\n downlink.value = connection.downlink;\n downlinkMax.value = connection.downlinkMax;\n effectiveType.value = connection.effectiveType;\n rtt.value = connection.rtt;\n saveData.value = connection.saveData;\n type.value = connection.type;\n }\n }\n if (window) {\n useEventListener(window, \"offline\", () => {\n isOnline.value = false;\n offlineAt.value = Date.now();\n });\n useEventListener(window, \"online\", () => {\n isOnline.value = true;\n onlineAt.value = Date.now();\n });\n }\n if (connection)\n useEventListener(connection, \"change\", updateNetworkInformation, false);\n updateNetworkInformation();\n return {\n isSupported: readonly(isSupported),\n isOnline: readonly(isOnline),\n saveData: readonly(saveData),\n offlineAt: readonly(offlineAt),\n onlineAt: readonly(onlineAt),\n downlink: readonly(downlink),\n downlinkMax: readonly(downlinkMax),\n effectiveType: readonly(effectiveType),\n rtt: readonly(rtt),\n type: readonly(type)\n };\n}\n\nfunction useNow(options = {}) {\n const {\n controls: exposeControls = false,\n interval = \"requestAnimationFrame\"\n } = options;\n const now = ref(/* @__PURE__ */ new Date());\n const update = () => now.value = /* @__PURE__ */ new Date();\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(update, { immediate: true }) : useIntervalFn(update, interval, { immediate: true });\n if (exposeControls) {\n return {\n now,\n ...controls\n };\n } else {\n return now;\n }\n}\n\nfunction useObjectUrl(object) {\n const url = ref();\n const release = () => {\n if (url.value)\n URL.revokeObjectURL(url.value);\n url.value = void 0;\n };\n watch(\n () => toValue(object),\n (newObject) => {\n release();\n if (newObject)\n url.value = URL.createObjectURL(newObject);\n },\n { immediate: true }\n );\n tryOnScopeDispose(release);\n return readonly(url);\n}\n\nfunction useClamp(value, min, max) {\n if (typeof value === \"function\" || isReadonly(value))\n return computed(() => clamp(toValue(value), toValue(min), toValue(max)));\n const _value = ref(value);\n return computed({\n get() {\n return _value.value = clamp(_value.value, toValue(min), toValue(max));\n },\n set(value2) {\n _value.value = clamp(value2, toValue(min), toValue(max));\n }\n });\n}\n\nfunction useOffsetPagination(options) {\n const {\n total = Number.POSITIVE_INFINITY,\n pageSize = 10,\n page = 1,\n onPageChange = noop,\n onPageSizeChange = noop,\n onPageCountChange = noop\n } = options;\n const currentPageSize = useClamp(pageSize, 1, Number.POSITIVE_INFINITY);\n const pageCount = computed(() => Math.max(\n 1,\n Math.ceil(toValue(total) / toValue(currentPageSize))\n ));\n const currentPage = useClamp(page, 1, pageCount);\n const isFirstPage = computed(() => currentPage.value === 1);\n const isLastPage = computed(() => currentPage.value === pageCount.value);\n if (isRef(page)) {\n syncRef(page, currentPage, {\n direction: isReadonly(page) ? \"ltr\" : \"both\"\n });\n }\n if (isRef(pageSize)) {\n syncRef(pageSize, currentPageSize, {\n direction: isReadonly(pageSize) ? \"ltr\" : \"both\"\n });\n }\n function prev() {\n currentPage.value--;\n }\n function next() {\n currentPage.value++;\n }\n const returnValue = {\n currentPage,\n currentPageSize,\n pageCount,\n isFirstPage,\n isLastPage,\n prev,\n next\n };\n watch(currentPage, () => {\n onPageChange(reactive(returnValue));\n });\n watch(currentPageSize, () => {\n onPageSizeChange(reactive(returnValue));\n });\n watch(pageCount, () => {\n onPageCountChange(reactive(returnValue));\n });\n return returnValue;\n}\n\nfunction useOnline(options = {}) {\n const { isOnline } = useNetwork(options);\n return isOnline;\n}\n\nfunction usePageLeave(options = {}) {\n const { window = defaultWindow } = options;\n const isLeft = ref(false);\n const handler = (event) => {\n if (!window)\n return;\n event = event || window.event;\n const from = event.relatedTarget || event.toElement;\n isLeft.value = !from;\n };\n if (window) {\n useEventListener(window, \"mouseout\", handler, { passive: true });\n useEventListener(window.document, \"mouseleave\", handler, { passive: true });\n useEventListener(window.document, \"mouseenter\", handler, { passive: true });\n }\n return isLeft;\n}\n\nfunction useScreenOrientation(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"screen\" in window && \"orientation\" in window.screen);\n const screenOrientation = isSupported.value ? window.screen.orientation : {};\n const orientation = ref(screenOrientation.type);\n const angle = ref(screenOrientation.angle || 0);\n if (isSupported.value) {\n useEventListener(window, \"orientationchange\", () => {\n orientation.value = screenOrientation.type;\n angle.value = screenOrientation.angle;\n });\n }\n const lockOrientation = (type) => {\n if (isSupported.value && typeof screenOrientation.lock === \"function\")\n return screenOrientation.lock(type);\n return Promise.reject(new Error(\"Not supported\"));\n };\n const unlockOrientation = () => {\n if (isSupported.value && typeof screenOrientation.unlock === \"function\")\n screenOrientation.unlock();\n };\n return {\n isSupported,\n orientation,\n angle,\n lockOrientation,\n unlockOrientation\n };\n}\n\nfunction useParallax(target, options = {}) {\n const {\n deviceOrientationTiltAdjust = (i) => i,\n deviceOrientationRollAdjust = (i) => i,\n mouseTiltAdjust = (i) => i,\n mouseRollAdjust = (i) => i,\n window = defaultWindow\n } = options;\n const orientation = reactive(useDeviceOrientation({ window }));\n const screenOrientation = reactive(useScreenOrientation({ window }));\n const {\n elementX: x,\n elementY: y,\n elementWidth: width,\n elementHeight: height\n } = useMouseInElement(target, { handleOutside: false, window });\n const source = computed(() => {\n if (orientation.isSupported && (orientation.alpha != null && orientation.alpha !== 0 || orientation.gamma != null && orientation.gamma !== 0)) {\n return \"deviceOrientation\";\n }\n return \"mouse\";\n });\n const roll = computed(() => {\n if (source.value === \"deviceOrientation\") {\n let value;\n switch (screenOrientation.orientation) {\n case \"landscape-primary\":\n value = orientation.gamma / 90;\n break;\n case \"landscape-secondary\":\n value = -orientation.gamma / 90;\n break;\n case \"portrait-primary\":\n value = -orientation.beta / 90;\n break;\n case \"portrait-secondary\":\n value = orientation.beta / 90;\n break;\n default:\n value = -orientation.beta / 90;\n }\n return deviceOrientationRollAdjust(value);\n } else {\n const value = -(y.value - height.value / 2) / height.value;\n return mouseRollAdjust(value);\n }\n });\n const tilt = computed(() => {\n if (source.value === \"deviceOrientation\") {\n let value;\n switch (screenOrientation.orientation) {\n case \"landscape-primary\":\n value = orientation.beta / 90;\n break;\n case \"landscape-secondary\":\n value = -orientation.beta / 90;\n break;\n case \"portrait-primary\":\n value = orientation.gamma / 90;\n break;\n case \"portrait-secondary\":\n value = -orientation.gamma / 90;\n break;\n default:\n value = orientation.gamma / 90;\n }\n return deviceOrientationTiltAdjust(value);\n } else {\n const value = (x.value - width.value / 2) / width.value;\n return mouseTiltAdjust(value);\n }\n });\n return { roll, tilt, source };\n}\n\nfunction useParentElement(element = useCurrentElement()) {\n const parentElement = shallowRef();\n const update = () => {\n const el = unrefElement(element);\n if (el)\n parentElement.value = el.parentElement;\n };\n tryOnMounted(update);\n watch(() => toValue(element), update);\n return parentElement;\n}\n\nfunction usePerformanceObserver(options, callback) {\n const {\n window = defaultWindow,\n immediate = true,\n ...performanceOptions\n } = options;\n const isSupported = useSupported(() => window && \"PerformanceObserver\" in window);\n let observer;\n const stop = () => {\n observer == null ? void 0 : observer.disconnect();\n };\n const start = () => {\n if (isSupported.value) {\n stop();\n observer = new PerformanceObserver(callback);\n observer.observe(performanceOptions);\n }\n };\n tryOnScopeDispose(stop);\n if (immediate)\n start();\n return {\n isSupported,\n start,\n stop\n };\n}\n\nconst defaultState = {\n x: 0,\n y: 0,\n pointerId: 0,\n pressure: 0,\n tiltX: 0,\n tiltY: 0,\n width: 0,\n height: 0,\n twist: 0,\n pointerType: null\n};\nconst keys = /* @__PURE__ */ Object.keys(defaultState);\nfunction usePointer(options = {}) {\n const {\n target = defaultWindow\n } = options;\n const isInside = ref(false);\n const state = ref(options.initialValue || {});\n Object.assign(state.value, defaultState, state.value);\n const handler = (event) => {\n isInside.value = true;\n if (options.pointerTypes && !options.pointerTypes.includes(event.pointerType))\n return;\n state.value = objectPick(event, keys, false);\n };\n if (target) {\n const listenerOptions = { passive: true };\n useEventListener(target, [\"pointerdown\", \"pointermove\", \"pointerup\"], handler, listenerOptions);\n useEventListener(target, \"pointerleave\", () => isInside.value = false, listenerOptions);\n }\n return {\n ...toRefs(state),\n isInside\n };\n}\n\nfunction usePointerLock(target, options = {}) {\n const { document = defaultDocument } = options;\n const isSupported = useSupported(() => document && \"pointerLockElement\" in document);\n const element = ref();\n const triggerElement = ref();\n let targetElement;\n if (isSupported.value) {\n useEventListener(document, \"pointerlockchange\", () => {\n var _a;\n const currentElement = (_a = document.pointerLockElement) != null ? _a : element.value;\n if (targetElement && currentElement === targetElement) {\n element.value = document.pointerLockElement;\n if (!element.value)\n targetElement = triggerElement.value = null;\n }\n });\n useEventListener(document, \"pointerlockerror\", () => {\n var _a;\n const currentElement = (_a = document.pointerLockElement) != null ? _a : element.value;\n if (targetElement && currentElement === targetElement) {\n const action = document.pointerLockElement ? \"release\" : \"acquire\";\n throw new Error(`Failed to ${action} pointer lock.`);\n }\n });\n }\n async function lock(e) {\n var _a;\n if (!isSupported.value)\n throw new Error(\"Pointer Lock API is not supported by your browser.\");\n triggerElement.value = e instanceof Event ? e.currentTarget : null;\n targetElement = e instanceof Event ? (_a = unrefElement(target)) != null ? _a : triggerElement.value : unrefElement(e);\n if (!targetElement)\n throw new Error(\"Target element undefined.\");\n targetElement.requestPointerLock();\n return await until(element).toBe(targetElement);\n }\n async function unlock() {\n if (!element.value)\n return false;\n document.exitPointerLock();\n await until(element).toBeNull();\n return true;\n }\n return {\n isSupported,\n element,\n triggerElement,\n lock,\n unlock\n };\n}\n\nfunction usePointerSwipe(target, options = {}) {\n const targetRef = toRef(target);\n const {\n threshold = 50,\n onSwipe,\n onSwipeEnd,\n onSwipeStart,\n disableTextSelect = false\n } = options;\n const posStart = reactive({ x: 0, y: 0 });\n const updatePosStart = (x, y) => {\n posStart.x = x;\n posStart.y = y;\n };\n const posEnd = reactive({ x: 0, y: 0 });\n const updatePosEnd = (x, y) => {\n posEnd.x = x;\n posEnd.y = y;\n };\n const distanceX = computed(() => posStart.x - posEnd.x);\n const distanceY = computed(() => posStart.y - posEnd.y);\n const { max, abs } = Math;\n const isThresholdExceeded = computed(() => max(abs(distanceX.value), abs(distanceY.value)) >= threshold);\n const isSwiping = ref(false);\n const isPointerDown = ref(false);\n const direction = computed(() => {\n if (!isThresholdExceeded.value)\n return \"none\";\n if (abs(distanceX.value) > abs(distanceY.value)) {\n return distanceX.value > 0 ? \"left\" : \"right\";\n } else {\n return distanceY.value > 0 ? \"up\" : \"down\";\n }\n });\n const eventIsAllowed = (e) => {\n var _a, _b, _c;\n const isReleasingButton = e.buttons === 0;\n const isPrimaryButton = e.buttons === 1;\n return (_c = (_b = (_a = options.pointerTypes) == null ? void 0 : _a.includes(e.pointerType)) != null ? _b : isReleasingButton || isPrimaryButton) != null ? _c : true;\n };\n const stops = [\n useEventListener(target, \"pointerdown\", (e) => {\n if (!eventIsAllowed(e))\n return;\n isPointerDown.value = true;\n const eventTarget = e.target;\n eventTarget == null ? void 0 : eventTarget.setPointerCapture(e.pointerId);\n const { clientX: x, clientY: y } = e;\n updatePosStart(x, y);\n updatePosEnd(x, y);\n onSwipeStart == null ? void 0 : onSwipeStart(e);\n }),\n useEventListener(target, \"pointermove\", (e) => {\n if (!eventIsAllowed(e))\n return;\n if (!isPointerDown.value)\n return;\n const { clientX: x, clientY: y } = e;\n updatePosEnd(x, y);\n if (!isSwiping.value && isThresholdExceeded.value)\n isSwiping.value = true;\n if (isSwiping.value)\n onSwipe == null ? void 0 : onSwipe(e);\n }),\n useEventListener(target, \"pointerup\", (e) => {\n if (!eventIsAllowed(e))\n return;\n if (isSwiping.value)\n onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value);\n isPointerDown.value = false;\n isSwiping.value = false;\n })\n ];\n tryOnMounted(() => {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n (_b = (_a = targetRef.value) == null ? void 0 : _a.style) == null ? void 0 : _b.setProperty(\"touch-action\", \"none\");\n if (disableTextSelect) {\n (_d = (_c = targetRef.value) == null ? void 0 : _c.style) == null ? void 0 : _d.setProperty(\"-webkit-user-select\", \"none\");\n (_f = (_e = targetRef.value) == null ? void 0 : _e.style) == null ? void 0 : _f.setProperty(\"-ms-user-select\", \"none\");\n (_h = (_g = targetRef.value) == null ? void 0 : _g.style) == null ? void 0 : _h.setProperty(\"user-select\", \"none\");\n }\n });\n const stop = () => stops.forEach((s) => s());\n return {\n isSwiping: readonly(isSwiping),\n direction: readonly(direction),\n posStart: readonly(posStart),\n posEnd: readonly(posEnd),\n distanceX,\n distanceY,\n stop\n };\n}\n\nfunction usePreferredColorScheme(options) {\n const isLight = useMediaQuery(\"(prefers-color-scheme: light)\", options);\n const isDark = useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n return computed(() => {\n if (isDark.value)\n return \"dark\";\n if (isLight.value)\n return \"light\";\n return \"no-preference\";\n });\n}\n\nfunction usePreferredContrast(options) {\n const isMore = useMediaQuery(\"(prefers-contrast: more)\", options);\n const isLess = useMediaQuery(\"(prefers-contrast: less)\", options);\n const isCustom = useMediaQuery(\"(prefers-contrast: custom)\", options);\n return computed(() => {\n if (isMore.value)\n return \"more\";\n if (isLess.value)\n return \"less\";\n if (isCustom.value)\n return \"custom\";\n return \"no-preference\";\n });\n}\n\nfunction usePreferredLanguages(options = {}) {\n const { window = defaultWindow } = options;\n if (!window)\n return ref([\"en\"]);\n const navigator = window.navigator;\n const value = ref(navigator.languages);\n useEventListener(window, \"languagechange\", () => {\n value.value = navigator.languages;\n });\n return value;\n}\n\nfunction usePreferredReducedMotion(options) {\n const isReduced = useMediaQuery(\"(prefers-reduced-motion: reduce)\", options);\n return computed(() => {\n if (isReduced.value)\n return \"reduce\";\n return \"no-preference\";\n });\n}\n\nfunction usePrevious(value, initialValue) {\n const previous = shallowRef(initialValue);\n watch(\n toRef(value),\n (_, oldValue) => {\n previous.value = oldValue;\n },\n { flush: \"sync\" }\n );\n return readonly(previous);\n}\n\nconst topVarName = \"--vueuse-safe-area-top\";\nconst rightVarName = \"--vueuse-safe-area-right\";\nconst bottomVarName = \"--vueuse-safe-area-bottom\";\nconst leftVarName = \"--vueuse-safe-area-left\";\nfunction useScreenSafeArea() {\n const top = ref(\"\");\n const right = ref(\"\");\n const bottom = ref(\"\");\n const left = ref(\"\");\n if (isClient) {\n const topCssVar = useCssVar(topVarName);\n const rightCssVar = useCssVar(rightVarName);\n const bottomCssVar = useCssVar(bottomVarName);\n const leftCssVar = useCssVar(leftVarName);\n topCssVar.value = \"env(safe-area-inset-top, 0px)\";\n rightCssVar.value = \"env(safe-area-inset-right, 0px)\";\n bottomCssVar.value = \"env(safe-area-inset-bottom, 0px)\";\n leftCssVar.value = \"env(safe-area-inset-left, 0px)\";\n update();\n useEventListener(\"resize\", useDebounceFn(update));\n }\n function update() {\n top.value = getValue(topVarName);\n right.value = getValue(rightVarName);\n bottom.value = getValue(bottomVarName);\n left.value = getValue(leftVarName);\n }\n return {\n top,\n right,\n bottom,\n left,\n update\n };\n}\nfunction getValue(position) {\n return getComputedStyle(document.documentElement).getPropertyValue(position);\n}\n\nfunction useScriptTag(src, onLoaded = noop, options = {}) {\n const {\n immediate = true,\n manual = false,\n type = \"text/javascript\",\n async = true,\n crossOrigin,\n referrerPolicy,\n noModule,\n defer,\n document = defaultDocument,\n attrs = {}\n } = options;\n const scriptTag = ref(null);\n let _promise = null;\n const loadScript = (waitForScriptLoad) => new Promise((resolve, reject) => {\n const resolveWithElement = (el2) => {\n scriptTag.value = el2;\n resolve(el2);\n return el2;\n };\n if (!document) {\n resolve(false);\n return;\n }\n let shouldAppend = false;\n let el = document.querySelector(`script[src=\"${toValue(src)}\"]`);\n if (!el) {\n el = document.createElement(\"script\");\n el.type = type;\n el.async = async;\n el.src = toValue(src);\n if (defer)\n el.defer = defer;\n if (crossOrigin)\n el.crossOrigin = crossOrigin;\n if (noModule)\n el.noModule = noModule;\n if (referrerPolicy)\n el.referrerPolicy = referrerPolicy;\n Object.entries(attrs).forEach(([name, value]) => el == null ? void 0 : el.setAttribute(name, value));\n shouldAppend = true;\n } else if (el.hasAttribute(\"data-loaded\")) {\n resolveWithElement(el);\n }\n el.addEventListener(\"error\", (event) => reject(event));\n el.addEventListener(\"abort\", (event) => reject(event));\n el.addEventListener(\"load\", () => {\n el.setAttribute(\"data-loaded\", \"true\");\n onLoaded(el);\n resolveWithElement(el);\n });\n if (shouldAppend)\n el = document.head.appendChild(el);\n if (!waitForScriptLoad)\n resolveWithElement(el);\n });\n const load = (waitForScriptLoad = true) => {\n if (!_promise)\n _promise = loadScript(waitForScriptLoad);\n return _promise;\n };\n const unload = () => {\n if (!document)\n return;\n _promise = null;\n if (scriptTag.value)\n scriptTag.value = null;\n const el = document.querySelector(`script[src=\"${toValue(src)}\"]`);\n if (el)\n document.head.removeChild(el);\n };\n if (immediate && !manual)\n tryOnMounted(load);\n if (!manual)\n tryOnUnmounted(unload);\n return { scriptTag, load, unload };\n}\n\nfunction checkOverflowScroll(ele) {\n const style = window.getComputedStyle(ele);\n if (style.overflowX === \"scroll\" || style.overflowY === \"scroll\" || style.overflowX === \"auto\" && ele.clientWidth < ele.scrollWidth || style.overflowY === \"auto\" && ele.clientHeight < ele.scrollHeight) {\n return true;\n } else {\n const parent = ele.parentNode;\n if (!parent || parent.tagName === \"BODY\")\n return false;\n return checkOverflowScroll(parent);\n }\n}\nfunction preventDefault(rawEvent) {\n const e = rawEvent || window.event;\n const _target = e.target;\n if (checkOverflowScroll(_target))\n return false;\n if (e.touches.length > 1)\n return true;\n if (e.preventDefault)\n e.preventDefault();\n return false;\n}\nconst elInitialOverflow = /* @__PURE__ */ new WeakMap();\nfunction useScrollLock(element, initialState = false) {\n const isLocked = ref(initialState);\n let stopTouchMoveListener = null;\n let initialOverflow = \"\";\n watch(toRef(element), (el) => {\n const target = resolveElement(toValue(el));\n if (target) {\n const ele = target;\n if (!elInitialOverflow.get(ele))\n elInitialOverflow.set(ele, ele.style.overflow);\n if (ele.style.overflow !== \"hidden\")\n initialOverflow = ele.style.overflow;\n if (ele.style.overflow === \"hidden\")\n return isLocked.value = true;\n if (isLocked.value)\n return ele.style.overflow = \"hidden\";\n }\n }, {\n immediate: true\n });\n const lock = () => {\n const el = resolveElement(toValue(element));\n if (!el || isLocked.value)\n return;\n if (isIOS) {\n stopTouchMoveListener = useEventListener(\n el,\n \"touchmove\",\n (e) => {\n preventDefault(e);\n },\n { passive: false }\n );\n }\n el.style.overflow = \"hidden\";\n isLocked.value = true;\n };\n const unlock = () => {\n const el = resolveElement(toValue(element));\n if (!el || !isLocked.value)\n return;\n if (isIOS)\n stopTouchMoveListener == null ? void 0 : stopTouchMoveListener();\n el.style.overflow = initialOverflow;\n elInitialOverflow.delete(el);\n isLocked.value = false;\n };\n tryOnScopeDispose(unlock);\n return computed({\n get() {\n return isLocked.value;\n },\n set(v) {\n if (v)\n lock();\n else unlock();\n }\n });\n}\n\nfunction useSessionStorage(key, initialValue, options = {}) {\n const { window = defaultWindow } = options;\n return useStorage(key, initialValue, window == null ? void 0 : window.sessionStorage, options);\n}\n\nfunction useShare(shareOptions = {}, options = {}) {\n const { navigator = defaultNavigator } = options;\n const _navigator = navigator;\n const isSupported = useSupported(() => _navigator && \"canShare\" in _navigator);\n const share = async (overrideOptions = {}) => {\n if (isSupported.value) {\n const data = {\n ...toValue(shareOptions),\n ...toValue(overrideOptions)\n };\n let granted = true;\n if (data.files && _navigator.canShare)\n granted = _navigator.canShare({ files: data.files });\n if (granted)\n return _navigator.share(data);\n }\n };\n return {\n isSupported,\n share\n };\n}\n\nconst defaultSortFn = (source, compareFn) => source.sort(compareFn);\nconst defaultCompare = (a, b) => a - b;\nfunction useSorted(...args) {\n var _a, _b, _c, _d;\n const [source] = args;\n let compareFn = defaultCompare;\n let options = {};\n if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n options = args[1];\n compareFn = (_a = options.compareFn) != null ? _a : defaultCompare;\n } else {\n compareFn = (_b = args[1]) != null ? _b : defaultCompare;\n }\n } else if (args.length > 2) {\n compareFn = (_c = args[1]) != null ? _c : defaultCompare;\n options = (_d = args[2]) != null ? _d : {};\n }\n const {\n dirty = false,\n sortFn = defaultSortFn\n } = options;\n if (!dirty)\n return computed(() => sortFn([...toValue(source)], compareFn));\n watchEffect(() => {\n const result = sortFn(toValue(source), compareFn);\n if (isRef(source))\n source.value = result;\n else\n source.splice(0, source.length, ...result);\n });\n return source;\n}\n\nfunction useSpeechRecognition(options = {}) {\n const {\n interimResults = true,\n continuous = true,\n maxAlternatives = 1,\n window = defaultWindow\n } = options;\n const lang = toRef(options.lang || \"en-US\");\n const isListening = ref(false);\n const isFinal = ref(false);\n const result = ref(\"\");\n const error = shallowRef(void 0);\n const toggle = (value = !isListening.value) => {\n isListening.value = value;\n };\n const start = () => {\n isListening.value = true;\n };\n const stop = () => {\n isListening.value = false;\n };\n const SpeechRecognition = window && (window.SpeechRecognition || window.webkitSpeechRecognition);\n const isSupported = useSupported(() => SpeechRecognition);\n let recognition;\n if (isSupported.value) {\n recognition = new SpeechRecognition();\n recognition.continuous = continuous;\n recognition.interimResults = interimResults;\n recognition.lang = toValue(lang);\n recognition.maxAlternatives = maxAlternatives;\n recognition.onstart = () => {\n isFinal.value = false;\n };\n watch(lang, (lang2) => {\n if (recognition && !isListening.value)\n recognition.lang = lang2;\n });\n recognition.onresult = (event) => {\n const currentResult = event.results[event.resultIndex];\n const { transcript } = currentResult[0];\n isFinal.value = currentResult.isFinal;\n result.value = transcript;\n error.value = void 0;\n };\n recognition.onerror = (event) => {\n error.value = event;\n };\n recognition.onend = () => {\n isListening.value = false;\n recognition.lang = toValue(lang);\n };\n watch(isListening, () => {\n if (isListening.value)\n recognition.start();\n else\n recognition.stop();\n });\n }\n tryOnScopeDispose(() => {\n isListening.value = false;\n });\n return {\n isSupported,\n isListening,\n isFinal,\n recognition,\n result,\n error,\n toggle,\n start,\n stop\n };\n}\n\nfunction useSpeechSynthesis(text, options = {}) {\n const {\n pitch = 1,\n rate = 1,\n volume = 1,\n window = defaultWindow\n } = options;\n const synth = window && window.speechSynthesis;\n const isSupported = useSupported(() => synth);\n const isPlaying = ref(false);\n const status = ref(\"init\");\n const spokenText = toRef(text || \"\");\n const lang = toRef(options.lang || \"en-US\");\n const error = shallowRef(void 0);\n const toggle = (value = !isPlaying.value) => {\n isPlaying.value = value;\n };\n const bindEventsForUtterance = (utterance2) => {\n utterance2.lang = toValue(lang);\n utterance2.voice = toValue(options.voice) || null;\n utterance2.pitch = toValue(pitch);\n utterance2.rate = toValue(rate);\n utterance2.volume = volume;\n utterance2.onstart = () => {\n isPlaying.value = true;\n status.value = \"play\";\n };\n utterance2.onpause = () => {\n isPlaying.value = false;\n status.value = \"pause\";\n };\n utterance2.onresume = () => {\n isPlaying.value = true;\n status.value = \"play\";\n };\n utterance2.onend = () => {\n isPlaying.value = false;\n status.value = \"end\";\n };\n utterance2.onerror = (event) => {\n error.value = event;\n };\n };\n const utterance = computed(() => {\n isPlaying.value = false;\n status.value = \"init\";\n const newUtterance = new SpeechSynthesisUtterance(spokenText.value);\n bindEventsForUtterance(newUtterance);\n return newUtterance;\n });\n const speak = () => {\n synth.cancel();\n if (utterance)\n synth.speak(utterance.value);\n };\n const stop = () => {\n synth.cancel();\n isPlaying.value = false;\n };\n if (isSupported.value) {\n bindEventsForUtterance(utterance.value);\n watch(lang, (lang2) => {\n if (utterance.value && !isPlaying.value)\n utterance.value.lang = lang2;\n });\n if (options.voice) {\n watch(options.voice, () => {\n synth.cancel();\n });\n }\n watch(isPlaying, () => {\n if (isPlaying.value)\n synth.resume();\n else\n synth.pause();\n });\n }\n tryOnScopeDispose(() => {\n isPlaying.value = false;\n });\n return {\n isSupported,\n isPlaying,\n status,\n utterance,\n error,\n stop,\n toggle,\n speak\n };\n}\n\nfunction useStepper(steps, initialStep) {\n const stepsRef = ref(steps);\n const stepNames = computed(() => Array.isArray(stepsRef.value) ? stepsRef.value : Object.keys(stepsRef.value));\n const index = ref(stepNames.value.indexOf(initialStep != null ? initialStep : stepNames.value[0]));\n const current = computed(() => at(index.value));\n const isFirst = computed(() => index.value === 0);\n const isLast = computed(() => index.value === stepNames.value.length - 1);\n const next = computed(() => stepNames.value[index.value + 1]);\n const previous = computed(() => stepNames.value[index.value - 1]);\n function at(index2) {\n if (Array.isArray(stepsRef.value))\n return stepsRef.value[index2];\n return stepsRef.value[stepNames.value[index2]];\n }\n function get(step) {\n if (!stepNames.value.includes(step))\n return;\n return at(stepNames.value.indexOf(step));\n }\n function goTo(step) {\n if (stepNames.value.includes(step))\n index.value = stepNames.value.indexOf(step);\n }\n function goToNext() {\n if (isLast.value)\n return;\n index.value++;\n }\n function goToPrevious() {\n if (isFirst.value)\n return;\n index.value--;\n }\n function goBackTo(step) {\n if (isAfter(step))\n goTo(step);\n }\n function isNext(step) {\n return stepNames.value.indexOf(step) === index.value + 1;\n }\n function isPrevious(step) {\n return stepNames.value.indexOf(step) === index.value - 1;\n }\n function isCurrent(step) {\n return stepNames.value.indexOf(step) === index.value;\n }\n function isBefore(step) {\n return index.value < stepNames.value.indexOf(step);\n }\n function isAfter(step) {\n return index.value > stepNames.value.indexOf(step);\n }\n return {\n steps: stepsRef,\n stepNames,\n index,\n current,\n next,\n previous,\n isFirst,\n isLast,\n at,\n get,\n goTo,\n goToNext,\n goToPrevious,\n goBackTo,\n isNext,\n isPrevious,\n isCurrent,\n isBefore,\n isAfter\n };\n}\n\nfunction useStorageAsync(key, initialValue, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n }\n } = options;\n const rawInit = toValue(initialValue);\n const type = guessSerializerType(rawInit);\n const data = (shallow ? shallowRef : ref)(initialValue);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorageAsync\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n async function read(event) {\n if (!storage || event && event.key !== key)\n return;\n try {\n const rawValue = event ? event.newValue : await storage.getItem(key);\n if (rawValue == null) {\n data.value = rawInit;\n if (writeDefaults && rawInit !== null)\n await storage.setItem(key, await serializer.write(rawInit));\n } else if (mergeDefaults) {\n const value = await serializer.read(rawValue);\n if (typeof mergeDefaults === \"function\")\n data.value = mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n data.value = { ...rawInit, ...value };\n else data.value = value;\n } else {\n data.value = await serializer.read(rawValue);\n }\n } catch (e) {\n onError(e);\n }\n }\n read();\n if (window && listenToStorageChanges)\n useEventListener(window, \"storage\", (e) => Promise.resolve().then(() => read(e)));\n if (storage) {\n watchWithFilter(\n data,\n async () => {\n try {\n if (data.value == null)\n await storage.removeItem(key);\n else\n await storage.setItem(key, await serializer.write(data.value));\n } catch (e) {\n onError(e);\n }\n },\n {\n flush,\n deep,\n eventFilter\n }\n );\n }\n return data;\n}\n\nlet _id = 0;\nfunction useStyleTag(css, options = {}) {\n const isLoaded = ref(false);\n const {\n document = defaultDocument,\n immediate = true,\n manual = false,\n id = `vueuse_styletag_${++_id}`\n } = options;\n const cssRef = ref(css);\n let stop = () => {\n };\n const load = () => {\n if (!document)\n return;\n const el = document.getElementById(id) || document.createElement(\"style\");\n if (!el.isConnected) {\n el.id = id;\n if (options.media)\n el.media = options.media;\n document.head.appendChild(el);\n }\n if (isLoaded.value)\n return;\n stop = watch(\n cssRef,\n (value) => {\n el.textContent = value;\n },\n { immediate: true }\n );\n isLoaded.value = true;\n };\n const unload = () => {\n if (!document || !isLoaded.value)\n return;\n stop();\n document.head.removeChild(document.getElementById(id));\n isLoaded.value = false;\n };\n if (immediate && !manual)\n tryOnMounted(load);\n if (!manual)\n tryOnScopeDispose(unload);\n return {\n id,\n css: cssRef,\n unload,\n load,\n isLoaded: readonly(isLoaded)\n };\n}\n\nfunction useSwipe(target, options = {}) {\n const {\n threshold = 50,\n onSwipe,\n onSwipeEnd,\n onSwipeStart,\n passive = true,\n window = defaultWindow\n } = options;\n const coordsStart = reactive({ x: 0, y: 0 });\n const coordsEnd = reactive({ x: 0, y: 0 });\n const diffX = computed(() => coordsStart.x - coordsEnd.x);\n const diffY = computed(() => coordsStart.y - coordsEnd.y);\n const { max, abs } = Math;\n const isThresholdExceeded = computed(() => max(abs(diffX.value), abs(diffY.value)) >= threshold);\n const isSwiping = ref(false);\n const direction = computed(() => {\n if (!isThresholdExceeded.value)\n return \"none\";\n if (abs(diffX.value) > abs(diffY.value)) {\n return diffX.value > 0 ? \"left\" : \"right\";\n } else {\n return diffY.value > 0 ? \"up\" : \"down\";\n }\n });\n const getTouchEventCoords = (e) => [e.touches[0].clientX, e.touches[0].clientY];\n const updateCoordsStart = (x, y) => {\n coordsStart.x = x;\n coordsStart.y = y;\n };\n const updateCoordsEnd = (x, y) => {\n coordsEnd.x = x;\n coordsEnd.y = y;\n };\n let listenerOptions;\n const isPassiveEventSupported = checkPassiveEventSupport(window == null ? void 0 : window.document);\n if (!passive)\n listenerOptions = isPassiveEventSupported ? { passive: false, capture: true } : { capture: true };\n else\n listenerOptions = isPassiveEventSupported ? { passive: true } : { capture: false };\n const onTouchEnd = (e) => {\n if (isSwiping.value)\n onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value);\n isSwiping.value = false;\n };\n const stops = [\n useEventListener(target, \"touchstart\", (e) => {\n if (e.touches.length !== 1)\n return;\n if (listenerOptions.capture && !listenerOptions.passive)\n e.preventDefault();\n const [x, y] = getTouchEventCoords(e);\n updateCoordsStart(x, y);\n updateCoordsEnd(x, y);\n onSwipeStart == null ? void 0 : onSwipeStart(e);\n }, listenerOptions),\n useEventListener(target, \"touchmove\", (e) => {\n if (e.touches.length !== 1)\n return;\n const [x, y] = getTouchEventCoords(e);\n updateCoordsEnd(x, y);\n if (!isSwiping.value && isThresholdExceeded.value)\n isSwiping.value = true;\n if (isSwiping.value)\n onSwipe == null ? void 0 : onSwipe(e);\n }, listenerOptions),\n useEventListener(target, [\"touchend\", \"touchcancel\"], onTouchEnd, listenerOptions)\n ];\n const stop = () => stops.forEach((s) => s());\n return {\n isPassiveEventSupported,\n isSwiping,\n direction,\n coordsStart,\n coordsEnd,\n lengthX: diffX,\n lengthY: diffY,\n stop\n };\n}\nfunction checkPassiveEventSupport(document) {\n if (!document)\n return false;\n let supportsPassive = false;\n const optionsBlock = {\n get passive() {\n supportsPassive = true;\n return false;\n }\n };\n document.addEventListener(\"x\", noop, optionsBlock);\n document.removeEventListener(\"x\", noop);\n return supportsPassive;\n}\n\nfunction useTemplateRefsList() {\n const refs = ref([]);\n refs.value.set = (el) => {\n if (el)\n refs.value.push(el);\n };\n onBeforeUpdate(() => {\n refs.value.length = 0;\n });\n return refs;\n}\n\nfunction useTextDirection(options = {}) {\n const {\n document = defaultDocument,\n selector = \"html\",\n observe = false,\n initialValue = \"ltr\"\n } = options;\n function getValue() {\n var _a, _b;\n return (_b = (_a = document == null ? void 0 : document.querySelector(selector)) == null ? void 0 : _a.getAttribute(\"dir\")) != null ? _b : initialValue;\n }\n const dir = ref(getValue());\n tryOnMounted(() => dir.value = getValue());\n if (observe && document) {\n useMutationObserver(\n document.querySelector(selector),\n () => dir.value = getValue(),\n { attributes: true }\n );\n }\n return computed({\n get() {\n return dir.value;\n },\n set(v) {\n var _a, _b;\n dir.value = v;\n if (!document)\n return;\n if (dir.value)\n (_a = document.querySelector(selector)) == null ? void 0 : _a.setAttribute(\"dir\", dir.value);\n else\n (_b = document.querySelector(selector)) == null ? void 0 : _b.removeAttribute(\"dir\");\n }\n });\n}\n\nfunction getRangesFromSelection(selection) {\n var _a;\n const rangeCount = (_a = selection.rangeCount) != null ? _a : 0;\n return Array.from({ length: rangeCount }, (_, i) => selection.getRangeAt(i));\n}\nfunction useTextSelection(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const selection = ref(null);\n const text = computed(() => {\n var _a, _b;\n return (_b = (_a = selection.value) == null ? void 0 : _a.toString()) != null ? _b : \"\";\n });\n const ranges = computed(() => selection.value ? getRangesFromSelection(selection.value) : []);\n const rects = computed(() => ranges.value.map((range) => range.getBoundingClientRect()));\n function onSelectionChange() {\n selection.value = null;\n if (window)\n selection.value = window.getSelection();\n }\n if (window)\n useEventListener(window.document, \"selectionchange\", onSelectionChange);\n return {\n text,\n rects,\n ranges,\n selection\n };\n}\n\nfunction useTextareaAutosize(options) {\n var _a;\n const textarea = ref(options == null ? void 0 : options.element);\n const input = ref(options == null ? void 0 : options.input);\n const styleProp = (_a = options == null ? void 0 : options.styleProp) != null ? _a : \"height\";\n const textareaScrollHeight = ref(1);\n const textareaOldWidth = ref(0);\n function triggerResize() {\n var _a2;\n if (!textarea.value)\n return;\n let height = \"\";\n textarea.value.style[styleProp] = \"1px\";\n textareaScrollHeight.value = (_a2 = textarea.value) == null ? void 0 : _a2.scrollHeight;\n const _styleTarget = toValue(options == null ? void 0 : options.styleTarget);\n if (_styleTarget)\n _styleTarget.style[styleProp] = `${textareaScrollHeight.value}px`;\n else\n height = `${textareaScrollHeight.value}px`;\n textarea.value.style[styleProp] = height;\n }\n watch([input, textarea], () => nextTick(triggerResize), { immediate: true });\n watch(textareaScrollHeight, () => {\n var _a2;\n return (_a2 = options == null ? void 0 : options.onResize) == null ? void 0 : _a2.call(options);\n });\n useResizeObserver(textarea, ([{ contentRect }]) => {\n if (textareaOldWidth.value === contentRect.width)\n return;\n textareaOldWidth.value = contentRect.width;\n triggerResize();\n });\n if (options == null ? void 0 : options.watch)\n watch(options.watch, triggerResize, { immediate: true, deep: true });\n return {\n textarea,\n input,\n triggerResize\n };\n}\n\nfunction useThrottledRefHistory(source, options = {}) {\n const { throttle = 200, trailing = true } = options;\n const filter = throttleFilter(throttle, trailing);\n const history = useRefHistory(source, { ...options, eventFilter: filter });\n return {\n ...history\n };\n}\n\nconst DEFAULT_UNITS = [\n { max: 6e4, value: 1e3, name: \"second\" },\n { max: 276e4, value: 6e4, name: \"minute\" },\n { max: 72e6, value: 36e5, name: \"hour\" },\n { max: 5184e5, value: 864e5, name: \"day\" },\n { max: 24192e5, value: 6048e5, name: \"week\" },\n { max: 28512e6, value: 2592e6, name: \"month\" },\n { max: Number.POSITIVE_INFINITY, value: 31536e6, name: \"year\" }\n];\nconst DEFAULT_MESSAGES = {\n justNow: \"just now\",\n past: (n) => n.match(/\\d/) ? `${n} ago` : n,\n future: (n) => n.match(/\\d/) ? `in ${n}` : n,\n month: (n, past) => n === 1 ? past ? \"last month\" : \"next month\" : `${n} month${n > 1 ? \"s\" : \"\"}`,\n year: (n, past) => n === 1 ? past ? \"last year\" : \"next year\" : `${n} year${n > 1 ? \"s\" : \"\"}`,\n day: (n, past) => n === 1 ? past ? \"yesterday\" : \"tomorrow\" : `${n} day${n > 1 ? \"s\" : \"\"}`,\n week: (n, past) => n === 1 ? past ? \"last week\" : \"next week\" : `${n} week${n > 1 ? \"s\" : \"\"}`,\n hour: (n) => `${n} hour${n > 1 ? \"s\" : \"\"}`,\n minute: (n) => `${n} minute${n > 1 ? \"s\" : \"\"}`,\n second: (n) => `${n} second${n > 1 ? \"s\" : \"\"}`,\n invalid: \"\"\n};\nfunction DEFAULT_FORMATTER(date) {\n return date.toISOString().slice(0, 10);\n}\nfunction useTimeAgo(time, options = {}) {\n const {\n controls: exposeControls = false,\n updateInterval = 3e4\n } = options;\n const { now, ...controls } = useNow({ interval: updateInterval, controls: true });\n const timeAgo = computed(() => formatTimeAgo(new Date(toValue(time)), options, toValue(now)));\n if (exposeControls) {\n return {\n timeAgo,\n ...controls\n };\n } else {\n return timeAgo;\n }\n}\nfunction formatTimeAgo(from, options = {}, now = Date.now()) {\n var _a;\n const {\n max,\n messages = DEFAULT_MESSAGES,\n fullDateFormatter = DEFAULT_FORMATTER,\n units = DEFAULT_UNITS,\n showSecond = false,\n rounding = \"round\"\n } = options;\n const roundFn = typeof rounding === \"number\" ? (n) => +n.toFixed(rounding) : Math[rounding];\n const diff = +now - +from;\n const absDiff = Math.abs(diff);\n function getValue(diff2, unit) {\n return roundFn(Math.abs(diff2) / unit.value);\n }\n function format(diff2, unit) {\n const val = getValue(diff2, unit);\n const past = diff2 > 0;\n const str = applyFormat(unit.name, val, past);\n return applyFormat(past ? \"past\" : \"future\", str, past);\n }\n function applyFormat(name, val, isPast) {\n const formatter = messages[name];\n if (typeof formatter === \"function\")\n return formatter(val, isPast);\n return formatter.replace(\"{0}\", val.toString());\n }\n if (absDiff < 6e4 && !showSecond)\n return messages.justNow;\n if (typeof max === \"number\" && absDiff > max)\n return fullDateFormatter(new Date(from));\n if (typeof max === \"string\") {\n const unitMax = (_a = units.find((i) => i.name === max)) == null ? void 0 : _a.max;\n if (unitMax && absDiff > unitMax)\n return fullDateFormatter(new Date(from));\n }\n for (const [idx, unit] of units.entries()) {\n const val = getValue(diff, unit);\n if (val <= 0 && units[idx - 1])\n return format(diff, units[idx - 1]);\n if (absDiff < unit.max)\n return format(diff, unit);\n }\n return messages.invalid;\n}\n\nfunction useTimeoutPoll(fn, interval, timeoutPollOptions) {\n const { start } = useTimeoutFn(loop, interval, { immediate: false });\n const isActive = ref(false);\n async function loop() {\n if (!isActive.value)\n return;\n await fn();\n start();\n }\n function resume() {\n if (!isActive.value) {\n isActive.value = true;\n loop();\n }\n }\n function pause() {\n isActive.value = false;\n }\n if (timeoutPollOptions == null ? void 0 : timeoutPollOptions.immediate)\n resume();\n tryOnScopeDispose(pause);\n return {\n isActive,\n pause,\n resume\n };\n}\n\nfunction useTimestamp(options = {}) {\n const {\n controls: exposeControls = false,\n offset = 0,\n immediate = true,\n interval = \"requestAnimationFrame\",\n callback\n } = options;\n const ts = ref(timestamp() + offset);\n const update = () => ts.value = timestamp() + offset;\n const cb = callback ? () => {\n update();\n callback(ts.value);\n } : update;\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate });\n if (exposeControls) {\n return {\n timestamp: ts,\n ...controls\n };\n } else {\n return ts;\n }\n}\n\nfunction useTitle(newTitle = null, options = {}) {\n var _a, _b, _c;\n const {\n document = defaultDocument,\n restoreOnUnmount = (t) => t\n } = options;\n const originalTitle = (_a = document == null ? void 0 : document.title) != null ? _a : \"\";\n const title = toRef((_b = newTitle != null ? newTitle : document == null ? void 0 : document.title) != null ? _b : null);\n const isReadonly = newTitle && typeof newTitle === \"function\";\n function format(t) {\n if (!(\"titleTemplate\" in options))\n return t;\n const template = options.titleTemplate || \"%s\";\n return typeof template === \"function\" ? template(t) : toValue(template).replace(/%s/g, t);\n }\n watch(\n title,\n (t, o) => {\n if (t !== o && document)\n document.title = format(typeof t === \"string\" ? t : \"\");\n },\n { immediate: true }\n );\n if (options.observe && !options.titleTemplate && document && !isReadonly) {\n useMutationObserver(\n (_c = document.head) == null ? void 0 : _c.querySelector(\"title\"),\n () => {\n if (document && document.title !== title.value)\n title.value = format(document.title);\n },\n { childList: true }\n );\n }\n tryOnBeforeUnmount(() => {\n if (restoreOnUnmount) {\n const restoredTitle = restoreOnUnmount(originalTitle, title.value || \"\");\n if (restoredTitle != null && document)\n document.title = restoredTitle;\n }\n });\n return title;\n}\n\nconst _TransitionPresets = {\n easeInSine: [0.12, 0, 0.39, 0],\n easeOutSine: [0.61, 1, 0.88, 1],\n easeInOutSine: [0.37, 0, 0.63, 1],\n easeInQuad: [0.11, 0, 0.5, 0],\n easeOutQuad: [0.5, 1, 0.89, 1],\n easeInOutQuad: [0.45, 0, 0.55, 1],\n easeInCubic: [0.32, 0, 0.67, 0],\n easeOutCubic: [0.33, 1, 0.68, 1],\n easeInOutCubic: [0.65, 0, 0.35, 1],\n easeInQuart: [0.5, 0, 0.75, 0],\n easeOutQuart: [0.25, 1, 0.5, 1],\n easeInOutQuart: [0.76, 0, 0.24, 1],\n easeInQuint: [0.64, 0, 0.78, 0],\n easeOutQuint: [0.22, 1, 0.36, 1],\n easeInOutQuint: [0.83, 0, 0.17, 1],\n easeInExpo: [0.7, 0, 0.84, 0],\n easeOutExpo: [0.16, 1, 0.3, 1],\n easeInOutExpo: [0.87, 0, 0.13, 1],\n easeInCirc: [0.55, 0, 1, 0.45],\n easeOutCirc: [0, 0.55, 0.45, 1],\n easeInOutCirc: [0.85, 0, 0.15, 1],\n easeInBack: [0.36, 0, 0.66, -0.56],\n easeOutBack: [0.34, 1.56, 0.64, 1],\n easeInOutBack: [0.68, -0.6, 0.32, 1.6]\n};\nconst TransitionPresets = /* @__PURE__ */ Object.assign({}, { linear: identity }, _TransitionPresets);\nfunction createEasingFunction([p0, p1, p2, p3]) {\n const a = (a1, a2) => 1 - 3 * a2 + 3 * a1;\n const b = (a1, a2) => 3 * a2 - 6 * a1;\n const c = (a1) => 3 * a1;\n const calcBezier = (t, a1, a2) => ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t;\n const getSlope = (t, a1, a2) => 3 * a(a1, a2) * t * t + 2 * b(a1, a2) * t + c(a1);\n const getTforX = (x) => {\n let aGuessT = x;\n for (let i = 0; i < 4; ++i) {\n const currentSlope = getSlope(aGuessT, p0, p2);\n if (currentSlope === 0)\n return aGuessT;\n const currentX = calcBezier(aGuessT, p0, p2) - x;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n };\n return (x) => p0 === p1 && p2 === p3 ? x : calcBezier(getTforX(x), p1, p3);\n}\nfunction lerp(a, b, alpha) {\n return a + alpha * (b - a);\n}\nfunction toVec(t) {\n return (typeof t === \"number\" ? [t] : t) || [];\n}\nfunction executeTransition(source, from, to, options = {}) {\n var _a, _b;\n const fromVal = toValue(from);\n const toVal = toValue(to);\n const v1 = toVec(fromVal);\n const v2 = toVec(toVal);\n const duration = (_a = toValue(options.duration)) != null ? _a : 1e3;\n const startedAt = Date.now();\n const endAt = Date.now() + duration;\n const trans = typeof options.transition === \"function\" ? options.transition : (_b = toValue(options.transition)) != null ? _b : identity;\n const ease = typeof trans === \"function\" ? trans : createEasingFunction(trans);\n return new Promise((resolve) => {\n source.value = fromVal;\n const tick = () => {\n var _a2;\n if ((_a2 = options.abort) == null ? void 0 : _a2.call(options)) {\n resolve();\n return;\n }\n const now = Date.now();\n const alpha = ease((now - startedAt) / duration);\n const arr = toVec(source.value).map((n, i) => lerp(v1[i], v2[i], alpha));\n if (Array.isArray(source.value))\n source.value = arr.map((n, i) => {\n var _a3, _b2;\n return lerp((_a3 = v1[i]) != null ? _a3 : 0, (_b2 = v2[i]) != null ? _b2 : 0, alpha);\n });\n else if (typeof source.value === \"number\")\n source.value = arr[0];\n if (now < endAt) {\n requestAnimationFrame(tick);\n } else {\n source.value = toVal;\n resolve();\n }\n };\n tick();\n });\n}\nfunction useTransition(source, options = {}) {\n let currentId = 0;\n const sourceVal = () => {\n const v = toValue(source);\n return typeof v === \"number\" ? v : v.map(toValue);\n };\n const outputRef = ref(sourceVal());\n watch(sourceVal, async (to) => {\n var _a, _b;\n if (toValue(options.disabled))\n return;\n const id = ++currentId;\n if (options.delay)\n await promiseTimeout(toValue(options.delay));\n if (id !== currentId)\n return;\n const toVal = Array.isArray(to) ? to.map(toValue) : toValue(to);\n (_a = options.onStarted) == null ? void 0 : _a.call(options);\n await executeTransition(outputRef, outputRef.value, toVal, {\n ...options,\n abort: () => {\n var _a2;\n return id !== currentId || ((_a2 = options.abort) == null ? void 0 : _a2.call(options));\n }\n });\n (_b = options.onFinished) == null ? void 0 : _b.call(options);\n }, { deep: true });\n watch(() => toValue(options.disabled), (disabled) => {\n if (disabled) {\n currentId++;\n outputRef.value = sourceVal();\n }\n });\n tryOnScopeDispose(() => {\n currentId++;\n });\n return computed(() => toValue(options.disabled) ? sourceVal() : outputRef.value);\n}\n\nfunction useUrlSearchParams(mode = \"history\", options = {}) {\n const {\n initialValue = {},\n removeNullishValues = true,\n removeFalsyValues = false,\n write: enableWrite = true,\n window = defaultWindow\n } = options;\n if (!window)\n return reactive(initialValue);\n const state = reactive({});\n function getRawParams() {\n if (mode === \"history\") {\n return window.location.search || \"\";\n } else if (mode === \"hash\") {\n const hash = window.location.hash || \"\";\n const index = hash.indexOf(\"?\");\n return index > 0 ? hash.slice(index) : \"\";\n } else {\n return (window.location.hash || \"\").replace(/^#/, \"\");\n }\n }\n function constructQuery(params) {\n const stringified = params.toString();\n if (mode === \"history\")\n return `${stringified ? `?${stringified}` : \"\"}${window.location.hash || \"\"}`;\n if (mode === \"hash-params\")\n return `${window.location.search || \"\"}${stringified ? `#${stringified}` : \"\"}`;\n const hash = window.location.hash || \"#\";\n const index = hash.indexOf(\"?\");\n if (index > 0)\n return `${hash.slice(0, index)}${stringified ? `?${stringified}` : \"\"}`;\n return `${hash}${stringified ? `?${stringified}` : \"\"}`;\n }\n function read() {\n return new URLSearchParams(getRawParams());\n }\n function updateState(params) {\n const unusedKeys = new Set(Object.keys(state));\n for (const key of params.keys()) {\n const paramsForKey = params.getAll(key);\n state[key] = paramsForKey.length > 1 ? paramsForKey : params.get(key) || \"\";\n unusedKeys.delete(key);\n }\n Array.from(unusedKeys).forEach((key) => delete state[key]);\n }\n const { pause, resume } = pausableWatch(\n state,\n () => {\n const params = new URLSearchParams(\"\");\n Object.keys(state).forEach((key) => {\n const mapEntry = state[key];\n if (Array.isArray(mapEntry))\n mapEntry.forEach((value) => params.append(key, value));\n else if (removeNullishValues && mapEntry == null)\n params.delete(key);\n else if (removeFalsyValues && !mapEntry)\n params.delete(key);\n else\n params.set(key, mapEntry);\n });\n write(params);\n },\n { deep: true }\n );\n function write(params, shouldUpdate) {\n pause();\n if (shouldUpdate)\n updateState(params);\n window.history.replaceState(\n window.history.state,\n window.document.title,\n window.location.pathname + constructQuery(params)\n );\n resume();\n }\n function onChanged() {\n if (!enableWrite)\n return;\n write(read(), true);\n }\n useEventListener(window, \"popstate\", onChanged, false);\n if (mode !== \"history\")\n useEventListener(window, \"hashchange\", onChanged, false);\n const initial = read();\n if (initial.keys().next().value)\n updateState(initial);\n else\n Object.assign(state, initialValue);\n return state;\n}\n\nfunction useUserMedia(options = {}) {\n var _a, _b;\n const enabled = ref((_a = options.enabled) != null ? _a : false);\n const autoSwitch = ref((_b = options.autoSwitch) != null ? _b : true);\n const constraints = ref(options.constraints);\n const { navigator = defaultNavigator } = options;\n const isSupported = useSupported(() => {\n var _a2;\n return (_a2 = navigator == null ? void 0 : navigator.mediaDevices) == null ? void 0 : _a2.getUserMedia;\n });\n const stream = shallowRef();\n function getDeviceOptions(type) {\n switch (type) {\n case \"video\": {\n if (constraints.value)\n return constraints.value.video || false;\n break;\n }\n case \"audio\": {\n if (constraints.value)\n return constraints.value.audio || false;\n break;\n }\n }\n }\n async function _start() {\n if (!isSupported.value || stream.value)\n return;\n stream.value = await navigator.mediaDevices.getUserMedia({\n video: getDeviceOptions(\"video\"),\n audio: getDeviceOptions(\"audio\")\n });\n return stream.value;\n }\n function _stop() {\n var _a2;\n (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.stop());\n stream.value = void 0;\n }\n function stop() {\n _stop();\n enabled.value = false;\n }\n async function start() {\n await _start();\n if (stream.value)\n enabled.value = true;\n return stream.value;\n }\n async function restart() {\n _stop();\n return await start();\n }\n watch(\n enabled,\n (v) => {\n if (v)\n _start();\n else _stop();\n },\n { immediate: true }\n );\n watch(\n constraints,\n () => {\n if (autoSwitch.value && stream.value)\n restart();\n },\n { immediate: true }\n );\n tryOnScopeDispose(() => {\n stop();\n });\n return {\n isSupported,\n stream,\n start,\n stop,\n restart,\n constraints,\n enabled,\n autoSwitch\n };\n}\n\nfunction useVModel(props, key, emit, options = {}) {\n var _a, _b, _c, _d, _e;\n const {\n clone = false,\n passive = false,\n eventName,\n deep = false,\n defaultValue,\n shouldEmit\n } = options;\n const vm = getCurrentInstance();\n const _emit = emit || (vm == null ? void 0 : vm.emit) || ((_a = vm == null ? void 0 : vm.$emit) == null ? void 0 : _a.bind(vm)) || ((_c = (_b = vm == null ? void 0 : vm.proxy) == null ? void 0 : _b.$emit) == null ? void 0 : _c.bind(vm == null ? void 0 : vm.proxy));\n let event = eventName;\n if (!key) {\n if (isVue2) {\n const modelOptions = (_e = (_d = vm == null ? void 0 : vm.proxy) == null ? void 0 : _d.$options) == null ? void 0 : _e.model;\n key = (modelOptions == null ? void 0 : modelOptions.value) || \"value\";\n if (!eventName)\n event = (modelOptions == null ? void 0 : modelOptions.event) || \"input\";\n } else {\n key = \"modelValue\";\n }\n }\n event = event || `update:${key.toString()}`;\n const cloneFn = (val) => !clone ? val : typeof clone === \"function\" ? clone(val) : cloneFnJSON(val);\n const getValue = () => isDef(props[key]) ? cloneFn(props[key]) : defaultValue;\n const triggerEmit = (value) => {\n if (shouldEmit) {\n if (shouldEmit(value))\n _emit(event, value);\n } else {\n _emit(event, value);\n }\n };\n if (passive) {\n const initialValue = getValue();\n const proxy = ref(initialValue);\n let isUpdating = false;\n watch(\n () => props[key],\n (v) => {\n if (!isUpdating) {\n isUpdating = true;\n proxy.value = cloneFn(v);\n nextTick(() => isUpdating = false);\n }\n }\n );\n watch(\n proxy,\n (v) => {\n if (!isUpdating && (v !== props[key] || deep))\n triggerEmit(v);\n },\n { deep }\n );\n return proxy;\n } else {\n return computed({\n get() {\n return getValue();\n },\n set(value) {\n triggerEmit(value);\n }\n });\n }\n}\n\nfunction useVModels(props, emit, options = {}) {\n const ret = {};\n for (const key in props) {\n ret[key] = useVModel(\n props,\n key,\n emit,\n options\n );\n }\n return ret;\n}\n\nfunction useVibrate(options) {\n const {\n pattern = [],\n interval = 0,\n navigator = defaultNavigator\n } = options || {};\n const isSupported = useSupported(() => typeof navigator !== \"undefined\" && \"vibrate\" in navigator);\n const patternRef = toRef(pattern);\n let intervalControls;\n const vibrate = (pattern2 = patternRef.value) => {\n if (isSupported.value)\n navigator.vibrate(pattern2);\n };\n const stop = () => {\n if (isSupported.value)\n navigator.vibrate(0);\n intervalControls == null ? void 0 : intervalControls.pause();\n };\n if (interval > 0) {\n intervalControls = useIntervalFn(\n vibrate,\n interval,\n {\n immediate: false,\n immediateCallback: false\n }\n );\n }\n return {\n isSupported,\n pattern,\n intervalControls,\n vibrate,\n stop\n };\n}\n\nfunction useVirtualList(list, options) {\n const { containerStyle, wrapperProps, scrollTo, calculateRange, currentList, containerRef } = \"itemHeight\" in options ? useVerticalVirtualList(options, list) : useHorizontalVirtualList(options, list);\n return {\n list: currentList,\n scrollTo,\n containerProps: {\n ref: containerRef,\n onScroll: () => {\n calculateRange();\n },\n style: containerStyle\n },\n wrapperProps\n };\n}\nfunction useVirtualListResources(list) {\n const containerRef = ref(null);\n const size = useElementSize(containerRef);\n const currentList = ref([]);\n const source = shallowRef(list);\n const state = ref({ start: 0, end: 10 });\n return { state, source, currentList, size, containerRef };\n}\nfunction createGetViewCapacity(state, source, itemSize) {\n return (containerSize) => {\n if (typeof itemSize === \"number\")\n return Math.ceil(containerSize / itemSize);\n const { start = 0 } = state.value;\n let sum = 0;\n let capacity = 0;\n for (let i = start; i < source.value.length; i++) {\n const size = itemSize(i);\n sum += size;\n capacity = i;\n if (sum > containerSize)\n break;\n }\n return capacity - start;\n };\n}\nfunction createGetOffset(source, itemSize) {\n return (scrollDirection) => {\n if (typeof itemSize === \"number\")\n return Math.floor(scrollDirection / itemSize) + 1;\n let sum = 0;\n let offset = 0;\n for (let i = 0; i < source.value.length; i++) {\n const size = itemSize(i);\n sum += size;\n if (sum >= scrollDirection) {\n offset = i;\n break;\n }\n }\n return offset + 1;\n };\n}\nfunction createCalculateRange(type, overscan, getOffset, getViewCapacity, { containerRef, state, currentList, source }) {\n return () => {\n const element = containerRef.value;\n if (element) {\n const offset = getOffset(type === \"vertical\" ? element.scrollTop : element.scrollLeft);\n const viewCapacity = getViewCapacity(type === \"vertical\" ? element.clientHeight : element.clientWidth);\n const from = offset - overscan;\n const to = offset + viewCapacity + overscan;\n state.value = {\n start: from < 0 ? 0 : from,\n end: to > source.value.length ? source.value.length : to\n };\n currentList.value = source.value.slice(state.value.start, state.value.end).map((ele, index) => ({\n data: ele,\n index: index + state.value.start\n }));\n }\n };\n}\nfunction createGetDistance(itemSize, source) {\n return (index) => {\n if (typeof itemSize === \"number\") {\n const size2 = index * itemSize;\n return size2;\n }\n const size = source.value.slice(0, index).reduce((sum, _, i) => sum + itemSize(i), 0);\n return size;\n };\n}\nfunction useWatchForSizes(size, list, containerRef, calculateRange) {\n watch([size.width, size.height, list, containerRef], () => {\n calculateRange();\n });\n}\nfunction createComputedTotalSize(itemSize, source) {\n return computed(() => {\n if (typeof itemSize === \"number\")\n return source.value.length * itemSize;\n return source.value.reduce((sum, _, index) => sum + itemSize(index), 0);\n });\n}\nconst scrollToDictionaryForElementScrollKey = {\n horizontal: \"scrollLeft\",\n vertical: \"scrollTop\"\n};\nfunction createScrollTo(type, calculateRange, getDistance, containerRef) {\n return (index) => {\n if (containerRef.value) {\n containerRef.value[scrollToDictionaryForElementScrollKey[type]] = getDistance(index);\n calculateRange();\n }\n };\n}\nfunction useHorizontalVirtualList(options, list) {\n const resources = useVirtualListResources(list);\n const { state, source, currentList, size, containerRef } = resources;\n const containerStyle = { overflowX: \"auto\" };\n const { itemWidth, overscan = 5 } = options;\n const getViewCapacity = createGetViewCapacity(state, source, itemWidth);\n const getOffset = createGetOffset(source, itemWidth);\n const calculateRange = createCalculateRange(\"horizontal\", overscan, getOffset, getViewCapacity, resources);\n const getDistanceLeft = createGetDistance(itemWidth, source);\n const offsetLeft = computed(() => getDistanceLeft(state.value.start));\n const totalWidth = createComputedTotalSize(itemWidth, source);\n useWatchForSizes(size, list, containerRef, calculateRange);\n const scrollTo = createScrollTo(\"horizontal\", calculateRange, getDistanceLeft, containerRef);\n const wrapperProps = computed(() => {\n return {\n style: {\n height: \"100%\",\n width: `${totalWidth.value - offsetLeft.value}px`,\n marginLeft: `${offsetLeft.value}px`,\n display: \"flex\"\n }\n };\n });\n return {\n scrollTo,\n calculateRange,\n wrapperProps,\n containerStyle,\n currentList,\n containerRef\n };\n}\nfunction useVerticalVirtualList(options, list) {\n const resources = useVirtualListResources(list);\n const { state, source, currentList, size, containerRef } = resources;\n const containerStyle = { overflowY: \"auto\" };\n const { itemHeight, overscan = 5 } = options;\n const getViewCapacity = createGetViewCapacity(state, source, itemHeight);\n const getOffset = createGetOffset(source, itemHeight);\n const calculateRange = createCalculateRange(\"vertical\", overscan, getOffset, getViewCapacity, resources);\n const getDistanceTop = createGetDistance(itemHeight, source);\n const offsetTop = computed(() => getDistanceTop(state.value.start));\n const totalHeight = createComputedTotalSize(itemHeight, source);\n useWatchForSizes(size, list, containerRef, calculateRange);\n const scrollTo = createScrollTo(\"vertical\", calculateRange, getDistanceTop, containerRef);\n const wrapperProps = computed(() => {\n return {\n style: {\n width: \"100%\",\n height: `${totalHeight.value - offsetTop.value}px`,\n marginTop: `${offsetTop.value}px`\n }\n };\n });\n return {\n calculateRange,\n scrollTo,\n containerStyle,\n wrapperProps,\n currentList,\n containerRef\n };\n}\n\nfunction useWakeLock(options = {}) {\n const {\n navigator = defaultNavigator,\n document = defaultDocument\n } = options;\n const requestedType = ref(false);\n const sentinel = shallowRef(null);\n const documentVisibility = useDocumentVisibility({ document });\n const isSupported = useSupported(() => navigator && \"wakeLock\" in navigator);\n const isActive = computed(() => !!sentinel.value && documentVisibility.value === \"visible\");\n if (isSupported.value) {\n useEventListener(sentinel, \"release\", () => {\n var _a, _b;\n requestedType.value = (_b = (_a = sentinel.value) == null ? void 0 : _a.type) != null ? _b : false;\n });\n whenever(\n () => documentVisibility.value === \"visible\" && (document == null ? void 0 : document.visibilityState) === \"visible\" && requestedType.value,\n (type) => {\n requestedType.value = false;\n forceRequest(type);\n }\n );\n }\n async function forceRequest(type) {\n var _a;\n await ((_a = sentinel.value) == null ? void 0 : _a.release());\n sentinel.value = isSupported.value ? await navigator.wakeLock.request(type) : null;\n }\n async function request(type) {\n if (documentVisibility.value === \"visible\")\n await forceRequest(type);\n else\n requestedType.value = type;\n }\n async function release() {\n requestedType.value = false;\n const s = sentinel.value;\n sentinel.value = null;\n await (s == null ? void 0 : s.release());\n }\n return {\n sentinel,\n isSupported,\n isActive,\n request,\n forceRequest,\n release\n };\n}\n\nfunction useWebNotification(options = {}) {\n const {\n window = defaultWindow,\n requestPermissions: _requestForPermissions = true\n } = options;\n const defaultWebNotificationOptions = options;\n const isSupported = useSupported(() => {\n if (!window || !(\"Notification\" in window))\n return false;\n try {\n new Notification(\"\");\n } catch (e) {\n return false;\n }\n return true;\n });\n const permissionGranted = ref(isSupported.value && \"permission\" in Notification && Notification.permission === \"granted\");\n const notification = ref(null);\n const ensurePermissions = async () => {\n if (!isSupported.value)\n return;\n if (!permissionGranted.value && Notification.permission !== \"denied\") {\n const result = await Notification.requestPermission();\n if (result === \"granted\")\n permissionGranted.value = true;\n }\n return permissionGranted.value;\n };\n const { on: onClick, trigger: clickTrigger } = createEventHook();\n const { on: onShow, trigger: showTrigger } = createEventHook();\n const { on: onError, trigger: errorTrigger } = createEventHook();\n const { on: onClose, trigger: closeTrigger } = createEventHook();\n const show = async (overrides) => {\n if (!isSupported.value || !permissionGranted.value)\n return;\n const options2 = Object.assign({}, defaultWebNotificationOptions, overrides);\n notification.value = new Notification(options2.title || \"\", options2);\n notification.value.onclick = clickTrigger;\n notification.value.onshow = showTrigger;\n notification.value.onerror = errorTrigger;\n notification.value.onclose = closeTrigger;\n return notification.value;\n };\n const close = () => {\n if (notification.value)\n notification.value.close();\n notification.value = null;\n };\n if (_requestForPermissions)\n tryOnMounted(ensurePermissions);\n tryOnScopeDispose(close);\n if (isSupported.value && window) {\n const document = window.document;\n useEventListener(document, \"visibilitychange\", (e) => {\n e.preventDefault();\n if (document.visibilityState === \"visible\") {\n close();\n }\n });\n }\n return {\n isSupported,\n notification,\n ensurePermissions,\n permissionGranted,\n show,\n close,\n onClick,\n onShow,\n onError,\n onClose\n };\n}\n\nconst DEFAULT_PING_MESSAGE = \"ping\";\nfunction resolveNestedOptions(options) {\n if (options === true)\n return {};\n return options;\n}\nfunction useWebSocket(url, options = {}) {\n const {\n onConnected,\n onDisconnected,\n onError,\n onMessage,\n immediate = true,\n autoClose = true,\n protocols = []\n } = options;\n const data = ref(null);\n const status = ref(\"CLOSED\");\n const wsRef = ref();\n const urlRef = toRef(url);\n let heartbeatPause;\n let heartbeatResume;\n let explicitlyClosed = false;\n let retried = 0;\n let bufferedData = [];\n let pongTimeoutWait;\n const _sendBuffer = () => {\n if (bufferedData.length && wsRef.value && status.value === \"OPEN\") {\n for (const buffer of bufferedData)\n wsRef.value.send(buffer);\n bufferedData = [];\n }\n };\n const resetHeartbeat = () => {\n clearTimeout(pongTimeoutWait);\n pongTimeoutWait = void 0;\n };\n const close = (code = 1e3, reason) => {\n if (!isClient || !wsRef.value)\n return;\n explicitlyClosed = true;\n resetHeartbeat();\n heartbeatPause == null ? void 0 : heartbeatPause();\n wsRef.value.close(code, reason);\n wsRef.value = void 0;\n };\n const send = (data2, useBuffer = true) => {\n if (!wsRef.value || status.value !== \"OPEN\") {\n if (useBuffer)\n bufferedData.push(data2);\n return false;\n }\n _sendBuffer();\n wsRef.value.send(data2);\n return true;\n };\n const _init = () => {\n if (explicitlyClosed || typeof urlRef.value === \"undefined\")\n return;\n const ws = new WebSocket(urlRef.value, protocols);\n wsRef.value = ws;\n status.value = \"CONNECTING\";\n ws.onopen = () => {\n status.value = \"OPEN\";\n retried = 0;\n onConnected == null ? void 0 : onConnected(ws);\n heartbeatResume == null ? void 0 : heartbeatResume();\n _sendBuffer();\n };\n ws.onclose = (ev) => {\n status.value = \"CLOSED\";\n onDisconnected == null ? void 0 : onDisconnected(ws, ev);\n if (!explicitlyClosed && options.autoReconnect && ws === wsRef.value) {\n const {\n retries = -1,\n delay = 1e3,\n onFailed\n } = resolveNestedOptions(options.autoReconnect);\n if (typeof retries === \"number\" && (retries < 0 || retried < retries)) {\n retried += 1;\n setTimeout(_init, delay);\n } else if (typeof retries === \"function\" && retries()) {\n setTimeout(_init, delay);\n } else {\n onFailed == null ? void 0 : onFailed();\n }\n }\n };\n ws.onerror = (e) => {\n onError == null ? void 0 : onError(ws, e);\n };\n ws.onmessage = (e) => {\n if (options.heartbeat) {\n resetHeartbeat();\n const {\n message = DEFAULT_PING_MESSAGE,\n responseMessage = message\n } = resolveNestedOptions(options.heartbeat);\n if (e.data === responseMessage)\n return;\n }\n data.value = e.data;\n onMessage == null ? void 0 : onMessage(ws, e);\n };\n };\n if (options.heartbeat) {\n const {\n message = DEFAULT_PING_MESSAGE,\n interval = 1e3,\n pongTimeout = 1e3\n } = resolveNestedOptions(options.heartbeat);\n const { pause, resume } = useIntervalFn(\n () => {\n send(message, false);\n if (pongTimeoutWait != null)\n return;\n pongTimeoutWait = setTimeout(() => {\n close();\n explicitlyClosed = false;\n }, pongTimeout);\n },\n interval,\n { immediate: false }\n );\n heartbeatPause = pause;\n heartbeatResume = resume;\n }\n if (autoClose) {\n if (isClient)\n useEventListener(\"beforeunload\", () => close());\n tryOnScopeDispose(close);\n }\n const open = () => {\n if (!isClient && !isWorker)\n return;\n close();\n explicitlyClosed = false;\n retried = 0;\n _init();\n };\n if (immediate)\n open();\n watch(urlRef, open);\n return {\n data,\n status,\n close,\n send,\n open,\n ws: wsRef\n };\n}\n\nfunction useWebWorker(arg0, workerOptions, options) {\n const {\n window = defaultWindow\n } = options != null ? options : {};\n const data = ref(null);\n const worker = shallowRef();\n const post = (...args) => {\n if (!worker.value)\n return;\n worker.value.postMessage(...args);\n };\n const terminate = function terminate2() {\n if (!worker.value)\n return;\n worker.value.terminate();\n };\n if (window) {\n if (typeof arg0 === \"string\")\n worker.value = new Worker(arg0, workerOptions);\n else if (typeof arg0 === \"function\")\n worker.value = arg0();\n else\n worker.value = arg0;\n worker.value.onmessage = (e) => {\n data.value = e.data;\n };\n tryOnScopeDispose(() => {\n if (worker.value)\n worker.value.terminate();\n });\n }\n return {\n data,\n post,\n terminate,\n worker\n };\n}\n\nfunction depsParser(deps, localDeps) {\n if (deps.length === 0 && localDeps.length === 0)\n return \"\";\n const depsString = deps.map((dep) => `'${dep}'`).toString();\n const depsFunctionString = localDeps.filter((dep) => typeof dep === \"function\").map((fn) => {\n const str = fn.toString();\n if (str.trim().startsWith(\"function\")) {\n return str;\n } else {\n const name = fn.name;\n return `const ${name} = ${str}`;\n }\n }).join(\";\");\n const importString = `importScripts(${depsString});`;\n return `${depsString.trim() === \"\" ? \"\" : importString} ${depsFunctionString}`;\n}\n\nfunction jobRunner(userFunc) {\n return (e) => {\n const userFuncArgs = e.data[0];\n return Promise.resolve(userFunc.apply(void 0, userFuncArgs)).then((result) => {\n postMessage([\"SUCCESS\", result]);\n }).catch((error) => {\n postMessage([\"ERROR\", error]);\n });\n };\n}\n\nfunction createWorkerBlobUrl(fn, deps, localDeps) {\n const blobCode = `${depsParser(deps, localDeps)}; onmessage=(${jobRunner})(${fn})`;\n const blob = new Blob([blobCode], { type: \"text/javascript\" });\n const url = URL.createObjectURL(blob);\n return url;\n}\n\nfunction useWebWorkerFn(fn, options = {}) {\n const {\n dependencies = [],\n localDependencies = [],\n timeout,\n window = defaultWindow\n } = options;\n const worker = ref();\n const workerStatus = ref(\"PENDING\");\n const promise = ref({});\n const timeoutId = ref();\n const workerTerminate = (status = \"PENDING\") => {\n if (worker.value && worker.value._url && window) {\n worker.value.terminate();\n URL.revokeObjectURL(worker.value._url);\n promise.value = {};\n worker.value = void 0;\n window.clearTimeout(timeoutId.value);\n workerStatus.value = status;\n }\n };\n workerTerminate();\n tryOnScopeDispose(workerTerminate);\n const generateWorker = () => {\n const blobUrl = createWorkerBlobUrl(fn, dependencies, localDependencies);\n const newWorker = new Worker(blobUrl);\n newWorker._url = blobUrl;\n newWorker.onmessage = (e) => {\n const { resolve = () => {\n }, reject = () => {\n } } = promise.value;\n const [status, result] = e.data;\n switch (status) {\n case \"SUCCESS\":\n resolve(result);\n workerTerminate(status);\n break;\n default:\n reject(result);\n workerTerminate(\"ERROR\");\n break;\n }\n };\n newWorker.onerror = (e) => {\n const { reject = () => {\n } } = promise.value;\n e.preventDefault();\n reject(e);\n workerTerminate(\"ERROR\");\n };\n if (timeout) {\n timeoutId.value = setTimeout(\n () => workerTerminate(\"TIMEOUT_EXPIRED\"),\n timeout\n );\n }\n return newWorker;\n };\n const callWorker = (...fnArgs) => new Promise((resolve, reject) => {\n var _a;\n promise.value = {\n resolve,\n reject\n };\n (_a = worker.value) == null ? void 0 : _a.postMessage([[...fnArgs]]);\n workerStatus.value = \"RUNNING\";\n });\n const workerFn = (...fnArgs) => {\n if (workerStatus.value === \"RUNNING\") {\n console.error(\n \"[useWebWorkerFn] You can only run one instance of the worker at a time.\"\n );\n return Promise.reject();\n }\n worker.value = generateWorker();\n return callWorker(...fnArgs);\n };\n return {\n workerFn,\n workerStatus,\n workerTerminate\n };\n}\n\nfunction useWindowFocus(options = {}) {\n const { window = defaultWindow } = options;\n if (!window)\n return ref(false);\n const focused = ref(window.document.hasFocus());\n useEventListener(window, \"blur\", () => {\n focused.value = false;\n });\n useEventListener(window, \"focus\", () => {\n focused.value = true;\n });\n return focused;\n}\n\nfunction useWindowScroll(options = {}) {\n const { window = defaultWindow, behavior = \"auto\" } = options;\n if (!window) {\n return {\n x: ref(0),\n y: ref(0)\n };\n }\n const internalX = ref(window.scrollX);\n const internalY = ref(window.scrollY);\n const x = computed({\n get() {\n return internalX.value;\n },\n set(x2) {\n scrollTo({ left: x2, behavior });\n }\n });\n const y = computed({\n get() {\n return internalY.value;\n },\n set(y2) {\n scrollTo({ top: y2, behavior });\n }\n });\n useEventListener(\n window,\n \"scroll\",\n () => {\n internalX.value = window.scrollX;\n internalY.value = window.scrollY;\n },\n {\n capture: false,\n passive: true\n }\n );\n return { x, y };\n}\n\nfunction useWindowSize(options = {}) {\n const {\n window = defaultWindow,\n initialWidth = Number.POSITIVE_INFINITY,\n initialHeight = Number.POSITIVE_INFINITY,\n listenOrientation = true,\n includeScrollbar = true,\n type = \"inner\"\n } = options;\n const width = ref(initialWidth);\n const height = ref(initialHeight);\n const update = () => {\n if (window) {\n if (type === \"outer\") {\n width.value = window.outerWidth;\n height.value = window.outerHeight;\n } else if (includeScrollbar) {\n width.value = window.innerWidth;\n height.value = window.innerHeight;\n } else {\n width.value = window.document.documentElement.clientWidth;\n height.value = window.document.documentElement.clientHeight;\n }\n }\n };\n update();\n tryOnMounted(update);\n useEventListener(\"resize\", update, { passive: true });\n if (listenOrientation) {\n const matches = useMediaQuery(\"(orientation: portrait)\");\n watch(matches, () => update());\n }\n return { width, height };\n}\n\nexport { DefaultMagicKeysAliasMap, StorageSerializers, TransitionPresets, computedAsync as asyncComputed, breakpointsAntDesign, breakpointsBootstrapV5, breakpointsMasterCss, breakpointsPrimeFlex, breakpointsQuasar, breakpointsSematic, breakpointsTailwind, breakpointsVuetify, breakpointsVuetifyV2, breakpointsVuetifyV3, cloneFnJSON, computedAsync, computedInject, createFetch, createReusableTemplate, createTemplatePromise, createUnrefFn, customStorageEventName, defaultDocument, defaultLocation, defaultNavigator, defaultWindow, executeTransition, formatTimeAgo, getSSRHandler, mapGamepadToXbox360Controller, onClickOutside, onKeyDown, onKeyPressed, onKeyStroke, onKeyUp, onLongPress, onStartTyping, setSSRHandler, templateRef, unrefElement, useActiveElement, useAnimate, useAsyncQueue, useAsyncState, useBase64, useBattery, useBluetooth, useBreakpoints, useBroadcastChannel, useBrowserLocation, useCached, useClipboard, useClipboardItems, useCloned, useColorMode, useConfirmDialog, useCssVar, useCurrentElement, useCycleList, useDark, useDebouncedRefHistory, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDisplayMedia, useDocumentVisibility, useDraggable, useDropZone, useElementBounding, useElementByPoint, useElementHover, useElementSize, useElementVisibility, useEventBus, useEventListener, useEventSource, useEyeDropper, useFavicon, useFetch, useFileDialog, useFileSystemAccess, useFocus, useFocusWithin, useFps, useFullscreen, useGamepad, useGeolocation, useIdle, useImage, useInfiniteScroll, useIntersectionObserver, useKeyModifier, useLocalStorage, useMagicKeys, useManualRefHistory, useMediaControls, useMediaQuery, useMemoize, useMemory, useMounted, useMouse, useMouseInElement, useMousePressed, useMutationObserver, useNavigatorLanguage, useNetwork, useNow, useObjectUrl, useOffsetPagination, useOnline, usePageLeave, useParallax, useParentElement, usePerformanceObserver, usePermission, usePointer, usePointerLock, usePointerSwipe, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePreferredLanguages, usePreferredReducedMotion, usePrevious, useRafFn, useRefHistory, useResizeObserver, useScreenOrientation, useScreenSafeArea, useScriptTag, useScroll, useScrollLock, useSessionStorage, useShare, useSorted, useSpeechRecognition, useSpeechSynthesis, useStepper, useStorage, useStorageAsync, useStyleTag, useSupported, useSwipe, useTemplateRefsList, useTextDirection, useTextSelection, useTextareaAutosize, useThrottledRefHistory, useTimeAgo, useTimeoutPoll, useTimestamp, useTitle, useTransition, useUrlSearchParams, useUserMedia, useVModel, useVModels, useVibrate, useVirtualList, useWakeLock, useWebNotification, useWebSocket, useWebWorker, useWebWorkerFn, useWindowFocus, useWindowScroll, useWindowSize };\n","import { inject } from 'vue';\n\nvar PrimeVueToastSymbol = Symbol();\nfunction useToast() {\n var PrimeVueToast = inject(PrimeVueToastSymbol);\n if (!PrimeVueToast) {\n throw new Error('No PrimeVue Toast provided!');\n }\n return PrimeVueToast;\n}\n\nexport { PrimeVueToastSymbol, useToast };\n//# sourceMappingURL=index.mjs.map\n","\n\n\n","\n\n\n\n\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-progressspinner {\\n position: relative;\\n margin: 0 auto;\\n width: 100px;\\n height: 100px;\\n display: inline-block;\\n}\\n\\n.p-progressspinner::before {\\n content: \\\"\\\";\\n display: block;\\n padding-top: 100%;\\n}\\n\\n.p-progressspinner-spin {\\n height: 100%;\\n transform-origin: center center;\\n width: 100%;\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n margin: auto;\\n animation: p-progressspinner-rotate 2s linear infinite;\\n}\\n\\n.p-progressspinner-circle {\\n stroke-dasharray: 89, 200;\\n stroke-dashoffset: 0;\\n stroke: \".concat(dt('progressspinner.color.1'), \";\\n animation: p-progressspinner-dash 1.5s ease-in-out infinite, p-progressspinner-color 6s ease-in-out infinite;\\n stroke-linecap: round;\\n}\\n\\n@keyframes p-progressspinner-rotate {\\n 100% {\\n transform: rotate(360deg);\\n }\\n}\\n@keyframes p-progressspinner-dash {\\n 0% {\\n stroke-dasharray: 1, 200;\\n stroke-dashoffset: 0;\\n }\\n 50% {\\n stroke-dasharray: 89, 200;\\n stroke-dashoffset: -35px;\\n }\\n 100% {\\n stroke-dasharray: 89, 200;\\n stroke-dashoffset: -124px;\\n }\\n}\\n@keyframes p-progressspinner-color {\\n 100%,\\n 0% {\\n stroke: \").concat(dt('progressspinner.color.1'), \";\\n }\\n 40% {\\n stroke: \").concat(dt('progressspinner.color.2'), \";\\n }\\n 66% {\\n stroke: \").concat(dt('progressspinner.color.3'), \";\\n }\\n 80%,\\n 90% {\\n stroke: \").concat(dt('progressspinner.color.4'), \";\\n }\\n}\\n\");\n};\nvar classes = {\n root: 'p-progressspinner',\n spin: 'p-progressspinner-spin',\n circle: 'p-progressspinner-circle'\n};\nvar ProgressSpinnerStyle = BaseStyle.extend({\n name: 'progressspinner',\n theme: theme,\n classes: classes\n});\n\nexport { ProgressSpinnerStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseComponent from '@primevue/core/basecomponent';\nimport ProgressSpinnerStyle from 'primevue/progressspinner/style';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script$1 = {\n name: 'BaseProgressSpinner',\n \"extends\": BaseComponent,\n props: {\n strokeWidth: {\n type: String,\n \"default\": '2'\n },\n fill: {\n type: String,\n \"default\": 'none'\n },\n animationDuration: {\n type: String,\n \"default\": '2s'\n }\n },\n style: ProgressSpinnerStyle,\n provide: function provide() {\n return {\n $pcProgressSpinner: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'ProgressSpinner',\n \"extends\": script$1,\n inheritAttrs: false,\n computed: {\n svgStyle: function svgStyle() {\n return {\n 'animation-duration': this.animationDuration\n };\n }\n }\n};\n\nvar _hoisted_1 = [\"fill\", \"stroke-width\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root'),\n role: \"progressbar\"\n }, _ctx.ptmi('root')), [(openBlock(), createElementBlock(\"svg\", mergeProps({\n \"class\": _ctx.cx('spin'),\n viewBox: \"25 25 50 50\",\n style: $options.svgStyle\n }, _ctx.ptm('spin')), [createElementVNode(\"circle\", mergeProps({\n \"class\": _ctx.cx('circle'),\n cx: \"50\",\n cy: \"50\",\n r: \"20\",\n fill: _ctx.fill,\n \"stroke-width\": _ctx.strokeWidth,\n strokeMiterlimit: \"10\"\n }, _ctx.ptm('circle')), null, 16, _hoisted_1)], 16))], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","/*!\n * shared v9.14.1\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\n/**\n * Original Utilities\n * written by kazuya kawaguchi\n */\nconst inBrowser = typeof window !== 'undefined';\nlet mark;\nlet measure;\nif ((process.env.NODE_ENV !== 'production')) {\n const perf = inBrowser && window.performance;\n if (perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n // @ts-ignore browser compat\n perf.clearMeasures) {\n mark = (tag) => {\n perf.mark(tag);\n };\n measure = (name, startTag, endTag) => {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n };\n }\n}\nconst RE_ARGS = /\\{([0-9a-zA-Z]+)\\}/g;\n/* eslint-disable */\nfunction format(message, ...args) {\n if (args.length === 1 && isObject(args[0])) {\n args = args[0];\n }\n if (!args || !args.hasOwnProperty) {\n args = {};\n }\n return message.replace(RE_ARGS, (match, identifier) => {\n return args.hasOwnProperty(identifier) ? args[identifier] : '';\n });\n}\nconst makeSymbol = (name, shareable = false) => !shareable ? Symbol(name) : Symbol.for(name);\nconst generateFormatCacheKey = (locale, key, source) => friendlyJSONstringify({ l: locale, k: key, s: source });\nconst friendlyJSONstringify = (json) => JSON.stringify(json)\n .replace(/\\u2028/g, '\\\\u2028')\n .replace(/\\u2029/g, '\\\\u2029')\n .replace(/\\u0027/g, '\\\\u0027');\nconst isNumber = (val) => typeof val === 'number' && isFinite(val);\nconst isDate = (val) => toTypeString(val) === '[object Date]';\nconst isRegExp = (val) => toTypeString(val) === '[object RegExp]';\nconst isEmptyObject = (val) => isPlainObject(val) && Object.keys(val).length === 0;\nconst assign = Object.assign;\nlet _globalThis;\nconst getGlobalThis = () => {\n // prettier-ignore\n return (_globalThis ||\n (_globalThis =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {}));\n};\nfunction escapeHtml(rawText) {\n return rawText\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n}\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn(obj, key) {\n return hasOwnProperty.call(obj, key);\n}\n/* eslint-enable */\n/**\n * Useful Utilities By Evan you\n * Modified by kazuya kawaguchi\n * MIT License\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/index.ts\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/codeframe.ts\n */\nconst isArray = Array.isArray;\nconst isFunction = (val) => typeof val === 'function';\nconst isString = (val) => typeof val === 'string';\nconst isBoolean = (val) => typeof val === 'boolean';\nconst isSymbol = (val) => typeof val === 'symbol';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isObject = (val) => val !== null && typeof val === 'object';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isPromise = (val) => {\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst isPlainObject = (val) => {\n if (!isObject(val))\n return false;\n const proto = Object.getPrototypeOf(val);\n return proto === null || proto.constructor === Object;\n};\n// for converting list and named values to displayed strings.\nconst toDisplayString = (val) => {\n return val == null\n ? ''\n : isArray(val) || (isPlainObject(val) && val.toString === objectToString)\n ? JSON.stringify(val, null, 2)\n : String(val);\n};\nfunction join(items, separator = '') {\n return items.reduce((str, item, index) => (index === 0 ? str + item : str + separator + item), '');\n}\nconst RANGE = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n const lines = source.split(/\\r?\\n/);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + 1;\n if (count >= start) {\n for (let j = i - RANGE; j <= i + RANGE || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(`${line}${' '.repeat(3 - String(line).length)}| ${lines[j]}`);\n const lineLength = lines[j].length;\n if (j === i) {\n // push underline\n const pad = start - (count - lineLength) + 1;\n const length = Math.max(1, end > count ? lineLength - pad : end - start);\n res.push(` | ` + ' '.repeat(pad) + '^'.repeat(length));\n }\n else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + '^'.repeat(length));\n }\n count += lineLength + 1;\n }\n }\n break;\n }\n }\n return res.join('\\n');\n}\nfunction incrementer(code) {\n let current = code;\n return () => ++current;\n}\n\nfunction warn(msg, err) {\n if (typeof console !== 'undefined') {\n console.warn(`[intlify] ` + msg);\n /* istanbul ignore if */\n if (err) {\n console.warn(err.stack);\n }\n }\n}\nconst hasWarned = {};\nfunction warnOnce(msg) {\n if (!hasWarned[msg]) {\n hasWarned[msg] = true;\n warn(msg);\n }\n}\n\n/**\n * Event emitter, forked from the below:\n * - original repository url: https://github.com/developit/mitt\n * - code url: https://github.com/developit/mitt/blob/master/src/index.ts\n * - author: Jason Miller (https://github.com/developit)\n * - license: MIT\n */\n/**\n * Create a event emitter\n *\n * @returns An event emitter\n */\nfunction createEmitter() {\n const events = new Map();\n const emitter = {\n events,\n on(event, handler) {\n const handlers = events.get(event);\n const added = handlers && handlers.push(handler);\n if (!added) {\n events.set(event, [handler]);\n }\n },\n off(event, handler) {\n const handlers = events.get(event);\n if (handlers) {\n handlers.splice(handlers.indexOf(handler) >>> 0, 1);\n }\n },\n emit(event, payload) {\n (events.get(event) || [])\n .slice()\n .map(handler => handler(payload));\n (events.get('*') || [])\n .slice()\n .map(handler => handler(event, payload));\n }\n };\n return emitter;\n}\n\nconst isNotObjectOrIsArray = (val) => !isObject(val) || isArray(val);\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\nfunction deepCopy(src, des) {\n // src and des should both be objects, and none of them can be a array\n if (isNotObjectOrIsArray(src) || isNotObjectOrIsArray(des)) {\n throw new Error('Invalid value');\n }\n const stack = [{ src, des }];\n while (stack.length) {\n const { src, des } = stack.pop();\n // using `Object.keys` which skips prototype properties\n Object.keys(src).forEach(key => {\n // if src[key] is an object/array, set des[key]\n // to empty object/array to prevent setting by reference\n if (isObject(src[key]) && !isObject(des[key])) {\n des[key] = Array.isArray(src[key]) ? [] : {};\n }\n if (isNotObjectOrIsArray(des[key]) || isNotObjectOrIsArray(src[key])) {\n // replace with src[key] when:\n // src[key] or des[key] is not an object, or\n // src[key] or des[key] is an array\n des[key] = src[key];\n }\n else {\n // src[key] and des[key] are both objects, merge them\n stack.push({ src: src[key], des: des[key] });\n }\n });\n }\n}\n\nexport { assign, createEmitter, deepCopy, escapeHtml, format, friendlyJSONstringify, generateCodeFrame, generateFormatCacheKey, getGlobalThis, hasOwn, inBrowser, incrementer, isArray, isBoolean, isDate, isEmptyObject, isFunction, isNumber, isObject, isPlainObject, isPromise, isRegExp, isString, isSymbol, join, makeSymbol, mark, measure, objectToString, toDisplayString, toTypeString, warn, warnOnce };\n","/*!\n * message-compiler v9.14.1\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nconst LOCATION_STUB = {\n start: { line: 1, column: 1, offset: 0 },\n end: { line: 1, column: 1, offset: 0 }\n};\nfunction createPosition(line, column, offset) {\n return { line, column, offset };\n}\nfunction createLocation(start, end, source) {\n const loc = { start, end };\n if (source != null) {\n loc.source = source;\n }\n return loc;\n}\n\n/**\n * Original Utilities\n * written by kazuya kawaguchi\n */\nconst RE_ARGS = /\\{([0-9a-zA-Z]+)\\}/g;\n/* eslint-disable */\nfunction format(message, ...args) {\n if (args.length === 1 && isObject(args[0])) {\n args = args[0];\n }\n if (!args || !args.hasOwnProperty) {\n args = {};\n }\n return message.replace(RE_ARGS, (match, identifier) => {\n return args.hasOwnProperty(identifier) ? args[identifier] : '';\n });\n}\nconst assign = Object.assign;\nconst isString = (val) => typeof val === 'string';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isObject = (val) => val !== null && typeof val === 'object';\nfunction join(items, separator = '') {\n return items.reduce((str, item, index) => (index === 0 ? str + item : str + separator + item), '');\n}\n\nconst CompileWarnCodes = {\n USE_MODULO_SYNTAX: 1,\n __EXTEND_POINT__: 2\n};\n/** @internal */\nconst warnMessages = {\n [CompileWarnCodes.USE_MODULO_SYNTAX]: `Use modulo before '{{0}}'.`\n};\nfunction createCompileWarn(code, loc, ...args) {\n const msg = format(warnMessages[code] || '', ...(args || [])) ;\n const message = { message: String(msg), code };\n if (loc) {\n message.location = loc;\n }\n return message;\n}\n\nconst CompileErrorCodes = {\n // tokenizer error codes\n EXPECTED_TOKEN: 1,\n INVALID_TOKEN_IN_PLACEHOLDER: 2,\n UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,\n UNKNOWN_ESCAPE_SEQUENCE: 4,\n INVALID_UNICODE_ESCAPE_SEQUENCE: 5,\n UNBALANCED_CLOSING_BRACE: 6,\n UNTERMINATED_CLOSING_BRACE: 7,\n EMPTY_PLACEHOLDER: 8,\n NOT_ALLOW_NEST_PLACEHOLDER: 9,\n INVALID_LINKED_FORMAT: 10,\n // parser error codes\n MUST_HAVE_MESSAGES_IN_PLURAL: 11,\n UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,\n UNEXPECTED_EMPTY_LINKED_KEY: 13,\n UNEXPECTED_LEXICAL_ANALYSIS: 14,\n // generator error codes\n UNHANDLED_CODEGEN_NODE_TYPE: 15,\n // minifier error codes\n UNHANDLED_MINIFIER_NODE_TYPE: 16,\n // Special value for higher-order compilers to pick up the last code\n // to avoid collision of error codes. This should always be kept as the last\n // item.\n __EXTEND_POINT__: 17\n};\n/** @internal */\nconst errorMessages = {\n // tokenizer error messages\n [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`,\n [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`,\n [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`,\n [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\\\{0}`,\n [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`,\n [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`,\n [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`,\n [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`,\n [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`,\n [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`,\n // parser error messages\n [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`,\n [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`,\n // generator error messages\n [CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE]: `unhandled codegen node type: '{0}'`,\n // minimizer error messages\n [CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE]: `unhandled mimifier node type: '{0}'`\n};\nfunction createCompileError(code, loc, options = {}) {\n const { domain, messages, args } = options;\n const msg = format((messages || errorMessages)[code] || '', ...(args || []))\n ;\n const error = new SyntaxError(String(msg));\n error.code = code;\n if (loc) {\n error.location = loc;\n }\n error.domain = domain;\n return error;\n}\n/** @internal */\nfunction defaultOnError(error) {\n throw error;\n}\n\n// eslint-disable-next-line no-useless-escape\nconst RE_HTML_TAG = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\nconst detectHtmlTag = (source) => RE_HTML_TAG.test(source);\n\nconst CHAR_SP = ' ';\nconst CHAR_CR = '\\r';\nconst CHAR_LF = '\\n';\nconst CHAR_LS = String.fromCharCode(0x2028);\nconst CHAR_PS = String.fromCharCode(0x2029);\nfunction createScanner(str) {\n const _buf = str;\n let _index = 0;\n let _line = 1;\n let _column = 1;\n let _peekOffset = 0;\n const isCRLF = (index) => _buf[index] === CHAR_CR && _buf[index + 1] === CHAR_LF;\n const isLF = (index) => _buf[index] === CHAR_LF;\n const isPS = (index) => _buf[index] === CHAR_PS;\n const isLS = (index) => _buf[index] === CHAR_LS;\n const isLineEnd = (index) => isCRLF(index) || isLF(index) || isPS(index) || isLS(index);\n const index = () => _index;\n const line = () => _line;\n const column = () => _column;\n const peekOffset = () => _peekOffset;\n const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];\n const currentChar = () => charAt(_index);\n const currentPeek = () => charAt(_index + _peekOffset);\n function next() {\n _peekOffset = 0;\n if (isLineEnd(_index)) {\n _line++;\n _column = 0;\n }\n if (isCRLF(_index)) {\n _index++;\n }\n _index++;\n _column++;\n return _buf[_index];\n }\n function peek() {\n if (isCRLF(_index + _peekOffset)) {\n _peekOffset++;\n }\n _peekOffset++;\n return _buf[_index + _peekOffset];\n }\n function reset() {\n _index = 0;\n _line = 1;\n _column = 1;\n _peekOffset = 0;\n }\n function resetPeek(offset = 0) {\n _peekOffset = offset;\n }\n function skipToPeek() {\n const target = _index + _peekOffset;\n // eslint-disable-next-line no-unmodified-loop-condition\n while (target !== _index) {\n next();\n }\n _peekOffset = 0;\n }\n return {\n index,\n line,\n column,\n peekOffset,\n charAt,\n currentChar,\n currentPeek,\n next,\n peek,\n reset,\n resetPeek,\n skipToPeek\n };\n}\n\nconst EOF = undefined;\nconst DOT = '.';\nconst LITERAL_DELIMITER = \"'\";\nconst ERROR_DOMAIN$3 = 'tokenizer';\nfunction createTokenizer(source, options = {}) {\n const location = options.location !== false;\n const _scnr = createScanner(source);\n const currentOffset = () => _scnr.index();\n const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());\n const _initLoc = currentPosition();\n const _initOffset = currentOffset();\n const _context = {\n currentType: 14 /* TokenTypes.EOF */,\n offset: _initOffset,\n startLoc: _initLoc,\n endLoc: _initLoc,\n lastType: 14 /* TokenTypes.EOF */,\n lastOffset: _initOffset,\n lastStartLoc: _initLoc,\n lastEndLoc: _initLoc,\n braceNest: 0,\n inLinked: false,\n text: ''\n };\n const context = () => _context;\n const { onError } = options;\n function emitError(code, pos, offset, ...args) {\n const ctx = context();\n pos.column += offset;\n pos.offset += offset;\n if (onError) {\n const loc = location ? createLocation(ctx.startLoc, pos) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$3,\n args\n });\n onError(err);\n }\n }\n function getToken(context, type, value) {\n context.endLoc = currentPosition();\n context.currentType = type;\n const token = { type };\n if (location) {\n token.loc = createLocation(context.startLoc, context.endLoc);\n }\n if (value != null) {\n token.value = value;\n }\n return token;\n }\n const getEndToken = (context) => getToken(context, 14 /* TokenTypes.EOF */);\n function eat(scnr, ch) {\n if (scnr.currentChar() === ch) {\n scnr.next();\n return ch;\n }\n else {\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n return '';\n }\n }\n function peekSpaces(scnr) {\n let buf = '';\n while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {\n buf += scnr.currentPeek();\n scnr.peek();\n }\n return buf;\n }\n function skipSpaces(scnr) {\n const buf = peekSpaces(scnr);\n scnr.skipToPeek();\n return buf;\n }\n function isIdentifierStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n cc === 95 // _\n );\n }\n function isNumberStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function isNamedIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isListIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ch = scnr.currentPeek() === '-' ? scnr.peek() : scnr.currentPeek();\n const ret = isNumberStart(ch);\n scnr.resetPeek();\n return ret;\n }\n function isLiteralStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === LITERAL_DELIMITER;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDotStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 8 /* TokenTypes.LinkedAlias */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \".\" /* TokenChars.LinkedDot */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedModifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 9 /* TokenTypes.LinkedDot */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDelimiterStart(scnr, context) {\n const { currentType } = context;\n if (!(currentType === 8 /* TokenTypes.LinkedAlias */ ||\n currentType === 12 /* TokenTypes.LinkedModifier */)) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \":\" /* TokenChars.LinkedDelimiter */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedReferStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 10 /* TokenTypes.LinkedDelimiter */) {\n return false;\n }\n const fn = () => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return isIdentifierStart(scnr.peek());\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"%\" /* TokenChars.Modulo */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \":\" /* TokenChars.LinkedDelimiter */ ||\n ch === \".\" /* TokenChars.LinkedDot */ ||\n ch === CHAR_SP ||\n !ch) {\n return false;\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn();\n }\n else {\n // other characters\n return isTextStart(scnr, false);\n }\n };\n const ret = fn();\n scnr.resetPeek();\n return ret;\n }\n function isPluralStart(scnr) {\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \"|\" /* TokenChars.Pipe */;\n scnr.resetPeek();\n return ret;\n }\n function detectModuloStart(scnr) {\n const spaces = peekSpaces(scnr);\n const ret = scnr.currentPeek() === \"%\" /* TokenChars.Modulo */ &&\n scnr.peek() === \"{\" /* TokenChars.BraceLeft */;\n scnr.resetPeek();\n return {\n isModulo: ret,\n hasSpace: spaces.length > 0\n };\n }\n function isTextStart(scnr, reset = true) {\n const fn = (hasSpace = false, prev = '', detectModulo = false) => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return prev === \"%\" /* TokenChars.Modulo */ ? false : hasSpace;\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ || !ch) {\n return prev === \"%\" /* TokenChars.Modulo */ ? true : hasSpace;\n }\n else if (ch === \"%\" /* TokenChars.Modulo */) {\n scnr.peek();\n return fn(hasSpace, \"%\" /* TokenChars.Modulo */, true);\n }\n else if (ch === \"|\" /* TokenChars.Pipe */) {\n return prev === \"%\" /* TokenChars.Modulo */ || detectModulo\n ? true\n : !(prev === CHAR_SP || prev === CHAR_LF);\n }\n else if (ch === CHAR_SP) {\n scnr.peek();\n return fn(true, CHAR_SP, detectModulo);\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn(true, CHAR_LF, detectModulo);\n }\n else {\n return true;\n }\n };\n const ret = fn();\n reset && scnr.resetPeek();\n return ret;\n }\n function takeChar(scnr, fn) {\n const ch = scnr.currentChar();\n if (ch === EOF) {\n return EOF;\n }\n if (fn(ch)) {\n scnr.next();\n return ch;\n }\n return null;\n }\n function isIdentifier(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 // $\n );\n }\n function takeIdentifierChar(scnr) {\n return takeChar(scnr, isIdentifier);\n }\n function isNamedIdentifier(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 || // $\n cc === 45 // -\n );\n }\n function takeNamedIdentifierChar(scnr) {\n return takeChar(scnr, isNamedIdentifier);\n }\n function isDigit(ch) {\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function takeDigit(scnr) {\n return takeChar(scnr, isDigit);\n }\n function isHexDigit(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 48 && cc <= 57) || // 0-9\n (cc >= 65 && cc <= 70) || // A-F\n (cc >= 97 && cc <= 102)); // a-f\n }\n function takeHexDigit(scnr) {\n return takeChar(scnr, isHexDigit);\n }\n function getDigits(scnr) {\n let ch = '';\n let num = '';\n while ((ch = takeDigit(scnr))) {\n num += ch;\n }\n return num;\n }\n function readModulo(scnr) {\n skipSpaces(scnr);\n const ch = scnr.currentChar();\n if (ch !== \"%\" /* TokenChars.Modulo */) {\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n }\n scnr.next();\n return \"%\" /* TokenChars.Modulo */;\n }\n function readText(scnr) {\n let buf = '';\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"}\" /* TokenChars.BraceRight */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n !ch) {\n break;\n }\n else if (ch === \"%\" /* TokenChars.Modulo */) {\n if (isTextStart(scnr)) {\n buf += ch;\n scnr.next();\n }\n else {\n break;\n }\n }\n else if (ch === CHAR_SP || ch === CHAR_LF) {\n if (isTextStart(scnr)) {\n buf += ch;\n scnr.next();\n }\n else if (isPluralStart(scnr)) {\n break;\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n return buf;\n }\n function readNamedIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let name = '';\n while ((ch = takeNamedIdentifierChar(scnr))) {\n name += ch;\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return name;\n }\n function readListIdentifier(scnr) {\n skipSpaces(scnr);\n let value = '';\n if (scnr.currentChar() === '-') {\n scnr.next();\n value += `-${getDigits(scnr)}`;\n }\n else {\n value += getDigits(scnr);\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return value;\n }\n function isLiteral(ch) {\n return ch !== LITERAL_DELIMITER && ch !== CHAR_LF;\n }\n function readLiteral(scnr) {\n skipSpaces(scnr);\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n let ch = '';\n let literal = '';\n while ((ch = takeChar(scnr, isLiteral))) {\n if (ch === '\\\\') {\n literal += readEscapeSequence(scnr);\n }\n else {\n literal += ch;\n }\n }\n const current = scnr.currentChar();\n if (current === CHAR_LF || current === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0);\n // TODO: Is it correct really?\n if (current === CHAR_LF) {\n scnr.next();\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n }\n return literal;\n }\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n return literal;\n }\n function readEscapeSequence(scnr) {\n const ch = scnr.currentChar();\n switch (ch) {\n case '\\\\':\n case `\\'`: // eslint-disable-line no-useless-escape\n scnr.next();\n return `\\\\${ch}`;\n case 'u':\n return readUnicodeEscapeSequence(scnr, ch, 4);\n case 'U':\n return readUnicodeEscapeSequence(scnr, ch, 6);\n default:\n emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch);\n return '';\n }\n }\n function readUnicodeEscapeSequence(scnr, unicode, digits) {\n eat(scnr, unicode);\n let sequence = '';\n for (let i = 0; i < digits; i++) {\n const ch = takeHexDigit(scnr);\n if (!ch) {\n emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\\\${unicode}${sequence}${scnr.currentChar()}`);\n break;\n }\n sequence += ch;\n }\n return `\\\\${unicode}${sequence}`;\n }\n function isInvalidIdentifier(ch) {\n return (ch !== \"{\" /* TokenChars.BraceLeft */ &&\n ch !== \"}\" /* TokenChars.BraceRight */ &&\n ch !== CHAR_SP &&\n ch !== CHAR_LF);\n }\n function readInvalidIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let identifiers = '';\n while ((ch = takeChar(scnr, isInvalidIdentifier))) {\n identifiers += ch;\n }\n return identifiers;\n }\n function readLinkedModifier(scnr) {\n let ch = '';\n let name = '';\n while ((ch = takeIdentifierChar(scnr))) {\n name += ch;\n }\n return name;\n }\n function readLinkedRefer(scnr) {\n const fn = (buf) => {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"%\" /* TokenChars.Modulo */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \"(\" /* TokenChars.ParenLeft */ ||\n ch === \")\" /* TokenChars.ParenRight */ ||\n !ch) {\n return buf;\n }\n else if (ch === CHAR_SP) {\n return buf;\n }\n else if (ch === CHAR_LF || ch === DOT) {\n buf += ch;\n scnr.next();\n return fn(buf);\n }\n else {\n buf += ch;\n scnr.next();\n return fn(buf);\n }\n };\n return fn('');\n }\n function readPlural(scnr) {\n skipSpaces(scnr);\n const plural = eat(scnr, \"|\" /* TokenChars.Pipe */);\n skipSpaces(scnr);\n return plural;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInPlaceholder(scnr, context) {\n let token = null;\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n if (context.braceNest >= 1) {\n emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 2 /* TokenTypes.BraceLeft */, \"{\" /* TokenChars.BraceLeft */);\n skipSpaces(scnr);\n context.braceNest++;\n return token;\n case \"}\" /* TokenChars.BraceRight */:\n if (context.braceNest > 0 &&\n context.currentType === 2 /* TokenTypes.BraceLeft */) {\n emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n context.braceNest--;\n context.braceNest > 0 && skipSpaces(scnr);\n if (context.inLinked && context.braceNest === 0) {\n context.inLinked = false;\n }\n return token;\n case \"@\" /* TokenChars.LinkedAlias */:\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = readTokenInLinked(scnr, context) || getEndToken(context);\n context.braceNest = 0;\n return token;\n default: {\n let validNamedIdentifier = true;\n let validListIdentifier = true;\n let validLiteral = true;\n if (isPluralStart(scnr)) {\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (context.braceNest > 0 &&\n (context.currentType === 5 /* TokenTypes.Named */ ||\n context.currentType === 6 /* TokenTypes.List */ ||\n context.currentType === 7 /* TokenTypes.Literal */)) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n context.braceNest = 0;\n return readToken(scnr, context);\n }\n if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {\n token = getToken(context, 5 /* TokenTypes.Named */, readNamedIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validListIdentifier = isListIdentifierStart(scnr, context))) {\n token = getToken(context, 6 /* TokenTypes.List */, readListIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validLiteral = isLiteralStart(scnr, context))) {\n token = getToken(context, 7 /* TokenTypes.Literal */, readLiteral(scnr));\n skipSpaces(scnr);\n return token;\n }\n if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {\n // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...\n token = getToken(context, 13 /* TokenTypes.InvalidPlace */, readInvalidIdentifier(scnr));\n emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);\n skipSpaces(scnr);\n return token;\n }\n break;\n }\n }\n return token;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInLinked(scnr, context) {\n const { currentType } = context;\n let token = null;\n const ch = scnr.currentChar();\n if ((currentType === 8 /* TokenTypes.LinkedAlias */ ||\n currentType === 9 /* TokenTypes.LinkedDot */ ||\n currentType === 12 /* TokenTypes.LinkedModifier */ ||\n currentType === 10 /* TokenTypes.LinkedDelimiter */) &&\n (ch === CHAR_LF || ch === CHAR_SP)) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n switch (ch) {\n case \"@\" /* TokenChars.LinkedAlias */:\n scnr.next();\n token = getToken(context, 8 /* TokenTypes.LinkedAlias */, \"@\" /* TokenChars.LinkedAlias */);\n context.inLinked = true;\n return token;\n case \".\" /* TokenChars.LinkedDot */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 9 /* TokenTypes.LinkedDot */, \".\" /* TokenChars.LinkedDot */);\n case \":\" /* TokenChars.LinkedDelimiter */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 10 /* TokenTypes.LinkedDelimiter */, \":\" /* TokenChars.LinkedDelimiter */);\n default:\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (isLinkedDotStart(scnr, context) ||\n isLinkedDelimiterStart(scnr, context)) {\n skipSpaces(scnr);\n return readTokenInLinked(scnr, context);\n }\n if (isLinkedModifierStart(scnr, context)) {\n skipSpaces(scnr);\n return getToken(context, 12 /* TokenTypes.LinkedModifier */, readLinkedModifier(scnr));\n }\n if (isLinkedReferStart(scnr, context)) {\n skipSpaces(scnr);\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n // scan the placeholder\n return readTokenInPlaceholder(scnr, context) || token;\n }\n else {\n return getToken(context, 11 /* TokenTypes.LinkedKey */, readLinkedRefer(scnr));\n }\n }\n if (currentType === 8 /* TokenTypes.LinkedAlias */) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n context.braceNest = 0;\n context.inLinked = false;\n return readToken(scnr, context);\n }\n }\n // TODO: We need refactoring of token parsing ...\n function readToken(scnr, context) {\n let token = { type: 14 /* TokenTypes.EOF */ };\n if (context.braceNest > 0) {\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n }\n if (context.inLinked) {\n return readTokenInLinked(scnr, context) || getEndToken(context);\n }\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n case \"}\" /* TokenChars.BraceRight */:\n emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0);\n scnr.next();\n return getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n case \"@\" /* TokenChars.LinkedAlias */:\n return readTokenInLinked(scnr, context) || getEndToken(context);\n default: {\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n const { isModulo, hasSpace } = detectModuloStart(scnr);\n if (isModulo) {\n return hasSpace\n ? getToken(context, 0 /* TokenTypes.Text */, readText(scnr))\n : getToken(context, 4 /* TokenTypes.Modulo */, readModulo(scnr));\n }\n if (isTextStart(scnr)) {\n return getToken(context, 0 /* TokenTypes.Text */, readText(scnr));\n }\n break;\n }\n }\n return token;\n }\n function nextToken() {\n const { currentType, offset, startLoc, endLoc } = _context;\n _context.lastType = currentType;\n _context.lastOffset = offset;\n _context.lastStartLoc = startLoc;\n _context.lastEndLoc = endLoc;\n _context.offset = currentOffset();\n _context.startLoc = currentPosition();\n if (_scnr.currentChar() === EOF) {\n return getToken(_context, 14 /* TokenTypes.EOF */);\n }\n return readToken(_scnr, _context);\n }\n return {\n nextToken,\n currentOffset,\n currentPosition,\n context\n };\n}\n\nconst ERROR_DOMAIN$2 = 'parser';\n// Backslash backslash, backslash quote, uHHHH, UHHHHHH.\nconst KNOWN_ESCAPES = /(?:\\\\\\\\|\\\\'|\\\\u([0-9a-fA-F]{4})|\\\\U([0-9a-fA-F]{6}))/g;\nfunction fromEscapeSequence(match, codePoint4, codePoint6) {\n switch (match) {\n case `\\\\\\\\`:\n return `\\\\`;\n // eslint-disable-next-line no-useless-escape\n case `\\\\\\'`:\n // eslint-disable-next-line no-useless-escape\n return `\\'`;\n default: {\n const codePoint = parseInt(codePoint4 || codePoint6, 16);\n if (codePoint <= 0xd7ff || codePoint >= 0xe000) {\n return String.fromCodePoint(codePoint);\n }\n // invalid ...\n // Replace them with U+FFFD REPLACEMENT CHARACTER.\n return '�';\n }\n }\n}\nfunction createParser(options = {}) {\n const location = options.location !== false;\n const { onError, onWarn } = options;\n function emitError(tokenzer, code, start, offset, ...args) {\n const end = tokenzer.currentPosition();\n end.offset += offset;\n end.column += offset;\n if (onError) {\n const loc = location ? createLocation(start, end) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$2,\n args\n });\n onError(err);\n }\n }\n function emitWarn(tokenzer, code, start, offset, ...args) {\n const end = tokenzer.currentPosition();\n end.offset += offset;\n end.column += offset;\n if (onWarn) {\n const loc = location ? createLocation(start, end) : null;\n onWarn(createCompileWarn(code, loc, args));\n }\n }\n function startNode(type, offset, loc) {\n const node = { type };\n if (location) {\n node.start = offset;\n node.end = offset;\n node.loc = { start: loc, end: loc };\n }\n return node;\n }\n function endNode(node, offset, pos, type) {\n if (type) {\n node.type = type;\n }\n if (location) {\n node.end = offset;\n if (node.loc) {\n node.loc.end = pos;\n }\n }\n }\n function parseText(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(3 /* NodeTypes.Text */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseList(tokenizer, index) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(5 /* NodeTypes.List */, offset, loc);\n node.index = parseInt(index, 10);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseNamed(tokenizer, key, modulo) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(4 /* NodeTypes.Named */, offset, loc);\n node.key = key;\n if (modulo === true) {\n node.modulo = true;\n }\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLiteral(tokenizer, value) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(9 /* NodeTypes.Literal */, offset, loc);\n node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinkedModifier(tokenizer) {\n const token = tokenizer.nextToken();\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc\n const node = startNode(8 /* NodeTypes.LinkedModifier */, offset, loc);\n if (token.type !== 12 /* TokenTypes.LinkedModifier */) {\n // empty modifier\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);\n node.value = '';\n endNode(node, offset, loc);\n return {\n nextConsumeToken: token,\n node\n };\n }\n // check token\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.value = token.value || '';\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node\n };\n }\n function parseLinkedKey(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(7 /* NodeTypes.LinkedKey */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinked(tokenizer) {\n const context = tokenizer.context();\n const linkedNode = startNode(6 /* NodeTypes.Linked */, context.offset, context.startLoc);\n let token = tokenizer.nextToken();\n if (token.type === 9 /* TokenTypes.LinkedDot */) {\n const parsed = parseLinkedModifier(tokenizer);\n linkedNode.modifier = parsed.node;\n token = parsed.nextConsumeToken || tokenizer.nextToken();\n }\n // asset check token\n if (token.type !== 10 /* TokenTypes.LinkedDelimiter */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n token = tokenizer.nextToken();\n // skip brace left\n if (token.type === 2 /* TokenTypes.BraceLeft */) {\n token = tokenizer.nextToken();\n }\n switch (token.type) {\n case 11 /* TokenTypes.LinkedKey */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLinkedKey(tokenizer, token.value || '');\n break;\n case 5 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseNamed(tokenizer, token.value || '');\n break;\n case 6 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseList(tokenizer, token.value || '');\n break;\n case 7 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLiteral(tokenizer, token.value || '');\n break;\n default: {\n // empty key\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0);\n const nextContext = tokenizer.context();\n const emptyLinkedKeyNode = startNode(7 /* NodeTypes.LinkedKey */, nextContext.offset, nextContext.startLoc);\n emptyLinkedKeyNode.value = '';\n endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);\n linkedNode.key = emptyLinkedKeyNode;\n endNode(linkedNode, nextContext.offset, nextContext.startLoc);\n return {\n nextConsumeToken: token,\n node: linkedNode\n };\n }\n }\n endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node: linkedNode\n };\n }\n function parseMessage(tokenizer) {\n const context = tokenizer.context();\n const startOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? tokenizer.currentOffset()\n : context.offset;\n const startLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.endLoc\n : context.startLoc;\n const node = startNode(2 /* NodeTypes.Message */, startOffset, startLoc);\n node.items = [];\n let nextToken = null;\n let modulo = null;\n do {\n const token = nextToken || tokenizer.nextToken();\n nextToken = null;\n switch (token.type) {\n case 0 /* TokenTypes.Text */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseText(tokenizer, token.value || ''));\n break;\n case 6 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseList(tokenizer, token.value || ''));\n break;\n case 4 /* TokenTypes.Modulo */:\n modulo = true;\n break;\n case 5 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseNamed(tokenizer, token.value || '', !!modulo));\n if (modulo) {\n emitWarn(tokenizer, CompileWarnCodes.USE_MODULO_SYNTAX, context.lastStartLoc, 0, getTokenCaption(token));\n modulo = null;\n }\n break;\n case 7 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseLiteral(tokenizer, token.value || ''));\n break;\n case 8 /* TokenTypes.LinkedAlias */: {\n const parsed = parseLinked(tokenizer);\n node.items.push(parsed.node);\n nextToken = parsed.nextConsumeToken || null;\n break;\n }\n }\n } while (context.currentType !== 14 /* TokenTypes.EOF */ &&\n context.currentType !== 1 /* TokenTypes.Pipe */);\n // adjust message node loc\n const endOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastOffset\n : tokenizer.currentOffset();\n const endLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastEndLoc\n : tokenizer.currentPosition();\n endNode(node, endOffset, endLoc);\n return node;\n }\n function parsePlural(tokenizer, offset, loc, msgNode) {\n const context = tokenizer.context();\n let hasEmptyMessage = msgNode.items.length === 0;\n const node = startNode(1 /* NodeTypes.Plural */, offset, loc);\n node.cases = [];\n node.cases.push(msgNode);\n do {\n const msg = parseMessage(tokenizer);\n if (!hasEmptyMessage) {\n hasEmptyMessage = msg.items.length === 0;\n }\n node.cases.push(msg);\n } while (context.currentType !== 14 /* TokenTypes.EOF */);\n if (hasEmptyMessage) {\n emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseResource(tokenizer) {\n const context = tokenizer.context();\n const { offset, startLoc } = context;\n const msgNode = parseMessage(tokenizer);\n if (context.currentType === 14 /* TokenTypes.EOF */) {\n return msgNode;\n }\n else {\n return parsePlural(tokenizer, offset, startLoc, msgNode);\n }\n }\n function parse(source) {\n const tokenizer = createTokenizer(source, assign({}, options));\n const context = tokenizer.context();\n const node = startNode(0 /* NodeTypes.Resource */, context.offset, context.startLoc);\n if (location && node.loc) {\n node.loc.source = source;\n }\n node.body = parseResource(tokenizer);\n if (options.onCacheKey) {\n node.cacheKey = options.onCacheKey(source);\n }\n // assert whether achieved to EOF\n if (context.currentType !== 14 /* TokenTypes.EOF */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n return { parse };\n}\nfunction getTokenCaption(token) {\n if (token.type === 14 /* TokenTypes.EOF */) {\n return 'EOF';\n }\n const name = (token.value || '').replace(/\\r?\\n/gu, '\\\\n');\n return name.length > 10 ? name.slice(0, 9) + '…' : name;\n}\n\nfunction createTransformer(ast, options = {} // eslint-disable-line\n) {\n const _context = {\n ast,\n helpers: new Set()\n };\n const context = () => _context;\n const helper = (name) => {\n _context.helpers.add(name);\n return name;\n };\n return { context, helper };\n}\nfunction traverseNodes(nodes, transformer) {\n for (let i = 0; i < nodes.length; i++) {\n traverseNode(nodes[i], transformer);\n }\n}\nfunction traverseNode(node, transformer) {\n // TODO: if we need pre-hook of transform, should be implemented to here\n switch (node.type) {\n case 1 /* NodeTypes.Plural */:\n traverseNodes(node.cases, transformer);\n transformer.helper(\"plural\" /* HelperNameMap.PLURAL */);\n break;\n case 2 /* NodeTypes.Message */:\n traverseNodes(node.items, transformer);\n break;\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n traverseNode(linked.key, transformer);\n transformer.helper(\"linked\" /* HelperNameMap.LINKED */);\n transformer.helper(\"type\" /* HelperNameMap.TYPE */);\n break;\n }\n case 5 /* NodeTypes.List */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"list\" /* HelperNameMap.LIST */);\n break;\n case 4 /* NodeTypes.Named */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"named\" /* HelperNameMap.NAMED */);\n break;\n }\n // TODO: if we need post-hook of transform, should be implemented to here\n}\n// transform AST\nfunction transform(ast, options = {} // eslint-disable-line\n) {\n const transformer = createTransformer(ast);\n transformer.helper(\"normalize\" /* HelperNameMap.NORMALIZE */);\n // traverse\n ast.body && traverseNode(ast.body, transformer);\n // set meta information\n const context = transformer.context();\n ast.helpers = Array.from(context.helpers);\n}\n\nfunction optimize(ast) {\n const body = ast.body;\n if (body.type === 2 /* NodeTypes.Message */) {\n optimizeMessageNode(body);\n }\n else {\n body.cases.forEach(c => optimizeMessageNode(c));\n }\n return ast;\n}\nfunction optimizeMessageNode(message) {\n if (message.items.length === 1) {\n const item = message.items[0];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n message.static = item.value;\n delete item.value; // optimization for size\n }\n }\n else {\n const values = [];\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (!(item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */)) {\n break;\n }\n if (item.value == null) {\n break;\n }\n values.push(item.value);\n }\n if (values.length === message.items.length) {\n message.static = join(values);\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n delete item.value; // optimization for size\n }\n }\n }\n }\n}\n\nconst ERROR_DOMAIN$1 = 'minifier';\n/* eslint-disable @typescript-eslint/no-explicit-any */\nfunction minify(node) {\n node.t = node.type;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */: {\n const resource = node;\n minify(resource.body);\n resource.b = resource.body;\n delete resource.body;\n break;\n }\n case 1 /* NodeTypes.Plural */: {\n const plural = node;\n const cases = plural.cases;\n for (let i = 0; i < cases.length; i++) {\n minify(cases[i]);\n }\n plural.c = cases;\n delete plural.cases;\n break;\n }\n case 2 /* NodeTypes.Message */: {\n const message = node;\n const items = message.items;\n for (let i = 0; i < items.length; i++) {\n minify(items[i]);\n }\n message.i = items;\n delete message.items;\n if (message.static) {\n message.s = message.static;\n delete message.static;\n }\n break;\n }\n case 3 /* NodeTypes.Text */:\n case 9 /* NodeTypes.Literal */:\n case 8 /* NodeTypes.LinkedModifier */:\n case 7 /* NodeTypes.LinkedKey */: {\n const valueNode = node;\n if (valueNode.value) {\n valueNode.v = valueNode.value;\n delete valueNode.value;\n }\n break;\n }\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n minify(linked.key);\n linked.k = linked.key;\n delete linked.key;\n if (linked.modifier) {\n minify(linked.modifier);\n linked.m = linked.modifier;\n delete linked.modifier;\n }\n break;\n }\n case 5 /* NodeTypes.List */: {\n const list = node;\n list.i = list.index;\n delete list.index;\n break;\n }\n case 4 /* NodeTypes.Named */: {\n const named = node;\n named.k = named.key;\n delete named.key;\n break;\n }\n default:\n {\n throw createCompileError(CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE, null, {\n domain: ERROR_DOMAIN$1,\n args: [node.type]\n });\n }\n }\n delete node.type;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// \nconst ERROR_DOMAIN = 'parser';\nfunction createCodeGenerator(ast, options) {\n const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;\n const location = options.location !== false;\n const _context = {\n filename,\n code: '',\n column: 1,\n line: 1,\n offset: 0,\n map: undefined,\n breakLineCode,\n needIndent: _needIndent,\n indentLevel: 0\n };\n if (location && ast.loc) {\n _context.source = ast.loc.source;\n }\n const context = () => _context;\n function push(code, node) {\n _context.code += code;\n }\n function _newline(n, withBreakLine = true) {\n const _breakLineCode = withBreakLine ? breakLineCode : '';\n push(_needIndent ? _breakLineCode + ` `.repeat(n) : _breakLineCode);\n }\n function indent(withNewLine = true) {\n const level = ++_context.indentLevel;\n withNewLine && _newline(level);\n }\n function deindent(withNewLine = true) {\n const level = --_context.indentLevel;\n withNewLine && _newline(level);\n }\n function newline() {\n _newline(_context.indentLevel);\n }\n const helper = (key) => `_${key}`;\n const needIndent = () => _context.needIndent;\n return {\n context,\n push,\n indent,\n deindent,\n newline,\n helper,\n needIndent\n };\n}\nfunction generateLinkedNode(generator, node) {\n const { helper } = generator;\n generator.push(`${helper(\"linked\" /* HelperNameMap.LINKED */)}(`);\n generateNode(generator, node.key);\n if (node.modifier) {\n generator.push(`, `);\n generateNode(generator, node.modifier);\n generator.push(`, _type`);\n }\n else {\n generator.push(`, undefined, _type`);\n }\n generator.push(`)`);\n}\nfunction generateMessageNode(generator, node) {\n const { helper, needIndent } = generator;\n generator.push(`${helper(\"normalize\" /* HelperNameMap.NORMALIZE */)}([`);\n generator.indent(needIndent());\n const length = node.items.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.items[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push('])');\n}\nfunction generatePluralNode(generator, node) {\n const { helper, needIndent } = generator;\n if (node.cases.length > 1) {\n generator.push(`${helper(\"plural\" /* HelperNameMap.PLURAL */)}([`);\n generator.indent(needIndent());\n const length = node.cases.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.cases[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push(`])`);\n }\n}\nfunction generateResource(generator, node) {\n if (node.body) {\n generateNode(generator, node.body);\n }\n else {\n generator.push('null');\n }\n}\nfunction generateNode(generator, node) {\n const { helper } = generator;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */:\n generateResource(generator, node);\n break;\n case 1 /* NodeTypes.Plural */:\n generatePluralNode(generator, node);\n break;\n case 2 /* NodeTypes.Message */:\n generateMessageNode(generator, node);\n break;\n case 6 /* NodeTypes.Linked */:\n generateLinkedNode(generator, node);\n break;\n case 8 /* NodeTypes.LinkedModifier */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 7 /* NodeTypes.LinkedKey */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 5 /* NodeTypes.List */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"list\" /* HelperNameMap.LIST */)}(${node.index}))`, node);\n break;\n case 4 /* NodeTypes.Named */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"named\" /* HelperNameMap.NAMED */)}(${JSON.stringify(node.key)}))`, node);\n break;\n case 9 /* NodeTypes.Literal */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 3 /* NodeTypes.Text */:\n generator.push(JSON.stringify(node.value), node);\n break;\n default:\n {\n throw createCompileError(CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE, null, {\n domain: ERROR_DOMAIN,\n args: [node.type]\n });\n }\n }\n}\n// generate code from AST\nconst generate = (ast, options = {} // eslint-disable-line\n) => {\n const mode = isString(options.mode) ? options.mode : 'normal';\n const filename = isString(options.filename)\n ? options.filename\n : 'message.intl';\n const sourceMap = !!options.sourceMap;\n // prettier-ignore\n const breakLineCode = options.breakLineCode != null\n ? options.breakLineCode\n : mode === 'arrow'\n ? ';'\n : '\\n';\n const needIndent = options.needIndent ? options.needIndent : mode !== 'arrow';\n const helpers = ast.helpers || [];\n const generator = createCodeGenerator(ast, {\n mode,\n filename,\n sourceMap,\n breakLineCode,\n needIndent\n });\n generator.push(mode === 'normal' ? `function __msg__ (ctx) {` : `(ctx) => {`);\n generator.indent(needIndent);\n if (helpers.length > 0) {\n generator.push(`const { ${join(helpers.map(s => `${s}: _${s}`), ', ')} } = ctx`);\n generator.newline();\n }\n generator.push(`return `);\n generateNode(generator, ast);\n generator.deindent(needIndent);\n generator.push(`}`);\n delete ast.helpers;\n const { code, map } = generator.context();\n return {\n ast,\n code,\n map: map ? map.toJSON() : undefined // eslint-disable-line @typescript-eslint/no-explicit-any\n };\n};\n\nfunction baseCompile(source, options = {}) {\n const assignedOptions = assign({}, options);\n const jit = !!assignedOptions.jit;\n const enalbeMinify = !!assignedOptions.minify;\n const enambeOptimize = assignedOptions.optimize == null ? true : assignedOptions.optimize;\n // parse source codes\n const parser = createParser(assignedOptions);\n const ast = parser.parse(source);\n if (!jit) {\n // transform ASTs\n transform(ast, assignedOptions);\n // generate javascript codes\n return generate(ast, assignedOptions);\n }\n else {\n // optimize ASTs\n enambeOptimize && optimize(ast);\n // minimize ASTs\n enalbeMinify && minify(ast);\n // In JIT mode, no ast transform, no code generation.\n return { ast, code: '' };\n }\n}\n\nexport { CompileErrorCodes, CompileWarnCodes, ERROR_DOMAIN$2 as ERROR_DOMAIN, LOCATION_STUB, baseCompile, createCompileError, createCompileWarn, createLocation, createParser, createPosition, defaultOnError, detectHtmlTag, errorMessages, warnMessages };\n","/*!\n * core-base v9.14.1\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { getGlobalThis, isObject, isFunction, isString, isNumber, isPlainObject, assign, join, toDisplayString, isArray, incrementer, format as format$1, isPromise, isBoolean, warn, isRegExp, warnOnce, escapeHtml, inBrowser, mark, measure, isEmptyObject, generateCodeFrame, generateFormatCacheKey, isDate } from '@intlify/shared';\nimport { CompileWarnCodes, CompileErrorCodes, createCompileError, detectHtmlTag, defaultOnError, baseCompile as baseCompile$1 } from '@intlify/message-compiler';\nexport { CompileErrorCodes, createCompileError } from '@intlify/message-compiler';\n\n/**\n * This is only called in esm-bundler builds.\n * istanbul-ignore-next\n */\nfunction initFeatureFlags() {\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\n }\n if (typeof __INTLIFY_JIT_COMPILATION__ !== 'boolean') {\n getGlobalThis().__INTLIFY_JIT_COMPILATION__ = false;\n }\n if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== 'boolean') {\n getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;\n }\n}\n\nconst pathStateMachine = [];\npathStateMachine[0 /* States.BEFORE_PATH */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [0 /* States.BEFORE_PATH */],\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]\n};\npathStateMachine[1 /* States.IN_PATH */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */],\n [\".\" /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]\n};\npathStateMachine[2 /* States.BEFORE_IDENT */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [2 /* States.BEFORE_IDENT */],\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"0\" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */]\n};\npathStateMachine[3 /* States.IN_IDENT */] = {\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"0\" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"w\" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */, 1 /* Actions.PUSH */],\n [\".\" /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */, 1 /* Actions.PUSH */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */, 1 /* Actions.PUSH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */, 1 /* Actions.PUSH */]\n};\npathStateMachine[4 /* States.IN_SUB_PATH */] = {\n [\"'\" /* PathCharTypes.SINGLE_QUOTE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */],\n [\"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [\n 4 /* States.IN_SUB_PATH */,\n 2 /* Actions.INC_SUB_PATH_DEPTH */\n ],\n [\"]\" /* PathCharTypes.RIGHT_BRACKET */]: [1 /* States.IN_PATH */, 3 /* Actions.PUSH_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */]\n};\npathStateMachine[5 /* States.IN_SINGLE_QUOTE */] = {\n [\"'\" /* PathCharTypes.SINGLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */]\n};\npathStateMachine[6 /* States.IN_DOUBLE_QUOTE */] = {\n [\"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */]\n};\n/**\n * Check if an expression is a literal value.\n */\nconst literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\nfunction isLiteral(exp) {\n return literalValueRE.test(exp);\n}\n/**\n * Strip quotes from a string\n */\nfunction stripQuotes(str) {\n const a = str.charCodeAt(0);\n const b = str.charCodeAt(str.length - 1);\n return a === b && (a === 0x22 || a === 0x27) ? str.slice(1, -1) : str;\n}\n/**\n * Determine the type of a character in a keypath.\n */\nfunction getPathCharType(ch) {\n if (ch === undefined || ch === null) {\n return \"o\" /* PathCharTypes.END_OF_FAIL */;\n }\n const code = ch.charCodeAt(0);\n switch (code) {\n case 0x5b: // [\n case 0x5d: // ]\n case 0x2e: // .\n case 0x22: // \"\n case 0x27: // '\n return ch;\n case 0x5f: // _\n case 0x24: // $\n case 0x2d: // -\n return \"i\" /* PathCharTypes.IDENT */;\n case 0x09: // Tab (HT)\n case 0x0a: // Newline (LF)\n case 0x0d: // Return (CR)\n case 0xa0: // No-break space (NBSP)\n case 0xfeff: // Byte Order Mark (BOM)\n case 0x2028: // Line Separator (LS)\n case 0x2029: // Paragraph Separator (PS)\n return \"w\" /* PathCharTypes.WORKSPACE */;\n }\n return \"i\" /* PathCharTypes.IDENT */;\n}\n/**\n * Format a subPath, return its plain form if it is\n * a literal string or number. Otherwise prepend the\n * dynamic indicator (*).\n */\nfunction formatSubPath(path) {\n const trimmed = path.trim();\n // invalid leading 0\n if (path.charAt(0) === '0' && isNaN(parseInt(path))) {\n return false;\n }\n return isLiteral(trimmed)\n ? stripQuotes(trimmed)\n : \"*\" /* PathCharTypes.ASTARISK */ + trimmed;\n}\n/**\n * Parse a string path into an array of segments\n */\nfunction parse(path) {\n const keys = [];\n let index = -1;\n let mode = 0 /* States.BEFORE_PATH */;\n let subPathDepth = 0;\n let c;\n let key; // eslint-disable-line\n let newChar;\n let type;\n let transition;\n let action;\n let typeMap;\n const actions = [];\n actions[0 /* Actions.APPEND */] = () => {\n if (key === undefined) {\n key = newChar;\n }\n else {\n key += newChar;\n }\n };\n actions[1 /* Actions.PUSH */] = () => {\n if (key !== undefined) {\n keys.push(key);\n key = undefined;\n }\n };\n actions[2 /* Actions.INC_SUB_PATH_DEPTH */] = () => {\n actions[0 /* Actions.APPEND */]();\n subPathDepth++;\n };\n actions[3 /* Actions.PUSH_SUB_PATH */] = () => {\n if (subPathDepth > 0) {\n subPathDepth--;\n mode = 4 /* States.IN_SUB_PATH */;\n actions[0 /* Actions.APPEND */]();\n }\n else {\n subPathDepth = 0;\n if (key === undefined) {\n return false;\n }\n key = formatSubPath(key);\n if (key === false) {\n return false;\n }\n else {\n actions[1 /* Actions.PUSH */]();\n }\n }\n };\n function maybeUnescapeQuote() {\n const nextChar = path[index + 1];\n if ((mode === 5 /* States.IN_SINGLE_QUOTE */ &&\n nextChar === \"'\" /* PathCharTypes.SINGLE_QUOTE */) ||\n (mode === 6 /* States.IN_DOUBLE_QUOTE */ &&\n nextChar === \"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */)) {\n index++;\n newChar = '\\\\' + nextChar;\n actions[0 /* Actions.APPEND */]();\n return true;\n }\n }\n while (mode !== null) {\n index++;\n c = path[index];\n if (c === '\\\\' && maybeUnescapeQuote()) {\n continue;\n }\n type = getPathCharType(c);\n typeMap = pathStateMachine[mode];\n transition = typeMap[type] || typeMap[\"l\" /* PathCharTypes.ELSE */] || 8 /* States.ERROR */;\n // check parse error\n if (transition === 8 /* States.ERROR */) {\n return;\n }\n mode = transition[0];\n if (transition[1] !== undefined) {\n action = actions[transition[1]];\n if (action) {\n newChar = c;\n if (action() === false) {\n return;\n }\n }\n }\n // check parse finish\n if (mode === 7 /* States.AFTER_PATH */) {\n return keys;\n }\n }\n}\n// path token cache\nconst cache = new Map();\n/**\n * key-value message resolver\n *\n * @remarks\n * Resolves messages with the key-value structure. Note that messages with a hierarchical structure such as objects cannot be resolved\n *\n * @param obj - A target object to be resolved with path\n * @param path - A {@link Path | path} to resolve the value of message\n *\n * @returns A resolved {@link PathValue | path value}\n *\n * @VueI18nGeneral\n */\nfunction resolveWithKeyValue(obj, path) {\n return isObject(obj) ? obj[path] : null;\n}\n/**\n * message resolver\n *\n * @remarks\n * Resolves messages. messages with a hierarchical structure such as objects can be resolved. This resolver is used in VueI18n as default.\n *\n * @param obj - A target object to be resolved with path\n * @param path - A {@link Path | path} to resolve the value of message\n *\n * @returns A resolved {@link PathValue | path value}\n *\n * @VueI18nGeneral\n */\nfunction resolveValue(obj, path) {\n // check object\n if (!isObject(obj)) {\n return null;\n }\n // parse path\n let hit = cache.get(path);\n if (!hit) {\n hit = parse(path);\n if (hit) {\n cache.set(path, hit);\n }\n }\n // check hit\n if (!hit) {\n return null;\n }\n // resolve path value\n const len = hit.length;\n let last = obj;\n let i = 0;\n while (i < len) {\n const val = last[hit[i]];\n if (val === undefined) {\n return null;\n }\n if (isFunction(last)) {\n return null;\n }\n last = val;\n i++;\n }\n return last;\n}\n\nconst DEFAULT_MODIFIER = (str) => str;\nconst DEFAULT_MESSAGE = (ctx) => ''; // eslint-disable-line\nconst DEFAULT_MESSAGE_DATA_TYPE = 'text';\nconst DEFAULT_NORMALIZE = (values) => values.length === 0 ? '' : join(values);\nconst DEFAULT_INTERPOLATE = toDisplayString;\nfunction pluralDefault(choice, choicesLength) {\n choice = Math.abs(choice);\n if (choicesLength === 2) {\n // prettier-ignore\n return choice\n ? choice > 1\n ? 1\n : 0\n : 1;\n }\n return choice ? Math.min(choice, 2) : 0;\n}\nfunction getPluralIndex(options) {\n // prettier-ignore\n const index = isNumber(options.pluralIndex)\n ? options.pluralIndex\n : -1;\n // prettier-ignore\n return options.named && (isNumber(options.named.count) || isNumber(options.named.n))\n ? isNumber(options.named.count)\n ? options.named.count\n : isNumber(options.named.n)\n ? options.named.n\n : index\n : index;\n}\nfunction normalizeNamed(pluralIndex, props) {\n if (!props.count) {\n props.count = pluralIndex;\n }\n if (!props.n) {\n props.n = pluralIndex;\n }\n}\nfunction createMessageContext(options = {}) {\n const locale = options.locale;\n const pluralIndex = getPluralIndex(options);\n const pluralRule = isObject(options.pluralRules) &&\n isString(locale) &&\n isFunction(options.pluralRules[locale])\n ? options.pluralRules[locale]\n : pluralDefault;\n const orgPluralRule = isObject(options.pluralRules) &&\n isString(locale) &&\n isFunction(options.pluralRules[locale])\n ? pluralDefault\n : undefined;\n const plural = (messages) => {\n return messages[pluralRule(pluralIndex, messages.length, orgPluralRule)];\n };\n const _list = options.list || [];\n const list = (index) => _list[index];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _named = options.named || {};\n isNumber(options.pluralIndex) && normalizeNamed(pluralIndex, _named);\n const named = (key) => _named[key];\n function message(key) {\n // prettier-ignore\n const msg = isFunction(options.messages)\n ? options.messages(key)\n : isObject(options.messages)\n ? options.messages[key]\n : false;\n return !msg\n ? options.parent\n ? options.parent.message(key) // resolve from parent messages\n : DEFAULT_MESSAGE\n : msg;\n }\n const _modifier = (name) => options.modifiers\n ? options.modifiers[name]\n : DEFAULT_MODIFIER;\n const normalize = isPlainObject(options.processor) && isFunction(options.processor.normalize)\n ? options.processor.normalize\n : DEFAULT_NORMALIZE;\n const interpolate = isPlainObject(options.processor) &&\n isFunction(options.processor.interpolate)\n ? options.processor.interpolate\n : DEFAULT_INTERPOLATE;\n const type = isPlainObject(options.processor) && isString(options.processor.type)\n ? options.processor.type\n : DEFAULT_MESSAGE_DATA_TYPE;\n const linked = (key, ...args) => {\n const [arg1, arg2] = args;\n let type = 'text';\n let modifier = '';\n if (args.length === 1) {\n if (isObject(arg1)) {\n modifier = arg1.modifier || modifier;\n type = arg1.type || type;\n }\n else if (isString(arg1)) {\n modifier = arg1 || modifier;\n }\n }\n else if (args.length === 2) {\n if (isString(arg1)) {\n modifier = arg1 || modifier;\n }\n if (isString(arg2)) {\n type = arg2 || type;\n }\n }\n const ret = message(key)(ctx);\n const msg = \n // The message in vnode resolved with linked are returned as an array by processor.nomalize\n type === 'vnode' && isArray(ret) && modifier\n ? ret[0]\n : ret;\n return modifier ? _modifier(modifier)(msg, type) : msg;\n };\n const ctx = {\n [\"list\" /* HelperNameMap.LIST */]: list,\n [\"named\" /* HelperNameMap.NAMED */]: named,\n [\"plural\" /* HelperNameMap.PLURAL */]: plural,\n [\"linked\" /* HelperNameMap.LINKED */]: linked,\n [\"message\" /* HelperNameMap.MESSAGE */]: message,\n [\"type\" /* HelperNameMap.TYPE */]: type,\n [\"interpolate\" /* HelperNameMap.INTERPOLATE */]: interpolate,\n [\"normalize\" /* HelperNameMap.NORMALIZE */]: normalize,\n [\"values\" /* HelperNameMap.VALUES */]: assign({}, _list, _named)\n };\n return ctx;\n}\n\nlet devtools = null;\nfunction setDevToolsHook(hook) {\n devtools = hook;\n}\nfunction getDevToolsHook() {\n return devtools;\n}\nfunction initI18nDevTools(i18n, version, meta) {\n // TODO: queue if devtools is undefined\n devtools &&\n devtools.emit(\"i18n:init\" /* IntlifyDevToolsHooks.I18nInit */, {\n timestamp: Date.now(),\n i18n,\n version,\n meta\n });\n}\nconst translateDevTools = /* #__PURE__*/ createDevToolsHook(\"function:translate\" /* IntlifyDevToolsHooks.FunctionTranslate */);\nfunction createDevToolsHook(hook) {\n return (payloads) => devtools && devtools.emit(hook, payloads);\n}\n\nconst code$1 = CompileWarnCodes.__EXTEND_POINT__;\nconst inc$1 = incrementer(code$1);\nconst CoreWarnCodes = {\n NOT_FOUND_KEY: code$1, // 2\n FALLBACK_TO_TRANSLATE: inc$1(), // 3\n CANNOT_FORMAT_NUMBER: inc$1(), // 4\n FALLBACK_TO_NUMBER_FORMAT: inc$1(), // 5\n CANNOT_FORMAT_DATE: inc$1(), // 6\n FALLBACK_TO_DATE_FORMAT: inc$1(), // 7\n EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER: inc$1(), // 8\n __EXTEND_POINT__: inc$1() // 9\n};\n/** @internal */\nconst warnMessages = {\n [CoreWarnCodes.NOT_FOUND_KEY]: `Not found '{key}' key in '{locale}' locale messages.`,\n [CoreWarnCodes.FALLBACK_TO_TRANSLATE]: `Fall back to translate '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.CANNOT_FORMAT_NUMBER]: `Cannot format a number value due to not supported Intl.NumberFormat.`,\n [CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]: `Fall back to number format '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.CANNOT_FORMAT_DATE]: `Cannot format a date value due to not supported Intl.DateTimeFormat.`,\n [CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]: `Fall back to datetime format '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]: `This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future.`\n};\nfunction getWarnMessage(code, ...args) {\n return format$1(warnMessages[code], ...args);\n}\n\nconst code = CompileErrorCodes.__EXTEND_POINT__;\nconst inc = incrementer(code);\nconst CoreErrorCodes = {\n INVALID_ARGUMENT: code, // 17\n INVALID_DATE_ARGUMENT: inc(), // 18\n INVALID_ISO_DATE_ARGUMENT: inc(), // 19\n NOT_SUPPORT_NON_STRING_MESSAGE: inc(), // 20\n NOT_SUPPORT_LOCALE_PROMISE_VALUE: inc(), // 21\n NOT_SUPPORT_LOCALE_ASYNC_FUNCTION: inc(), // 22\n NOT_SUPPORT_LOCALE_TYPE: inc(), // 23\n __EXTEND_POINT__: inc() // 24\n};\nfunction createCoreError(code) {\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages } : undefined);\n}\n/** @internal */\nconst errorMessages = {\n [CoreErrorCodes.INVALID_ARGUMENT]: 'Invalid arguments',\n [CoreErrorCodes.INVALID_DATE_ARGUMENT]: 'The date provided is an invalid Date object.' +\n 'Make sure your Date represents a valid date.',\n [CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT]: 'The argument provided is not a valid ISO date string',\n [CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE]: 'Not support non-string message',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE]: 'cannot support promise value',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION]: 'cannot support async function',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE]: 'cannot support locale type'\n};\n\n/** @internal */\nfunction getLocale(context, options) {\n return options.locale != null\n ? resolveLocale(options.locale)\n : resolveLocale(context.locale);\n}\nlet _resolveLocale;\n/** @internal */\nfunction resolveLocale(locale) {\n if (isString(locale)) {\n return locale;\n }\n else {\n if (isFunction(locale)) {\n if (locale.resolvedOnce && _resolveLocale != null) {\n return _resolveLocale;\n }\n else if (locale.constructor.name === 'Function') {\n const resolve = locale();\n if (isPromise(resolve)) {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE);\n }\n return (_resolveLocale = resolve);\n }\n else {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION);\n }\n }\n else {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE);\n }\n }\n}\n/**\n * Fallback with simple implemenation\n *\n * @remarks\n * A fallback locale function implemented with a simple fallback algorithm.\n *\n * Basically, it returns the value as specified in the `fallbackLocale` props, and is processed with the fallback inside intlify.\n *\n * @param ctx - A {@link CoreContext | context}\n * @param fallback - A {@link FallbackLocale | fallback locale}\n * @param start - A starting {@link Locale | locale}\n *\n * @returns Fallback locales\n *\n * @VueI18nGeneral\n */\nfunction fallbackWithSimple(ctx, fallback, start // eslint-disable-line @typescript-eslint/no-unused-vars\n) {\n // prettier-ignore\n return [...new Set([\n start,\n ...(isArray(fallback)\n ? fallback\n : isObject(fallback)\n ? Object.keys(fallback)\n : isString(fallback)\n ? [fallback]\n : [start])\n ])];\n}\n/**\n * Fallback with locale chain\n *\n * @remarks\n * A fallback locale function implemented with a fallback chain algorithm. It's used in VueI18n as default.\n *\n * @param ctx - A {@link CoreContext | context}\n * @param fallback - A {@link FallbackLocale | fallback locale}\n * @param start - A starting {@link Locale | locale}\n *\n * @returns Fallback locales\n *\n * @VueI18nSee [Fallbacking](../guide/essentials/fallback)\n *\n * @VueI18nGeneral\n */\nfunction fallbackWithLocaleChain(ctx, fallback, start) {\n const startLocale = isString(start) ? start : DEFAULT_LOCALE;\n const context = ctx;\n if (!context.__localeChainCache) {\n context.__localeChainCache = new Map();\n }\n let chain = context.__localeChainCache.get(startLocale);\n if (!chain) {\n chain = [];\n // first block defined by start\n let block = [start];\n // while any intervening block found\n while (isArray(block)) {\n block = appendBlockToChain(chain, block, fallback);\n }\n // prettier-ignore\n // last block defined by default\n const defaults = isArray(fallback) || !isPlainObject(fallback)\n ? fallback\n : fallback['default']\n ? fallback['default']\n : null;\n // convert defaults to array\n block = isString(defaults) ? [defaults] : defaults;\n if (isArray(block)) {\n appendBlockToChain(chain, block, false);\n }\n context.__localeChainCache.set(startLocale, chain);\n }\n return chain;\n}\nfunction appendBlockToChain(chain, block, blocks) {\n let follow = true;\n for (let i = 0; i < block.length && isBoolean(follow); i++) {\n const locale = block[i];\n if (isString(locale)) {\n follow = appendLocaleToChain(chain, block[i], blocks);\n }\n }\n return follow;\n}\nfunction appendLocaleToChain(chain, locale, blocks) {\n let follow;\n const tokens = locale.split('-');\n do {\n const target = tokens.join('-');\n follow = appendItemToChain(chain, target, blocks);\n tokens.splice(-1, 1);\n } while (tokens.length && follow === true);\n return follow;\n}\nfunction appendItemToChain(chain, target, blocks) {\n let follow = false;\n if (!chain.includes(target)) {\n follow = true;\n if (target) {\n follow = target[target.length - 1] !== '!';\n const locale = target.replace(/!/g, '');\n chain.push(locale);\n if ((isArray(blocks) || isPlainObject(blocks)) &&\n blocks[locale] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n follow = blocks[locale];\n }\n }\n }\n return follow;\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Intlify core-base version\n * @internal\n */\nconst VERSION = '9.14.1';\nconst NOT_REOSLVED = -1;\nconst DEFAULT_LOCALE = 'en-US';\nconst MISSING_RESOLVE_VALUE = '';\nconst capitalize = (str) => `${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;\nfunction getDefaultLinkedModifiers() {\n return {\n upper: (val, type) => {\n // prettier-ignore\n return type === 'text' && isString(val)\n ? val.toUpperCase()\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? val.children.toUpperCase()\n : val;\n },\n lower: (val, type) => {\n // prettier-ignore\n return type === 'text' && isString(val)\n ? val.toLowerCase()\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? val.children.toLowerCase()\n : val;\n },\n capitalize: (val, type) => {\n // prettier-ignore\n return (type === 'text' && isString(val)\n ? capitalize(val)\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? capitalize(val.children)\n : val);\n }\n };\n}\nlet _compiler;\nfunction registerMessageCompiler(compiler) {\n _compiler = compiler;\n}\nlet _resolver;\n/**\n * Register the message resolver\n *\n * @param resolver - A {@link MessageResolver} function\n *\n * @VueI18nGeneral\n */\nfunction registerMessageResolver(resolver) {\n _resolver = resolver;\n}\nlet _fallbacker;\n/**\n * Register the locale fallbacker\n *\n * @param fallbacker - A {@link LocaleFallbacker} function\n *\n * @VueI18nGeneral\n */\nfunction registerLocaleFallbacker(fallbacker) {\n _fallbacker = fallbacker;\n}\n// Additional Meta for Intlify DevTools\nlet _additionalMeta = null;\n/* #__NO_SIDE_EFFECTS__ */\nconst setAdditionalMeta = (meta) => {\n _additionalMeta = meta;\n};\n/* #__NO_SIDE_EFFECTS__ */\nconst getAdditionalMeta = () => _additionalMeta;\nlet _fallbackContext = null;\nconst setFallbackContext = (context) => {\n _fallbackContext = context;\n};\nconst getFallbackContext = () => _fallbackContext;\n// ID for CoreContext\nlet _cid = 0;\nfunction createCoreContext(options = {}) {\n // setup options\n const onWarn = isFunction(options.onWarn) ? options.onWarn : warn;\n const version = isString(options.version) ? options.version : VERSION;\n const locale = isString(options.locale) || isFunction(options.locale)\n ? options.locale\n : DEFAULT_LOCALE;\n const _locale = isFunction(locale) ? DEFAULT_LOCALE : locale;\n const fallbackLocale = isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n isString(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale;\n const messages = isPlainObject(options.messages)\n ? options.messages\n : { [_locale]: {} };\n const datetimeFormats = isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : { [_locale]: {} }\n ;\n const numberFormats = isPlainObject(options.numberFormats)\n ? options.numberFormats\n : { [_locale]: {} }\n ;\n const modifiers = assign({}, options.modifiers || {}, getDefaultLinkedModifiers());\n const pluralRules = options.pluralRules || {};\n const missing = isFunction(options.missing) ? options.missing : null;\n const missingWarn = isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n const fallbackWarn = isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n const fallbackFormat = !!options.fallbackFormat;\n const unresolving = !!options.unresolving;\n const postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n const processor = isPlainObject(options.processor) ? options.processor : null;\n const warnHtmlMessage = isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n const escapeParameter = !!options.escapeParameter;\n const messageCompiler = isFunction(options.messageCompiler)\n ? options.messageCompiler\n : _compiler;\n if ((process.env.NODE_ENV !== 'production') &&\n !false &&\n !false &&\n isFunction(options.messageCompiler)) {\n warnOnce(getWarnMessage(CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER));\n }\n const messageResolver = isFunction(options.messageResolver)\n ? options.messageResolver\n : _resolver || resolveWithKeyValue;\n const localeFallbacker = isFunction(options.localeFallbacker)\n ? options.localeFallbacker\n : _fallbacker || fallbackWithSimple;\n const fallbackContext = isObject(options.fallbackContext)\n ? options.fallbackContext\n : undefined;\n // setup internal options\n const internalOptions = options;\n const __datetimeFormatters = isObject(internalOptions.__datetimeFormatters)\n ? internalOptions.__datetimeFormatters\n : new Map()\n ;\n const __numberFormatters = isObject(internalOptions.__numberFormatters)\n ? internalOptions.__numberFormatters\n : new Map()\n ;\n const __meta = isObject(internalOptions.__meta) ? internalOptions.__meta : {};\n _cid++;\n const context = {\n version,\n cid: _cid,\n locale,\n fallbackLocale,\n messages,\n modifiers,\n pluralRules,\n missing,\n missingWarn,\n fallbackWarn,\n fallbackFormat,\n unresolving,\n postTranslation,\n processor,\n warnHtmlMessage,\n escapeParameter,\n messageCompiler,\n messageResolver,\n localeFallbacker,\n fallbackContext,\n onWarn,\n __meta\n };\n {\n context.datetimeFormats = datetimeFormats;\n context.numberFormats = numberFormats;\n context.__datetimeFormatters = __datetimeFormatters;\n context.__numberFormatters = __numberFormatters;\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n context.__v_emitter =\n internalOptions.__v_emitter != null\n ? internalOptions.__v_emitter\n : undefined;\n }\n // NOTE: experimental !!\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n initI18nDevTools(context, version, __meta);\n }\n return context;\n}\n/** @internal */\nfunction isTranslateFallbackWarn(fallback, key) {\n return fallback instanceof RegExp ? fallback.test(key) : fallback;\n}\n/** @internal */\nfunction isTranslateMissingWarn(missing, key) {\n return missing instanceof RegExp ? missing.test(key) : missing;\n}\n/** @internal */\nfunction handleMissing(context, key, locale, missingWarn, type) {\n const { missing, onWarn } = context;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit(\"missing\" /* VueDevToolsTimelineEvents.MISSING */, {\n locale,\n key,\n type,\n groupId: `${type}:${key}`\n });\n }\n }\n if (missing !== null) {\n const ret = missing(context, locale, key, type);\n return isString(ret) ? ret : key;\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && isTranslateMissingWarn(missingWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.NOT_FOUND_KEY, { key, locale }));\n }\n return key;\n }\n}\n/** @internal */\nfunction updateFallbackLocale(ctx, locale, fallback) {\n const context = ctx;\n context.__localeChainCache = new Map();\n ctx.localeFallbacker(ctx, fallback, locale);\n}\n/** @internal */\nfunction isAlmostSameLocale(locale, compareLocale) {\n if (locale === compareLocale)\n return false;\n return locale.split('-')[0] === compareLocale.split('-')[0];\n}\n/** @internal */\nfunction isImplicitFallback(targetLocale, locales) {\n const index = locales.indexOf(targetLocale);\n if (index === -1) {\n return false;\n }\n for (let i = index + 1; i < locales.length; i++) {\n if (isAlmostSameLocale(targetLocale, locales[i])) {\n return true;\n }\n }\n return false;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nfunction format(ast) {\n const msg = (ctx) => formatParts(ctx, ast);\n return msg;\n}\nfunction formatParts(ctx, ast) {\n const body = ast.b || ast.body;\n if ((body.t || body.type) === 1 /* NodeTypes.Plural */) {\n const plural = body;\n const cases = plural.c || plural.cases;\n return ctx.plural(cases.reduce((messages, c) => [\n ...messages,\n formatMessageParts(ctx, c)\n ], []));\n }\n else {\n return formatMessageParts(ctx, body);\n }\n}\nfunction formatMessageParts(ctx, node) {\n const _static = node.s || node.static;\n if (_static) {\n return ctx.type === 'text'\n ? _static\n : ctx.normalize([_static]);\n }\n else {\n const messages = (node.i || node.items).reduce((acm, c) => [...acm, formatMessagePart(ctx, c)], []);\n return ctx.normalize(messages);\n }\n}\nfunction formatMessagePart(ctx, node) {\n const type = node.t || node.type;\n switch (type) {\n case 3 /* NodeTypes.Text */: {\n const text = node;\n return (text.v || text.value);\n }\n case 9 /* NodeTypes.Literal */: {\n const literal = node;\n return (literal.v || literal.value);\n }\n case 4 /* NodeTypes.Named */: {\n const named = node;\n return ctx.interpolate(ctx.named(named.k || named.key));\n }\n case 5 /* NodeTypes.List */: {\n const list = node;\n return ctx.interpolate(ctx.list(list.i != null ? list.i : list.index));\n }\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n const modifier = linked.m || linked.modifier;\n return ctx.linked(formatMessagePart(ctx, linked.k || linked.key), modifier ? formatMessagePart(ctx, modifier) : undefined, ctx.type);\n }\n case 7 /* NodeTypes.LinkedKey */: {\n const linkedKey = node;\n return (linkedKey.v || linkedKey.value);\n }\n case 8 /* NodeTypes.LinkedModifier */: {\n const linkedModifier = node;\n return (linkedModifier.v || linkedModifier.value);\n }\n default:\n throw new Error(`unhandled node type on format message part: ${type}`);\n }\n}\n\nconst WARN_MESSAGE = `Detected HTML in '{source}' message. Recommend not using HTML messages to avoid XSS.`;\nfunction checkHtmlMessage(source, warnHtmlMessage) {\n if (warnHtmlMessage && detectHtmlTag(source)) {\n warn(format$1(WARN_MESSAGE, { source }));\n }\n}\nconst defaultOnCacheKey = (message) => message;\nlet compileCache = Object.create(null);\nfunction onCompileWarn(_warn) {\n if (_warn.code === CompileWarnCodes.USE_MODULO_SYNTAX) {\n warn(`The use of named interpolation with modulo syntax is deprecated. ` +\n `It will be removed in v10.\\n` +\n `reference: https://vue-i18n.intlify.dev/guide/essentials/syntax#rails-i18n-format \\n` +\n `(message compiler warning message: ${_warn.message})`);\n }\n}\nfunction clearCompileCache() {\n compileCache = Object.create(null);\n}\nconst isMessageAST = (val) => isObject(val) &&\n (val.t === 0 || val.type === 0) &&\n ('b' in val || 'body' in val);\nfunction baseCompile(message, options = {}) {\n // error detecting on compile\n let detectError = false;\n const onError = options.onError || defaultOnError;\n options.onError = (err) => {\n detectError = true;\n onError(err);\n };\n // compile with mesasge-compiler\n return { ...baseCompile$1(message, options), detectError };\n}\n/* #__NO_SIDE_EFFECTS__ */\nconst compileToFunction = (message, context) => {\n if (!isString(message)) {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE);\n }\n // set onWarn\n if ((process.env.NODE_ENV !== 'production')) {\n context.onWarn = onCompileWarn;\n }\n {\n // check HTML message\n const warnHtmlMessage = isBoolean(context.warnHtmlMessage)\n ? context.warnHtmlMessage\n : true;\n (process.env.NODE_ENV !== 'production') && checkHtmlMessage(message, warnHtmlMessage);\n // check caches\n const onCacheKey = context.onCacheKey || defaultOnCacheKey;\n const cacheKey = onCacheKey(message);\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compile\n const { code, detectError } = baseCompile(message, context);\n // evaluate function\n const msg = new Function(`return ${code}`)();\n // if occurred compile error, don't cache\n return !detectError\n ? (compileCache[cacheKey] = msg)\n : msg;\n }\n};\nfunction compile(message, context) {\n // set onWarn\n if ((process.env.NODE_ENV !== 'production')) {\n context.onWarn = onCompileWarn;\n }\n if (((__INTLIFY_JIT_COMPILATION__ && !__INTLIFY_DROP_MESSAGE_COMPILER__)) &&\n isString(message)) {\n // check HTML message\n const warnHtmlMessage = isBoolean(context.warnHtmlMessage)\n ? context.warnHtmlMessage\n : true;\n (process.env.NODE_ENV !== 'production') && checkHtmlMessage(message, warnHtmlMessage);\n // check caches\n const onCacheKey = context.onCacheKey || defaultOnCacheKey;\n const cacheKey = onCacheKey(message);\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compile with JIT mode\n const { ast, detectError } = baseCompile(message, {\n ...context,\n location: (process.env.NODE_ENV !== 'production'),\n jit: true\n });\n // compose message function from AST\n const msg = format(ast);\n // if occurred compile error, don't cache\n return !detectError\n ? (compileCache[cacheKey] = msg)\n : msg;\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && !isMessageAST(message)) {\n warn(`the message that is resolve with key '${context.key}' is not supported for jit compilation`);\n return (() => message);\n }\n // AST case (passed from bundler)\n const cacheKey = message.cacheKey;\n if (cacheKey) {\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compose message function from message (AST)\n return (compileCache[cacheKey] =\n format(message));\n }\n else {\n return format(message);\n }\n }\n}\n\nconst NOOP_MESSAGE_FUNCTION = () => '';\nconst isMessageFunction = (val) => isFunction(val);\n// implementation of `translate` function\nfunction translate(context, ...args) {\n const { fallbackFormat, postTranslation, unresolving, messageCompiler, fallbackLocale, messages } = context;\n const [key, options] = parseTranslateArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const escapeParameter = isBoolean(options.escapeParameter)\n ? options.escapeParameter\n : context.escapeParameter;\n const resolvedMessage = !!options.resolvedMessage;\n // prettier-ignore\n const defaultMsgOrKey = isString(options.default) || isBoolean(options.default) // default by function option\n ? !isBoolean(options.default)\n ? options.default\n : (!messageCompiler ? () => key : key)\n : fallbackFormat // default by `fallbackFormat` option\n ? (!messageCompiler ? () => key : key)\n : '';\n const enableDefaultMsg = fallbackFormat || defaultMsgOrKey !== '';\n const locale = getLocale(context, options);\n // escape params\n escapeParameter && escapeParams(options);\n // resolve message format\n // eslint-disable-next-line prefer-const\n let [formatScope, targetLocale, message] = !resolvedMessage\n ? resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn)\n : [\n key,\n locale,\n messages[locale] || {}\n ];\n // NOTE:\n // Fix to work around `ssrTransfrom` bug in Vite.\n // https://github.com/vitejs/vite/issues/4306\n // To get around this, use temporary variables.\n // https://github.com/nuxt/framework/issues/1461#issuecomment-954606243\n let format = formatScope;\n // if you use default message, set it as message format!\n let cacheBaseKey = key;\n if (!resolvedMessage &&\n !(isString(format) ||\n isMessageAST(format) ||\n isMessageFunction(format))) {\n if (enableDefaultMsg) {\n format = defaultMsgOrKey;\n cacheBaseKey = format;\n }\n }\n // checking message format and target locale\n if (!resolvedMessage &&\n (!(isString(format) ||\n isMessageAST(format) ||\n isMessageFunction(format)) ||\n !isString(targetLocale))) {\n return unresolving ? NOT_REOSLVED : key;\n }\n // TODO: refactor\n if ((process.env.NODE_ENV !== 'production') && isString(format) && context.messageCompiler == null) {\n warn(`The message format compilation is not supported in this build. ` +\n `Because message compiler isn't included. ` +\n `You need to pre-compilation all message format. ` +\n `So translate function return '${key}'.`);\n return key;\n }\n // setup compile error detecting\n let occurred = false;\n const onError = () => {\n occurred = true;\n };\n // compile message format\n const msg = !isMessageFunction(format)\n ? compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError)\n : format;\n // if occurred compile error, return the message format\n if (occurred) {\n return format;\n }\n // evaluate message with context\n const ctxOptions = getMessageContextOptions(context, targetLocale, message, options);\n const msgContext = createMessageContext(ctxOptions);\n const messaged = evaluateMessage(context, msg, msgContext);\n // if use post translation option, proceed it with handler\n const ret = postTranslation\n ? postTranslation(messaged, key)\n : messaged;\n // NOTE: experimental !!\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n // prettier-ignore\n const payloads = {\n timestamp: Date.now(),\n key: isString(key)\n ? key\n : isMessageFunction(format)\n ? format.key\n : '',\n locale: targetLocale || (isMessageFunction(format)\n ? format.locale\n : ''),\n format: isString(format)\n ? format\n : isMessageFunction(format)\n ? format.source\n : '',\n message: ret\n };\n payloads.meta = assign({}, context.__meta, getAdditionalMeta() || {});\n translateDevTools(payloads);\n }\n return ret;\n}\nfunction escapeParams(options) {\n if (isArray(options.list)) {\n options.list = options.list.map(item => isString(item) ? escapeHtml(item) : item);\n }\n else if (isObject(options.named)) {\n Object.keys(options.named).forEach(key => {\n if (isString(options.named[key])) {\n options.named[key] = escapeHtml(options.named[key]);\n }\n });\n }\n}\nfunction resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn) {\n const { messages, onWarn, messageResolver: resolveValue, localeFallbacker } = context;\n const locales = localeFallbacker(context, fallbackLocale, locale); // eslint-disable-line @typescript-eslint/no-explicit-any\n let message = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'translate';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n !isAlmostSameLocale(locale, targetLocale) &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_TRANSLATE, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit(\"fallback\" /* VueDevToolsTimelineEvents.FALBACK */, {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n message =\n messages[targetLocale] || {};\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n start = window.performance.now();\n startTag = 'intlify-message-resolve-start';\n endTag = 'intlify-message-resolve-end';\n mark && mark(startTag);\n }\n if ((format = resolveValue(message, key)) === null) {\n // if null, resolve with object key path\n format = message[key]; // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n const end = window.performance.now();\n const emitter = context.__v_emitter;\n if (emitter && start && format) {\n emitter.emit(\"message-resolve\" /* VueDevToolsTimelineEvents.MESSAGE_RESOLVE */, {\n type: \"message-resolve\" /* VueDevToolsTimelineEvents.MESSAGE_RESOLVE */,\n key,\n message: format,\n time: end - start,\n groupId: `${type}:${key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message resolve', startTag, endTag);\n }\n }\n if (isString(format) || isMessageAST(format) || isMessageFunction(format)) {\n break;\n }\n if (!isImplicitFallback(targetLocale, locales)) {\n const missingRet = handleMissing(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n key, targetLocale, missingWarn, type);\n if (missingRet !== key) {\n format = missingRet;\n }\n }\n from = to;\n }\n return [format, targetLocale, message];\n}\nfunction compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError) {\n const { messageCompiler, warnHtmlMessage } = context;\n if (isMessageFunction(format)) {\n const msg = format;\n msg.locale = msg.locale || targetLocale;\n msg.key = msg.key || key;\n return msg;\n }\n if (messageCompiler == null) {\n const msg = (() => format);\n msg.locale = targetLocale;\n msg.key = key;\n return msg;\n }\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n start = window.performance.now();\n startTag = 'intlify-message-compilation-start';\n endTag = 'intlify-message-compilation-end';\n mark && mark(startTag);\n }\n const msg = messageCompiler(format, getCompileContext(context, targetLocale, cacheBaseKey, format, warnHtmlMessage, onError));\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n const end = window.performance.now();\n const emitter = context.__v_emitter;\n if (emitter && start) {\n emitter.emit(\"message-compilation\" /* VueDevToolsTimelineEvents.MESSAGE_COMPILATION */, {\n type: \"message-compilation\" /* VueDevToolsTimelineEvents.MESSAGE_COMPILATION */,\n message: format,\n time: end - start,\n groupId: `${'translate'}:${key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message compilation', startTag, endTag);\n }\n }\n msg.locale = targetLocale;\n msg.key = key;\n msg.source = format;\n return msg;\n}\nfunction evaluateMessage(context, msg, msgCtx) {\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n start = window.performance.now();\n startTag = 'intlify-message-evaluation-start';\n endTag = 'intlify-message-evaluation-end';\n mark && mark(startTag);\n }\n const messaged = msg(msgCtx);\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n const end = window.performance.now();\n const emitter = context.__v_emitter;\n if (emitter && start) {\n emitter.emit(\"message-evaluation\" /* VueDevToolsTimelineEvents.MESSAGE_EVALUATION */, {\n type: \"message-evaluation\" /* VueDevToolsTimelineEvents.MESSAGE_EVALUATION */,\n value: messaged,\n time: end - start,\n groupId: `${'translate'}:${msg.key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message evaluation', startTag, endTag);\n }\n }\n return messaged;\n}\n/** @internal */\nfunction parseTranslateArgs(...args) {\n const [arg1, arg2, arg3] = args;\n const options = {};\n if (!isString(arg1) &&\n !isNumber(arg1) &&\n !isMessageFunction(arg1) &&\n !isMessageAST(arg1)) {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n // prettier-ignore\n const key = isNumber(arg1)\n ? String(arg1)\n : isMessageFunction(arg1)\n ? arg1\n : arg1;\n if (isNumber(arg2)) {\n options.plural = arg2;\n }\n else if (isString(arg2)) {\n options.default = arg2;\n }\n else if (isPlainObject(arg2) && !isEmptyObject(arg2)) {\n options.named = arg2;\n }\n else if (isArray(arg2)) {\n options.list = arg2;\n }\n if (isNumber(arg3)) {\n options.plural = arg3;\n }\n else if (isString(arg3)) {\n options.default = arg3;\n }\n else if (isPlainObject(arg3)) {\n assign(options, arg3);\n }\n return [key, options];\n}\nfunction getCompileContext(context, locale, key, source, warnHtmlMessage, onError) {\n return {\n locale,\n key,\n warnHtmlMessage,\n onError: (err) => {\n onError && onError(err);\n if ((process.env.NODE_ENV !== 'production')) {\n const _source = getSourceForCodeFrame(source);\n const message = `Message compilation error: ${err.message}`;\n const codeFrame = err.location &&\n _source &&\n generateCodeFrame(_source, err.location.start.offset, err.location.end.offset);\n const emitter = context.__v_emitter;\n if (emitter && _source) {\n emitter.emit(\"compile-error\" /* VueDevToolsTimelineEvents.COMPILE_ERROR */, {\n message: _source,\n error: err.message,\n start: err.location && err.location.start.offset,\n end: err.location && err.location.end.offset,\n groupId: `${'translate'}:${key}`\n });\n }\n console.error(codeFrame ? `${message}\\n${codeFrame}` : message);\n }\n else {\n throw err;\n }\n },\n onCacheKey: (source) => generateFormatCacheKey(locale, key, source)\n };\n}\nfunction getSourceForCodeFrame(source) {\n if (isString(source)) {\n return source;\n }\n else {\n if (source.loc && source.loc.source) {\n return source.loc.source;\n }\n }\n}\nfunction getMessageContextOptions(context, locale, message, options) {\n const { modifiers, pluralRules, messageResolver: resolveValue, fallbackLocale, fallbackWarn, missingWarn, fallbackContext } = context;\n const resolveMessage = (key) => {\n let val = resolveValue(message, key);\n // fallback to root context\n if (val == null && fallbackContext) {\n const [, , message] = resolveMessageFormat(fallbackContext, key, locale, fallbackLocale, fallbackWarn, missingWarn);\n val = resolveValue(message, key);\n }\n if (isString(val) || isMessageAST(val)) {\n let occurred = false;\n const onError = () => {\n occurred = true;\n };\n const msg = compileMessageFormat(context, key, locale, val, key, onError);\n return !occurred\n ? msg\n : NOOP_MESSAGE_FUNCTION;\n }\n else if (isMessageFunction(val)) {\n return val;\n }\n else {\n // TODO: should be implemented warning message\n return NOOP_MESSAGE_FUNCTION;\n }\n };\n const ctxOptions = {\n locale,\n modifiers,\n pluralRules,\n messages: resolveMessage\n };\n if (context.processor) {\n ctxOptions.processor = context.processor;\n }\n if (options.list) {\n ctxOptions.list = options.list;\n }\n if (options.named) {\n ctxOptions.named = options.named;\n }\n if (isNumber(options.plural)) {\n ctxOptions.pluralIndex = options.plural;\n }\n return ctxOptions;\n}\n\nconst intlDefined = typeof Intl !== 'undefined';\nconst Availabilities = {\n dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\n numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\n};\n\n// implementation of `datetime` function\nfunction datetime(context, ...args) {\n const { datetimeFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\n const { __datetimeFormatters } = context;\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.dateTimeFormat) {\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_DATE));\n return MISSING_RESOLVE_VALUE;\n }\n const [key, value, options, overrides] = parseDateTimeArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const part = !!options.part;\n const locale = getLocale(context, options);\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n fallbackLocale, locale);\n if (!isString(key) || key === '') {\n return new Intl.DateTimeFormat(locale, overrides).format(value);\n }\n // resolve format\n let datetimeFormat = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'datetime format';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_DATE_FORMAT, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit(\"fallback\" /* VueDevToolsTimelineEvents.FALBACK */, {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n datetimeFormat =\n datetimeFormats[targetLocale] || {};\n format = datetimeFormat[key];\n if (isPlainObject(format))\n break;\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\n from = to;\n }\n // checking format and target locale\n if (!isPlainObject(format) || !isString(targetLocale)) {\n return unresolving ? NOT_REOSLVED : key;\n }\n let id = `${targetLocale}__${key}`;\n if (!isEmptyObject(overrides)) {\n id = `${id}__${JSON.stringify(overrides)}`;\n }\n let formatter = __datetimeFormatters.get(id);\n if (!formatter) {\n formatter = new Intl.DateTimeFormat(targetLocale, assign({}, format, overrides));\n __datetimeFormatters.set(id, formatter);\n }\n return !part ? formatter.format(value) : formatter.formatToParts(value);\n}\n/** @internal */\nconst DATETIME_FORMAT_OPTIONS_KEYS = [\n 'localeMatcher',\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName',\n 'formatMatcher',\n 'hour12',\n 'timeZone',\n 'dateStyle',\n 'timeStyle',\n 'calendar',\n 'dayPeriod',\n 'numberingSystem',\n 'hourCycle',\n 'fractionalSecondDigits'\n];\n/** @internal */\nfunction parseDateTimeArgs(...args) {\n const [arg1, arg2, arg3, arg4] = args;\n const options = {};\n let overrides = {};\n let value;\n if (isString(arg1)) {\n // Only allow ISO strings - other date formats are often supported,\n // but may cause different results in different browsers.\n const matches = arg1.match(/(\\d{4}-\\d{2}-\\d{2})(T|\\s)?(.*)/);\n if (!matches) {\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\n }\n // Some browsers can not parse the iso datetime separated by space,\n // this is a compromise solution by replace the 'T'/' ' with 'T'\n const dateTime = matches[3]\n ? matches[3].trim().startsWith('T')\n ? `${matches[1].trim()}${matches[3].trim()}`\n : `${matches[1].trim()}T${matches[3].trim()}`\n : matches[1].trim();\n value = new Date(dateTime);\n try {\n // This will fail if the date is not valid\n value.toISOString();\n }\n catch (e) {\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\n }\n }\n else if (isDate(arg1)) {\n if (isNaN(arg1.getTime())) {\n throw createCoreError(CoreErrorCodes.INVALID_DATE_ARGUMENT);\n }\n value = arg1;\n }\n else if (isNumber(arg1)) {\n value = arg1;\n }\n else {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n if (isString(arg2)) {\n options.key = arg2;\n }\n else if (isPlainObject(arg2)) {\n Object.keys(arg2).forEach(key => {\n if (DATETIME_FORMAT_OPTIONS_KEYS.includes(key)) {\n overrides[key] = arg2[key];\n }\n else {\n options[key] = arg2[key];\n }\n });\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isPlainObject(arg3)) {\n overrides = arg3;\n }\n if (isPlainObject(arg4)) {\n overrides = arg4;\n }\n return [options.key || '', value, options, overrides];\n}\n/** @internal */\nfunction clearDateTimeFormat(ctx, locale, format) {\n const context = ctx;\n for (const key in format) {\n const id = `${locale}__${key}`;\n if (!context.__datetimeFormatters.has(id)) {\n continue;\n }\n context.__datetimeFormatters.delete(id);\n }\n}\n\n// implementation of `number` function\nfunction number(context, ...args) {\n const { numberFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\n const { __numberFormatters } = context;\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.numberFormat) {\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_NUMBER));\n return MISSING_RESOLVE_VALUE;\n }\n const [key, value, options, overrides] = parseNumberArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const part = !!options.part;\n const locale = getLocale(context, options);\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n fallbackLocale, locale);\n if (!isString(key) || key === '') {\n return new Intl.NumberFormat(locale, overrides).format(value);\n }\n // resolve format\n let numberFormat = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'number format';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit(\"fallback\" /* VueDevToolsTimelineEvents.FALBACK */, {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n numberFormat =\n numberFormats[targetLocale] || {};\n format = numberFormat[key];\n if (isPlainObject(format))\n break;\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\n from = to;\n }\n // checking format and target locale\n if (!isPlainObject(format) || !isString(targetLocale)) {\n return unresolving ? NOT_REOSLVED : key;\n }\n let id = `${targetLocale}__${key}`;\n if (!isEmptyObject(overrides)) {\n id = `${id}__${JSON.stringify(overrides)}`;\n }\n let formatter = __numberFormatters.get(id);\n if (!formatter) {\n formatter = new Intl.NumberFormat(targetLocale, assign({}, format, overrides));\n __numberFormatters.set(id, formatter);\n }\n return !part ? formatter.format(value) : formatter.formatToParts(value);\n}\n/** @internal */\nconst NUMBER_FORMAT_OPTIONS_KEYS = [\n 'localeMatcher',\n 'style',\n 'currency',\n 'currencyDisplay',\n 'currencySign',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n 'compactDisplay',\n 'notation',\n 'signDisplay',\n 'unit',\n 'unitDisplay',\n 'roundingMode',\n 'roundingPriority',\n 'roundingIncrement',\n 'trailingZeroDisplay'\n];\n/** @internal */\nfunction parseNumberArgs(...args) {\n const [arg1, arg2, arg3, arg4] = args;\n const options = {};\n let overrides = {};\n if (!isNumber(arg1)) {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n const value = arg1;\n if (isString(arg2)) {\n options.key = arg2;\n }\n else if (isPlainObject(arg2)) {\n Object.keys(arg2).forEach(key => {\n if (NUMBER_FORMAT_OPTIONS_KEYS.includes(key)) {\n overrides[key] = arg2[key];\n }\n else {\n options[key] = arg2[key];\n }\n });\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isPlainObject(arg3)) {\n overrides = arg3;\n }\n if (isPlainObject(arg4)) {\n overrides = arg4;\n }\n return [options.key || '', value, options, overrides];\n}\n/** @internal */\nfunction clearNumberFormat(ctx, locale, format) {\n const context = ctx;\n for (const key in format) {\n const id = `${locale}__${key}`;\n if (!context.__numberFormatters.has(id)) {\n continue;\n }\n context.__numberFormatters.delete(id);\n }\n}\n\n{\n initFeatureFlags();\n}\n\nexport { CoreErrorCodes, CoreWarnCodes, DATETIME_FORMAT_OPTIONS_KEYS, DEFAULT_LOCALE, DEFAULT_MESSAGE_DATA_TYPE, MISSING_RESOLVE_VALUE, NOT_REOSLVED, NUMBER_FORMAT_OPTIONS_KEYS, VERSION, clearCompileCache, clearDateTimeFormat, clearNumberFormat, compile, compileToFunction, createCoreContext, createCoreError, createMessageContext, datetime, fallbackWithLocaleChain, fallbackWithSimple, getAdditionalMeta, getDevToolsHook, getFallbackContext, getLocale, getWarnMessage, handleMissing, initI18nDevTools, isAlmostSameLocale, isImplicitFallback, isMessageAST, isMessageFunction, isTranslateFallbackWarn, isTranslateMissingWarn, number, parse, parseDateTimeArgs, parseNumberArgs, parseTranslateArgs, registerLocaleFallbacker, registerMessageCompiler, registerMessageResolver, resolveLocale, resolveValue, resolveWithKeyValue, setAdditionalMeta, setDevToolsHook, setFallbackContext, translate, translateDevTools, updateFallbackLocale };\n","/*!\n * vue-i18n v9.14.1\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { getGlobalThis, incrementer, format, makeSymbol, isPlainObject, isArray, deepCopy, isString, hasOwn, isObject, warn, warnOnce, isBoolean, isRegExp, isFunction, inBrowser, assign, isNumber, createEmitter, isEmptyObject } from '@intlify/shared';\nimport { CoreWarnCodes, CoreErrorCodes, createCompileError, DEFAULT_LOCALE, updateFallbackLocale, setFallbackContext, createCoreContext, clearDateTimeFormat, clearNumberFormat, setAdditionalMeta, getFallbackContext, NOT_REOSLVED, isTranslateFallbackWarn, isTranslateMissingWarn, parseTranslateArgs, translate, MISSING_RESOLVE_VALUE, parseDateTimeArgs, datetime, parseNumberArgs, number, isMessageAST, isMessageFunction, fallbackWithLocaleChain, NUMBER_FORMAT_OPTIONS_KEYS, DATETIME_FORMAT_OPTIONS_KEYS, registerMessageCompiler, compile, compileToFunction, registerMessageResolver, resolveValue, registerLocaleFallbacker, setDevToolsHook } from '@intlify/core-base';\nimport { createVNode, Text, computed, watch, getCurrentInstance, ref, shallowRef, Fragment, defineComponent, h, effectScope, inject, onMounted, onUnmounted, onBeforeMount, isRef } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\n/**\n * Vue I18n Version\n *\n * @remarks\n * Semver format. Same format as the package.json `version` field.\n *\n * @VueI18nGeneral\n */\nconst VERSION = '9.14.1';\n/**\n * This is only called in esm-bundler builds.\n * istanbul-ignore-next\n */\nfunction initFeatureFlags() {\n if (typeof __VUE_I18N_FULL_INSTALL__ !== 'boolean') {\n getGlobalThis().__VUE_I18N_FULL_INSTALL__ = true;\n }\n if (typeof __VUE_I18N_LEGACY_API__ !== 'boolean') {\n getGlobalThis().__VUE_I18N_LEGACY_API__ = true;\n }\n if (typeof __INTLIFY_JIT_COMPILATION__ !== 'boolean') {\n getGlobalThis().__INTLIFY_JIT_COMPILATION__ = false;\n }\n if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== 'boolean') {\n getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;\n }\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\n }\n}\n\nconst code$1 = CoreWarnCodes.__EXTEND_POINT__;\nconst inc$1 = incrementer(code$1);\nconst I18nWarnCodes = {\n FALLBACK_TO_ROOT: code$1, // 9\n NOT_SUPPORTED_PRESERVE: inc$1(), // 10\n NOT_SUPPORTED_FORMATTER: inc$1(), // 11\n NOT_SUPPORTED_PRESERVE_DIRECTIVE: inc$1(), // 12\n NOT_SUPPORTED_GET_CHOICE_INDEX: inc$1(), // 13\n COMPONENT_NAME_LEGACY_COMPATIBLE: inc$1(), // 14\n NOT_FOUND_PARENT_SCOPE: inc$1(), // 15\n IGNORE_OBJ_FLATTEN: inc$1(), // 16\n NOTICE_DROP_ALLOW_COMPOSITION: inc$1(), // 17\n NOTICE_DROP_TRANSLATE_EXIST_COMPATIBLE_FLAG: inc$1() // 18\n};\nconst warnMessages = {\n [I18nWarnCodes.FALLBACK_TO_ROOT]: `Fall back to {type} '{key}' with root locale.`,\n [I18nWarnCodes.NOT_SUPPORTED_PRESERVE]: `Not supported 'preserve'.`,\n [I18nWarnCodes.NOT_SUPPORTED_FORMATTER]: `Not supported 'formatter'.`,\n [I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE]: `Not supported 'preserveDirectiveContent'.`,\n [I18nWarnCodes.NOT_SUPPORTED_GET_CHOICE_INDEX]: `Not supported 'getChoiceIndex'.`,\n [I18nWarnCodes.COMPONENT_NAME_LEGACY_COMPATIBLE]: `Component name legacy compatible: '{name}' -> 'i18n'`,\n [I18nWarnCodes.NOT_FOUND_PARENT_SCOPE]: `Not found parent scope. use the global scope.`,\n [I18nWarnCodes.IGNORE_OBJ_FLATTEN]: `Ignore object flatten: '{key}' key has an string value`,\n [I18nWarnCodes.NOTICE_DROP_ALLOW_COMPOSITION]: `'allowComposition' option will be dropped in the next major version. For more information, please see 👉 https://tinyurl.com/2p97mcze`,\n [I18nWarnCodes.NOTICE_DROP_TRANSLATE_EXIST_COMPATIBLE_FLAG]: `'translateExistCompatible' option will be dropped in the next major version.`\n};\nfunction getWarnMessage(code, ...args) {\n return format(warnMessages[code], ...args);\n}\n\nconst code = CoreErrorCodes.__EXTEND_POINT__;\nconst inc = incrementer(code);\nconst I18nErrorCodes = {\n // composer module errors\n UNEXPECTED_RETURN_TYPE: code, // 24\n // legacy module errors\n INVALID_ARGUMENT: inc(), // 25\n // i18n module errors\n MUST_BE_CALL_SETUP_TOP: inc(), // 26\n NOT_INSTALLED: inc(), // 27\n NOT_AVAILABLE_IN_LEGACY_MODE: inc(), // 28\n // directive module errors\n REQUIRED_VALUE: inc(), // 29\n INVALID_VALUE: inc(), // 30\n // vue-devtools errors\n CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN: inc(), // 31\n NOT_INSTALLED_WITH_PROVIDE: inc(), // 32\n // unexpected error\n UNEXPECTED_ERROR: inc(), // 33\n // not compatible legacy vue-i18n constructor\n NOT_COMPATIBLE_LEGACY_VUE_I18N: inc(), // 34\n // bridge support vue 2.x only\n BRIDGE_SUPPORT_VUE_2_ONLY: inc(), // 35\n // need to define `i18n` option in `allowComposition: true` and `useScope: 'local' at `useI18n``\n MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION: inc(), // 36\n // Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly\n NOT_AVAILABLE_COMPOSITION_IN_LEGACY: inc(), // 37\n // for enhancement\n __EXTEND_POINT__: inc() // 38\n};\nfunction createI18nError(code, ...args) {\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages, args } : undefined);\n}\nconst errorMessages = {\n [I18nErrorCodes.UNEXPECTED_RETURN_TYPE]: 'Unexpected return type in composer',\n [I18nErrorCodes.INVALID_ARGUMENT]: 'Invalid argument',\n [I18nErrorCodes.MUST_BE_CALL_SETUP_TOP]: 'Must be called at the top of a `setup` function',\n [I18nErrorCodes.NOT_INSTALLED]: 'Need to install with `app.use` function',\n [I18nErrorCodes.UNEXPECTED_ERROR]: 'Unexpected error',\n [I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE]: 'Not available in legacy mode',\n [I18nErrorCodes.REQUIRED_VALUE]: `Required in value: {0}`,\n [I18nErrorCodes.INVALID_VALUE]: `Invalid value`,\n [I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN]: `Cannot setup vue-devtools plugin`,\n [I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE]: 'Need to install with `provide` function',\n [I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N]: 'Not compatible legacy VueI18n.',\n [I18nErrorCodes.BRIDGE_SUPPORT_VUE_2_ONLY]: 'vue-i18n-bridge support Vue 2.x only',\n [I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION]: 'Must define ‘i18n’ option or custom block in Composition API with using local scope in Legacy API mode',\n [I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY]: 'Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly'\n};\n\nconst TranslateVNodeSymbol = \n/* #__PURE__*/ makeSymbol('__translateVNode');\nconst DatetimePartsSymbol = /* #__PURE__*/ makeSymbol('__datetimeParts');\nconst NumberPartsSymbol = /* #__PURE__*/ makeSymbol('__numberParts');\nconst EnableEmitter = /* #__PURE__*/ makeSymbol('__enableEmitter');\nconst DisableEmitter = /* #__PURE__*/ makeSymbol('__disableEmitter');\nconst SetPluralRulesSymbol = makeSymbol('__setPluralRules');\nmakeSymbol('__intlifyMeta');\nconst InejctWithOptionSymbol = \n/* #__PURE__*/ makeSymbol('__injectWithOption');\nconst DisposeSymbol = /* #__PURE__*/ makeSymbol('__dispose');\nconst __VUE_I18N_BRIDGE__ = '__VUE_I18N_BRIDGE__';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Transform flat json in obj to normal json in obj\n */\nfunction handleFlatJson(obj) {\n // check obj\n if (!isObject(obj)) {\n return obj;\n }\n for (const key in obj) {\n // check key\n if (!hasOwn(obj, key)) {\n continue;\n }\n // handle for normal json\n if (!key.includes('.')) {\n // recursive process value if value is also a object\n if (isObject(obj[key])) {\n handleFlatJson(obj[key]);\n }\n }\n // handle for flat json, transform to normal json\n else {\n // go to the last object\n const subKeys = key.split('.');\n const lastIndex = subKeys.length - 1;\n let currentObj = obj;\n let hasStringValue = false;\n for (let i = 0; i < lastIndex; i++) {\n if (!(subKeys[i] in currentObj)) {\n currentObj[subKeys[i]] = {};\n }\n if (!isObject(currentObj[subKeys[i]])) {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.IGNORE_OBJ_FLATTEN, {\n key: subKeys[i]\n }));\n hasStringValue = true;\n break;\n }\n currentObj = currentObj[subKeys[i]];\n }\n // update last object value, delete old property\n if (!hasStringValue) {\n currentObj[subKeys[lastIndex]] = obj[key];\n delete obj[key];\n }\n // recursive process value if value is also a object\n if (isObject(currentObj[subKeys[lastIndex]])) {\n handleFlatJson(currentObj[subKeys[lastIndex]]);\n }\n }\n }\n return obj;\n}\nfunction getLocaleMessages(locale, options) {\n const { messages, __i18n, messageResolver, flatJson } = options;\n // prettier-ignore\n const ret = (isPlainObject(messages)\n ? messages\n : isArray(__i18n)\n ? {}\n : { [locale]: {} });\n // merge locale messages of i18n custom block\n if (isArray(__i18n)) {\n __i18n.forEach(custom => {\n if ('locale' in custom && 'resource' in custom) {\n const { locale, resource } = custom;\n if (locale) {\n ret[locale] = ret[locale] || {};\n deepCopy(resource, ret[locale]);\n }\n else {\n deepCopy(resource, ret);\n }\n }\n else {\n isString(custom) && deepCopy(JSON.parse(custom), ret);\n }\n });\n }\n // handle messages for flat json\n if (messageResolver == null && flatJson) {\n for (const key in ret) {\n if (hasOwn(ret, key)) {\n handleFlatJson(ret[key]);\n }\n }\n }\n return ret;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getComponentOptions(instance) {\n return instance.type ;\n}\nfunction adjustI18nResources(gl, options, componentOptions // eslint-disable-line @typescript-eslint/no-explicit-any\n) {\n let messages = isObject(options.messages) ? options.messages : {};\n if ('__i18nGlobal' in componentOptions) {\n messages = getLocaleMessages(gl.locale.value, {\n messages,\n __i18n: componentOptions.__i18nGlobal\n });\n }\n // merge locale messages\n const locales = Object.keys(messages);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeLocaleMessage(locale, messages[locale]);\n });\n }\n {\n // merge datetime formats\n if (isObject(options.datetimeFormats)) {\n const locales = Object.keys(options.datetimeFormats);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeDateTimeFormat(locale, options.datetimeFormats[locale]);\n });\n }\n }\n // merge number formats\n if (isObject(options.numberFormats)) {\n const locales = Object.keys(options.numberFormats);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeNumberFormat(locale, options.numberFormats[locale]);\n });\n }\n }\n }\n}\nfunction createTextNode(key) {\n return createVNode(Text, null, key, 0)\n ;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n// extend VNode interface\nconst DEVTOOLS_META = '__INTLIFY_META__';\nconst NOOP_RETURN_ARRAY = () => [];\nconst NOOP_RETURN_FALSE = () => false;\nlet composerID = 0;\nfunction defineCoreMissingHandler(missing) {\n return ((ctx, locale, key, type) => {\n return missing(locale, key, getCurrentInstance() || undefined, type);\n });\n}\n// for Intlify DevTools\n/* #__NO_SIDE_EFFECTS__ */\nconst getMetaInfo = () => {\n const instance = getCurrentInstance();\n let meta = null; // eslint-disable-line @typescript-eslint/no-explicit-any\n return instance && (meta = getComponentOptions(instance)[DEVTOOLS_META])\n ? { [DEVTOOLS_META]: meta } // eslint-disable-line @typescript-eslint/no-explicit-any\n : null;\n};\n/**\n * Create composer interface factory\n *\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction createComposer(options = {}, VueI18nLegacy) {\n const { __root, __injectWithOption } = options;\n const _isGlobal = __root === undefined;\n const flatJson = options.flatJson;\n const _ref = inBrowser ? ref : shallowRef;\n const translateExistCompatible = !!options.translateExistCompatible;\n if ((process.env.NODE_ENV !== 'production')) {\n if (translateExistCompatible && !false) {\n warnOnce(getWarnMessage(I18nWarnCodes.NOTICE_DROP_TRANSLATE_EXIST_COMPATIBLE_FLAG));\n }\n }\n let _inheritLocale = isBoolean(options.inheritLocale)\n ? options.inheritLocale\n : true;\n const _locale = _ref(\n // prettier-ignore\n __root && _inheritLocale\n ? __root.locale.value\n : isString(options.locale)\n ? options.locale\n : DEFAULT_LOCALE);\n const _fallbackLocale = _ref(\n // prettier-ignore\n __root && _inheritLocale\n ? __root.fallbackLocale.value\n : isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale.value);\n const _messages = _ref(getLocaleMessages(_locale.value, options));\n // prettier-ignore\n const _datetimeFormats = _ref(isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : { [_locale.value]: {} })\n ;\n // prettier-ignore\n const _numberFormats = _ref(isPlainObject(options.numberFormats)\n ? options.numberFormats\n : { [_locale.value]: {} })\n ;\n // warning suppress options\n // prettier-ignore\n let _missingWarn = __root\n ? __root.missingWarn\n : isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n // prettier-ignore\n let _fallbackWarn = __root\n ? __root.fallbackWarn\n : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n // prettier-ignore\n let _fallbackRoot = __root\n ? __root.fallbackRoot\n : isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n // configure fall back to root\n let _fallbackFormat = !!options.fallbackFormat;\n // runtime missing\n let _missing = isFunction(options.missing) ? options.missing : null;\n let _runtimeMissing = isFunction(options.missing)\n ? defineCoreMissingHandler(options.missing)\n : null;\n // postTranslation handler\n let _postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n // prettier-ignore\n let _warnHtmlMessage = __root\n ? __root.warnHtmlMessage\n : isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n let _escapeParameter = !!options.escapeParameter;\n // custom linked modifiers\n // prettier-ignore\n const _modifiers = __root\n ? __root.modifiers\n : isPlainObject(options.modifiers)\n ? options.modifiers\n : {};\n // pluralRules\n let _pluralRules = options.pluralRules || (__root && __root.pluralRules);\n // runtime context\n // eslint-disable-next-line prefer-const\n let _context;\n const getCoreContext = () => {\n _isGlobal && setFallbackContext(null);\n const ctxOptions = {\n version: VERSION,\n locale: _locale.value,\n fallbackLocale: _fallbackLocale.value,\n messages: _messages.value,\n modifiers: _modifiers,\n pluralRules: _pluralRules,\n missing: _runtimeMissing === null ? undefined : _runtimeMissing,\n missingWarn: _missingWarn,\n fallbackWarn: _fallbackWarn,\n fallbackFormat: _fallbackFormat,\n unresolving: true,\n postTranslation: _postTranslation === null ? undefined : _postTranslation,\n warnHtmlMessage: _warnHtmlMessage,\n escapeParameter: _escapeParameter,\n messageResolver: options.messageResolver,\n messageCompiler: options.messageCompiler,\n __meta: { framework: 'vue' }\n };\n {\n ctxOptions.datetimeFormats = _datetimeFormats.value;\n ctxOptions.numberFormats = _numberFormats.value;\n ctxOptions.__datetimeFormatters = isPlainObject(_context)\n ? _context.__datetimeFormatters\n : undefined;\n ctxOptions.__numberFormatters = isPlainObject(_context)\n ? _context.__numberFormatters\n : undefined;\n }\n if ((process.env.NODE_ENV !== 'production')) {\n ctxOptions.__v_emitter = isPlainObject(_context)\n ? _context.__v_emitter\n : undefined;\n }\n const ctx = createCoreContext(ctxOptions);\n _isGlobal && setFallbackContext(ctx);\n return ctx;\n };\n _context = getCoreContext();\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n // track reactivity\n function trackReactivityValues() {\n return [\n _locale.value,\n _fallbackLocale.value,\n _messages.value,\n _datetimeFormats.value,\n _numberFormats.value\n ]\n ;\n }\n // locale\n const locale = computed({\n get: () => _locale.value,\n set: val => {\n _locale.value = val;\n _context.locale = _locale.value;\n }\n });\n // fallbackLocale\n const fallbackLocale = computed({\n get: () => _fallbackLocale.value,\n set: val => {\n _fallbackLocale.value = val;\n _context.fallbackLocale = _fallbackLocale.value;\n updateFallbackLocale(_context, _locale.value, val);\n }\n });\n // messages\n const messages = computed(() => _messages.value);\n // datetimeFormats\n const datetimeFormats = /* #__PURE__*/ computed(() => _datetimeFormats.value);\n // numberFormats\n const numberFormats = /* #__PURE__*/ computed(() => _numberFormats.value);\n // getPostTranslationHandler\n function getPostTranslationHandler() {\n return isFunction(_postTranslation) ? _postTranslation : null;\n }\n // setPostTranslationHandler\n function setPostTranslationHandler(handler) {\n _postTranslation = handler;\n _context.postTranslation = handler;\n }\n // getMissingHandler\n function getMissingHandler() {\n return _missing;\n }\n // setMissingHandler\n function setMissingHandler(handler) {\n if (handler !== null) {\n _runtimeMissing = defineCoreMissingHandler(handler);\n }\n _missing = handler;\n _context.missing = _runtimeMissing;\n }\n function isResolvedTranslateMessage(type, arg // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n return type !== 'translate' || !arg.resolvedMessage;\n }\n const wrapWithDeps = (fn, argumentParser, warnType, fallbackSuccess, fallbackFail, successCondition) => {\n trackReactivityValues(); // track reactive dependency\n // NOTE: experimental !!\n let ret;\n try {\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n setAdditionalMeta(getMetaInfo());\n }\n if (!_isGlobal) {\n _context.fallbackContext = __root\n ? getFallbackContext()\n : undefined;\n }\n ret = fn(_context);\n }\n finally {\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n setAdditionalMeta(null);\n }\n if (!_isGlobal) {\n _context.fallbackContext = undefined;\n }\n }\n if ((warnType !== 'translate exists' && // for not `te` (e.g `t`)\n isNumber(ret) &&\n ret === NOT_REOSLVED) ||\n (warnType === 'translate exists' && !ret) // for `te`\n ) {\n const [key, arg2] = argumentParser();\n if ((process.env.NODE_ENV !== 'production') &&\n __root &&\n isString(key) &&\n isResolvedTranslateMessage(warnType, arg2)) {\n if (_fallbackRoot &&\n (isTranslateFallbackWarn(_fallbackWarn, key) ||\n isTranslateMissingWarn(_missingWarn, key))) {\n warn(getWarnMessage(I18nWarnCodes.FALLBACK_TO_ROOT, {\n key,\n type: warnType\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n const { __v_emitter: emitter } = _context;\n if (emitter && _fallbackRoot) {\n emitter.emit(\"fallback\" /* VueDevToolsTimelineEvents.FALBACK */, {\n type: warnType,\n key,\n to: 'global',\n groupId: `${warnType}:${key}`\n });\n }\n }\n }\n return __root && _fallbackRoot\n ? fallbackSuccess(__root)\n : fallbackFail(key);\n }\n else if (successCondition(ret)) {\n return ret;\n }\n else {\n /* istanbul ignore next */\n throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE);\n }\n };\n // t\n function t(...args) {\n return wrapWithDeps(context => Reflect.apply(translate, null, [context, ...args]), () => parseTranslateArgs(...args), 'translate', root => Reflect.apply(root.t, root, [...args]), key => key, val => isString(val));\n }\n // rt\n function rt(...args) {\n const [arg1, arg2, arg3] = args;\n if (arg3 && !isObject(arg3)) {\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\n }\n return t(...[arg1, arg2, assign({ resolvedMessage: true }, arg3 || {})]);\n }\n // d\n function d(...args) {\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', root => Reflect.apply(root.d, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val));\n }\n // n\n function n(...args) {\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', root => Reflect.apply(root.n, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val));\n }\n // for custom processor\n function normalize(values) {\n return values.map(val => isString(val) || isNumber(val) || isBoolean(val)\n ? createTextNode(String(val))\n : val);\n }\n const interpolate = (val) => val;\n const processor = {\n normalize,\n interpolate,\n type: 'vnode'\n };\n // translateVNode, using for `i18n-t` component\n function translateVNode(...args) {\n return wrapWithDeps(context => {\n let ret;\n const _context = context;\n try {\n _context.processor = processor;\n ret = Reflect.apply(translate, null, [_context, ...args]);\n }\n finally {\n _context.processor = null;\n }\n return ret;\n }, () => parseTranslateArgs(...args), 'translate', \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n root => root[TranslateVNodeSymbol](...args), key => [createTextNode(key)], val => isArray(val));\n }\n // numberParts, using for `i18n-n` component\n function numberParts(...args) {\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n root => root[NumberPartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString(val) || isArray(val));\n }\n // datetimeParts, using for `i18n-d` component\n function datetimeParts(...args) {\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n root => root[DatetimePartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString(val) || isArray(val));\n }\n function setPluralRules(rules) {\n _pluralRules = rules;\n _context.pluralRules = _pluralRules;\n }\n // te\n function te(key, locale) {\n return wrapWithDeps(() => {\n if (!key) {\n return false;\n }\n const targetLocale = isString(locale) ? locale : _locale.value;\n const message = getLocaleMessage(targetLocale);\n const resolved = _context.messageResolver(message, key);\n return !translateExistCompatible\n ? isMessageAST(resolved) ||\n isMessageFunction(resolved) ||\n isString(resolved)\n : resolved != null;\n }, () => [key], 'translate exists', root => {\n return Reflect.apply(root.te, root, [key, locale]);\n }, NOOP_RETURN_FALSE, val => isBoolean(val));\n }\n function resolveMessages(key) {\n let messages = null;\n const locales = fallbackWithLocaleChain(_context, _fallbackLocale.value, _locale.value);\n for (let i = 0; i < locales.length; i++) {\n const targetLocaleMessages = _messages.value[locales[i]] || {};\n const messageValue = _context.messageResolver(targetLocaleMessages, key);\n if (messageValue != null) {\n messages = messageValue;\n break;\n }\n }\n return messages;\n }\n // tm\n function tm(key) {\n const messages = resolveMessages(key);\n // prettier-ignore\n return messages != null\n ? messages\n : __root\n ? __root.tm(key) || {}\n : {};\n }\n // getLocaleMessage\n function getLocaleMessage(locale) {\n return (_messages.value[locale] || {});\n }\n // setLocaleMessage\n function setLocaleMessage(locale, message) {\n if (flatJson) {\n const _message = { [locale]: message };\n for (const key in _message) {\n if (hasOwn(_message, key)) {\n handleFlatJson(_message[key]);\n }\n }\n message = _message[locale];\n }\n _messages.value[locale] = message;\n _context.messages = _messages.value;\n }\n // mergeLocaleMessage\n function mergeLocaleMessage(locale, message) {\n _messages.value[locale] = _messages.value[locale] || {};\n const _message = { [locale]: message };\n if (flatJson) {\n for (const key in _message) {\n if (hasOwn(_message, key)) {\n handleFlatJson(_message[key]);\n }\n }\n }\n message = _message[locale];\n deepCopy(message, _messages.value[locale]);\n _context.messages = _messages.value;\n }\n // getDateTimeFormat\n function getDateTimeFormat(locale) {\n return _datetimeFormats.value[locale] || {};\n }\n // setDateTimeFormat\n function setDateTimeFormat(locale, format) {\n _datetimeFormats.value[locale] = format;\n _context.datetimeFormats = _datetimeFormats.value;\n clearDateTimeFormat(_context, locale, format);\n }\n // mergeDateTimeFormat\n function mergeDateTimeFormat(locale, format) {\n _datetimeFormats.value[locale] = assign(_datetimeFormats.value[locale] || {}, format);\n _context.datetimeFormats = _datetimeFormats.value;\n clearDateTimeFormat(_context, locale, format);\n }\n // getNumberFormat\n function getNumberFormat(locale) {\n return _numberFormats.value[locale] || {};\n }\n // setNumberFormat\n function setNumberFormat(locale, format) {\n _numberFormats.value[locale] = format;\n _context.numberFormats = _numberFormats.value;\n clearNumberFormat(_context, locale, format);\n }\n // mergeNumberFormat\n function mergeNumberFormat(locale, format) {\n _numberFormats.value[locale] = assign(_numberFormats.value[locale] || {}, format);\n _context.numberFormats = _numberFormats.value;\n clearNumberFormat(_context, locale, format);\n }\n // for debug\n composerID++;\n // watch root locale & fallbackLocale\n if (__root && inBrowser) {\n watch(__root.locale, (val) => {\n if (_inheritLocale) {\n _locale.value = val;\n _context.locale = val;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n });\n watch(__root.fallbackLocale, (val) => {\n if (_inheritLocale) {\n _fallbackLocale.value = val;\n _context.fallbackLocale = val;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n });\n }\n // define basic composition API!\n const composer = {\n id: composerID,\n locale,\n fallbackLocale,\n get inheritLocale() {\n return _inheritLocale;\n },\n set inheritLocale(val) {\n _inheritLocale = val;\n if (val && __root) {\n _locale.value = __root.locale.value;\n _fallbackLocale.value = __root.fallbackLocale.value;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n },\n get availableLocales() {\n return Object.keys(_messages.value).sort();\n },\n messages,\n get modifiers() {\n return _modifiers;\n },\n get pluralRules() {\n return _pluralRules || {};\n },\n get isGlobal() {\n return _isGlobal;\n },\n get missingWarn() {\n return _missingWarn;\n },\n set missingWarn(val) {\n _missingWarn = val;\n _context.missingWarn = _missingWarn;\n },\n get fallbackWarn() {\n return _fallbackWarn;\n },\n set fallbackWarn(val) {\n _fallbackWarn = val;\n _context.fallbackWarn = _fallbackWarn;\n },\n get fallbackRoot() {\n return _fallbackRoot;\n },\n set fallbackRoot(val) {\n _fallbackRoot = val;\n },\n get fallbackFormat() {\n return _fallbackFormat;\n },\n set fallbackFormat(val) {\n _fallbackFormat = val;\n _context.fallbackFormat = _fallbackFormat;\n },\n get warnHtmlMessage() {\n return _warnHtmlMessage;\n },\n set warnHtmlMessage(val) {\n _warnHtmlMessage = val;\n _context.warnHtmlMessage = val;\n },\n get escapeParameter() {\n return _escapeParameter;\n },\n set escapeParameter(val) {\n _escapeParameter = val;\n _context.escapeParameter = val;\n },\n t,\n getLocaleMessage,\n setLocaleMessage,\n mergeLocaleMessage,\n getPostTranslationHandler,\n setPostTranslationHandler,\n getMissingHandler,\n setMissingHandler,\n [SetPluralRulesSymbol]: setPluralRules\n };\n {\n composer.datetimeFormats = datetimeFormats;\n composer.numberFormats = numberFormats;\n composer.rt = rt;\n composer.te = te;\n composer.tm = tm;\n composer.d = d;\n composer.n = n;\n composer.getDateTimeFormat = getDateTimeFormat;\n composer.setDateTimeFormat = setDateTimeFormat;\n composer.mergeDateTimeFormat = mergeDateTimeFormat;\n composer.getNumberFormat = getNumberFormat;\n composer.setNumberFormat = setNumberFormat;\n composer.mergeNumberFormat = mergeNumberFormat;\n composer[InejctWithOptionSymbol] = __injectWithOption;\n composer[TranslateVNodeSymbol] = translateVNode;\n composer[DatetimePartsSymbol] = datetimeParts;\n composer[NumberPartsSymbol] = numberParts;\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n composer[EnableEmitter] = (emitter) => {\n _context.__v_emitter = emitter;\n };\n composer[DisableEmitter] = () => {\n _context.__v_emitter = undefined;\n };\n }\n return composer;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Convert to I18n Composer Options from VueI18n Options\n *\n * @internal\n */\nfunction convertComposerOptions(options) {\n const locale = isString(options.locale) ? options.locale : DEFAULT_LOCALE;\n const fallbackLocale = isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : locale;\n const missing = isFunction(options.missing) ? options.missing : undefined;\n const missingWarn = isBoolean(options.silentTranslationWarn) ||\n isRegExp(options.silentTranslationWarn)\n ? !options.silentTranslationWarn\n : true;\n const fallbackWarn = isBoolean(options.silentFallbackWarn) ||\n isRegExp(options.silentFallbackWarn)\n ? !options.silentFallbackWarn\n : true;\n const fallbackRoot = isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n const fallbackFormat = !!options.formatFallbackMessages;\n const modifiers = isPlainObject(options.modifiers) ? options.modifiers : {};\n const pluralizationRules = options.pluralizationRules;\n const postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : undefined;\n const warnHtmlMessage = isString(options.warnHtmlInMessage)\n ? options.warnHtmlInMessage !== 'off'\n : true;\n const escapeParameter = !!options.escapeParameterHtml;\n const inheritLocale = isBoolean(options.sync) ? options.sync : true;\n if ((process.env.NODE_ENV !== 'production') && options.formatter) {\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));\n }\n if ((process.env.NODE_ENV !== 'production') && options.preserveDirectiveContent) {\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));\n }\n let messages = options.messages;\n if (isPlainObject(options.sharedMessages)) {\n const sharedMessages = options.sharedMessages;\n const locales = Object.keys(sharedMessages);\n messages = locales.reduce((messages, locale) => {\n const message = messages[locale] || (messages[locale] = {});\n assign(message, sharedMessages[locale]);\n return messages;\n }, (messages || {}));\n }\n const { __i18n, __root, __injectWithOption } = options;\n const datetimeFormats = options.datetimeFormats;\n const numberFormats = options.numberFormats;\n const flatJson = options.flatJson;\n const translateExistCompatible = options\n .translateExistCompatible;\n return {\n locale,\n fallbackLocale,\n messages,\n flatJson,\n datetimeFormats,\n numberFormats,\n missing,\n missingWarn,\n fallbackWarn,\n fallbackRoot,\n fallbackFormat,\n modifiers,\n pluralRules: pluralizationRules,\n postTranslation,\n warnHtmlMessage,\n escapeParameter,\n messageResolver: options.messageResolver,\n inheritLocale,\n translateExistCompatible,\n __i18n,\n __root,\n __injectWithOption\n };\n}\n/**\n * create VueI18n interface factory\n *\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction createVueI18n(options = {}, VueI18nLegacy) {\n {\n const composer = createComposer(convertComposerOptions(options));\n const { __extender } = options;\n // defines VueI18n\n const vueI18n = {\n // id\n id: composer.id,\n // locale\n get locale() {\n return composer.locale.value;\n },\n set locale(val) {\n composer.locale.value = val;\n },\n // fallbackLocale\n get fallbackLocale() {\n return composer.fallbackLocale.value;\n },\n set fallbackLocale(val) {\n composer.fallbackLocale.value = val;\n },\n // messages\n get messages() {\n return composer.messages.value;\n },\n // datetimeFormats\n get datetimeFormats() {\n return composer.datetimeFormats.value;\n },\n // numberFormats\n get numberFormats() {\n return composer.numberFormats.value;\n },\n // availableLocales\n get availableLocales() {\n return composer.availableLocales;\n },\n // formatter\n get formatter() {\n (process.env.NODE_ENV !== 'production') && warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));\n // dummy\n return {\n interpolate() {\n return [];\n }\n };\n },\n set formatter(val) {\n (process.env.NODE_ENV !== 'production') && warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));\n },\n // missing\n get missing() {\n return composer.getMissingHandler();\n },\n set missing(handler) {\n composer.setMissingHandler(handler);\n },\n // silentTranslationWarn\n get silentTranslationWarn() {\n return isBoolean(composer.missingWarn)\n ? !composer.missingWarn\n : composer.missingWarn;\n },\n set silentTranslationWarn(val) {\n composer.missingWarn = isBoolean(val) ? !val : val;\n },\n // silentFallbackWarn\n get silentFallbackWarn() {\n return isBoolean(composer.fallbackWarn)\n ? !composer.fallbackWarn\n : composer.fallbackWarn;\n },\n set silentFallbackWarn(val) {\n composer.fallbackWarn = isBoolean(val) ? !val : val;\n },\n // modifiers\n get modifiers() {\n return composer.modifiers;\n },\n // formatFallbackMessages\n get formatFallbackMessages() {\n return composer.fallbackFormat;\n },\n set formatFallbackMessages(val) {\n composer.fallbackFormat = val;\n },\n // postTranslation\n get postTranslation() {\n return composer.getPostTranslationHandler();\n },\n set postTranslation(handler) {\n composer.setPostTranslationHandler(handler);\n },\n // sync\n get sync() {\n return composer.inheritLocale;\n },\n set sync(val) {\n composer.inheritLocale = val;\n },\n // warnInHtmlMessage\n get warnHtmlInMessage() {\n return composer.warnHtmlMessage ? 'warn' : 'off';\n },\n set warnHtmlInMessage(val) {\n composer.warnHtmlMessage = val !== 'off';\n },\n // escapeParameterHtml\n get escapeParameterHtml() {\n return composer.escapeParameter;\n },\n set escapeParameterHtml(val) {\n composer.escapeParameter = val;\n },\n // preserveDirectiveContent\n get preserveDirectiveContent() {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));\n return true;\n },\n set preserveDirectiveContent(val) {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));\n },\n // pluralizationRules\n get pluralizationRules() {\n return composer.pluralRules || {};\n },\n // for internal\n __composer: composer,\n // t\n t(...args) {\n const [arg1, arg2, arg3] = args;\n const options = {};\n let list = null;\n let named = null;\n if (!isString(arg1)) {\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\n }\n const key = arg1;\n if (isString(arg2)) {\n options.locale = arg2;\n }\n else if (isArray(arg2)) {\n list = arg2;\n }\n else if (isPlainObject(arg2)) {\n named = arg2;\n }\n if (isArray(arg3)) {\n list = arg3;\n }\n else if (isPlainObject(arg3)) {\n named = arg3;\n }\n // return composer.t(key, (list || named || {}) as any, options)\n return Reflect.apply(composer.t, composer, [\n key,\n (list || named || {}),\n options\n ]);\n },\n rt(...args) {\n return Reflect.apply(composer.rt, composer, [...args]);\n },\n // tc\n tc(...args) {\n const [arg1, arg2, arg3] = args;\n const options = { plural: 1 };\n let list = null;\n let named = null;\n if (!isString(arg1)) {\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\n }\n const key = arg1;\n if (isString(arg2)) {\n options.locale = arg2;\n }\n else if (isNumber(arg2)) {\n options.plural = arg2;\n }\n else if (isArray(arg2)) {\n list = arg2;\n }\n else if (isPlainObject(arg2)) {\n named = arg2;\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isArray(arg3)) {\n list = arg3;\n }\n else if (isPlainObject(arg3)) {\n named = arg3;\n }\n // return composer.t(key, (list || named || {}) as any, options)\n return Reflect.apply(composer.t, composer, [\n key,\n (list || named || {}),\n options\n ]);\n },\n // te\n te(key, locale) {\n return composer.te(key, locale);\n },\n // tm\n tm(key) {\n return composer.tm(key);\n },\n // getLocaleMessage\n getLocaleMessage(locale) {\n return composer.getLocaleMessage(locale);\n },\n // setLocaleMessage\n setLocaleMessage(locale, message) {\n composer.setLocaleMessage(locale, message);\n },\n // mergeLocaleMessage\n mergeLocaleMessage(locale, message) {\n composer.mergeLocaleMessage(locale, message);\n },\n // d\n d(...args) {\n return Reflect.apply(composer.d, composer, [...args]);\n },\n // getDateTimeFormat\n getDateTimeFormat(locale) {\n return composer.getDateTimeFormat(locale);\n },\n // setDateTimeFormat\n setDateTimeFormat(locale, format) {\n composer.setDateTimeFormat(locale, format);\n },\n // mergeDateTimeFormat\n mergeDateTimeFormat(locale, format) {\n composer.mergeDateTimeFormat(locale, format);\n },\n // n\n n(...args) {\n return Reflect.apply(composer.n, composer, [...args]);\n },\n // getNumberFormat\n getNumberFormat(locale) {\n return composer.getNumberFormat(locale);\n },\n // setNumberFormat\n setNumberFormat(locale, format) {\n composer.setNumberFormat(locale, format);\n },\n // mergeNumberFormat\n mergeNumberFormat(locale, format) {\n composer.mergeNumberFormat(locale, format);\n },\n // getChoiceIndex\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n getChoiceIndex(choice, choicesLength) {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_GET_CHOICE_INDEX));\n return -1;\n }\n };\n vueI18n.__extender = __extender;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n vueI18n.__enableEmitter = (emitter) => {\n const __composer = composer;\n __composer[EnableEmitter] && __composer[EnableEmitter](emitter);\n };\n vueI18n.__disableEmitter = () => {\n const __composer = composer;\n __composer[DisableEmitter] && __composer[DisableEmitter]();\n };\n }\n return vueI18n;\n }\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst baseFormatProps = {\n tag: {\n type: [String, Object]\n },\n locale: {\n type: String\n },\n scope: {\n type: String,\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\n validator: (val /* ComponentI18nScope */) => val === 'parent' || val === 'global',\n default: 'parent' /* ComponentI18nScope */\n },\n i18n: {\n type: Object\n }\n};\n\nfunction getInterpolateArg(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n{ slots }, // SetupContext,\nkeys) {\n if (keys.length === 1 && keys[0] === 'default') {\n // default slot with list\n const ret = slots.default ? slots.default() : [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return ret.reduce((slot, current) => {\n return [\n ...slot,\n // prettier-ignore\n ...(current.type === Fragment ? current.children : [current]\n )\n ];\n }, []);\n }\n else {\n // named slots\n return keys.reduce((arg, key) => {\n const slot = slots[key];\n if (slot) {\n arg[key] = slot();\n }\n return arg;\n }, {});\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getFragmentableTag(tag) {\n return Fragment ;\n}\n\nconst TranslationImpl = /*#__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-t',\n props: assign({\n keypath: {\n type: String,\n required: true\n },\n plural: {\n type: [Number, String],\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n validator: (val) => isNumber(val) || !isNaN(val)\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const { slots, attrs } = context;\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return () => {\n const keys = Object.keys(slots).filter(key => key !== '_');\n const options = {};\n if (props.locale) {\n options.locale = props.locale;\n }\n if (props.plural !== undefined) {\n options.plural = isString(props.plural) ? +props.plural : props.plural;\n }\n const arg = getInterpolateArg(context, keys);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const children = i18n[TranslateVNodeSymbol](props.keypath, arg, options);\n const assignedAttrs = assign({}, attrs);\n const tag = isString(props.tag) || isObject(props.tag)\n ? props.tag\n : getFragmentableTag();\n return h(tag, assignedAttrs, children);\n };\n }\n});\n/**\n * export the public type for h/tsx inference\n * also to avoid inline import() in generated d.ts files\n */\n/**\n * Translation Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [TranslationProps](component#translationprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Component Interpolation](../guide/advanced/component)\n *\n * @example\n * ```html\n *
\n * \n * \n * {{ $t('tos') }}\n * \n * \n *
\n * ```\n * ```js\n * import { createApp } from 'vue'\n * import { createI18n } from 'vue-i18n'\n *\n * const messages = {\n * en: {\n * tos: 'Term of Service',\n * term: 'I accept xxx {0}.'\n * },\n * ja: {\n * tos: '利用規約',\n * term: '私は xxx の{0}に同意します。'\n * }\n * }\n *\n * const i18n = createI18n({\n * locale: 'en',\n * messages\n * })\n *\n * const app = createApp({\n * data: {\n * url: '/term'\n * }\n * }).use(i18n).mount('#app')\n * ```\n *\n * @VueI18nComponent\n */\nconst Translation = TranslationImpl;\nconst I18nT = Translation;\n\nfunction isVNode(target) {\n return isArray(target) && !isString(target[0]);\n}\nfunction renderFormatter(props, context, slotKeys, partFormatter) {\n const { slots, attrs } = context;\n return () => {\n const options = { part: true };\n let overrides = {};\n if (props.locale) {\n options.locale = props.locale;\n }\n if (isString(props.format)) {\n options.key = props.format;\n }\n else if (isObject(props.format)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (isString(props.format.key)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n options.key = props.format.key;\n }\n // Filter out number format options only\n overrides = Object.keys(props.format).reduce((options, prop) => {\n return slotKeys.includes(prop)\n ? assign({}, options, { [prop]: props.format[prop] }) // eslint-disable-line @typescript-eslint/no-explicit-any\n : options;\n }, {});\n }\n const parts = partFormatter(...[props.value, options, overrides]);\n let children = [options.key];\n if (isArray(parts)) {\n children = parts.map((part, index) => {\n const slot = slots[part.type];\n const node = slot\n ? slot({ [part.type]: part.value, index, parts })\n : [part.value];\n if (isVNode(node)) {\n node[0].key = `${part.type}-${index}`;\n }\n return node;\n });\n }\n else if (isString(parts)) {\n children = [parts];\n }\n const assignedAttrs = assign({}, attrs);\n const tag = isString(props.tag) || isObject(props.tag)\n ? props.tag\n : getFragmentableTag();\n return h(tag, assignedAttrs, children);\n };\n}\n\nconst NumberFormatImpl = /*#__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-n',\n props: assign({\n value: {\n type: Number,\n required: true\n },\n format: {\n type: [String, Object]\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return renderFormatter(props, context, NUMBER_FORMAT_OPTIONS_KEYS, (...args) => \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n[NumberPartsSymbol](...args));\n }\n});\n/**\n * export the public type for h/tsx inference\n * also to avoid inline import() in generated d.ts files\n */\n/**\n * Number Format Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [FormattableProps](component#formattableprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Custom Formatting](../guide/essentials/number#custom-formatting)\n *\n * @VueI18nDanger\n * Not supported IE, due to no support `Intl.NumberFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/formatToParts)\n *\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-numberformat)\n *\n * @VueI18nComponent\n */\nconst NumberFormat = NumberFormatImpl;\nconst I18nN = NumberFormat;\n\nconst DatetimeFormatImpl = /* #__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-d',\n props: assign({\n value: {\n type: [Number, Date],\n required: true\n },\n format: {\n type: [String, Object]\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return renderFormatter(props, context, DATETIME_FORMAT_OPTIONS_KEYS, (...args) => \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n[DatetimePartsSymbol](...args));\n }\n});\n/**\n * Datetime Format Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [FormattableProps](component#formattableprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Custom Formatting](../guide/essentials/datetime#custom-formatting)\n *\n * @VueI18nDanger\n * Not supported IE, due to no support `Intl.DateTimeFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts)\n *\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-datetimeformat)\n *\n * @VueI18nComponent\n */\nconst DatetimeFormat = DatetimeFormatImpl;\nconst I18nD = DatetimeFormat;\n\nfunction getComposer$2(i18n, instance) {\n const i18nInternal = i18n;\n if (i18n.mode === 'composition') {\n return (i18nInternal.__getInstance(instance) || i18n.global);\n }\n else {\n const vueI18n = i18nInternal.__getInstance(instance);\n return vueI18n != null\n ? vueI18n.__composer\n : i18n.global.__composer;\n }\n}\nfunction vTDirective(i18n) {\n const _process = (binding) => {\n const { instance, modifiers, value } = binding;\n /* istanbul ignore if */\n if (!instance || !instance.$) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const composer = getComposer$2(i18n, instance.$);\n if ((process.env.NODE_ENV !== 'production') && modifiers.preserve) {\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE));\n }\n const parsedValue = parseValue(value);\n return [\n Reflect.apply(composer.t, composer, [...makeParams(parsedValue)]),\n composer\n ];\n };\n const register = (el, binding) => {\n const [textContent, composer] = _process(binding);\n if (inBrowser && i18n.global === composer) {\n // global scope only\n el.__i18nWatcher = watch(composer.locale, () => {\n binding.instance && binding.instance.$forceUpdate();\n });\n }\n el.__composer = composer;\n el.textContent = textContent;\n };\n const unregister = (el) => {\n if (inBrowser && el.__i18nWatcher) {\n el.__i18nWatcher();\n el.__i18nWatcher = undefined;\n delete el.__i18nWatcher;\n }\n if (el.__composer) {\n el.__composer = undefined;\n delete el.__composer;\n }\n };\n const update = (el, { value }) => {\n if (el.__composer) {\n const composer = el.__composer;\n const parsedValue = parseValue(value);\n el.textContent = Reflect.apply(composer.t, composer, [\n ...makeParams(parsedValue)\n ]);\n }\n };\n const getSSRProps = (binding) => {\n const [textContent] = _process(binding);\n return { textContent };\n };\n return {\n created: register,\n unmounted: unregister,\n beforeUpdate: update,\n getSSRProps\n };\n}\nfunction parseValue(value) {\n if (isString(value)) {\n return { path: value };\n }\n else if (isPlainObject(value)) {\n if (!('path' in value)) {\n throw createI18nError(I18nErrorCodes.REQUIRED_VALUE, 'path');\n }\n return value;\n }\n else {\n throw createI18nError(I18nErrorCodes.INVALID_VALUE);\n }\n}\nfunction makeParams(value) {\n const { path, locale, args, choice, plural } = value;\n const options = {};\n const named = args || {};\n if (isString(locale)) {\n options.locale = locale;\n }\n if (isNumber(choice)) {\n options.plural = choice;\n }\n if (isNumber(plural)) {\n options.plural = plural;\n }\n return [path, named, options];\n}\n\nfunction apply(app, i18n, ...options) {\n const pluginOptions = isPlainObject(options[0])\n ? options[0]\n : {};\n const useI18nComponentName = !!pluginOptions.useI18nComponentName;\n const globalInstall = isBoolean(pluginOptions.globalInstall)\n ? pluginOptions.globalInstall\n : true;\n if ((process.env.NODE_ENV !== 'production') && globalInstall && useI18nComponentName) {\n warn(getWarnMessage(I18nWarnCodes.COMPONENT_NAME_LEGACY_COMPATIBLE, {\n name: Translation.name\n }));\n }\n if (globalInstall) {\n [!useI18nComponentName ? Translation.name : 'i18n', 'I18nT'].forEach(name => app.component(name, Translation));\n [NumberFormat.name, 'I18nN'].forEach(name => app.component(name, NumberFormat));\n [DatetimeFormat.name, 'I18nD'].forEach(name => app.component(name, DatetimeFormat));\n }\n // install directive\n {\n app.directive('t', vTDirective(i18n));\n }\n}\n\nconst VueDevToolsLabels = {\n [\"vue-devtools-plugin-vue-i18n\" /* VueDevToolsIDs.PLUGIN */]: 'Vue I18n devtools',\n [\"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */]: 'I18n Resources',\n [\"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */]: 'Vue I18n'\n};\nconst VueDevToolsPlaceholders = {\n [\"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */]: 'Search for scopes ...'\n};\nconst VueDevToolsTimelineColors = {\n [\"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */]: 0xffcd19\n};\n\nconst VUE_I18N_COMPONENT_TYPES = 'vue-i18n: composer properties';\nlet devtoolsApi;\nasync function enableDevTools(app, i18n) {\n return new Promise((resolve, reject) => {\n try {\n setupDevtoolsPlugin({\n id: \"vue-devtools-plugin-vue-i18n\" /* VueDevToolsIDs.PLUGIN */,\n label: VueDevToolsLabels[\"vue-devtools-plugin-vue-i18n\" /* VueDevToolsIDs.PLUGIN */],\n packageName: 'vue-i18n',\n homepage: 'https://vue-i18n.intlify.dev',\n logo: 'https://vue-i18n.intlify.dev/vue-i18n-devtools-logo.png',\n componentStateTypes: [VUE_I18N_COMPONENT_TYPES],\n app: app // eslint-disable-line @typescript-eslint/no-explicit-any\n }, api => {\n devtoolsApi = api;\n api.on.visitComponentTree(({ componentInstance, treeNode }) => {\n updateComponentTreeTags(componentInstance, treeNode, i18n);\n });\n api.on.inspectComponent(({ componentInstance, instanceData }) => {\n if (componentInstance.vnode.el &&\n componentInstance.vnode.el.__VUE_I18N__ &&\n instanceData) {\n if (i18n.mode === 'legacy') {\n // ignore global scope on legacy mode\n if (componentInstance.vnode.el.__VUE_I18N__ !==\n i18n.global.__composer) {\n inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__);\n }\n }\n else {\n inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__);\n }\n }\n });\n api.addInspector({\n id: \"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */,\n label: VueDevToolsLabels[\"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */],\n icon: 'language',\n treeFilterPlaceholder: VueDevToolsPlaceholders[\"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */]\n });\n api.on.getInspectorTree(payload => {\n if (payload.app === app &&\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */) {\n registerScope(payload, i18n);\n }\n });\n const roots = new Map();\n api.on.getInspectorState(async (payload) => {\n if (payload.app === app &&\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */) {\n api.unhighlightElement();\n inspectScope(payload, i18n);\n if (payload.nodeId === 'global') {\n if (!roots.has(payload.app)) {\n const [root] = await api.getComponentInstances(payload.app);\n roots.set(payload.app, root);\n }\n api.highlightElement(roots.get(payload.app));\n }\n else {\n const instance = getComponentInstance(payload.nodeId, i18n);\n instance && api.highlightElement(instance);\n }\n }\n });\n api.on.editInspectorState(payload => {\n if (payload.app === app &&\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */) {\n editScope(payload, i18n);\n }\n });\n api.addTimelineLayer({\n id: \"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */,\n label: VueDevToolsLabels[\"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */],\n color: VueDevToolsTimelineColors[\"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */]\n });\n resolve(true);\n });\n }\n catch (e) {\n console.error(e);\n reject(false);\n }\n });\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getI18nScopeLable(instance) {\n return (instance.type.name ||\n instance.type.displayName ||\n instance.type.__file ||\n 'Anonymous');\n}\nfunction updateComponentTreeTags(instance, // eslint-disable-line @typescript-eslint/no-explicit-any\ntreeNode, i18n) {\n // prettier-ignore\n const global = i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n if (instance && instance.vnode.el && instance.vnode.el.__VUE_I18N__) {\n // add custom tags local scope only\n if (instance.vnode.el.__VUE_I18N__ !== global) {\n const tag = {\n label: `i18n (${getI18nScopeLable(instance)} Scope)`,\n textColor: 0x000000,\n backgroundColor: 0xffcd19\n };\n treeNode.tags.push(tag);\n }\n }\n}\nfunction inspectComposer(instanceData, composer) {\n const type = VUE_I18N_COMPONENT_TYPES;\n instanceData.state.push({\n type,\n key: 'locale',\n editable: true,\n value: composer.locale.value\n });\n instanceData.state.push({\n type,\n key: 'availableLocales',\n editable: false,\n value: composer.availableLocales\n });\n instanceData.state.push({\n type,\n key: 'fallbackLocale',\n editable: true,\n value: composer.fallbackLocale.value\n });\n instanceData.state.push({\n type,\n key: 'inheritLocale',\n editable: true,\n value: composer.inheritLocale\n });\n instanceData.state.push({\n type,\n key: 'messages',\n editable: false,\n value: getLocaleMessageValue(composer.messages.value)\n });\n {\n instanceData.state.push({\n type,\n key: 'datetimeFormats',\n editable: false,\n value: composer.datetimeFormats.value\n });\n instanceData.state.push({\n type,\n key: 'numberFormats',\n editable: false,\n value: composer.numberFormats.value\n });\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getLocaleMessageValue(messages) {\n const value = {};\n Object.keys(messages).forEach((key) => {\n const v = messages[key];\n if (isFunction(v) && 'source' in v) {\n value[key] = getMessageFunctionDetails(v);\n }\n else if (isMessageAST(v) && v.loc && v.loc.source) {\n value[key] = v.loc.source;\n }\n else if (isObject(v)) {\n value[key] = getLocaleMessageValue(v);\n }\n else {\n value[key] = v;\n }\n });\n return value;\n}\nconst ESC = {\n '<': '<',\n '>': '>',\n '\"': '"',\n '&': '&'\n};\nfunction escape(s) {\n return s.replace(/[<>\"&]/g, escapeChar);\n}\nfunction escapeChar(a) {\n return ESC[a] || a;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getMessageFunctionDetails(func) {\n const argString = func.source ? `(\"${escape(func.source)}\")` : `(?)`;\n return {\n _custom: {\n type: 'function',\n display: `ƒ ${argString}`\n }\n };\n}\nfunction registerScope(payload, i18n) {\n payload.rootNodes.push({\n id: 'global',\n label: 'Global Scope'\n });\n // prettier-ignore\n const global = i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n for (const [keyInstance, instance] of i18n.__instances) {\n // prettier-ignore\n const composer = i18n.mode === 'composition'\n ? instance\n : instance.__composer;\n if (global === composer) {\n continue;\n }\n payload.rootNodes.push({\n id: composer.id.toString(),\n label: `${getI18nScopeLable(keyInstance)} Scope`\n });\n }\n}\nfunction getComponentInstance(nodeId, i18n) {\n let instance = null;\n if (nodeId !== 'global') {\n for (const [component, composer] of i18n.__instances.entries()) {\n if (composer.id.toString() === nodeId) {\n instance = component;\n break;\n }\n }\n }\n return instance;\n}\nfunction getComposer$1(nodeId, i18n) {\n if (nodeId === 'global') {\n return i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n }\n else {\n const instance = Array.from(i18n.__instances.values()).find(item => item.id.toString() === nodeId);\n if (instance) {\n return i18n.mode === 'composition'\n ? instance\n : instance.__composer;\n }\n else {\n return null;\n }\n }\n}\nfunction inspectScope(payload, i18n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n) {\n const composer = getComposer$1(payload.nodeId, i18n);\n if (composer) {\n // TODO:\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n payload.state = makeScopeInspectState(composer);\n }\n return null;\n}\nfunction makeScopeInspectState(composer) {\n const state = {};\n const localeType = 'Locale related info';\n const localeStates = [\n {\n type: localeType,\n key: 'locale',\n editable: true,\n value: composer.locale.value\n },\n {\n type: localeType,\n key: 'fallbackLocale',\n editable: true,\n value: composer.fallbackLocale.value\n },\n {\n type: localeType,\n key: 'availableLocales',\n editable: false,\n value: composer.availableLocales\n },\n {\n type: localeType,\n key: 'inheritLocale',\n editable: true,\n value: composer.inheritLocale\n }\n ];\n state[localeType] = localeStates;\n const localeMessagesType = 'Locale messages info';\n const localeMessagesStates = [\n {\n type: localeMessagesType,\n key: 'messages',\n editable: false,\n value: getLocaleMessageValue(composer.messages.value)\n }\n ];\n state[localeMessagesType] = localeMessagesStates;\n {\n const datetimeFormatsType = 'Datetime formats info';\n const datetimeFormatsStates = [\n {\n type: datetimeFormatsType,\n key: 'datetimeFormats',\n editable: false,\n value: composer.datetimeFormats.value\n }\n ];\n state[datetimeFormatsType] = datetimeFormatsStates;\n const numberFormatsType = 'Datetime formats info';\n const numberFormatsStates = [\n {\n type: numberFormatsType,\n key: 'numberFormats',\n editable: false,\n value: composer.numberFormats.value\n }\n ];\n state[numberFormatsType] = numberFormatsStates;\n }\n return state;\n}\nfunction addTimelineEvent(event, payload) {\n if (devtoolsApi) {\n let groupId;\n if (payload && 'groupId' in payload) {\n groupId = payload.groupId;\n delete payload.groupId;\n }\n devtoolsApi.addTimelineEvent({\n layerId: \"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */,\n event: {\n title: event,\n groupId,\n time: Date.now(),\n meta: {},\n data: payload || {},\n logType: event === \"compile-error\" /* VueDevToolsTimelineEvents.COMPILE_ERROR */\n ? 'error'\n : event === \"fallback\" /* VueDevToolsTimelineEvents.FALBACK */ ||\n event === \"missing\" /* VueDevToolsTimelineEvents.MISSING */\n ? 'warning'\n : 'default'\n }\n });\n }\n}\nfunction editScope(payload, i18n) {\n const composer = getComposer$1(payload.nodeId, i18n);\n if (composer) {\n const [field] = payload.path;\n if (field === 'locale' && isString(payload.state.value)) {\n composer.locale.value = payload.state.value;\n }\n else if (field === 'fallbackLocale' &&\n (isString(payload.state.value) ||\n isArray(payload.state.value) ||\n isObject(payload.state.value))) {\n composer.fallbackLocale.value = payload.state.value;\n }\n else if (field === 'inheritLocale' && isBoolean(payload.state.value)) {\n composer.inheritLocale = payload.state.value;\n }\n }\n}\n\n/**\n * Supports compatibility for legacy vue-i18n APIs\n * This mixin is used when we use vue-i18n@v9.x or later\n */\nfunction defineMixin(vuei18n, composer, i18n) {\n return {\n beforeCreate() {\n const instance = getCurrentInstance();\n /* istanbul ignore if */\n if (!instance) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const options = this.$options;\n if (options.i18n) {\n const optionsI18n = options.i18n;\n if (options.__i18n) {\n optionsI18n.__i18n = options.__i18n;\n }\n optionsI18n.__root = composer;\n if (this === this.$root) {\n // merge option and gttach global\n this.$i18n = mergeToGlobal(vuei18n, optionsI18n);\n }\n else {\n optionsI18n.__injectWithOption = true;\n optionsI18n.__extender = i18n.__vueI18nExtend;\n // atttach local VueI18n instance\n this.$i18n = createVueI18n(optionsI18n);\n // extend VueI18n instance\n const _vueI18n = this.$i18n;\n if (_vueI18n.__extender) {\n _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);\n }\n }\n }\n else if (options.__i18n) {\n if (this === this.$root) {\n // merge option and gttach global\n this.$i18n = mergeToGlobal(vuei18n, options);\n }\n else {\n // atttach local VueI18n instance\n this.$i18n = createVueI18n({\n __i18n: options.__i18n,\n __injectWithOption: true,\n __extender: i18n.__vueI18nExtend,\n __root: composer\n });\n // extend VueI18n instance\n const _vueI18n = this.$i18n;\n if (_vueI18n.__extender) {\n _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);\n }\n }\n }\n else {\n // attach global VueI18n instance\n this.$i18n = vuei18n;\n }\n if (options.__i18nGlobal) {\n adjustI18nResources(composer, options, options);\n }\n // defines vue-i18n legacy APIs\n this.$t = (...args) => this.$i18n.t(...args);\n this.$rt = (...args) => this.$i18n.rt(...args);\n this.$tc = (...args) => this.$i18n.tc(...args);\n this.$te = (key, locale) => this.$i18n.te(key, locale);\n this.$d = (...args) => this.$i18n.d(...args);\n this.$n = (...args) => this.$i18n.n(...args);\n this.$tm = (key) => this.$i18n.tm(key);\n i18n.__setInstance(instance, this.$i18n);\n },\n mounted() {\n /* istanbul ignore if */\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n this.$el &&\n this.$i18n) {\n const _vueI18n = this.$i18n;\n this.$el.__VUE_I18N__ = _vueI18n.__composer;\n const emitter = (this.__v_emitter =\n createEmitter());\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\n emitter.on('*', addTimelineEvent);\n }\n },\n unmounted() {\n const instance = getCurrentInstance();\n /* istanbul ignore if */\n if (!instance) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const _vueI18n = this.$i18n;\n /* istanbul ignore if */\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n this.$el &&\n this.$el.__VUE_I18N__) {\n if (this.__v_emitter) {\n this.__v_emitter.off('*', addTimelineEvent);\n delete this.__v_emitter;\n }\n if (this.$i18n) {\n _vueI18n.__disableEmitter && _vueI18n.__disableEmitter();\n delete this.$el.__VUE_I18N__;\n }\n }\n delete this.$t;\n delete this.$rt;\n delete this.$tc;\n delete this.$te;\n delete this.$d;\n delete this.$n;\n delete this.$tm;\n if (_vueI18n.__disposer) {\n _vueI18n.__disposer();\n delete _vueI18n.__disposer;\n delete _vueI18n.__extender;\n }\n i18n.__deleteInstance(instance);\n delete this.$i18n;\n }\n };\n}\nfunction mergeToGlobal(g, options) {\n g.locale = options.locale || g.locale;\n g.fallbackLocale = options.fallbackLocale || g.fallbackLocale;\n g.missing = options.missing || g.missing;\n g.silentTranslationWarn =\n options.silentTranslationWarn || g.silentFallbackWarn;\n g.silentFallbackWarn = options.silentFallbackWarn || g.silentFallbackWarn;\n g.formatFallbackMessages =\n options.formatFallbackMessages || g.formatFallbackMessages;\n g.postTranslation = options.postTranslation || g.postTranslation;\n g.warnHtmlInMessage = options.warnHtmlInMessage || g.warnHtmlInMessage;\n g.escapeParameterHtml = options.escapeParameterHtml || g.escapeParameterHtml;\n g.sync = options.sync || g.sync;\n g.__composer[SetPluralRulesSymbol](options.pluralizationRules || g.pluralizationRules);\n const messages = getLocaleMessages(g.locale, {\n messages: options.messages,\n __i18n: options.__i18n\n });\n Object.keys(messages).forEach(locale => g.mergeLocaleMessage(locale, messages[locale]));\n if (options.datetimeFormats) {\n Object.keys(options.datetimeFormats).forEach(locale => g.mergeDateTimeFormat(locale, options.datetimeFormats[locale]));\n }\n if (options.numberFormats) {\n Object.keys(options.numberFormats).forEach(locale => g.mergeNumberFormat(locale, options.numberFormats[locale]));\n }\n return g;\n}\n\n/**\n * Injection key for {@link useI18n}\n *\n * @remarks\n * The global injection key for I18n instances with `useI18n`. this injection key is used in Web Components.\n * Specify the i18n instance created by {@link createI18n} together with `provide` function.\n *\n * @VueI18nGeneral\n */\nconst I18nInjectionKey = \n/* #__PURE__*/ makeSymbol('global-vue-i18n');\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\nfunction createI18n(options = {}, VueI18nLegacy) {\n // prettier-ignore\n const __legacyMode = __VUE_I18N_LEGACY_API__ && isBoolean(options.legacy)\n ? options.legacy\n : __VUE_I18N_LEGACY_API__;\n // prettier-ignore\n const __globalInjection = isBoolean(options.globalInjection)\n ? options.globalInjection\n : true;\n // prettier-ignore\n const __allowComposition = __VUE_I18N_LEGACY_API__ && __legacyMode\n ? !!options.allowComposition\n : true;\n const __instances = new Map();\n const [globalScope, __global] = createGlobal(options, __legacyMode);\n const symbol = /* #__PURE__*/ makeSymbol((process.env.NODE_ENV !== 'production') ? 'vue-i18n' : '');\n if ((process.env.NODE_ENV !== 'production')) {\n if (__legacyMode && __allowComposition && !false) {\n warn(getWarnMessage(I18nWarnCodes.NOTICE_DROP_ALLOW_COMPOSITION));\n }\n }\n function __getInstance(component) {\n return __instances.get(component) || null;\n }\n function __setInstance(component, instance) {\n __instances.set(component, instance);\n }\n function __deleteInstance(component) {\n __instances.delete(component);\n }\n {\n const i18n = {\n // mode\n get mode() {\n return __VUE_I18N_LEGACY_API__ && __legacyMode\n ? 'legacy'\n : 'composition';\n },\n // allowComposition\n get allowComposition() {\n return __allowComposition;\n },\n // install plugin\n async install(app, ...options) {\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false) {\n app.__VUE_I18N__ = i18n;\n }\n // setup global provider\n app.__VUE_I18N_SYMBOL__ = symbol;\n app.provide(app.__VUE_I18N_SYMBOL__, i18n);\n // set composer & vuei18n extend hook options from plugin options\n if (isPlainObject(options[0])) {\n const opts = options[0];\n i18n.__composerExtend =\n opts.__composerExtend;\n i18n.__vueI18nExtend =\n opts.__vueI18nExtend;\n }\n // global method and properties injection for Composition API\n let globalReleaseHandler = null;\n if (!__legacyMode && __globalInjection) {\n globalReleaseHandler = injectGlobalFields(app, i18n.global);\n }\n // install built-in components and directive\n if (__VUE_I18N_FULL_INSTALL__) {\n apply(app, i18n, ...options);\n }\n // setup mixin for Legacy API\n if (__VUE_I18N_LEGACY_API__ && __legacyMode) {\n app.mixin(defineMixin(__global, __global.__composer, i18n));\n }\n // release global scope\n const unmountApp = app.unmount;\n app.unmount = () => {\n globalReleaseHandler && globalReleaseHandler();\n i18n.dispose();\n unmountApp();\n };\n // setup vue-devtools plugin\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n const ret = await enableDevTools(app, i18n);\n if (!ret) {\n throw createI18nError(I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN);\n }\n const emitter = createEmitter();\n if (__legacyMode) {\n const _vueI18n = __global;\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = __global;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n }\n emitter.on('*', addTimelineEvent);\n }\n },\n // global accessor\n get global() {\n return __global;\n },\n dispose() {\n globalScope.stop();\n },\n // @internal\n __instances,\n // @internal\n __getInstance,\n // @internal\n __setInstance,\n // @internal\n __deleteInstance\n };\n return i18n;\n }\n}\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction useI18n(options = {}) {\n const instance = getCurrentInstance();\n if (instance == null) {\n throw createI18nError(I18nErrorCodes.MUST_BE_CALL_SETUP_TOP);\n }\n if (!instance.isCE &&\n instance.appContext.app != null &&\n !instance.appContext.app.__VUE_I18N_SYMBOL__) {\n throw createI18nError(I18nErrorCodes.NOT_INSTALLED);\n }\n const i18n = getI18nInstance(instance);\n const gl = getGlobalComposer(i18n);\n const componentOptions = getComponentOptions(instance);\n const scope = getScope(options, componentOptions);\n if (__VUE_I18N_LEGACY_API__) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (i18n.mode === 'legacy' && !options.__useComponent) {\n if (!i18n.allowComposition) {\n throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE);\n }\n return useI18nForLegacy(instance, scope, gl, options);\n }\n }\n if (scope === 'global') {\n adjustI18nResources(gl, options, componentOptions);\n return gl;\n }\n if (scope === 'parent') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let composer = getComposer(i18n, instance, options.__useComponent);\n if (composer == null) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn(getWarnMessage(I18nWarnCodes.NOT_FOUND_PARENT_SCOPE));\n }\n composer = gl;\n }\n return composer;\n }\n const i18nInternal = i18n;\n let composer = i18nInternal.__getInstance(instance);\n if (composer == null) {\n const composerOptions = assign({}, options);\n if ('__i18n' in componentOptions) {\n composerOptions.__i18n = componentOptions.__i18n;\n }\n if (gl) {\n composerOptions.__root = gl;\n }\n composer = createComposer(composerOptions);\n if (i18nInternal.__composerExtend) {\n composer[DisposeSymbol] =\n i18nInternal.__composerExtend(composer);\n }\n setupLifeCycle(i18nInternal, instance, composer);\n i18nInternal.__setInstance(instance, composer);\n }\n return composer;\n}\n/**\n * Cast to VueI18n legacy compatible type\n *\n * @remarks\n * This API is provided only with [vue-i18n-bridge](https://vue-i18n.intlify.dev/guide/migration/ways.html#what-is-vue-i18n-bridge).\n *\n * The purpose of this function is to convert an {@link I18n} instance created with {@link createI18n | createI18n(legacy: true)} into a `vue-i18n@v8.x` compatible instance of `new VueI18n` in a TypeScript environment.\n *\n * @param i18n - An instance of {@link I18n}\n * @returns A i18n instance which is casted to {@link VueI18n} type\n *\n * @VueI18nTip\n * :new: provided by **vue-i18n-bridge only**\n *\n * @VueI18nGeneral\n */\n/* #__NO_SIDE_EFFECTS__ */\nconst castToVueI18n = (i18n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n) => {\n if (!(__VUE_I18N_BRIDGE__ in i18n)) {\n throw createI18nError(I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N);\n }\n return i18n;\n};\nfunction createGlobal(options, legacyMode, VueI18nLegacy // eslint-disable-line @typescript-eslint/no-explicit-any\n) {\n const scope = effectScope();\n {\n const obj = __VUE_I18N_LEGACY_API__ && legacyMode\n ? scope.run(() => createVueI18n(options))\n : scope.run(() => createComposer(options));\n if (obj == null) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n return [scope, obj];\n }\n}\nfunction getI18nInstance(instance) {\n {\n const i18n = inject(!instance.isCE\n ? instance.appContext.app.__VUE_I18N_SYMBOL__\n : I18nInjectionKey);\n /* istanbul ignore if */\n if (!i18n) {\n throw createI18nError(!instance.isCE\n ? I18nErrorCodes.UNEXPECTED_ERROR\n : I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE);\n }\n return i18n;\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getScope(options, componentOptions) {\n // prettier-ignore\n return isEmptyObject(options)\n ? ('__i18n' in componentOptions)\n ? 'local'\n : 'global'\n : !options.useScope\n ? 'local'\n : options.useScope;\n}\nfunction getGlobalComposer(i18n) {\n // prettier-ignore\n return i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer\n ;\n}\nfunction getComposer(i18n, target, useComponent = false) {\n let composer = null;\n const root = target.root;\n let current = getParentComponentInstance(target, useComponent);\n while (current != null) {\n const i18nInternal = i18n;\n if (i18n.mode === 'composition') {\n composer = i18nInternal.__getInstance(current);\n }\n else {\n if (__VUE_I18N_LEGACY_API__) {\n const vueI18n = i18nInternal.__getInstance(current);\n if (vueI18n != null) {\n composer = vueI18n\n .__composer;\n if (useComponent &&\n composer &&\n !composer[InejctWithOptionSymbol] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n composer = null;\n }\n }\n }\n }\n if (composer != null) {\n break;\n }\n if (root === current) {\n break;\n }\n current = current.parent;\n }\n return composer;\n}\nfunction getParentComponentInstance(target, useComponent = false) {\n if (target == null) {\n return null;\n }\n {\n // if `useComponent: true` will be specified, we get lexical scope owner instance for use-case slots\n return !useComponent\n ? target.parent\n : target.vnode.ctx || target.parent; // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n}\nfunction setupLifeCycle(i18n, target, composer) {\n let emitter = null;\n {\n onMounted(() => {\n // inject composer instance to DOM for intlify-devtools\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n target.vnode.el) {\n target.vnode.el.__VUE_I18N__ = composer;\n emitter = createEmitter();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n emitter.on('*', addTimelineEvent);\n }\n }, target);\n onUnmounted(() => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n // remove composer instance from DOM for intlify-devtools\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n target.vnode.el &&\n target.vnode.el.__VUE_I18N__) {\n emitter && emitter.off('*', addTimelineEvent);\n _composer[DisableEmitter] && _composer[DisableEmitter]();\n delete target.vnode.el.__VUE_I18N__;\n }\n i18n.__deleteInstance(target);\n // dispose extended resources\n const dispose = _composer[DisposeSymbol];\n if (dispose) {\n dispose();\n delete _composer[DisposeSymbol];\n }\n }, target);\n }\n}\nfunction useI18nForLegacy(instance, scope, root, options = {} // eslint-disable-line @typescript-eslint/no-explicit-any\n) {\n const isLocalScope = scope === 'local';\n const _composer = shallowRef(null);\n if (isLocalScope &&\n instance.proxy &&\n !(instance.proxy.$options.i18n || instance.proxy.$options.__i18n)) {\n throw createI18nError(I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);\n }\n const _inheritLocale = isBoolean(options.inheritLocale)\n ? options.inheritLocale\n : !isString(options.locale);\n const _locale = ref(\n // prettier-ignore\n !isLocalScope || _inheritLocale\n ? root.locale.value\n : isString(options.locale)\n ? options.locale\n : DEFAULT_LOCALE);\n const _fallbackLocale = ref(\n // prettier-ignore\n !isLocalScope || _inheritLocale\n ? root.fallbackLocale.value\n : isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale.value);\n const _messages = ref(getLocaleMessages(_locale.value, options));\n // prettier-ignore\n const _datetimeFormats = ref(isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : { [_locale.value]: {} });\n // prettier-ignore\n const _numberFormats = ref(isPlainObject(options.numberFormats)\n ? options.numberFormats\n : { [_locale.value]: {} });\n // prettier-ignore\n const _missingWarn = isLocalScope\n ? root.missingWarn\n : isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n // prettier-ignore\n const _fallbackWarn = isLocalScope\n ? root.fallbackWarn\n : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n // prettier-ignore\n const _fallbackRoot = isLocalScope\n ? root.fallbackRoot\n : isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n // configure fall back to root\n const _fallbackFormat = !!options.fallbackFormat;\n // runtime missing\n const _missing = isFunction(options.missing) ? options.missing : null;\n // postTranslation handler\n const _postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n // prettier-ignore\n const _warnHtmlMessage = isLocalScope\n ? root.warnHtmlMessage\n : isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n const _escapeParameter = !!options.escapeParameter;\n // prettier-ignore\n const _modifiers = isLocalScope\n ? root.modifiers\n : isPlainObject(options.modifiers)\n ? options.modifiers\n : {};\n // pluralRules\n const _pluralRules = options.pluralRules || (isLocalScope && root.pluralRules);\n // track reactivity\n function trackReactivityValues() {\n return [\n _locale.value,\n _fallbackLocale.value,\n _messages.value,\n _datetimeFormats.value,\n _numberFormats.value\n ];\n }\n // locale\n const locale = computed({\n get: () => {\n return _composer.value ? _composer.value.locale.value : _locale.value;\n },\n set: val => {\n if (_composer.value) {\n _composer.value.locale.value = val;\n }\n _locale.value = val;\n }\n });\n // fallbackLocale\n const fallbackLocale = computed({\n get: () => {\n return _composer.value\n ? _composer.value.fallbackLocale.value\n : _fallbackLocale.value;\n },\n set: val => {\n if (_composer.value) {\n _composer.value.fallbackLocale.value = val;\n }\n _fallbackLocale.value = val;\n }\n });\n // messages\n const messages = computed(() => {\n if (_composer.value) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return _composer.value.messages.value;\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return _messages.value;\n }\n });\n const datetimeFormats = computed(() => _datetimeFormats.value);\n const numberFormats = computed(() => _numberFormats.value);\n function getPostTranslationHandler() {\n return _composer.value\n ? _composer.value.getPostTranslationHandler()\n : _postTranslation;\n }\n function setPostTranslationHandler(handler) {\n if (_composer.value) {\n _composer.value.setPostTranslationHandler(handler);\n }\n }\n function getMissingHandler() {\n return _composer.value ? _composer.value.getMissingHandler() : _missing;\n }\n function setMissingHandler(handler) {\n if (_composer.value) {\n _composer.value.setMissingHandler(handler);\n }\n }\n function warpWithDeps(fn) {\n trackReactivityValues();\n return fn();\n }\n function t(...args) {\n return _composer.value\n ? warpWithDeps(() => Reflect.apply(_composer.value.t, null, [...args]))\n : warpWithDeps(() => '');\n }\n function rt(...args) {\n return _composer.value\n ? Reflect.apply(_composer.value.rt, null, [...args])\n : '';\n }\n function d(...args) {\n return _composer.value\n ? warpWithDeps(() => Reflect.apply(_composer.value.d, null, [...args]))\n : warpWithDeps(() => '');\n }\n function n(...args) {\n return _composer.value\n ? warpWithDeps(() => Reflect.apply(_composer.value.n, null, [...args]))\n : warpWithDeps(() => '');\n }\n function tm(key) {\n return _composer.value ? _composer.value.tm(key) : {};\n }\n function te(key, locale) {\n return _composer.value ? _composer.value.te(key, locale) : false;\n }\n function getLocaleMessage(locale) {\n return _composer.value ? _composer.value.getLocaleMessage(locale) : {};\n }\n function setLocaleMessage(locale, message) {\n if (_composer.value) {\n _composer.value.setLocaleMessage(locale, message);\n _messages.value[locale] = message;\n }\n }\n function mergeLocaleMessage(locale, message) {\n if (_composer.value) {\n _composer.value.mergeLocaleMessage(locale, message);\n }\n }\n function getDateTimeFormat(locale) {\n return _composer.value ? _composer.value.getDateTimeFormat(locale) : {};\n }\n function setDateTimeFormat(locale, format) {\n if (_composer.value) {\n _composer.value.setDateTimeFormat(locale, format);\n _datetimeFormats.value[locale] = format;\n }\n }\n function mergeDateTimeFormat(locale, format) {\n if (_composer.value) {\n _composer.value.mergeDateTimeFormat(locale, format);\n }\n }\n function getNumberFormat(locale) {\n return _composer.value ? _composer.value.getNumberFormat(locale) : {};\n }\n function setNumberFormat(locale, format) {\n if (_composer.value) {\n _composer.value.setNumberFormat(locale, format);\n _numberFormats.value[locale] = format;\n }\n }\n function mergeNumberFormat(locale, format) {\n if (_composer.value) {\n _composer.value.mergeNumberFormat(locale, format);\n }\n }\n const wrapper = {\n get id() {\n return _composer.value ? _composer.value.id : -1;\n },\n locale,\n fallbackLocale,\n messages,\n datetimeFormats,\n numberFormats,\n get inheritLocale() {\n return _composer.value ? _composer.value.inheritLocale : _inheritLocale;\n },\n set inheritLocale(val) {\n if (_composer.value) {\n _composer.value.inheritLocale = val;\n }\n },\n get availableLocales() {\n return _composer.value\n ? _composer.value.availableLocales\n : Object.keys(_messages.value);\n },\n get modifiers() {\n return (_composer.value ? _composer.value.modifiers : _modifiers);\n },\n get pluralRules() {\n return (_composer.value ? _composer.value.pluralRules : _pluralRules);\n },\n get isGlobal() {\n return _composer.value ? _composer.value.isGlobal : false;\n },\n get missingWarn() {\n return _composer.value ? _composer.value.missingWarn : _missingWarn;\n },\n set missingWarn(val) {\n if (_composer.value) {\n _composer.value.missingWarn = val;\n }\n },\n get fallbackWarn() {\n return _composer.value ? _composer.value.fallbackWarn : _fallbackWarn;\n },\n set fallbackWarn(val) {\n if (_composer.value) {\n _composer.value.missingWarn = val;\n }\n },\n get fallbackRoot() {\n return _composer.value ? _composer.value.fallbackRoot : _fallbackRoot;\n },\n set fallbackRoot(val) {\n if (_composer.value) {\n _composer.value.fallbackRoot = val;\n }\n },\n get fallbackFormat() {\n return _composer.value ? _composer.value.fallbackFormat : _fallbackFormat;\n },\n set fallbackFormat(val) {\n if (_composer.value) {\n _composer.value.fallbackFormat = val;\n }\n },\n get warnHtmlMessage() {\n return _composer.value\n ? _composer.value.warnHtmlMessage\n : _warnHtmlMessage;\n },\n set warnHtmlMessage(val) {\n if (_composer.value) {\n _composer.value.warnHtmlMessage = val;\n }\n },\n get escapeParameter() {\n return _composer.value\n ? _composer.value.escapeParameter\n : _escapeParameter;\n },\n set escapeParameter(val) {\n if (_composer.value) {\n _composer.value.escapeParameter = val;\n }\n },\n t,\n getPostTranslationHandler,\n setPostTranslationHandler,\n getMissingHandler,\n setMissingHandler,\n rt,\n d,\n n,\n tm,\n te,\n getLocaleMessage,\n setLocaleMessage,\n mergeLocaleMessage,\n getDateTimeFormat,\n setDateTimeFormat,\n mergeDateTimeFormat,\n getNumberFormat,\n setNumberFormat,\n mergeNumberFormat\n };\n function sync(composer) {\n composer.locale.value = _locale.value;\n composer.fallbackLocale.value = _fallbackLocale.value;\n Object.keys(_messages.value).forEach(locale => {\n composer.mergeLocaleMessage(locale, _messages.value[locale]);\n });\n Object.keys(_datetimeFormats.value).forEach(locale => {\n composer.mergeDateTimeFormat(locale, _datetimeFormats.value[locale]);\n });\n Object.keys(_numberFormats.value).forEach(locale => {\n composer.mergeNumberFormat(locale, _numberFormats.value[locale]);\n });\n composer.escapeParameter = _escapeParameter;\n composer.fallbackFormat = _fallbackFormat;\n composer.fallbackRoot = _fallbackRoot;\n composer.fallbackWarn = _fallbackWarn;\n composer.missingWarn = _missingWarn;\n composer.warnHtmlMessage = _warnHtmlMessage;\n }\n onBeforeMount(() => {\n if (instance.proxy == null || instance.proxy.$i18n == null) {\n throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const composer = (_composer.value = instance.proxy.$i18n\n .__composer);\n if (scope === 'global') {\n _locale.value = composer.locale.value;\n _fallbackLocale.value = composer.fallbackLocale.value;\n _messages.value = composer.messages.value;\n _datetimeFormats.value = composer.datetimeFormats.value;\n _numberFormats.value = composer.numberFormats.value;\n }\n else if (isLocalScope) {\n sync(composer);\n }\n });\n return wrapper;\n}\nconst globalExportProps = [\n 'locale',\n 'fallbackLocale',\n 'availableLocales'\n];\nconst globalExportMethods = ['t', 'rt', 'd', 'n', 'tm', 'te']\n ;\nfunction injectGlobalFields(app, composer) {\n const i18n = Object.create(null);\n globalExportProps.forEach(prop => {\n const desc = Object.getOwnPropertyDescriptor(composer, prop);\n if (!desc) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const wrap = isRef(desc.value) // check computed props\n ? {\n get() {\n return desc.value.value;\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n set(val) {\n desc.value.value = val;\n }\n }\n : {\n get() {\n return desc.get && desc.get();\n }\n };\n Object.defineProperty(i18n, prop, wrap);\n });\n app.config.globalProperties.$i18n = i18n;\n globalExportMethods.forEach(method => {\n const desc = Object.getOwnPropertyDescriptor(composer, method);\n if (!desc || !desc.value) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n Object.defineProperty(app.config.globalProperties, `$${method}`, desc);\n });\n const dispose = () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete app.config.globalProperties.$i18n;\n globalExportMethods.forEach(method => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete app.config.globalProperties[`$${method}`];\n });\n };\n return dispose;\n}\n\n{\n initFeatureFlags();\n}\n// register message compiler at vue-i18n\nif (__INTLIFY_JIT_COMPILATION__) {\n registerMessageCompiler(compile);\n}\nelse {\n registerMessageCompiler(compileToFunction);\n}\n// register message resolver at vue-i18n\nregisterMessageResolver(resolveValue);\n// register fallback locale at vue-i18n\nregisterLocaleFallbacker(fallbackWithLocaleChain);\n// NOTE: experimental !!\nif ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n const target = getGlobalThis();\n target.__INTLIFY__ = true;\n setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__);\n}\nif ((process.env.NODE_ENV !== 'production')) ;\n\nexport { DatetimeFormat, I18nD, I18nInjectionKey, I18nN, I18nT, NumberFormat, Translation, VERSION, castToVueI18n, createI18n, useI18n, vTDirective };\n","\n\n\n\n\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-floatlabel {\\n display: block;\\n position: relative;\\n}\\n\\n.p-floatlabel label {\\n position: absolute;\\n pointer-events: none;\\n top: 50%;\\n transform: translateY(-50%);\\n transition-property: all;\\n transition-timing-function: ease;\\n line-height: 1;\\n font-weight: \".concat(dt('floatlabel.font.weight'), \";\\n left: \").concat(dt('floatlabel.position.x'), \";\\n color: \").concat(dt('floatlabel.color'), \";\\n transition-duration: \").concat(dt('floatlabel.transition.duration'), \";\\n}\\n\\n.p-floatlabel:has(.p-textarea) label {\\n top: \").concat(dt('floatlabel.position.y'), \";\\n transform: translateY(0);\\n}\\n\\n.p-floatlabel:has(.p-inputicon:first-child) label {\\n left: calc((\").concat(dt('form.field.padding.x'), \" * 2) + \").concat(dt('icon.size'), \");\\n}\\n\\n.p-floatlabel:has(.p-invalid) label {\\n color: \").concat(dt('floatlabel.invalid.color'), \";\\n}\\n\\n.p-floatlabel:has(input:focus) label,\\n.p-floatlabel:has(input.p-filled) label,\\n.p-floatlabel:has(input:-webkit-autofill) label,\\n.p-floatlabel:has(textarea:focus) label,\\n.p-floatlabel:has(textarea.p-filled) label,\\n.p-floatlabel:has(.p-inputwrapper-focus) label,\\n.p-floatlabel:has(.p-inputwrapper-filled) label {\\n top: \").concat(dt('floatlabel.over.active.top'), \";\\n transform: translateY(0);\\n font-size: \").concat(dt('floatlabel.active.font.size'), \";\\n font-weight: \").concat(dt('floatlabel.label.active.font.weight'), \";\\n}\\n\\n.p-floatlabel:has(input.p-filled) label,\\n.p-floatlabel:has(textarea.p-filled) label,\\n.p-floatlabel:has(.p-inputwrapper-filled) label {\\n color: \").concat(dt('floatlabel.active.color'), \";\\n}\\n\\n.p-floatlabel:has(input:focus) label,\\n.p-floatlabel:has(input:-webkit-autofill) label,\\n.p-floatlabel:has(textarea:focus) label ,\\n.p-floatlabel:has(.p-inputwrapper-focus) label {\\n color: \").concat(dt('floatlabel.focus.color'), \";\\n}\\n\\n/*.p-floatlabel .p-placeholder,\\n.p-floatlabel input::placeholder,\\n.p-floatlabel .p-inputtext::placeholder {\\n opacity: 0;\\n transition-property: all;\\n transition-timing-function: ease;\\n}\\n\\n.p-floatlabel .p-focus .p-placeholder,\\n.p-floatlabel input:focus::placeholder,\\n.p-floatlabel .p-inputtext:focus::placeholder {\\n opacity: 1;\\n transition-property: all;\\n transition-timing-function: ease;\\n}*/\\n\\n.p-floatlabel-in .p-inputtext,\\n.p-floatlabel-in .p-textarea,\\n.p-floatlabel-in .p-select-label,\\n.p-floatlabel-in .p-multiselect-label,\\n.p-floatlabel-in .p-autocomplete-input-multiple,\\n.p-floatlabel-in .p-cascadeselect-label,\\n.p-floatlabel-in .p-treeselect-label {\\n padding-top: \").concat(dt('floatlabel.in.input.padding.top'), \";\\n padding-bottom: \").concat(dt('floatlabel.in.input.padding.bottom'), \";\\n}\\n\\n.p-floatlabel-in:has(input:focus) label,\\n.p-floatlabel-in:has(input.p-filled) label,\\n.p-floatlabel-in:has(input:-webkit-autofill) label,\\n.p-floatlabel-in:has(textarea:focus) label,\\n.p-floatlabel-in:has(textarea.p-filled) label,\\n.p-floatlabel-in:has(.p-inputwrapper-focus) label,\\n.p-floatlabel-in:has(.p-inputwrapper-filled) label {\\n top: \").concat(dt('floatlabel.in.active.top'), \";\\n}\\n\\n.p-floatlabel-on:has(input:focus) label,\\n.p-floatlabel-on:has(input.p-filled) label,\\n.p-floatlabel-on:has(input:-webkit-autofill) label,\\n.p-floatlabel-on:has(textarea:focus) label,\\n.p-floatlabel-on:has(textarea.p-filled) label,\\n.p-floatlabel-on:has(.p-inputwrapper-focus) label,\\n.p-floatlabel-on:has(.p-inputwrapper-filled) label {\\n top: 0;\\n transform: translateY(-50%);\\n border-radius: \").concat(dt('floatlabel.on.border.radius'), \";\\n background: \").concat(dt('floatlabel.on.active.background'), \";\\n padding: \").concat(dt('floatlabel.on.active.padding'), \";\\n}\\n\");\n};\nvar classes = {\n root: function root(_ref2) {\n _ref2.instance;\n var props = _ref2.props;\n return ['p-floatlabel', {\n 'p-floatlabel-over': props.variant === 'over',\n 'p-floatlabel-on': props.variant === 'on',\n 'p-floatlabel-in': props.variant === 'in'\n }];\n }\n};\nvar FloatLabelStyle = BaseStyle.extend({\n name: 'floatlabel',\n theme: theme,\n classes: classes\n});\n\nexport { FloatLabelStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseComponent from '@primevue/core/basecomponent';\nimport FloatLabelStyle from 'primevue/floatlabel/style';\nimport { openBlock, createElementBlock, mergeProps, renderSlot } from 'vue';\n\nvar script$1 = {\n name: 'BaseFloatLabel',\n \"extends\": BaseComponent,\n props: {\n variant: {\n type: String,\n \"default\": 'over'\n }\n },\n style: FloatLabelStyle,\n provide: function provide() {\n return {\n $pcFloatLabel: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'FloatLabel',\n \"extends\": script$1,\n inheritAttrs: false\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps({\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [renderSlot(_ctx.$slots, \"default\")], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","\n\n\n","import { createI18n } from 'vue-i18n'\n\nconst messages = {\n en: {\n download: 'Download',\n loadAllFolders: 'Load All Folders',\n refresh: 'Refresh',\n terminal: 'Terminal',\n videoFailedToLoad: 'Video failed to load',\n extensionName: 'Extension Name',\n reloadToApplyChanges: 'Reload to apply changes',\n insert: 'Insert',\n systemInfo: 'System Info',\n devices: 'Devices',\n about: 'About',\n add: 'Add',\n confirm: 'Confirm',\n reset: 'Reset',\n resetKeybindingsTooltip: 'Reset keybindings to default',\n customizeFolder: 'Customize Folder',\n icon: 'Icon',\n color: 'Color',\n bookmark: 'Bookmark',\n folder: 'Folder',\n star: 'Star',\n heart: 'Heart',\n file: 'File',\n inbox: 'Inbox',\n box: 'Box',\n briefcase: 'Briefcase',\n error: 'Error',\n loading: 'Loading',\n findIssues: 'Find Issues',\n copyToClipboard: 'Copy to Clipboard',\n openNewIssue: 'Open New Issue',\n showReport: 'Show Report',\n imageFailedToLoad: 'Image failed to load',\n reconnecting: 'Reconnecting',\n reconnected: 'Reconnected',\n delete: 'Delete',\n rename: 'Rename',\n customize: 'Customize',\n experimental: 'BETA',\n deprecated: 'DEPR',\n loadWorkflow: 'Load Workflow',\n goToNode: 'Go to Node',\n settings: 'Settings',\n searchWorkflows: 'Search Workflows',\n searchSettings: 'Search Settings',\n searchNodes: 'Search Nodes',\n searchModels: 'Search Models',\n searchKeybindings: 'Search Keybindings',\n noResultsFound: 'No Results Found',\n searchFailedMessage:\n \"We couldn't find any settings matching your search. Try adjusting your search terms.\",\n noTasksFound: 'No Tasks Found',\n noTasksFoundMessage: 'There are no tasks in the queue.',\n newFolder: 'New Folder',\n sideToolbar: {\n themeToggle: 'Toggle Theme',\n queue: 'Queue',\n nodeLibrary: 'Node Library',\n workflows: 'Workflows',\n browseTemplates: 'Browse example templates',\n openWorkflow: 'Open workflow in local file system',\n newBlankWorkflow: 'Create a new blank workflow',\n nodeLibraryTab: {\n sortOrder: 'Sort Order'\n },\n modelLibrary: 'Model Library',\n queueTab: {\n showFlatList: 'Show Flat List',\n backToAllTasks: 'Back to All Tasks',\n containImagePreview: 'Fill Image Preview',\n coverImagePreview: 'Fit Image Preview',\n clearPendingTasks: 'Clear Pending Tasks'\n }\n },\n menu: {\n batchCount: 'Batch Count',\n batchCountTooltip:\n 'The number of times the workflow generation should be queued',\n autoQueue: 'Auto Queue',\n disabled: 'Disabled',\n disabledTooltip: 'The workflow will not be automatically queued',\n instant: 'Instant',\n instantTooltip:\n 'The workflow will be queued instantly after a generation finishes',\n change: 'On Change',\n changeTooltip: 'The workflow will be queued once a change is made',\n queueWorkflow: 'Queue workflow',\n queueWorkflowFront: 'Queue workflow (Insert at Front)',\n queue: 'Queue',\n interrupt: 'Cancel current run',\n refresh: 'Refresh node definitions',\n clipspace: 'Open Clipspace',\n resetView: 'Reset canvas view',\n clear: 'Clear workflow',\n toggleBottomPanel: 'Toggle Bottom Panel'\n },\n templateWorkflows: {\n title: 'Get Started with a Template',\n template: {\n default: 'Image Generation',\n image2image: 'Image to Image',\n upscale: '2 Pass Upscale',\n flux_schnell: 'Flux Schnell'\n }\n },\n graphCanvasMenu: {\n zoomIn: 'Zoom In',\n zoomOut: 'Zoom Out',\n resetView: 'Reset View',\n selectMode: 'Select Mode',\n panMode: 'Pan Mode',\n toggleLinkVisibility: 'Toggle Link Visibility'\n }\n },\n zh: {\n download: '下载',\n loadAllFolders: '加载所有文件夹',\n refresh: '刷新',\n terminal: '终端',\n videoFailedToLoad: '视频加载失败',\n extensionName: '扩展名称',\n reloadToApplyChanges: '重新加载以应用更改',\n insert: '插入',\n systemInfo: '系统信息',\n devices: '设备',\n about: '关于',\n add: '添加',\n confirm: '确认',\n reset: '重置',\n resetKeybindingsTooltip: '重置键位',\n customizeFolder: '定制文件夹',\n icon: '图标',\n color: '颜色',\n bookmark: '书签',\n folder: '文件夹',\n star: '星星',\n heart: '心',\n file: '文件',\n inbox: '收件箱',\n box: '盒子',\n briefcase: '公文包',\n error: '错误',\n loading: '加载中',\n findIssues: '查找 Issue',\n copyToClipboard: '复制到剪贴板',\n openNewIssue: '开启新 Issue',\n showReport: '显示报告',\n imageFailedToLoad: '图像加载失败',\n reconnecting: '重新连接中',\n reconnected: '已重新连接',\n delete: '删除',\n rename: '重命名',\n customize: '定制',\n experimental: 'BETA',\n deprecated: '弃用',\n loadWorkflow: '加载工作流',\n goToNode: '前往节点',\n settings: '设置',\n searchWorkflows: '搜索工作流',\n searchSettings: '搜索设置',\n searchNodes: '搜索节点',\n searchModels: '搜索模型',\n searchKeybindings: '搜索键位',\n noResultsFound: '未找到结果',\n searchFailedMessage:\n '我们找不到与您的搜索匹配的任何设置。请尝试调整搜索条件。',\n noContent: '(无内容)',\n noTasksFound: '未找到任务',\n noTasksFoundMessage: '队列中没有任务。',\n newFolder: '新建文件夹',\n sideToolbar: {\n themeToggle: '主题切换',\n queue: '队列',\n nodeLibrary: '节点库',\n workflows: '工作流',\n browseTemplates: '浏览示例模板',\n openWorkflow: '在本地文件系统中打开工作流',\n newBlankWorkflow: '创建一个新空白工作流',\n nodeLibraryTab: {\n sortOrder: '排序顺序'\n },\n modelLibrary: '模型库',\n queueTab: {\n showFlatList: '平铺结果',\n backToAllTasks: '返回',\n containImagePreview: '填充图像预览',\n coverImagePreview: '适应图像预览',\n clearPendingTasks: '清除待处理任务'\n }\n },\n menu: {\n batchCount: '批次数量',\n batchCountTooltip: '工作流生成次数',\n autoQueue: '自动执行',\n disabled: '禁用',\n disabledTooltip: '工作流将不会自动执行',\n instant: '实时',\n instantTooltip: '工作流将会在生成完成后立即执行',\n change: '变动',\n changeTooltip: '工作流将会在改变后执行',\n queueWorkflow: '执行工作流',\n queueWorkflowFront: '执行工作流 (队列首)',\n queue: '队列',\n interrupt: '取消当前任务',\n refresh: '刷新节点',\n clipspace: '打开剪贴板',\n resetView: '重置画布视图',\n clear: '清空工作流',\n toggleBottomPanel: '底部面板'\n },\n templateWorkflows: {\n title: '从模板开始',\n template: {\n default: 'Image Generation',\n image2image: 'Image to Image',\n upscale: '2 Pass Upscale',\n flux_schnell: 'Flux Schnell'\n }\n },\n graphCanvasMenu: {\n zoomIn: '放大',\n zoomOut: '缩小',\n resetView: '重置视图',\n selectMode: '选择模式',\n panMode: '平移模式',\n toggleLinkVisibility: '切换链接可见性'\n }\n },\n ru: {\n download: 'Скачать',\n refresh: 'Обновить',\n loadAllFolders: 'Загрузить все папки',\n terminal: 'Терминал',\n videoFailedToLoad: 'Видео не удалось загрузить',\n extensionName: 'Название расширения',\n reloadToApplyChanges: 'Перезагрузите, чтобы применить изменения',\n insert: 'Вставить',\n systemInfo: 'Информация о системе',\n devices: 'Устройства',\n about: 'О',\n add: 'Добавить',\n confirm: 'Подтвердить',\n reset: 'Сбросить',\n resetKeybindingsTooltip: 'Сбросить сочетания клавиш по умолчанию',\n customizeFolder: 'Настроить папку',\n icon: 'Иконка',\n color: 'Цвет',\n bookmark: 'Закладка',\n folder: 'Папка',\n star: 'Звёздочка',\n heart: 'Сердце',\n file: 'Файл',\n inbox: 'Входящие',\n box: 'Ящик',\n briefcase: 'Чемодан',\n error: 'Ошибка',\n loading: 'Загрузка',\n findIssues: 'Найти Issue',\n copyToClipboard: 'Копировать в буфер обмена',\n openNewIssue: 'Открыть новый Issue',\n showReport: 'Показать отчёт',\n imageFailedToLoad: 'Изображение не удалось загрузить',\n reconnecting: 'Переподключение',\n reconnected: 'Переподключено',\n delete: 'Удалить',\n rename: 'Переименовать',\n customize: 'Настроить',\n experimental: 'БЕТА',\n deprecated: 'УСТАР',\n loadWorkflow: 'Загрузить рабочий процесс',\n goToNode: 'Перейти к узлу',\n settings: 'Настройки',\n searchWorkflows: 'Поиск рабочих процессов',\n searchSettings: 'Поиск настроек',\n searchNodes: 'Поиск узлов',\n searchModels: 'Поиск моделей',\n searchKeybindings: 'Поиск сочетаний клавиш',\n noResultsFound: 'Ничего не найдено',\n searchFailedMessage:\n 'Не удалось найти ни одной настройки, соответствующей вашему запросу. Попробуйте скорректировать поисковый запрос.',\n noContent: '(Нет контента)',\n noTasksFound: 'Задачи не найдены',\n noTasksFoundMessage: 'В очереди нет задач.',\n newFolder: 'Новая папка',\n sideToolbar: {\n themeToggle: 'Переключить тему',\n queue: 'Очередь',\n nodeLibrary: 'Библиотека узлов',\n workflows: 'Рабочие процессы',\n browseTemplates: 'Просмотреть примеры шаблонов',\n openWorkflow: 'Открыть рабочий процесс в локальной файловой системе',\n newBlankWorkflow: 'Создайте новый пустой рабочий процесс',\n nodeLibraryTab: {\n sortOrder: 'Порядок сортировки'\n },\n modelLibrary: 'Библиотека моделей',\n queueTab: {\n showFlatList: 'Показать плоский список',\n backToAllTasks: 'Вернуться ко всем задачам',\n containImagePreview: 'Предпросмотр заливающего изображения',\n coverImagePreview: 'Предпросмотр подходящего изображения',\n clearPendingTasks: 'Очистить отложенные задачи'\n }\n },\n menu: {\n batchCount: 'Количество пакетов',\n batchCountTooltip:\n 'Количество раз, когда генерация рабочего процесса должна быть помещена в очередь',\n autoQueue: 'Автоочередь',\n disabled: 'Отключено',\n disabledTooltip:\n 'Рабочий процесс не будет автоматически помещён в очередь',\n instant: 'Мгновенно',\n instantTooltip:\n 'Рабочий процесс будет помещён в очередь сразу же после завершения генерации',\n change: 'При изменении',\n changeTooltip:\n 'Рабочий процесс будет поставлен в очередь после внесения изменений',\n queueWorkflow: 'Очередь рабочего процесса',\n queueWorkflowFront: 'Очередь рабочего процесса (Вставка спереди)',\n queue: 'Очередь',\n interrupt: 'Отменить текущее выполнение',\n refresh: 'Обновить определения узлов',\n clipspace: 'Открыть Clipspace',\n resetView: 'Сбросить вид холста',\n clear: 'Очистить рабочий процесс'\n },\n templateWorkflows: {\n title: 'Начните работу с шаблона',\n template: {\n default: 'Image Generation',\n image2image: 'Image to Image',\n upscale: '2 Pass Upscale',\n flux_schnell: 'Flux Schnell'\n }\n },\n graphCanvasMenu: {\n zoomIn: 'Увеличить',\n zoomOut: 'Уменьшить',\n resetView: 'Сбросить вид',\n selectMode: 'Выбрать режим',\n panMode: 'Режим панорамирования',\n toggleLinkVisibility: 'Переключить видимость ссылок'\n }\n }\n // TODO: Add more languages\n}\n\nexport const i18n = createI18n({\n // Must set `false`, as Vue I18n Legacy API is for Vue 2\n legacy: false,\n locale: navigator.language.split('-')[0] || 'en',\n fallbackLocale: 'en',\n messages\n})\n","// This module is mocked in tests-ui/\n// Import vue components here to avoid tests-ui/ reporting errors\n// about importing primevue components.\nimport { useDialogStore } from '@/stores/dialogStore'\nimport LoadWorkflowWarning from '@/components/dialog/content/LoadWorkflowWarning.vue'\nimport MissingModelsWarning from '@/components/dialog/content/MissingModelsWarning.vue'\nimport SettingDialogContent from '@/components/dialog/content/SettingDialogContent.vue'\nimport SettingDialogHeader from '@/components/dialog/header/SettingDialogHeader.vue'\nimport type { ExecutionErrorWsMessage } from '@/types/apiTypes'\nimport ExecutionErrorDialogContent from '@/components/dialog/content/ExecutionErrorDialogContent.vue'\nimport TemplateWorkflowsContent from '@/components/templates/TemplateWorkflowsContent.vue'\nimport PromptDialogContent from '@/components/dialog/content/PromptDialogContent.vue'\nimport { i18n } from '@/i18n'\nimport type { MissingNodeType } from '@/types/comfy'\n\nexport function showLoadWorkflowWarning(props: {\n missingNodeTypes: MissingNodeType[]\n [key: string]: any\n}) {\n const dialogStore = useDialogStore()\n dialogStore.showDialog({\n component: LoadWorkflowWarning,\n props\n })\n}\n\nexport function showMissingModelsWarning(props: {\n missingModels: any[]\n paths: Record\n [key: string]: any\n}) {\n const dialogStore = useDialogStore()\n dialogStore.showDialog({\n component: MissingModelsWarning,\n props\n })\n}\n\nexport function showSettingsDialog() {\n useDialogStore().showDialog({\n headerComponent: SettingDialogHeader,\n component: SettingDialogContent\n })\n}\n\nexport function showExecutionErrorDialog(error: ExecutionErrorWsMessage) {\n useDialogStore().showDialog({\n component: ExecutionErrorDialogContent,\n props: {\n error\n }\n })\n}\n\nexport function showTemplateWorkflowsDialog() {\n useDialogStore().showDialog({\n title: i18n.global.t('templateWorkflows.title'),\n component: TemplateWorkflowsContent\n })\n}\n\nexport async function showPromptDialog({\n title,\n message,\n defaultValue = ''\n}: {\n title: string\n message: string\n defaultValue?: string\n}): Promise {\n const dialogStore = useDialogStore()\n\n return new Promise((resolve) => {\n dialogStore.showDialog({\n title,\n component: PromptDialogContent,\n props: {\n message,\n defaultValue,\n onConfirm: (value: string) => {\n resolve(value)\n }\n },\n dialogComponentProps: {\n onClose: () => {\n resolve(null)\n }\n }\n })\n })\n}\n","// @ts-strict-ignore\nimport { api } from './api'\nimport { ComfyDialog as _ComfyDialog } from './ui/dialog'\nimport { toggleSwitch } from './ui/toggleSwitch'\nimport { ComfySettingsDialog } from './ui/settings'\nimport { ComfyApp, app } from './app'\nimport { TaskItem } from '@/types/apiTypes'\nimport { showSettingsDialog } from '@/services/dialogService'\nimport { useSettingStore } from '@/stores/settingStore'\nimport { useCommandStore } from '@/stores/commandStore'\nimport { useWorkspaceStore } from '@/stores/workspaceStateStore'\n\nexport const ComfyDialog = _ComfyDialog\n\ntype Position2D = {\n x: number\n y: number\n}\n\ntype Props = {\n parent?: HTMLElement\n $?: (el: HTMLElement) => void\n dataset?: DOMStringMap\n style?: Partial\n for?: string\n textContent?: string\n [key: string]: any\n}\n\ntype Children = Element[] | Element | string | string[]\n\ntype ElementType = K extends keyof HTMLElementTagNameMap\n ? HTMLElementTagNameMap[K]\n : HTMLElement\n\nexport function $el(\n tag: TTag,\n propsOrChildren?: Children | Props,\n children?: Children\n): ElementType {\n const split = tag.split('.')\n const element = document.createElement(split.shift() as string)\n if (split.length > 0) {\n element.classList.add(...split)\n }\n\n if (propsOrChildren) {\n if (typeof propsOrChildren === 'string') {\n propsOrChildren = { textContent: propsOrChildren }\n } else if (propsOrChildren instanceof Element) {\n propsOrChildren = [propsOrChildren]\n }\n if (Array.isArray(propsOrChildren)) {\n element.append(...propsOrChildren)\n } else {\n const {\n parent,\n $: cb,\n dataset,\n style,\n ...rest\n } = propsOrChildren as Props\n\n if (rest.for) {\n element.setAttribute('for', rest.for)\n }\n\n if (style) {\n Object.assign(element.style, style)\n }\n\n if (dataset) {\n Object.assign(element.dataset, dataset)\n }\n\n Object.assign(element, rest)\n if (children) {\n element.append(...(Array.isArray(children) ? children : [children]))\n }\n\n if (parent) {\n parent.append(element)\n }\n\n if (cb) {\n cb(element)\n }\n }\n }\n return element as ElementType\n}\n\nfunction dragElement(dragEl, settings): () => void {\n var posDiffX = 0,\n posDiffY = 0,\n posStartX = 0,\n posStartY = 0,\n newPosX = 0,\n newPosY = 0\n if (dragEl.getElementsByClassName('drag-handle')[0]) {\n // if present, the handle is where you move the DIV from:\n dragEl.getElementsByClassName('drag-handle')[0].onmousedown = dragMouseDown\n } else {\n // otherwise, move the DIV from anywhere inside the DIV:\n dragEl.onmousedown = dragMouseDown\n }\n\n // When the element resizes (e.g. view queue) ensure it is still in the windows bounds\n const resizeObserver = new ResizeObserver(() => {\n ensureInBounds()\n }).observe(dragEl)\n\n function ensureInBounds() {\n try {\n newPosX = Math.min(\n document.body.clientWidth - dragEl.clientWidth,\n Math.max(0, dragEl.offsetLeft)\n )\n newPosY = Math.min(\n document.body.clientHeight - dragEl.clientHeight,\n Math.max(0, dragEl.offsetTop)\n )\n\n positionElement()\n } catch (exception) {\n // robust\n }\n }\n\n function positionElement() {\n if (dragEl.style.display === 'none') return\n\n const halfWidth = document.body.clientWidth / 2\n const anchorRight = newPosX + dragEl.clientWidth / 2 > halfWidth\n\n // set the element's new position:\n if (anchorRight) {\n dragEl.style.left = 'unset'\n dragEl.style.right =\n document.body.clientWidth - newPosX - dragEl.clientWidth + 'px'\n } else {\n dragEl.style.left = newPosX + 'px'\n dragEl.style.right = 'unset'\n }\n\n dragEl.style.top = newPosY + 'px'\n dragEl.style.bottom = 'unset'\n\n if (savePos) {\n localStorage.setItem(\n 'Comfy.MenuPosition',\n JSON.stringify({\n x: dragEl.offsetLeft,\n y: dragEl.offsetTop\n })\n )\n }\n }\n\n function restorePos() {\n let posString = localStorage.getItem('Comfy.MenuPosition')\n if (posString) {\n const pos = JSON.parse(posString) as Position2D\n newPosX = pos.x\n newPosY = pos.y\n positionElement()\n ensureInBounds()\n }\n }\n\n let savePos = undefined\n settings.addSetting({\n id: 'Comfy.MenuPosition',\n category: ['Comfy', 'Menu', 'MenuPosition'],\n name: \"Save legacy menu's position\",\n type: 'boolean',\n defaultValue: savePos,\n onChange(value) {\n if (savePos === undefined && value) {\n restorePos()\n }\n savePos = value\n }\n })\n\n function dragMouseDown(e) {\n e = e || window.event\n e.preventDefault()\n // get the mouse cursor position at startup:\n posStartX = e.clientX\n posStartY = e.clientY\n document.onmouseup = closeDragElement\n // call a function whenever the cursor moves:\n document.onmousemove = elementDrag\n }\n\n function elementDrag(e) {\n e = e || window.event\n e.preventDefault()\n\n dragEl.classList.add('comfy-menu-manual-pos')\n\n // calculate the new cursor position:\n posDiffX = e.clientX - posStartX\n posDiffY = e.clientY - posStartY\n posStartX = e.clientX\n posStartY = e.clientY\n\n newPosX = Math.min(\n document.body.clientWidth - dragEl.clientWidth,\n Math.max(0, dragEl.offsetLeft + posDiffX)\n )\n newPosY = Math.min(\n document.body.clientHeight - dragEl.clientHeight,\n Math.max(0, dragEl.offsetTop + posDiffY)\n )\n\n positionElement()\n }\n\n window.addEventListener('resize', () => {\n ensureInBounds()\n })\n\n function closeDragElement() {\n // stop moving when mouse button is released:\n document.onmouseup = null\n document.onmousemove = null\n }\n\n return restorePos\n}\n\nclass ComfyList {\n #type\n #text\n #reverse\n element: HTMLDivElement\n button?: HTMLButtonElement\n\n constructor(text, type?, reverse?) {\n this.#text = text\n this.#type = type || text.toLowerCase()\n this.#reverse = reverse || false\n this.element = $el('div.comfy-list') as HTMLDivElement\n this.element.style.display = 'none'\n }\n\n get visible() {\n return this.element.style.display !== 'none'\n }\n\n async load() {\n const items = await api.getItems(this.#type)\n this.element.replaceChildren(\n ...Object.keys(items).flatMap((section) => [\n $el('h4', {\n textContent: section\n }),\n $el('div.comfy-list-items', [\n ...(this.#reverse ? items[section].reverse() : items[section]).map(\n (item: TaskItem) => {\n // Allow items to specify a custom remove action (e.g. for interrupt current prompt)\n const removeAction =\n 'remove' in item\n ? item.remove\n : {\n name: 'Delete',\n cb: () => api.deleteItem(this.#type, item.prompt[1])\n }\n return $el('div', { textContent: item.prompt[0] + ': ' }, [\n $el('button', {\n textContent: 'Load',\n onclick: async () => {\n await app.loadGraphData(\n item.prompt[3].extra_pnginfo.workflow,\n true,\n false\n )\n if ('outputs' in item) {\n app.nodeOutputs = {}\n for (const [key, value] of Object.entries(item.outputs)) {\n const realKey = item['meta']?.[key]?.display_node ?? key\n app.nodeOutputs[realKey] = value\n }\n }\n }\n }),\n $el('button', {\n textContent: removeAction.name,\n onclick: async () => {\n await removeAction.cb()\n await this.update()\n }\n })\n ])\n }\n )\n ])\n ]),\n $el('div.comfy-list-actions', [\n $el('button', {\n textContent: 'Clear ' + this.#text,\n onclick: async () => {\n await api.clearItems(this.#type)\n await this.load()\n }\n }),\n $el('button', { textContent: 'Refresh', onclick: () => this.load() })\n ])\n )\n }\n\n async update() {\n if (this.visible) {\n await this.load()\n }\n }\n\n async show() {\n this.element.style.display = 'block'\n this.button.textContent = 'Close'\n\n await this.load()\n }\n\n hide() {\n this.element.style.display = 'none'\n this.button.textContent = 'View ' + this.#text\n }\n\n toggle() {\n if (this.visible) {\n this.hide()\n return false\n } else {\n this.show()\n return true\n }\n }\n}\n\nexport class ComfyUI {\n app: ComfyApp\n dialog: _ComfyDialog\n settings: ComfySettingsDialog\n batchCount: number\n lastQueueSize: number\n queue: ComfyList\n history: ComfyList\n autoQueueMode: string\n graphHasChanged: boolean\n autoQueueEnabled: boolean\n menuContainer: HTMLDivElement\n queueSize: Element\n restoreMenuPosition: () => void\n loadFile: () => void\n\n constructor(app) {\n this.app = app\n this.dialog = new ComfyDialog()\n this.settings = new ComfySettingsDialog(app)\n\n this.batchCount = 1\n this.lastQueueSize = 0\n this.queue = new ComfyList('Queue')\n this.history = new ComfyList('History', 'history', true)\n\n api.addEventListener('status', () => {\n this.queue.update()\n this.history.update()\n })\n\n this.setup(document.body)\n }\n\n setup(containerElement: HTMLElement) {\n const fileInput = $el('input', {\n id: 'comfy-file-input',\n type: 'file',\n accept: '.json,image/png,.latent,.safetensors,image/webp,audio/flac',\n style: { display: 'none' },\n parent: document.body,\n onchange: async () => {\n await app.handleFile(fileInput.files[0])\n fileInput.value = ''\n }\n })\n\n this.loadFile = () => fileInput.click()\n\n const autoQueueModeEl = toggleSwitch(\n 'autoQueueMode',\n [\n {\n text: 'instant',\n tooltip: 'A new prompt will be queued as soon as the queue reaches 0'\n },\n {\n text: 'change',\n tooltip:\n 'A new prompt will be queued when the queue is at 0 and the graph is/has changed'\n }\n ],\n {\n onChange: (value) => {\n this.autoQueueMode = value.item.value\n }\n }\n )\n autoQueueModeEl.style.display = 'none'\n\n api.addEventListener('graphChanged', () => {\n if (this.autoQueueMode === 'change' && this.autoQueueEnabled === true) {\n if (this.lastQueueSize === 0) {\n this.graphHasChanged = false\n app.queuePrompt(0, this.batchCount)\n } else {\n this.graphHasChanged = true\n }\n }\n })\n\n this.menuContainer = $el('div.comfy-menu', { parent: containerElement }, [\n $el(\n 'div.drag-handle.comfy-menu-header',\n {\n style: {\n overflow: 'hidden',\n position: 'relative',\n width: '100%',\n cursor: 'default'\n }\n },\n [\n $el('span.drag-handle'),\n $el('span.comfy-menu-queue-size', { $: (q) => (this.queueSize = q) }),\n $el('div.comfy-menu-actions', [\n $el('button.comfy-settings-btn', {\n textContent: '⚙️',\n onclick: showSettingsDialog\n }),\n $el('button.comfy-close-menu-btn', {\n textContent: '\\u00d7',\n onclick: () => {\n useWorkspaceStore().focusMode = true\n }\n })\n ])\n ]\n ),\n $el('button.comfy-queue-btn', {\n id: 'queue-button',\n textContent: 'Queue Prompt',\n onclick: () => app.queuePrompt(0, this.batchCount)\n }),\n $el('div', {}, [\n $el('label', { innerHTML: 'Extra options' }, [\n $el('input', {\n type: 'checkbox',\n onchange: (i) => {\n document.getElementById('extraOptions').style.display = i\n .srcElement.checked\n ? 'block'\n : 'none'\n this.batchCount = i.srcElement.checked\n ? Number.parseInt(\n (\n document.getElementById(\n 'batchCountInputRange'\n ) as HTMLInputElement\n ).value\n )\n : 1\n ;(\n document.getElementById('autoQueueCheckbox') as HTMLInputElement\n ).checked = false\n this.autoQueueEnabled = false\n }\n })\n ])\n ]),\n $el(\n 'div',\n { id: 'extraOptions', style: { width: '100%', display: 'none' } },\n [\n $el('div', [\n $el('label', { innerHTML: 'Batch count' }),\n $el('input', {\n id: 'batchCountInputNumber',\n type: 'number',\n value: this.batchCount,\n min: '1',\n style: { width: '35%', marginLeft: '0.4em' },\n oninput: (i) => {\n this.batchCount = i.target.value\n /* Even though an element with a type of range logically represents a number (since\n it's used for numeric input), the value it holds is still treated as a string in HTML and\n JavaScript. This behavior is consistent across all elements regardless of their type\n (like text, number, or range), where the .value property is always a string. */\n ;(\n document.getElementById(\n 'batchCountInputRange'\n ) as HTMLInputElement\n ).value = this.batchCount.toString()\n }\n }),\n $el('input', {\n id: 'batchCountInputRange',\n type: 'range',\n min: '1',\n max: '100',\n value: this.batchCount,\n oninput: (i) => {\n this.batchCount = i.srcElement.value\n // Note\n ;(\n document.getElementById(\n 'batchCountInputNumber'\n ) as HTMLInputElement\n ).value = i.srcElement.value\n }\n })\n ]),\n $el('div', [\n $el('label', {\n for: 'autoQueueCheckbox',\n innerHTML: 'Auto Queue'\n }),\n $el('input', {\n id: 'autoQueueCheckbox',\n type: 'checkbox',\n checked: false,\n title: 'Automatically queue prompt when the queue size hits 0',\n onchange: (e) => {\n this.autoQueueEnabled = e.target.checked\n autoQueueModeEl.style.display = this.autoQueueEnabled\n ? ''\n : 'none'\n }\n }),\n autoQueueModeEl\n ])\n ]\n ),\n $el('div.comfy-menu-btns', [\n $el('button', {\n id: 'queue-front-button',\n textContent: 'Queue Front',\n onclick: () => app.queuePrompt(-1, this.batchCount)\n }),\n $el('button', {\n $: (b) => (this.queue.button = b as HTMLButtonElement),\n id: 'comfy-view-queue-button',\n textContent: 'View Queue',\n onclick: () => {\n this.history.hide()\n this.queue.toggle()\n }\n }),\n $el('button', {\n $: (b) => (this.history.button = b as HTMLButtonElement),\n id: 'comfy-view-history-button',\n textContent: 'View History',\n onclick: () => {\n this.queue.hide()\n this.history.toggle()\n }\n })\n ]),\n this.queue.element,\n this.history.element,\n $el('button', {\n id: 'comfy-save-button',\n textContent: 'Save',\n onclick: () => {\n useCommandStore().execute('Comfy.ExportWorkflow')\n }\n }),\n $el('button', {\n id: 'comfy-dev-save-api-button',\n textContent: 'Save (API Format)',\n style: { width: '100%', display: 'none' },\n onclick: () => {\n useCommandStore().execute('Comfy.ExportWorkflowAPI')\n }\n }),\n $el('button', {\n id: 'comfy-load-button',\n textContent: 'Load',\n onclick: () => fileInput.click()\n }),\n $el('button', {\n id: 'comfy-refresh-button',\n textContent: 'Refresh',\n onclick: () => app.refreshComboInNodes()\n }),\n $el('button', {\n id: 'comfy-clipspace-button',\n textContent: 'Clipspace',\n onclick: () => app.openClipspace()\n }),\n $el('button', {\n id: 'comfy-clear-button',\n textContent: 'Clear',\n onclick: () => {\n if (\n !useSettingStore().get('Comfy.ConfirmClear') ||\n confirm('Clear workflow?')\n ) {\n app.clean()\n app.graph.clear()\n app.resetView()\n api.dispatchEvent(new CustomEvent('graphCleared'))\n }\n }\n }),\n $el('button', {\n id: 'comfy-load-default-button',\n textContent: 'Load Default',\n onclick: async () => {\n if (\n !useSettingStore().get('Comfy.ConfirmClear') ||\n confirm('Load default workflow?')\n ) {\n app.resetView()\n await app.loadGraphData()\n }\n }\n }),\n $el('button', {\n id: 'comfy-reset-view-button',\n textContent: 'Reset View',\n onclick: async () => {\n app.resetView()\n }\n })\n ]) as HTMLDivElement\n\n this.restoreMenuPosition = dragElement(this.menuContainer, this.settings)\n\n this.setStatus({ exec_info: { queue_remaining: 'X' } })\n }\n\n setStatus(status) {\n this.queueSize.textContent =\n 'Queue size: ' + (status ? status.exec_info.queue_remaining : 'ERR')\n if (status) {\n if (\n this.lastQueueSize != 0 &&\n status.exec_info.queue_remaining == 0 &&\n this.autoQueueEnabled &&\n (this.autoQueueMode === 'instant' || this.graphHasChanged) &&\n !app.lastExecutionError\n ) {\n app.queuePrompt(0, this.batchCount)\n status.exec_info.queue_remaining += this.batchCount\n this.graphHasChanged = false\n }\n this.lastQueueSize = status.exec_info.queue_remaining\n }\n }\n}\n","// @ts-strict-ignore\nimport { $el, ComfyDialog } from './ui'\nimport { api } from './api'\nimport type { ComfyApp } from './app'\nimport { useToastStore } from '@/stores/toastStore'\n\n$el('style', {\n textContent: `\n .comfy-logging-logs {\n display: grid;\n color: var(--fg-color);\n white-space: pre-wrap;\n }\n .comfy-logging-log {\n display: contents;\n }\n .comfy-logging-title {\n background: var(--tr-even-bg-color);\n font-weight: bold;\n margin-bottom: 5px;\n text-align: center;\n }\n .comfy-logging-log div {\n background: var(--row-bg);\n padding: 5px;\n }\n `,\n parent: document.body\n})\n\n// Stringify function supporting max depth and removal of circular references\n// https://stackoverflow.com/a/57193345\nfunction stringify(val, depth, replacer, space, onGetObjID?) {\n depth = isNaN(+depth) ? 1 : depth\n var recursMap = new WeakMap()\n function _build(val, depth, o?, a?, r?) {\n // (JSON.stringify() has it's own rules, which we respect here by using it for property iteration)\n return !val || typeof val != 'object'\n ? val\n : ((r = recursMap.has(val)),\n recursMap.set(val, true),\n (a = Array.isArray(val)),\n r\n ? (o = (onGetObjID && onGetObjID(val)) || null)\n : JSON.stringify(val, function (k, v) {\n if (a || depth > 0) {\n if (replacer) v = replacer(k, v)\n if (!k) return (a = Array.isArray(v)), (val = v)\n !o && (o = a ? [] : {})\n o[k] = _build(v, a ? depth : depth - 1)\n }\n }),\n o === void 0 ? (a ? [] : {}) : o)\n }\n return JSON.stringify(_build(val, depth), null, space)\n}\n\nconst jsonReplacer = (k, v, ui) => {\n if (v instanceof Array && v.length === 1) {\n v = v[0]\n }\n if (v instanceof Date) {\n v = v.toISOString()\n if (ui) {\n v = v.split('T')[1]\n }\n }\n if (v instanceof Error) {\n let err = ''\n if (v.name) err += v.name + '\\n'\n if (v.message) err += v.message + '\\n'\n if (v.stack) err += v.stack + '\\n'\n if (!err) {\n err = v.toString()\n }\n v = err\n }\n return v\n}\n\nconst fileInput: HTMLInputElement = $el('input', {\n type: 'file',\n accept: '.json',\n style: { display: 'none' },\n parent: document.body\n}) as HTMLInputElement\n\nclass ComfyLoggingDialog extends ComfyDialog {\n logging: any\n\n constructor(logging) {\n super()\n this.logging = logging\n }\n\n clear() {\n this.logging.clear()\n this.show()\n }\n\n export() {\n const blob = new Blob(\n [stringify([...this.logging.entries], 20, jsonReplacer, '\\t')],\n {\n type: 'application/json'\n }\n )\n const url = URL.createObjectURL(blob)\n const a = $el('a', {\n href: url,\n download: `comfyui-logs-${Date.now()}.json`,\n style: { display: 'none' },\n parent: document.body\n })\n a.click()\n setTimeout(function () {\n a.remove()\n window.URL.revokeObjectURL(url)\n }, 0)\n }\n\n import() {\n fileInput.onchange = () => {\n const reader = new FileReader()\n reader.onload = () => {\n fileInput.remove()\n try {\n const obj = JSON.parse(reader.result as string)\n if (obj instanceof Array) {\n this.show(obj)\n } else {\n throw new Error('Invalid file selected.')\n }\n } catch (error) {\n useToastStore().addAlert('Unable to load logs: ' + error.message)\n }\n }\n reader.readAsText(fileInput.files[0])\n }\n fileInput.click()\n }\n\n createButtons() {\n return [\n $el('button', {\n type: 'button',\n textContent: 'Clear',\n onclick: () => this.clear()\n }),\n $el('button', {\n type: 'button',\n textContent: 'Export logs...',\n onclick: () => this.export()\n }),\n $el('button', {\n type: 'button',\n textContent: 'View exported logs...',\n onclick: () => this.import()\n }),\n ...super.createButtons()\n ]\n }\n\n getTypeColor(type) {\n switch (type) {\n case 'error':\n return 'red'\n case 'warn':\n return 'orange'\n case 'debug':\n return 'dodgerblue'\n }\n }\n\n show(entries?: any[]) {\n if (!entries) entries = this.logging.entries\n this.element.style.width = '100%'\n const cols = {\n source: 'Source',\n type: 'Type',\n timestamp: 'Timestamp',\n message: 'Message'\n }\n const keys = Object.keys(cols)\n const headers = Object.values(cols).map((title) =>\n $el('div.comfy-logging-title', {\n textContent: title\n })\n )\n const rows = entries.map((entry, i) => {\n return $el(\n 'div.comfy-logging-log',\n {\n $: (el) =>\n el.style.setProperty(\n '--row-bg',\n `var(--tr-${i % 2 ? 'even' : 'odd'}-bg-color)`\n )\n },\n keys.map((key) => {\n let v = entry[key]\n let color\n if (key === 'type') {\n color = this.getTypeColor(v)\n } else {\n v = jsonReplacer(key, v, true)\n\n if (typeof v === 'object') {\n v = stringify(v, 5, jsonReplacer, ' ')\n }\n }\n\n return $el('div', {\n style: {\n color\n },\n textContent: v\n })\n })\n )\n })\n\n const grid = $el(\n 'div.comfy-logging-logs',\n {\n style: {\n gridTemplateColumns: `repeat(${headers.length}, 1fr)`\n }\n },\n [...headers, ...rows]\n )\n const els = [grid]\n if (!this.logging.enabled) {\n els.unshift(\n $el('h3', {\n style: { textAlign: 'center' },\n textContent: 'Logging is disabled'\n })\n )\n }\n super.show($el('div', els))\n }\n}\n\nexport class ComfyLogging {\n /**\n * @type Array<{ source: string, type: string, timestamp: Date, message: any }>\n */\n entries = []\n\n #enabled\n #console = {}\n\n app: ComfyApp\n dialog: ComfyLoggingDialog\n\n get enabled() {\n return this.#enabled\n }\n\n set enabled(value) {\n if (value === this.#enabled) return\n if (value) {\n this.patchConsole()\n } else {\n this.unpatchConsole()\n }\n this.#enabled = value\n }\n\n constructor(app) {\n this.app = app\n\n this.dialog = new ComfyLoggingDialog(this)\n this.addSetting()\n this.catchUnhandled()\n this.addInitData()\n }\n\n addSetting() {\n const settingId = 'Comfy.Logging.Enabled'\n const htmlSettingId = settingId.replaceAll('.', '-')\n const setting = this.app.ui.settings.addSetting({\n id: settingId,\n name: 'Enable logging',\n defaultValue: true,\n onChange: (value) => {\n this.enabled = value\n },\n type: (name, setter, value) => {\n return $el('tr', [\n $el('td', [\n $el('label', {\n textContent: 'Logging',\n for: htmlSettingId\n })\n ]),\n $el('td', [\n $el('input', {\n id: htmlSettingId,\n type: 'checkbox',\n checked: value,\n onchange: (event) => {\n setter(event.target.checked)\n }\n }),\n $el('button', {\n textContent: 'View Logs',\n onclick: () => {\n this.app.ui.settings.element.close()\n this.dialog.show()\n },\n style: {\n fontSize: '14px',\n display: 'block',\n marginTop: '5px'\n }\n })\n ])\n ])\n }\n })\n this.enabled = setting.value\n }\n\n patchConsole() {\n // Capture common console outputs\n const self = this\n for (const type of ['log', 'warn', 'error', 'debug']) {\n const orig = console[type]\n this.#console[type] = orig\n console[type] = function () {\n orig.apply(console, arguments)\n self.addEntry('console', type, ...arguments)\n }\n }\n }\n\n unpatchConsole() {\n // Restore original console functions\n for (const type of Object.keys(this.#console)) {\n console[type] = this.#console[type]\n }\n this.#console = {}\n }\n\n catchUnhandled() {\n // Capture uncaught errors\n window.addEventListener('error', (e) => {\n this.addEntry('window', 'error', e.error ?? 'Unknown error')\n return false\n })\n\n window.addEventListener('unhandledrejection', (e) => {\n this.addEntry('unhandledrejection', 'error', e.reason ?? 'Unknown error')\n })\n }\n\n clear() {\n this.entries = []\n }\n\n addEntry(source, type, ...args) {\n if (this.enabled) {\n this.entries.push({\n source,\n type,\n timestamp: new Date(),\n message: args\n })\n }\n }\n\n log(source, ...args) {\n this.addEntry(source, 'log', ...args)\n }\n\n async addInitData() {\n if (!this.enabled) return\n const source = 'ComfyUI.Logging'\n this.addEntry(source, 'debug', { UserAgent: navigator.userAgent })\n }\n}\n","// @ts-strict-ignore\nimport { app, ANIM_PREVIEW_WIDGET } from './app'\nimport { LGraphCanvas, LGraphNode, LiteGraph } from '@comfyorg/litegraph'\nimport type { Vector4 } from '@comfyorg/litegraph'\n\nconst SIZE = Symbol()\n\ninterface Rect {\n height: number\n width: number\n x: number\n y: number\n}\n\nexport interface DOMWidget {\n type: string\n name: string\n computedHeight?: number\n element?: T\n options: any\n value?: any\n y?: number\n callback?: (value: any) => void\n draw?: (\n ctx: CanvasRenderingContext2D,\n node: LGraphNode,\n widgetWidth: number,\n y: number,\n widgetHeight: number\n ) => void\n onRemove?: () => void\n}\n\nfunction intersect(a: Rect, b: Rect): Vector4 | null {\n const x = Math.max(a.x, b.x)\n const num1 = Math.min(a.x + a.width, b.x + b.width)\n const y = Math.max(a.y, b.y)\n const num2 = Math.min(a.y + a.height, b.y + b.height)\n if (num1 >= x && num2 >= y) return [x, y, num1 - x, num2 - y]\n else return null\n}\n\nfunction getClipPath(\n node: LGraphNode,\n element: HTMLElement,\n canvasRect: DOMRect\n): string {\n const selectedNode: LGraphNode = Object.values(\n app.canvas.selected_nodes\n )[0] as LGraphNode\n if (selectedNode && selectedNode !== node) {\n const elRect = element.getBoundingClientRect()\n const MARGIN = 7\n const scale = app.canvas.ds.scale\n\n const bounding = selectedNode.getBounding()\n const intersection = intersect(\n {\n x: elRect.x / scale - canvasRect.left,\n y: elRect.y / scale - canvasRect.top,\n width: elRect.width / scale,\n height: elRect.height / scale\n },\n {\n x: selectedNode.pos[0] + app.canvas.ds.offset[0] - MARGIN,\n y:\n selectedNode.pos[1] +\n app.canvas.ds.offset[1] -\n LiteGraph.NODE_TITLE_HEIGHT -\n MARGIN,\n width: bounding[2] + MARGIN + MARGIN,\n height: bounding[3] + MARGIN + MARGIN\n }\n )\n\n if (!intersection) {\n return ''\n }\n\n const clipX = canvasRect.left + intersection[0] - elRect.x / scale + 'px'\n const clipY = canvasRect.top + intersection[1] - elRect.y / scale + 'px'\n const clipWidth = intersection[2] + 'px'\n const clipHeight = intersection[3] + 'px'\n const path = `polygon(0% 0%, 0% 100%, ${clipX} 100%, ${clipX} ${clipY}, calc(${clipX} + ${clipWidth}) ${clipY}, calc(${clipX} + ${clipWidth}) calc(${clipY} + ${clipHeight}), ${clipX} calc(${clipY} + ${clipHeight}), ${clipX} 100%, 100% 100%, 100% 0%)`\n return path\n }\n return ''\n}\n\nfunction computeSize(size: [number, number]): void {\n if (this.widgets?.[0]?.last_y == null) return\n\n let y = this.widgets[0].last_y\n let freeSpace = size[1] - y\n\n let widgetHeight = 0\n let dom = []\n for (const w of this.widgets) {\n if (w.type === 'converted-widget') {\n // Ignore\n delete w.computedHeight\n } else if (w.computeSize) {\n widgetHeight += w.computeSize()[1] + 4\n } else if (w.element) {\n // Extract DOM widget size info\n const styles = getComputedStyle(w.element)\n let minHeight =\n w.options.getMinHeight?.() ??\n parseInt(styles.getPropertyValue('--comfy-widget-min-height'))\n let maxHeight =\n w.options.getMaxHeight?.() ??\n parseInt(styles.getPropertyValue('--comfy-widget-max-height'))\n\n let prefHeight =\n w.options.getHeight?.() ??\n styles.getPropertyValue('--comfy-widget-height')\n if (prefHeight.endsWith?.('%')) {\n prefHeight =\n size[1] *\n (parseFloat(prefHeight.substring(0, prefHeight.length - 1)) / 100)\n } else {\n prefHeight = parseInt(prefHeight)\n if (isNaN(minHeight)) {\n minHeight = prefHeight\n }\n }\n if (isNaN(minHeight)) {\n minHeight = 50\n }\n if (!isNaN(maxHeight)) {\n if (!isNaN(prefHeight)) {\n prefHeight = Math.min(prefHeight, maxHeight)\n } else {\n prefHeight = maxHeight\n }\n }\n dom.push({\n minHeight,\n prefHeight,\n w\n })\n } else {\n widgetHeight += LiteGraph.NODE_WIDGET_HEIGHT + 4\n }\n }\n\n freeSpace -= widgetHeight\n\n // Calculate sizes with all widgets at their min height\n const prefGrow = [] // Nodes that want to grow to their prefd size\n const canGrow = [] // Nodes that can grow to auto size\n let growBy = 0\n for (const d of dom) {\n freeSpace -= d.minHeight\n if (isNaN(d.prefHeight)) {\n canGrow.push(d)\n d.w.computedHeight = d.minHeight\n } else {\n const diff = d.prefHeight - d.minHeight\n if (diff > 0) {\n prefGrow.push(d)\n growBy += diff\n d.diff = diff\n } else {\n d.w.computedHeight = d.minHeight\n }\n }\n }\n\n if (this.imgs && !this.widgets.find((w) => w.name === ANIM_PREVIEW_WIDGET)) {\n // Allocate space for image\n freeSpace -= 220\n }\n\n this.freeWidgetSpace = freeSpace\n\n if (freeSpace < 0) {\n // Not enough space for all widgets so we need to grow\n size[1] -= freeSpace\n this.graph.setDirtyCanvas(true)\n } else {\n // Share the space between each\n const growDiff = freeSpace - growBy\n if (growDiff > 0) {\n // All pref sizes can be fulfilled\n freeSpace = growDiff\n for (const d of prefGrow) {\n d.w.computedHeight = d.prefHeight\n }\n } else {\n // We need to grow evenly\n const shared = -growDiff / prefGrow.length\n for (const d of prefGrow) {\n d.w.computedHeight = d.prefHeight - shared\n }\n freeSpace = 0\n }\n\n if (freeSpace > 0 && canGrow.length) {\n // Grow any that are auto height\n const shared = freeSpace / canGrow.length\n for (const d of canGrow) {\n d.w.computedHeight += shared\n }\n }\n }\n\n // Position each of the widgets\n for (const w of this.widgets) {\n w.y = y\n if (w.computedHeight) {\n y += w.computedHeight\n } else if (w.computeSize) {\n y += w.computeSize()[1] + 4\n } else {\n y += LiteGraph.NODE_WIDGET_HEIGHT + 4\n }\n }\n}\n\n// Override the compute visible nodes function to allow us to hide/show DOM elements when the node goes offscreen\nconst elementWidgets = new Set()\n//@ts-ignore\nconst computeVisibleNodes = LGraphCanvas.prototype.computeVisibleNodes\n//@ts-ignore\nLGraphCanvas.prototype.computeVisibleNodes = function (): LGraphNode[] {\n const visibleNodes = computeVisibleNodes.apply(this, arguments)\n\n for (const node of app.graph.nodes) {\n if (elementWidgets.has(node)) {\n const hidden = visibleNodes.indexOf(node) === -1\n for (const w of node.widgets) {\n if (w.element) {\n w.element.dataset.isInVisibleNodes = hidden ? 'false' : 'true'\n const shouldOtherwiseHide = w.element.dataset.shouldHide === 'true'\n const isCollapsed = w.element.dataset.collapsed === 'true'\n const wasHidden = w.element.hidden\n const actualHidden = hidden || shouldOtherwiseHide || isCollapsed\n w.element.hidden = actualHidden\n w.element.style.display = actualHidden ? 'none' : null\n if (actualHidden && !wasHidden) {\n w.options.onHide?.(w)\n }\n }\n }\n }\n }\n\n return visibleNodes\n}\n\nlet enableDomClipping = true\n\nexport function addDomClippingSetting(): void {\n app.ui.settings.addSetting({\n id: 'Comfy.DOMClippingEnabled',\n category: ['Comfy', 'Node', 'DOMClippingEnabled'],\n name: 'Enable DOM element clipping (enabling may reduce performance)',\n type: 'boolean',\n defaultValue: enableDomClipping,\n onChange(value) {\n enableDomClipping = !!value\n }\n })\n}\n\nLGraphNode.prototype.addDOMWidget = function (\n name: string,\n type: string,\n element: HTMLElement,\n options: Record\n): DOMWidget {\n options = { hideOnZoom: true, selectOn: ['focus', 'click'], ...options }\n\n if (!element.parentElement) {\n app.canvasContainer.append(element)\n }\n element.hidden = true\n element.style.display = 'none'\n\n let mouseDownHandler\n if (element.blur) {\n mouseDownHandler = (event) => {\n if (!element.contains(event.target)) {\n element.blur()\n }\n }\n document.addEventListener('mousedown', mouseDownHandler)\n }\n\n const { nodeData } = this.constructor\n const tooltip = (nodeData?.input.required?.[name] ??\n nodeData?.input.optional?.[name])?.[1]?.tooltip\n if (tooltip && !element.title) {\n element.title = tooltip\n }\n\n const widget: DOMWidget = {\n type,\n name,\n get value() {\n return options.getValue?.() ?? undefined\n },\n set value(v) {\n options.setValue?.(v)\n widget.callback?.(widget.value)\n },\n draw: function (\n ctx: CanvasRenderingContext2D,\n node: LGraphNode,\n widgetWidth: number,\n y: number,\n widgetHeight: number\n ) {\n if (widget.computedHeight == null) {\n computeSize.call(node, node.size)\n }\n\n const hidden =\n (!!options.hideOnZoom && app.canvas.ds.scale < 0.5) ||\n widget.computedHeight <= 0 ||\n widget.type === 'converted-widget' ||\n widget.type === 'hidden'\n element.dataset.shouldHide = hidden ? 'true' : 'false'\n const isInVisibleNodes = element.dataset.isInVisibleNodes === 'true'\n const isCollapsed = element.dataset.collapsed === 'true'\n const actualHidden = hidden || !isInVisibleNodes || isCollapsed\n const wasHidden = element.hidden\n element.hidden = actualHidden\n element.style.display = actualHidden ? 'none' : null\n if (actualHidden && !wasHidden) {\n widget.options.onHide?.(widget)\n }\n if (actualHidden) {\n return\n }\n\n const margin = 10\n const elRect = ctx.canvas.getBoundingClientRect()\n const transform = new DOMMatrix()\n .scaleSelf(\n elRect.width / ctx.canvas.width,\n elRect.height / ctx.canvas.height\n )\n .multiplySelf(ctx.getTransform())\n .translateSelf(margin, margin + y)\n\n const scale = new DOMMatrix().scaleSelf(transform.a, transform.d)\n\n Object.assign(element.style, {\n transformOrigin: '0 0',\n transform: scale,\n left: `${transform.a + transform.e}px`,\n top: `${transform.d + transform.f}px`,\n width: `${widgetWidth - margin * 2}px`,\n height: `${(widget.computedHeight ?? 50) - margin * 2}px`,\n position: 'absolute',\n zIndex: app.graph.nodes.indexOf(node),\n pointerEvents: app.canvas.read_only ? 'none' : 'auto'\n })\n\n if (enableDomClipping) {\n element.style.clipPath = getClipPath(node, element, elRect)\n element.style.willChange = 'clip-path'\n }\n\n this.options.onDraw?.(widget)\n },\n element,\n options,\n onRemove() {\n if (mouseDownHandler) {\n document.removeEventListener('mousedown', mouseDownHandler)\n }\n element.remove()\n }\n }\n\n for (const evt of options.selectOn) {\n element.addEventListener(evt, () => {\n app.canvas.selectNode(this)\n app.canvas.bringToFront(this)\n })\n }\n\n this.addCustomWidget(widget)\n elementWidgets.add(this)\n\n const collapse = this.collapse\n this.collapse = function () {\n collapse.apply(this, arguments)\n if (this.flags?.collapsed) {\n element.hidden = true\n element.style.display = 'none'\n }\n element.dataset.collapsed = this.flags?.collapsed ? 'true' : 'false'\n }\n\n const onRemoved = this.onRemoved\n this.onRemoved = function () {\n element.remove()\n elementWidgets.delete(this)\n onRemoved?.apply(this, arguments)\n }\n\n if (!this[SIZE]) {\n this[SIZE] = true\n const onResize = this.onResize\n this.onResize = function (size) {\n options.beforeResize?.call(widget, this)\n computeSize.call(this, size)\n onResize?.apply(this, arguments)\n options.afterResize?.call(widget, this)\n }\n }\n\n return widget\n}\n","// @ts-strict-ignore\nimport { api } from './api'\nimport './domWidget'\nimport type { ComfyApp } from './app'\nimport type { IWidget, LGraphNode } from '@comfyorg/litegraph'\nimport { InputSpec } from '@/types/apiTypes'\nimport { useSettingStore } from '@/stores/settingStore'\nimport { useToastStore } from '@/stores/toastStore'\n\nexport type ComfyWidgetConstructor = (\n node: LGraphNode,\n inputName: string,\n inputData: InputSpec,\n app?: ComfyApp,\n widgetName?: string\n) => { widget: IWidget; minWidth?: number; minHeight?: number }\n\nlet controlValueRunBefore = false\nexport function updateControlWidgetLabel(widget) {\n let replacement = 'after'\n let find = 'before'\n if (controlValueRunBefore) {\n ;[find, replacement] = [replacement, find]\n }\n widget.label = (widget.label ?? widget.name).replace(find, replacement)\n}\n\nconst IS_CONTROL_WIDGET = Symbol()\nconst HAS_EXECUTED = Symbol()\n\nfunction getNumberDefaults(\n inputData: InputSpec,\n defaultStep,\n precision,\n enable_rounding\n) {\n let defaultVal = inputData[1]['default']\n let { min, max, step, round } = inputData[1]\n\n if (defaultVal == undefined) defaultVal = 0\n if (min == undefined) min = 0\n if (max == undefined) max = 2048\n if (step == undefined) step = defaultStep\n // precision is the number of decimal places to show.\n // by default, display the the smallest number of decimal places such that changes of size step are visible.\n if (precision == undefined) {\n precision = Math.max(-Math.floor(Math.log10(step)), 0)\n }\n\n if (enable_rounding && (round == undefined || round === true)) {\n // by default, round the value to those decimal places shown.\n round = Math.round(1000000 * Math.pow(0.1, precision)) / 1000000\n }\n\n return {\n val: defaultVal,\n config: { min, max, step: 10.0 * step, round, precision }\n }\n}\n\nexport function addValueControlWidget(\n node,\n targetWidget,\n defaultValue = 'randomize',\n values,\n widgetName,\n inputData: InputSpec\n) {\n let name = inputData[1]?.control_after_generate\n if (typeof name !== 'string') {\n name = widgetName\n }\n const widgets = addValueControlWidgets(\n node,\n targetWidget,\n defaultValue,\n {\n addFilterList: false,\n controlAfterGenerateName: name\n },\n inputData\n )\n return widgets[0]\n}\n\nexport function addValueControlWidgets(\n node,\n targetWidget,\n defaultValue = 'randomize',\n options,\n inputData: InputSpec\n) {\n if (!defaultValue) defaultValue = 'randomize'\n if (!options) options = {}\n\n const getName = (defaultName, optionName) => {\n let name = defaultName\n if (options[optionName]) {\n name = options[optionName]\n } else if (typeof inputData?.[1]?.[defaultName] === 'string') {\n name = inputData?.[1]?.[defaultName]\n } else if (inputData?.[1]?.control_prefix) {\n name = inputData?.[1]?.control_prefix + ' ' + name\n }\n return name\n }\n\n const widgets = []\n const valueControl = node.addWidget(\n 'combo',\n getName('control_after_generate', 'controlAfterGenerateName'),\n defaultValue,\n function () {},\n {\n values: ['fixed', 'increment', 'decrement', 'randomize'],\n serialize: false // Don't include this in prompt.\n }\n )\n valueControl.tooltip =\n 'Allows the linked widget to be changed automatically, for example randomizing the noise seed.'\n valueControl[IS_CONTROL_WIDGET] = true\n updateControlWidgetLabel(valueControl)\n widgets.push(valueControl)\n\n const isCombo = targetWidget.type === 'combo'\n let comboFilter\n if (isCombo) {\n valueControl.options.values.push('increment-wrap')\n }\n if (isCombo && options.addFilterList !== false) {\n comboFilter = node.addWidget(\n 'string',\n getName('control_filter_list', 'controlFilterListName'),\n '',\n function () {},\n {\n serialize: false // Don't include this in prompt.\n }\n )\n updateControlWidgetLabel(comboFilter)\n comboFilter.tooltip =\n \"Allows for filtering the list of values when changing the value via the control generate mode. Allows for RegEx matches in the format /abc/ to only filter to values containing 'abc'.\"\n\n widgets.push(comboFilter)\n }\n\n const applyWidgetControl = () => {\n var v = valueControl.value\n\n if (isCombo && v !== 'fixed') {\n let values = targetWidget.options.values\n const filter = comboFilter?.value\n if (filter) {\n let check\n if (filter.startsWith('/') && filter.endsWith('/')) {\n try {\n const regex = new RegExp(filter.substring(1, filter.length - 1))\n check = (item) => regex.test(item)\n } catch (error) {\n console.error(\n 'Error constructing RegExp filter for node ' + node.id,\n filter,\n error\n )\n }\n }\n if (!check) {\n const lower = filter.toLocaleLowerCase()\n check = (item) => item.toLocaleLowerCase().includes(lower)\n }\n values = values.filter((item) => check(item))\n if (!values.length && targetWidget.options.values.length) {\n console.warn(\n 'Filter for node ' + node.id + ' has filtered out all items',\n filter\n )\n }\n }\n let current_index = values.indexOf(targetWidget.value)\n let current_length = values.length\n\n switch (v) {\n case 'increment':\n current_index += 1\n break\n case 'increment-wrap':\n current_index += 1\n if (current_index >= current_length) {\n current_index = 0\n }\n break\n case 'decrement':\n current_index -= 1\n break\n case 'randomize':\n current_index = Math.floor(Math.random() * current_length)\n break\n default:\n break\n }\n current_index = Math.max(0, current_index)\n current_index = Math.min(current_length - 1, current_index)\n if (current_index >= 0) {\n let value = values[current_index]\n targetWidget.value = value\n targetWidget.callback(value)\n }\n } else {\n //number\n let min = targetWidget.options.min\n let max = targetWidget.options.max\n // limit to something that javascript can handle\n max = Math.min(1125899906842624, max)\n min = Math.max(-1125899906842624, min)\n let range = (max - min) / (targetWidget.options.step / 10)\n\n //adjust values based on valueControl Behaviour\n switch (v) {\n case 'fixed':\n break\n case 'increment':\n targetWidget.value += targetWidget.options.step / 10\n break\n case 'decrement':\n targetWidget.value -= targetWidget.options.step / 10\n break\n case 'randomize':\n targetWidget.value =\n Math.floor(Math.random() * range) *\n (targetWidget.options.step / 10) +\n min\n break\n default:\n break\n }\n /*check if values are over or under their respective\n * ranges and set them to min or max.*/\n if (targetWidget.value < min) targetWidget.value = min\n\n if (targetWidget.value > max) targetWidget.value = max\n targetWidget.callback(targetWidget.value)\n }\n }\n\n valueControl.beforeQueued = () => {\n if (controlValueRunBefore) {\n // Don't run on first execution\n if (valueControl[HAS_EXECUTED]) {\n applyWidgetControl()\n }\n }\n valueControl[HAS_EXECUTED] = true\n }\n\n valueControl.afterQueued = () => {\n if (!controlValueRunBefore) {\n applyWidgetControl()\n }\n }\n\n return widgets\n}\n\nfunction seedWidget(node, inputName, inputData: InputSpec, app, widgetName) {\n const seed = createIntWidget(node, inputName, inputData, app, true)\n const seedControl = addValueControlWidget(\n node,\n seed.widget,\n 'randomize',\n undefined,\n widgetName,\n inputData\n )\n\n seed.widget.linkedWidgets = [seedControl]\n return seed\n}\n\nfunction createIntWidget(\n node,\n inputName,\n inputData: InputSpec,\n app,\n isSeedInput: boolean = false\n) {\n const control = inputData[1]?.control_after_generate\n if (!isSeedInput && control) {\n return seedWidget(\n node,\n inputName,\n inputData,\n app,\n typeof control === 'string' ? control : undefined\n )\n }\n\n let widgetType = isSlider(inputData[1]['display'], app)\n const { val, config } = getNumberDefaults(inputData, 1, 0, true)\n Object.assign(config, { precision: 0 })\n return {\n widget: node.addWidget(\n widgetType,\n inputName,\n val,\n function (v) {\n const s = this.options.step / 10\n let sh = this.options.min % s\n if (isNaN(sh)) {\n sh = 0\n }\n this.value = Math.round((v - sh) / s) * s + sh\n },\n config\n )\n }\n}\n\nfunction addMultilineWidget(node, name: string, opts, app: ComfyApp) {\n const inputEl = document.createElement('textarea')\n inputEl.className = 'comfy-multiline-input'\n inputEl.value = opts.defaultVal\n inputEl.placeholder = opts.placeholder || name\n if (app.vueAppReady) {\n inputEl.spellcheck = useSettingStore().get(\n 'Comfy.TextareaWidget.Spellcheck'\n )\n }\n\n const widget = node.addDOMWidget(name, 'customtext', inputEl, {\n getValue() {\n return inputEl.value\n },\n setValue(v) {\n inputEl.value = v\n }\n })\n widget.inputEl = inputEl\n\n inputEl.addEventListener('input', () => {\n widget.callback?.(widget.value)\n })\n\n return { minWidth: 400, minHeight: 200, widget }\n}\n\nfunction isSlider(display, app) {\n if (app.ui.settings.getSettingValue('Comfy.DisableSliders')) {\n return 'number'\n }\n\n return display === 'slider' ? 'slider' : 'number'\n}\n\nexport function initWidgets(app) {\n app.ui.settings.addSetting({\n id: 'Comfy.WidgetControlMode',\n category: ['Comfy', 'Node Widget', 'WidgetControlMode'],\n name: 'Widget control mode',\n tooltip:\n 'Controls when widget values are updated (randomize/increment/decrement), either before the prompt is queued or after.',\n type: 'combo',\n defaultValue: 'after',\n options: ['before', 'after'],\n onChange(value) {\n controlValueRunBefore = value === 'before'\n for (const n of app.graph.nodes) {\n if (!n.widgets) continue\n for (const w of n.widgets) {\n if (w[IS_CONTROL_WIDGET]) {\n updateControlWidgetLabel(w)\n if (w.linkedWidgets) {\n for (const l of w.linkedWidgets) {\n updateControlWidgetLabel(l)\n }\n }\n }\n }\n }\n app.graph.setDirtyCanvas(true)\n }\n })\n}\n\nexport const ComfyWidgets: Record = {\n 'INT:seed': seedWidget,\n 'INT:noise_seed': seedWidget,\n FLOAT(node, inputName, inputData: InputSpec, app) {\n let widgetType: 'number' | 'slider' = isSlider(inputData[1]['display'], app)\n let precision = app.ui.settings.getSettingValue(\n 'Comfy.FloatRoundingPrecision'\n )\n let disable_rounding = app.ui.settings.getSettingValue(\n 'Comfy.DisableFloatRounding'\n )\n if (precision == 0) precision = undefined\n const { val, config } = getNumberDefaults(\n inputData,\n 0.5,\n precision,\n !disable_rounding\n )\n return {\n widget: node.addWidget(\n widgetType,\n inputName,\n val,\n function (v) {\n if (config.round) {\n this.value =\n Math.round((v + Number.EPSILON) / config.round) * config.round\n if (this.value > config.max) this.value = config.max\n if (this.value < config.min) this.value = config.min\n } else {\n this.value = v\n }\n },\n config\n )\n }\n },\n INT(node, inputName, inputData: InputSpec, app) {\n return createIntWidget(node, inputName, inputData, app)\n },\n BOOLEAN(node, inputName, inputData) {\n let defaultVal = false\n let options = {}\n if (inputData[1]) {\n if (inputData[1].default) defaultVal = inputData[1].default\n if (inputData[1].label_on) options['on'] = inputData[1].label_on\n if (inputData[1].label_off) options['off'] = inputData[1].label_off\n }\n return {\n widget: node.addWidget('toggle', inputName, defaultVal, () => {}, options)\n }\n },\n STRING(node, inputName, inputData: InputSpec, app) {\n const defaultVal = inputData[1].default || ''\n const multiline = !!inputData[1].multiline\n\n let res\n if (multiline) {\n res = addMultilineWidget(\n node,\n inputName,\n { defaultVal, ...inputData[1] },\n app\n )\n } else {\n res = {\n widget: node.addWidget('text', inputName, defaultVal, () => {}, {})\n }\n }\n\n if (inputData[1].dynamicPrompts != undefined)\n res.widget.dynamicPrompts = inputData[1].dynamicPrompts\n\n return res\n },\n COMBO(node, inputName, inputData: InputSpec) {\n const type = inputData[0]\n let defaultValue = type[0]\n if (inputData[1] && inputData[1].default) {\n defaultValue = inputData[1].default\n }\n const res = {\n widget: node.addWidget('combo', inputName, defaultValue, () => {}, {\n values: type\n })\n }\n if (inputData[1]?.control_after_generate) {\n // TODO make combo handle a widget node type?\n res.widget.linkedWidgets = addValueControlWidgets(\n node,\n res.widget,\n undefined,\n undefined,\n inputData\n )\n }\n return res\n },\n IMAGEUPLOAD(node: LGraphNode, inputName: string, inputData: InputSpec, app) {\n // TODO make image upload handle a custom node type?\n const imageWidget = node.widgets.find(\n (w) => w.name === (inputData[1]?.widget ?? 'image')\n )\n let uploadWidget\n\n function showImage(name) {\n const img = new Image()\n img.onload = () => {\n // @ts-expect-error\n node.imgs = [img]\n app.graph.setDirtyCanvas(true)\n }\n let folder_separator = name.lastIndexOf('/')\n let subfolder = ''\n if (folder_separator > -1) {\n subfolder = name.substring(0, folder_separator)\n name = name.substring(folder_separator + 1)\n }\n img.src = api.apiURL(\n `/view?filename=${encodeURIComponent(name)}&type=input&subfolder=${subfolder}${app.getPreviewFormatParam()}${app.getRandParam()}`\n )\n // @ts-expect-error\n node.setSizeForImage?.()\n }\n\n var default_value = imageWidget.value\n Object.defineProperty(imageWidget, 'value', {\n set: function (value) {\n this._real_value = value\n },\n\n get: function () {\n if (!this._real_value) {\n return default_value\n }\n\n let value = this._real_value\n if (value.filename) {\n let real_value = value\n value = ''\n if (real_value.subfolder) {\n value = real_value.subfolder + '/'\n }\n\n value += real_value.filename\n\n if (real_value.type && real_value.type !== 'input')\n value += ` [${real_value.type}]`\n }\n return value\n }\n })\n\n // Add our own callback to the combo widget to render an image when it changes\n // TODO: Explain this?\n // @ts-expect-error\n const cb = node.callback\n imageWidget.callback = function () {\n showImage(imageWidget.value)\n if (cb) {\n return cb.apply(this, arguments)\n }\n }\n\n // On load if we have a value then render the image\n // The value isnt set immediately so we need to wait a moment\n // No change callbacks seem to be fired on initial setting of the value\n requestAnimationFrame(() => {\n if (imageWidget.value) {\n showImage(imageWidget.value)\n }\n })\n\n async function uploadFile(file, updateNode, pasted = false) {\n try {\n // Wrap file in formdata so it includes filename\n const body = new FormData()\n body.append('image', file)\n if (pasted) body.append('subfolder', 'pasted')\n const resp = await api.fetchApi('/upload/image', {\n method: 'POST',\n body\n })\n\n if (resp.status === 200) {\n const data = await resp.json()\n // Add the file to the dropdown list and update the widget value\n let path = data.name\n if (data.subfolder) path = data.subfolder + '/' + path\n\n if (!imageWidget.options.values.includes(path)) {\n imageWidget.options.values.push(path)\n }\n\n if (updateNode) {\n showImage(path)\n imageWidget.value = path\n }\n } else {\n useToastStore().addAlert(resp.status + ' - ' + resp.statusText)\n }\n } catch (error) {\n useToastStore().addAlert(error)\n }\n }\n\n const fileInput = document.createElement('input')\n Object.assign(fileInput, {\n type: 'file',\n accept: 'image/jpeg,image/png,image/webp',\n style: 'display: none',\n onchange: async () => {\n if (fileInput.files.length) {\n await uploadFile(fileInput.files[0], true)\n }\n }\n })\n document.body.append(fileInput)\n\n // Create the button widget for selecting the files\n uploadWidget = node.addWidget('button', inputName, 'image', () => {\n fileInput.click()\n })\n uploadWidget.label = 'choose file to upload'\n uploadWidget.serialize = false\n\n // Add handler to check if an image is being dragged over our node\n // @ts-expect-error\n node.onDragOver = function (e) {\n if (e.dataTransfer && e.dataTransfer.items) {\n const image = [...e.dataTransfer.items].find((f) => f.kind === 'file')\n return !!image\n }\n\n return false\n }\n\n // On drop upload files\n // @ts-expect-error\n node.onDragDrop = function (e) {\n console.log('onDragDrop called')\n let handled = false\n for (const file of e.dataTransfer.files) {\n if (file.type.startsWith('image/')) {\n uploadFile(file, !handled) // Dont await these, any order is fine, only update on first one\n handled = true\n }\n }\n\n return handled\n }\n\n // @ts-expect-error\n node.pasteFile = function (file) {\n if (file.type.startsWith('image/')) {\n const is_pasted =\n file.name === 'image.png' && file.lastModified - Date.now() < 2000\n uploadFile(file, true, is_pasted)\n return true\n }\n return false\n }\n\n return { widget: uploadWidget }\n }\n}\n","import type { ComfyWorkflowJSON } from '@/types/comfyWorkflow'\n\nexport const defaultGraph: ComfyWorkflowJSON = {\n last_node_id: 9,\n last_link_id: 9,\n nodes: [\n {\n id: 7,\n type: 'CLIPTextEncode',\n pos: [413, 389],\n size: [425.27801513671875, 180.6060791015625],\n flags: {},\n order: 3,\n mode: 0,\n inputs: [{ name: 'clip', type: 'CLIP', link: 5 }],\n outputs: [\n {\n name: 'CONDITIONING',\n type: 'CONDITIONING',\n links: [6],\n slot_index: 0\n }\n ],\n properties: {},\n widgets_values: ['text, watermark']\n },\n {\n id: 6,\n type: 'CLIPTextEncode',\n pos: [415, 186],\n size: [422.84503173828125, 164.31304931640625],\n flags: {},\n order: 2,\n mode: 0,\n inputs: [{ name: 'clip', type: 'CLIP', link: 3 }],\n outputs: [\n {\n name: 'CONDITIONING',\n type: 'CONDITIONING',\n links: [4],\n slot_index: 0\n }\n ],\n properties: {},\n widgets_values: [\n 'beautiful scenery nature glass bottle landscape, , purple galaxy bottle,'\n ]\n },\n {\n id: 5,\n type: 'EmptyLatentImage',\n pos: [473, 609],\n size: [315, 106],\n flags: {},\n order: 1,\n mode: 0,\n outputs: [{ name: 'LATENT', type: 'LATENT', links: [2], slot_index: 0 }],\n properties: {},\n widgets_values: [512, 512, 1]\n },\n {\n id: 3,\n type: 'KSampler',\n pos: [863, 186],\n size: [315, 262],\n flags: {},\n order: 4,\n mode: 0,\n inputs: [\n { name: 'model', type: 'MODEL', link: 1 },\n { name: 'positive', type: 'CONDITIONING', link: 4 },\n { name: 'negative', type: 'CONDITIONING', link: 6 },\n { name: 'latent_image', type: 'LATENT', link: 2 }\n ],\n outputs: [{ name: 'LATENT', type: 'LATENT', links: [7], slot_index: 0 }],\n properties: {},\n widgets_values: [156680208700286, true, 20, 8, 'euler', 'normal', 1]\n },\n {\n id: 8,\n type: 'VAEDecode',\n pos: [1209, 188],\n size: [210, 46],\n flags: {},\n order: 5,\n mode: 0,\n inputs: [\n { name: 'samples', type: 'LATENT', link: 7 },\n { name: 'vae', type: 'VAE', link: 8 }\n ],\n outputs: [{ name: 'IMAGE', type: 'IMAGE', links: [9], slot_index: 0 }],\n properties: {}\n },\n {\n id: 9,\n type: 'SaveImage',\n pos: [1451, 189],\n size: [210, 26],\n flags: {},\n order: 6,\n mode: 0,\n inputs: [{ name: 'images', type: 'IMAGE', link: 9 }],\n properties: {}\n },\n {\n id: 4,\n type: 'CheckpointLoaderSimple',\n pos: [26, 474],\n size: [315, 98],\n flags: {},\n order: 0,\n mode: 0,\n outputs: [\n { name: 'MODEL', type: 'MODEL', links: [1], slot_index: 0 },\n { name: 'CLIP', type: 'CLIP', links: [3, 5], slot_index: 1 },\n { name: 'VAE', type: 'VAE', links: [8], slot_index: 2 }\n ],\n properties: {},\n widgets_values: ['v1-5-pruned-emaonly.ckpt']\n }\n ],\n links: [\n [1, 4, 0, 3, 0, 'MODEL'],\n [2, 5, 0, 3, 3, 'LATENT'],\n [3, 4, 1, 6, 0, 'CLIP'],\n [4, 6, 0, 3, 1, 'CONDITIONING'],\n [5, 4, 1, 7, 0, 'CLIP'],\n [6, 7, 0, 3, 2, 'CONDITIONING'],\n [7, 3, 0, 8, 0, 'LATENT'],\n [8, 4, 2, 8, 1, 'VAE'],\n [9, 8, 0, 9, 0, 'IMAGE']\n ],\n groups: [],\n config: {},\n extra: {},\n version: 0.4\n}\n","// @ts-strict-ignore\nexport function getFromPngBuffer(buffer: ArrayBuffer) {\n // Get the PNG data as a Uint8Array\n const pngData = new Uint8Array(buffer)\n const dataView = new DataView(pngData.buffer)\n\n // Check that the PNG signature is present\n if (dataView.getUint32(0) !== 0x89504e47) {\n console.error('Not a valid PNG file')\n return\n }\n\n // Start searching for chunks after the PNG signature\n let offset = 8\n let txt_chunks: Record = {}\n // Loop through the chunks in the PNG file\n while (offset < pngData.length) {\n // Get the length of the chunk\n const length = dataView.getUint32(offset)\n // Get the chunk type\n const type = String.fromCharCode(...pngData.slice(offset + 4, offset + 8))\n if (type === 'tEXt' || type == 'comf' || type === 'iTXt') {\n // Get the keyword\n let keyword_end = offset + 8\n while (pngData[keyword_end] !== 0) {\n keyword_end++\n }\n const keyword = String.fromCharCode(\n ...pngData.slice(offset + 8, keyword_end)\n )\n // Get the text\n const contentArraySegment = pngData.slice(\n keyword_end + 1,\n offset + 8 + length\n )\n const contentJson = new TextDecoder('utf-8').decode(contentArraySegment)\n txt_chunks[keyword] = contentJson\n }\n\n offset += 12 + length\n }\n return txt_chunks\n}\n\nexport function getFromPngFile(file: File) {\n return new Promise>((r) => {\n const reader = new FileReader()\n reader.onload = (event) => {\n r(getFromPngBuffer(event.target.result as ArrayBuffer))\n }\n\n reader.readAsArrayBuffer(file)\n })\n}\n","// @ts-strict-ignore\nexport function getFromFlacBuffer(buffer: ArrayBuffer): Record {\n const dataView = new DataView(buffer)\n\n // Verify the FLAC signature\n const signature = String.fromCharCode(...new Uint8Array(buffer, 0, 4))\n if (signature !== 'fLaC') {\n console.error('Not a valid FLAC file')\n return\n }\n\n // Parse metadata blocks\n let offset = 4\n let vorbisComment = null\n while (offset < dataView.byteLength) {\n const isLastBlock = dataView.getUint8(offset) & 0x80\n const blockType = dataView.getUint8(offset) & 0x7f\n const blockSize = dataView.getUint32(offset, false) & 0xffffff\n offset += 4\n\n if (blockType === 4) {\n // Vorbis Comment block type\n vorbisComment = parseVorbisComment(\n new DataView(buffer, offset, blockSize)\n )\n }\n\n offset += blockSize\n if (isLastBlock) break\n }\n\n return vorbisComment\n}\n\nexport function getFromFlacFile(file: File): Promise> {\n return new Promise((r) => {\n const reader = new FileReader()\n reader.onload = function (event) {\n const arrayBuffer = event.target.result as ArrayBuffer\n r(getFromFlacBuffer(arrayBuffer))\n }\n reader.readAsArrayBuffer(file)\n })\n}\n\n// Function to parse the Vorbis Comment block\nfunction parseVorbisComment(dataView: DataView): Record {\n let offset = 0\n const vendorLength = dataView.getUint32(offset, true)\n offset += 4\n const vendorString = getString(dataView, offset, vendorLength)\n offset += vendorLength\n\n const userCommentListLength = dataView.getUint32(offset, true)\n offset += 4\n const comments = {}\n for (let i = 0; i < userCommentListLength; i++) {\n const commentLength = dataView.getUint32(offset, true)\n offset += 4\n const comment = getString(dataView, offset, commentLength)\n offset += commentLength\n\n const ind = comment.indexOf('=')\n const key = comment.substring(0, ind)\n\n comments[key] = comment.substring(ind + 1)\n }\n\n return comments\n}\n\nfunction getString(dataView: DataView, offset: number, length: number): string {\n let string = ''\n for (let i = 0; i < length; i++) {\n string += String.fromCharCode(dataView.getUint8(offset + i))\n }\n return string\n}\n","// @ts-strict-ignore\nimport { LiteGraph } from '@comfyorg/litegraph'\nimport { api } from './api'\nimport { getFromPngFile } from './metadata/png'\nimport { getFromFlacFile } from './metadata/flac'\n\n// Original functions left in for backwards compatibility\nexport function getPngMetadata(file: File): Promise> {\n return getFromPngFile(file)\n}\n\nexport function getFlacMetadata(file: File): Promise> {\n return getFromFlacFile(file)\n}\n\nfunction parseExifData(exifData) {\n // Check for the correct TIFF header (0x4949 for little-endian or 0x4D4D for big-endian)\n const isLittleEndian = String.fromCharCode(...exifData.slice(0, 2)) === 'II'\n\n // Function to read 16-bit and 32-bit integers from binary data\n function readInt(offset, isLittleEndian, length) {\n let arr = exifData.slice(offset, offset + length)\n if (length === 2) {\n return new DataView(arr.buffer, arr.byteOffset, arr.byteLength).getUint16(\n 0,\n isLittleEndian\n )\n } else if (length === 4) {\n return new DataView(arr.buffer, arr.byteOffset, arr.byteLength).getUint32(\n 0,\n isLittleEndian\n )\n }\n }\n\n // Read the offset to the first IFD (Image File Directory)\n const ifdOffset = readInt(4, isLittleEndian, 4)\n\n function parseIFD(offset) {\n const numEntries = readInt(offset, isLittleEndian, 2)\n const result = {}\n\n for (let i = 0; i < numEntries; i++) {\n const entryOffset = offset + 2 + i * 12\n const tag = readInt(entryOffset, isLittleEndian, 2)\n const type = readInt(entryOffset + 2, isLittleEndian, 2)\n const numValues = readInt(entryOffset + 4, isLittleEndian, 4)\n const valueOffset = readInt(entryOffset + 8, isLittleEndian, 4)\n\n // Read the value(s) based on the data type\n let value\n if (type === 2) {\n // ASCII string\n value = new TextDecoder('utf-8').decode(\n exifData.subarray(valueOffset, valueOffset + numValues - 1)\n )\n }\n\n result[tag] = value\n }\n\n return result\n }\n\n // Parse the first IFD\n const ifdData = parseIFD(ifdOffset)\n return ifdData\n}\n\nfunction splitValues(input) {\n var output = {}\n for (var key in input) {\n var value = input[key]\n var splitValues = value.split(':', 2)\n output[splitValues[0]] = splitValues[1]\n }\n return output\n}\n\nexport function getWebpMetadata(file) {\n return new Promise>((r) => {\n const reader = new FileReader()\n reader.onload = (event) => {\n const webp = new Uint8Array(event.target.result as ArrayBuffer)\n const dataView = new DataView(webp.buffer)\n\n // Check that the WEBP signature is present\n if (\n dataView.getUint32(0) !== 0x52494646 ||\n dataView.getUint32(8) !== 0x57454250\n ) {\n console.error('Not a valid WEBP file')\n r({})\n return\n }\n\n // Start searching for chunks after the WEBP signature\n let offset = 12\n let txt_chunks = {}\n // Loop through the chunks in the WEBP file\n while (offset < webp.length) {\n const chunk_length = dataView.getUint32(offset + 4, true)\n const chunk_type = String.fromCharCode(\n ...webp.slice(offset, offset + 4)\n )\n if (chunk_type === 'EXIF') {\n if (\n String.fromCharCode(...webp.slice(offset + 8, offset + 8 + 6)) ==\n 'Exif\\0\\0'\n ) {\n offset += 6\n }\n let data = parseExifData(\n webp.slice(offset + 8, offset + 8 + chunk_length)\n )\n for (var key in data) {\n const value = data[key] as string\n if (typeof value === 'string') {\n const index = value.indexOf(':')\n txt_chunks[value.slice(0, index)] = value.slice(index + 1)\n }\n }\n break\n }\n\n offset += 8 + chunk_length\n }\n\n r(txt_chunks)\n }\n\n reader.readAsArrayBuffer(file)\n })\n}\n\nexport function getLatentMetadata(file) {\n return new Promise((r) => {\n const reader = new FileReader()\n reader.onload = (event) => {\n const safetensorsData = new Uint8Array(event.target.result as ArrayBuffer)\n const dataView = new DataView(safetensorsData.buffer)\n let header_size = dataView.getUint32(0, true)\n let offset = 8\n let header = JSON.parse(\n new TextDecoder().decode(\n safetensorsData.slice(offset, offset + header_size)\n )\n )\n r(header.__metadata__)\n }\n\n var slice = file.slice(0, 1024 * 1024 * 4)\n reader.readAsArrayBuffer(slice)\n })\n}\n\nexport async function importA1111(graph, parameters) {\n const p = parameters.lastIndexOf('\\nSteps:')\n if (p > -1) {\n const embeddings = await api.getEmbeddings()\n const opts = parameters\n .substr(p)\n .split('\\n')[1]\n .match(\n new RegExp('\\\\s*([^:]+:\\\\s*([^\"\\\\{].*?|\".*?\"|\\\\{.*?\\\\}))\\\\s*(,|$)', 'g')\n )\n .reduce((p, n) => {\n const s = n.split(':')\n if (s[1].endsWith(',')) {\n s[1] = s[1].substr(0, s[1].length - 1)\n }\n p[s[0].trim().toLowerCase()] = s[1].trim()\n return p\n }, {})\n const p2 = parameters.lastIndexOf('\\nNegative prompt:', p)\n if (p2 > -1) {\n let positive = parameters.substr(0, p2).trim()\n let negative = parameters.substring(p2 + 18, p).trim()\n\n const ckptNode = LiteGraph.createNode('CheckpointLoaderSimple')\n const clipSkipNode = LiteGraph.createNode('CLIPSetLastLayer')\n const positiveNode = LiteGraph.createNode('CLIPTextEncode')\n const negativeNode = LiteGraph.createNode('CLIPTextEncode')\n const samplerNode = LiteGraph.createNode('KSampler')\n const imageNode = LiteGraph.createNode('EmptyLatentImage')\n const vaeNode = LiteGraph.createNode('VAEDecode')\n const vaeLoaderNode = LiteGraph.createNode('VAELoader')\n const saveNode = LiteGraph.createNode('SaveImage')\n let hrSamplerNode = null\n let hrSteps = null\n\n const ceil64 = (v) => Math.ceil(v / 64) * 64\n\n const getWidget = (node, name) => {\n return node.widgets.find((w) => w.name === name)\n }\n\n const setWidgetValue = (node, name, value, isOptionPrefix?) => {\n const w = getWidget(node, name)\n if (isOptionPrefix) {\n const o = w.options.values.find((w) => w.startsWith(value))\n if (o) {\n w.value = o\n } else {\n console.warn(`Unknown value '${value}' for widget '${name}'`, node)\n w.value = value\n }\n } else {\n w.value = value\n }\n }\n\n const createLoraNodes = (clipNode, text, prevClip, prevModel) => {\n const loras = []\n text = text.replace(/]+)>/g, function (m, c) {\n const s = c.split(':')\n const weight = parseFloat(s[1])\n if (isNaN(weight)) {\n console.warn('Invalid LORA', m)\n } else {\n loras.push({ name: s[0], weight })\n }\n return ''\n })\n\n for (const l of loras) {\n const loraNode = LiteGraph.createNode('LoraLoader')\n graph.add(loraNode)\n setWidgetValue(loraNode, 'lora_name', l.name, true)\n setWidgetValue(loraNode, 'strength_model', l.weight)\n setWidgetValue(loraNode, 'strength_clip', l.weight)\n prevModel.node.connect(prevModel.index, loraNode, 0)\n prevClip.node.connect(prevClip.index, loraNode, 1)\n prevModel = { node: loraNode, index: 0 }\n prevClip = { node: loraNode, index: 1 }\n }\n\n prevClip.node.connect(1, clipNode, 0)\n prevModel.node.connect(0, samplerNode, 0)\n if (hrSamplerNode) {\n prevModel.node.connect(0, hrSamplerNode, 0)\n }\n\n return { text, prevModel, prevClip }\n }\n\n const replaceEmbeddings = (text) => {\n if (!embeddings.length) return text\n return text.replaceAll(\n new RegExp(\n '\\\\b(' +\n embeddings\n .map((e) => e.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'))\n .join('\\\\b|\\\\b') +\n ')\\\\b',\n 'ig'\n ),\n 'embedding:$1'\n )\n }\n\n const popOpt = (name) => {\n const v = opts[name]\n delete opts[name]\n return v\n }\n\n graph.clear()\n graph.add(ckptNode)\n graph.add(clipSkipNode)\n graph.add(positiveNode)\n graph.add(negativeNode)\n graph.add(samplerNode)\n graph.add(imageNode)\n graph.add(vaeNode)\n graph.add(vaeLoaderNode)\n graph.add(saveNode)\n\n ckptNode.connect(1, clipSkipNode, 0)\n clipSkipNode.connect(0, positiveNode, 0)\n clipSkipNode.connect(0, negativeNode, 0)\n ckptNode.connect(0, samplerNode, 0)\n positiveNode.connect(0, samplerNode, 1)\n negativeNode.connect(0, samplerNode, 2)\n imageNode.connect(0, samplerNode, 3)\n vaeNode.connect(0, saveNode, 0)\n samplerNode.connect(0, vaeNode, 0)\n vaeLoaderNode.connect(0, vaeNode, 1)\n\n const handlers = {\n model(v) {\n setWidgetValue(ckptNode, 'ckpt_name', v, true)\n },\n vae(v) {\n setWidgetValue(vaeLoaderNode, 'vae_name', v, true)\n },\n 'cfg scale'(v) {\n setWidgetValue(samplerNode, 'cfg', +v)\n },\n 'clip skip'(v) {\n setWidgetValue(clipSkipNode, 'stop_at_clip_layer', -v)\n },\n sampler(v) {\n let name = v.toLowerCase().replace('++', 'pp').replaceAll(' ', '_')\n if (name.includes('karras')) {\n name = name.replace('karras', '').replace(/_+$/, '')\n setWidgetValue(samplerNode, 'scheduler', 'karras')\n } else {\n setWidgetValue(samplerNode, 'scheduler', 'normal')\n }\n const w = getWidget(samplerNode, 'sampler_name')\n const o = w.options.values.find(\n (w) => w === name || w === 'sample_' + name\n )\n if (o) {\n setWidgetValue(samplerNode, 'sampler_name', o)\n }\n },\n size(v) {\n const wxh = v.split('x')\n const w = ceil64(+wxh[0])\n const h = ceil64(+wxh[1])\n const hrUp = popOpt('hires upscale')\n const hrSz = popOpt('hires resize')\n hrSteps = popOpt('hires steps')\n let hrMethod = popOpt('hires upscaler')\n\n setWidgetValue(imageNode, 'width', w)\n setWidgetValue(imageNode, 'height', h)\n\n if (hrUp || hrSz) {\n let uw, uh\n if (hrUp) {\n uw = w * hrUp\n uh = h * hrUp\n } else {\n const s = hrSz.split('x')\n uw = +s[0]\n uh = +s[1]\n }\n\n let upscaleNode\n let latentNode\n\n if (hrMethod.startsWith('Latent')) {\n latentNode = upscaleNode = LiteGraph.createNode('LatentUpscale')\n graph.add(upscaleNode)\n samplerNode.connect(0, upscaleNode, 0)\n\n switch (hrMethod) {\n case 'Latent (nearest-exact)':\n hrMethod = 'nearest-exact'\n break\n }\n setWidgetValue(upscaleNode, 'upscale_method', hrMethod, true)\n } else {\n const decode = LiteGraph.createNode('VAEDecodeTiled')\n graph.add(decode)\n samplerNode.connect(0, decode, 0)\n vaeLoaderNode.connect(0, decode, 1)\n\n const upscaleLoaderNode =\n LiteGraph.createNode('UpscaleModelLoader')\n graph.add(upscaleLoaderNode)\n setWidgetValue(upscaleLoaderNode, 'model_name', hrMethod, true)\n\n const modelUpscaleNode = LiteGraph.createNode(\n 'ImageUpscaleWithModel'\n )\n graph.add(modelUpscaleNode)\n decode.connect(0, modelUpscaleNode, 1)\n upscaleLoaderNode.connect(0, modelUpscaleNode, 0)\n\n upscaleNode = LiteGraph.createNode('ImageScale')\n graph.add(upscaleNode)\n modelUpscaleNode.connect(0, upscaleNode, 0)\n\n const vaeEncodeNode = (latentNode =\n LiteGraph.createNode('VAEEncodeTiled'))\n graph.add(vaeEncodeNode)\n upscaleNode.connect(0, vaeEncodeNode, 0)\n vaeLoaderNode.connect(0, vaeEncodeNode, 1)\n }\n\n setWidgetValue(upscaleNode, 'width', ceil64(uw))\n setWidgetValue(upscaleNode, 'height', ceil64(uh))\n\n hrSamplerNode = LiteGraph.createNode('KSampler')\n graph.add(hrSamplerNode)\n ckptNode.connect(0, hrSamplerNode, 0)\n positiveNode.connect(0, hrSamplerNode, 1)\n negativeNode.connect(0, hrSamplerNode, 2)\n latentNode.connect(0, hrSamplerNode, 3)\n hrSamplerNode.connect(0, vaeNode, 0)\n }\n },\n steps(v) {\n setWidgetValue(samplerNode, 'steps', +v)\n },\n seed(v) {\n setWidgetValue(samplerNode, 'seed', +v)\n }\n }\n\n for (const opt in opts) {\n if (opt in handlers) {\n handlers[opt](popOpt(opt))\n }\n }\n\n if (hrSamplerNode) {\n setWidgetValue(\n hrSamplerNode,\n 'steps',\n hrSteps ? +hrSteps : getWidget(samplerNode, 'steps').value\n )\n setWidgetValue(\n hrSamplerNode,\n 'cfg',\n getWidget(samplerNode, 'cfg').value\n )\n setWidgetValue(\n hrSamplerNode,\n 'scheduler',\n getWidget(samplerNode, 'scheduler').value\n )\n setWidgetValue(\n hrSamplerNode,\n 'sampler_name',\n getWidget(samplerNode, 'sampler_name').value\n )\n setWidgetValue(\n hrSamplerNode,\n 'denoise',\n +(popOpt('denoising strength') || '1')\n )\n }\n\n let n = createLoraNodes(\n positiveNode,\n positive,\n { node: clipSkipNode, index: 0 },\n { node: ckptNode, index: 0 }\n )\n positive = n.text\n n = createLoraNodes(negativeNode, negative, n.prevClip, n.prevModel)\n negative = n.text\n\n setWidgetValue(positiveNode, 'text', replaceEmbeddings(positive))\n setWidgetValue(negativeNode, 'text', replaceEmbeddings(negative))\n\n graph.arrange()\n\n for (const opt of [\n 'model hash',\n 'ensd',\n 'version',\n 'vae hash',\n 'ti hashes',\n 'lora hashes',\n 'hashes'\n ]) {\n delete opts[opt]\n }\n\n console.warn('Unhandled parameters:', opts)\n }\n }\n}\n","// @ts-strict-ignore\nimport { app } from '../app'\nimport { $el } from '../ui'\n\nexport function calculateImageGrid(imgs, dw, dh) {\n let best = 0\n let w = imgs[0].naturalWidth\n let h = imgs[0].naturalHeight\n const numImages = imgs.length\n\n let cellWidth, cellHeight, cols, rows, shiftX\n // compact style\n for (let c = 1; c <= numImages; c++) {\n const r = Math.ceil(numImages / c)\n const cW = dw / c\n const cH = dh / r\n const scaleX = cW / w\n const scaleY = cH / h\n\n const scale = Math.min(scaleX, scaleY, 1)\n const imageW = w * scale\n const imageH = h * scale\n const area = imageW * imageH * numImages\n\n if (area > best) {\n best = area\n cellWidth = imageW\n cellHeight = imageH\n cols = c\n rows = r\n shiftX = c * ((cW - imageW) / 2)\n }\n }\n\n return { cellWidth, cellHeight, cols, rows, shiftX }\n}\n\nexport function createImageHost(node) {\n const el = $el('div.comfy-img-preview')\n let currentImgs\n let first = true\n\n function updateSize() {\n let w = null\n let h = null\n\n if (currentImgs) {\n let elH = el.clientHeight\n if (first) {\n first = false\n // On first run, if we are small then grow a bit\n if (elH < 190) {\n elH = 190\n }\n el.style.setProperty('--comfy-widget-min-height', elH.toString())\n } else {\n el.style.setProperty('--comfy-widget-min-height', null)\n }\n\n const nw = node.size[0]\n ;({ cellWidth: w, cellHeight: h } = calculateImageGrid(\n currentImgs,\n nw - 20,\n elH\n ))\n w += 'px'\n h += 'px'\n\n el.style.setProperty('--comfy-img-preview-width', w)\n el.style.setProperty('--comfy-img-preview-height', h)\n }\n }\n return {\n el,\n updateImages(imgs) {\n if (imgs !== currentImgs) {\n if (currentImgs == null) {\n requestAnimationFrame(() => {\n updateSize()\n })\n }\n el.replaceChildren(...imgs)\n currentImgs = imgs\n node.onResize(node.size)\n node.graph.setDirtyCanvas(true, true)\n }\n },\n getHeight() {\n updateSize()\n },\n onDraw() {\n // Element from point uses a hittest find elements so we need to toggle pointer events\n el.style.pointerEvents = 'all'\n const over = document.elementFromPoint(\n app.canvas.mouse[0],\n app.canvas.mouse[1]\n )\n el.style.pointerEvents = 'none'\n\n if (!over) return\n // Set the overIndex so Open Image etc work\n const idx = currentImgs.indexOf(over)\n node.overIndex = idx\n }\n }\n}\n","// @ts-strict-ignore\n/*\n Original implementation:\n https://github.com/TahaSh/drag-to-reorder\n MIT License\n\n Copyright (c) 2023 Taha Shashtari\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\nimport { $el } from '../ui'\n\n$el('style', {\n parent: document.head,\n textContent: `\n .draggable-item {\n position: relative;\n will-change: transform;\n user-select: none;\n }\n .draggable-item.is-idle {\n transition: 0.25s ease transform;\n }\n .draggable-item.is-draggable {\n z-index: 10;\n }\n `\n})\n\nexport class DraggableList extends EventTarget {\n listContainer\n draggableItem\n pointerStartX\n pointerStartY\n scrollYMax\n itemsGap = 0\n items = []\n itemSelector\n handleClass = 'drag-handle'\n off = []\n offDrag = []\n\n constructor(element, itemSelector) {\n super()\n this.listContainer = element\n this.itemSelector = itemSelector\n\n if (!this.listContainer) return\n\n this.off.push(this.on(this.listContainer, 'mousedown', this.dragStart))\n this.off.push(this.on(this.listContainer, 'touchstart', this.dragStart))\n this.off.push(this.on(document, 'mouseup', this.dragEnd))\n this.off.push(this.on(document, 'touchend', this.dragEnd))\n }\n\n getAllItems() {\n if (!this.items?.length) {\n this.items = Array.from(\n this.listContainer.querySelectorAll(this.itemSelector)\n )\n this.items.forEach((element) => {\n element.classList.add('is-idle')\n })\n }\n return this.items\n }\n\n getIdleItems() {\n return this.getAllItems().filter((item) =>\n item.classList.contains('is-idle')\n )\n }\n\n isItemAbove(item) {\n return item.hasAttribute('data-is-above')\n }\n\n isItemToggled(item) {\n return item.hasAttribute('data-is-toggled')\n }\n\n on(source, event, listener, options?) {\n listener = listener.bind(this)\n source.addEventListener(event, listener, options)\n return () => source.removeEventListener(event, listener)\n }\n\n dragStart(e) {\n if (e.target.classList.contains(this.handleClass)) {\n this.draggableItem = e.target.closest(this.itemSelector)\n }\n\n if (!this.draggableItem) return\n\n this.pointerStartX = e.clientX || e.touches[0].clientX\n this.pointerStartY = e.clientY || e.touches[0].clientY\n this.scrollYMax =\n this.listContainer.scrollHeight - this.listContainer.clientHeight\n\n this.setItemsGap()\n this.initDraggableItem()\n this.initItemsState()\n\n this.offDrag.push(this.on(document, 'mousemove', this.drag))\n this.offDrag.push(\n this.on(document, 'touchmove', this.drag, { passive: false })\n )\n\n this.dispatchEvent(\n new CustomEvent('dragstart', {\n detail: {\n element: this.draggableItem,\n position: this.getAllItems().indexOf(this.draggableItem)\n }\n })\n )\n }\n\n setItemsGap() {\n if (this.getIdleItems().length <= 1) {\n this.itemsGap = 0\n return\n }\n\n const item1 = this.getIdleItems()[0]\n const item2 = this.getIdleItems()[1]\n\n const item1Rect = item1.getBoundingClientRect()\n const item2Rect = item2.getBoundingClientRect()\n\n this.itemsGap = Math.abs(item1Rect.bottom - item2Rect.top)\n }\n\n initItemsState() {\n this.getIdleItems().forEach((item, i) => {\n if (this.getAllItems().indexOf(this.draggableItem) > i) {\n item.dataset.isAbove = ''\n }\n })\n }\n\n initDraggableItem() {\n this.draggableItem.classList.remove('is-idle')\n this.draggableItem.classList.add('is-draggable')\n }\n\n drag(e) {\n if (!this.draggableItem) return\n\n e.preventDefault()\n\n const clientX = e.clientX || e.touches[0].clientX\n const clientY = e.clientY || e.touches[0].clientY\n\n const listRect = this.listContainer.getBoundingClientRect()\n\n if (clientY > listRect.bottom) {\n if (this.listContainer.scrollTop < this.scrollYMax) {\n this.listContainer.scrollBy(0, 10)\n this.pointerStartY -= 10\n }\n } else if (clientY < listRect.top && this.listContainer.scrollTop > 0) {\n this.pointerStartY += 10\n this.listContainer.scrollBy(0, -10)\n }\n\n const pointerOffsetX = clientX - this.pointerStartX\n const pointerOffsetY = clientY - this.pointerStartY\n\n this.updateIdleItemsStateAndPosition()\n this.draggableItem.style.transform = `translate(${pointerOffsetX}px, ${pointerOffsetY}px)`\n }\n\n updateIdleItemsStateAndPosition() {\n const draggableItemRect = this.draggableItem.getBoundingClientRect()\n const draggableItemY = draggableItemRect.top + draggableItemRect.height / 2\n\n // Update state\n this.getIdleItems().forEach((item) => {\n const itemRect = item.getBoundingClientRect()\n const itemY = itemRect.top + itemRect.height / 2\n if (this.isItemAbove(item)) {\n if (draggableItemY <= itemY) {\n item.dataset.isToggled = ''\n } else {\n delete item.dataset.isToggled\n }\n } else {\n if (draggableItemY >= itemY) {\n item.dataset.isToggled = ''\n } else {\n delete item.dataset.isToggled\n }\n }\n })\n\n // Update position\n this.getIdleItems().forEach((item) => {\n if (this.isItemToggled(item)) {\n const direction = this.isItemAbove(item) ? 1 : -1\n item.style.transform = `translateY(${direction * (draggableItemRect.height + this.itemsGap)}px)`\n } else {\n item.style.transform = ''\n }\n })\n }\n\n dragEnd() {\n if (!this.draggableItem) return\n\n this.applyNewItemsOrder()\n this.cleanup()\n }\n\n applyNewItemsOrder() {\n const reorderedItems = []\n\n let oldPosition = -1\n this.getAllItems().forEach((item, index) => {\n if (item === this.draggableItem) {\n oldPosition = index\n return\n }\n if (!this.isItemToggled(item)) {\n reorderedItems[index] = item\n return\n }\n const newIndex = this.isItemAbove(item) ? index + 1 : index - 1\n reorderedItems[newIndex] = item\n })\n\n for (let index = 0; index < this.getAllItems().length; index++) {\n const item = reorderedItems[index]\n if (typeof item === 'undefined') {\n reorderedItems[index] = this.draggableItem\n }\n }\n\n reorderedItems.forEach((item) => {\n this.listContainer.appendChild(item)\n })\n\n this.items = reorderedItems\n\n this.dispatchEvent(\n new CustomEvent('dragend', {\n detail: {\n element: this.draggableItem,\n oldPosition,\n newPosition: reorderedItems.indexOf(this.draggableItem)\n }\n })\n )\n }\n\n cleanup() {\n this.itemsGap = 0\n this.items = []\n this.unsetDraggableItem()\n this.unsetItemState()\n\n this.offDrag.forEach((f) => f())\n this.offDrag = []\n }\n\n unsetDraggableItem() {\n this.draggableItem.style = null\n this.draggableItem.classList.remove('is-draggable')\n this.draggableItem.classList.add('is-idle')\n this.draggableItem = null\n }\n\n unsetItemState() {\n this.getIdleItems().forEach((item, i) => {\n delete item.dataset.isAbove\n delete item.dataset.isToggled\n item.style.transform = ''\n })\n }\n\n dispose() {\n this.off.forEach((f) => f())\n }\n}\n","// @ts-strict-ignore\nimport { api } from './api'\nimport type { ComfyApp } from './app'\nimport { $el } from './ui'\n\n// Simple date formatter\nconst parts = {\n d: (d) => d.getDate(),\n M: (d) => d.getMonth() + 1,\n h: (d) => d.getHours(),\n m: (d) => d.getMinutes(),\n s: (d) => d.getSeconds()\n}\nconst format =\n Object.keys(parts)\n .map((k) => k + k + '?')\n .join('|') + '|yyy?y?'\n\nfunction formatDate(text: string, date: Date) {\n return text.replace(new RegExp(format, 'g'), (text: string): string => {\n if (text === 'yy') return (date.getFullYear() + '').substring(2)\n if (text === 'yyyy') return date.getFullYear().toString()\n if (text[0] in parts) {\n const p = parts[text[0]](date)\n return (p + '').padStart(text.length, '0')\n }\n return text\n })\n}\n\nexport function clone(obj) {\n try {\n if (typeof structuredClone !== 'undefined') {\n return structuredClone(obj)\n }\n } catch (error) {\n // structuredClone is stricter than using JSON.parse/stringify so fallback to that\n }\n\n return JSON.parse(JSON.stringify(obj))\n}\n\nexport function applyTextReplacements(app: ComfyApp, value: string): string {\n return value.replace(/%([^%]+)%/g, function (match, text) {\n const split = text.split('.')\n if (split.length !== 2) {\n // Special handling for dates\n if (split[0].startsWith('date:')) {\n return formatDate(split[0].substring(5), new Date())\n }\n\n if (text !== 'width' && text !== 'height') {\n // Dont warn on standard replacements\n console.warn('Invalid replacement pattern', text)\n }\n return match\n }\n\n // Find node with matching S&R property name\n let nodes = app.graph.nodes.filter(\n (n) => n.properties?.['Node name for S&R'] === split[0]\n )\n // If we cant, see if there is a node with that title\n if (!nodes.length) {\n nodes = app.graph.nodes.filter((n) => n.title === split[0])\n }\n if (!nodes.length) {\n console.warn('Unable to find node', split[0])\n return match\n }\n\n if (nodes.length > 1) {\n console.warn('Multiple nodes matched', split[0], 'using first match')\n }\n\n const node = nodes[0]\n\n const widget = node.widgets?.find((w) => w.name === split[1])\n if (!widget) {\n console.warn('Unable to find widget', split[1], 'on node', split[0], node)\n return match\n }\n\n return ((widget.value ?? '') + '').replaceAll(/\\/|\\\\/g, '_')\n })\n}\n\nexport async function addStylesheet(\n urlOrFile: string,\n relativeTo?: string\n): Promise {\n return new Promise((res, rej) => {\n let url\n if (urlOrFile.endsWith('.js')) {\n url = urlOrFile.substr(0, urlOrFile.length - 2) + 'css'\n } else {\n url = new URL(\n urlOrFile,\n relativeTo ?? `${window.location.protocol}//${window.location.host}`\n ).toString()\n }\n $el('link', {\n parent: document.head,\n rel: 'stylesheet',\n type: 'text/css',\n href: url,\n onload: res,\n onerror: rej\n })\n })\n}\n\n/**\n * @param { string } filename\n * @param { Blob } blob\n */\nexport function downloadBlob(filename, blob) {\n const url = URL.createObjectURL(blob)\n const a = $el('a', {\n href: url,\n download: filename,\n style: { display: 'none' },\n parent: document.body\n })\n a.click()\n setTimeout(function () {\n a.remove()\n window.URL.revokeObjectURL(url)\n }, 0)\n}\n\nexport function prop(\n target: object,\n name: string,\n defaultValue: T,\n onChanged?: (\n currentValue: T,\n previousValue: T,\n target: object,\n name: string\n ) => void\n): T {\n let currentValue\n Object.defineProperty(target, name, {\n get() {\n return currentValue\n },\n set(newValue) {\n const prevValue = currentValue\n currentValue = newValue\n onChanged?.(currentValue, prevValue, target, name)\n }\n })\n return defaultValue\n}\n\nexport function getStorageValue(id: string) {\n const clientId = api.clientId ?? api.initialClientId\n return (\n (clientId && sessionStorage.getItem(`${id}:${clientId}`)) ??\n localStorage.getItem(id)\n )\n}\n\nexport function setStorageValue(id: string, value: string) {\n const clientId = api.clientId ?? api.initialClientId\n if (clientId) {\n sessionStorage.setItem(`${id}:${clientId}`, value)\n }\n localStorage.setItem(id, value)\n}\n","import { memoize } from 'lodash'\n\ntype RGB = { r: number; g: number; b: number }\ntype HSL = { h: number; s: number; l: number }\ntype HSLA = { h: number; s: number; l: number; a: number }\ntype ColorFormat = 'hex' | 'rgb' | 'rgba' | 'hsl' | 'hsla'\n\nexport interface ColorAdjustOptions {\n lightness?: number\n opacity?: number\n}\n\nfunction rgbToHsl({ r, g, b }: RGB): HSL {\n r /= 255\n g /= 255\n b /= 255\n const max = Math.max(r, g, b),\n min = Math.min(r, g, b)\n let h = 0,\n s = 0\n const l: number = (max + min) / 2\n\n if (max !== min) {\n const d = max - min\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min)\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0)\n break\n case g:\n h = (b - r) / d + 2\n break\n case b:\n h = (r - g) / d + 4\n break\n }\n h /= 6\n }\n\n return { h, s, l }\n}\n\nfunction hexToRgb(hex: string): RGB {\n let r = 0,\n g = 0,\n b = 0\n // 3 digits\n if (hex.length == 4) {\n r = parseInt(hex[1] + hex[1], 16)\n g = parseInt(hex[2] + hex[2], 16)\n b = parseInt(hex[3] + hex[3], 16)\n }\n // 6 digits\n else if (hex.length == 7) {\n r = parseInt(hex.slice(1, 3), 16)\n g = parseInt(hex.slice(3, 5), 16)\n b = parseInt(hex.slice(5, 7), 16)\n }\n return { r, g, b }\n}\n\nconst identifyColorFormat = (color: string): ColorFormat | null => {\n if (!color) return null\n if (color.startsWith('#') && (color.length === 4 || color.length === 7))\n return 'hex'\n if (/rgba?\\(\\s*\\d+\\s*,\\s*\\d+\\s*,\\s*\\d+\\s*/.test(color))\n return color.includes('rgba') ? 'rgba' : 'rgb'\n if (/hsla?\\(\\s*\\d+(\\.\\d+)?\\s*,\\s*\\d+(\\.\\d+)?%\\s*,\\s*\\d+(\\.\\d+)?%/.test(color))\n return color.includes('hsla') ? 'hsla' : 'hsl'\n return null\n}\n\nconst isHSLA = (color: unknown): color is HSLA => {\n if (typeof color !== 'object' || color === null) return false\n\n return ['h', 's', 'l', 'a'].every(\n (key) =>\n typeof (color as Record)[key] === 'number' &&\n !isNaN((color as Record)[key])\n )\n}\n\nfunction parseToHSLA(color: string, format: ColorFormat): HSLA | null {\n let match: RegExpMatchArray | null\n\n switch (format) {\n case 'hex': {\n const hsl = rgbToHsl(hexToRgb(color))\n return {\n h: Math.round(hsl.h * 360),\n s: +(hsl.s * 100).toFixed(1),\n l: +(hsl.l * 100).toFixed(1),\n a: 1\n }\n }\n\n case 'rgb':\n case 'rgba': {\n match = color.match(/\\d+(\\.\\d+)?/g)\n if (!match || match.length < 3) return null\n const [r, g, b] = match.map(Number)\n const hsl = rgbToHsl({ r, g, b })\n\n const a = format === 'rgba' && match[3] ? parseFloat(match[3]) : 1\n\n return {\n h: Math.round(hsl.h * 360),\n s: +(hsl.s * 100).toFixed(1),\n l: +(hsl.l * 100).toFixed(1),\n a\n }\n }\n\n case 'hsl':\n case 'hsla': {\n match = color.match(/\\d+(\\.\\d+)?/g)\n if (!match || match.length < 3) return null\n const [h, s, l] = match.map(Number)\n const a = format === 'hsla' && match[3] ? parseFloat(match[3]) : 1\n return { h, s, l, a }\n }\n default:\n return null\n }\n}\n\nconst applyColorAdjustments = (\n color: string,\n options: ColorAdjustOptions\n): string => {\n if (!Object.keys(options).length) return color\n\n const format = identifyColorFormat(color)\n if (!format) {\n console.warn(`Unsupported color format in color palette: ${color}`)\n return color\n }\n\n const hsla = parseToHSLA(color, format)\n if (!isHSLA(hsla)) {\n console.warn(`Invalid color values in color palette: ${color}`)\n return color\n }\n\n if (options.lightness) {\n hsla.l = Math.max(0, Math.min(100, hsla.l + options.lightness * 100.0))\n }\n\n if (options.opacity) {\n hsla.a = Math.max(0, Math.min(1, options.opacity))\n }\n\n return `hsla(${hsla.h}, ${hsla.s}%, ${hsla.l}%, ${hsla.a})`\n}\n\nexport const adjustColor: (\n color: string,\n options: ColorAdjustOptions\n) => string = memoize(\n applyColorAdjustments,\n (color: string, options: ColorAdjustOptions): string =>\n `${color}-${JSON.stringify(options)}`\n)\n","// @ts-strict-ignore\nimport { $el } from '../../ui'\nimport { ComfyButton } from './button'\nimport { prop } from '../../utils'\n\nexport class ComfyButtonGroup {\n element = $el('div.comfyui-button-group')\n buttons: (HTMLElement | ComfyButton)[]\n\n constructor(...buttons: (HTMLElement | ComfyButton)[]) {\n this.buttons = prop(this, 'buttons', buttons, () => this.update())\n }\n\n insert(button: ComfyButton, index: number) {\n this.buttons.splice(index, 0, button)\n this.update()\n }\n\n append(button: ComfyButton) {\n this.buttons.push(button)\n this.update()\n }\n\n remove(indexOrButton: ComfyButton | number) {\n if (typeof indexOrButton !== 'number') {\n indexOrButton = this.buttons.indexOf(indexOrButton)\n }\n if (indexOrButton > -1) {\n const r = this.buttons.splice(indexOrButton, 1)\n this.update()\n return r\n }\n }\n\n update() {\n this.element.replaceChildren(...this.buttons.map((b) => b['element'] ?? b))\n }\n}\n","// @ts-strict-ignore\nexport type ClassList = string | string[] | Record\n\nexport function applyClasses(\n element: HTMLElement,\n classList: ClassList,\n ...requiredClasses: string[]\n) {\n classList ??= ''\n\n let str: string\n if (typeof classList === 'string') {\n str = classList\n } else if (classList instanceof Array) {\n str = classList.join(' ')\n } else {\n str = Object.entries(classList).reduce((p, c) => {\n if (c[1]) {\n p += (p.length ? ' ' : '') + c[0]\n }\n return p\n }, '')\n }\n element.className = str\n if (requiredClasses) {\n element.classList.add(...requiredClasses)\n }\n}\n\nexport function toggleElement(\n element: HTMLElement,\n {\n onHide,\n onShow\n }: {\n onHide?: (el: HTMLElement) => void\n onShow?: (el: HTMLElement, value) => void\n } = {}\n) {\n let placeholder: HTMLElement | Comment\n let hidden: boolean\n return (value) => {\n if (value) {\n if (hidden) {\n hidden = false\n placeholder.replaceWith(element)\n }\n onShow?.(element, value)\n } else {\n if (!placeholder) {\n placeholder = document.createComment('')\n }\n hidden = true\n element.replaceWith(placeholder)\n onHide?.(element)\n }\n }\n}\n","// @ts-strict-ignore\nimport { $el } from '../../ui'\nimport { applyClasses, ClassList, toggleElement } from '../utils'\nimport { prop } from '../../utils'\nimport type { ComfyPopup } from './popup'\nimport type { ComfyComponent } from '.'\nimport type { ComfyApp } from '@/scripts/app'\nimport { Settings } from '@/types/apiTypes'\n\ntype ComfyButtonProps = {\n icon?: string\n overIcon?: string\n iconSize?: number\n content?: string | HTMLElement\n tooltip?: string\n enabled?: boolean\n action?: (e: Event, btn: ComfyButton) => void\n classList?: ClassList\n visibilitySetting?: { id: keyof Settings; showValue: boolean }\n app?: ComfyApp\n}\n\nexport class ComfyButton implements ComfyComponent {\n #over = 0\n #popupOpen = false\n isOver = false\n iconElement = $el('i.mdi')\n contentElement = $el('span')\n popup: ComfyPopup\n element: HTMLElement\n overIcon: string\n iconSize: number\n content: string | HTMLElement\n icon: string\n tooltip: string\n classList: ClassList\n hidden: boolean\n enabled: boolean\n action: (e: Event, btn: ComfyButton) => void\n\n constructor({\n icon,\n overIcon,\n iconSize,\n content,\n tooltip,\n action,\n classList = 'comfyui-button',\n visibilitySetting,\n app,\n enabled = true\n }: ComfyButtonProps) {\n this.element = $el(\n 'button',\n {\n onmouseenter: () => {\n this.isOver = true\n if (this.overIcon) {\n this.updateIcon()\n }\n },\n onmouseleave: () => {\n this.isOver = false\n if (this.overIcon) {\n this.updateIcon()\n }\n }\n },\n [this.iconElement, this.contentElement]\n )\n\n this.icon = prop(\n this,\n 'icon',\n icon,\n toggleElement(this.iconElement, { onShow: this.updateIcon })\n )\n this.overIcon = prop(this, 'overIcon', overIcon, () => {\n if (this.isOver) {\n this.updateIcon()\n }\n })\n this.iconSize = prop(this, 'iconSize', iconSize, this.updateIcon)\n this.content = prop(\n this,\n 'content',\n content,\n toggleElement(this.contentElement, {\n onShow: (el, v) => {\n if (typeof v === 'string') {\n el.textContent = v\n } else {\n el.replaceChildren(v)\n }\n }\n })\n )\n\n this.tooltip = prop(this, 'tooltip', tooltip, (v) => {\n if (v) {\n this.element.title = v\n } else {\n this.element.removeAttribute('title')\n }\n })\n if (tooltip !== undefined) {\n this.element.setAttribute('aria-label', tooltip)\n }\n this.classList = prop(this, 'classList', classList, this.updateClasses)\n this.hidden = prop(this, 'hidden', false, this.updateClasses)\n this.enabled = prop(this, 'enabled', enabled, () => {\n this.updateClasses()\n ;(this.element as HTMLButtonElement).disabled = !this.enabled\n })\n this.action = prop(this, 'action', action)\n this.element.addEventListener('click', (e) => {\n if (this.popup) {\n // we are either a touch device or triggered by click not hover\n if (!this.#over) {\n this.popup.toggle()\n }\n }\n this.action?.(e, this)\n })\n\n if (visibilitySetting?.id) {\n const settingUpdated = () => {\n this.hidden =\n app.ui.settings.getSettingValue(visibilitySetting.id) !==\n visibilitySetting.showValue\n }\n app.ui.settings.addEventListener(\n visibilitySetting.id + '.change',\n settingUpdated\n )\n settingUpdated()\n }\n }\n\n updateIcon = () =>\n (this.iconElement.className = `mdi mdi-${(this.isOver && this.overIcon) || this.icon}${this.iconSize ? ' mdi-' + this.iconSize + 'px' : ''}`)\n updateClasses = () => {\n const internalClasses = []\n if (this.hidden) {\n internalClasses.push('hidden')\n }\n if (!this.enabled) {\n internalClasses.push('disabled')\n }\n if (this.popup) {\n if (this.#popupOpen) {\n internalClasses.push('popup-open')\n } else {\n internalClasses.push('popup-closed')\n }\n }\n applyClasses(this.element, this.classList, ...internalClasses)\n }\n\n withPopup(popup: ComfyPopup, mode: 'click' | 'hover' = 'click') {\n this.popup = popup\n\n if (mode === 'hover') {\n for (const el of [this.element, this.popup.element]) {\n el.addEventListener('mouseenter', () => {\n this.popup.open = !!++this.#over\n })\n el.addEventListener('mouseleave', () => {\n this.popup.open = !!--this.#over\n })\n }\n }\n\n popup.addEventListener('change', () => {\n this.#popupOpen = popup.open\n this.updateClasses()\n })\n\n return this\n }\n}\n","// @ts-strict-ignore\nimport { prop } from '../../utils'\nimport { $el } from '../../ui'\nimport { applyClasses, ClassList } from '../utils'\n\nexport class ComfyPopup extends EventTarget {\n element = $el('div.comfyui-popup')\n open: boolean\n children: HTMLElement[]\n target: HTMLElement\n ignoreTarget: boolean\n container: HTMLElement\n position: string\n closeOnEscape: boolean\n horizontal: string\n classList: ClassList\n\n constructor(\n {\n target,\n container = document.body,\n classList = '',\n ignoreTarget = true,\n closeOnEscape = true,\n position = 'absolute',\n horizontal = 'left'\n }: {\n target: HTMLElement\n container?: HTMLElement\n classList?: ClassList\n ignoreTarget?: boolean\n closeOnEscape?: boolean\n position?: 'absolute' | 'relative'\n horizontal?: 'left' | 'right'\n },\n ...children: HTMLElement[]\n ) {\n super()\n this.target = target\n this.ignoreTarget = ignoreTarget\n this.container = container\n this.position = position\n this.closeOnEscape = closeOnEscape\n this.horizontal = horizontal\n\n container.append(this.element)\n\n this.children = prop(this, 'children', children, () => {\n this.element.replaceChildren(...this.children)\n this.update()\n })\n this.classList = prop(this, 'classList', classList, () =>\n applyClasses(this.element, this.classList, 'comfyui-popup', horizontal)\n )\n this.open = prop(this, 'open', false, (v, o) => {\n if (v === o) return\n if (v) {\n this.#show()\n } else {\n this.#hide()\n }\n })\n }\n\n toggle() {\n this.open = !this.open\n }\n\n #hide() {\n this.element.classList.remove('open')\n window.removeEventListener('resize', this.update)\n window.removeEventListener('click', this.#clickHandler, { capture: true })\n window.removeEventListener('keydown', this.#escHandler, { capture: true })\n\n this.dispatchEvent(new CustomEvent('close'))\n this.dispatchEvent(new CustomEvent('change'))\n }\n\n #show() {\n this.element.classList.add('open')\n this.update()\n\n window.addEventListener('resize', this.update)\n window.addEventListener('click', this.#clickHandler, { capture: true })\n if (this.closeOnEscape) {\n window.addEventListener('keydown', this.#escHandler, { capture: true })\n }\n\n this.dispatchEvent(new CustomEvent('open'))\n this.dispatchEvent(new CustomEvent('change'))\n }\n\n #escHandler = (e) => {\n if (e.key === 'Escape') {\n this.open = false\n e.preventDefault()\n e.stopImmediatePropagation()\n }\n }\n\n #clickHandler = (e) => {\n /** @type {any} */\n const target = e.target\n if (\n !this.element.contains(target) &&\n this.ignoreTarget &&\n !this.target.contains(target)\n ) {\n this.open = false\n }\n }\n\n update = () => {\n const rect = this.target.getBoundingClientRect()\n this.element.style.setProperty('--bottom', 'unset')\n if (this.position === 'absolute') {\n if (this.horizontal === 'left') {\n this.element.style.setProperty('--left', rect.left + 'px')\n } else {\n this.element.style.setProperty(\n '--left',\n rect.right - this.element.clientWidth + 'px'\n )\n }\n this.element.style.setProperty('--top', rect.bottom + 'px')\n this.element.style.setProperty('--limit', rect.bottom + 'px')\n } else {\n this.element.style.setProperty('--left', 0 + 'px')\n this.element.style.setProperty('--top', rect.height + 'px')\n this.element.style.setProperty('--limit', rect.height + 'px')\n }\n\n const thisRect = this.element.getBoundingClientRect()\n if (thisRect.height < 30) {\n // Move up instead\n this.element.style.setProperty('--top', 'unset')\n this.element.style.setProperty('--bottom', rect.height + 5 + 'px')\n this.element.style.setProperty('--limit', rect.height + 5 + 'px')\n }\n }\n}\n","import { $el } from '../../ui'\nimport { ComfyButton } from './button'\nimport { prop } from '../../utils'\nimport { ComfyPopup } from './popup'\n\nexport class ComfySplitButton {\n arrow: ComfyButton\n element: HTMLElement\n popup: ComfyPopup\n items: Array\n\n constructor(\n {\n primary,\n mode,\n horizontal = 'left',\n position = 'relative'\n }: {\n primary: ComfyButton\n mode?: 'hover' | 'click'\n horizontal?: 'left' | 'right'\n position?: 'relative' | 'absolute'\n },\n ...items: Array\n ) {\n this.arrow = new ComfyButton({\n icon: 'chevron-down'\n })\n this.element = $el(\n 'div.comfyui-split-button' + (mode === 'hover' ? '.hover' : ''),\n [\n $el(\n 'div.comfyui-split-primary',\n {\n ariaLabel: 'Queue current workflow'\n },\n primary.element\n ),\n $el(\n 'div.comfyui-split-arrow',\n {\n ariaLabel: 'Open extra opens',\n ariaHasPopup: 'true'\n },\n this.arrow.element\n )\n ]\n )\n this.popup = new ComfyPopup({\n target: this.element,\n container: position === 'relative' ? this.element : document.body,\n classList:\n 'comfyui-split-button-popup' + (mode === 'hover' ? ' hover' : ''),\n closeOnEscape: mode === 'click',\n position,\n horizontal\n })\n\n this.arrow.withPopup(this.popup, mode)\n\n this.items = prop(this, 'items', items, () => this.update())\n }\n\n update() {\n this.popup.element.replaceChildren(\n ...this.items.map((b) => ('element' in b ? b.element : b))\n )\n }\n}\n","import type { ComfyApp } from '@/scripts/app'\nimport { $el } from '../../ui'\nimport { downloadBlob } from '../../utils'\nimport { ComfyButtonGroup } from '../components/buttonGroup'\nimport { showPromptDialog } from '@/services/dialogService'\nimport { useSettingStore } from '@/stores/settingStore'\nimport './menu.css'\n\n// Export to make sure following components are shimmed and exported by vite\nexport { ComfyButton } from '../components/button'\nexport { ComfySplitButton } from '../components/splitButton'\nexport { ComfyPopup } from '../components/popup'\n\nexport class ComfyAppMenu {\n app: ComfyApp\n actionsGroup: ComfyButtonGroup\n settingsGroup: ComfyButtonGroup\n viewGroup: ComfyButtonGroup\n element: HTMLElement\n\n constructor(app: ComfyApp) {\n this.app = app\n\n // Keep the group as there are custom scripts attaching extra\n // elements to it.\n this.actionsGroup = new ComfyButtonGroup()\n this.settingsGroup = new ComfyButtonGroup()\n this.viewGroup = new ComfyButtonGroup()\n\n this.element = $el('div.flex.gap-2.mx-2', [\n this.actionsGroup.element,\n this.settingsGroup.element,\n this.viewGroup.element\n ])\n }\n\n async getFilename(defaultName: string): Promise {\n if (useSettingStore().get('Comfy.PromptFilename')) {\n let filename = await showPromptDialog({\n title: 'Export Workflow',\n message: 'Enter the filename:',\n defaultValue: defaultName\n })\n if (!filename) return null\n if (!filename.toLowerCase().endsWith('.json')) {\n filename += '.json'\n }\n return filename\n }\n return defaultName\n }\n\n async exportWorkflow(\n filename: string,\n promptProperty: 'workflow' | 'output'\n ): Promise {\n if (this.app.workflowManager.activeWorkflow?.path) {\n filename = this.app.workflowManager.activeWorkflow.name\n }\n const p = await this.app.graphToPrompt()\n const json = JSON.stringify(p[promptProperty], null, 2)\n const blob = new Blob([json], { type: 'application/json' })\n const file = await this.getFilename(filename)\n if (!file) return\n downloadBlob(file, blob)\n }\n}\n","import { ref, computed } from 'vue'\nimport { defineStore } from 'pinia'\nimport { api } from '@/scripts/api'\nimport { ComfyWorkflow } from '@/scripts/workflows'\nimport type { ComfyNode, ComfyWorkflowJSON } from '@/types/comfyWorkflow'\nimport type {\n ExecutedWsMessage,\n ExecutingWsMessage,\n ExecutionCachedWsMessage,\n ExecutionStartWsMessage,\n ProgressWsMessage\n} from '@/types/apiTypes'\n\nexport interface QueuedPrompt {\n nodes: Record\n workflow?: ComfyWorkflow\n}\n\nexport const useExecutionStore = defineStore('execution', () => {\n const activePromptId = ref(null)\n const queuedPrompts = ref>({})\n const executingNodeId = ref(null)\n const executingNode = computed(() => {\n if (!executingNodeId.value) return null\n\n const workflow: ComfyWorkflow | undefined = activePrompt.value?.workflow\n if (!workflow) return null\n\n const canvasState: ComfyWorkflowJSON | null =\n workflow.changeTracker?.activeState ?? null\n if (!canvasState) return null\n\n return (\n canvasState.nodes.find(\n (n: ComfyNode) => String(n.id) === executingNodeId.value\n ) ?? null\n )\n })\n\n // This is the progress of the currently executing node, if any\n const _executingNodeProgress = ref(null)\n const executingNodeProgress = computed(() =>\n _executingNodeProgress.value\n ? Math.round(\n (_executingNodeProgress.value.value /\n _executingNodeProgress.value.max) *\n 100\n )\n : null\n )\n\n const activePrompt = computed(\n () => queuedPrompts.value[activePromptId.value ?? '']\n )\n\n const totalNodesToExecute = computed(() => {\n if (!activePrompt.value) return 0\n return Object.values(activePrompt.value.nodes).length\n })\n\n const isIdle = computed(() => !activePromptId.value)\n\n const nodesExecuted = computed(() => {\n if (!activePrompt.value) return 0\n return Object.values(activePrompt.value.nodes).filter(Boolean).length\n })\n\n const executionProgress = computed(() => {\n if (!activePrompt.value) return 0\n const total = totalNodesToExecute.value\n const done = nodesExecuted.value\n return Math.round((done / total) * 100)\n })\n\n function bindExecutionEvents() {\n api.addEventListener(\n 'execution_start',\n handleExecutionStart as EventListener\n )\n api.addEventListener(\n 'execution_cached',\n handleExecutionCached as EventListener\n )\n api.addEventListener('executed', handleExecuted as EventListener)\n api.addEventListener('executing', handleExecuting as EventListener)\n api.addEventListener('progress', handleProgress as EventListener)\n }\n\n function unbindExecutionEvents() {\n api.removeEventListener(\n 'execution_start',\n handleExecutionStart as EventListener\n )\n api.removeEventListener(\n 'execution_cached',\n handleExecutionCached as EventListener\n )\n api.removeEventListener('executed', handleExecuted as EventListener)\n api.removeEventListener('executing', handleExecuting as EventListener)\n api.removeEventListener('progress', handleProgress as EventListener)\n }\n\n function handleExecutionStart(e: CustomEvent) {\n activePromptId.value = e.detail.prompt_id\n queuedPrompts.value[activePromptId.value] ??= { nodes: {} }\n }\n\n function handleExecutionCached(e: CustomEvent) {\n if (!activePrompt.value) return\n for (const n of e.detail.nodes) {\n activePrompt.value.nodes[n] = true\n }\n }\n\n function handleExecuted(e: CustomEvent) {\n if (!activePrompt.value) return\n activePrompt.value.nodes[e.detail.node] = true\n }\n\n function handleExecuting(e: CustomEvent) {\n // Clear the current node progress when a new node starts executing\n _executingNodeProgress.value = null\n\n if (!activePrompt.value) return\n\n if (executingNodeId.value && activePrompt.value) {\n // Seems sometimes nodes that are cached fire executing but not executed\n activePrompt.value.nodes[executingNodeId.value] = true\n }\n executingNodeId.value = e.detail ? String(e.detail) : null\n if (!executingNodeId.value) {\n if (activePromptId.value) {\n delete queuedPrompts.value[activePromptId.value]\n }\n activePromptId.value = null\n }\n }\n\n function handleProgress(e: CustomEvent) {\n _executingNodeProgress.value = e.detail\n }\n\n function storePrompt({\n nodes,\n id,\n workflow\n }: {\n nodes: string[]\n id: string\n workflow: ComfyWorkflow\n }) {\n queuedPrompts.value[id] ??= { nodes: {} }\n const queuedPrompt = queuedPrompts.value[id]\n queuedPrompt.nodes = {\n ...nodes.reduce((p: Record, n) => {\n p[n] = false\n return p\n }, {}),\n ...queuedPrompt.nodes\n }\n queuedPrompt.workflow = workflow\n\n console.debug(\n `queued task ${id} with ${Object.values(queuedPrompt.nodes).length} nodes`\n )\n }\n\n return {\n isIdle,\n activePromptId,\n queuedPrompts,\n executingNodeId,\n activePrompt,\n totalNodesToExecute,\n nodesExecuted,\n executionProgress,\n executingNode,\n executingNodeProgress,\n bindExecutionEvents,\n unbindExecutionEvents,\n storePrompt\n }\n})\n","import type { ComfyApp } from './app'\nimport { api } from './api'\nimport { clone } from './utils'\nimport { LGraphCanvas, LiteGraph } from '@comfyorg/litegraph'\nimport { ComfyWorkflow } from './workflows'\nimport type { ComfyWorkflowJSON } from '@/types/comfyWorkflow'\nimport { LGraphNode } from '@comfyorg/litegraph'\nimport { ExecutedWsMessage } from '@/types/apiTypes'\nimport { useExecutionStore } from '@/stores/executionStore'\n\nexport class ChangeTracker {\n static MAX_HISTORY = 50\n #app?: ComfyApp\n undoQueue: ComfyWorkflowJSON[] = []\n redoQueue: ComfyWorkflowJSON[] = []\n activeState: ComfyWorkflowJSON | null = null\n isOurLoad: boolean = false\n changeCount: number = 0\n\n ds?: { scale: number; offset: [number, number] }\n nodeOutputs?: Record\n\n get app(): ComfyApp {\n // Global tracker has #app set, while other trackers have workflow bounded\n return this.#app ?? this.workflow.manager.app\n }\n\n constructor(public workflow: ComfyWorkflow) {}\n\n #setApp(app: ComfyApp) {\n this.#app = app\n }\n\n store() {\n this.ds = {\n scale: this.app.canvas.ds.scale,\n offset: [this.app.canvas.ds.offset[0], this.app.canvas.ds.offset[1]]\n }\n }\n\n restore() {\n if (this.ds) {\n this.app.canvas.ds.scale = this.ds.scale\n this.app.canvas.ds.offset = this.ds.offset\n }\n if (this.nodeOutputs) {\n this.app.nodeOutputs = this.nodeOutputs\n }\n }\n\n checkState() {\n if (!this.app.graph || this.changeCount) return\n\n const currentState = this.app.graph.serialize()\n if (!this.activeState) {\n this.activeState = clone(currentState)\n return\n }\n if (!ChangeTracker.graphEqual(this.activeState, currentState)) {\n this.undoQueue.push(this.activeState)\n if (this.undoQueue.length > ChangeTracker.MAX_HISTORY) {\n this.undoQueue.shift()\n }\n this.activeState = clone(currentState)\n this.redoQueue.length = 0\n this.workflow.unsaved = true\n api.dispatchEvent(\n new CustomEvent('graphChanged', { detail: this.activeState })\n )\n }\n }\n\n async updateState(source: ComfyWorkflowJSON[], target: ComfyWorkflowJSON[]) {\n const prevState = source.pop()\n if (prevState) {\n target.push(this.activeState!)\n this.isOurLoad = true\n await this.app.loadGraphData(prevState, false, false, this.workflow, {\n showMissingModelsDialog: false,\n showMissingNodesDialog: false\n })\n this.activeState = prevState\n }\n }\n\n async undo() {\n await this.updateState(this.undoQueue, this.redoQueue)\n }\n\n async redo() {\n await this.updateState(this.redoQueue, this.undoQueue)\n }\n\n async undoRedo(e: KeyboardEvent) {\n if (e.ctrlKey || e.metaKey) {\n if (e.key === 'y' || e.key == 'Z') {\n await this.redo()\n return true\n } else if (e.key === 'z') {\n await this.undo()\n return true\n }\n }\n }\n\n beforeChange() {\n this.changeCount++\n }\n\n afterChange() {\n if (!--this.changeCount) {\n this.checkState()\n }\n }\n\n static init(app: ComfyApp) {\n const changeTracker = () =>\n app.workflowManager.activeWorkflow?.changeTracker ?? globalTracker\n globalTracker.#setApp(app)\n\n const loadGraphData = app.loadGraphData\n app.loadGraphData = async function (...args) {\n const v = await loadGraphData.apply(this, args)\n const ct = changeTracker()\n if (ct.isOurLoad) {\n ct.isOurLoad = false\n } else {\n ct.checkState()\n }\n return v\n }\n\n let keyIgnored = false\n window.addEventListener(\n 'keydown',\n (e: KeyboardEvent) => {\n // Do not trigger on repeat events (Holding down a key)\n // This can happen when user is holding down \"Space\" to pan the canvas.\n if (e.repeat) return\n\n const activeEl = document.activeElement\n requestAnimationFrame(async () => {\n let bindInputEl: Element | null = null\n // If we are auto queue in change mode then we do want to trigger on inputs\n if (!app.ui.autoQueueEnabled || app.ui.autoQueueMode === 'instant') {\n if (\n activeEl?.tagName === 'INPUT' ||\n (activeEl && 'type' in activeEl && activeEl.type === 'textarea')\n ) {\n // Ignore events on inputs, they have their native history\n return\n }\n bindInputEl = activeEl\n }\n\n keyIgnored =\n e.key === 'Control' ||\n e.key === 'Shift' ||\n e.key === 'Alt' ||\n e.key === 'Meta'\n if (keyIgnored) return\n\n // Check if this is a ctrl+z ctrl+y\n if (await changeTracker().undoRedo(e)) return\n\n // If our active element is some type of input then handle changes after they're done\n if (ChangeTracker.bindInput(app, bindInputEl)) return\n changeTracker().checkState()\n })\n },\n true\n )\n\n window.addEventListener('keyup', (e) => {\n if (keyIgnored) {\n keyIgnored = false\n changeTracker().checkState()\n }\n })\n\n // Handle clicking DOM elements (e.g. widgets)\n window.addEventListener('mouseup', () => {\n changeTracker().checkState()\n })\n\n // Handle prompt queue event for dynamic widget changes\n api.addEventListener('promptQueued', () => {\n changeTracker().checkState()\n })\n\n api.addEventListener('graphCleared', () => {\n changeTracker().checkState()\n })\n\n // Handle litegraph clicks\n const processMouseUp = LGraphCanvas.prototype.processMouseUp\n LGraphCanvas.prototype.processMouseUp = function (e) {\n const v = processMouseUp.apply(this, [e])\n changeTracker().checkState()\n return v\n }\n const processMouseDown = LGraphCanvas.prototype.processMouseDown\n LGraphCanvas.prototype.processMouseDown = function (e) {\n const v = processMouseDown.apply(this, [e])\n changeTracker().checkState()\n return v\n }\n\n // Handle litegraph dialog popup for number/string widgets\n const prompt = LGraphCanvas.prototype.prompt\n LGraphCanvas.prototype.prompt = function (\n title: string,\n value: any,\n callback: (v: any) => void,\n event: any\n ) {\n const extendedCallback = (v: any) => {\n callback(v)\n changeTracker().checkState()\n }\n return prompt.apply(this, [title, value, extendedCallback, event])\n }\n\n // Handle litegraph context menu for COMBO widgets\n const close = LiteGraph.ContextMenu.prototype.close\n LiteGraph.ContextMenu.prototype.close = function (e: MouseEvent) {\n const v = close.apply(this, [e])\n changeTracker().checkState()\n return v\n }\n\n // Detects nodes being added via the node search dialog\n const onNodeAdded = LiteGraph.LGraph.prototype.onNodeAdded\n LiteGraph.LGraph.prototype.onNodeAdded = function (node: LGraphNode) {\n const v = onNodeAdded?.apply(this, [node])\n if (!app?.configuringGraph) {\n const ct = changeTracker()\n if (!ct.isOurLoad) {\n ct.checkState()\n }\n }\n return v\n }\n\n // Handle multiple commands as a single transaction\n document.addEventListener('litegraph:canvas', (e: Event) => {\n const detail = (e as CustomEvent).detail\n if (detail.subType === 'before-change') {\n changeTracker().beforeChange()\n } else if (detail.subType === 'after-change') {\n changeTracker().afterChange()\n }\n })\n\n // Store node outputs\n api.addEventListener('executed', (e: CustomEvent) => {\n const detail = e.detail\n const workflow =\n useExecutionStore().queuedPrompts[detail.prompt_id]?.workflow\n const changeTracker = workflow?.changeTracker\n if (!changeTracker) return\n changeTracker.nodeOutputs ??= {}\n const nodeOutputs = changeTracker.nodeOutputs\n const output = nodeOutputs[detail.node]\n if (detail.merge && output) {\n for (const k in detail.output ?? {}) {\n const v = output[k]\n if (v instanceof Array) {\n output[k] = v.concat(detail.output[k])\n } else {\n output[k] = detail.output[k]\n }\n }\n } else {\n nodeOutputs[detail.node] = detail.output\n }\n })\n }\n\n static bindInput(app: ComfyApp, activeEl: Element | null): boolean {\n if (\n !activeEl ||\n activeEl.tagName === 'CANVAS' ||\n activeEl.tagName === 'BODY'\n ) {\n return false\n }\n\n for (const evt of ['change', 'input', 'blur']) {\n const htmlElement = activeEl as HTMLElement\n if (`on${evt}` in htmlElement) {\n const listener = () => {\n app.workflowManager.activeWorkflow?.changeTracker?.checkState()\n htmlElement.removeEventListener(evt, listener)\n }\n htmlElement.addEventListener(evt, listener)\n return true\n }\n }\n return false\n }\n\n static graphEqual(a: any, b: any, path = '') {\n if (a === b) return true\n\n if (typeof a == 'object' && a && typeof b == 'object' && b) {\n const keys = Object.getOwnPropertyNames(a)\n\n if (keys.length != Object.getOwnPropertyNames(b).length) {\n return false\n }\n\n for (const key of keys) {\n let av = a[key]\n let bv = b[key]\n if (!path && key === 'nodes') {\n // Nodes need to be sorted as the order changes when selecting nodes\n av = [...av].sort((a, b) => a.id - b.id)\n bv = [...bv].sort((a, b) => a.id - b.id)\n } else if (path === 'extra.ds') {\n // Ignore view changes\n continue\n }\n if (!ChangeTracker.graphEqual(av, bv, path + (path ? '.' : '') + key)) {\n return false\n }\n }\n\n return true\n }\n\n return false\n }\n}\n\nexport const globalTracker = new ChangeTracker({} as ComfyWorkflow)\n","// @ts-strict-ignore\nimport { ComfyDialog } from '../dialog'\nimport { $el } from '../../ui'\n\nexport class ComfyAsyncDialog extends ComfyDialog {\n #resolve: (value: any) => void\n\n constructor(actions?: Array) {\n super(\n 'dialog.comfy-dialog.comfyui-dialog',\n actions?.map((opt) => {\n if (typeof opt === 'string') {\n opt = { text: opt }\n }\n return $el('button.comfyui-button', {\n type: 'button',\n textContent: opt.text,\n onclick: () => this.close(opt.value ?? opt.text)\n })\n })\n )\n }\n\n show(html: string | HTMLElement | HTMLElement[]) {\n this.element.addEventListener('close', () => {\n this.close()\n })\n\n super.show(html)\n\n return new Promise((resolve) => {\n this.#resolve = resolve\n })\n }\n\n showModal(html: string | HTMLElement | HTMLElement[]) {\n this.element.addEventListener('close', () => {\n this.close()\n })\n\n super.show(html)\n this.element.showModal()\n\n return new Promise((resolve) => {\n this.#resolve = resolve\n })\n }\n\n close(result = null) {\n this.#resolve(result)\n this.element.close()\n super.close()\n }\n\n static async prompt({ title = null, message, actions }) {\n const dialog = new ComfyAsyncDialog(actions)\n const content = [$el('span', message)]\n if (title) {\n content.unshift($el('h3', title))\n }\n const res = await dialog.showModal(content)\n dialog.element.remove()\n return res\n }\n}\n","// @ts-strict-ignore\nimport type { ComfyApp } from './app'\nimport { api } from './api'\nimport { ChangeTracker } from './changeTracker'\nimport { ComfyAsyncDialog } from './ui/components/asyncDialog'\nimport { setStorageValue } from './utils'\nimport { LGraphCanvas, LGraph } from '@comfyorg/litegraph'\nimport { appendJsonExt, trimJsonExt } from '@/utils/formatUtil'\nimport {\n useWorkflowStore,\n useWorkflowBookmarkStore\n} from '@/stores/workflowStore'\nimport { useExecutionStore } from '@/stores/executionStore'\nimport { markRaw, toRaw } from 'vue'\nimport { UserDataFullInfo } from '@/types/apiTypes'\nimport { useToastStore } from '@/stores/toastStore'\nimport { showPromptDialog } from '@/services/dialogService'\n\nexport class ComfyWorkflowManager extends EventTarget {\n executionStore: ReturnType | null\n workflowStore: ReturnType | null\n workflowBookmarkStore: ReturnType | null\n\n app: ComfyApp\n #unsavedCount = 0\n\n get workflowLookup(): Record {\n return this.workflowStore?.workflowLookup ?? {}\n }\n\n get workflows(): ComfyWorkflow[] {\n return this.workflowStore?.workflows ?? []\n }\n\n get openWorkflows(): ComfyWorkflow[] {\n return (this.workflowStore?.openWorkflows ?? []) as ComfyWorkflow[]\n }\n\n get _activeWorkflow(): ComfyWorkflow | null {\n if (!this.app.vueAppReady) return null\n return this.workflowStore!.activeWorkflow as ComfyWorkflow | null\n }\n\n set _activeWorkflow(workflow: ComfyWorkflow | null) {\n if (!this.app.vueAppReady) return\n this.workflowStore!.activeWorkflow = workflow ? workflow : null\n }\n\n get activeWorkflow(): ComfyWorkflow | null {\n return this._activeWorkflow ?? this.openWorkflows[0]\n }\n\n get activePromptId() {\n return this.executionStore?.activePromptId\n }\n\n get activePrompt() {\n return this.executionStore?.activePrompt\n }\n\n constructor(app: ComfyApp) {\n super()\n this.app = app\n ChangeTracker.init(app)\n }\n\n async loadWorkflows() {\n try {\n const [files, _] = await Promise.all([\n api.listUserDataFullInfo('workflows'),\n this.workflowBookmarkStore?.loadBookmarks()\n ])\n\n files.forEach((file: UserDataFullInfo) => {\n let workflow = this.workflowLookup[file.path]\n if (!workflow) {\n workflow = new ComfyWorkflow(this, file.path, file.path.split('/'))\n this.workflowLookup[workflow.path] = workflow\n }\n })\n } catch (error) {\n useToastStore().addAlert(\n 'Error loading workflows: ' + (error.message ?? error)\n )\n }\n }\n\n /**\n * @param {string | ComfyWorkflow | null} workflow\n */\n setWorkflow(workflow) {\n if (workflow && typeof workflow === 'string') {\n const found = this.workflows.find((w) => w.path === workflow)\n if (found) {\n workflow = found\n workflow.unsaved = !workflow\n }\n }\n\n if (!(toRaw(workflow) instanceof ComfyWorkflow)) {\n // Still not found, either reloading a deleted workflow or blank\n workflow = new ComfyWorkflow(\n this,\n workflow ||\n 'Unsaved Workflow' +\n (this.#unsavedCount++ ? ` (${this.#unsavedCount})` : '')\n )\n this.workflowLookup[workflow.key] = workflow\n }\n\n if (!workflow.isOpen) {\n // Opening a new workflow\n workflow.track()\n }\n\n this._activeWorkflow = workflow\n\n setStorageValue('Comfy.PreviousWorkflow', this.activeWorkflow.path ?? '')\n this.dispatchEvent(new CustomEvent('changeWorkflow'))\n }\n\n storePrompt({ nodes, id }) {\n this.executionStore?.storePrompt({\n nodes,\n id,\n workflow: this.activeWorkflow\n })\n }\n\n async closeWorkflow(workflow: ComfyWorkflow, warnIfUnsaved: boolean = true) {\n if (!workflow.isOpen) {\n return true\n }\n if (workflow.unsaved && warnIfUnsaved) {\n const res = await ComfyAsyncDialog.prompt({\n title: 'Save Changes?',\n message: `Do you want to save changes to \"${workflow.path ?? workflow.name}\" before closing?`,\n actions: ['Yes', 'No', 'Cancel']\n })\n if (res === 'Yes') {\n const active = this.activeWorkflow\n if (active !== workflow) {\n // We need to switch to the workflow to save it\n await workflow.load()\n }\n\n if (!(await workflow.save())) {\n // Save was canceled, restore the previous workflow\n if (active !== workflow) {\n await active.load()\n }\n return\n }\n } else if (res === 'Cancel') {\n return\n }\n }\n workflow.changeTracker = null\n workflow.isOpen = false\n if (this.openWorkflows.length > 0) {\n this._activeWorkflow = this.openWorkflows[0]\n await this._activeWorkflow.load()\n } else {\n // Load default\n await this.app.loadGraphData()\n }\n }\n}\n\nexport class ComfyWorkflow {\n name: string\n path: string | null\n pathParts: string[] | null\n unsaved = false\n // Raw\n manager: ComfyWorkflowManager\n changeTracker: ChangeTracker | null = null\n isOpen: boolean = false\n\n get isTemporary() {\n return !this.path\n }\n\n get isPersisted() {\n return !this.isTemporary\n }\n\n get key() {\n return this.pathParts?.join('/') ?? this.name + '.json'\n }\n\n get isBookmarked() {\n return this.manager.workflowBookmarkStore?.isBookmarked(this.path) ?? false\n }\n\n /**\n * @deprecated Use isBookmarked instead\n */\n get isFavorite() {\n return this.isBookmarked\n }\n\n constructor(\n manager: ComfyWorkflowManager,\n path: string,\n pathParts?: string[]\n ) {\n this.manager = markRaw(manager)\n if (pathParts) {\n this.updatePath(path, pathParts)\n } else {\n this.name = path\n this.unsaved = true\n }\n }\n\n private updatePath(path: string, pathParts: string[]) {\n this.path = path\n\n if (!pathParts) {\n if (!path.includes('\\\\')) {\n pathParts = path.split('/')\n } else {\n pathParts = path.split('\\\\')\n }\n }\n\n this.pathParts = pathParts\n this.name = trimJsonExt(pathParts[pathParts.length - 1])\n }\n\n async getWorkflowData() {\n const resp = await api.getUserData('workflows/' + this.path)\n if (resp.status !== 200) {\n useToastStore().addAlert(\n `Error loading workflow file '${this.path}': ${resp.status} ${resp.statusText}`\n )\n return\n }\n return await resp.json()\n }\n\n async load() {\n if (this.isOpen) {\n await this.manager.app.loadGraphData(\n this.changeTracker.activeState,\n true,\n true,\n this,\n {\n showMissingModelsDialog: false,\n showMissingNodesDialog: false\n }\n )\n } else {\n const data = await this.getWorkflowData()\n if (!data) return\n await this.manager.app.loadGraphData(data, true, true, this)\n }\n }\n\n async save(saveAs = false) {\n const createNewFile = !this.path || saveAs\n return !!(await this._save(\n createNewFile ? null : this.path,\n /* overwrite */ !createNewFile\n ))\n }\n\n async favorite(value: boolean) {\n try {\n if (this.isBookmarked === value) return\n this.manager.workflowBookmarkStore?.setBookmarked(this.path, value)\n this.manager.dispatchEvent(new CustomEvent('favorite', { detail: this }))\n } catch (error) {\n useToastStore().addAlert(\n 'Error favoriting workflow ' +\n this.path +\n '\\n' +\n (error.message ?? error)\n )\n }\n }\n\n async rename(path: string) {\n path = appendJsonExt(path)\n let resp = await api.moveUserData(\n 'workflows/' + this.path,\n 'workflows/' + path\n )\n\n if (resp.status === 409) {\n if (\n !confirm(\n `Workflow '${path}' already exists, do you want to overwrite it?`\n )\n )\n return resp\n resp = await api.moveUserData(\n 'workflows/' + this.path,\n 'workflows/' + path,\n { overwrite: true }\n )\n }\n\n if (resp.status !== 200) {\n useToastStore().addAlert(\n `Error renaming workflow file '${this.path}': ${resp.status} ${resp.statusText}`\n )\n return\n }\n\n const isFav = this.isFavorite\n if (isFav) {\n await this.favorite(false)\n }\n path = (await resp.json()).substring('workflows/'.length)\n this.updatePath(path, null)\n if (isFav) {\n await this.favorite(true)\n }\n this.manager.dispatchEvent(new CustomEvent('rename', { detail: this }))\n setStorageValue('Comfy.PreviousWorkflow', this.path ?? '')\n }\n\n async insert() {\n const data = await this.getWorkflowData()\n if (!data) return\n\n const old = localStorage.getItem('litegrapheditor_clipboard')\n const graph = new LGraph(data)\n const canvas = new LGraphCanvas(null, graph, {\n skip_events: true,\n skip_render: true\n })\n canvas.selectNodes()\n canvas.copyToClipboard()\n this.manager.app.canvas.pasteFromClipboard()\n localStorage.setItem('litegrapheditor_clipboard', old)\n }\n\n async delete() {\n // TODO: fix delete of current workflow - should mark workflow as unsaved and when saving use old name by default\n\n if (this.isFavorite) {\n await this.favorite(false)\n }\n const resp = await api.deleteUserData('workflows/' + this.path)\n if (resp.status !== 204) {\n useToastStore().addAlert(\n `Error removing user data file '${this.path}': ${resp.status} ${resp.statusText}`\n )\n }\n\n this.unsaved = true\n this.path = null\n this.pathParts = null\n this.manager.workflows.splice(this.manager.workflows.indexOf(this), 1)\n this.manager.dispatchEvent(new CustomEvent('delete', { detail: this }))\n }\n\n track() {\n if (this.changeTracker) {\n this.changeTracker.restore()\n } else {\n this.changeTracker = markRaw(new ChangeTracker(this))\n }\n this.isOpen = true\n }\n\n private async _save(path: string | null, overwrite: boolean) {\n if (!path) {\n path = await showPromptDialog({\n title: 'Save workflow',\n message: 'Enter the filename:',\n defaultValue: trimJsonExt(this.path) ?? this.name ?? 'workflow'\n })\n if (!path) return\n }\n\n path = appendJsonExt(path)\n\n const workflow = this.manager.app.serializeGraph()\n const json = JSON.stringify(workflow, null, 2)\n let resp = await api.storeUserData('workflows/' + path, json, {\n stringify: false,\n throwOnError: false,\n overwrite\n })\n if (resp.status === 409) {\n if (\n !confirm(\n `Workflow '${path}' already exists, do you want to overwrite it?`\n )\n )\n return\n resp = await api.storeUserData('workflows/' + path, json, {\n stringify: false\n })\n }\n\n if (resp.status !== 200) {\n useToastStore().addAlert(\n `Error saving workflow '${this.path}': ${resp.status} ${resp.statusText}`\n )\n return\n }\n\n path = (await resp.json()).substring('workflows/'.length)\n\n if (!this.path) {\n // Saved new workflow, patch this instance\n const oldKey = this.key\n this.updatePath(path, null)\n\n // Update workflowLookup: change the key from the old unsaved path to the new saved path\n delete this.manager.workflowStore.workflowLookup[oldKey]\n this.manager.workflowStore.workflowLookup[this.key] = this\n\n await this.manager.loadWorkflows()\n this.unsaved = false\n this.manager.dispatchEvent(new CustomEvent('rename', { detail: this }))\n setStorageValue('Comfy.PreviousWorkflow', this.path ?? '')\n } else if (path !== this.path) {\n // Saved as, open the new copy\n await this.manager.loadWorkflows()\n const workflow = this.manager.workflowLookup[path]\n await workflow.load()\n } else {\n // Normal save\n this.unsaved = false\n this.manager.dispatchEvent(new CustomEvent('save', { detail: this }))\n }\n\n return true\n }\n}\n","/**\n * Fuse.js v7.0.0 - Lightweight fuzzy-search (http://fusejs.io)\n *\n * Copyright (c) 2023 Kiro Risk (http://kiro.me)\n * All Rights Reserved. Apache Software License 2.0\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n */\n\nfunction isArray(value) {\n return !Array.isArray\n ? getTag(value) === '[object Array]'\n : Array.isArray(value)\n}\n\n// Adapted from: https://github.com/lodash/lodash/blob/master/.internal/baseToString.js\nconst INFINITY = 1 / 0;\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value\n }\n let result = value + '';\n return result == '0' && 1 / value == -INFINITY ? '-0' : result\n}\n\nfunction toString(value) {\n return value == null ? '' : baseToString(value)\n}\n\nfunction isString(value) {\n return typeof value === 'string'\n}\n\nfunction isNumber(value) {\n return typeof value === 'number'\n}\n\n// Adapted from: https://github.com/lodash/lodash/blob/master/isBoolean.js\nfunction isBoolean(value) {\n return (\n value === true ||\n value === false ||\n (isObjectLike(value) && getTag(value) == '[object Boolean]')\n )\n}\n\nfunction isObject(value) {\n return typeof value === 'object'\n}\n\n// Checks if `value` is object-like.\nfunction isObjectLike(value) {\n return isObject(value) && value !== null\n}\n\nfunction isDefined(value) {\n return value !== undefined && value !== null\n}\n\nfunction isBlank(value) {\n return !value.trim().length\n}\n\n// Gets the `toStringTag` of `value`.\n// Adapted from: https://github.com/lodash/lodash/blob/master/.internal/getTag.js\nfunction getTag(value) {\n return value == null\n ? value === undefined\n ? '[object Undefined]'\n : '[object Null]'\n : Object.prototype.toString.call(value)\n}\n\nconst EXTENDED_SEARCH_UNAVAILABLE = 'Extended search is not available';\n\nconst INCORRECT_INDEX_TYPE = \"Incorrect 'index' type\";\n\nconst LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY = (key) =>\n `Invalid value for key ${key}`;\n\nconst PATTERN_LENGTH_TOO_LARGE = (max) =>\n `Pattern length exceeds max of ${max}.`;\n\nconst MISSING_KEY_PROPERTY = (name) => `Missing ${name} property in key`;\n\nconst INVALID_KEY_WEIGHT_VALUE = (key) =>\n `Property 'weight' in key '${key}' must be a positive integer`;\n\nconst hasOwn = Object.prototype.hasOwnProperty;\n\nclass KeyStore {\n constructor(keys) {\n this._keys = [];\n this._keyMap = {};\n\n let totalWeight = 0;\n\n keys.forEach((key) => {\n let obj = createKey(key);\n\n this._keys.push(obj);\n this._keyMap[obj.id] = obj;\n\n totalWeight += obj.weight;\n });\n\n // Normalize weights so that their sum is equal to 1\n this._keys.forEach((key) => {\n key.weight /= totalWeight;\n });\n }\n get(keyId) {\n return this._keyMap[keyId]\n }\n keys() {\n return this._keys\n }\n toJSON() {\n return JSON.stringify(this._keys)\n }\n}\n\nfunction createKey(key) {\n let path = null;\n let id = null;\n let src = null;\n let weight = 1;\n let getFn = null;\n\n if (isString(key) || isArray(key)) {\n src = key;\n path = createKeyPath(key);\n id = createKeyId(key);\n } else {\n if (!hasOwn.call(key, 'name')) {\n throw new Error(MISSING_KEY_PROPERTY('name'))\n }\n\n const name = key.name;\n src = name;\n\n if (hasOwn.call(key, 'weight')) {\n weight = key.weight;\n\n if (weight <= 0) {\n throw new Error(INVALID_KEY_WEIGHT_VALUE(name))\n }\n }\n\n path = createKeyPath(name);\n id = createKeyId(name);\n getFn = key.getFn;\n }\n\n return { path, id, weight, src, getFn }\n}\n\nfunction createKeyPath(key) {\n return isArray(key) ? key : key.split('.')\n}\n\nfunction createKeyId(key) {\n return isArray(key) ? key.join('.') : key\n}\n\nfunction get(obj, path) {\n let list = [];\n let arr = false;\n\n const deepGet = (obj, path, index) => {\n if (!isDefined(obj)) {\n return\n }\n if (!path[index]) {\n // If there's no path left, we've arrived at the object we care about.\n list.push(obj);\n } else {\n let key = path[index];\n\n const value = obj[key];\n\n if (!isDefined(value)) {\n return\n }\n\n // If we're at the last value in the path, and if it's a string/number/bool,\n // add it to the list\n if (\n index === path.length - 1 &&\n (isString(value) || isNumber(value) || isBoolean(value))\n ) {\n list.push(toString(value));\n } else if (isArray(value)) {\n arr = true;\n // Search each item in the array.\n for (let i = 0, len = value.length; i < len; i += 1) {\n deepGet(value[i], path, index + 1);\n }\n } else if (path.length) {\n // An object. Recurse further.\n deepGet(value, path, index + 1);\n }\n }\n };\n\n // Backwards compatibility (since path used to be a string)\n deepGet(obj, isString(path) ? path.split('.') : path, 0);\n\n return arr ? list : list[0]\n}\n\nconst MatchOptions = {\n // Whether the matches should be included in the result set. When `true`, each record in the result\n // set will include the indices of the matched characters.\n // These can consequently be used for highlighting purposes.\n includeMatches: false,\n // When `true`, the matching function will continue to the end of a search pattern even if\n // a perfect match has already been located in the string.\n findAllMatches: false,\n // Minimum number of characters that must be matched before a result is considered a match\n minMatchCharLength: 1\n};\n\nconst BasicOptions = {\n // When `true`, the algorithm continues searching to the end of the input even if a perfect\n // match is found before the end of the same input.\n isCaseSensitive: false,\n // When true, the matching function will continue to the end of a search pattern even if\n includeScore: false,\n // List of properties that will be searched. This also supports nested properties.\n keys: [],\n // Whether to sort the result list, by score\n shouldSort: true,\n // Default sort function: sort by ascending score, ascending index\n sortFn: (a, b) =>\n a.score === b.score ? (a.idx < b.idx ? -1 : 1) : a.score < b.score ? -1 : 1\n};\n\nconst FuzzyOptions = {\n // Approximately where in the text is the pattern expected to be found?\n location: 0,\n // At what point does the match algorithm give up. A threshold of '0.0' requires a perfect match\n // (of both letters and location), a threshold of '1.0' would match anything.\n threshold: 0.6,\n // Determines how close the match must be to the fuzzy location (specified above).\n // An exact letter match which is 'distance' characters away from the fuzzy location\n // would score as a complete mismatch. A distance of '0' requires the match be at\n // the exact location specified, a threshold of '1000' would require a perfect match\n // to be within 800 characters of the fuzzy location to be found using a 0.8 threshold.\n distance: 100\n};\n\nconst AdvancedOptions = {\n // When `true`, it enables the use of unix-like search commands\n useExtendedSearch: false,\n // The get function to use when fetching an object's properties.\n // The default will search nested paths *ie foo.bar.baz*\n getFn: get,\n // When `true`, search will ignore `location` and `distance`, so it won't matter\n // where in the string the pattern appears.\n // More info: https://fusejs.io/concepts/scoring-theory.html#fuzziness-score\n ignoreLocation: false,\n // When `true`, the calculation for the relevance score (used for sorting) will\n // ignore the field-length norm.\n // More info: https://fusejs.io/concepts/scoring-theory.html#field-length-norm\n ignoreFieldNorm: false,\n // The weight to determine how much field length norm effects scoring.\n fieldNormWeight: 1\n};\n\nvar Config = {\n ...BasicOptions,\n ...MatchOptions,\n ...FuzzyOptions,\n ...AdvancedOptions\n};\n\nconst SPACE = /[^ ]+/g;\n\n// Field-length norm: the shorter the field, the higher the weight.\n// Set to 3 decimals to reduce index size.\nfunction norm(weight = 1, mantissa = 3) {\n const cache = new Map();\n const m = Math.pow(10, mantissa);\n\n return {\n get(value) {\n const numTokens = value.match(SPACE).length;\n\n if (cache.has(numTokens)) {\n return cache.get(numTokens)\n }\n\n // Default function is 1/sqrt(x), weight makes that variable\n const norm = 1 / Math.pow(numTokens, 0.5 * weight);\n\n // In place of `toFixed(mantissa)`, for faster computation\n const n = parseFloat(Math.round(norm * m) / m);\n\n cache.set(numTokens, n);\n\n return n\n },\n clear() {\n cache.clear();\n }\n }\n}\n\nclass FuseIndex {\n constructor({\n getFn = Config.getFn,\n fieldNormWeight = Config.fieldNormWeight\n } = {}) {\n this.norm = norm(fieldNormWeight, 3);\n this.getFn = getFn;\n this.isCreated = false;\n\n this.setIndexRecords();\n }\n setSources(docs = []) {\n this.docs = docs;\n }\n setIndexRecords(records = []) {\n this.records = records;\n }\n setKeys(keys = []) {\n this.keys = keys;\n this._keysMap = {};\n keys.forEach((key, idx) => {\n this._keysMap[key.id] = idx;\n });\n }\n create() {\n if (this.isCreated || !this.docs.length) {\n return\n }\n\n this.isCreated = true;\n\n // List is Array\n if (isString(this.docs[0])) {\n this.docs.forEach((doc, docIndex) => {\n this._addString(doc, docIndex);\n });\n } else {\n // List is Array\n this.docs.forEach((doc, docIndex) => {\n this._addObject(doc, docIndex);\n });\n }\n\n this.norm.clear();\n }\n // Adds a doc to the end of the index\n add(doc) {\n const idx = this.size();\n\n if (isString(doc)) {\n this._addString(doc, idx);\n } else {\n this._addObject(doc, idx);\n }\n }\n // Removes the doc at the specified index of the index\n removeAt(idx) {\n this.records.splice(idx, 1);\n\n // Change ref index of every subsquent doc\n for (let i = idx, len = this.size(); i < len; i += 1) {\n this.records[i].i -= 1;\n }\n }\n getValueForItemAtKeyId(item, keyId) {\n return item[this._keysMap[keyId]]\n }\n size() {\n return this.records.length\n }\n _addString(doc, docIndex) {\n if (!isDefined(doc) || isBlank(doc)) {\n return\n }\n\n let record = {\n v: doc,\n i: docIndex,\n n: this.norm.get(doc)\n };\n\n this.records.push(record);\n }\n _addObject(doc, docIndex) {\n let record = { i: docIndex, $: {} };\n\n // Iterate over every key (i.e, path), and fetch the value at that key\n this.keys.forEach((key, keyIndex) => {\n let value = key.getFn ? key.getFn(doc) : this.getFn(doc, key.path);\n\n if (!isDefined(value)) {\n return\n }\n\n if (isArray(value)) {\n let subRecords = [];\n const stack = [{ nestedArrIndex: -1, value }];\n\n while (stack.length) {\n const { nestedArrIndex, value } = stack.pop();\n\n if (!isDefined(value)) {\n continue\n }\n\n if (isString(value) && !isBlank(value)) {\n let subRecord = {\n v: value,\n i: nestedArrIndex,\n n: this.norm.get(value)\n };\n\n subRecords.push(subRecord);\n } else if (isArray(value)) {\n value.forEach((item, k) => {\n stack.push({\n nestedArrIndex: k,\n value: item\n });\n });\n } else ;\n }\n record.$[keyIndex] = subRecords;\n } else if (isString(value) && !isBlank(value)) {\n let subRecord = {\n v: value,\n n: this.norm.get(value)\n };\n\n record.$[keyIndex] = subRecord;\n }\n });\n\n this.records.push(record);\n }\n toJSON() {\n return {\n keys: this.keys,\n records: this.records\n }\n }\n}\n\nfunction createIndex(\n keys,\n docs,\n { getFn = Config.getFn, fieldNormWeight = Config.fieldNormWeight } = {}\n) {\n const myIndex = new FuseIndex({ getFn, fieldNormWeight });\n myIndex.setKeys(keys.map(createKey));\n myIndex.setSources(docs);\n myIndex.create();\n return myIndex\n}\n\nfunction parseIndex(\n data,\n { getFn = Config.getFn, fieldNormWeight = Config.fieldNormWeight } = {}\n) {\n const { keys, records } = data;\n const myIndex = new FuseIndex({ getFn, fieldNormWeight });\n myIndex.setKeys(keys);\n myIndex.setIndexRecords(records);\n return myIndex\n}\n\nfunction computeScore$1(\n pattern,\n {\n errors = 0,\n currentLocation = 0,\n expectedLocation = 0,\n distance = Config.distance,\n ignoreLocation = Config.ignoreLocation\n } = {}\n) {\n const accuracy = errors / pattern.length;\n\n if (ignoreLocation) {\n return accuracy\n }\n\n const proximity = Math.abs(expectedLocation - currentLocation);\n\n if (!distance) {\n // Dodge divide by zero error.\n return proximity ? 1.0 : accuracy\n }\n\n return accuracy + proximity / distance\n}\n\nfunction convertMaskToIndices(\n matchmask = [],\n minMatchCharLength = Config.minMatchCharLength\n) {\n let indices = [];\n let start = -1;\n let end = -1;\n let i = 0;\n\n for (let len = matchmask.length; i < len; i += 1) {\n let match = matchmask[i];\n if (match && start === -1) {\n start = i;\n } else if (!match && start !== -1) {\n end = i - 1;\n if (end - start + 1 >= minMatchCharLength) {\n indices.push([start, end]);\n }\n start = -1;\n }\n }\n\n // (i-1 - start) + 1 => i - start\n if (matchmask[i - 1] && i - start >= minMatchCharLength) {\n indices.push([start, i - 1]);\n }\n\n return indices\n}\n\n// Machine word size\nconst MAX_BITS = 32;\n\nfunction search(\n text,\n pattern,\n patternAlphabet,\n {\n location = Config.location,\n distance = Config.distance,\n threshold = Config.threshold,\n findAllMatches = Config.findAllMatches,\n minMatchCharLength = Config.minMatchCharLength,\n includeMatches = Config.includeMatches,\n ignoreLocation = Config.ignoreLocation\n } = {}\n) {\n if (pattern.length > MAX_BITS) {\n throw new Error(PATTERN_LENGTH_TOO_LARGE(MAX_BITS))\n }\n\n const patternLen = pattern.length;\n // Set starting location at beginning text and initialize the alphabet.\n const textLen = text.length;\n // Handle the case when location > text.length\n const expectedLocation = Math.max(0, Math.min(location, textLen));\n // Highest score beyond which we give up.\n let currentThreshold = threshold;\n // Is there a nearby exact match? (speedup)\n let bestLocation = expectedLocation;\n\n // Performance: only computer matches when the minMatchCharLength > 1\n // OR if `includeMatches` is true.\n const computeMatches = minMatchCharLength > 1 || includeMatches;\n // A mask of the matches, used for building the indices\n const matchMask = computeMatches ? Array(textLen) : [];\n\n let index;\n\n // Get all exact matches, here for speed up\n while ((index = text.indexOf(pattern, bestLocation)) > -1) {\n let score = computeScore$1(pattern, {\n currentLocation: index,\n expectedLocation,\n distance,\n ignoreLocation\n });\n\n currentThreshold = Math.min(score, currentThreshold);\n bestLocation = index + patternLen;\n\n if (computeMatches) {\n let i = 0;\n while (i < patternLen) {\n matchMask[index + i] = 1;\n i += 1;\n }\n }\n }\n\n // Reset the best location\n bestLocation = -1;\n\n let lastBitArr = [];\n let finalScore = 1;\n let binMax = patternLen + textLen;\n\n const mask = 1 << (patternLen - 1);\n\n for (let i = 0; i < patternLen; i += 1) {\n // Scan for the best match; each iteration allows for one more error.\n // Run a binary search to determine how far from the match location we can stray\n // at this error level.\n let binMin = 0;\n let binMid = binMax;\n\n while (binMin < binMid) {\n const score = computeScore$1(pattern, {\n errors: i,\n currentLocation: expectedLocation + binMid,\n expectedLocation,\n distance,\n ignoreLocation\n });\n\n if (score <= currentThreshold) {\n binMin = binMid;\n } else {\n binMax = binMid;\n }\n\n binMid = Math.floor((binMax - binMin) / 2 + binMin);\n }\n\n // Use the result from this iteration as the maximum for the next.\n binMax = binMid;\n\n let start = Math.max(1, expectedLocation - binMid + 1);\n let finish = findAllMatches\n ? textLen\n : Math.min(expectedLocation + binMid, textLen) + patternLen;\n\n // Initialize the bit array\n let bitArr = Array(finish + 2);\n\n bitArr[finish + 1] = (1 << i) - 1;\n\n for (let j = finish; j >= start; j -= 1) {\n let currentLocation = j - 1;\n let charMatch = patternAlphabet[text.charAt(currentLocation)];\n\n if (computeMatches) {\n // Speed up: quick bool to int conversion (i.e, `charMatch ? 1 : 0`)\n matchMask[currentLocation] = +!!charMatch;\n }\n\n // First pass: exact match\n bitArr[j] = ((bitArr[j + 1] << 1) | 1) & charMatch;\n\n // Subsequent passes: fuzzy match\n if (i) {\n bitArr[j] |=\n ((lastBitArr[j + 1] | lastBitArr[j]) << 1) | 1 | lastBitArr[j + 1];\n }\n\n if (bitArr[j] & mask) {\n finalScore = computeScore$1(pattern, {\n errors: i,\n currentLocation,\n expectedLocation,\n distance,\n ignoreLocation\n });\n\n // This match will almost certainly be better than any existing match.\n // But check anyway.\n if (finalScore <= currentThreshold) {\n // Indeed it is\n currentThreshold = finalScore;\n bestLocation = currentLocation;\n\n // Already passed `loc`, downhill from here on in.\n if (bestLocation <= expectedLocation) {\n break\n }\n\n // When passing `bestLocation`, don't exceed our current distance from `expectedLocation`.\n start = Math.max(1, 2 * expectedLocation - bestLocation);\n }\n }\n }\n\n // No hope for a (better) match at greater error levels.\n const score = computeScore$1(pattern, {\n errors: i + 1,\n currentLocation: expectedLocation,\n expectedLocation,\n distance,\n ignoreLocation\n });\n\n if (score > currentThreshold) {\n break\n }\n\n lastBitArr = bitArr;\n }\n\n const result = {\n isMatch: bestLocation >= 0,\n // Count exact matches (those with a score of 0) to be \"almost\" exact\n score: Math.max(0.001, finalScore)\n };\n\n if (computeMatches) {\n const indices = convertMaskToIndices(matchMask, minMatchCharLength);\n if (!indices.length) {\n result.isMatch = false;\n } else if (includeMatches) {\n result.indices = indices;\n }\n }\n\n return result\n}\n\nfunction createPatternAlphabet(pattern) {\n let mask = {};\n\n for (let i = 0, len = pattern.length; i < len; i += 1) {\n const char = pattern.charAt(i);\n mask[char] = (mask[char] || 0) | (1 << (len - i - 1));\n }\n\n return mask\n}\n\nclass BitapSearch {\n constructor(\n pattern,\n {\n location = Config.location,\n threshold = Config.threshold,\n distance = Config.distance,\n includeMatches = Config.includeMatches,\n findAllMatches = Config.findAllMatches,\n minMatchCharLength = Config.minMatchCharLength,\n isCaseSensitive = Config.isCaseSensitive,\n ignoreLocation = Config.ignoreLocation\n } = {}\n ) {\n this.options = {\n location,\n threshold,\n distance,\n includeMatches,\n findAllMatches,\n minMatchCharLength,\n isCaseSensitive,\n ignoreLocation\n };\n\n this.pattern = isCaseSensitive ? pattern : pattern.toLowerCase();\n\n this.chunks = [];\n\n if (!this.pattern.length) {\n return\n }\n\n const addChunk = (pattern, startIndex) => {\n this.chunks.push({\n pattern,\n alphabet: createPatternAlphabet(pattern),\n startIndex\n });\n };\n\n const len = this.pattern.length;\n\n if (len > MAX_BITS) {\n let i = 0;\n const remainder = len % MAX_BITS;\n const end = len - remainder;\n\n while (i < end) {\n addChunk(this.pattern.substr(i, MAX_BITS), i);\n i += MAX_BITS;\n }\n\n if (remainder) {\n const startIndex = len - MAX_BITS;\n addChunk(this.pattern.substr(startIndex), startIndex);\n }\n } else {\n addChunk(this.pattern, 0);\n }\n }\n\n searchIn(text) {\n const { isCaseSensitive, includeMatches } = this.options;\n\n if (!isCaseSensitive) {\n text = text.toLowerCase();\n }\n\n // Exact match\n if (this.pattern === text) {\n let result = {\n isMatch: true,\n score: 0\n };\n\n if (includeMatches) {\n result.indices = [[0, text.length - 1]];\n }\n\n return result\n }\n\n // Otherwise, use Bitap algorithm\n const {\n location,\n distance,\n threshold,\n findAllMatches,\n minMatchCharLength,\n ignoreLocation\n } = this.options;\n\n let allIndices = [];\n let totalScore = 0;\n let hasMatches = false;\n\n this.chunks.forEach(({ pattern, alphabet, startIndex }) => {\n const { isMatch, score, indices } = search(text, pattern, alphabet, {\n location: location + startIndex,\n distance,\n threshold,\n findAllMatches,\n minMatchCharLength,\n includeMatches,\n ignoreLocation\n });\n\n if (isMatch) {\n hasMatches = true;\n }\n\n totalScore += score;\n\n if (isMatch && indices) {\n allIndices = [...allIndices, ...indices];\n }\n });\n\n let result = {\n isMatch: hasMatches,\n score: hasMatches ? totalScore / this.chunks.length : 1\n };\n\n if (hasMatches && includeMatches) {\n result.indices = allIndices;\n }\n\n return result\n }\n}\n\nclass BaseMatch {\n constructor(pattern) {\n this.pattern = pattern;\n }\n static isMultiMatch(pattern) {\n return getMatch(pattern, this.multiRegex)\n }\n static isSingleMatch(pattern) {\n return getMatch(pattern, this.singleRegex)\n }\n search(/*text*/) {}\n}\n\nfunction getMatch(pattern, exp) {\n const matches = pattern.match(exp);\n return matches ? matches[1] : null\n}\n\n// Token: 'file\n\nclass ExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'exact'\n }\n static get multiRegex() {\n return /^=\"(.*)\"$/\n }\n static get singleRegex() {\n return /^=(.*)$/\n }\n search(text) {\n const isMatch = text === this.pattern;\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [0, this.pattern.length - 1]\n }\n }\n}\n\n// Token: !fire\n\nclass InverseExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'inverse-exact'\n }\n static get multiRegex() {\n return /^!\"(.*)\"$/\n }\n static get singleRegex() {\n return /^!(.*)$/\n }\n search(text) {\n const index = text.indexOf(this.pattern);\n const isMatch = index === -1;\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [0, text.length - 1]\n }\n }\n}\n\n// Token: ^file\n\nclass PrefixExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'prefix-exact'\n }\n static get multiRegex() {\n return /^\\^\"(.*)\"$/\n }\n static get singleRegex() {\n return /^\\^(.*)$/\n }\n search(text) {\n const isMatch = text.startsWith(this.pattern);\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [0, this.pattern.length - 1]\n }\n }\n}\n\n// Token: !^fire\n\nclass InversePrefixExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'inverse-prefix-exact'\n }\n static get multiRegex() {\n return /^!\\^\"(.*)\"$/\n }\n static get singleRegex() {\n return /^!\\^(.*)$/\n }\n search(text) {\n const isMatch = !text.startsWith(this.pattern);\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [0, text.length - 1]\n }\n }\n}\n\n// Token: .file$\n\nclass SuffixExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'suffix-exact'\n }\n static get multiRegex() {\n return /^\"(.*)\"\\$$/\n }\n static get singleRegex() {\n return /^(.*)\\$$/\n }\n search(text) {\n const isMatch = text.endsWith(this.pattern);\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [text.length - this.pattern.length, text.length - 1]\n }\n }\n}\n\n// Token: !.file$\n\nclass InverseSuffixExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'inverse-suffix-exact'\n }\n static get multiRegex() {\n return /^!\"(.*)\"\\$$/\n }\n static get singleRegex() {\n return /^!(.*)\\$$/\n }\n search(text) {\n const isMatch = !text.endsWith(this.pattern);\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [0, text.length - 1]\n }\n }\n}\n\nclass FuzzyMatch extends BaseMatch {\n constructor(\n pattern,\n {\n location = Config.location,\n threshold = Config.threshold,\n distance = Config.distance,\n includeMatches = Config.includeMatches,\n findAllMatches = Config.findAllMatches,\n minMatchCharLength = Config.minMatchCharLength,\n isCaseSensitive = Config.isCaseSensitive,\n ignoreLocation = Config.ignoreLocation\n } = {}\n ) {\n super(pattern);\n this._bitapSearch = new BitapSearch(pattern, {\n location,\n threshold,\n distance,\n includeMatches,\n findAllMatches,\n minMatchCharLength,\n isCaseSensitive,\n ignoreLocation\n });\n }\n static get type() {\n return 'fuzzy'\n }\n static get multiRegex() {\n return /^\"(.*)\"$/\n }\n static get singleRegex() {\n return /^(.*)$/\n }\n search(text) {\n return this._bitapSearch.searchIn(text)\n }\n}\n\n// Token: 'file\n\nclass IncludeMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'include'\n }\n static get multiRegex() {\n return /^'\"(.*)\"$/\n }\n static get singleRegex() {\n return /^'(.*)$/\n }\n search(text) {\n let location = 0;\n let index;\n\n const indices = [];\n const patternLen = this.pattern.length;\n\n // Get all exact matches\n while ((index = text.indexOf(this.pattern, location)) > -1) {\n location = index + patternLen;\n indices.push([index, location - 1]);\n }\n\n const isMatch = !!indices.length;\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices\n }\n }\n}\n\n// ❗Order is important. DO NOT CHANGE.\nconst searchers = [\n ExactMatch,\n IncludeMatch,\n PrefixExactMatch,\n InversePrefixExactMatch,\n InverseSuffixExactMatch,\n SuffixExactMatch,\n InverseExactMatch,\n FuzzyMatch\n];\n\nconst searchersLen = searchers.length;\n\n// Regex to split by spaces, but keep anything in quotes together\nconst SPACE_RE = / +(?=(?:[^\\\"]*\\\"[^\\\"]*\\\")*[^\\\"]*$)/;\nconst OR_TOKEN = '|';\n\n// Return a 2D array representation of the query, for simpler parsing.\n// Example:\n// \"^core go$ | rb$ | py$ xy$\" => [[\"^core\", \"go$\"], [\"rb$\"], [\"py$\", \"xy$\"]]\nfunction parseQuery(pattern, options = {}) {\n return pattern.split(OR_TOKEN).map((item) => {\n let query = item\n .trim()\n .split(SPACE_RE)\n .filter((item) => item && !!item.trim());\n\n let results = [];\n for (let i = 0, len = query.length; i < len; i += 1) {\n const queryItem = query[i];\n\n // 1. Handle multiple query match (i.e, once that are quoted, like `\"hello world\"`)\n let found = false;\n let idx = -1;\n while (!found && ++idx < searchersLen) {\n const searcher = searchers[idx];\n let token = searcher.isMultiMatch(queryItem);\n if (token) {\n results.push(new searcher(token, options));\n found = true;\n }\n }\n\n if (found) {\n continue\n }\n\n // 2. Handle single query matches (i.e, once that are *not* quoted)\n idx = -1;\n while (++idx < searchersLen) {\n const searcher = searchers[idx];\n let token = searcher.isSingleMatch(queryItem);\n if (token) {\n results.push(new searcher(token, options));\n break\n }\n }\n }\n\n return results\n })\n}\n\n// These extended matchers can return an array of matches, as opposed\n// to a singl match\nconst MultiMatchSet = new Set([FuzzyMatch.type, IncludeMatch.type]);\n\n/**\n * Command-like searching\n * ======================\n *\n * Given multiple search terms delimited by spaces.e.g. `^jscript .python$ ruby !java`,\n * search in a given text.\n *\n * Search syntax:\n *\n * | Token | Match type | Description |\n * | ----------- | -------------------------- | -------------------------------------- |\n * | `jscript` | fuzzy-match | Items that fuzzy match `jscript` |\n * | `=scheme` | exact-match | Items that are `scheme` |\n * | `'python` | include-match | Items that include `python` |\n * | `!ruby` | inverse-exact-match | Items that do not include `ruby` |\n * | `^java` | prefix-exact-match | Items that start with `java` |\n * | `!^earlang` | inverse-prefix-exact-match | Items that do not start with `earlang` |\n * | `.js$` | suffix-exact-match | Items that end with `.js` |\n * | `!.go$` | inverse-suffix-exact-match | Items that do not end with `.go` |\n *\n * A single pipe character acts as an OR operator. For example, the following\n * query matches entries that start with `core` and end with either`go`, `rb`,\n * or`py`.\n *\n * ```\n * ^core go$ | rb$ | py$\n * ```\n */\nclass ExtendedSearch {\n constructor(\n pattern,\n {\n isCaseSensitive = Config.isCaseSensitive,\n includeMatches = Config.includeMatches,\n minMatchCharLength = Config.minMatchCharLength,\n ignoreLocation = Config.ignoreLocation,\n findAllMatches = Config.findAllMatches,\n location = Config.location,\n threshold = Config.threshold,\n distance = Config.distance\n } = {}\n ) {\n this.query = null;\n this.options = {\n isCaseSensitive,\n includeMatches,\n minMatchCharLength,\n findAllMatches,\n ignoreLocation,\n location,\n threshold,\n distance\n };\n\n this.pattern = isCaseSensitive ? pattern : pattern.toLowerCase();\n this.query = parseQuery(this.pattern, this.options);\n }\n\n static condition(_, options) {\n return options.useExtendedSearch\n }\n\n searchIn(text) {\n const query = this.query;\n\n if (!query) {\n return {\n isMatch: false,\n score: 1\n }\n }\n\n const { includeMatches, isCaseSensitive } = this.options;\n\n text = isCaseSensitive ? text : text.toLowerCase();\n\n let numMatches = 0;\n let allIndices = [];\n let totalScore = 0;\n\n // ORs\n for (let i = 0, qLen = query.length; i < qLen; i += 1) {\n const searchers = query[i];\n\n // Reset indices\n allIndices.length = 0;\n numMatches = 0;\n\n // ANDs\n for (let j = 0, pLen = searchers.length; j < pLen; j += 1) {\n const searcher = searchers[j];\n const { isMatch, indices, score } = searcher.search(text);\n\n if (isMatch) {\n numMatches += 1;\n totalScore += score;\n if (includeMatches) {\n const type = searcher.constructor.type;\n if (MultiMatchSet.has(type)) {\n allIndices = [...allIndices, ...indices];\n } else {\n allIndices.push(indices);\n }\n }\n } else {\n totalScore = 0;\n numMatches = 0;\n allIndices.length = 0;\n break\n }\n }\n\n // OR condition, so if TRUE, return\n if (numMatches) {\n let result = {\n isMatch: true,\n score: totalScore / numMatches\n };\n\n if (includeMatches) {\n result.indices = allIndices;\n }\n\n return result\n }\n }\n\n // Nothing was matched\n return {\n isMatch: false,\n score: 1\n }\n }\n}\n\nconst registeredSearchers = [];\n\nfunction register(...args) {\n registeredSearchers.push(...args);\n}\n\nfunction createSearcher(pattern, options) {\n for (let i = 0, len = registeredSearchers.length; i < len; i += 1) {\n let searcherClass = registeredSearchers[i];\n if (searcherClass.condition(pattern, options)) {\n return new searcherClass(pattern, options)\n }\n }\n\n return new BitapSearch(pattern, options)\n}\n\nconst LogicalOperator = {\n AND: '$and',\n OR: '$or'\n};\n\nconst KeyType = {\n PATH: '$path',\n PATTERN: '$val'\n};\n\nconst isExpression = (query) =>\n !!(query[LogicalOperator.AND] || query[LogicalOperator.OR]);\n\nconst isPath = (query) => !!query[KeyType.PATH];\n\nconst isLeaf = (query) =>\n !isArray(query) && isObject(query) && !isExpression(query);\n\nconst convertToExplicit = (query) => ({\n [LogicalOperator.AND]: Object.keys(query).map((key) => ({\n [key]: query[key]\n }))\n});\n\n// When `auto` is `true`, the parse function will infer and initialize and add\n// the appropriate `Searcher` instance\nfunction parse(query, options, { auto = true } = {}) {\n const next = (query) => {\n let keys = Object.keys(query);\n\n const isQueryPath = isPath(query);\n\n if (!isQueryPath && keys.length > 1 && !isExpression(query)) {\n return next(convertToExplicit(query))\n }\n\n if (isLeaf(query)) {\n const key = isQueryPath ? query[KeyType.PATH] : keys[0];\n\n const pattern = isQueryPath ? query[KeyType.PATTERN] : query[key];\n\n if (!isString(pattern)) {\n throw new Error(LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY(key))\n }\n\n const obj = {\n keyId: createKeyId(key),\n pattern\n };\n\n if (auto) {\n obj.searcher = createSearcher(pattern, options);\n }\n\n return obj\n }\n\n let node = {\n children: [],\n operator: keys[0]\n };\n\n keys.forEach((key) => {\n const value = query[key];\n\n if (isArray(value)) {\n value.forEach((item) => {\n node.children.push(next(item));\n });\n }\n });\n\n return node\n };\n\n if (!isExpression(query)) {\n query = convertToExplicit(query);\n }\n\n return next(query)\n}\n\n// Practical scoring function\nfunction computeScore(\n results,\n { ignoreFieldNorm = Config.ignoreFieldNorm }\n) {\n results.forEach((result) => {\n let totalScore = 1;\n\n result.matches.forEach(({ key, norm, score }) => {\n const weight = key ? key.weight : null;\n\n totalScore *= Math.pow(\n score === 0 && weight ? Number.EPSILON : score,\n (weight || 1) * (ignoreFieldNorm ? 1 : norm)\n );\n });\n\n result.score = totalScore;\n });\n}\n\nfunction transformMatches(result, data) {\n const matches = result.matches;\n data.matches = [];\n\n if (!isDefined(matches)) {\n return\n }\n\n matches.forEach((match) => {\n if (!isDefined(match.indices) || !match.indices.length) {\n return\n }\n\n const { indices, value } = match;\n\n let obj = {\n indices,\n value\n };\n\n if (match.key) {\n obj.key = match.key.src;\n }\n\n if (match.idx > -1) {\n obj.refIndex = match.idx;\n }\n\n data.matches.push(obj);\n });\n}\n\nfunction transformScore(result, data) {\n data.score = result.score;\n}\n\nfunction format(\n results,\n docs,\n {\n includeMatches = Config.includeMatches,\n includeScore = Config.includeScore\n } = {}\n) {\n const transformers = [];\n\n if (includeMatches) transformers.push(transformMatches);\n if (includeScore) transformers.push(transformScore);\n\n return results.map((result) => {\n const { idx } = result;\n\n const data = {\n item: docs[idx],\n refIndex: idx\n };\n\n if (transformers.length) {\n transformers.forEach((transformer) => {\n transformer(result, data);\n });\n }\n\n return data\n })\n}\n\nclass Fuse {\n constructor(docs, options = {}, index) {\n this.options = { ...Config, ...options };\n\n if (\n this.options.useExtendedSearch &&\n !true\n ) {\n throw new Error(EXTENDED_SEARCH_UNAVAILABLE)\n }\n\n this._keyStore = new KeyStore(this.options.keys);\n\n this.setCollection(docs, index);\n }\n\n setCollection(docs, index) {\n this._docs = docs;\n\n if (index && !(index instanceof FuseIndex)) {\n throw new Error(INCORRECT_INDEX_TYPE)\n }\n\n this._myIndex =\n index ||\n createIndex(this.options.keys, this._docs, {\n getFn: this.options.getFn,\n fieldNormWeight: this.options.fieldNormWeight\n });\n }\n\n add(doc) {\n if (!isDefined(doc)) {\n return\n }\n\n this._docs.push(doc);\n this._myIndex.add(doc);\n }\n\n remove(predicate = (/* doc, idx */) => false) {\n const results = [];\n\n for (let i = 0, len = this._docs.length; i < len; i += 1) {\n const doc = this._docs[i];\n if (predicate(doc, i)) {\n this.removeAt(i);\n i -= 1;\n len -= 1;\n\n results.push(doc);\n }\n }\n\n return results\n }\n\n removeAt(idx) {\n this._docs.splice(idx, 1);\n this._myIndex.removeAt(idx);\n }\n\n getIndex() {\n return this._myIndex\n }\n\n search(query, { limit = -1 } = {}) {\n const {\n includeMatches,\n includeScore,\n shouldSort,\n sortFn,\n ignoreFieldNorm\n } = this.options;\n\n let results = isString(query)\n ? isString(this._docs[0])\n ? this._searchStringList(query)\n : this._searchObjectList(query)\n : this._searchLogical(query);\n\n computeScore(results, { ignoreFieldNorm });\n\n if (shouldSort) {\n results.sort(sortFn);\n }\n\n if (isNumber(limit) && limit > -1) {\n results = results.slice(0, limit);\n }\n\n return format(results, this._docs, {\n includeMatches,\n includeScore\n })\n }\n\n _searchStringList(query) {\n const searcher = createSearcher(query, this.options);\n const { records } = this._myIndex;\n const results = [];\n\n // Iterate over every string in the index\n records.forEach(({ v: text, i: idx, n: norm }) => {\n if (!isDefined(text)) {\n return\n }\n\n const { isMatch, score, indices } = searcher.searchIn(text);\n\n if (isMatch) {\n results.push({\n item: text,\n idx,\n matches: [{ score, value: text, norm, indices }]\n });\n }\n });\n\n return results\n }\n\n _searchLogical(query) {\n\n const expression = parse(query, this.options);\n\n const evaluate = (node, item, idx) => {\n if (!node.children) {\n const { keyId, searcher } = node;\n\n const matches = this._findMatches({\n key: this._keyStore.get(keyId),\n value: this._myIndex.getValueForItemAtKeyId(item, keyId),\n searcher\n });\n\n if (matches && matches.length) {\n return [\n {\n idx,\n item,\n matches\n }\n ]\n }\n\n return []\n }\n\n const res = [];\n for (let i = 0, len = node.children.length; i < len; i += 1) {\n const child = node.children[i];\n const result = evaluate(child, item, idx);\n if (result.length) {\n res.push(...result);\n } else if (node.operator === LogicalOperator.AND) {\n return []\n }\n }\n return res\n };\n\n const records = this._myIndex.records;\n const resultMap = {};\n const results = [];\n\n records.forEach(({ $: item, i: idx }) => {\n if (isDefined(item)) {\n let expResults = evaluate(expression, item, idx);\n\n if (expResults.length) {\n // Dedupe when adding\n if (!resultMap[idx]) {\n resultMap[idx] = { idx, item, matches: [] };\n results.push(resultMap[idx]);\n }\n expResults.forEach(({ matches }) => {\n resultMap[idx].matches.push(...matches);\n });\n }\n }\n });\n\n return results\n }\n\n _searchObjectList(query) {\n const searcher = createSearcher(query, this.options);\n const { keys, records } = this._myIndex;\n const results = [];\n\n // List is Array\n records.forEach(({ $: item, i: idx }) => {\n if (!isDefined(item)) {\n return\n }\n\n let matches = [];\n\n // Iterate over every key (i.e, path), and fetch the value at that key\n keys.forEach((key, keyIndex) => {\n matches.push(\n ...this._findMatches({\n key,\n value: item[keyIndex],\n searcher\n })\n );\n });\n\n if (matches.length) {\n results.push({\n idx,\n item,\n matches\n });\n }\n });\n\n return results\n }\n _findMatches({ key, value, searcher }) {\n if (!isDefined(value)) {\n return []\n }\n\n let matches = [];\n\n if (isArray(value)) {\n value.forEach(({ v: text, i: idx, n: norm }) => {\n if (!isDefined(text)) {\n return\n }\n\n const { isMatch, score, indices } = searcher.searchIn(text);\n\n if (isMatch) {\n matches.push({\n score,\n key,\n value: text,\n idx,\n norm,\n indices\n });\n }\n });\n } else {\n const { v: text, n: norm } = value;\n\n const { isMatch, score, indices } = searcher.searchIn(text);\n\n if (isMatch) {\n matches.push({ score, key, value: text, norm, indices });\n }\n }\n\n return matches\n }\n}\n\nFuse.version = '7.0.0';\nFuse.createIndex = createIndex;\nFuse.parseIndex = parseIndex;\nFuse.config = Config;\n\n{\n Fuse.parseQuery = parse;\n}\n\n{\n register(ExtendedSearch);\n}\n\nexport { Fuse as default };\n","// @ts-strict-ignore\nimport { ComfyNodeDefImpl } from '@/stores/nodeDefStore'\nimport Fuse, { IFuseOptions, FuseSearchOptions } from 'fuse.js'\nimport _ from 'lodash'\n\nexport type SearchAuxScore = number[]\n\ninterface ExtraSearchOptions {\n matchWildcards?: boolean\n}\n\nexport class FuseSearch {\n private fuse: Fuse\n private readonly keys: string[]\n public readonly data: T[]\n public readonly advancedScoring: boolean\n\n constructor(\n data: T[],\n options?: IFuseOptions,\n createIndex: boolean = true,\n advancedScoring: boolean = false\n ) {\n this.data = data\n this.keys = (options.keys ?? []) as string[]\n this.advancedScoring = advancedScoring\n const index =\n createIndex && options?.keys\n ? Fuse.createIndex(options.keys, data)\n : undefined\n this.fuse = new Fuse(data, options, index)\n }\n\n public search(query: string, options?: FuseSearchOptions): T[] {\n const fuseResult = !query\n ? this.data.map((x) => ({ item: x, score: 0 }))\n : this.fuse.search(query, options)\n\n if (!this.advancedScoring) {\n return fuseResult.map((x) => x.item)\n }\n\n const aux = fuseResult\n .map((x) => ({\n item: x.item,\n scores: this.calcAuxScores(query.toLocaleLowerCase(), x.item, x.score)\n }))\n .sort((a, b) => this.compareAux(a.scores, b.scores))\n\n return aux.map((x) => x.item)\n }\n\n public calcAuxScores(query: string, entry: T, score: number): SearchAuxScore {\n let values: string[] = []\n if (!this.keys.length) values = [entry as string]\n else values = this.keys.map((x) => entry[x])\n const scores = values.map((x) => this.calcAuxSingle(query, x, score))\n let result = scores.sort(this.compareAux)[0]\n\n const deprecated = values.some((x) =>\n x.toLocaleLowerCase().includes('deprecated')\n )\n result[0] += deprecated && result[0] != 0 ? 5 : 0\n if (entry['postProcessSearchScores']) {\n result = entry['postProcessSearchScores'](result) as SearchAuxScore\n }\n return result\n }\n\n public calcAuxSingle(\n query: string,\n item: string,\n score: number\n ): SearchAuxScore {\n const itemWords = item\n .split(/ |\\b|(?<=[a-z])(?=[A-Z])|(?=[A-Z][a-z])/)\n .map((x) => x.toLocaleLowerCase())\n const queryParts = query.split(' ')\n item = item.toLocaleLowerCase()\n\n let main = 9\n let aux1 = 0\n let aux2 = 0\n\n if (item == query) {\n main = 0\n } else if (item.startsWith(query)) {\n main = 1\n aux2 = item.length\n } else if (itemWords.includes(query)) {\n main = 2\n aux1 = item.indexOf(query) + item.length * 0.5\n aux2 = item.length\n } else if (item.includes(query)) {\n main = 3\n aux1 = item.indexOf(query) + item.length * 0.5\n aux2 = item.length\n } else if (queryParts.every((x) => itemWords.includes(x))) {\n const indexes = queryParts.map((x) => itemWords.indexOf(x))\n const min = Math.min(...indexes)\n const max = Math.max(...indexes)\n main = 4\n aux1 = max - min + max * 0.5 + item.length * 0.5\n aux2 = item.length\n } else if (queryParts.every((x) => item.includes(x))) {\n const min = Math.min(...queryParts.map((x) => item.indexOf(x)))\n const max = Math.max(...queryParts.map((x) => item.indexOf(x) + x.length))\n main = 5\n aux1 = max - min + max * 0.5 + item.length * 0.5\n aux2 = item.length\n }\n\n const lengthPenalty =\n 0.2 *\n (1 -\n Math.min(item.length, query.length) /\n Math.max(item.length, query.length))\n return [main, aux1, aux2, score + lengthPenalty]\n }\n\n public compareAux(a: SearchAuxScore, b: SearchAuxScore) {\n for (let i = 0; i < Math.min(a.length, b.length); i++) {\n if (a[i] !== b[i]) {\n return a[i] - b[i]\n }\n }\n return a.length - b.length\n }\n}\n\nexport type FilterAndValue = [NodeFilter, T]\n\nexport abstract class NodeFilter {\n public abstract readonly id: string\n public abstract readonly name: string\n public abstract readonly invokeSequence: string\n public abstract readonly longInvokeSequence: string\n public readonly fuseSearch: FuseSearch\n\n constructor(\n nodeDefs: ComfyNodeDefImpl[],\n options?: IFuseOptions\n ) {\n this.fuseSearch = new FuseSearch(this.getAllNodeOptions(nodeDefs), options)\n }\n\n private getAllNodeOptions(nodeDefs: ComfyNodeDefImpl[]): FilterOptionT[] {\n return [\n ...new Set(\n nodeDefs.reduce((acc, nodeDef) => {\n return [...acc, ...this.getNodeOptions(nodeDef)]\n }, [])\n )\n ]\n }\n\n public abstract getNodeOptions(node: ComfyNodeDefImpl): FilterOptionT[]\n\n public matches(\n node: ComfyNodeDefImpl,\n value: FilterOptionT,\n extraOptions?: ExtraSearchOptions\n ): boolean {\n const matchWildcards = extraOptions?.matchWildcards !== false\n if (matchWildcards && value === '*') {\n return true\n }\n const options = this.getNodeOptions(node)\n return (\n options.includes(value) ||\n (matchWildcards && _.some(options, (option) => option === '*'))\n )\n }\n}\n\nexport class InputTypeFilter extends NodeFilter {\n public readonly id: string = 'input'\n public readonly name = 'Input Type'\n public readonly invokeSequence = 'i'\n public readonly longInvokeSequence = 'input'\n\n public override getNodeOptions(node: ComfyNodeDefImpl): string[] {\n return node.input.all.map((input) => input.type)\n }\n}\n\nexport class OutputTypeFilter extends NodeFilter {\n public readonly id: string = 'output'\n public readonly name = 'Output Type'\n public readonly invokeSequence = 'o'\n public readonly longInvokeSequence = 'output'\n\n public override getNodeOptions(node: ComfyNodeDefImpl): string[] {\n return node.output.all.map((output) => output.type)\n }\n}\n\nexport class NodeSourceFilter extends NodeFilter {\n public readonly id: string = 'source'\n public readonly name = 'Source'\n public readonly invokeSequence = 's'\n public readonly longInvokeSequence = 'source'\n\n public override getNodeOptions(node: ComfyNodeDefImpl): string[] {\n return [node.nodeSource.displayText]\n }\n}\n\nexport class NodeCategoryFilter extends NodeFilter {\n public readonly id: string = 'category'\n public readonly name = 'Category'\n public readonly invokeSequence = 'c'\n public readonly longInvokeSequence = 'category'\n\n public override getNodeOptions(node: ComfyNodeDefImpl): string[] {\n return [node.category]\n }\n}\n\nexport class NodeSearchService {\n public readonly nodeFuseSearch: FuseSearch\n public readonly nodeFilters: NodeFilter[]\n\n constructor(data: ComfyNodeDefImpl[]) {\n this.nodeFuseSearch = new FuseSearch(\n data,\n {\n keys: ['name', 'display_name'],\n includeScore: true,\n threshold: 0.3,\n shouldSort: false,\n useExtendedSearch: true\n },\n true,\n true\n )\n\n const filterSearchOptions = {\n includeScore: true,\n threshold: 0.3,\n shouldSort: true\n }\n\n this.nodeFilters = [\n new InputTypeFilter(data, filterSearchOptions),\n new OutputTypeFilter(data, filterSearchOptions),\n new NodeCategoryFilter(data, filterSearchOptions)\n ]\n\n if (data[0].python_module !== undefined) {\n this.nodeFilters.push(new NodeSourceFilter(data, filterSearchOptions))\n }\n }\n\n public endsWithFilterStartSequence(query: string): boolean {\n return query.endsWith(':')\n }\n\n public searchNode(\n query: string,\n filters: FilterAndValue[] = [],\n options?: FuseSearchOptions,\n extraOptions?: ExtraSearchOptions\n ): ComfyNodeDefImpl[] {\n const matchedNodes = this.nodeFuseSearch.search(query)\n\n const results = matchedNodes.filter((node) => {\n return _.every(filters, (filterAndValue) => {\n const [filter, value] = filterAndValue\n return filter.matches(node, value, extraOptions)\n })\n })\n\n return options?.limit ? results.slice(0, options.limit) : results\n }\n\n public getFilterById(id: string): NodeFilter | undefined {\n return this.nodeFilters.find((filter) => filter.id === id)\n }\n}\n","import {\n NodeSearchService,\n type SearchAuxScore\n} from '@/services/nodeSearchService'\nimport {\n type ComfyNodeDef,\n type ComfyInputsSpec as ComfyInputsSpecSchema,\n type InputSpec\n} from '@/types/apiTypes'\nimport { defineStore } from 'pinia'\nimport { ComfyWidgetConstructor } from '@/scripts/widgets'\nimport { TreeNode } from 'primevue/treenode'\nimport { buildTree } from '@/utils/treeUtil'\nimport { computed, ref } from 'vue'\nimport axios from 'axios'\nimport {\n type NodeSource,\n NodeSourceType,\n getNodeSource\n} from '@/types/nodeSource'\nimport type { LGraphNode } from '@comfyorg/litegraph'\n\nexport interface BaseInputSpec {\n name: string\n type: string\n tooltip?: string\n default?: T\n\n forceInput?: boolean\n}\n\nexport interface NumericInputSpec extends BaseInputSpec {\n min?: number\n max?: number\n step?: number\n}\n\nexport interface IntInputSpec extends NumericInputSpec {\n type: 'INT'\n}\n\nexport interface FloatInputSpec extends NumericInputSpec {\n type: 'FLOAT'\n round?: number\n}\n\nexport interface BooleanInputSpec extends BaseInputSpec {\n type: 'BOOLEAN'\n labelOn?: string\n labelOff?: string\n}\n\nexport interface StringInputSpec extends BaseInputSpec {\n type: 'STRING'\n multiline?: boolean\n dynamicPrompts?: boolean\n}\n\nexport interface ComboInputSpec extends BaseInputSpec {\n type: 'COMBO'\n comboOptions: any[]\n controlAfterGenerate?: boolean\n imageUpload?: boolean\n}\n\nexport class ComfyInputsSpec {\n required: Record\n optional: Record\n hidden?: Record\n\n constructor(obj: ComfyInputsSpecSchema) {\n this.required = ComfyInputsSpec.transformInputSpecRecord(obj.required ?? {})\n this.optional = ComfyInputsSpec.transformInputSpecRecord(obj.optional ?? {})\n this.hidden = obj.hidden\n }\n\n private static transformInputSpecRecord(\n record: Record\n ): Record {\n const result: Record = {}\n for (const [key, value] of Object.entries(record)) {\n result[key] = ComfyInputsSpec.transformSingleInputSpec(key, value)\n }\n return result\n }\n\n private static isInputSpec(obj: any): boolean {\n return (\n Array.isArray(obj) &&\n obj.length >= 1 &&\n (typeof obj[0] === 'string' || Array.isArray(obj[0]))\n )\n }\n\n private static transformSingleInputSpec(\n name: string,\n value: any\n ): BaseInputSpec {\n if (!ComfyInputsSpec.isInputSpec(value)) return value\n\n const [typeRaw, _spec] = value\n const spec = _spec ?? {}\n const type = Array.isArray(typeRaw) ? 'COMBO' : value[0]\n\n switch (type) {\n case 'COMBO':\n return {\n name,\n type,\n ...spec,\n comboOptions: typeRaw,\n default: spec.default ?? typeRaw[0]\n } as ComboInputSpec\n case 'INT':\n case 'FLOAT':\n case 'BOOLEAN':\n case 'STRING':\n default:\n return { name, type, ...spec } as BaseInputSpec\n }\n }\n\n get all() {\n return [...Object.values(this.required), ...Object.values(this.optional)]\n }\n\n getInput(name: string): BaseInputSpec | undefined {\n return this.required[name] ?? this.optional[name]\n }\n}\n\nexport class ComfyOutputSpec {\n constructor(\n public index: number,\n // Name is not unique for output params\n public name: string,\n public type: string,\n public is_list: boolean,\n public comboOptions?: any[],\n public tooltip?: string\n ) {}\n}\n\nexport class ComfyOutputsSpec {\n constructor(public outputs: ComfyOutputSpec[]) {}\n\n get all() {\n return this.outputs\n }\n}\n\n/**\n * Note: This class does not implement the ComfyNodeDef interface, as we are\n * using a custom output spec for output definitions.\n */\nexport class ComfyNodeDefImpl {\n name: string\n display_name: string\n category: string\n python_module: string\n description: string\n deprecated: boolean\n experimental: boolean\n input: ComfyInputsSpec\n output: ComfyOutputsSpec\n nodeSource: NodeSource\n\n constructor(obj: ComfyNodeDef) {\n this.name = obj.name\n this.display_name = obj.display_name\n this.category = obj.category\n this.python_module = obj.python_module\n this.description = obj.description\n this.deprecated = obj.deprecated ?? obj.category === ''\n this.experimental =\n obj.experimental ?? obj.category.startsWith('_for_testing')\n this.input = new ComfyInputsSpec(obj.input ?? {})\n this.output = ComfyNodeDefImpl.transformOutputSpec(obj)\n this.nodeSource = getNodeSource(obj.python_module)\n }\n\n private static transformOutputSpec(obj: any): ComfyOutputsSpec {\n const { output, output_is_list, output_name, output_tooltips } = obj\n const result = (output ?? []).map((type: string | any[], index: number) => {\n const typeString = Array.isArray(type) ? 'COMBO' : type\n\n return new ComfyOutputSpec(\n index,\n output_name?.[index],\n typeString,\n output_is_list?.[index],\n Array.isArray(type) ? type : undefined,\n output_tooltips?.[index]\n )\n })\n return new ComfyOutputsSpec(result)\n }\n\n get nodePath(): string {\n return (this.category ? this.category + '/' : '') + this.name\n }\n\n get isDummyFolder(): boolean {\n return this.name === ''\n }\n\n postProcessSearchScores(scores: SearchAuxScore): SearchAuxScore {\n const nodeFrequencyStore = useNodeFrequencyStore()\n const nodeFrequency = nodeFrequencyStore.getNodeFrequencyByName(this.name)\n return [scores[0], -nodeFrequency, ...scores.slice(1)]\n }\n\n get isCoreNode(): boolean {\n return this.nodeSource.type === NodeSourceType.Core\n }\n\n get nodeLifeCycleBadgeText(): string {\n if (this.deprecated) return '[DEPR]'\n if (this.experimental) return '[BETA]'\n return ''\n }\n}\n\nexport const SYSTEM_NODE_DEFS: Record = {\n PrimitiveNode: {\n name: 'PrimitiveNode',\n display_name: 'Primitive',\n category: 'utils',\n input: { required: {}, optional: {} },\n output: ['*'],\n output_name: ['connect to widget input'],\n output_is_list: [false],\n output_node: false,\n python_module: 'nodes',\n description: 'Primitive values like numbers, strings, and booleans.'\n },\n Reroute: {\n name: 'Reroute',\n display_name: 'Reroute',\n category: 'utils',\n input: { required: { '': ['*'] }, optional: {} },\n output: ['*'],\n output_name: [''],\n output_is_list: [false],\n output_node: false,\n python_module: 'nodes',\n description: 'Reroute the connection to another node.'\n },\n Note: {\n name: 'Note',\n display_name: 'Note',\n category: 'utils',\n input: { required: {}, optional: {} },\n output: [],\n output_name: [],\n output_is_list: [],\n output_node: false,\n python_module: 'nodes',\n description: 'Node that add notes to your project'\n }\n}\n\nexport function buildNodeDefTree(nodeDefs: ComfyNodeDefImpl[]): TreeNode {\n return buildTree(nodeDefs, (nodeDef: ComfyNodeDefImpl) =>\n nodeDef.nodePath.split('/')\n )\n}\n\nexport function createDummyFolderNodeDef(folderPath: string): ComfyNodeDefImpl {\n return new ComfyNodeDefImpl({\n name: '',\n display_name: '',\n category: folderPath.endsWith('/') ? folderPath.slice(0, -1) : folderPath,\n python_module: 'nodes',\n description: 'Dummy Folder Node (User should never see this string)',\n input: {},\n output: [],\n output_name: [],\n output_is_list: [],\n output_node: false\n } as ComfyNodeDef)\n}\n\nexport const useNodeDefStore = defineStore('nodeDef', () => {\n const nodeDefsByName = ref>({})\n const nodeDefsByDisplayName = ref>({})\n const widgets = ref>({})\n const showDeprecated = ref(false)\n const showExperimental = ref(false)\n\n const nodeDefs = computed(() => Object.values(nodeDefsByName.value))\n const visibleNodeDefs = computed(() =>\n nodeDefs.value.filter(\n (nodeDef: ComfyNodeDefImpl) =>\n (showDeprecated.value || !nodeDef.deprecated) &&\n (showExperimental.value || !nodeDef.experimental)\n )\n )\n const nodeSearchService = computed(\n () => new NodeSearchService(visibleNodeDefs.value)\n )\n const nodeTree = computed(() => buildNodeDefTree(visibleNodeDefs.value))\n\n function updateNodeDefs(nodeDefs: ComfyNodeDef[]) {\n const newNodeDefsByName: Record = {}\n const newNodeDefsByDisplayName: Record = {}\n for (const nodeDef of nodeDefs) {\n try {\n const nodeDefImpl = new ComfyNodeDefImpl(nodeDef)\n newNodeDefsByName[nodeDef.name] = nodeDefImpl\n newNodeDefsByDisplayName[nodeDef.display_name] = nodeDefImpl\n } catch (e) {\n // Avoid breaking the app for invalid nodeDefs\n // NodeDef validation is now optional for performance reasons\n console.error('Error adding nodeDef:', e)\n }\n }\n nodeDefsByName.value = newNodeDefsByName\n nodeDefsByDisplayName.value = newNodeDefsByDisplayName\n }\n function addNodeDef(nodeDef: ComfyNodeDef) {\n const nodeDefImpl = new ComfyNodeDefImpl(nodeDef)\n nodeDefsByName.value[nodeDef.name] = nodeDefImpl\n nodeDefsByDisplayName.value[nodeDef.display_name] = nodeDefImpl\n }\n function getWidgetType(type: string, inputName: string) {\n if (type === 'COMBO') {\n return 'COMBO'\n } else if (`${type}:${inputName}` in widgets.value) {\n return `${type}:${inputName}`\n } else if (type in widgets.value) {\n return type\n } else {\n return null\n }\n }\n function inputIsWidget(spec: BaseInputSpec) {\n return getWidgetType(spec.type, spec.name) !== null\n }\n function fromLGraphNode(node: LGraphNode): ComfyNodeDefImpl | null {\n // Frontend-only nodes don't have nodeDef\n return nodeDefsByName.value[node.constructor?.nodeData?.name] ?? null\n }\n\n return {\n nodeDefsByName,\n nodeDefsByDisplayName,\n widgets,\n showDeprecated,\n showExperimental,\n\n nodeDefs,\n visibleNodeDefs,\n nodeSearchService,\n nodeTree,\n\n updateNodeDefs,\n addNodeDef,\n getWidgetType,\n inputIsWidget,\n fromLGraphNode\n }\n})\n\nexport const useNodeFrequencyStore = defineStore('nodeFrequency', () => {\n const topNodeDefLimit = ref(64)\n const nodeFrequencyLookup = ref>({})\n const nodeNamesByFrequency = computed(() =>\n Object.keys(nodeFrequencyLookup.value)\n )\n const isLoaded = ref(false)\n\n const loadNodeFrequencies = async () => {\n if (!isLoaded.value) {\n try {\n const response = await axios.get('assets/sorted-custom-node-map.json')\n nodeFrequencyLookup.value = response.data\n isLoaded.value = true\n } catch (error) {\n console.error('Error loading node frequencies:', error)\n }\n }\n }\n\n const getNodeFrequency = (nodeDef: ComfyNodeDefImpl) => {\n return getNodeFrequencyByName(nodeDef.name)\n }\n\n const getNodeFrequencyByName = (nodeName: string) => {\n return nodeFrequencyLookup.value[nodeName] ?? 0\n }\n\n const nodeDefStore = useNodeDefStore()\n const topNodeDefs = computed(() => {\n return nodeNamesByFrequency.value\n .map((nodeName: string) => nodeDefStore.nodeDefsByName[nodeName])\n .filter((nodeDef: ComfyNodeDefImpl) => nodeDef !== undefined)\n .slice(0, topNodeDefLimit.value)\n })\n\n return {\n nodeNamesByFrequency,\n topNodeDefs,\n isLoaded,\n loadNodeFrequencies,\n getNodeFrequency,\n getNodeFrequencyByName\n }\n})\n","import { computed, ref } from 'vue'\nimport { defineStore } from 'pinia'\nimport { api } from '@/scripts/api'\n\n/** (Internal helper) finds a value in a metadata object from any of a list of keys. */\nfunction _findInMetadata(metadata: any, ...keys: string[]): string | null {\n for (const key of keys) {\n if (key in metadata) {\n return metadata[key]\n }\n for (const k in metadata) {\n if (k.endsWith(key)) {\n return metadata[k]\n }\n }\n }\n return null\n}\n\n/** Defines and holds metadata for a model */\nexport class ComfyModelDef {\n /** Proper filename of the model */\n readonly file_name: string\n /** Normalized filename of the model, with all backslashes replaced with forward slashes */\n readonly normalized_file_name: string\n /** Directory containing the model, eg 'checkpoints' */\n readonly directory: string\n /** Simplified copy of name, used as a default title. Excludes the directory and the '.safetensors' file extension */\n readonly simplified_file_name: string\n /** Key for the model, used to uniquely identify the model. */\n readonly key: string\n /** Title / display name of the model, sometimes same as the name but not always */\n title: string\n /** Metadata: architecture ID for the model, such as 'stable-diffusion-xl-v1-base' */\n architecture_id: string = ''\n /** Metadata: author of the model */\n author: string = ''\n /** Metadata: resolution of the model, eg '1024x1024' */\n resolution: string = ''\n /** Metadata: description of the model */\n description: string = ''\n /** Metadata: usage hint for the model */\n usage_hint: string = ''\n /** Metadata: trigger phrase for the model */\n trigger_phrase: string = ''\n /** Metadata: tags list for the model */\n tags: string[] = []\n /** Metadata: image for the model */\n image: string = ''\n /** Whether the model metadata has been loaded from the server, used for `load()` */\n has_loaded_metadata: boolean = false\n /** If true, a metadata load request has been triggered, but may or may not yet have finished loading */\n is_load_requested: boolean = false\n /** A string full of auto-computed lowercase-only searchable text for this model */\n searchable: string = ''\n\n constructor(name: string, directory: string) {\n this.file_name = name\n this.normalized_file_name = name.replaceAll('\\\\', '/')\n this.simplified_file_name = this.normalized_file_name.split('/').pop() ?? ''\n if (this.simplified_file_name.endsWith('.safetensors')) {\n this.simplified_file_name = this.simplified_file_name.slice(\n 0,\n -'.safetensors'.length\n )\n }\n this.title = this.simplified_file_name\n this.directory = directory\n this.key = `${directory}/${this.normalized_file_name}`\n this.updateSearchable()\n }\n\n updateSearchable() {\n this.searchable = [\n this.file_name,\n this.title,\n this.author,\n this.description,\n this.trigger_phrase,\n this.tags.join(', ')\n ]\n .join('\\n')\n .toLowerCase()\n }\n\n /** Loads the model metadata from the server, filling in this object if data is available */\n async load(): Promise {\n if (this.has_loaded_metadata || this.is_load_requested) {\n return\n }\n this.is_load_requested = true\n try {\n const metadata = await api.viewMetadata(this.directory, this.file_name)\n if (!metadata) {\n return\n }\n this.title =\n _findInMetadata(\n metadata,\n 'modelspec.title',\n 'title',\n 'display_name',\n 'name'\n ) || this.title\n this.architecture_id =\n _findInMetadata(metadata, 'modelspec.architecture', 'architecture') ||\n ''\n this.author =\n _findInMetadata(metadata, 'modelspec.author', 'author') || ''\n this.description =\n _findInMetadata(metadata, 'modelspec.description', 'description') || ''\n this.resolution =\n _findInMetadata(metadata, 'modelspec.resolution', 'resolution') || ''\n this.usage_hint =\n _findInMetadata(metadata, 'modelspec.usage_hint', 'usage_hint') || ''\n this.trigger_phrase =\n _findInMetadata(\n metadata,\n 'modelspec.trigger_phrase',\n 'trigger_phrase'\n ) || ''\n this.image =\n _findInMetadata(\n metadata,\n 'modelspec.thumbnail',\n 'thumbnail',\n 'image',\n 'icon'\n ) || ''\n const tagsCommaSeparated =\n _findInMetadata(metadata, 'modelspec.tags', 'tags') || ''\n this.tags = tagsCommaSeparated.split(',').map((tag) => tag.trim())\n this.has_loaded_metadata = true\n this.updateSearchable()\n } catch (error) {\n console.error('Error loading model metadata', this.file_name, this, error)\n }\n }\n}\n\nexport enum ResourceState {\n Uninitialized,\n Loading,\n Loaded\n}\n\nexport class ModelFolder {\n /** Models in this folder */\n models: Record = {}\n state: ResourceState = ResourceState.Uninitialized\n\n constructor(public directory: string) {}\n\n get key(): string {\n return this.directory + '/'\n }\n\n /**\n * Loads the models in this folder from the server\n */\n async load() {\n if (this.state !== ResourceState.Uninitialized) {\n return this\n }\n this.state = ResourceState.Loading\n const models = await api.getModels(this.directory)\n for (const model of models) {\n this.models[model] = new ComfyModelDef(model, this.directory)\n }\n this.state = ResourceState.Loaded\n return this\n }\n}\n\n/** Model store handler, wraps individual per-folder model stores */\nexport const useModelStore = defineStore('models', () => {\n const modelFolderNames = ref([])\n const modelFolderByName = ref>({})\n const modelFolders = computed(() =>\n modelFolderNames.value.map(\n (folderName) => modelFolderByName.value[folderName]\n )\n )\n const models = computed(() =>\n modelFolders.value.flatMap((folder) => Object.values(folder.models))\n )\n\n /**\n * Loads the model folders from the server\n */\n async function loadModelFolders() {\n modelFolderNames.value = await api.getModelFolders()\n modelFolderByName.value = {}\n for (const folderName of modelFolderNames.value) {\n modelFolderByName.value[folderName] = new ModelFolder(folderName)\n }\n }\n\n async function getLoadedModelFolder(\n folderName: string\n ): Promise {\n const folder = modelFolderByName.value[folderName]\n return folder ? await folder.load() : null\n }\n\n /**\n * Loads all model folders' contents from the server\n */\n async function loadModels() {\n return Promise.all(modelFolders.value.map((folder) => folder.load()))\n }\n\n return {\n models,\n modelFolders,\n loadModelFolders,\n loadModels,\n getLoadedModelFolder\n }\n})\n","import type { Keybinding } from '@/types/keyBindingTypes'\n\nexport const CORE_KEYBINDINGS: Keybinding[] = [\n {\n combo: {\n ctrl: true,\n key: 'Enter'\n },\n commandId: 'Comfy.QueuePrompt'\n },\n {\n combo: {\n ctrl: true,\n shift: true,\n key: 'Enter'\n },\n commandId: 'Comfy.QueuePromptFront'\n },\n {\n combo: {\n ctrl: true,\n alt: true,\n key: 'Enter'\n },\n commandId: 'Comfy.Interrupt'\n },\n {\n combo: {\n key: 'r'\n },\n commandId: 'Comfy.RefreshNodeDefinitions'\n },\n {\n combo: {\n key: 'q'\n },\n commandId: 'Workspace.ToggleSidebarTab.queue'\n },\n {\n combo: {\n key: 'w'\n },\n commandId: 'Workspace.ToggleSidebarTab.workflows'\n },\n {\n combo: {\n key: 'n'\n },\n commandId: 'Workspace.ToggleSidebarTab.node-library'\n },\n {\n combo: {\n key: 'm'\n },\n commandId: 'Workspace.ToggleSidebarTab.model-library'\n },\n {\n combo: {\n key: 's',\n ctrl: true\n },\n commandId: 'Comfy.ExportWorkflow'\n },\n {\n combo: {\n key: 'o',\n ctrl: true\n },\n commandId: 'Comfy.OpenWorkflow'\n },\n {\n combo: {\n key: 'Backspace'\n },\n commandId: 'Comfy.ClearWorkflow'\n },\n {\n combo: {\n key: 'd',\n ctrl: true\n },\n commandId: 'Comfy.LoadDefaultWorkflow'\n },\n {\n combo: {\n key: 'g',\n ctrl: true\n },\n commandId: 'Comfy.Graph.GroupSelectedNodes'\n },\n {\n combo: {\n key: ',',\n ctrl: true\n },\n commandId: 'Comfy.ShowSettingsDialog'\n },\n // For '=' both holding shift and not holding shift\n {\n combo: {\n key: '=',\n alt: true\n },\n commandId: 'Comfy.Canvas.ZoomIn',\n targetSelector: '#graph-canvas'\n },\n {\n combo: {\n key: '+',\n alt: true,\n shift: true\n },\n commandId: 'Comfy.Canvas.ZoomIn',\n targetSelector: '#graph-canvas'\n },\n // For number pad '+'\n {\n combo: {\n key: '+',\n alt: true\n },\n commandId: 'Comfy.Canvas.ZoomIn',\n targetSelector: '#graph-canvas'\n },\n {\n combo: {\n key: '-',\n alt: true\n },\n commandId: 'Comfy.Canvas.ZoomOut',\n targetSelector: '#graph-canvas'\n },\n {\n combo: {\n key: 'p'\n },\n commandId: 'Comfy.Canvas.ToggleSelectedNodes.Pin',\n targetSelector: '#graph-canvas'\n },\n {\n combo: {\n key: 'c',\n alt: true\n },\n commandId: 'Comfy.Canvas.ToggleSelectedNodes.Collapse',\n targetSelector: '#graph-canvas'\n },\n {\n combo: {\n key: 'b',\n ctrl: true\n },\n commandId: 'Comfy.Canvas.ToggleSelectedNodes.Bypass',\n targetSelector: '#graph-canvas'\n },\n {\n combo: {\n key: 'm',\n ctrl: true\n },\n commandId: 'Comfy.Canvas.ToggleSelectedNodes.Mute',\n targetSelector: '#graph-canvas'\n },\n {\n combo: {\n key: '`',\n ctrl: true\n },\n commandId: 'Workspace.ToggleBottomPanelTab.integrated-terminal'\n },\n {\n combo: {\n key: 'f'\n },\n commandId: 'Workspace.ToggleFocusMode'\n }\n]\n","import { defineStore } from 'pinia'\nimport { computed, Ref, ref, toRaw } from 'vue'\nimport { Keybinding, KeyCombo } from '@/types/keyBindingTypes'\nimport { useSettingStore } from './settingStore'\nimport { CORE_KEYBINDINGS } from './coreKeybindings'\nimport type { ComfyExtension } from '@/types/comfy'\n\nexport class KeybindingImpl implements Keybinding {\n commandId: string\n combo: KeyComboImpl\n targetSelector?: string\n\n constructor(obj: Keybinding) {\n this.commandId = obj.commandId\n this.combo = new KeyComboImpl(obj.combo)\n this.targetSelector = obj.targetSelector\n }\n\n equals(other: any): boolean {\n if (toRaw(other) instanceof KeybindingImpl) {\n return (\n this.commandId === other.commandId &&\n this.combo.equals(other.combo) &&\n this.targetSelector === other.targetSelector\n )\n }\n return false\n }\n}\n\nexport class KeyComboImpl implements KeyCombo {\n key: string\n // ctrl or meta(cmd on mac)\n ctrl: boolean\n alt: boolean\n shift: boolean\n\n constructor(obj: KeyCombo) {\n this.key = obj.key\n this.ctrl = obj.ctrl ?? false\n this.alt = obj.alt ?? false\n this.shift = obj.shift ?? false\n }\n\n static fromEvent(event: KeyboardEvent) {\n return new KeyComboImpl({\n key: event.key,\n ctrl: event.ctrlKey || event.metaKey,\n alt: event.altKey,\n shift: event.shiftKey\n })\n }\n\n equals(other: any): boolean {\n if (toRaw(other) instanceof KeyComboImpl) {\n return (\n this.key === other.key &&\n this.ctrl === other.ctrl &&\n this.alt === other.alt &&\n this.shift === other.shift\n )\n }\n return false\n }\n\n serialize(): string {\n return `${this.key}:${this.ctrl}:${this.alt}:${this.shift}`\n }\n\n deserialize(serialized: string): KeyComboImpl {\n const [key, ctrl, alt, shift] = serialized.split(':')\n return new KeyComboImpl({\n key,\n ctrl: ctrl === 'true',\n alt: alt === 'true',\n shift: shift === 'true'\n })\n }\n\n toString(): string {\n return this.getKeySequences().join(' + ')\n }\n\n get hasModifier(): boolean {\n return this.ctrl || this.alt || this.shift\n }\n\n get isModifier(): boolean {\n return ['Control', 'Meta', 'Alt', 'Shift'].includes(this.key)\n }\n\n getKeySequences(): string[] {\n const sequences: string[] = []\n if (this.ctrl) {\n sequences.push('Ctrl')\n }\n if (this.alt) {\n sequences.push('Alt')\n }\n if (this.shift) {\n sequences.push('Shift')\n }\n sequences.push(this.key)\n return sequences\n }\n}\n\nexport const useKeybindingStore = defineStore('keybinding', () => {\n /**\n * Default keybindings provided by core and extensions.\n */\n const defaultKeybindings = ref>({})\n /**\n * User-defined keybindings.\n */\n const userKeybindings = ref>({})\n /**\n * User-defined keybindings that unset default keybindings.\n */\n const userUnsetKeybindings = ref>({})\n\n const keybindingByKeyCombo = computed>(() => {\n const result: Record = {\n ...defaultKeybindings.value,\n ...userKeybindings.value\n }\n\n for (const keybinding of Object.values(userUnsetKeybindings.value)) {\n const serializedCombo = keybinding.combo.serialize()\n if (result[serializedCombo]?.equals(keybinding)) {\n delete result[serializedCombo]\n }\n }\n return result\n })\n\n const keybindings = computed(() =>\n Object.values(keybindingByKeyCombo.value)\n )\n\n function getKeybinding(combo: KeyComboImpl) {\n return keybindingByKeyCombo.value[combo.serialize()]\n }\n\n function createKeybindingsByCommandId(keybindings: KeybindingImpl[]) {\n const result: Record = {}\n for (const keybinding of keybindings) {\n if (!(keybinding.commandId in result)) {\n result[keybinding.commandId] = []\n }\n result[keybinding.commandId].push(keybinding)\n }\n return result\n }\n\n const keybindingsByCommandId = computed>(\n () => {\n return createKeybindingsByCommandId(keybindings.value)\n }\n )\n\n function getKeybindingsByCommandId(commandId: string) {\n return keybindingsByCommandId.value[commandId] ?? []\n }\n\n const defaultKeybindingsByCommandId = computed<\n Record\n >(() => {\n return createKeybindingsByCommandId(Object.values(defaultKeybindings.value))\n })\n\n function getKeybindingByCommandId(commandId: string) {\n return getKeybindingsByCommandId(commandId)[0]\n }\n\n function addKeybinding(\n target: Ref>,\n keybinding: KeybindingImpl,\n { existOk = false }: { existOk: boolean }\n ) {\n if (!existOk && keybinding.combo.serialize() in target.value) {\n throw new Error(\n `Keybinding on ${keybinding.combo} already exists on ${\n target.value[keybinding.combo.serialize()].commandId\n }`\n )\n }\n target.value[keybinding.combo.serialize()] = keybinding\n }\n\n function addDefaultKeybinding(keybinding: KeybindingImpl) {\n addKeybinding(defaultKeybindings, keybinding, { existOk: false })\n }\n\n function addUserKeybinding(keybinding: KeybindingImpl) {\n const defaultKeybinding =\n defaultKeybindings.value[keybinding.combo.serialize()]\n const userUnsetKeybinding =\n userUnsetKeybindings.value[keybinding.combo.serialize()]\n\n // User is adding back a keybinding that was an unsetted default keybinding.\n if (\n keybinding.equals(defaultKeybinding) &&\n keybinding.equals(userUnsetKeybinding)\n ) {\n delete userUnsetKeybindings.value[keybinding.combo.serialize()]\n return\n }\n\n // Unset keybinding on default keybinding if it exists and is not the same as userUnsetKeybinding\n if (defaultKeybinding && !defaultKeybinding.equals(userUnsetKeybinding)) {\n unsetKeybinding(defaultKeybinding)\n }\n\n addKeybinding(userKeybindings, keybinding, { existOk: true })\n }\n\n function unsetKeybinding(keybinding: KeybindingImpl) {\n const serializedCombo = keybinding.combo.serialize()\n if (!(serializedCombo in keybindingByKeyCombo.value)) {\n throw new Error(`Keybinding on ${keybinding.combo} does not exist`)\n }\n\n if (userKeybindings.value[serializedCombo]?.equals(keybinding)) {\n delete userKeybindings.value[serializedCombo]\n return\n }\n\n if (defaultKeybindings.value[serializedCombo]?.equals(keybinding)) {\n addKeybinding(userUnsetKeybindings, keybinding, { existOk: false })\n return\n }\n\n throw new Error(`NOT_REACHED`)\n }\n\n /**\n * Update the keybinding on given command if it is different from the current keybinding.\n *\n * @returns true if the keybinding is updated, false otherwise.\n */\n function updateKeybindingOnCommand(keybinding: KeybindingImpl): boolean {\n const currentKeybinding = getKeybindingByCommandId(keybinding.commandId)\n if (currentKeybinding?.equals(keybinding)) {\n return false\n }\n if (currentKeybinding) {\n unsetKeybinding(currentKeybinding)\n }\n addUserKeybinding(keybinding)\n return true\n }\n\n function loadUserKeybindings() {\n const settingStore = useSettingStore()\n // Unset bindings first as new bindings might conflict with default bindings.\n const unsetBindings = settingStore.get('Comfy.Keybinding.UnsetBindings')\n for (const keybinding of unsetBindings) {\n unsetKeybinding(new KeybindingImpl(keybinding))\n }\n const newBindings = settingStore.get('Comfy.Keybinding.NewBindings')\n for (const keybinding of newBindings) {\n addUserKeybinding(new KeybindingImpl(keybinding))\n }\n }\n\n function loadCoreKeybindings() {\n for (const keybinding of CORE_KEYBINDINGS) {\n addDefaultKeybinding(new KeybindingImpl(keybinding))\n }\n }\n\n function loadExtensionKeybindings(extension: ComfyExtension) {\n if (extension.keybindings) {\n for (const keybinding of extension.keybindings) {\n try {\n addDefaultKeybinding(new KeybindingImpl(keybinding))\n } catch (error) {\n console.warn(\n `Failed to load keybinding for extension ${extension.name}`,\n error\n )\n }\n }\n }\n }\n\n async function persistUserKeybindings() {\n const settingStore = useSettingStore()\n // TODO(https://github.com/Comfy-Org/ComfyUI_frontend/issues/1079):\n // Allow setting multiple values at once in settingStore\n await settingStore.set(\n 'Comfy.Keybinding.NewBindings',\n Object.values(userKeybindings.value)\n )\n await settingStore.set(\n 'Comfy.Keybinding.UnsetBindings',\n Object.values(userUnsetKeybindings.value)\n )\n }\n\n function resetKeybindings() {\n userKeybindings.value = {}\n userUnsetKeybindings.value = {}\n }\n\n function isCommandKeybindingModified(commandId: string): boolean {\n const currentKeybinding: KeybindingImpl | undefined =\n getKeybindingByCommandId(commandId)\n const defaultKeybinding: KeybindingImpl | undefined =\n defaultKeybindingsByCommandId.value[commandId]?.[0]\n\n return !(\n (currentKeybinding === undefined && defaultKeybinding === undefined) ||\n currentKeybinding?.equals(defaultKeybinding)\n )\n }\n\n return {\n keybindings,\n getKeybinding,\n getKeybindingsByCommandId,\n getKeybindingByCommandId,\n addDefaultKeybinding,\n addUserKeybinding,\n unsetKeybinding,\n updateKeybindingOnCommand,\n loadUserKeybindings,\n loadCoreKeybindings,\n loadExtensionKeybindings,\n persistUserKeybindings,\n resetKeybindings,\n isCommandKeybindingModified\n }\n})\n","import { defineStore } from 'pinia'\nimport type { MenuItem } from 'primevue/menuitem'\nimport { ref } from 'vue'\nimport { useCommandStore } from './commandStore'\nimport { ComfyExtension } from '@/types/comfy'\n\nexport const useMenuItemStore = defineStore('menuItem', () => {\n const commandStore = useCommandStore()\n const menuItems = ref([])\n\n const registerMenuGroup = (path: string[], items: MenuItem[]) => {\n let currentLevel = menuItems.value\n\n // Traverse the path, creating nodes if necessary\n for (let i = 0; i < path.length; i++) {\n const segment = path[i]\n let found = currentLevel.find((item) => item.label === segment)\n\n if (!found) {\n // Create a new node if it doesn't exist\n found = {\n label: segment,\n items: []\n }\n currentLevel.push(found)\n }\n\n // Ensure the found item has an 'items' array\n if (!found.items) {\n found.items = []\n }\n\n // Move to the next level\n currentLevel = found.items\n }\n\n if (currentLevel.length > 0) {\n currentLevel.push({\n separator: true\n })\n }\n // Add the new items to the last level\n currentLevel.push(...items)\n }\n\n const registerCommands = (path: string[], commandIds: string[]) => {\n const items = commandIds\n .map((commandId) => commandStore.getCommand(commandId))\n .map(\n (command) =>\n ({\n command: command.function,\n label: command.menubarLabel,\n icon: command.icon,\n tooltip: command.tooltip,\n comfyCommand: command\n }) as MenuItem\n )\n registerMenuGroup(path, items)\n }\n\n const loadExtensionMenuCommands = (extension: ComfyExtension) => {\n if (!extension.menuCommands) {\n return\n }\n\n const extensionCommandIds = new Set(\n extension.commands?.map((command) => command.id) ?? []\n )\n extension.menuCommands.forEach((menuCommand) => {\n const commands = menuCommand.commands.filter((command) =>\n extensionCommandIds.has(command)\n )\n if (commands.length) {\n registerCommands(menuCommand.path, commands)\n }\n })\n }\n\n // Core menu commands\n registerCommands(['Workflow'], ['Comfy.NewBlankWorkflow'])\n\n registerCommands(\n ['Workflow'],\n ['Comfy.OpenWorkflow', 'Comfy.BrowseTemplates']\n )\n registerCommands(\n ['Workflow'],\n [\n 'Comfy.SaveWorkflow',\n 'Comfy.SaveWorkflowAs',\n 'Comfy.ExportWorkflow',\n 'Comfy.ExportWorkflowAPI'\n ]\n )\n\n registerCommands(['Edit'], ['Comfy.Undo', 'Comfy.Redo'])\n registerCommands(['Edit'], ['Comfy.ClearWorkflow'])\n registerCommands(['Edit'], ['Comfy.OpenClipspace'])\n\n registerMenuGroup(\n ['Help'],\n [\n {\n icon: 'pi pi-github',\n label: 'ComfyUI Issues',\n url: 'https://github.com/comfyanonymous/ComfyUI/issues'\n },\n {\n icon: 'pi pi-info-circle',\n label: 'ComfyUI Docs',\n url: 'https://docs.comfy.org/'\n },\n {\n icon: 'pi pi-discord',\n label: 'Comfy-Org',\n url: 'https://www.comfy.org/discord'\n }\n ]\n )\n\n return {\n menuItems,\n registerMenuGroup,\n registerCommands,\n loadExtensionMenuCommands\n }\n})\n","\n\n\n","import { useI18n } from 'vue-i18n'\nimport { markRaw } from 'vue'\nimport IntegratedTerminal from '@/components/bottomPanel/tabs/IntegratedTerminal.vue'\nimport { BottomPanelExtension } from '@/types/extensionTypes'\n\nexport const useIntegratedTerminalTab = (): BottomPanelExtension => {\n const { t } = useI18n()\n return {\n id: 'integrated-terminal',\n title: t('terminal'),\n component: markRaw(IntegratedTerminal),\n type: 'vue'\n }\n}\n","import type { BottomPanelExtension } from '@/types/extensionTypes'\nimport { defineStore } from 'pinia'\nimport { computed, ref } from 'vue'\nimport { useCommandStore } from '@/stores/commandStore'\nimport { useIntegratedTerminalTab } from '@/hooks/bottomPanelTabs/integratedTerminalTab'\nimport { ComfyExtension } from '@/types/comfy'\n\nexport const useBottomPanelStore = defineStore('bottomPanel', () => {\n const bottomPanelVisible = ref(false)\n const toggleBottomPanel = () => {\n // If there are no tabs, don't show the bottom panel\n if (bottomPanelTabs.value.length === 0) {\n return\n }\n bottomPanelVisible.value = !bottomPanelVisible.value\n }\n\n const bottomPanelTabs = ref([])\n const activeBottomPanelTabId = ref(null)\n const activeBottomPanelTab = computed(() => {\n return (\n bottomPanelTabs.value.find(\n (tab) => tab.id === activeBottomPanelTabId.value\n ) ?? null\n )\n })\n const setActiveTab = (tabId: string) => {\n activeBottomPanelTabId.value = tabId\n }\n const toggleBottomPanelTab = (tabId: string) => {\n if (activeBottomPanelTabId.value === tabId && bottomPanelVisible.value) {\n bottomPanelVisible.value = false\n } else {\n activeBottomPanelTabId.value = tabId\n bottomPanelVisible.value = true\n }\n }\n const registerBottomPanelTab = (tab: BottomPanelExtension) => {\n bottomPanelTabs.value = [...bottomPanelTabs.value, tab]\n if (bottomPanelTabs.value.length === 1) {\n activeBottomPanelTabId.value = tab.id\n }\n useCommandStore().registerCommand({\n id: `Workspace.ToggleBottomPanelTab.${tab.id}`,\n icon: 'pi pi-list',\n label: tab.title,\n function: () => toggleBottomPanelTab(tab.id)\n })\n }\n\n const registerCoreBottomPanelTabs = () => {\n registerBottomPanelTab(useIntegratedTerminalTab())\n }\n\n const registerExtensionBottomPanelTabs = (extension: ComfyExtension) => {\n if (extension.bottomPanelTabs) {\n extension.bottomPanelTabs.forEach(registerBottomPanelTab)\n }\n }\n\n return {\n bottomPanelVisible,\n toggleBottomPanel,\n bottomPanelTabs,\n activeBottomPanelTab,\n activeBottomPanelTabId,\n setActiveTab,\n toggleBottomPanelTab,\n registerBottomPanelTab,\n registerCoreBottomPanelTabs,\n registerExtensionBottomPanelTabs\n }\n})\n","import { ref, computed, markRaw } from 'vue'\nimport { defineStore } from 'pinia'\nimport type { ComfyExtension } from '@/types/comfy'\nimport { useKeybindingStore } from './keybindingStore'\nimport { useCommandStore } from './commandStore'\nimport { useSettingStore } from './settingStore'\nimport { app } from '@/scripts/app'\nimport { useMenuItemStore } from './menuItemStore'\nimport { useBottomPanelStore } from './workspace/bottomPanelStore'\n\nexport const useExtensionStore = defineStore('extension', () => {\n // For legacy reasons, the name uniquely identifies an extension\n const extensionByName = ref>({})\n const extensions = computed(() => Object.values(extensionByName.value))\n // Not using computed because disable extension requires reloading of the page.\n // Dynamically update this list won't affect extensions that are already loaded.\n const disabledExtensionNames = ref>(new Set())\n\n // Disabled extension names that are currently not in the extension list.\n // If a node pack is disabled in the backend, we shouldn't remove the configuration\n // of the frontend extension disable list, in case the node pack is re-enabled.\n const inactiveDisabledExtensionNames = computed(() => {\n return Array.from(disabledExtensionNames.value).filter(\n (name) => !(name in extensionByName.value)\n )\n })\n\n const isExtensionEnabled = (name: string) =>\n !disabledExtensionNames.value.has(name)\n const enabledExtensions = computed(() => {\n return extensions.value.filter((ext) => isExtensionEnabled(ext.name))\n })\n\n function registerExtension(extension: ComfyExtension) {\n if (!extension.name) {\n throw new Error(\"Extensions must have a 'name' property.\")\n }\n\n if (extensionByName.value[extension.name]) {\n throw new Error(`Extension named '${extension.name}' already registered.`)\n }\n\n if (disabledExtensionNames.value.has(extension.name)) {\n console.log(`Extension ${extension.name} is disabled.`)\n }\n\n extensionByName.value[extension.name] = markRaw(extension)\n useKeybindingStore().loadExtensionKeybindings(extension)\n useCommandStore().loadExtensionCommands(extension)\n useMenuItemStore().loadExtensionMenuCommands(extension)\n useSettingStore().loadExtensionSettings(extension)\n useBottomPanelStore().registerExtensionBottomPanelTabs(extension)\n /*\n * Extensions are currently stored in both extensionStore and app.extensions.\n * Legacy jest tests still depend on app.extensions being populated.\n */\n app.extensions.push(extension)\n }\n\n function loadDisabledExtensionNames() {\n disabledExtensionNames.value = new Set(\n useSettingStore().get('Comfy.Extension.Disabled')\n )\n // pysssss.Locking is replaced by pin/unpin in ComfyUI core.\n // https://github.com/Comfy-Org/litegraph.js/pull/117\n disabledExtensionNames.value.add('pysssss.Locking')\n // pysssss.SnapToGrid is replaced by Comfy.Graph.AlwaysSnapToGrid in ComfyUI core.\n // pysssss.SnapToGrid tries to write global app.shiftDown state, which is no longer\n // allowed since v1.3.12.\n // https://github.com/Comfy-Org/ComfyUI_frontend/issues/1176\n disabledExtensionNames.value.add('pysssss.SnapToGrid')\n }\n\n // Some core extensions are registered before the store is initialized, e.g.\n // colorPalette.\n // Register them manually here so the state of app.extensions and\n // extensionByName are in sync.\n for (const ext of app.extensions) {\n extensionByName.value[ext.name] = markRaw(ext)\n }\n\n return {\n extensions,\n enabledExtensions,\n inactiveDisabledExtensionNames,\n isExtensionEnabled,\n registerExtension,\n loadDisabledExtensionNames\n }\n})\n","// @ts-strict-ignore\nimport { ComfyLogging } from './logging'\nimport { ComfyWidgetConstructor, ComfyWidgets, initWidgets } from './widgets'\nimport { ComfyUI, $el } from './ui'\nimport { api } from './api'\nimport { defaultGraph } from './defaultGraph'\nimport {\n getPngMetadata,\n getWebpMetadata,\n getFlacMetadata,\n importA1111,\n getLatentMetadata\n} from './pnginfo'\nimport { addDomClippingSetting } from './domWidget'\nimport { createImageHost, calculateImageGrid } from './ui/imagePreview'\nimport { DraggableList } from './ui/draggableList'\nimport { applyTextReplacements, addStylesheet } from './utils'\nimport type { ComfyExtension, MissingNodeType } from '@/types/comfy'\nimport {\n type ComfyWorkflowJSON,\n type NodeId,\n validateComfyWorkflow\n} from '../types/comfyWorkflow'\nimport { BinaryPreview, ComfyNodeDef, StatusWsMessageStatus } from '@/types/apiTypes'\nimport { adjustColor, ColorAdjustOptions } from '@/utils/colorUtil'\nimport { ComfyAppMenu } from './ui/menu/index'\nimport { getStorageValue } from './utils'\nimport { ComfyWorkflowManager, ComfyWorkflow } from './workflows'\nimport {\n LGraphCanvas,\n LGraph,\n LGraphNode,\n LiteGraph\n} from '@comfyorg/litegraph'\nimport { StorageLocation } from '@/types/settingTypes'\nimport { ExtensionManager } from '@/types/extensionTypes'\nimport {\n ComfyNodeDefImpl,\n SYSTEM_NODE_DEFS,\n useNodeDefStore\n} from '@/stores/nodeDefStore'\nimport { INodeInputSlot, Vector2 } from '@comfyorg/litegraph'\nimport _ from 'lodash'\nimport {\n showExecutionErrorDialog,\n showLoadWorkflowWarning,\n showMissingModelsWarning\n} from '@/services/dialogService'\nimport { useSettingStore } from '@/stores/settingStore'\nimport { useToastStore } from '@/stores/toastStore'\nimport { useModelStore } from '@/stores/modelStore'\nimport type { ToastMessageOptions } from 'primevue/toast'\nimport { useWorkspaceStore } from '@/stores/workspaceStateStore'\nimport { useExecutionStore } from '@/stores/executionStore'\nimport { IWidget } from '@comfyorg/litegraph'\nimport { useExtensionStore } from '@/stores/extensionStore'\nimport { KeyComboImpl, useKeybindingStore } from '@/stores/keybindingStore'\nimport { useCommandStore } from '@/stores/commandStore'\nimport { shallowReactive } from 'vue'\n\nexport const ANIM_PREVIEW_WIDGET = '$$comfy_animation_preview'\n\nfunction sanitizeNodeName(string) {\n let entityMap = {\n '&': '',\n '<': '',\n '>': '',\n '\"': '',\n \"'\": '',\n '`': '',\n '=': ''\n }\n return String(string).replace(/[&<>\"'`=]/g, function fromEntityMap(s) {\n return entityMap[s]\n })\n}\n\ntype Clipspace = {\n widgets?: { type?: string; name?: string; value?: any }[] | null\n imgs?: HTMLImageElement[] | null\n original_imgs?: HTMLImageElement[] | null\n images?: any[] | null\n selectedIndex: number\n img_paste_mode: string\n}\n\n/**\n * @typedef {import(\"types/comfy\").ComfyExtension} ComfyExtension\n */\n\nexport class ComfyApp {\n /**\n * List of entries to queue\n * @type {{number: number, batchCount: number}[]}\n */\n #queueItems = []\n /**\n * If the queue is currently being processed\n * @type {boolean}\n */\n #processingQueue = false\n\n /**\n * Content Clipboard\n * @type {serialized node object}\n */\n static clipspace: Clipspace | null = null\n static clipspace_invalidate_handler: (() => void) | null = null\n static open_maskeditor = null\n static clipspace_return_node = null\n\n // Force vite to import utils.ts as part of index.\n // Force import of DraggableList.\n static utils = {\n applyTextReplacements,\n addStylesheet,\n DraggableList\n }\n\n vueAppReady: boolean\n ui: ComfyUI\n logging: ComfyLogging\n extensions: ComfyExtension[]\n extensionManager: ExtensionManager\n _nodeOutputs: Record\n nodePreviewImages: Record\n graph: LGraph\n enableWorkflowViewRestore: any\n canvas: LGraphCanvas\n dragOverNode: LGraphNode | null\n canvasEl: HTMLCanvasElement\n // x, y, scale\n zoom_drag_start: [number, number, number] | null\n lastNodeErrors: any[] | null\n lastExecutionError: { node_id: number } | null\n progress: { value: number; max: number } | null\n configuringGraph: boolean\n isNewUserSession: boolean\n storageLocation: StorageLocation\n multiUserServer: boolean\n ctx: CanvasRenderingContext2D\n widgets: Record\n workflowManager: ComfyWorkflowManager\n bodyTop: HTMLElement\n bodyLeft: HTMLElement\n bodyRight: HTMLElement\n bodyBottom: HTMLElement\n canvasContainer: HTMLElement\n menu: ComfyAppMenu\n bypassBgColor: string\n // Set by Comfy.Clipspace extension\n openClipspace: () => void = () => {}\n\n /**\n * @deprecated Use useExecutionStore().executingNodeId instead\n */\n get runningNodeId(): string | null {\n return useExecutionStore().executingNodeId\n }\n\n /**\n * @deprecated Use useWorkspaceStore().shiftDown instead\n */\n get shiftDown(): boolean {\n return useWorkspaceStore().shiftDown\n }\n\n constructor() {\n this.vueAppReady = false\n this.ui = new ComfyUI(this)\n this.logging = new ComfyLogging(this)\n this.workflowManager = new ComfyWorkflowManager(this)\n this.bodyTop = $el('div.comfyui-body-top', { parent: document.body })\n this.bodyLeft = $el('div.comfyui-body-left', { parent: document.body })\n this.bodyRight = $el('div.comfyui-body-right', { parent: document.body })\n this.bodyBottom = $el('div.comfyui-body-bottom', { parent: document.body })\n this.canvasContainer = $el('div.graph-canvas-container', {\n parent: document.body\n })\n this.menu = new ComfyAppMenu(this)\n this.bypassBgColor = '#FF00FF'\n\n /**\n * List of extensions that are registered with the app\n * @type {ComfyExtension[]}\n */\n this.extensions = []\n\n /**\n * Stores the execution output data for each node\n * @type {Record}\n */\n this.nodeOutputs = {}\n\n /**\n * Stores the preview image data for each node\n * @type {Record}\n */\n this.nodePreviewImages = {}\n }\n\n get nodeOutputs() {\n return this._nodeOutputs\n }\n\n set nodeOutputs(value) {\n this._nodeOutputs = value\n this.#invokeExtensions('onNodeOutputsUpdated', value)\n }\n\n getPreviewFormatParam() {\n let preview_format = this.ui.settings.getSettingValue('Comfy.PreviewFormat')\n if (preview_format) return `&preview=${preview_format}`\n else return ''\n }\n\n getRandParam() {\n return '&rand=' + Math.random()\n }\n\n static isImageNode(node) {\n return (\n node.imgs ||\n (node &&\n node.widgets &&\n node.widgets.findIndex((obj) => obj.name === 'image') >= 0)\n )\n }\n\n static onClipspaceEditorSave() {\n if (ComfyApp.clipspace_return_node) {\n ComfyApp.pasteFromClipspace(ComfyApp.clipspace_return_node)\n }\n }\n\n static onClipspaceEditorClosed() {\n ComfyApp.clipspace_return_node = null\n }\n\n static copyToClipspace(node) {\n var widgets = null\n if (node.widgets) {\n widgets = node.widgets.map(({ type, name, value }) => ({\n type,\n name,\n value\n }))\n }\n\n var imgs = undefined\n var orig_imgs = undefined\n if (node.imgs != undefined) {\n imgs = []\n orig_imgs = []\n\n for (let i = 0; i < node.imgs.length; i++) {\n imgs[i] = new Image()\n imgs[i].src = node.imgs[i].src\n orig_imgs[i] = imgs[i]\n }\n }\n\n var selectedIndex = 0\n if (node.imageIndex) {\n selectedIndex = node.imageIndex\n }\n\n ComfyApp.clipspace = {\n widgets: widgets,\n imgs: imgs,\n original_imgs: orig_imgs,\n images: node.images,\n selectedIndex: selectedIndex,\n img_paste_mode: 'selected' // reset to default im_paste_mode state on copy action\n }\n\n ComfyApp.clipspace_return_node = null\n\n if (ComfyApp.clipspace_invalidate_handler) {\n ComfyApp.clipspace_invalidate_handler()\n }\n }\n\n static pasteFromClipspace(node) {\n if (ComfyApp.clipspace) {\n // image paste\n if (ComfyApp.clipspace.imgs && node.imgs) {\n if (node.images && ComfyApp.clipspace.images) {\n if (ComfyApp.clipspace['img_paste_mode'] == 'selected') {\n node.images = [\n ComfyApp.clipspace.images[ComfyApp.clipspace['selectedIndex']]\n ]\n } else {\n node.images = ComfyApp.clipspace.images\n }\n\n if (app.nodeOutputs[node.id + ''])\n app.nodeOutputs[node.id + ''].images = node.images\n }\n\n if (ComfyApp.clipspace.imgs) {\n // deep-copy to cut link with clipspace\n if (ComfyApp.clipspace['img_paste_mode'] == 'selected') {\n const img = new Image()\n img.src =\n ComfyApp.clipspace.imgs[ComfyApp.clipspace['selectedIndex']].src\n node.imgs = [img]\n node.imageIndex = 0\n } else {\n const imgs = []\n for (let i = 0; i < ComfyApp.clipspace.imgs.length; i++) {\n imgs[i] = new Image()\n imgs[i].src = ComfyApp.clipspace.imgs[i].src\n node.imgs = imgs\n }\n }\n }\n }\n\n if (node.widgets) {\n if (ComfyApp.clipspace.images) {\n const clip_image =\n ComfyApp.clipspace.images[ComfyApp.clipspace['selectedIndex']]\n const index = node.widgets.findIndex((obj) => obj.name === 'image')\n if (index >= 0) {\n if (\n node.widgets[index].type != 'image' &&\n typeof node.widgets[index].value == 'string' &&\n clip_image.filename\n ) {\n node.widgets[index].value =\n (clip_image.subfolder ? clip_image.subfolder + '/' : '') +\n clip_image.filename +\n (clip_image.type ? ` [${clip_image.type}]` : '')\n } else {\n node.widgets[index].value = clip_image\n }\n }\n }\n if (ComfyApp.clipspace.widgets) {\n ComfyApp.clipspace.widgets.forEach(({ type, name, value }) => {\n const prop = Object.values(node.widgets).find(\n // @ts-expect-errorg\n (obj) => obj.type === type && obj.name === name\n )\n // @ts-expect-error\n if (prop && prop.type != 'button') {\n if (\n // @ts-expect-error\n prop.type != 'image' &&\n // @ts-expect-error\n typeof prop.value == 'string' &&\n value.filename\n ) {\n // @ts-expect-error\n prop.value =\n (value.subfolder ? value.subfolder + '/' : '') +\n value.filename +\n (value.type ? ` [${value.type}]` : '')\n } else {\n // @ts-expect-error\n prop.value = value\n // @ts-expect-error\n prop.callback(value)\n }\n }\n })\n }\n }\n\n app.graph.setDirtyCanvas(true)\n }\n }\n\n get enabledExtensions() {\n if (!this.vueAppReady) {\n return this.extensions\n }\n return useExtensionStore().enabledExtensions\n }\n\n /**\n * Invoke an extension callback\n * @param {keyof ComfyExtension} method The extension callback to execute\n * @param {any[]} args Any arguments to pass to the callback\n * @returns\n */\n #invokeExtensions(method, ...args) {\n let results = []\n for (const ext of this.enabledExtensions) {\n if (method in ext) {\n try {\n results.push(ext[method](...args, this))\n } catch (error) {\n console.error(\n `Error calling extension '${ext.name}' method '${method}'`,\n { error },\n { extension: ext },\n { args }\n )\n }\n }\n }\n return results\n }\n\n /**\n * Invoke an async extension callback\n * Each callback will be invoked concurrently\n * @param {string} method The extension callback to execute\n * @param {...any} args Any arguments to pass to the callback\n * @returns\n */\n async #invokeExtensionsAsync(method, ...args) {\n return await Promise.all(\n this.enabledExtensions.map(async (ext) => {\n if (method in ext) {\n try {\n return await ext[method](...args, this)\n } catch (error) {\n console.error(\n `Error calling extension '${ext.name}' method '${method}'`,\n { error },\n { extension: ext },\n { args }\n )\n }\n }\n })\n )\n }\n\n #addRestoreWorkflowView() {\n const serialize = LGraph.prototype.serialize\n const self = this\n LGraph.prototype.serialize = function () {\n const workflow = serialize.apply(this, arguments)\n\n // Store the drag & scale info in the serialized workflow if the setting is enabled\n if (self.enableWorkflowViewRestore.value) {\n if (!workflow.extra) {\n workflow.extra = {}\n }\n workflow.extra.ds = {\n scale: self.canvas.ds.scale,\n offset: self.canvas.ds.offset\n }\n } else if (workflow.extra?.ds) {\n // Clear any old view data\n delete workflow.extra.ds\n }\n\n return workflow\n }\n this.enableWorkflowViewRestore = this.ui.settings.addSetting({\n id: 'Comfy.EnableWorkflowViewRestore',\n category: ['Comfy', 'Workflow', 'EnableWorkflowViewRestore'],\n name: 'Save and restore canvas position and zoom level in workflows',\n type: 'boolean',\n defaultValue: true\n })\n }\n\n /**\n * Adds special context menu handling for nodes\n * e.g. this adds Open Image functionality for nodes that show images\n * @param {*} node The node to add the menu handler\n */\n #addNodeContextMenuHandler(node) {\n function getCopyImageOption(img) {\n if (typeof window.ClipboardItem === 'undefined') return []\n return [\n {\n content: 'Copy Image',\n callback: async () => {\n const url = new URL(img.src)\n url.searchParams.delete('preview')\n\n const writeImage = async (blob) => {\n await navigator.clipboard.write([\n new ClipboardItem({\n [blob.type]: blob\n })\n ])\n }\n\n try {\n const data = await fetch(url)\n const blob = await data.blob()\n try {\n await writeImage(blob)\n } catch (error) {\n // Chrome seems to only support PNG on write, convert and try again\n if (blob.type !== 'image/png') {\n const canvas = $el('canvas', {\n width: img.naturalWidth,\n height: img.naturalHeight\n }) as HTMLCanvasElement\n const ctx = canvas.getContext('2d')\n let image\n if (typeof window.createImageBitmap === 'undefined') {\n image = new Image()\n const p = new Promise((resolve, reject) => {\n image.onload = resolve\n image.onerror = reject\n }).finally(() => {\n URL.revokeObjectURL(image.src)\n })\n image.src = URL.createObjectURL(blob)\n await p\n } else {\n image = await createImageBitmap(blob)\n }\n try {\n ctx.drawImage(image, 0, 0)\n canvas.toBlob(writeImage, 'image/png')\n } finally {\n if (typeof image.close === 'function') {\n image.close()\n }\n }\n\n return\n }\n throw error\n }\n } catch (error) {\n useToastStore().addAlert(\n 'Error copying image: ' + (error.message ?? error)\n )\n }\n }\n }\n ]\n }\n\n node.prototype.getExtraMenuOptions = function (_, options) {\n if (this.imgs) {\n // If this node has images then we add an open in new tab item\n let img\n if (this.imageIndex != null) {\n // An image is selected so select that\n img = this.imgs[this.imageIndex]\n } else if (this.overIndex != null) {\n // No image is selected but one is hovered\n img = this.imgs[this.overIndex]\n }\n if (img) {\n options.unshift(\n {\n content: 'Open Image',\n callback: () => {\n let url = new URL(img.src)\n url.searchParams.delete('preview')\n window.open(url, '_blank')\n }\n },\n ...getCopyImageOption(img),\n {\n content: 'Save Image',\n callback: () => {\n const a = document.createElement('a')\n let url = new URL(img.src)\n url.searchParams.delete('preview')\n a.href = url.toString()\n a.setAttribute(\n 'download',\n new URLSearchParams(url.search).get('filename')\n )\n document.body.append(a)\n a.click()\n requestAnimationFrame(() => a.remove())\n }\n }\n )\n }\n }\n\n options.push({\n content: 'Bypass',\n callback: (obj) => {\n if (this.mode === 4) this.mode = 0\n else this.mode = 4\n this.graph.change()\n }\n })\n\n // prevent conflict of clipspace content\n if (!ComfyApp.clipspace_return_node) {\n options.push({\n content: 'Copy (Clipspace)',\n callback: (obj) => {\n ComfyApp.copyToClipspace(this)\n }\n })\n\n if (ComfyApp.clipspace != null) {\n options.push({\n content: 'Paste (Clipspace)',\n callback: () => {\n ComfyApp.pasteFromClipspace(this)\n }\n })\n }\n\n if (ComfyApp.isImageNode(this)) {\n options.push({\n content: 'Open in MaskEditor',\n callback: (obj) => {\n ComfyApp.copyToClipspace(this)\n ComfyApp.clipspace_return_node = this\n ComfyApp.open_maskeditor()\n }\n })\n }\n }\n }\n }\n\n #addNodeKeyHandler(node) {\n const app = this\n const origNodeOnKeyDown = node.prototype.onKeyDown\n\n node.prototype.onKeyDown = function (e) {\n if (origNodeOnKeyDown && origNodeOnKeyDown.apply(this, e) === false) {\n return false\n }\n\n if (this.flags.collapsed || !this.imgs || this.imageIndex === null) {\n return\n }\n\n let handled = false\n\n if (e.key === 'ArrowLeft' || e.key === 'ArrowRight') {\n if (e.key === 'ArrowLeft') {\n this.imageIndex -= 1\n } else if (e.key === 'ArrowRight') {\n this.imageIndex += 1\n }\n this.imageIndex %= this.imgs.length\n\n if (this.imageIndex < 0) {\n this.imageIndex = this.imgs.length + this.imageIndex\n }\n handled = true\n } else if (e.key === 'Escape') {\n this.imageIndex = null\n handled = true\n }\n\n if (handled === true) {\n e.preventDefault()\n e.stopImmediatePropagation()\n return false\n }\n }\n }\n\n /**\n * Adds Custom drawing logic for nodes\n * e.g. Draws images and handles thumbnail navigation on nodes that output images\n * @param {*} node The node to add the draw handler\n */\n #addDrawBackgroundHandler(node) {\n const app = this\n\n function getImageTop(node) {\n let shiftY\n if (node.imageOffset != null) {\n shiftY = node.imageOffset\n } else {\n if (node.widgets?.length) {\n const w = node.widgets[node.widgets.length - 1]\n shiftY = w.last_y\n if (w.computeSize) {\n shiftY += w.computeSize()[1] + 4\n } else if (w.computedHeight) {\n shiftY += w.computedHeight\n } else {\n shiftY += LiteGraph.NODE_WIDGET_HEIGHT + 4\n }\n } else {\n shiftY = node.computeSize()[1]\n }\n }\n return shiftY\n }\n\n node.prototype.setSizeForImage = function (force) {\n if (!force && this.animatedImages) return\n\n if (this.inputHeight || this.freeWidgetSpace > 210) {\n this.setSize(this.size)\n return\n }\n const minHeight = getImageTop(this) + 220\n if (this.size[1] < minHeight) {\n this.setSize([this.size[0], minHeight])\n }\n }\n\n function unsafeDrawBackground(ctx) {\n if (!this.flags.collapsed) {\n let imgURLs = []\n let imagesChanged = false\n\n const output = app.nodeOutputs[this.id + '']\n if (output?.images) {\n this.animatedImages = output?.animated?.find(Boolean)\n if (this.images !== output.images) {\n this.images = output.images\n imagesChanged = true\n imgURLs = imgURLs.concat(\n output.images.map((params) => {\n return api.apiURL(\n '/view?' +\n new URLSearchParams(params).toString() +\n (this.animatedImages ? '' : app.getPreviewFormatParam()) +\n app.getRandParam()\n )\n })\n )\n }\n }\n\n const preview = app.nodePreviewImages[this.id + '']\n if (this.preview !== preview) {\n this.preview = preview\n imagesChanged = true\n if (preview != null) {\n imgURLs.push(preview)\n }\n }\n\n if (imagesChanged) {\n this.imageIndex = null\n if (imgURLs.length > 0) {\n Promise.all(\n imgURLs.map((src) => {\n return new Promise((r) => {\n const img = new Image()\n img.onload = () => r(img)\n img.onerror = () => r(null)\n img.src = src\n })\n })\n ).then((imgs) => {\n if (\n (!output || this.images === output.images) &&\n (!preview || this.preview === preview)\n ) {\n this.imgs = imgs.filter(Boolean)\n this.setSizeForImage?.()\n app.graph.setDirtyCanvas(true)\n }\n })\n } else {\n this.imgs = null\n }\n }\n\n const is_all_same_aspect_ratio = (imgs) => {\n // assume: imgs.length >= 2\n let ratio = imgs[0].naturalWidth / imgs[0].naturalHeight\n\n for (let i = 1; i < imgs.length; i++) {\n let this_ratio = imgs[i].naturalWidth / imgs[i].naturalHeight\n if (ratio != this_ratio) return false\n }\n\n return true\n }\n\n if (this.imgs?.length) {\n const widgetIdx = this.widgets?.findIndex(\n (w) => w.name === ANIM_PREVIEW_WIDGET\n )\n\n if (this.animatedImages) {\n // Instead of using the canvas we'll use a IMG\n if (widgetIdx > -1) {\n // Replace content\n const widget = this.widgets[widgetIdx]\n widget.options.host.updateImages(this.imgs)\n } else {\n const host = createImageHost(this)\n this.setSizeForImage(true)\n const widget = this.addDOMWidget(\n ANIM_PREVIEW_WIDGET,\n 'img',\n host.el,\n {\n host,\n getHeight: host.getHeight,\n onDraw: host.onDraw,\n hideOnZoom: false\n }\n )\n widget.serializeValue = () => undefined\n widget.options.host.updateImages(this.imgs)\n }\n return\n }\n\n if (widgetIdx > -1) {\n this.widgets[widgetIdx].onRemove?.()\n this.widgets.splice(widgetIdx, 1)\n }\n\n const canvas = app.graph.list_of_graphcanvas[0]\n const mouse = canvas.graph_mouse\n if (!canvas.pointer_is_down && this.pointerDown) {\n if (\n mouse[0] === this.pointerDown.pos[0] &&\n mouse[1] === this.pointerDown.pos[1]\n ) {\n this.imageIndex = this.pointerDown.index\n }\n this.pointerDown = null\n }\n\n let imageIndex = this.imageIndex\n const numImages = this.imgs.length\n if (numImages === 1 && !imageIndex) {\n this.imageIndex = imageIndex = 0\n }\n\n const top = getImageTop(this)\n var shiftY = top\n\n let dw = this.size[0]\n let dh = this.size[1]\n dh -= shiftY\n\n if (imageIndex == null) {\n var cellWidth, cellHeight, shiftX, cell_padding, cols\n\n const compact_mode = is_all_same_aspect_ratio(this.imgs)\n if (!compact_mode) {\n // use rectangle cell style and border line\n cell_padding = 2\n // Prevent infinite canvas2d scale-up\n const largestDimension = this.imgs.reduce(\n (acc, current) =>\n Math.max(acc, current.naturalWidth, current.naturalHeight),\n 0\n )\n const fakeImgs = []\n fakeImgs.length = this.imgs.length\n fakeImgs[0] = {\n naturalWidth: largestDimension,\n naturalHeight: largestDimension\n }\n ;({ cellWidth, cellHeight, cols, shiftX } = calculateImageGrid(\n fakeImgs,\n dw,\n dh\n ))\n } else {\n cell_padding = 0\n ;({ cellWidth, cellHeight, cols, shiftX } = calculateImageGrid(\n this.imgs,\n dw,\n dh\n ))\n }\n\n let anyHovered = false\n this.imageRects = []\n for (let i = 0; i < numImages; i++) {\n const img = this.imgs[i]\n const row = Math.floor(i / cols)\n const col = i % cols\n const x = col * cellWidth + shiftX\n const y = row * cellHeight + shiftY\n if (!anyHovered) {\n anyHovered = LiteGraph.isInsideRectangle(\n mouse[0],\n mouse[1],\n x + this.pos[0],\n y + this.pos[1],\n cellWidth,\n cellHeight\n )\n if (anyHovered) {\n this.overIndex = i\n let value = 110\n if (canvas.pointer_is_down) {\n if (!this.pointerDown || this.pointerDown.index !== i) {\n this.pointerDown = { index: i, pos: [...mouse] }\n }\n value = 125\n }\n ctx.filter = `contrast(${value}%) brightness(${value}%)`\n canvas.canvas.style.cursor = 'pointer'\n }\n }\n this.imageRects.push([x, y, cellWidth, cellHeight])\n\n let wratio = cellWidth / img.width\n let hratio = cellHeight / img.height\n var ratio = Math.min(wratio, hratio)\n\n let imgHeight = ratio * img.height\n let imgY =\n row * cellHeight + shiftY + (cellHeight - imgHeight) / 2\n let imgWidth = ratio * img.width\n let imgX = col * cellWidth + shiftX + (cellWidth - imgWidth) / 2\n\n ctx.drawImage(\n img,\n imgX + cell_padding,\n imgY + cell_padding,\n imgWidth - cell_padding * 2,\n imgHeight - cell_padding * 2\n )\n if (!compact_mode) {\n // rectangle cell and border line style\n ctx.strokeStyle = '#8F8F8F'\n ctx.lineWidth = 1\n ctx.strokeRect(\n x + cell_padding,\n y + cell_padding,\n cellWidth - cell_padding * 2,\n cellHeight - cell_padding * 2\n )\n }\n\n ctx.filter = 'none'\n }\n\n if (!anyHovered) {\n this.pointerDown = null\n this.overIndex = null\n }\n } else {\n // Draw individual\n let w = this.imgs[imageIndex].naturalWidth\n let h = this.imgs[imageIndex].naturalHeight\n\n const scaleX = dw / w\n const scaleY = dh / h\n const scale = Math.min(scaleX, scaleY, 1)\n\n w *= scale\n h *= scale\n\n let x = (dw - w) / 2\n let y = (dh - h) / 2 + shiftY\n ctx.drawImage(this.imgs[imageIndex], x, y, w, h)\n\n const drawButton = (x, y, sz, text) => {\n const hovered = LiteGraph.isInsideRectangle(\n mouse[0],\n mouse[1],\n x + this.pos[0],\n y + this.pos[1],\n sz,\n sz\n )\n let fill = '#333'\n let textFill = '#fff'\n let isClicking = false\n if (hovered) {\n canvas.canvas.style.cursor = 'pointer'\n if (canvas.pointer_is_down) {\n fill = '#1e90ff'\n isClicking = true\n } else {\n fill = '#eee'\n textFill = '#000'\n }\n } else {\n this.pointerWasDown = null\n }\n\n ctx.fillStyle = fill\n ctx.beginPath()\n ctx.roundRect(x, y, sz, sz, [4])\n ctx.fill()\n ctx.fillStyle = textFill\n ctx.font = '12px Arial'\n ctx.textAlign = 'center'\n ctx.fillText(text, x + 15, y + 20)\n\n return isClicking\n }\n\n if (numImages > 1) {\n if (\n drawButton(\n dw - 40,\n dh + top - 40,\n 30,\n `${this.imageIndex + 1}/${numImages}`\n )\n ) {\n let i =\n this.imageIndex + 1 >= numImages ? 0 : this.imageIndex + 1\n if (!this.pointerDown || !this.pointerDown.index === i) {\n this.pointerDown = { index: i, pos: [...mouse] }\n }\n }\n\n if (drawButton(dw - 40, top + 10, 30, `x`)) {\n if (!this.pointerDown || !this.pointerDown.index === null) {\n this.pointerDown = { index: null, pos: [...mouse] }\n }\n }\n }\n }\n }\n }\n }\n\n node.prototype.onDrawBackground = function (ctx) {\n try {\n unsafeDrawBackground.call(this, ctx)\n } catch (error) {\n console.error('Error drawing node background', error)\n }\n }\n }\n\n /**\n * Adds a handler allowing drag+drop of files onto the window to load workflows\n */\n #addDropHandler() {\n // Get prompt from dropped PNG or json\n document.addEventListener('drop', async (event) => {\n event.preventDefault()\n event.stopPropagation()\n\n const n = this.dragOverNode\n this.dragOverNode = null\n // Node handles file drop, we dont use the built in onDropFile handler as its buggy\n // If you drag multiple files it will call it multiple times with the same file\n // @ts-expect-error This is not a standard event. TODO fix it.\n if (n && n.onDragDrop && (await n.onDragDrop(event))) {\n return\n }\n // Dragging from Chrome->Firefox there is a file but its a bmp, so ignore that\n if (\n event.dataTransfer.files.length &&\n event.dataTransfer.files[0].type !== 'image/bmp'\n ) {\n await this.handleFile(event.dataTransfer.files[0])\n } else {\n // Try loading the first URI in the transfer list\n const validTypes = ['text/uri-list', 'text/x-moz-url']\n const match = [...event.dataTransfer.types].find((t) =>\n validTypes.find((v) => t === v)\n )\n if (match) {\n const uri = event.dataTransfer.getData(match)?.split('\\n')?.[0]\n if (uri) {\n await this.handleFile(await (await fetch(uri)).blob())\n }\n }\n }\n })\n\n // Always clear over node on drag leave\n this.canvasEl.addEventListener('dragleave', async () => {\n if (this.dragOverNode) {\n this.dragOverNode = null\n this.graph.setDirtyCanvas(false, true)\n }\n })\n\n // Add handler for dropping onto a specific node\n this.canvasEl.addEventListener(\n 'dragover',\n (e) => {\n this.canvas.adjustMouseEvent(e)\n // @ts-expect-error: canvasX and canvasY are added by adjustMouseEvent in litegraph\n const node = this.graph.getNodeOnPos(e.canvasX, e.canvasY)\n if (node) {\n // @ts-expect-error This is not a standard event. TODO fix it.\n if (node.onDragOver && node.onDragOver(e)) {\n this.dragOverNode = node\n\n // dragover event is fired very frequently, run this on an animation frame\n requestAnimationFrame(() => {\n this.graph.setDirtyCanvas(false, true)\n })\n return\n }\n }\n this.dragOverNode = null\n },\n false\n )\n }\n\n /**\n * Adds a handler on paste that extracts and loads images or workflows from pasted JSON data\n */\n #addPasteHandler() {\n document.addEventListener('paste', async (e: ClipboardEvent) => {\n // ctrl+shift+v is used to paste nodes with connections\n // this is handled by litegraph\n if (this.shiftDown) return\n\n // @ts-expect-error: Property 'clipboardData' does not exist on type 'Window & typeof globalThis'.\n // Did you mean 'Clipboard'?ts(2551)\n // TODO: Not sure what the code wants to do.\n let data = e.clipboardData || window.clipboardData\n const items = data.items\n\n // Look for image paste data\n for (const item of items) {\n if (item.type.startsWith('image/')) {\n var imageNode = null\n\n // If an image node is selected, paste into it\n if (\n this.canvas.current_node &&\n this.canvas.current_node.is_selected &&\n ComfyApp.isImageNode(this.canvas.current_node)\n ) {\n imageNode = this.canvas.current_node\n }\n\n // No image node selected: add a new one\n if (!imageNode) {\n const newNode = LiteGraph.createNode('LoadImage')\n // @ts-expect-error array to Float32Array\n newNode.pos = [...this.canvas.graph_mouse]\n imageNode = this.graph.add(newNode)\n this.graph.change()\n }\n const blob = item.getAsFile()\n imageNode.pasteFile(blob)\n return\n }\n }\n\n // No image found. Look for node data\n data = data.getData('text/plain')\n let workflow: ComfyWorkflowJSON | null = null\n try {\n data = data.slice(data.indexOf('{'))\n workflow = JSON.parse(data)\n } catch (err) {\n try {\n data = data.slice(data.indexOf('workflow\\n'))\n data = data.slice(data.indexOf('{'))\n workflow = JSON.parse(data)\n } catch (error) {\n workflow = null\n }\n }\n\n if (workflow && workflow.version && workflow.nodes && workflow.extra) {\n await this.loadGraphData(workflow)\n } else {\n if (\n (e.target instanceof HTMLTextAreaElement &&\n e.target.type === 'textarea') ||\n (e.target instanceof HTMLInputElement && e.target.type === 'text')\n ) {\n return\n }\n\n // Litegraph default paste\n this.canvas.pasteFromClipboard()\n }\n })\n }\n\n /**\n * Adds a handler on copy that serializes selected nodes to JSON\n */\n #addCopyHandler() {\n document.addEventListener('copy', (e) => {\n if (!(e.target instanceof Element)) {\n return\n }\n if (\n (e.target instanceof HTMLTextAreaElement &&\n e.target.type === 'textarea') ||\n (e.target instanceof HTMLInputElement && e.target.type === 'text')\n ) {\n // Default system copy\n return\n }\n const isTargetInGraph =\n e.target.classList.contains('litegraph') ||\n e.target.classList.contains('graph-canvas-container')\n\n // copy nodes and clear clipboard\n if (isTargetInGraph && this.canvas.selected_nodes) {\n this.canvas.copyToClipboard()\n e.clipboardData.setData('text', ' ') //clearData doesn't remove images from clipboard\n e.preventDefault()\n e.stopImmediatePropagation()\n return false\n }\n })\n }\n\n /**\n * Handle mouse\n *\n * Move group by header\n */\n #addProcessMouseHandler() {\n const self = this\n\n const origProcessMouseDown = LGraphCanvas.prototype.processMouseDown\n LGraphCanvas.prototype.processMouseDown = function (e) {\n // prepare for ctrl+shift drag: zoom start\n if (e.ctrlKey && e.shiftKey && e.buttons) {\n self.zoom_drag_start = [e.x, e.y, this.ds.scale]\n return\n }\n\n const res = origProcessMouseDown.apply(this, arguments)\n\n this.selected_group_moving = false\n\n if (this.selected_group && !this.selected_group_resizing) {\n var font_size =\n this.selected_group.font_size || LiteGraph.DEFAULT_GROUP_FONT_SIZE\n var height = font_size * 1.4\n\n // Move group by header\n if (\n LiteGraph.isInsideRectangle(\n e.canvasX,\n e.canvasY,\n this.selected_group.pos[0],\n this.selected_group.pos[1],\n this.selected_group.size[0],\n height\n )\n ) {\n this.selected_group_moving = true\n }\n }\n\n return res\n }\n const origProcessMouseMove = LGraphCanvas.prototype.processMouseMove\n LGraphCanvas.prototype.processMouseMove = function (e) {\n // handle ctrl+shift drag\n if (e.ctrlKey && e.shiftKey && self.zoom_drag_start) {\n // stop canvas zoom action\n if (!e.buttons) {\n self.zoom_drag_start = null\n return\n }\n\n // calculate delta\n let deltaY = e.y - self.zoom_drag_start[1]\n let startScale = self.zoom_drag_start[2]\n\n let scale = startScale - deltaY / 100\n\n this.ds.changeScale(scale, [\n self.zoom_drag_start[0],\n self.zoom_drag_start[1]\n ])\n this.graph.change()\n\n return\n }\n\n const orig_selected_group = this.selected_group\n\n if (\n this.selected_group &&\n !this.selected_group_resizing &&\n !this.selected_group_moving\n ) {\n this.selected_group = null\n }\n\n const res = origProcessMouseMove.apply(this, arguments)\n\n if (\n orig_selected_group &&\n !this.selected_group_resizing &&\n !this.selected_group_moving\n ) {\n this.selected_group = orig_selected_group\n }\n\n return res\n }\n }\n\n /**\n * Handle keypress\n */\n #addProcessKeyHandler() {\n const origProcessKey = LGraphCanvas.prototype.processKey\n LGraphCanvas.prototype.processKey = function (e: KeyboardEvent) {\n if (!this.graph) {\n return\n }\n\n var block_default = false\n\n if (e.target instanceof Element && e.target.localName == 'input') {\n return\n }\n\n if (e.type == 'keydown' && !e.repeat) {\n const keyCombo = KeyComboImpl.fromEvent(e)\n const keybindingStore = useKeybindingStore()\n const keybinding = keybindingStore.getKeybinding(keyCombo)\n if (keybinding && keybinding.targetSelector === '#graph-canvas') {\n useCommandStore().execute(keybinding.commandId)\n block_default = true\n }\n\n // Ctrl+C Copy\n if (e.key === 'c' && (e.metaKey || e.ctrlKey)) {\n // Trigger onCopy\n return true\n }\n\n // Ctrl+V Paste\n if (\n (e.key === 'v' || e.key == 'V') &&\n (e.metaKey || e.ctrlKey) &&\n !e.shiftKey\n ) {\n // Trigger onPaste\n return true\n }\n }\n\n this.graph.change()\n\n if (block_default) {\n e.preventDefault()\n e.stopImmediatePropagation()\n return false\n }\n\n // Fall through to Litegraph defaults\n return origProcessKey.apply(this, arguments)\n }\n }\n\n /**\n * Draws group header bar\n */\n #addDrawGroupsHandler() {\n const self = this\n const origDrawGroups = LGraphCanvas.prototype.drawGroups\n LGraphCanvas.prototype.drawGroups = function (canvas, ctx) {\n if (!this.graph) {\n return\n }\n\n var groups = this.graph.groups\n\n ctx.save()\n ctx.globalAlpha = 0.7 * this.editor_alpha\n\n for (var i = 0; i < groups.length; ++i) {\n var group = groups[i]\n\n if (!LiteGraph.overlapBounding(this.visible_area, group._bounding)) {\n continue\n } //out of the visible area\n\n ctx.fillStyle = group.color || '#335'\n ctx.strokeStyle = group.color || '#335'\n var pos = group._pos\n var size = group._size\n ctx.globalAlpha = 0.25 * this.editor_alpha\n ctx.beginPath()\n var font_size = group.font_size || LiteGraph.DEFAULT_GROUP_FONT_SIZE\n ctx.rect(pos[0] + 0.5, pos[1] + 0.5, size[0], font_size * 1.4)\n ctx.fill()\n ctx.globalAlpha = this.editor_alpha\n }\n\n ctx.restore()\n\n const res = origDrawGroups.apply(this, arguments)\n return res\n }\n }\n\n /**\n * Draws node highlights (executing, drag drop) and progress bar\n */\n #addDrawNodeHandler() {\n const origDrawNodeShape = LGraphCanvas.prototype.drawNodeShape\n const self = this\n LGraphCanvas.prototype.drawNodeShape = function (\n node,\n ctx,\n size,\n fgcolor,\n bgcolor,\n selected\n ) {\n const res = origDrawNodeShape.apply(this, arguments)\n\n const nodeErrors = self.lastNodeErrors?.[node.id]\n\n let color = null\n let lineWidth = 1\n if (node.id === +self.runningNodeId) {\n color = '#0f0'\n } else if (self.dragOverNode && node.id === self.dragOverNode.id) {\n color = 'dodgerblue'\n } else if (nodeErrors?.errors) {\n color = 'red'\n lineWidth = 2\n } else if (\n self.lastExecutionError &&\n +self.lastExecutionError.node_id === node.id\n ) {\n color = '#f0f'\n lineWidth = 2\n }\n\n if (color) {\n const shape =\n node._shape || node.constructor.shape || LiteGraph.ROUND_SHAPE\n ctx.lineWidth = lineWidth\n ctx.globalAlpha = 0.8\n ctx.beginPath()\n if (shape == LiteGraph.BOX_SHAPE)\n ctx.rect(\n -6,\n -6 - LiteGraph.NODE_TITLE_HEIGHT,\n 12 + size[0] + 1,\n 12 + size[1] + LiteGraph.NODE_TITLE_HEIGHT\n )\n else if (\n shape == LiteGraph.ROUND_SHAPE ||\n (shape == LiteGraph.CARD_SHAPE && node.flags.collapsed)\n )\n ctx.roundRect(\n -6,\n -6 - LiteGraph.NODE_TITLE_HEIGHT,\n 12 + size[0] + 1,\n 12 + size[1] + LiteGraph.NODE_TITLE_HEIGHT,\n this.round_radius * 2\n )\n else if (shape == LiteGraph.CARD_SHAPE)\n ctx.roundRect(\n -6,\n -6 - LiteGraph.NODE_TITLE_HEIGHT,\n 12 + size[0] + 1,\n 12 + size[1] + LiteGraph.NODE_TITLE_HEIGHT,\n [this.round_radius * 2, this.round_radius * 2, 2, 2]\n )\n else if (shape == LiteGraph.CIRCLE_SHAPE)\n ctx.arc(\n size[0] * 0.5,\n size[1] * 0.5,\n size[0] * 0.5 + 6,\n 0,\n Math.PI * 2\n )\n ctx.strokeStyle = color\n ctx.stroke()\n ctx.strokeStyle = fgcolor\n ctx.globalAlpha = 1\n }\n\n if (self.progress && node.id === +self.runningNodeId) {\n ctx.fillStyle = 'green'\n ctx.fillRect(\n 0,\n 0,\n size[0] * (self.progress.value / self.progress.max),\n 6\n )\n ctx.fillStyle = bgcolor\n }\n\n // Highlight inputs that failed validation\n if (nodeErrors) {\n ctx.lineWidth = 2\n ctx.strokeStyle = 'red'\n for (const error of nodeErrors.errors) {\n if (error.extra_info && error.extra_info.input_name) {\n const inputIndex = node.findInputSlot(error.extra_info.input_name)\n if (inputIndex !== -1) {\n let pos = node.getConnectionPos(true, inputIndex)\n ctx.beginPath()\n ctx.arc(\n pos[0] - node.pos[0],\n pos[1] - node.pos[1],\n 12,\n 0,\n 2 * Math.PI,\n false\n )\n ctx.stroke()\n }\n }\n }\n }\n\n return res\n }\n\n const origDrawNode = LGraphCanvas.prototype.drawNode\n LGraphCanvas.prototype.drawNode = function (node, ctx) {\n const editor_alpha = this.editor_alpha\n const old_color = node.color\n const old_bgcolor = node.bgcolor\n\n if (node.mode === 2) {\n // never\n this.editor_alpha = 0.4\n }\n\n // ComfyUI's custom node mode enum value 4 => bypass/never.\n let bgColor: string\n if (node.mode === 4) {\n // never\n bgColor = app.bypassBgColor\n this.editor_alpha = 0.2\n } else {\n bgColor = old_bgcolor || LiteGraph.NODE_DEFAULT_BGCOLOR\n }\n\n const adjustments: ColorAdjustOptions = {}\n\n const opacity = useSettingStore().get('Comfy.Node.Opacity')\n if (opacity) adjustments.opacity = opacity\n\n if (useSettingStore().get('Comfy.ColorPalette') === 'light') {\n adjustments.lightness = 0.5\n\n // Lighten title bar of colored nodes on light theme\n if (old_color) {\n node.color = adjustColor(old_color, { lightness: 0.5 })\n }\n }\n\n node.bgcolor = adjustColor(bgColor, adjustments)\n\n const res = origDrawNode.apply(this, arguments)\n\n this.editor_alpha = editor_alpha\n node.color = old_color\n node.bgcolor = old_bgcolor\n\n return res\n }\n }\n\n /**\n * Handles updates from the API socket\n */\n #addApiUpdateHandlers() {\n api.addEventListener(\n 'status',\n ({ detail }: CustomEvent) => {\n this.ui.setStatus(detail)\n }\n )\n\n api.addEventListener('progress', ({ detail }) => {\n this.progress = detail\n this.graph.setDirtyCanvas(true, false)\n })\n\n api.addEventListener('executing', ({ detail }) => {\n this.progress = null\n this.graph.setDirtyCanvas(true, false)\n delete this.nodePreviewImages[this.runningNodeId]\n })\n\n api.addEventListener('executed', ({ detail }) => {\n const output = this.nodeOutputs[detail.display_node || detail.node]\n if (detail.merge && output) {\n for (const k in detail.output ?? {}) {\n const v = output[k]\n if (v instanceof Array) {\n output[k] = v.concat(detail.output[k])\n } else {\n output[k] = detail.output[k]\n }\n }\n } else {\n this.nodeOutputs[detail.display_node || detail.node] = detail.output\n }\n const node = this.graph.getNodeById(detail.display_node || detail.node)\n if (node) {\n // @ts-expect-error\n if (node.onExecuted)\n // @ts-expect-error\n node.onExecuted(detail.output)\n }\n })\n\n api.addEventListener('execution_start', ({ detail }) => {\n this.lastExecutionError = null\n this.graph.nodes.forEach((node) => {\n // @ts-expect-error\n if (node.onExecutionStart)\n // @ts-expect-error\n node.onExecutionStart()\n })\n })\n\n api.addEventListener('execution_error', ({ detail }) => {\n this.lastExecutionError = detail\n showExecutionErrorDialog(detail)\n this.canvas.draw(true, true)\n })\n\n api.addEventListener('b_preview', ({ detail }: CustomEventInit) => {\n const id = detail.nodeId ?? this.runningNodeId\n if (id == null) return\n\n const blob = detail.imageBlob\n const blobUrl = URL.createObjectURL(blob)\n // @ts-expect-error\n this.nodePreviewImages[id] = [blobUrl]\n })\n\n api.init()\n }\n\n #addConfigureHandler() {\n const app = this\n const configure = LGraph.prototype.configure\n // Flag that the graph is configuring to prevent nodes from running checks while its still loading\n LGraph.prototype.configure = function () {\n app.configuringGraph = true\n try {\n return configure.apply(this, arguments)\n } finally {\n app.configuringGraph = false\n }\n }\n }\n\n #addWidgetLinkHandling() {\n app.canvas.getWidgetLinkType = function (widget, node) {\n const nodeDefStore = useNodeDefStore()\n const nodeDef = nodeDefStore.nodeDefsByName[node.type]\n const input = nodeDef.input.getInput(widget.name)\n return input?.type\n }\n\n type ConnectingWidgetLink = {\n subType: 'connectingWidgetLink'\n widget: IWidget\n node: LGraphNode\n link: { node: LGraphNode; slot: number }\n }\n\n document.addEventListener(\n 'litegraph:canvas',\n async (e: CustomEvent) => {\n if (e.detail.subType === 'connectingWidgetLink') {\n const { convertToInput } = await import(\n '@/extensions/core/widgetInputs'\n )\n\n const { node, link, widget } = e.detail\n if (!node || !link || !widget) return\n\n const nodeData = node.constructor.nodeData\n if (!nodeData) return\n const all = {\n ...nodeData?.input?.required,\n ...nodeData?.input?.optional\n }\n const inputSpec = all[widget.name]\n if (!inputSpec) return\n\n const input = convertToInput(node, widget, inputSpec)\n if (!input) return\n\n const originNode = link.node\n\n originNode.connect(link.slot, node, node.inputs.lastIndexOf(input))\n }\n }\n )\n }\n\n #addAfterConfigureHandler() {\n const app = this\n const onConfigure = app.graph.onConfigure\n app.graph.onConfigure = function () {\n // Fire callbacks before the onConfigure, this is used by widget inputs to setup the config\n for (const node of app.graph.nodes) {\n // @ts-expect-error\n node.onGraphConfigured?.()\n }\n\n const r = onConfigure?.apply(this, arguments)\n\n // Fire after onConfigure, used by primitives to generate widget using input nodes config\n for (const node of app.graph.nodes) {\n node.onAfterGraphConfigured?.()\n }\n\n return r\n }\n }\n\n /**\n * Loads all extensions from the API into the window in parallel\n */\n async #loadExtensions() {\n useExtensionStore().loadDisabledExtensionNames()\n\n const extensions = await api.getExtensions()\n this.logging.addEntry('Comfy.App', 'debug', { Extensions: extensions })\n\n // Need to load core extensions first as some custom extensions\n // may depend on them.\n await import('../extensions/core/index')\n await Promise.all(\n extensions\n .filter((extension) => !extension.includes('extensions/core'))\n .map(async (ext) => {\n try {\n await import(/* @vite-ignore */ api.fileURL(ext))\n } catch (error) {\n console.error('Error loading extension', ext, error)\n }\n })\n )\n }\n\n async #migrateSettings() {\n this.isNewUserSession = true\n // Store all current settings\n const settings = Object.keys(this.ui.settings).reduce((p, n) => {\n const v = localStorage[`Comfy.Settings.${n}`]\n if (v) {\n try {\n p[n] = JSON.parse(v)\n } catch (error) {}\n }\n return p\n }, {})\n\n await api.storeSettings(settings)\n }\n\n async #setUser() {\n const userConfig = await api.getUserConfig()\n this.storageLocation = userConfig.storage\n if (typeof userConfig.migrated == 'boolean') {\n // Single user mode migrated true/false for if the default user is created\n if (!userConfig.migrated && this.storageLocation === 'server') {\n // Default user not created yet\n await this.#migrateSettings()\n }\n return\n }\n\n this.multiUserServer = true\n let user = localStorage['Comfy.userId']\n const users = userConfig.users ?? {}\n if (!user || !users[user]) {\n // Lift spinner / BlockUI for user selection.\n if (this.vueAppReady) useWorkspaceStore().spinner = false\n\n // This will rarely be hit so move the loading to on demand\n const { UserSelectionScreen } = await import('./ui/userSelection')\n\n this.ui.menuContainer.style.display = 'none'\n const { userId, username, created } =\n await new UserSelectionScreen().show(users, user)\n this.ui.menuContainer.style.display = ''\n\n user = userId\n localStorage['Comfy.userName'] = username\n localStorage['Comfy.userId'] = user\n\n if (created) {\n api.user = user\n await this.#migrateSettings()\n }\n }\n\n api.user = user\n\n this.ui.settings.addSetting({\n id: 'Comfy.SwitchUser',\n name: 'Switch User',\n type: (name) => {\n let currentUser = localStorage['Comfy.userName']\n if (currentUser) {\n currentUser = ` (${currentUser})`\n }\n return $el('tr', [\n $el('td', [\n $el('label', {\n textContent: name\n })\n ]),\n $el('td', [\n $el('button', {\n textContent: name + (currentUser ?? ''),\n onclick: () => {\n delete localStorage['Comfy.userId']\n delete localStorage['Comfy.userName']\n window.location.reload()\n }\n })\n ])\n ])\n },\n // TODO: Is that the correct default value?\n defaultValue: undefined\n })\n }\n\n /**\n * Set up the app on the page\n */\n async setup(canvasEl: HTMLCanvasElement) {\n this.canvasEl = canvasEl\n await this.#setUser()\n\n this.resizeCanvas()\n\n await Promise.all([\n this.workflowManager.loadWorkflows(),\n this.ui.settings.load()\n ])\n await this.#loadExtensions()\n\n addDomClippingSetting()\n this.#addProcessMouseHandler()\n this.#addProcessKeyHandler()\n this.#addConfigureHandler()\n this.#addApiUpdateHandlers()\n this.#addRestoreWorkflowView()\n\n this.graph = new LGraph()\n\n this.#addAfterConfigureHandler()\n\n // Make LGraphCanvas shallow reactive so that any change on the root object\n // triggers reactivity.\n this.canvas = shallowReactive(\n new LGraphCanvas(canvasEl, this.graph, {\n skip_events: true,\n skip_render: true\n })\n )\n // Bind event/ start rendering later, so that event handlers get reactive canvas reference.\n this.canvas.options.skip_events = false\n this.canvas.options.skip_render = false\n this.canvas.bindEvents()\n this.canvas.startRendering()\n\n this.ctx = canvasEl.getContext('2d')\n\n LiteGraph.alt_drag_do_clone_nodes = true\n\n this.graph.start()\n\n // Ensure the canvas fills the window\n this.resizeCanvas()\n window.addEventListener('resize', () => this.resizeCanvas())\n const ro = new ResizeObserver(() => this.resizeCanvas())\n ro.observe(this.bodyTop)\n ro.observe(this.bodyLeft)\n ro.observe(this.bodyRight)\n ro.observe(this.bodyBottom)\n\n await this.#invokeExtensionsAsync('init')\n await this.registerNodes()\n initWidgets(this)\n\n // Load previous workflow\n let restored = false\n try {\n const loadWorkflow = async (json) => {\n if (json) {\n const workflow = JSON.parse(json)\n const workflowName = getStorageValue('Comfy.PreviousWorkflow')\n await this.loadGraphData(workflow, true, true, workflowName)\n return true\n }\n }\n const clientId = api.initialClientId ?? api.clientId\n restored =\n (clientId &&\n (await loadWorkflow(\n sessionStorage.getItem(`workflow:${clientId}`)\n ))) ||\n (await loadWorkflow(localStorage.getItem('workflow')))\n } catch (err) {\n console.error('Error loading previous workflow', err)\n }\n\n // We failed to restore a workflow so load the default\n if (!restored) {\n await this.loadGraphData()\n }\n\n // Save current workflow automatically\n setInterval(() => {\n const workflow = JSON.stringify(this.serializeGraph())\n localStorage.setItem('workflow', workflow)\n if (api.clientId) {\n sessionStorage.setItem(`workflow:${api.clientId}`, workflow)\n }\n }, 1000)\n\n this.#addDrawNodeHandler()\n this.#addDrawGroupsHandler()\n this.#addDropHandler()\n this.#addCopyHandler()\n this.#addPasteHandler()\n this.#addWidgetLinkHandling()\n\n await this.#invokeExtensionsAsync('setup')\n }\n\n resizeCanvas() {\n // Limit minimal scale to 1, see https://github.com/comfyanonymous/ComfyUI/pull/845\n const scale = Math.max(window.devicePixelRatio, 1)\n\n // Clear fixed width and height while calculating rect so it uses 100% instead\n this.canvasEl.height = this.canvasEl.width = NaN\n const { width, height } = this.canvasEl.getBoundingClientRect()\n this.canvasEl.width = Math.round(width * scale)\n this.canvasEl.height = Math.round(height * scale)\n this.canvasEl.getContext('2d').scale(scale, scale)\n this.canvas?.draw(true, true)\n }\n\n private updateVueAppNodeDefs(defs: Record) {\n // Frontend only nodes registered by custom nodes.\n // Example: https://github.com/rgthree/rgthree-comfy/blob/dd534e5384be8cf0c0fa35865afe2126ba75ac55/src_web/comfyui/fast_groups_bypasser.ts#L10\n const rawDefs = Object.fromEntries(\n Object.entries(LiteGraph.registered_node_types).map(([name, node]) => [\n name,\n {\n name,\n display_name: name,\n category: node.category || '__frontend_only__',\n input: { required: {}, optional: {} },\n output: [],\n output_name: [],\n output_is_list: [],\n python_module: 'custom_nodes.frontend_only',\n description: `Frontend only node for ${name}`\n }\n ])\n )\n\n const allNodeDefs = {\n ...rawDefs,\n ...defs,\n ...SYSTEM_NODE_DEFS\n }\n\n const nodeDefStore = useNodeDefStore()\n const nodeDefArray: ComfyNodeDef[] = Object.values(allNodeDefs)\n this.#invokeExtensions('beforeRegisterVueAppNodeDefs', nodeDefArray, this)\n nodeDefStore.updateNodeDefs(nodeDefArray)\n nodeDefStore.widgets = this.widgets\n }\n\n /**\n * Registers nodes with the graph\n */\n async registerNodes() {\n // Load node definitions from the backend\n const defs = await api.getNodeDefs({\n validate: useSettingStore().get('Comfy.Validation.NodeDefs')\n })\n await this.registerNodesFromDefs(defs)\n await this.#invokeExtensionsAsync('registerCustomNodes')\n if (this.vueAppReady) {\n this.updateVueAppNodeDefs(defs)\n }\n }\n\n getWidgetType(inputData, inputName) {\n const type = inputData[0]\n\n if (Array.isArray(type)) {\n return 'COMBO'\n } else if (`${type}:${inputName}` in this.widgets) {\n return `${type}:${inputName}`\n } else if (type in this.widgets) {\n return type\n } else {\n return null\n }\n }\n\n async registerNodeDef(nodeId: string, nodeData: ComfyNodeDef) {\n const self = this\n const node = class ComfyNode extends LGraphNode {\n static comfyClass? = nodeData.name\n // TODO: change to \"title?\" once litegraph.d.ts has been updated\n static title = nodeData.display_name || nodeData.name\n static nodeData? = nodeData\n static category?: string\n\n constructor(title?: string) {\n super(title)\n const requiredInputs = nodeData.input.required\n\n var inputs = nodeData['input']['required']\n if (nodeData['input']['optional'] != undefined) {\n inputs = Object.assign(\n {},\n nodeData['input']['required'],\n nodeData['input']['optional']\n )\n }\n const config = { minWidth: 1, minHeight: 1 }\n for (const inputName in inputs) {\n const inputData = inputs[inputName]\n const type = inputData[0]\n const inputIsRequired = requiredInputs && inputName in requiredInputs\n\n let widgetCreated = true\n const widgetType = self.getWidgetType(inputData, inputName)\n if (widgetType) {\n if (widgetType === 'COMBO') {\n Object.assign(\n config,\n self.widgets.COMBO(this, inputName, inputData, app) || {}\n )\n } else {\n Object.assign(\n config,\n self.widgets[widgetType](this, inputName, inputData, app) || {}\n )\n }\n } else {\n // Node connection inputs\n const inputOptions = inputIsRequired\n ? {}\n : { shape: LiteGraph.SlotShape.HollowCircle }\n this.addInput(inputName, type, inputOptions)\n widgetCreated = false\n }\n\n // @ts-expect-error\n if (widgetCreated && !inputIsRequired && config?.widget) {\n // @ts-expect-error\n if (!config.widget.options) config.widget.options = {}\n // @ts-expect-error\n config.widget.options.inputIsOptional = true\n }\n\n // @ts-expect-error\n if (widgetCreated && inputData[1]?.forceInput && config?.widget) {\n // @ts-expect-error\n if (!config.widget.options) config.widget.options = {}\n // @ts-expect-error\n config.widget.options.forceInput = inputData[1].forceInput\n }\n // @ts-expect-error\n if (widgetCreated && inputData[1]?.defaultInput && config?.widget) {\n // @ts-expect-error\n if (!config.widget.options) config.widget.options = {}\n // @ts-expect-error\n config.widget.options.defaultInput = inputData[1].defaultInput\n }\n }\n\n for (const o in nodeData['output']) {\n let output = nodeData['output'][o]\n if (output instanceof Array) output = 'COMBO'\n const outputName = nodeData['output_name'][o] || output\n const outputIsList = nodeData['output_is_list'][o]\n const outputOptions = outputIsList\n ? { shape: LiteGraph.GRID_SHAPE }\n : {}\n this.addOutput(outputName, output, outputOptions)\n }\n\n const s = this.computeSize()\n s[0] = Math.max(config.minWidth, s[0] * 1.5)\n s[1] = Math.max(config.minHeight, s[1])\n this.size = s\n this.serialize_widgets = true\n\n app.#invokeExtensionsAsync('nodeCreated', this)\n }\n\n configure(data: any) {\n // Keep 'name', 'type', and 'shape' information from the original node definition.\n const merge = (\n current: Record,\n incoming: Record\n ) => {\n const result = { ...incoming }\n if (current.widget === undefined && incoming.widget !== undefined) {\n // Field must be input as only inputs can be converted\n this.inputs.push(current as INodeInputSlot)\n return incoming\n }\n for (const key of ['name', 'type', 'shape']) {\n if (current[key] !== undefined) {\n result[key] = current[key]\n }\n }\n return result\n }\n for (const field of ['inputs', 'outputs']) {\n const slots = data[field] ?? []\n data[field] = slots.map((slot, i) =>\n merge(this[field][i] ?? {}, slot)\n )\n }\n super.configure(data)\n }\n }\n node.prototype.comfyClass = nodeData.name\n\n this.#addNodeContextMenuHandler(node)\n this.#addDrawBackgroundHandler(node)\n this.#addNodeKeyHandler(node)\n\n await this.#invokeExtensionsAsync('beforeRegisterNodeDef', node, nodeData)\n LiteGraph.registerNodeType(nodeId, node)\n // Note: Do not move this to the class definition, it will be overwritten\n node.category = nodeData.category\n }\n\n async registerNodesFromDefs(defs: Record) {\n await this.#invokeExtensionsAsync('addCustomNodeDefs', defs)\n\n // Generate list of known widgets\n this.widgets = Object.assign(\n {},\n ComfyWidgets,\n ...(await this.#invokeExtensionsAsync('getCustomWidgets')).filter(Boolean)\n )\n\n // Register a node for each definition\n for (const nodeId in defs) {\n this.registerNodeDef(nodeId, defs[nodeId])\n }\n }\n\n loadTemplateData(templateData) {\n if (!templateData?.templates) {\n return\n }\n\n const old = localStorage.getItem('litegrapheditor_clipboard')\n\n var maxY, nodeBottom, node\n\n for (const template of templateData.templates) {\n if (!template?.data) {\n continue\n }\n\n localStorage.setItem('litegrapheditor_clipboard', template.data)\n app.canvas.pasteFromClipboard()\n\n // Move mouse position down to paste the next template below\n\n maxY = false\n\n for (const i in app.canvas.selected_nodes) {\n node = app.canvas.selected_nodes[i]\n\n nodeBottom = node.pos[1] + node.size[1]\n\n if (maxY === false || nodeBottom > maxY) {\n maxY = nodeBottom\n }\n }\n\n app.canvas.graph_mouse[1] = maxY + 50\n }\n\n localStorage.setItem('litegrapheditor_clipboard', old)\n }\n\n #showMissingNodesError(missingNodeTypes: MissingNodeType[]) {\n if (useSettingStore().get('Comfy.Workflow.ShowMissingNodesWarning')) {\n showLoadWorkflowWarning({ missingNodeTypes })\n }\n\n this.logging.addEntry('Comfy.App', 'warn', {\n MissingNodes: missingNodeTypes\n })\n }\n\n #showMissingModelsError(missingModels, paths) {\n if (useSettingStore().get('Comfy.Workflow.ShowMissingModelsWarning')) {\n showMissingModelsWarning({\n missingModels,\n paths\n })\n }\n\n this.logging.addEntry('Comfy.App', 'warn', {\n MissingModels: missingModels\n })\n }\n\n async changeWorkflow(callback, workflow = null) {\n try {\n this.workflowManager.activeWorkflow?.changeTracker?.store()\n } catch (error) {\n console.error(error)\n }\n await callback()\n try {\n this.workflowManager.setWorkflow(workflow)\n this.workflowManager.activeWorkflow?.track()\n } catch (error) {\n console.error(error)\n }\n }\n\n async loadGraphData(\n graphData?: ComfyWorkflowJSON,\n clean: boolean = true,\n restore_view: boolean = true,\n workflow: string | null | ComfyWorkflow = null,\n { showMissingNodesDialog = true, showMissingModelsDialog = true } = {}\n ) {\n if (clean !== false) {\n this.clean()\n }\n\n let reset_invalid_values = false\n if (!graphData) {\n graphData = defaultGraph\n reset_invalid_values = true\n }\n\n if (typeof structuredClone === 'undefined') {\n graphData = JSON.parse(JSON.stringify(graphData))\n } else {\n graphData = structuredClone(graphData)\n }\n\n try {\n this.workflowManager.setWorkflow(workflow)\n } catch (error) {\n console.error(error)\n }\n\n if (useSettingStore().get('Comfy.Validation.Workflows')) {\n // TODO: Show validation error in a dialog.\n const validatedGraphData = await validateComfyWorkflow(\n graphData,\n /* onError=*/ (err) => {\n useToastStore().addAlert(err)\n }\n )\n // If the validation failed, use the original graph data.\n // Ideally we should not block users from loading the workflow.\n graphData = validatedGraphData ?? graphData\n }\n\n const missingNodeTypes: MissingNodeType[] = []\n const missingModels = []\n await this.#invokeExtensionsAsync(\n 'beforeConfigureGraph',\n graphData,\n missingNodeTypes\n // TODO: missingModels\n )\n for (let n of graphData.nodes) {\n // Patch T2IAdapterLoader to ControlNetLoader since they are the same node now\n if (n.type == 'T2IAdapterLoader') n.type = 'ControlNetLoader'\n if (n.type == 'ConditioningAverage ') n.type = 'ConditioningAverage' //typo fix\n if (n.type == 'SDV_img2vid_Conditioning')\n n.type = 'SVD_img2vid_Conditioning' //typo fix\n\n // Find missing node types\n if (!(n.type in LiteGraph.registered_node_types)) {\n missingNodeTypes.push(n.type)\n n.type = sanitizeNodeName(n.type)\n }\n }\n if (\n graphData.models &&\n useSettingStore().get('Comfy.Workflow.ShowMissingModelsWarning')\n ) {\n for (const m of graphData.models) {\n const models_available = await useModelStore().getLoadedModelFolder(\n m.directory\n )\n if (models_available === null) {\n // @ts-expect-error\n m.directory_invalid = true\n missingModels.push(m)\n } else if (!(m.name in models_available.models)) {\n missingModels.push(m)\n }\n }\n }\n\n try {\n this.graph.configure(graphData)\n if (\n restore_view &&\n this.enableWorkflowViewRestore.value &&\n graphData.extra?.ds\n ) {\n // @ts-expect-error\n // Need to set strict: true for zod to match the type [number, number]\n // https://github.com/colinhacks/zod/issues/3056\n this.canvas.ds.offset = graphData.extra.ds.offset\n this.canvas.ds.scale = graphData.extra.ds.scale\n }\n\n try {\n this.workflowManager.activeWorkflow?.track()\n } catch (error) {\n // TODO: Do we want silently fail here?\n }\n } catch (error) {\n let errorHint = []\n // Try extracting filename to see if it was caused by an extension script\n const filename =\n error.fileName ||\n (error.stack || '').match(/(\\/extensions\\/.*\\.js)/)?.[1]\n const pos = (filename || '').indexOf('/extensions/')\n if (pos > -1) {\n errorHint.push(\n $el('span', {\n textContent: 'This may be due to the following script:'\n }),\n $el('br'),\n $el('span', {\n style: {\n fontWeight: 'bold'\n },\n textContent: filename.substring(pos)\n })\n )\n }\n\n // Show dialog to let the user know something went wrong loading the data\n this.ui.dialog.show(\n $el('div', [\n $el('p', {\n textContent: 'Loading aborted due to error reloading workflow data'\n }),\n $el('pre', {\n style: { padding: '5px', backgroundColor: 'rgba(255,0,0,0.2)' },\n textContent: error.toString()\n }),\n $el('pre', {\n style: {\n padding: '5px',\n color: '#ccc',\n fontSize: '10px',\n maxHeight: '50vh',\n overflow: 'auto',\n backgroundColor: 'rgba(0,0,0,0.2)'\n },\n textContent: error.stack || 'No stacktrace available'\n }),\n ...errorHint\n ]).outerHTML\n )\n\n return\n }\n for (const node of this.graph.nodes) {\n const size = node.computeSize()\n size[0] = Math.max(node.size[0], size[0])\n size[1] = Math.max(node.size[1], size[1])\n node.size = size\n if (node.widgets) {\n // If you break something in the backend and want to patch workflows in the frontend\n // This is the place to do this\n for (let widget of node.widgets) {\n if (node.type == 'KSampler' || node.type == 'KSamplerAdvanced') {\n if (widget.name == 'sampler_name') {\n if (\n typeof widget.value === 'string' &&\n widget.value.startsWith('sample_')\n ) {\n widget.value = widget.value.slice(7)\n }\n }\n }\n if (\n node.type == 'KSampler' ||\n node.type == 'KSamplerAdvanced' ||\n node.type == 'PrimitiveNode'\n ) {\n if (widget.name == 'control_after_generate') {\n if (widget.value === true) {\n // @ts-expect-error change widget type from boolean to string\n widget.value = 'randomize'\n } else if (widget.value === false) {\n // @ts-expect-error change widget type from boolean to string\n widget.value = 'fixed'\n }\n }\n }\n if (reset_invalid_values) {\n if (widget.type == 'combo') {\n if (\n !widget.options.values.includes(widget.value as string) &&\n widget.options.values.length > 0\n ) {\n widget.value = widget.options.values[0]\n }\n }\n }\n }\n }\n\n this.#invokeExtensions('loadedGraphNode', node)\n }\n\n // TODO: Properly handle if both nodes and models are missing (sequential dialogs?)\n if (missingNodeTypes.length && showMissingNodesDialog) {\n this.#showMissingNodesError(missingNodeTypes)\n }\n if (missingModels.length && showMissingModelsDialog) {\n const paths = await api.getFolderPaths()\n this.#showMissingModelsError(missingModels, paths)\n }\n await this.#invokeExtensionsAsync('afterConfigureGraph', missingNodeTypes)\n requestAnimationFrame(() => {\n this.graph.setDirtyCanvas(true, true)\n })\n }\n\n /**\n * Serializes a graph using preferred user settings.\n * @param graph The litegraph to serialize.\n * @returns A serialized graph (aka workflow) with preferred user settings.\n */\n serializeGraph(graph: LGraph = this.graph) {\n const sortNodes = useSettingStore().get('Comfy.Workflow.SortNodeIdOnSave')\n return graph.serialize({ sortNodes })\n }\n\n /**\n * Converts the current graph workflow for sending to the API.\n * Note: Node widgets are updated before serialization to prepare queueing.\n * @returns The workflow and node links\n */\n async graphToPrompt(graph = this.graph, clean = true) {\n for (const outerNode of this.graph.computeExecutionOrder(false)) {\n if (outerNode.widgets) {\n for (const widget of outerNode.widgets) {\n // Allow widgets to run callbacks before a prompt has been queued\n // e.g. random seed before every gen\n widget.beforeQueued?.()\n }\n }\n\n const innerNodes = outerNode['getInnerNodes']\n ? outerNode['getInnerNodes']()\n : [outerNode]\n for (const node of innerNodes) {\n if (node.isVirtualNode) {\n // Don't serialize frontend only nodes but let them make changes\n if (node.applyToGraph) {\n node.applyToGraph()\n }\n }\n }\n }\n\n const workflow = this.serializeGraph(graph)\n const output = {}\n // Process nodes in order of execution\n for (const outerNode of graph.computeExecutionOrder(false)) {\n const skipNode = outerNode.mode === 2 || outerNode.mode === 4\n const innerNodes =\n !skipNode && outerNode['getInnerNodes']\n ? outerNode['getInnerNodes']()\n : [outerNode]\n for (const node of innerNodes) {\n if (node.isVirtualNode) {\n continue\n }\n\n if (node.mode === 2 || node.mode === 4) {\n // Don't serialize muted nodes\n continue\n }\n\n const inputs = {}\n const widgets = node.widgets\n\n // Store all widget values\n if (widgets) {\n for (const i in widgets) {\n const widget = widgets[i]\n if (!widget.options || widget.options.serialize !== false) {\n inputs[widget.name] = widget.serializeValue\n ? await widget.serializeValue(node, i)\n : widget.value\n }\n }\n }\n\n // Store all node links\n for (let i in node.inputs) {\n let parent = node.getInputNode(i)\n if (parent) {\n let link = node.getInputLink(i)\n while (parent.mode === 4 || parent.isVirtualNode) {\n let found = false\n if (parent.isVirtualNode) {\n link = parent.getInputLink(link.origin_slot)\n if (link) {\n parent = parent.getInputNode(link.target_slot)\n if (parent) {\n found = true\n }\n }\n } else if (link && parent.mode === 4) {\n let all_inputs = [link.origin_slot]\n if (parent.inputs) {\n all_inputs = all_inputs.concat(Object.keys(parent.inputs))\n for (let parent_input in all_inputs) {\n parent_input = all_inputs[parent_input]\n if (\n parent.inputs[parent_input]?.type === node.inputs[i].type\n ) {\n link = parent.getInputLink(parent_input)\n if (link) {\n parent = parent.getInputNode(parent_input)\n }\n found = true\n break\n }\n }\n }\n }\n\n if (!found) {\n break\n }\n }\n\n if (link) {\n if (parent?.updateLink) {\n link = parent.updateLink(link)\n }\n if (link) {\n inputs[node.inputs[i].name] = [\n String(link.origin_id),\n parseInt(link.origin_slot)\n ]\n }\n }\n }\n }\n\n let node_data = {\n inputs,\n class_type: node.comfyClass\n }\n\n if (this.ui.settings.getSettingValue('Comfy.DevMode')) {\n // Ignored by the backend.\n node_data['_meta'] = {\n title: node.title\n }\n }\n\n output[String(node.id)] = node_data\n }\n }\n\n // Remove inputs connected to removed nodes\n if (clean) {\n for (const o in output) {\n for (const i in output[o].inputs) {\n if (\n Array.isArray(output[o].inputs[i]) &&\n output[o].inputs[i].length === 2 &&\n !output[output[o].inputs[i][0]]\n ) {\n delete output[o].inputs[i]\n }\n }\n }\n }\n\n return { workflow, output }\n }\n\n #formatPromptError(error) {\n if (error == null) {\n return '(unknown error)'\n } else if (typeof error === 'string') {\n return error\n } else if (error.stack && error.message) {\n return error.toString()\n } else if (error.response) {\n let message = error.response.error.message\n if (error.response.error.details)\n message += ': ' + error.response.error.details\n for (const [nodeID, nodeError] of Object.entries(\n error.response.node_errors\n )) {\n // @ts-expect-error\n message += '\\n' + nodeError.class_type + ':'\n // @ts-expect-error\n for (const errorReason of nodeError.errors) {\n message +=\n '\\n - ' + errorReason.message + ': ' + errorReason.details\n }\n }\n return message\n }\n return '(unknown error)'\n }\n\n async queuePrompt(number, batchCount = 1) {\n this.#queueItems.push({ number, batchCount })\n\n // Only have one action process the items so each one gets a unique seed correctly\n if (this.#processingQueue) {\n return\n }\n\n this.#processingQueue = true\n this.lastNodeErrors = null\n\n try {\n while (this.#queueItems.length) {\n ;({ number, batchCount } = this.#queueItems.pop())\n\n for (let i = 0; i < batchCount; i++) {\n const p = await this.graphToPrompt()\n\n try {\n const res = await api.queuePrompt(number, p)\n this.lastNodeErrors = res.node_errors\n if (this.lastNodeErrors.length > 0) {\n this.canvas.draw(true, true)\n } else {\n try {\n this.workflowManager.storePrompt({\n id: res.prompt_id,\n nodes: Object.keys(p.output)\n })\n } catch (error) {}\n }\n } catch (error) {\n const formattedError = this.#formatPromptError(error)\n this.ui.dialog.show(formattedError)\n if (error.response) {\n this.lastNodeErrors = error.response.node_errors\n this.canvas.draw(true, true)\n }\n break\n }\n\n for (const n of p.workflow.nodes) {\n const node = this.graph.getNodeById(n.id)\n if (node.widgets) {\n for (const widget of node.widgets) {\n // Allow widgets to run callbacks after a prompt has been queued\n // e.g. random seed after every gen\n // @ts-expect-error\n if (widget.afterQueued) {\n // @ts-expect-error\n widget.afterQueued()\n }\n }\n }\n }\n\n this.canvas.draw(true, true)\n await this.ui.queue.update()\n }\n }\n } finally {\n this.#processingQueue = false\n }\n api.dispatchEvent(\n new CustomEvent('promptQueued', { detail: { number, batchCount } })\n )\n return !this.lastNodeErrors\n }\n\n showErrorOnFileLoad(file) {\n this.ui.dialog.show(\n $el('div', [\n $el('p', { textContent: `Unable to find workflow in ${file.name}` })\n ]).outerHTML\n )\n }\n\n /**\n * Loads workflow data from the specified file\n * @param {File} file\n */\n async handleFile(file) {\n const removeExt = (f) => {\n if (!f) return f\n const p = f.lastIndexOf('.')\n if (p === -1) return f\n return f.substring(0, p)\n }\n const fileName = removeExt(file.name)\n if (file.type === 'image/png') {\n const pngInfo = await getPngMetadata(file)\n if (pngInfo?.workflow) {\n await this.loadGraphData(\n JSON.parse(pngInfo.workflow),\n true,\n true,\n fileName\n )\n } else if (pngInfo?.prompt) {\n this.loadApiJson(JSON.parse(pngInfo.prompt), fileName)\n } else if (pngInfo?.parameters) {\n this.changeWorkflow(() => {\n importA1111(this.graph, pngInfo.parameters)\n }, fileName)\n } else {\n this.showErrorOnFileLoad(file)\n }\n } else if (file.type === 'image/webp') {\n const pngInfo = await getWebpMetadata(file)\n // Support loading workflows from that webp custom node.\n const workflow = pngInfo?.workflow || pngInfo?.Workflow\n const prompt = pngInfo?.prompt || pngInfo?.Prompt\n\n if (workflow) {\n this.loadGraphData(JSON.parse(workflow), true, true, fileName)\n } else if (prompt) {\n this.loadApiJson(JSON.parse(prompt), fileName)\n } else {\n this.showErrorOnFileLoad(file)\n }\n } else if (file.type === 'audio/flac' || file.type === 'audio/x-flac') {\n const pngInfo = await getFlacMetadata(file)\n const workflow = pngInfo?.workflow || pngInfo?.Workflow\n const prompt = pngInfo?.prompt || pngInfo?.Prompt\n\n if (workflow) {\n this.loadGraphData(JSON.parse(workflow), true, true, fileName)\n } else if (prompt) {\n this.loadApiJson(JSON.parse(prompt), fileName)\n } else {\n this.showErrorOnFileLoad(file)\n }\n } else if (\n file.type === 'application/json' ||\n file.name?.endsWith('.json')\n ) {\n const reader = new FileReader()\n reader.onload = async () => {\n const readerResult = reader.result as string\n const jsonContent = JSON.parse(readerResult)\n if (jsonContent?.templates) {\n this.loadTemplateData(jsonContent)\n } else if (this.isApiJson(jsonContent)) {\n this.loadApiJson(jsonContent, fileName)\n } else {\n await this.loadGraphData(\n JSON.parse(readerResult),\n true,\n false,\n fileName\n )\n }\n }\n reader.readAsText(file)\n } else if (\n file.name?.endsWith('.latent') ||\n file.name?.endsWith('.safetensors')\n ) {\n const info = await getLatentMetadata(file)\n // TODO define schema to LatentMetadata\n // @ts-expect-error\n if (info.workflow) {\n await this.loadGraphData(\n // @ts-expect-error\n JSON.parse(info.workflow),\n true,\n true,\n fileName\n )\n // @ts-expect-error\n } else if (info.prompt) {\n // @ts-expect-error\n this.loadApiJson(JSON.parse(info.prompt))\n } else {\n this.showErrorOnFileLoad(file)\n }\n } else {\n this.showErrorOnFileLoad(file)\n }\n }\n\n isApiJson(data) {\n // @ts-expect-error\n return Object.values(data).every((v) => v.class_type)\n }\n\n loadApiJson(apiData, fileName: string) {\n const missingNodeTypes = Object.values(apiData).filter(\n // @ts-expect-error\n (n) => !LiteGraph.registered_node_types[n.class_type]\n )\n if (missingNodeTypes.length) {\n this.#showMissingNodesError(\n // @ts-expect-error\n missingNodeTypes.map((t) => t.class_type)\n )\n return\n }\n\n const ids = Object.keys(apiData)\n app.graph.clear()\n for (const id of ids) {\n const data = apiData[id]\n const node = LiteGraph.createNode(data.class_type)\n node.id = isNaN(+id) ? id : +id\n node.title = data._meta?.title ?? node.title\n app.graph.add(node)\n }\n\n this.changeWorkflow(() => {\n for (const id of ids) {\n const data = apiData[id]\n const node = app.graph.getNodeById(id)\n for (const input in data.inputs ?? {}) {\n const value = data.inputs[input]\n if (value instanceof Array) {\n const [fromId, fromSlot] = value\n const fromNode = app.graph.getNodeById(fromId)\n let toSlot = node.inputs?.findIndex((inp) => inp.name === input)\n if (toSlot == null || toSlot === -1) {\n try {\n // Target has no matching input, most likely a converted widget\n const widget = node.widgets?.find((w) => w.name === input)\n // @ts-expect-error\n if (widget && node.convertWidgetToInput?.(widget)) {\n toSlot = node.inputs?.length - 1\n }\n } catch (error) {}\n }\n if (toSlot != null || toSlot !== -1) {\n fromNode.connect(fromSlot, node, toSlot)\n }\n } else {\n const widget = node.widgets?.find((w) => w.name === input)\n if (widget) {\n widget.value = value\n widget.callback?.(value)\n }\n }\n }\n }\n app.graph.arrange()\n }, fileName)\n\n for (const id of ids) {\n const data = apiData[id]\n const node = app.graph.getNodeById(id)\n for (const input in data.inputs ?? {}) {\n const value = data.inputs[input]\n if (value instanceof Array) {\n const [fromId, fromSlot] = value\n const fromNode = app.graph.getNodeById(fromId)\n let toSlot = node.inputs?.findIndex((inp) => inp.name === input)\n if (toSlot == null || toSlot === -1) {\n try {\n // Target has no matching input, most likely a converted widget\n const widget = node.widgets?.find((w) => w.name === input)\n // @ts-expect-error\n if (widget && node.convertWidgetToInput?.(widget)) {\n toSlot = node.inputs?.length - 1\n }\n } catch (error) {}\n }\n if (toSlot != null || toSlot !== -1) {\n fromNode.connect(fromSlot, node, toSlot)\n }\n } else {\n const widget = node.widgets?.find((w) => w.name === input)\n if (widget) {\n widget.value = value\n widget.callback?.(value)\n }\n }\n }\n }\n\n app.graph.arrange()\n }\n\n /**\n * Registers a Comfy web extension with the app\n * @param {ComfyExtension} extension\n */\n registerExtension(extension: ComfyExtension) {\n if (this.vueAppReady) {\n useExtensionStore().registerExtension(extension)\n } else {\n // For jest testing.\n this.extensions.push(extension)\n }\n }\n\n /**\n * Refresh combo list on whole nodes\n */\n async refreshComboInNodes() {\n const requestToastMessage: ToastMessageOptions = {\n severity: 'info',\n summary: 'Update',\n detail: 'Update requested'\n }\n if (this.vueAppReady) {\n useToastStore().add(requestToastMessage)\n }\n\n const defs = await api.getNodeDefs({\n validate: useSettingStore().get('Comfy.Validation.NodeDefs')\n })\n\n for (const nodeId in defs) {\n this.registerNodeDef(nodeId, defs[nodeId])\n }\n for (let nodeNum in this.graph.nodes) {\n const node = this.graph.nodes[nodeNum]\n const def = defs[node.type]\n // @ts-expect-error\n // Allow primitive nodes to handle refresh\n node.refreshComboInNode?.(defs)\n\n if (!def) continue\n\n for (const widgetNum in node.widgets) {\n const widget = node.widgets[widgetNum]\n if (\n widget.type == 'combo' &&\n def['input']['required'][widget.name] !== undefined\n ) {\n widget.options.values = def['input']['required'][widget.name][0]\n }\n }\n }\n\n await this.#invokeExtensionsAsync('refreshComboInNodes', defs)\n\n if (this.vueAppReady) {\n this.updateVueAppNodeDefs(defs)\n useToastStore().remove(requestToastMessage)\n useToastStore().add({\n severity: 'success',\n summary: 'Updated',\n detail: 'Node definitions updated',\n life: 1000\n })\n }\n }\n\n resetView() {\n app.canvas.ds.scale = 1\n app.canvas.ds.offset = [0, 0]\n app.graph.setDirtyCanvas(true, true)\n }\n\n /**\n * Clean current state\n */\n clean() {\n this.nodeOutputs = {}\n this.nodePreviewImages = {}\n this.lastNodeErrors = null\n this.lastExecutionError = null\n }\n\n addNodeOnGraph(\n nodeDef: ComfyNodeDef | ComfyNodeDefImpl,\n options: Record = {}\n ): LGraphNode {\n const node = LiteGraph.createNode(\n nodeDef.name,\n nodeDef.display_name,\n options\n )\n this.graph.add(node)\n return node\n }\n\n clientPosToCanvasPos(pos: Vector2): Vector2 {\n const rect = this.canvasContainer.getBoundingClientRect()\n const containerOffsets = [rect.left, rect.top]\n return _.zip(pos, this.canvas.ds.offset, containerOffsets).map(\n ([p, o1, o2]) => (p - o2) / this.canvas.ds.scale - o1\n ) as Vector2\n }\n\n canvasPosToClientPos(pos: Vector2): Vector2 {\n const rect = this.canvasContainer.getBoundingClientRect()\n const containerOffsets = [rect.left, rect.top]\n return _.zip(pos, this.canvas.ds.offset, containerOffsets).map(\n ([p, o1, o2]) => (p + o1) * this.canvas.ds.scale + o2\n ) as Vector2\n }\n\n getCanvasCenter(): Vector2 {\n const dpi = Math.max(window.devicePixelRatio ?? 1, 1)\n const [x, y, w, h] = app.canvas.ds.visible_area\n return [x + w / dpi / 2, y + h / dpi / 2]\n }\n\n public goToNode(nodeId: NodeId) {\n const graphNode = this.graph.getNodeById(nodeId)\n if (!graphNode) return\n this.canvas.centerOnNode(graphNode)\n }\n}\n\nexport const app = new ComfyApp()\n","import { LGraphNode, LGraphGroup, LGraphCanvas } from '@comfyorg/litegraph'\nimport { defineStore } from 'pinia'\nimport { shallowRef } from 'vue'\n\nexport const useTitleEditorStore = defineStore('titleEditor', () => {\n const titleEditorTarget = shallowRef(null)\n\n return {\n titleEditorTarget\n }\n})\n\nexport const useCanvasStore = defineStore('canvas', () => {\n /**\n * The LGraphCanvas instance.\n *\n * The root LGraphCanvas object is shallow reactive.\n */\n const canvas = shallowRef(null)\n\n return {\n canvas\n }\n})\n","import { useToastStore } from '@/stores/toastStore'\nimport { useI18n } from 'vue-i18n'\n\nexport function useErrorHandling() {\n const toast = useToastStore()\n const { t } = useI18n()\n\n const toastErrorHandler = (error: any) => {\n toast.add({\n severity: 'error',\n summary: t('error'),\n detail: error.message,\n life: 3000\n })\n }\n\n const wrapWithErrorHandling =\n (action: (...args: any[]) => any, errorHandler?: (error: any) => void) =>\n (...args: any[]) => {\n try {\n return action(...args)\n } catch (e) {\n ;(errorHandler ?? toastErrorHandler)(e)\n }\n }\n\n const wrapWithErrorHandlingAsync =\n (\n action: ((...args: any[]) => Promise) | ((...args: any[]) => any),\n errorHandler?: (error: any) => void\n ) =>\n async (...args: any[]) => {\n try {\n return await action(...args)\n } catch (e) {\n ;(errorHandler ?? toastErrorHandler)(e)\n }\n }\n\n return { wrapWithErrorHandling, wrapWithErrorHandlingAsync }\n}\n","import { defineStore } from 'pinia'\nimport { computed, ref } from 'vue'\nimport { ComfyWorkflow } from '@/scripts/workflows'\nimport { buildTree } from '@/utils/treeUtil'\nimport { api } from '@/scripts/api'\n\nexport const useWorkflowStore = defineStore('workflow', () => {\n const activeWorkflow = ref(null)\n const workflowLookup = ref>({})\n const workflows = computed(() => Object.values(workflowLookup.value))\n const persistedWorkflows = computed(() =>\n workflows.value.filter((workflow) => workflow.isPersisted)\n )\n const openWorkflows = computed(() =>\n workflows.value.filter((workflow) => workflow.isOpen)\n )\n const bookmarkedWorkflows = computed(() =>\n workflows.value.filter((workflow) => workflow.isBookmarked)\n )\n const modifiedWorkflows = computed(() =>\n workflows.value.filter((workflow) => workflow.unsaved)\n )\n\n const buildWorkflowTree = (workflows: ComfyWorkflow[]) => {\n return buildTree(workflows, (workflow: ComfyWorkflow) =>\n workflow.key.split('/')\n )\n }\n const workflowsTree = computed(() =>\n buildWorkflowTree(persistedWorkflows.value)\n )\n // Bookmarked workflows tree is flat.\n const bookmarkedWorkflowsTree = computed(() =>\n buildTree(bookmarkedWorkflows.value, (workflow: ComfyWorkflow) => [\n workflow.path ?? 'temporary_workflow'\n ])\n )\n // Open workflows tree is flat.\n const openWorkflowsTree = computed(() =>\n buildTree(openWorkflows.value, (workflow: ComfyWorkflow) => [workflow.key])\n )\n\n const loadOpenedWorkflowIndexShift = async (shift: number) => {\n const index = openWorkflows.value.indexOf(\n activeWorkflow.value as ComfyWorkflow\n )\n if (index !== -1) {\n const length = openWorkflows.value.length\n const nextIndex = (index + shift + length) % length\n const nextWorkflow = openWorkflows.value[nextIndex]\n if (nextWorkflow) {\n await nextWorkflow.load()\n }\n }\n }\n\n const loadNextOpenedWorkflow = async () => {\n await loadOpenedWorkflowIndexShift(1)\n }\n\n const loadPreviousOpenedWorkflow = async () => {\n await loadOpenedWorkflowIndexShift(-1)\n }\n\n return {\n activeWorkflow,\n workflows,\n openWorkflows,\n bookmarkedWorkflows,\n modifiedWorkflows,\n workflowLookup,\n workflowsTree,\n bookmarkedWorkflowsTree,\n openWorkflowsTree,\n buildWorkflowTree,\n loadNextOpenedWorkflow,\n loadPreviousOpenedWorkflow\n }\n})\n\nexport const useWorkflowBookmarkStore = defineStore('workflowBookmark', () => {\n const bookmarks = ref>(new Set())\n\n const isBookmarked = (path: string) => bookmarks.value.has(path)\n\n const loadBookmarks = async () => {\n const resp = await api.getUserData('workflows/.index.json')\n if (resp.status === 200) {\n const info = await resp.json()\n bookmarks.value = new Set(info?.favorites ?? [])\n }\n }\n\n const saveBookmarks = async () => {\n await api.storeUserData('workflows/.index.json', {\n favorites: Array.from(bookmarks.value)\n })\n }\n\n const setBookmarked = (path: string, value: boolean) => {\n if (value) {\n bookmarks.value.add(path)\n } else {\n bookmarks.value.delete(path)\n }\n saveBookmarks()\n }\n\n const toggleBookmarked = (path: string) => {\n setBookmarked(path, !bookmarks.value.has(path))\n }\n\n return {\n isBookmarked,\n loadBookmarks,\n saveBookmarks,\n setBookmarked,\n toggleBookmarked\n }\n})\n","import { app } from '@/scripts/app'\nimport { api } from '@/scripts/api'\nimport { defineStore } from 'pinia'\nimport { computed, ref } from 'vue'\nimport { globalTracker } from '@/scripts/changeTracker'\nimport { useSettingStore } from '@/stores/settingStore'\nimport { useToastStore } from '@/stores/toastStore'\nimport {\n showSettingsDialog,\n showTemplateWorkflowsDialog\n} from '@/services/dialogService'\nimport { useQueueSettingsStore, useQueueStore } from './queueStore'\nimport { LiteGraph } from '@comfyorg/litegraph'\nimport { ComfyExtension } from '@/types/comfy'\nimport { LGraphGroup } from '@comfyorg/litegraph'\nimport { useTitleEditorStore } from './graphStore'\nimport { useErrorHandling } from '@/hooks/errorHooks'\nimport { useWorkflowStore } from './workflowStore'\nimport { type KeybindingImpl, useKeybindingStore } from './keybindingStore'\nimport { useBottomPanelStore } from './workspace/bottomPanelStore'\nimport { LGraphNode } from '@comfyorg/litegraph'\nimport { useWorkspaceStore } from './workspaceStateStore'\n\nexport interface ComfyCommand {\n id: string\n function: () => void | Promise\n\n label?: string | (() => string)\n icon?: string | (() => string)\n tooltip?: string | (() => string)\n /** Menubar item label, if different from command label */\n menubarLabel?: string | (() => string)\n versionAdded?: string\n}\n\nexport class ComfyCommandImpl implements ComfyCommand {\n id: string\n function: () => void | Promise\n _label?: string | (() => string)\n _icon?: string | (() => string)\n _tooltip?: string | (() => string)\n _menubarLabel?: string | (() => string)\n versionAdded?: string\n\n constructor(command: ComfyCommand) {\n this.id = command.id\n this.function = command.function\n this._label = command.label\n this._icon = command.icon\n this._tooltip = command.tooltip\n this._menubarLabel = command.menubarLabel ?? command.label\n this.versionAdded = command.versionAdded\n }\n\n get label() {\n return typeof this._label === 'function' ? this._label() : this._label\n }\n\n get icon() {\n return typeof this._icon === 'function' ? this._icon() : this._icon\n }\n\n get tooltip() {\n return typeof this._tooltip === 'function' ? this._tooltip() : this._tooltip\n }\n\n get menubarLabel() {\n return typeof this._menubarLabel === 'function'\n ? this._menubarLabel()\n : this._menubarLabel\n }\n\n get keybinding(): KeybindingImpl | null {\n return useKeybindingStore().getKeybindingByCommandId(this.id)\n }\n}\n\nconst getTracker = () =>\n app.workflowManager.activeWorkflow?.changeTracker ?? globalTracker\n\nconst getSelectedNodes = (): LGraphNode[] => {\n const selectedNodes = app.canvas.selected_nodes\n const result: LGraphNode[] = []\n if (selectedNodes) {\n for (const i in selectedNodes) {\n const node = selectedNodes[i]\n result.push(node)\n }\n }\n return result\n}\n\nconst toggleSelectedNodesMode = (mode: number) => {\n getSelectedNodes().forEach((node) => {\n if (node.mode === mode) {\n node.mode = 0 // always\n } else {\n node.mode = mode\n }\n })\n}\n\nexport const useCommandStore = defineStore('command', () => {\n const settingStore = useSettingStore()\n\n const commandsById = ref>({})\n const commands = computed(() => Object.values(commandsById.value))\n\n const registerCommand = (command: ComfyCommand) => {\n if (commandsById.value[command.id]) {\n console.warn(`Command ${command.id} already registered`)\n }\n commandsById.value[command.id] = new ComfyCommandImpl(command)\n }\n\n const commandDefinitions: ComfyCommand[] = [\n {\n id: 'Comfy.NewBlankWorkflow',\n icon: 'pi pi-plus',\n label: 'New Blank Workflow',\n menubarLabel: 'New',\n function: () => {\n app.workflowManager.setWorkflow(null)\n app.clean()\n app.graph.clear()\n app.workflowManager.activeWorkflow?.track()\n }\n },\n {\n id: 'Comfy.OpenWorkflow',\n icon: 'pi pi-folder-open',\n label: 'Open Workflow',\n menubarLabel: 'Open',\n function: () => {\n app.ui.loadFile()\n }\n },\n {\n id: 'Comfy.LoadDefaultWorkflow',\n icon: 'pi pi-code',\n label: 'Load Default Workflow',\n function: async () => {\n await app.loadGraphData()\n }\n },\n {\n id: 'Comfy.SaveWorkflow',\n icon: 'pi pi-save',\n label: 'Save Workflow',\n menubarLabel: 'Save',\n function: () => {\n app.workflowManager.activeWorkflow?.save()\n }\n },\n {\n id: 'Comfy.SaveWorkflowAs',\n icon: 'pi pi-save',\n label: 'Save Workflow As',\n menubarLabel: 'Save As',\n function: () => {\n app.workflowManager.activeWorkflow?.save(true)\n }\n },\n {\n id: 'Comfy.ExportWorkflow',\n icon: 'pi pi-download',\n label: 'Export Workflow',\n menubarLabel: 'Export',\n function: () => {\n app.menu.exportWorkflow('workflow', 'workflow')\n }\n },\n {\n id: 'Comfy.ExportWorkflowAPI',\n icon: 'pi pi-download',\n label: 'Export Workflow (API Format)',\n menubarLabel: 'Export (API)',\n function: () => {\n app.menu.exportWorkflow('workflow_api', 'output')\n }\n },\n {\n id: 'Comfy.Undo',\n icon: 'pi pi-undo',\n label: 'Undo',\n function: async () => {\n await getTracker().undo()\n }\n },\n {\n id: 'Comfy.Redo',\n icon: 'pi pi-refresh',\n label: 'Redo',\n function: async () => {\n await getTracker().redo()\n }\n },\n {\n id: 'Comfy.ClearWorkflow',\n icon: 'pi pi-trash',\n label: 'Clear Workflow',\n function: () => {\n if (\n !settingStore.get('Comfy.ComfirmClear') ||\n confirm('Clear workflow?')\n ) {\n app.clean()\n app.graph.clear()\n api.dispatchEvent(new CustomEvent('graphCleared'))\n }\n }\n },\n {\n id: 'Comfy.Canvas.ResetView',\n icon: 'pi pi-expand',\n label: 'Reset View',\n function: () => {\n app.resetView()\n }\n },\n {\n id: 'Comfy.OpenClipspace',\n icon: 'pi pi-clipboard',\n label: 'Clipspace',\n function: () => {\n app.openClipspace()\n }\n },\n {\n id: 'Comfy.RefreshNodeDefinitions',\n icon: 'pi pi-refresh',\n label: 'Refresh Node Definitions',\n function: async () => {\n await app.refreshComboInNodes()\n }\n },\n {\n id: 'Comfy.Interrupt',\n icon: 'pi pi-stop',\n label: 'Interrupt',\n function: async () => {\n await api.interrupt()\n useToastStore().add({\n severity: 'info',\n summary: 'Interrupted',\n detail: 'Execution has been interrupted',\n life: 1000\n })\n }\n },\n {\n id: 'Comfy.ClearPendingTasks',\n icon: 'pi pi-stop',\n label: 'Clear Pending Tasks',\n function: async () => {\n await useQueueStore().clear(['queue'])\n useToastStore().add({\n severity: 'info',\n summary: 'Confirmed',\n detail: 'Pending tasks deleted',\n life: 3000\n })\n }\n },\n {\n id: 'Comfy.BrowseTemplates',\n icon: 'pi pi-folder-open',\n label: 'Browse Templates',\n function: showTemplateWorkflowsDialog\n },\n {\n id: 'Comfy.Canvas.ZoomIn',\n icon: 'pi pi-plus',\n label: 'Zoom In',\n function: () => {\n const ds = app.canvas.ds\n ds.changeScale(\n ds.scale * 1.1,\n ds.element ? [ds.element.width / 2, ds.element.height / 2] : undefined\n )\n app.canvas.setDirty(true, true)\n }\n },\n {\n id: 'Comfy.Canvas.ZoomOut',\n icon: 'pi pi-minus',\n label: 'Zoom Out',\n function: () => {\n const ds = app.canvas.ds\n ds.changeScale(\n ds.scale / 1.1,\n ds.element ? [ds.element.width / 2, ds.element.height / 2] : undefined\n )\n app.canvas.setDirty(true, true)\n }\n },\n {\n id: 'Comfy.Canvas.ToggleLock',\n icon: 'pi pi-lock',\n label: 'Toggle Lock',\n function: () => {\n app.canvas['read_only'] = !app.canvas['read_only']\n }\n },\n {\n id: 'Comfy.Canvas.ToggleLinkVisibility',\n icon: 'pi pi-eye',\n label: 'Toggle Link Visibility',\n versionAdded: '1.3.6',\n\n function: (() => {\n let lastLinksRenderMode = LiteGraph.SPLINE_LINK\n\n return () => {\n const currentMode = settingStore.get('Comfy.LinkRenderMode')\n\n if (currentMode === LiteGraph.HIDDEN_LINK) {\n // If links are hidden, restore the last positive value or default to spline mode\n settingStore.set('Comfy.LinkRenderMode', lastLinksRenderMode)\n } else {\n // If links are visible, store the current mode and hide links\n lastLinksRenderMode = currentMode\n settingStore.set('Comfy.LinkRenderMode', LiteGraph.HIDDEN_LINK)\n }\n }\n })()\n },\n {\n id: 'Comfy.QueuePrompt',\n icon: 'pi pi-play',\n label: 'Queue Prompt',\n versionAdded: '1.3.7',\n function: () => {\n const batchCount = useQueueSettingsStore().batchCount\n app.queuePrompt(0, batchCount)\n }\n },\n {\n id: 'Comfy.QueuePromptFront',\n icon: 'pi pi-play',\n label: 'Queue Prompt (Front)',\n versionAdded: '1.3.7',\n function: () => {\n const batchCount = useQueueSettingsStore().batchCount\n app.queuePrompt(-1, batchCount)\n }\n },\n {\n id: 'Comfy.ShowSettingsDialog',\n icon: 'pi pi-cog',\n label: 'Settings',\n versionAdded: '1.3.7',\n function: () => {\n showSettingsDialog()\n }\n },\n {\n id: 'Comfy.Graph.GroupSelectedNodes',\n icon: 'pi pi-sitemap',\n label: 'Group Selected Nodes',\n versionAdded: '1.3.7',\n function: () => {\n if (\n !app.canvas.selected_nodes ||\n Object.keys(app.canvas.selected_nodes).length === 0\n ) {\n useToastStore().add({\n severity: 'error',\n summary: 'No nodes selected',\n detail: 'Please select nodes to group',\n life: 3000\n })\n return\n }\n const group = new LGraphGroup()\n const padding = useSettingStore().get(\n 'Comfy.GroupSelectedNodes.Padding'\n )\n group.addNodes(Object.values(app.canvas.selected_nodes), padding)\n app.canvas.graph.add(group)\n useTitleEditorStore().titleEditorTarget = group\n }\n },\n {\n id: 'Workspace.NextOpenedWorkflow',\n icon: 'pi pi-step-forward',\n label: 'Next Opened Workflow',\n versionAdded: '1.3.9',\n function: () => {\n useWorkflowStore().loadNextOpenedWorkflow()\n }\n },\n {\n id: 'Workspace.PreviousOpenedWorkflow',\n icon: 'pi pi-step-backward',\n label: 'Previous Opened Workflow',\n versionAdded: '1.3.9',\n function: () => {\n useWorkflowStore().loadPreviousOpenedWorkflow()\n }\n },\n {\n id: 'Comfy.Canvas.ToggleSelectedNodes.Mute',\n icon: 'pi pi-volume-off',\n label: 'Mute/Unmute Selected Nodes',\n versionAdded: '1.3.11',\n function: () => {\n toggleSelectedNodesMode(2) // muted\n }\n },\n {\n id: 'Comfy.Canvas.ToggleSelectedNodes.Bypass',\n icon: 'pi pi-shield',\n label: 'Bypass/Unbypass Selected Nodes',\n versionAdded: '1.3.11',\n function: () => {\n toggleSelectedNodesMode(4) // bypassed\n }\n },\n {\n id: 'Comfy.Canvas.ToggleSelectedNodes.Pin',\n icon: 'pi pi-pin',\n label: 'Pin/Unpin Selected Nodes',\n versionAdded: '1.3.11',\n function: () => {\n getSelectedNodes().forEach((node) => {\n node.pin(!node.pinned)\n })\n }\n },\n {\n id: 'Comfy.Canvas.ToggleSelectedNodes.Collapse',\n icon: 'pi pi-minus',\n label: 'Collapse/Expand Selected Nodes',\n versionAdded: '1.3.11',\n function: () => {\n getSelectedNodes().forEach((node) => {\n node.collapse()\n })\n }\n },\n {\n id: 'Comfy.ToggleTheme',\n icon: 'pi pi-moon',\n label: 'Toggle Theme',\n versionAdded: '1.3.12',\n function: (() => {\n let previousDarkTheme: string = 'dark'\n\n // Official light theme is the only light theme supported now.\n const isDarkMode = (themeId: string) => themeId !== 'light'\n return () => {\n const currentTheme = settingStore.get('Comfy.ColorPalette')\n if (isDarkMode(currentTheme)) {\n previousDarkTheme = currentTheme\n settingStore.set('Comfy.ColorPalette', 'light')\n } else {\n settingStore.set('Comfy.ColorPalette', previousDarkTheme)\n }\n }\n })()\n },\n {\n id: 'Workspace.ToggleBottomPanel',\n icon: 'pi pi-list',\n label: 'Toggle Bottom Panel',\n versionAdded: '1.3.22',\n function: () => {\n useBottomPanelStore().toggleBottomPanel()\n }\n },\n {\n id: 'Workspace.ToggleFocusMode',\n icon: 'pi pi-eye',\n label: 'Toggle Focus Mode',\n versionAdded: '1.3.27',\n function: () => {\n useWorkspaceStore().toggleFocusMode()\n }\n }\n ]\n\n commandDefinitions.forEach(registerCommand)\n const getCommand = (command: string) => {\n return commandsById.value[command]\n }\n\n const { wrapWithErrorHandlingAsync } = useErrorHandling()\n const execute = async (\n commandId: string,\n errorHandler?: (error: any) => void\n ) => {\n const command = getCommand(commandId)\n if (command) {\n await wrapWithErrorHandlingAsync(command.function, errorHandler)()\n } else {\n throw new Error(`Command ${commandId} not found`)\n }\n }\n\n const isRegistered = (command: string) => {\n return !!commandsById.value[command]\n }\n\n const loadExtensionCommands = (extension: ComfyExtension) => {\n if (extension.commands) {\n for (const command of extension.commands) {\n registerCommand(command)\n }\n }\n }\n\n return {\n commands,\n execute,\n getCommand,\n registerCommand,\n isRegistered,\n loadExtensionCommands\n }\n})\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-tree {\\n background: \".concat(dt('tree.background'), \";\\n color: \").concat(dt('tree.color'), \";\\n padding: \").concat(dt('tree.padding'), \";\\n}\\n\\n.p-tree-root-children,\\n.p-tree-node-children {\\n display: flex;\\n list-style-type: none;\\n flex-direction: column;\\n margin: 0;\\n gap: \").concat(dt('tree.gap'), \";\\n}\\n\\n.p-tree-root-children {\\n padding: \").concat(dt('tree.gap'), \" 0 0 0;\\n}\\n\\n.p-tree-node-children {\\n padding: \").concat(dt('tree.gap'), \" 0 0 \").concat(dt('tree.indent'), \";\\n}\\n\\n.p-tree-node {\\n padding: 0;\\n outline: 0 none;\\n}\\n\\n.p-tree-node-content {\\n border-radius: \").concat(dt('tree.node.border.radius'), \";\\n padding: \").concat(dt('tree.node.padding'), \";\\n display: flex;\\n align-items: center;\\n outline-color: transparent;\\n color: \").concat(dt('tree.node.color'), \";\\n gap: \").concat(dt('tree.node.gap'), \";\\n transition: background \").concat(dt('tree.transition.duration'), \", color \").concat(dt('tree.transition.duration'), \", outline-color \").concat(dt('tree.transition.duration'), \", box-shadow \").concat(dt('tree.transition.duration'), \";\\n}\\n\\n.p-tree-node:focus-visible > .p-tree-node-content {\\n box-shadow: \").concat(dt('tree.node.focus.ring.shadow'), \";\\n outline: \").concat(dt('tree.node.focus.ring.width'), \" \").concat(dt('tree.node.focus.ring.style'), \" \").concat(dt('tree.node.focus.ring.color'), \";\\n outline-offset: \").concat(dt('tree.node.focus.ring.offset'), \";\\n}\\n\\n.p-tree-node-content.p-tree-node-selectable:not(.p-tree-node-selected):hover {\\n background: \").concat(dt('tree.node.hover.background'), \";\\n color: \").concat(dt('tree.node.hover.color'), \";\\n}\\n\\n.p-tree-node-content.p-tree-node-selectable:not(.p-tree-node-selected):hover .p-tree-node-icon {\\n color: \").concat(dt('tree.node.icon.hover.color'), \";\\n}\\n\\n.p-tree-node-content.p-tree-node-selected {\\n background: \").concat(dt('tree.node.selected.background'), \";\\n color: \").concat(dt('tree.node.selected.color'), \";\\n}\\n\\n.p-tree-node-content.p-tree-node-selected .p-tree-node-toggle-button {\\n color: inherit;\\n}\\n\\n.p-tree-node-toggle-button {\\n cursor: pointer;\\n user-select: none;\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n overflow: hidden;\\n position: relative;\\n flex-shrink: 0;\\n width: \").concat(dt('tree.node.toggle.button.size'), \";\\n height: \").concat(dt('tree.node.toggle.button.size'), \";\\n color: \").concat(dt('tree.node.toggle.button.color'), \";\\n border: 0 none;\\n background: transparent;\\n border-radius: \").concat(dt('tree.node.toggle.button.border.radius'), \";\\n transition: background \").concat(dt('tree.transition.duration'), \", color \").concat(dt('tree.transition.duration'), \", border-color \").concat(dt('tree.transition.duration'), \", outline-color \").concat(dt('tree.transition.duration'), \", box-shadow \").concat(dt('tree.transition.duration'), \";\\n outline-color: transparent;\\n padding: 0;\\n}\\n\\n.p-tree-node-toggle-button:enabled:hover {\\n background: \").concat(dt('tree.node.toggle.button.hover.background'), \";\\n color: \").concat(dt('tree.node.toggle.button.hover.color'), \";\\n}\\n\\n.p-tree-node-content.p-tree-node-selected .p-tree-node-toggle-button:hover {\\n background: \").concat(dt('tree.node.toggle.button.selected.hover.background'), \";\\n color: \").concat(dt('tree.node.toggle.button.selected.hover.color'), \";\\n}\\n\\n.p-tree-root {\\n overflow: auto;\\n}\\n\\n.p-tree-node-selectable {\\n cursor: pointer;\\n user-select: none;\\n}\\n\\n.p-tree-node-leaf > .p-tree-node-content .p-tree-node-toggle-button {\\n visibility: hidden;\\n}\\n\\n.p-tree-node-icon {\\n color: \").concat(dt('tree.node.icon.color'), \";\\n transition: color \").concat(dt('tree.transition.duration'), \";\\n}\\n\\n.p-tree-node-content.p-tree-node-selected .p-tree-node-icon {\\n color: \").concat(dt('tree.node.icon.selected.color'), \";\\n}\\n\\n.p-tree-filter-input {\\n width: 100%;\\n}\\n\\n.p-tree-loading {\\n position: relative;\\n height: 100%;\\n}\\n\\n.p-tree-loading-icon {\\n font-size: \").concat(dt('tree.loading.icon.size'), \";\\n width: \").concat(dt('tree.loading.icon.size'), \";\\n height: \").concat(dt('tree.loading.icon.size'), \";\\n}\\n\\n.p-tree .p-tree-mask {\\n position: absolute;\\n z-index: 1;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n.p-tree-flex-scrollable {\\n display: flex;\\n flex: 1;\\n height: 100%;\\n flex-direction: column;\\n}\\n\\n.p-tree-flex-scrollable .p-tree-root {\\n flex: 1;\\n}\\n\");\n};\nvar classes = {\n root: function root(_ref2) {\n var props = _ref2.props;\n return ['p-tree p-component', {\n 'p-tree-selectable': props.selectionMode != null,\n 'p-tree-loading': props.loading,\n 'p-tree-flex-scrollable': props.scrollHeight === 'flex'\n }];\n },\n mask: 'p-tree-mask p-overlay-mask',\n loadingIcon: 'p-tree-loading-icon',\n pcFilterInput: 'p-tree-filter-input',\n wrapper: 'p-tree-root',\n //TODO: discuss\n rootChildren: 'p-tree-root-children',\n node: function node(_ref3) {\n var instance = _ref3.instance;\n return ['p-tree-node', {\n 'p-tree-node-leaf': instance.leaf\n }];\n },\n nodeContent: function nodeContent(_ref4) {\n var instance = _ref4.instance;\n return ['p-tree-node-content', instance.node.styleClass, {\n 'p-tree-node-selectable': instance.selectable,\n 'p-tree-node-selected': instance.checkboxMode && instance.$parentInstance.highlightOnSelect ? instance.checked : instance.selected\n }];\n },\n nodeToggleButton: 'p-tree-node-toggle-button',\n nodeToggleIcon: 'p-tree-node-toggle-icon',\n nodeCheckbox: 'p-tree-node-checkbox',\n nodeIcon: 'p-tree-node-icon',\n nodeLabel: 'p-tree-node-label',\n nodeChildren: 'p-tree-node-children'\n};\nvar TreeStyle = BaseStyle.extend({\n name: 'tree',\n theme: theme,\n classes: classes\n});\n\nexport { TreeStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'MinusIcon',\n \"extends\": BaseIcon\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _cache[0] || (_cache[0] = [createElementVNode(\"path\", {\n d: \"M13.2222 7.77778H0.777778C0.571498 7.77778 0.373667 7.69584 0.227806 7.54998C0.0819442 7.40412 0 7.20629 0 7.00001C0 6.79373 0.0819442 6.5959 0.227806 6.45003C0.373667 6.30417 0.571498 6.22223 0.777778 6.22223H13.2222C13.4285 6.22223 13.6263 6.30417 13.7722 6.45003C13.9181 6.5959 14 6.79373 14 7.00001C14 7.20629 13.9181 7.40412 13.7722 7.54998C13.6263 7.69584 13.4285 7.77778 13.2222 7.77778Z\",\n fill: \"currentColor\"\n }, null, -1)]), 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-checkbox {\\n position: relative;\\n display: inline-flex;\\n user-select: none;\\n vertical-align: bottom;\\n width: \".concat(dt('checkbox.width'), \";\\n height: \").concat(dt('checkbox.height'), \";\\n}\\n\\n.p-checkbox-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: \").concat(dt('checkbox.border.radius'), \";\\n}\\n\\n.p-checkbox-box {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n border-radius: \").concat(dt('checkbox.border.radius'), \";\\n border: 1px solid \").concat(dt('checkbox.border.color'), \";\\n background: \").concat(dt('checkbox.background'), \";\\n width: \").concat(dt('checkbox.width'), \";\\n height: \").concat(dt('checkbox.height'), \";\\n transition: background \").concat(dt('checkbox.transition.duration'), \", color \").concat(dt('checkbox.transition.duration'), \", border-color \").concat(dt('checkbox.transition.duration'), \", box-shadow \").concat(dt('checkbox.transition.duration'), \", outline-color \").concat(dt('checkbox.transition.duration'), \";\\n outline-color: transparent;\\n box-shadow: \").concat(dt('checkbox.shadow'), \";\\n}\\n\\n.p-checkbox-icon {\\n transition-duration: \").concat(dt('checkbox.transition.duration'), \";\\n color: \").concat(dt('checkbox.icon.color'), \";\\n font-size: \").concat(dt('checkbox.icon.size'), \";\\n width: \").concat(dt('checkbox.icon.size'), \";\\n height: \").concat(dt('checkbox.icon.size'), \";\\n}\\n\\n.p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {\\n border-color: \").concat(dt('checkbox.hover.border.color'), \";\\n}\\n\\n.p-checkbox-checked .p-checkbox-box {\\n border-color: \").concat(dt('checkbox.checked.border.color'), \";\\n background: \").concat(dt('checkbox.checked.background'), \";\\n}\\n\\n.p-checkbox-checked .p-checkbox-icon {\\n color: \").concat(dt('checkbox.icon.checked.color'), \";\\n}\\n\\n.p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {\\n background: \").concat(dt('checkbox.checked.hover.background'), \";\\n border-color: \").concat(dt('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(dt('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(dt('checkbox.focus.border.color'), \";\\n box-shadow: \").concat(dt('checkbox.focus.ring.shadow'), \";\\n outline: \").concat(dt('checkbox.focus.ring.width'), \" \").concat(dt('checkbox.focus.ring.style'), \" \").concat(dt('checkbox.focus.ring.color'), \";\\n outline-offset: \").concat(dt('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(dt('checkbox.checked.focus.border.color'), \";\\n}\\n\\n.p-checkbox.p-invalid > .p-checkbox-box {\\n border-color: \").concat(dt('checkbox.invalid.border.color'), \";\\n}\\n\\n.p-checkbox.p-variant-filled .p-checkbox-box {\\n background: \").concat(dt('checkbox.filled.background'), \";\\n}\\n\\n.p-checkbox-checked.p-variant-filled .p-checkbox-box {\\n background: \").concat(dt('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(dt('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(dt('checkbox.disabled.background'), \";\\n border-color: \").concat(dt('checkbox.checked.disabled.border.color'), \";\\n}\\n\\n.p-checkbox.p-disabled .p-checkbox-box .p-checkbox-icon {\\n color: \").concat(dt('checkbox.icon.disabled.color'), \";\\n}\\n\");\n};\nvar classes = {\n root: function root(_ref2) {\n var instance = _ref2.instance,\n props = _ref2.props;\n return ['p-checkbox p-component', {\n 'p-checkbox-checked': instance.checked,\n 'p-disabled': props.disabled,\n 'p-invalid': props.invalid,\n 'p-variant-filled': props.variant ? props.variant === 'filled' : instance.$primevue.config.inputStyle === 'filled' || instance.$primevue.config.inputVariant === 'filled'\n }];\n },\n box: 'p-checkbox-box',\n input: 'p-checkbox-input',\n icon: 'p-checkbox-icon'\n};\nvar CheckboxStyle = BaseStyle.extend({\n name: 'checkbox',\n theme: theme,\n classes: classes\n});\n\nexport { CheckboxStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { equals, contains } from '@primeuix/utils/object';\nimport CheckIcon from '@primevue/icons/check';\nimport MinusIcon from '@primevue/icons/minus';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport CheckboxStyle from 'primevue/checkbox/style';\nimport { resolveComponent, openBlock, createElementBlock, mergeProps, createElementVNode, renderSlot, normalizeClass, createBlock, createCommentVNode } from 'vue';\n\nvar script$1 = {\n name: 'BaseCheckbox',\n \"extends\": BaseComponent,\n props: {\n value: null,\n modelValue: null,\n binary: Boolean,\n name: {\n type: String,\n \"default\": null\n },\n indeterminate: {\n type: Boolean,\n \"default\": false\n },\n trueValue: {\n type: null,\n \"default\": true\n },\n falseValue: {\n type: null,\n \"default\": false\n },\n variant: {\n type: String,\n \"default\": null\n },\n invalid: {\n type: Boolean,\n \"default\": false\n },\n disabled: {\n type: Boolean,\n \"default\": false\n },\n readonly: {\n type: Boolean,\n \"default\": false\n },\n required: {\n type: Boolean,\n \"default\": false\n },\n tabindex: {\n type: Number,\n \"default\": null\n },\n inputId: {\n type: String,\n \"default\": null\n },\n inputClass: {\n type: [String, Object],\n \"default\": null\n },\n inputStyle: {\n type: Object,\n \"default\": null\n },\n ariaLabelledby: {\n type: String,\n \"default\": null\n },\n ariaLabel: {\n type: String,\n \"default\": null\n }\n },\n style: CheckboxStyle,\n provide: function provide() {\n return {\n $pcCheckbox: this,\n $parentInstance: this\n };\n }\n};\n\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _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.\"); }\nfunction _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; } }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _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; }\nvar script = {\n name: 'Checkbox',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['update:modelValue', 'change', 'focus', 'blur', 'update:indeterminate'],\n data: function data() {\n return {\n d_indeterminate: this.indeterminate\n };\n },\n watch: {\n indeterminate: function indeterminate(newValue) {\n this.d_indeterminate = newValue;\n }\n },\n methods: {\n getPTOptions: function getPTOptions(key) {\n var _ptm = key === 'root' ? this.ptmi : this.ptm;\n return _ptm(key, {\n context: {\n checked: this.checked,\n indeterminate: this.d_indeterminate,\n disabled: this.disabled\n }\n });\n },\n onChange: function onChange(event) {\n var _this = this;\n if (!this.disabled && !this.readonly) {\n var newModelValue;\n if (this.binary) {\n newModelValue = this.d_indeterminate ? this.trueValue : this.checked ? this.falseValue : this.trueValue;\n } else {\n if (this.checked || this.d_indeterminate) newModelValue = this.modelValue.filter(function (val) {\n return !equals(val, _this.value);\n });else newModelValue = this.modelValue ? [].concat(_toConsumableArray(this.modelValue), [this.value]) : [this.value];\n }\n if (this.d_indeterminate) {\n this.d_indeterminate = false;\n this.$emit('update:indeterminate', this.d_indeterminate);\n }\n this.$emit('update:modelValue', newModelValue);\n this.$emit('change', event);\n }\n },\n onFocus: function onFocus(event) {\n this.$emit('focus', event);\n },\n onBlur: function onBlur(event) {\n this.$emit('blur', event);\n }\n },\n computed: {\n checked: function checked() {\n return this.d_indeterminate ? false : this.binary ? this.modelValue === this.trueValue : contains(this.value, this.modelValue);\n }\n },\n components: {\n CheckIcon: CheckIcon,\n MinusIcon: MinusIcon\n }\n};\n\nvar _hoisted_1 = [\"data-p-checked\", \"data-p-indeterminate\", \"data-p-disabled\"];\nvar _hoisted_2 = [\"id\", \"value\", \"name\", \"checked\", \"tabindex\", \"disabled\", \"readonly\", \"required\", \"aria-labelledby\", \"aria-label\", \"aria-invalid\", \"aria-checked\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_CheckIcon = resolveComponent(\"CheckIcon\");\n var _component_MinusIcon = resolveComponent(\"MinusIcon\");\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root')\n }, $options.getPTOptions('root'), {\n \"data-p-checked\": $options.checked,\n \"data-p-indeterminate\": $data.d_indeterminate || undefined,\n \"data-p-disabled\": _ctx.disabled\n }), [createElementVNode(\"input\", mergeProps({\n id: _ctx.inputId,\n type: \"checkbox\",\n \"class\": [_ctx.cx('input'), _ctx.inputClass],\n style: _ctx.inputStyle,\n value: _ctx.value,\n name: _ctx.name,\n checked: $options.checked,\n tabindex: _ctx.tabindex,\n disabled: _ctx.disabled,\n readonly: _ctx.readonly,\n required: _ctx.required,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-label\": _ctx.ariaLabel,\n \"aria-invalid\": _ctx.invalid || undefined,\n \"aria-checked\": $data.d_indeterminate ? 'mixed' : undefined,\n onFocus: _cache[0] || (_cache[0] = function () {\n return $options.onFocus && $options.onFocus.apply($options, arguments);\n }),\n onBlur: _cache[1] || (_cache[1] = function () {\n return $options.onBlur && $options.onBlur.apply($options, arguments);\n }),\n onChange: _cache[2] || (_cache[2] = function () {\n return $options.onChange && $options.onChange.apply($options, arguments);\n })\n }, $options.getPTOptions('input')), null, 16, _hoisted_2), createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('box')\n }, $options.getPTOptions('box')), [renderSlot(_ctx.$slots, \"icon\", {\n checked: $options.checked,\n indeterminate: $data.d_indeterminate,\n \"class\": normalizeClass(_ctx.cx('icon'))\n }, function () {\n return [$options.checked ? (openBlock(), createBlock(_component_CheckIcon, mergeProps({\n key: 0,\n \"class\": _ctx.cx('icon')\n }, $options.getPTOptions('icon')), null, 16, [\"class\"])) : $data.d_indeterminate ? (openBlock(), createBlock(_component_MinusIcon, mergeProps({\n key: 1,\n \"class\": _ctx.cx('icon')\n }, $options.getPTOptions('icon')), null, 16, [\"class\"])) : createCommentVNode(\"\", true)];\n })], 16)], 16, _hoisted_1);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import { resolveFieldData, isFunction } from '@primeuix/utils/object';\nimport SearchIcon from '@primevue/icons/search';\nimport SpinnerIcon from '@primevue/icons/spinner';\nimport IconField from 'primevue/iconfield';\nimport InputIcon from 'primevue/inputicon';\nimport InputText from 'primevue/inputtext';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport TreeStyle from 'primevue/tree/style';\nimport { getAttribute, findSingle, find } from '@primeuix/utils/dom';\nimport CheckIcon from '@primevue/icons/check';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport ChevronRightIcon from '@primevue/icons/chevronright';\nimport MinusIcon from '@primevue/icons/minus';\nimport Checkbox from 'primevue/checkbox';\nimport Ripple from 'primevue/ripple';\nimport { resolveComponent, resolveDirective, openBlock, createElementBlock, mergeProps, createElementVNode, withDirectives, Fragment, createBlock, resolveDynamicComponent, normalizeClass, withCtx, createCommentVNode, withModifiers, createTextVNode, toDisplayString, renderList, renderSlot, createVNode } from 'vue';\n\nvar script$2 = {\n name: 'BaseTree',\n \"extends\": BaseComponent,\n props: {\n value: {\n type: null,\n \"default\": null\n },\n expandedKeys: {\n type: null,\n \"default\": null\n },\n selectionKeys: {\n type: null,\n \"default\": null\n },\n selectionMode: {\n type: String,\n \"default\": null\n },\n metaKeySelection: {\n type: Boolean,\n \"default\": false\n },\n loading: {\n type: Boolean,\n \"default\": false\n },\n loadingIcon: {\n type: String,\n \"default\": undefined\n },\n loadingMode: {\n type: String,\n \"default\": 'mask'\n },\n filter: {\n type: Boolean,\n \"default\": false\n },\n filterBy: {\n type: [String, Function],\n \"default\": 'label'\n },\n filterMode: {\n type: String,\n \"default\": 'lenient'\n },\n filterPlaceholder: {\n type: String,\n \"default\": null\n },\n filterLocale: {\n type: String,\n \"default\": undefined\n },\n highlightOnSelect: {\n type: Boolean,\n \"default\": false\n },\n scrollHeight: {\n type: String,\n \"default\": null\n },\n level: {\n type: Number,\n \"default\": 0\n },\n ariaLabelledby: {\n type: String,\n \"default\": null\n },\n ariaLabel: {\n type: String,\n \"default\": null\n }\n },\n style: TreeStyle,\n provide: function provide() {\n return {\n $pcTree: this,\n $parentInstance: this\n };\n }\n};\n\nfunction _typeof$1(o) { \"@babel/helpers - typeof\"; return _typeof$1 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof$1(o); }\nfunction _createForOfIteratorHelper$1(r, e) { var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$1(r)) || e) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, 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 = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t[\"return\"] || t[\"return\"](); } finally { if (u) throw o; } } }; }\nfunction ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty$1(e, r, t) { return (r = _toPropertyKey$1(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey$1(t) { var i = _toPrimitive$1(t, \"string\"); return \"symbol\" == _typeof$1(i) ? i : i + \"\"; }\nfunction _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); }\nfunction _toConsumableArray$1(r) { return _arrayWithoutHoles$1(r) || _iterableToArray$1(r) || _unsupportedIterableToArray$1(r) || _nonIterableSpread$1(); }\nfunction _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.\"); }\nfunction _unsupportedIterableToArray$1(r, a) { if (r) { 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$1(r, a) : void 0; } }\nfunction _iterableToArray$1(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles$1(r) { if (Array.isArray(r)) return _arrayLikeToArray$1(r); }\nfunction _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; }\nvar script$1 = {\n name: 'TreeNode',\n hostName: 'Tree',\n \"extends\": BaseComponent,\n emits: ['node-toggle', 'node-click', 'checkbox-change'],\n props: {\n node: {\n type: null,\n \"default\": null\n },\n expandedKeys: {\n type: null,\n \"default\": null\n },\n loadingMode: {\n type: String,\n \"default\": 'mask'\n },\n selectionKeys: {\n type: null,\n \"default\": null\n },\n selectionMode: {\n type: String,\n \"default\": null\n },\n templates: {\n type: null,\n \"default\": null\n },\n level: {\n type: Number,\n \"default\": null\n },\n index: null\n },\n nodeTouched: false,\n toggleClicked: false,\n mounted: function mounted() {\n this.setAllNodesTabIndexes();\n },\n methods: {\n toggle: function toggle() {\n this.$emit('node-toggle', this.node);\n this.toggleClicked = true;\n },\n label: function label(node) {\n return typeof node.label === 'function' ? node.label() : node.label;\n },\n onChildNodeToggle: function onChildNodeToggle(node) {\n this.$emit('node-toggle', node);\n },\n getPTOptions: function getPTOptions(key) {\n return this.ptm(key, {\n context: {\n node: this.node,\n index: this.index,\n expanded: this.expanded,\n selected: this.selected,\n checked: this.checked,\n partialChecked: this.partialChecked,\n leaf: this.leaf\n }\n });\n },\n onClick: function onClick(event) {\n if (this.toggleClicked || getAttribute(event.target, '[data-pc-section=\"nodetogglebutton\"]') || getAttribute(event.target.parentElement, '[data-pc-section=\"nodetogglebutton\"]')) {\n this.toggleClicked = false;\n return;\n }\n if (this.isCheckboxSelectionMode()) {\n if (this.node.selectable != false) {\n this.toggleCheckbox();\n }\n } else {\n this.$emit('node-click', {\n originalEvent: event,\n nodeTouched: this.nodeTouched,\n node: this.node\n });\n }\n this.nodeTouched = false;\n },\n onChildNodeClick: function onChildNodeClick(event) {\n this.$emit('node-click', event);\n },\n onTouchEnd: function onTouchEnd() {\n this.nodeTouched = true;\n },\n onKeyDown: function onKeyDown(event) {\n if (!this.isSameNode(event)) return;\n switch (event.code) {\n case 'Tab':\n this.onTabKey(event);\n break;\n case 'ArrowDown':\n this.onArrowDown(event);\n break;\n case 'ArrowUp':\n this.onArrowUp(event);\n break;\n case 'ArrowRight':\n this.onArrowRight(event);\n break;\n case 'ArrowLeft':\n this.onArrowLeft(event);\n break;\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n this.onEnterKey(event);\n break;\n }\n },\n onArrowDown: function onArrowDown(event) {\n var nodeElement = event.target.getAttribute('data-pc-section') === 'nodetogglebutton' ? event.target.closest('[role=\"treeitem\"]') : event.target;\n var listElement = nodeElement.children[1];\n if (listElement) {\n this.focusRowChange(nodeElement, listElement.children[0]);\n } else {\n if (nodeElement.nextElementSibling) {\n this.focusRowChange(nodeElement, nodeElement.nextElementSibling);\n } else {\n var nextSiblingAncestor = this.findNextSiblingOfAncestor(nodeElement);\n if (nextSiblingAncestor) {\n this.focusRowChange(nodeElement, nextSiblingAncestor);\n }\n }\n }\n event.preventDefault();\n },\n onArrowUp: function onArrowUp(event) {\n var nodeElement = event.target;\n if (nodeElement.previousElementSibling) {\n this.focusRowChange(nodeElement, nodeElement.previousElementSibling, this.findLastVisibleDescendant(nodeElement.previousElementSibling));\n } else {\n var parentNodeElement = this.getParentNodeElement(nodeElement);\n if (parentNodeElement) {\n this.focusRowChange(nodeElement, parentNodeElement);\n }\n }\n event.preventDefault();\n },\n onArrowRight: function onArrowRight(event) {\n var _this = this;\n if (this.leaf || this.expanded) return;\n event.currentTarget.tabIndex = -1;\n this.$emit('node-toggle', this.node);\n this.$nextTick(function () {\n _this.onArrowDown(event);\n });\n },\n onArrowLeft: function onArrowLeft(event) {\n var togglerElement = findSingle(event.currentTarget, '[data-pc-section=\"nodetogglebutton\"]');\n if (this.level === 0 && !this.expanded) {\n return false;\n }\n if (this.expanded && !this.leaf) {\n togglerElement.click();\n return false;\n }\n var target = this.findBeforeClickableNode(event.currentTarget);\n if (target) {\n this.focusRowChange(event.currentTarget, target);\n }\n },\n onEnterKey: function onEnterKey(event) {\n this.setTabIndexForSelectionMode(event, this.nodeTouched);\n this.onClick(event);\n event.preventDefault();\n },\n onTabKey: function onTabKey() {\n this.setAllNodesTabIndexes();\n },\n setAllNodesTabIndexes: function setAllNodesTabIndexes() {\n var nodes = find(this.$refs.currentNode.closest('[data-pc-section=\"rootchildren\"]'), '[role=\"treeitem\"]');\n var hasSelectedNode = _toConsumableArray$1(nodes).some(function (node) {\n return node.getAttribute('aria-selected') === 'true' || node.getAttribute('aria-checked') === 'true';\n });\n _toConsumableArray$1(nodes).forEach(function (node) {\n node.tabIndex = -1;\n });\n if (hasSelectedNode) {\n var selectedNodes = _toConsumableArray$1(nodes).filter(function (node) {\n return node.getAttribute('aria-selected') === 'true' || node.getAttribute('aria-checked') === 'true';\n });\n selectedNodes[0].tabIndex = 0;\n return;\n }\n _toConsumableArray$1(nodes)[0].tabIndex = 0;\n },\n setTabIndexForSelectionMode: function setTabIndexForSelectionMode(event, nodeTouched) {\n if (this.selectionMode !== null) {\n var elements = _toConsumableArray$1(find(this.$refs.currentNode.parentElement, '[role=\"treeitem\"]'));\n event.currentTarget.tabIndex = nodeTouched === false ? -1 : 0;\n if (elements.every(function (element) {\n return element.tabIndex === -1;\n })) {\n elements[0].tabIndex = 0;\n }\n }\n },\n focusRowChange: function focusRowChange(firstFocusableRow, currentFocusedRow, lastVisibleDescendant) {\n firstFocusableRow.tabIndex = '-1';\n currentFocusedRow.tabIndex = '0';\n this.focusNode(lastVisibleDescendant || currentFocusedRow);\n },\n findBeforeClickableNode: function findBeforeClickableNode(node) {\n var parentListElement = node.closest('ul').closest('li');\n if (parentListElement) {\n var prevNodeButton = findSingle(parentListElement, 'button');\n if (prevNodeButton && prevNodeButton.style.visibility !== 'hidden') {\n return parentListElement;\n }\n return this.findBeforeClickableNode(node.previousElementSibling);\n }\n return null;\n },\n toggleCheckbox: function toggleCheckbox() {\n var _selectionKeys = this.selectionKeys ? _objectSpread$1({}, this.selectionKeys) : {};\n var _check = !this.checked;\n this.propagateDown(this.node, _check, _selectionKeys);\n this.$emit('checkbox-change', {\n node: this.node,\n check: _check,\n selectionKeys: _selectionKeys\n });\n },\n propagateDown: function propagateDown(node, check, selectionKeys) {\n if (check && node.selectable != false) selectionKeys[node.key] = {\n checked: true,\n partialChecked: false\n };else delete selectionKeys[node.key];\n if (node.children && node.children.length) {\n var _iterator = _createForOfIteratorHelper$1(node.children),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var child = _step.value;\n this.propagateDown(child, check, selectionKeys);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n },\n propagateUp: function propagateUp(event) {\n var check = event.check;\n var _selectionKeys = _objectSpread$1({}, event.selectionKeys);\n var checkedChildCount = 0;\n var childPartialSelected = false;\n var _iterator2 = _createForOfIteratorHelper$1(this.node.children),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var child = _step2.value;\n if (_selectionKeys[child.key] && _selectionKeys[child.key].checked) checkedChildCount++;else if (_selectionKeys[child.key] && _selectionKeys[child.key].partialChecked) childPartialSelected = true;\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n if (check && checkedChildCount === this.node.children.length) {\n _selectionKeys[this.node.key] = {\n checked: true,\n partialChecked: false\n };\n } else {\n if (!check) {\n delete _selectionKeys[this.node.key];\n }\n if (childPartialSelected || checkedChildCount > 0 && checkedChildCount !== this.node.children.length) _selectionKeys[this.node.key] = {\n checked: false,\n partialChecked: true\n };else delete _selectionKeys[this.node.key];\n }\n this.$emit('checkbox-change', {\n node: event.node,\n check: event.check,\n selectionKeys: _selectionKeys\n });\n },\n onChildCheckboxChange: function onChildCheckboxChange(event) {\n this.$emit('checkbox-change', event);\n },\n findNextSiblingOfAncestor: function findNextSiblingOfAncestor(nodeElement) {\n var parentNodeElement = this.getParentNodeElement(nodeElement);\n if (parentNodeElement) {\n if (parentNodeElement.nextElementSibling) return parentNodeElement.nextElementSibling;else return this.findNextSiblingOfAncestor(parentNodeElement);\n } else {\n return null;\n }\n },\n findLastVisibleDescendant: function findLastVisibleDescendant(nodeElement) {\n var childrenListElement = nodeElement.children[1];\n if (childrenListElement) {\n var lastChildElement = childrenListElement.children[childrenListElement.children.length - 1];\n return this.findLastVisibleDescendant(lastChildElement);\n } else {\n return nodeElement;\n }\n },\n getParentNodeElement: function getParentNodeElement(nodeElement) {\n var parentNodeElement = nodeElement.parentElement.parentElement;\n return getAttribute(parentNodeElement, 'role') === 'treeitem' ? parentNodeElement : null;\n },\n focusNode: function focusNode(element) {\n element.focus();\n },\n isCheckboxSelectionMode: function isCheckboxSelectionMode() {\n return this.selectionMode === 'checkbox';\n },\n isSameNode: function isSameNode(event) {\n return event.currentTarget && (event.currentTarget.isSameNode(event.target) || event.currentTarget.isSameNode(event.target.closest('[role=\"treeitem\"]')));\n }\n },\n computed: {\n hasChildren: function hasChildren() {\n return this.node.children && this.node.children.length > 0;\n },\n expanded: function expanded() {\n return this.expandedKeys && this.expandedKeys[this.node.key] === true;\n },\n leaf: function leaf() {\n return this.node.leaf === false ? false : !(this.node.children && this.node.children.length);\n },\n selectable: function selectable() {\n return this.node.selectable === false ? false : this.selectionMode != null;\n },\n selected: function selected() {\n return this.selectionMode && this.selectionKeys ? this.selectionKeys[this.node.key] === true : false;\n },\n checkboxMode: function checkboxMode() {\n return this.selectionMode === 'checkbox' && this.node.selectable !== false;\n },\n checked: function checked() {\n return this.selectionKeys ? this.selectionKeys[this.node.key] && this.selectionKeys[this.node.key].checked : false;\n },\n partialChecked: function partialChecked() {\n return this.selectionKeys ? this.selectionKeys[this.node.key] && this.selectionKeys[this.node.key].partialChecked : false;\n },\n ariaChecked: function ariaChecked() {\n return this.selectionMode === 'single' || this.selectionMode === 'multiple' ? this.selected : undefined;\n },\n ariaSelected: function ariaSelected() {\n return this.checkboxMode ? this.checked : undefined;\n }\n },\n components: {\n Checkbox: Checkbox,\n ChevronDownIcon: ChevronDownIcon,\n ChevronRightIcon: ChevronRightIcon,\n CheckIcon: CheckIcon,\n MinusIcon: MinusIcon,\n SpinnerIcon: SpinnerIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n\nvar _hoisted_1$1 = [\"aria-label\", \"aria-selected\", \"aria-expanded\", \"aria-setsize\", \"aria-posinset\", \"aria-level\", \"aria-checked\", \"tabindex\"];\nvar _hoisted_2 = [\"data-p-selected\", \"data-p-selectable\"];\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_SpinnerIcon = resolveComponent(\"SpinnerIcon\");\n var _component_Checkbox = resolveComponent(\"Checkbox\");\n var _component_TreeNode = resolveComponent(\"TreeNode\", true);\n var _directive_ripple = resolveDirective(\"ripple\");\n return openBlock(), createElementBlock(\"li\", mergeProps({\n ref: \"currentNode\",\n \"class\": _ctx.cx('node'),\n role: \"treeitem\",\n \"aria-label\": $options.label($props.node),\n \"aria-selected\": $options.ariaSelected,\n \"aria-expanded\": $options.expanded,\n \"aria-setsize\": $props.node.children ? $props.node.children.length : 0,\n \"aria-posinset\": $props.index + 1,\n \"aria-level\": $props.level,\n \"aria-checked\": $options.ariaChecked,\n tabindex: $props.index === 0 ? 0 : -1,\n onKeydown: _cache[4] || (_cache[4] = function () {\n return $options.onKeyDown && $options.onKeyDown.apply($options, arguments);\n })\n }, $props.level === 1 ? $options.getPTOptions('node') : _ctx.ptm('nodeChildren')), [createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('nodeContent'),\n onClick: _cache[2] || (_cache[2] = function () {\n return $options.onClick && $options.onClick.apply($options, arguments);\n }),\n onTouchend: _cache[3] || (_cache[3] = function () {\n return $options.onTouchEnd && $options.onTouchEnd.apply($options, arguments);\n }),\n style: $props.node.style\n }, $options.getPTOptions('nodeContent'), {\n \"data-p-selected\": $options.checkboxMode ? $options.checked : $options.selected,\n \"data-p-selectable\": $options.selectable\n }), [withDirectives((openBlock(), createElementBlock(\"button\", mergeProps({\n type: \"button\",\n \"class\": _ctx.cx('nodeToggleButton'),\n onClick: _cache[0] || (_cache[0] = function () {\n return $options.toggle && $options.toggle.apply($options, arguments);\n }),\n tabindex: \"-1\"\n }, $options.getPTOptions('nodeToggleButton')), [$props.node.loading && $props.loadingMode === 'icon' ? (openBlock(), createElementBlock(Fragment, {\n key: 0\n }, [$props.templates['nodetoggleicon'] || $props.templates['nodetogglericon'] ? (openBlock(), createBlock(resolveDynamicComponent($props.templates['nodetoggleicon'] || $props.templates['nodetogglericon']), {\n key: 0,\n node: $props.node,\n expanded: $options.expanded,\n \"class\": normalizeClass(_ctx.cx('nodeToggleIcon'))\n }, null, 8, [\"node\", \"expanded\", \"class\"])) : (openBlock(), createBlock(_component_SpinnerIcon, mergeProps({\n key: 1,\n spin: \"\",\n \"class\": _ctx.cx('nodeToggleIcon')\n }, $options.getPTOptions('nodeToggleIcon')), null, 16, [\"class\"]))], 64)) : (openBlock(), createElementBlock(Fragment, {\n key: 1\n }, [$props.templates['nodetoggleicon'] || $props.templates['togglericon'] ? (openBlock(), createBlock(resolveDynamicComponent($props.templates['nodetoggleicon'] || $props.templates['togglericon']), {\n key: 0,\n node: $props.node,\n expanded: $options.expanded,\n \"class\": normalizeClass(_ctx.cx('nodeToggleIcon'))\n }, null, 8, [\"node\", \"expanded\", \"class\"])) : $options.expanded ? (openBlock(), createBlock(resolveDynamicComponent($props.node.expandedIcon ? 'span' : 'ChevronDownIcon'), mergeProps({\n key: 1,\n \"class\": _ctx.cx('nodeToggleIcon')\n }, $options.getPTOptions('nodeToggleIcon')), null, 16, [\"class\"])) : (openBlock(), createBlock(resolveDynamicComponent($props.node.collapsedIcon ? 'span' : 'ChevronRightIcon'), mergeProps({\n key: 2,\n \"class\": _ctx.cx('nodeToggleIcon')\n }, $options.getPTOptions('nodeToggleIcon')), null, 16, [\"class\"]))], 64))], 16)), [[_directive_ripple]]), $options.checkboxMode ? (openBlock(), createBlock(_component_Checkbox, {\n key: 0,\n modelValue: $options.checked,\n binary: true,\n indeterminate: $options.partialChecked,\n \"class\": normalizeClass(_ctx.cx('nodeCheckbox')),\n tabindex: -1,\n unstyled: _ctx.unstyled,\n pt: $options.getPTOptions('pcNodeCheckbox'),\n \"data-p-partialchecked\": $options.partialChecked\n }, {\n icon: withCtx(function (slotProps) {\n return [$props.templates['checkboxicon'] ? (openBlock(), createBlock(resolveDynamicComponent($props.templates['checkboxicon']), {\n key: 0,\n checked: slotProps.checked,\n partialChecked: $options.partialChecked,\n \"class\": normalizeClass(slotProps[\"class\"])\n }, null, 8, [\"checked\", \"partialChecked\", \"class\"])) : createCommentVNode(\"\", true)];\n }),\n _: 1\n }, 8, [\"modelValue\", \"indeterminate\", \"class\", \"unstyled\", \"pt\", \"data-p-partialchecked\"])) : createCommentVNode(\"\", true), $props.templates['nodeicon'] ? (openBlock(), createBlock(resolveDynamicComponent($props.templates['nodeicon']), mergeProps({\n key: 1,\n node: $props.node,\n \"class\": [_ctx.cx('nodeIcon')]\n }, $options.getPTOptions('nodeIcon')), null, 16, [\"node\", \"class\"])) : (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 2,\n \"class\": [_ctx.cx('nodeIcon'), $props.node.icon]\n }, $options.getPTOptions('nodeIcon')), null, 16)), createElementVNode(\"span\", mergeProps({\n \"class\": _ctx.cx('nodeLabel')\n }, $options.getPTOptions('nodeLabel'), {\n onKeydown: _cache[1] || (_cache[1] = withModifiers(function () {}, [\"stop\"]))\n }), [$props.templates[$props.node.type] || $props.templates['default'] ? (openBlock(), createBlock(resolveDynamicComponent($props.templates[$props.node.type] || $props.templates['default']), {\n key: 0,\n node: $props.node,\n expanded: $options.expanded,\n selected: $options.checkboxMode ? $options.checked : $options.selected\n }, null, 8, [\"node\", \"expanded\", \"selected\"])) : (openBlock(), createElementBlock(Fragment, {\n key: 1\n }, [createTextVNode(toDisplayString($options.label($props.node)), 1)], 64))], 16)], 16, _hoisted_2), $options.hasChildren && $options.expanded ? (openBlock(), createElementBlock(\"ul\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('nodeChildren'),\n role: \"group\"\n }, _ctx.ptm('nodeChildren')), [(openBlock(true), createElementBlock(Fragment, null, renderList($props.node.children, function (childNode) {\n return openBlock(), createBlock(_component_TreeNode, {\n key: childNode.key,\n node: childNode,\n templates: $props.templates,\n level: $props.level + 1,\n loadingMode: $props.loadingMode,\n expandedKeys: $props.expandedKeys,\n onNodeToggle: $options.onChildNodeToggle,\n onNodeClick: $options.onChildNodeClick,\n selectionMode: $props.selectionMode,\n selectionKeys: $props.selectionKeys,\n onCheckboxChange: $options.propagateUp,\n unstyled: _ctx.unstyled,\n pt: _ctx.pt\n }, null, 8, [\"node\", \"templates\", \"level\", \"loadingMode\", \"expandedKeys\", \"onNodeToggle\", \"onNodeClick\", \"selectionMode\", \"selectionKeys\", \"onCheckboxChange\", \"unstyled\", \"pt\"]);\n }), 128))], 16)) : createCommentVNode(\"\", true)], 16, _hoisted_1$1);\n}\n\nscript$1.render = render$1;\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _createForOfIteratorHelper(r, e) { var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, 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 = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t[\"return\"] || t[\"return\"](); } finally { if (u) throw o; } } }; }\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _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.\"); }\nfunction _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; } }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _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; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _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); }\nvar script = {\n name: 'Tree',\n \"extends\": script$2,\n inheritAttrs: false,\n emits: ['node-expand', 'node-collapse', 'update:expandedKeys', 'update:selectionKeys', 'node-select', 'node-unselect', 'filter'],\n data: function data() {\n return {\n d_expandedKeys: this.expandedKeys || {},\n filterValue: null\n };\n },\n watch: {\n expandedKeys: function expandedKeys(newValue) {\n this.d_expandedKeys = newValue;\n }\n },\n methods: {\n onNodeToggle: function onNodeToggle(node) {\n var key = node.key;\n if (this.d_expandedKeys[key]) {\n delete this.d_expandedKeys[key];\n this.$emit('node-collapse', node);\n } else {\n this.d_expandedKeys[key] = true;\n this.$emit('node-expand', node);\n }\n this.d_expandedKeys = _objectSpread({}, this.d_expandedKeys);\n this.$emit('update:expandedKeys', this.d_expandedKeys);\n },\n onNodeClick: function onNodeClick(event) {\n if (this.selectionMode != null && event.node.selectable !== false) {\n var metaSelection = event.nodeTouched ? false : this.metaKeySelection;\n var _selectionKeys = metaSelection ? this.handleSelectionWithMetaKey(event) : this.handleSelectionWithoutMetaKey(event);\n this.$emit('update:selectionKeys', _selectionKeys);\n }\n },\n onCheckboxChange: function onCheckboxChange(event) {\n this.$emit('update:selectionKeys', event.selectionKeys);\n if (event.check) this.$emit('node-select', event.node);else this.$emit('node-unselect', event.node);\n },\n handleSelectionWithMetaKey: function handleSelectionWithMetaKey(event) {\n var originalEvent = event.originalEvent;\n var node = event.node;\n var metaKey = originalEvent.metaKey || originalEvent.ctrlKey;\n var selected = this.isNodeSelected(node);\n var _selectionKeys;\n if (selected && metaKey) {\n if (this.isSingleSelectionMode()) {\n _selectionKeys = {};\n } else {\n _selectionKeys = _objectSpread({}, this.selectionKeys);\n delete _selectionKeys[node.key];\n }\n this.$emit('node-unselect', node);\n } else {\n if (this.isSingleSelectionMode()) {\n _selectionKeys = {};\n } else if (this.isMultipleSelectionMode()) {\n _selectionKeys = !metaKey ? {} : this.selectionKeys ? _objectSpread({}, this.selectionKeys) : {};\n }\n _selectionKeys[node.key] = true;\n this.$emit('node-select', node);\n }\n return _selectionKeys;\n },\n handleSelectionWithoutMetaKey: function handleSelectionWithoutMetaKey(event) {\n var node = event.node;\n var selected = this.isNodeSelected(node);\n var _selectionKeys;\n if (this.isSingleSelectionMode()) {\n if (selected) {\n _selectionKeys = {};\n this.$emit('node-unselect', node);\n } else {\n _selectionKeys = {};\n _selectionKeys[node.key] = true;\n this.$emit('node-select', node);\n }\n } else {\n if (selected) {\n _selectionKeys = _objectSpread({}, this.selectionKeys);\n delete _selectionKeys[node.key];\n this.$emit('node-unselect', node);\n } else {\n _selectionKeys = this.selectionKeys ? _objectSpread({}, this.selectionKeys) : {};\n _selectionKeys[node.key] = true;\n this.$emit('node-select', node);\n }\n }\n return _selectionKeys;\n },\n isSingleSelectionMode: function isSingleSelectionMode() {\n return this.selectionMode === 'single';\n },\n isMultipleSelectionMode: function isMultipleSelectionMode() {\n return this.selectionMode === 'multiple';\n },\n isNodeSelected: function isNodeSelected(node) {\n return this.selectionMode && this.selectionKeys ? this.selectionKeys[node.key] === true : false;\n },\n isChecked: function isChecked(node) {\n return this.selectionKeys ? this.selectionKeys[node.key] && this.selectionKeys[node.key].checked : false;\n },\n isNodeLeaf: function isNodeLeaf(node) {\n return node.leaf === false ? false : !(node.children && node.children.length);\n },\n onFilterKeydown: function onFilterKeydown(event) {\n if (event.code === 'Enter' || event.code === 'NumpadEnter') {\n event.preventDefault();\n }\n this.$emit('filter', {\n originalEvent: event,\n value: event.target.value\n });\n },\n findFilteredNodes: function findFilteredNodes(node, paramsWithoutNode) {\n if (node) {\n var matched = false;\n if (node.children) {\n var childNodes = _toConsumableArray(node.children);\n node.children = [];\n var _iterator = _createForOfIteratorHelper(childNodes),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var childNode = _step.value;\n var copyChildNode = _objectSpread({}, childNode);\n if (this.isFilterMatched(copyChildNode, paramsWithoutNode)) {\n matched = true;\n node.children.push(copyChildNode);\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n if (matched) {\n return true;\n }\n }\n },\n isFilterMatched: function isFilterMatched(node, _ref) {\n var searchFields = _ref.searchFields,\n filterText = _ref.filterText,\n strict = _ref.strict;\n var matched = false;\n var _iterator2 = _createForOfIteratorHelper(searchFields),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var field = _step2.value;\n var fieldValue = String(resolveFieldData(node, field)).toLocaleLowerCase(this.filterLocale);\n if (fieldValue.indexOf(filterText) > -1) {\n matched = true;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n if (!matched || strict && !this.isNodeLeaf(node)) {\n matched = this.findFilteredNodes(node, {\n searchFields: searchFields,\n filterText: filterText,\n strict: strict\n }) || matched;\n }\n return matched;\n }\n },\n computed: {\n filteredValue: function filteredValue() {\n var filteredNodes = [];\n var searchFields = isFunction(this.filterBy) ? [this.filterBy] : this.filterBy.split(',');\n var filterText = this.filterValue.trim().toLocaleLowerCase(this.filterLocale);\n var strict = this.filterMode === 'strict';\n var _iterator3 = _createForOfIteratorHelper(this.value),\n _step3;\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var node = _step3.value;\n var _node = _objectSpread({}, node);\n var paramsWithoutNode = {\n searchFields: searchFields,\n filterText: filterText,\n strict: strict\n };\n if (strict && (this.findFilteredNodes(_node, paramsWithoutNode) || this.isFilterMatched(_node, paramsWithoutNode)) || !strict && (this.isFilterMatched(_node, paramsWithoutNode) || this.findFilteredNodes(_node, paramsWithoutNode))) {\n filteredNodes.push(_node);\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n return filteredNodes;\n },\n valueToRender: function valueToRender() {\n if (this.filterValue && this.filterValue.trim().length > 0) return this.filteredValue;else return this.value;\n }\n },\n components: {\n TreeNode: script$1,\n InputText: InputText,\n InputIcon: InputIcon,\n IconField: IconField,\n SearchIcon: SearchIcon,\n SpinnerIcon: SpinnerIcon\n }\n};\n\nvar _hoisted_1 = [\"aria-labelledby\", \"aria-label\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_SpinnerIcon = resolveComponent(\"SpinnerIcon\");\n var _component_InputText = resolveComponent(\"InputText\");\n var _component_SearchIcon = resolveComponent(\"SearchIcon\");\n var _component_InputIcon = resolveComponent(\"InputIcon\");\n var _component_IconField = resolveComponent(\"IconField\");\n var _component_TreeNode = resolveComponent(\"TreeNode\");\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [_ctx.loading && _ctx.loadingMode === 'mask' ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('mask')\n }, _ctx.ptm('mask')), [renderSlot(_ctx.$slots, \"loadingicon\", {\n \"class\": normalizeClass(_ctx.cx('loadingIcon'))\n }, function () {\n return [_ctx.loadingIcon ? (openBlock(), createElementBlock(\"i\", mergeProps({\n key: 0,\n \"class\": [_ctx.cx('loadingIcon'), 'pi-spin', _ctx.loadingIcon]\n }, _ctx.ptm('loadingIcon')), null, 16)) : (openBlock(), createBlock(_component_SpinnerIcon, mergeProps({\n key: 1,\n spin: \"\",\n \"class\": _ctx.cx('loadingIcon')\n }, _ctx.ptm('loadingIcon')), null, 16, [\"class\"]))];\n })], 16)) : createCommentVNode(\"\", true), _ctx.filter ? (openBlock(), createBlock(_component_IconField, {\n key: 1,\n unstyled: _ctx.unstyled,\n pt: _ctx.ptm('pcFilterContainer')\n }, {\n \"default\": withCtx(function () {\n return [createVNode(_component_InputText, {\n modelValue: $data.filterValue,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = function ($event) {\n return $data.filterValue = $event;\n }),\n autocomplete: \"off\",\n \"class\": normalizeClass(_ctx.cx('pcFilterInput')),\n placeholder: _ctx.filterPlaceholder,\n unstyled: _ctx.unstyled,\n onKeydown: $options.onFilterKeydown,\n pt: _ctx.ptm('pcFilterInput')\n }, null, 8, [\"modelValue\", \"class\", \"placeholder\", \"unstyled\", \"onKeydown\", \"pt\"]), createVNode(_component_InputIcon, {\n unstyled: _ctx.unstyled,\n pt: _ctx.ptm('pcFilterIconContainer')\n }, {\n \"default\": withCtx(function () {\n return [renderSlot(_ctx.$slots, _ctx.$slots.filtericon ? 'filtericon' : 'searchicon', {\n \"class\": normalizeClass(_ctx.cx('filterIcon'))\n }, function () {\n return [createVNode(_component_SearchIcon, mergeProps({\n \"class\": _ctx.cx('filterIcon')\n }, _ctx.ptm('filterIcon')), null, 16, [\"class\"])];\n })];\n }),\n _: 3\n }, 8, [\"unstyled\", \"pt\"])];\n }),\n _: 3\n }, 8, [\"unstyled\", \"pt\"])) : createCommentVNode(\"\", true), createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('wrapper'),\n style: {\n maxHeight: _ctx.scrollHeight\n }\n }, _ctx.ptm('wrapper')), [renderSlot(_ctx.$slots, \"header\", {\n value: _ctx.value,\n expandedKeys: _ctx.expandedKeys,\n selectionKeys: _ctx.selectionKeys\n }), createElementVNode(\"ul\", mergeProps({\n \"class\": _ctx.cx('rootChildren'),\n role: \"tree\",\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-label\": _ctx.ariaLabel\n }, _ctx.ptm('rootChildren')), [(openBlock(true), createElementBlock(Fragment, null, renderList($options.valueToRender, function (node, index) {\n return openBlock(), createBlock(_component_TreeNode, {\n key: node.key,\n node: node,\n templates: _ctx.$slots,\n level: _ctx.level + 1,\n index: index,\n expandedKeys: $data.d_expandedKeys,\n onNodeToggle: $options.onNodeToggle,\n onNodeClick: $options.onNodeClick,\n selectionMode: _ctx.selectionMode,\n selectionKeys: _ctx.selectionKeys,\n onCheckboxChange: $options.onCheckboxChange,\n loadingMode: _ctx.loadingMode,\n unstyled: _ctx.unstyled,\n pt: _ctx.pt\n }, null, 8, [\"node\", \"templates\", \"level\", \"index\", \"expandedKeys\", \"onNodeToggle\", \"onNodeClick\", \"selectionMode\", \"selectionKeys\", \"onCheckboxChange\", \"loadingMode\", \"unstyled\", \"pt\"]);\n }), 128))], 16, _hoisted_1), renderSlot(_ctx.$slots, \"footer\", {\n value: _ctx.value,\n expandedKeys: _ctx.expandedKeys,\n selectionKeys: _ctx.selectionKeys\n })], 16)], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-contextmenu {\\n background: \".concat(dt('contextmenu.background'), \";\\n color: \").concat(dt('contextmenu.color'), \";\\n border: 1px solid \").concat(dt('contextmenu.border.color'), \";\\n border-radius: \").concat(dt('contextmenu.border.radius'), \";\\n box-shadow: \").concat(dt('contextmenu.shadow'), \";\\n min-width: 12.5rem;\\n}\\n\\n.p-contextmenu-root-list,\\n.p-contextmenu-submenu {\\n margin: 0;\\n padding: \").concat(dt('contextmenu.list.padding'), \";\\n list-style: none;\\n outline: 0 none;\\n display: flex;\\n flex-direction: column;\\n gap: \").concat(dt('contextmenu.list.gap'), \";\\n}\\n\\n.p-contextmenu-submenu {\\n position: absolute;\\n display: flex;\\n flex-direction: column;\\n min-width: 100%;\\n z-index: 1;\\n background: \").concat(dt('contextmenu.background'), \";\\n color: \").concat(dt('contextmenu.color'), \";\\n border: 1px solid \").concat(dt('contextmenu.border.color'), \";\\n border-radius: \").concat(dt('contextmenu.border.radius'), \";\\n box-shadow: \").concat(dt('contextmenu.shadow'), \";\\n}\\n\\n.p-contextmenu-item {\\n position: relative;\\n}\\n\\n.p-contextmenu-item-content {\\n transition: background \").concat(dt('contextmenu.transition.duration'), \", color \").concat(dt('contextmenu.transition.duration'), \";\\n border-radius: \").concat(dt('contextmenu.item.border.radius'), \";\\n color: \").concat(dt('contextmenu.item.color'), \";\\n}\\n\\n.p-contextmenu-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('contextmenu.item.padding'), \";\\n gap: \").concat(dt('contextmenu.item.gap'), \";\\n user-select: none;\\n}\\n\\n.p-contextmenu-item-label {\\n line-height: 1;\\n}\\n\\n.p-contextmenu-item-icon {\\n color: \").concat(dt('contextmenu.item.icon.color'), \";\\n}\\n\\n.p-contextmenu-submenu-icon {\\n color: \").concat(dt('contextmenu.submenu.icon.color'), \";\\n margin-left: auto;\\n font-size: \").concat(dt('contextmenu.submenu.icon.size'), \";\\n width: \").concat(dt('contextmenu.submenu.icon.size'), \";\\n height: \").concat(dt('contextmenu.submenu.icon.size'), \";\\n}\\n\\n.p-contextmenu-item.p-focus > .p-contextmenu-item-content {\\n color: \").concat(dt('contextmenu.item.focus.color'), \";\\n background: \").concat(dt('contextmenu.item.focus.background'), \";\\n}\\n\\n.p-contextmenu-item.p-focus > .p-contextmenu-item-content .p-contextmenu-item-icon {\\n color: \").concat(dt('contextmenu.item.icon.focus.color'), \";\\n}\\n\\n.p-contextmenu-item.p-focus > .p-contextmenu-item-content .p-contextmenu-submenu-icon {\\n color: \").concat(dt('contextmenu.submenu.icon.focus.color'), \";\\n}\\n\\n.p-contextmenu-item:not(.p-disabled) > .p-contextmenu-item-content:hover {\\n color: \").concat(dt('contextmenu.item.focus.color'), \";\\n background: \").concat(dt('contextmenu.item.focus.background'), \";\\n}\\n\\n.p-contextmenu-item:not(.p-disabled) > .p-contextmenu-item-content:hover .p-contextmenu-item-icon {\\n color: \").concat(dt('contextmenu.item.icon.focus.color'), \";\\n}\\n\\n.p-contextmenu-item:not(.p-disabled) > .p-contextmenu-item-content:hover .p-contextmenu-submenu-icon {\\n color: \").concat(dt('contextmenu.submenu.icon.focus.color'), \";\\n}\\n\\n.p-contextmenu-item-active > .p-contextmenu-item-content {\\n color: \").concat(dt('contextmenu.item.active.color'), \";\\n background: \").concat(dt('contextmenu.item.active.background'), \";\\n}\\n\\n.p-contextmenu-item-active > .p-contextmenu-item-content .p-contextmenu-item-icon {\\n color: \").concat(dt('contextmenu.item.icon.active.color'), \";\\n}\\n\\n.p-contextmenu-item-active > .p-contextmenu-item-content .p-contextmenu-submenu-icon {\\n color: \").concat(dt('contextmenu.submenu.icon.active.color'), \";\\n}\\n\\n.p-contextmenu-separator {\\n border-top: 1px solid \").concat(dt('contextmenu.separator.border.color'), \";\\n}\\n\\n.p-contextmenu-enter-from,\\n.p-contextmenu-leave-active {\\n opacity: 0;\\n}\\n\\n.p-contextmenu-enter-active {\\n transition: opacity 250ms;\\n}\\n\\n.p-contextmenu-mobile {\\n position: relative;\\n}\\n\\n.p-contextmenu-mobile .p-contextmenu-button {\\n display: flex;\\n}\\n\\n.p-contextmenu-mobile .p-contextmenu-root-list .p-contextmenu-item {\\n position: static;\\n}\\n\\n.p-contextmenu-mobile .p-contextmenu-root-list .p-contextmenu-separator {\\n border-top: 1px solid \").concat(dt('contextmenu.separator.border.color'), \";\\n}\\n\\n.p-contextmenu-mobile .p-contextmenu-root-list > .p-contextmenu-item > .p-contextmenu-item-content .p-contextmenu-submenu-icon {\\n margin-left: auto;\\n transition: transform 0.2s;\\n}\\n\\n.p-contextmenu-mobile .p-contextmenu-root-list > .p-contextmenu-item-active > .p-contextmenu-item-content .p-contextmenu-submenu-icon {\\n transform: rotate(-90deg);\\n}\\n\\n.p-contextmenu-mobile .p-contextmenu-submenu .p-contextmenu-submenu-icon {\\n transition: transform 0.2s;\\n transform: rotate(90deg);\\n}\\n\\n.p-contextmenu-mobile .p-contextmenu-item-active > .p-contextmenu-item-content .p-contextmenu-submenu-icon {\\n transform: rotate(-90deg);\\n}\\n\\n.p-contextmenu-mobile .p-contextmenu-submenu {\\n position: static;\\n box-shadow: none;\\n border: 0 none;\\n padding-left: \").concat(dt('contextmenu.submenu.mobile.indent'), \";\\n}\\n\");\n};\nvar classes = {\n root: function root(_ref2) {\n var instance = _ref2.instance;\n return ['p-contextmenu p-component', {\n 'p-contextmenu-mobile': instance.queryMatches\n }];\n },\n rootList: 'p-contextmenu-root-list',\n item: function item(_ref3) {\n var instance = _ref3.instance,\n processedItem = _ref3.processedItem;\n return ['p-contextmenu-item', {\n 'p-contextmenu-item-active': instance.isItemActive(processedItem),\n 'p-focus': instance.isItemFocused(processedItem),\n 'p-disabled': instance.isItemDisabled(processedItem)\n }];\n },\n itemContent: 'p-contextmenu-item-content',\n itemLink: 'p-contextmenu-item-link',\n itemIcon: 'p-contextmenu-item-icon',\n itemLabel: 'p-contextmenu-item-label',\n submenuIcon: 'p-contextmenu-submenu-icon',\n submenu: 'p-contextmenu-submenu',\n separator: 'p-contextmenu-separator'\n};\nvar ContextMenuStyle = BaseStyle.extend({\n name: 'contextmenu',\n theme: theme,\n classes: classes\n});\n\nexport { ContextMenuStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'AngleRightIcon',\n \"extends\": BaseIcon\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _cache[0] || (_cache[0] = [createElementVNode(\"path\", {\n d: \"M5.25 11.1728C5.14929 11.1694 5.05033 11.1455 4.9592 11.1025C4.86806 11.0595 4.78666 10.9984 4.72 10.9228C4.57955 10.7822 4.50066 10.5916 4.50066 10.3928C4.50066 10.1941 4.57955 10.0035 4.72 9.86283L7.72 6.86283L4.72 3.86283C4.66067 3.71882 4.64765 3.55991 4.68275 3.40816C4.71785 3.25642 4.79932 3.11936 4.91585 3.01602C5.03238 2.91268 5.17819 2.84819 5.33305 2.83149C5.4879 2.81479 5.64411 2.84671 5.78 2.92283L9.28 6.42283C9.42045 6.56346 9.49934 6.75408 9.49934 6.95283C9.49934 7.15158 9.42045 7.34221 9.28 7.48283L5.78 10.9228C5.71333 10.9984 5.63193 11.0595 5.5408 11.1025C5.44966 11.1455 5.35071 11.1694 5.25 11.1728Z\",\n fill: \"currentColor\"\n }, null, -1)]), 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import { nestedPosition, focus, findSingle, addStyle, getHiddenElementOuterWidth, getHiddenElementOuterHeight, getViewport, isTouchDevice } from '@primeuix/utils/dom';\nimport { resolve, isNotEmpty, isPrintableCharacter, isEmpty, findLastIndex } from '@primeuix/utils/object';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { UniqueComponentId } from '@primevue/core/utils';\nimport Portal from 'primevue/portal';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport ContextMenuStyle from 'primevue/contextmenu/style';\nimport AngleRightIcon from '@primevue/icons/angleright';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps, resolveComponent, resolveDirective, openBlock, createBlock, Transition, withCtx, createElementBlock, Fragment, renderList, createElementVNode, withDirectives, resolveDynamicComponent, normalizeClass, createCommentVNode, toDisplayString, createVNode } from 'vue';\n\nvar script$2 = {\n name: 'BaseContextMenu',\n \"extends\": BaseComponent,\n props: {\n model: {\n type: Array,\n \"default\": null\n },\n appendTo: {\n type: [String, Object],\n \"default\": 'body'\n },\n autoZIndex: {\n type: Boolean,\n \"default\": true\n },\n baseZIndex: {\n type: Number,\n \"default\": 0\n },\n global: {\n type: Boolean,\n \"default\": false\n },\n breakpoint: {\n type: String,\n \"default\": '960px'\n },\n tabindex: {\n type: Number,\n \"default\": 0\n },\n ariaLabelledby: {\n type: String,\n \"default\": null\n },\n ariaLabel: {\n type: String,\n \"default\": null\n }\n },\n style: ContextMenuStyle,\n provide: function provide() {\n return {\n $pcContextMenu: this,\n $parentInstance: this\n };\n }\n};\n\nvar script$1 = {\n name: 'ContextMenuSub',\n hostName: 'ContextMenu',\n \"extends\": BaseComponent,\n emits: ['item-click', 'item-mouseenter', 'item-mousemove'],\n props: {\n items: {\n type: Array,\n \"default\": null\n },\n menuId: {\n type: String,\n \"default\": null\n },\n focusedItemId: {\n type: String,\n \"default\": null\n },\n root: {\n type: Boolean,\n \"default\": false\n },\n visible: {\n type: Boolean,\n \"default\": false\n },\n level: {\n type: Number,\n \"default\": 0\n },\n templates: {\n type: Object,\n \"default\": null\n },\n activeItemPath: {\n type: Object,\n \"default\": null\n },\n tabindex: {\n type: Number,\n \"default\": 0\n }\n },\n methods: {\n getItemId: function getItemId(processedItem) {\n return \"\".concat(this.menuId, \"_\").concat(processedItem.key);\n },\n getItemKey: function getItemKey(processedItem) {\n return this.getItemId(processedItem);\n },\n getItemProp: function getItemProp(processedItem, name, params) {\n return processedItem && processedItem.item ? resolve(processedItem.item[name], params) : undefined;\n },\n getItemLabel: function getItemLabel(processedItem) {\n return this.getItemProp(processedItem, 'label');\n },\n getItemLabelId: function getItemLabelId(processedItem) {\n return \"\".concat(this.menuId, \"_\").concat(processedItem.key, \"_label\");\n },\n getPTOptions: function getPTOptions(key, processedItem, index) {\n return this.ptm(key, {\n context: {\n item: processedItem.item,\n active: this.isItemActive(processedItem),\n focused: this.isItemFocused(processedItem),\n disabled: this.isItemDisabled(processedItem),\n index: index\n }\n });\n },\n isItemActive: function isItemActive(processedItem) {\n return this.activeItemPath.some(function (path) {\n return path.key === processedItem.key;\n });\n },\n isItemVisible: function isItemVisible(processedItem) {\n return this.getItemProp(processedItem, 'visible') !== false;\n },\n isItemDisabled: function isItemDisabled(processedItem) {\n return this.getItemProp(processedItem, 'disabled');\n },\n isItemFocused: function isItemFocused(processedItem) {\n return this.focusedItemId === this.getItemId(processedItem);\n },\n isItemGroup: function isItemGroup(processedItem) {\n return isNotEmpty(processedItem.items);\n },\n onItemClick: function onItemClick(event, processedItem) {\n this.getItemProp(processedItem, 'command', {\n originalEvent: event,\n item: processedItem.item\n });\n this.$emit('item-click', {\n originalEvent: event,\n processedItem: processedItem,\n isFocus: true\n });\n },\n onItemMouseEnter: function onItemMouseEnter(event, processedItem) {\n this.$emit('item-mouseenter', {\n originalEvent: event,\n processedItem: processedItem\n });\n },\n onItemMouseMove: function onItemMouseMove(event, processedItem) {\n this.$emit('item-mousemove', {\n originalEvent: event,\n processedItem: processedItem,\n isFocus: true\n });\n },\n getAriaSetSize: function getAriaSetSize() {\n var _this = this;\n return this.items.filter(function (processedItem) {\n return _this.isItemVisible(processedItem) && !_this.getItemProp(processedItem, 'separator');\n }).length;\n },\n getAriaPosInset: function getAriaPosInset(index) {\n var _this2 = this;\n return index - this.items.slice(0, index).filter(function (processedItem) {\n return _this2.isItemVisible(processedItem) && _this2.getItemProp(processedItem, 'separator');\n }).length + 1;\n },\n onEnter: function onEnter() {\n nestedPosition(this.$refs.container, this.level);\n },\n getMenuItemProps: function getMenuItemProps(processedItem, index) {\n return {\n action: mergeProps({\n \"class\": this.cx('itemLink'),\n tabindex: -1,\n 'aria-hidden': true\n }, this.getPTOptions('itemLink', processedItem, index)),\n icon: mergeProps({\n \"class\": [this.cx('itemIcon'), this.getItemProp(processedItem, 'icon')]\n }, this.getPTOptions('itemIcon', processedItem, index)),\n label: mergeProps({\n \"class\": this.cx('itemLabel')\n }, this.getPTOptions('itemLabel', processedItem, index)),\n submenuicon: mergeProps({\n \"class\": this.cx('submenuIcon')\n }, this.getPTOptions('submenuicon', processedItem, index))\n };\n }\n },\n components: {\n AngleRightIcon: AngleRightIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n\nvar _hoisted_1 = [\"tabindex\"];\nvar _hoisted_2 = [\"id\", \"aria-label\", \"aria-disabled\", \"aria-expanded\", \"aria-haspopup\", \"aria-level\", \"aria-setsize\", \"aria-posinset\", \"data-p-active\", \"data-p-focused\", \"data-p-disabled\"];\nvar _hoisted_3 = [\"onClick\", \"onMouseenter\", \"onMousemove\"];\nvar _hoisted_4 = [\"href\", \"target\"];\nvar _hoisted_5 = [\"id\"];\nvar _hoisted_6 = [\"id\"];\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_AngleRightIcon = resolveComponent(\"AngleRightIcon\");\n var _component_ContextMenuSub = resolveComponent(\"ContextMenuSub\", true);\n var _directive_ripple = resolveDirective(\"ripple\");\n return openBlock(), createBlock(Transition, mergeProps({\n name: \"p-contextmenusub\",\n onEnter: $options.onEnter\n }, _ctx.ptm('menu.transition')), {\n \"default\": withCtx(function () {\n return [($props.root ? true : $props.visible) ? (openBlock(), createElementBlock(\"ul\", mergeProps({\n key: 0,\n ref: \"container\",\n tabindex: $props.tabindex\n }, _ctx.ptm('rootList')), [(openBlock(true), createElementBlock(Fragment, null, renderList($props.items, function (processedItem, index) {\n return openBlock(), createElementBlock(Fragment, {\n key: $options.getItemKey(processedItem)\n }, [$options.isItemVisible(processedItem) && !$options.getItemProp(processedItem, 'separator') ? (openBlock(), createElementBlock(\"li\", mergeProps({\n key: 0,\n id: $options.getItemId(processedItem),\n style: $options.getItemProp(processedItem, 'style'),\n \"class\": [_ctx.cx('item', {\n processedItem: processedItem\n }), $options.getItemProp(processedItem, 'class')],\n role: \"menuitem\",\n \"aria-label\": $options.getItemLabel(processedItem),\n \"aria-disabled\": $options.isItemDisabled(processedItem) || undefined,\n \"aria-expanded\": $options.isItemGroup(processedItem) ? $options.isItemActive(processedItem) : undefined,\n \"aria-haspopup\": $options.isItemGroup(processedItem) && !$options.getItemProp(processedItem, 'to') ? 'menu' : undefined,\n \"aria-level\": $props.level + 1,\n \"aria-setsize\": $options.getAriaSetSize(),\n \"aria-posinset\": $options.getAriaPosInset(index),\n ref_for: true\n }, $options.getPTOptions('item', processedItem, index), {\n \"data-p-active\": $options.isItemActive(processedItem),\n \"data-p-focused\": $options.isItemFocused(processedItem),\n \"data-p-disabled\": $options.isItemDisabled(processedItem)\n }), [createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('itemContent'),\n onClick: function onClick($event) {\n return $options.onItemClick($event, processedItem);\n },\n onMouseenter: function onMouseenter($event) {\n return $options.onItemMouseEnter($event, processedItem);\n },\n onMousemove: function onMousemove($event) {\n return $options.onItemMouseMove($event, processedItem);\n },\n ref_for: true\n }, $options.getPTOptions('itemContent', processedItem, index)), [!$props.templates.item ? withDirectives((openBlock(), createElementBlock(\"a\", mergeProps({\n key: 0,\n href: $options.getItemProp(processedItem, 'url'),\n \"class\": _ctx.cx('itemLink'),\n target: $options.getItemProp(processedItem, 'target'),\n tabindex: \"-1\",\n ref_for: true\n }, $options.getPTOptions('itemLink', processedItem, index)), [$props.templates.itemicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.itemicon), {\n key: 0,\n item: processedItem.item,\n \"class\": normalizeClass(_ctx.cx('itemIcon'))\n }, null, 8, [\"item\", \"class\"])) : $options.getItemProp(processedItem, 'icon') ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 1,\n \"class\": [_ctx.cx('itemIcon'), $options.getItemProp(processedItem, 'icon')],\n ref_for: true\n }, $options.getPTOptions('itemIcon', processedItem, index)), null, 16)) : createCommentVNode(\"\", true), createElementVNode(\"span\", mergeProps({\n id: $options.getItemLabelId(processedItem),\n \"class\": _ctx.cx('itemLabel'),\n ref_for: true\n }, $options.getPTOptions('itemLabel', processedItem, index)), toDisplayString($options.getItemLabel(processedItem)), 17, _hoisted_5), $options.getItemProp(processedItem, 'items') ? (openBlock(), createElementBlock(Fragment, {\n key: 2\n }, [$props.templates.submenuicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.submenuicon), {\n key: 0,\n active: $options.isItemActive(processedItem),\n \"class\": normalizeClass(_ctx.cx('submenuIcon'))\n }, null, 8, [\"active\", \"class\"])) : (openBlock(), createBlock(_component_AngleRightIcon, mergeProps({\n key: 1,\n \"class\": _ctx.cx('submenuIcon'),\n ref_for: true\n }, $options.getPTOptions('submenuicon', processedItem, index)), null, 16, [\"class\"]))], 64)) : createCommentVNode(\"\", true)], 16, _hoisted_4)), [[_directive_ripple]]) : (openBlock(), createBlock(resolveDynamicComponent($props.templates.item), {\n key: 1,\n item: processedItem.item,\n hasSubmenu: $options.getItemProp(processedItem, 'items'),\n label: $options.getItemLabel(processedItem),\n props: $options.getMenuItemProps(processedItem, index)\n }, null, 8, [\"item\", \"hasSubmenu\", \"label\", \"props\"]))], 16, _hoisted_3), $options.isItemVisible(processedItem) && $options.isItemGroup(processedItem) ? (openBlock(), createBlock(_component_ContextMenuSub, mergeProps({\n key: 0,\n id: $options.getItemId(processedItem) + '_list',\n role: \"menu\",\n \"class\": _ctx.cx('submenu'),\n menuId: $props.menuId,\n focusedItemId: $props.focusedItemId,\n items: processedItem.items,\n templates: $props.templates,\n activeItemPath: $props.activeItemPath,\n level: $props.level + 1,\n visible: $options.isItemActive(processedItem) && $options.isItemGroup(processedItem),\n pt: _ctx.pt,\n unstyled: _ctx.unstyled,\n onItemClick: _cache[0] || (_cache[0] = function ($event) {\n return _ctx.$emit('item-click', $event);\n }),\n onItemMouseenter: _cache[1] || (_cache[1] = function ($event) {\n return _ctx.$emit('item-mouseenter', $event);\n }),\n onItemMousemove: _cache[2] || (_cache[2] = function ($event) {\n return _ctx.$emit('item-mousemove', $event);\n }),\n \"aria-labelledby\": $options.getItemLabelId(processedItem),\n ref_for: true\n }, _ctx.ptm('submenu')), null, 16, [\"id\", \"class\", \"menuId\", \"focusedItemId\", \"items\", \"templates\", \"activeItemPath\", \"level\", \"visible\", \"pt\", \"unstyled\", \"aria-labelledby\"])) : createCommentVNode(\"\", true)], 16, _hoisted_2)) : createCommentVNode(\"\", true), $options.isItemVisible(processedItem) && $options.getItemProp(processedItem, 'separator') ? (openBlock(), createElementBlock(\"li\", mergeProps({\n key: 1,\n id: $options.getItemId(processedItem),\n style: $options.getItemProp(processedItem, 'style'),\n \"class\": [_ctx.cx('separator'), $options.getItemProp(processedItem, 'class')],\n role: \"separator\",\n ref_for: true\n }, _ctx.ptm('separator')), null, 16, _hoisted_6)) : createCommentVNode(\"\", true)], 64);\n }), 128))], 16, _hoisted_1)) : createCommentVNode(\"\", true)];\n }),\n _: 1\n }, 16, [\"onEnter\"]);\n}\n\nscript$1.render = render$1;\n\nvar script = {\n name: 'ContextMenu',\n \"extends\": script$2,\n inheritAttrs: false,\n emits: ['focus', 'blur', 'show', 'hide', 'before-show', 'before-hide'],\n target: null,\n outsideClickListener: null,\n resizeListener: null,\n documentContextMenuListener: null,\n matchMediaListener: null,\n pageX: null,\n pageY: null,\n container: null,\n list: null,\n data: function data() {\n return {\n id: this.$attrs.id,\n focused: false,\n focusedItemInfo: {\n index: -1,\n level: 0,\n parentKey: ''\n },\n activeItemPath: [],\n visible: false,\n submenuVisible: false,\n query: null,\n queryMatches: false\n };\n },\n watch: {\n '$attrs.id': function $attrsId(newValue) {\n this.id = newValue || UniqueComponentId();\n },\n activeItemPath: function activeItemPath(newPath) {\n if (isNotEmpty(newPath)) {\n this.bindOutsideClickListener();\n this.bindResizeListener();\n } else if (!this.visible) {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n }\n }\n },\n mounted: function mounted() {\n this.id = this.id || UniqueComponentId();\n this.bindMatchMediaListener();\n if (this.global) {\n this.bindDocumentContextMenuListener();\n }\n },\n beforeUnmount: function beforeUnmount() {\n this.unbindResizeListener();\n this.unbindOutsideClickListener();\n this.unbindDocumentContextMenuListener();\n this.unbindMatchMediaListener();\n if (this.container && this.autoZIndex) {\n ZIndex.clear(this.container);\n }\n this.target = null;\n this.container = null;\n },\n methods: {\n getItemProp: function getItemProp(item, name) {\n return item ? resolve(item[name]) : undefined;\n },\n getItemLabel: function getItemLabel(item) {\n return this.getItemProp(item, 'label');\n },\n isItemDisabled: function isItemDisabled(item) {\n return this.getItemProp(item, 'disabled');\n },\n isItemVisible: function isItemVisible(item) {\n return this.getItemProp(item, 'visible') !== false;\n },\n isItemGroup: function isItemGroup(item) {\n return isNotEmpty(this.getItemProp(item, 'items'));\n },\n isItemSeparator: function isItemSeparator(item) {\n return this.getItemProp(item, 'separator');\n },\n getProccessedItemLabel: function getProccessedItemLabel(processedItem) {\n return processedItem ? this.getItemLabel(processedItem.item) : undefined;\n },\n isProccessedItemGroup: function isProccessedItemGroup(processedItem) {\n return processedItem && isNotEmpty(processedItem.items);\n },\n toggle: function toggle(event) {\n this.visible ? this.hide() : this.show(event);\n },\n show: function show(event) {\n this.$emit('before-show');\n this.activeItemPath = [];\n this.focusedItemInfo = {\n index: -1,\n level: 0,\n parentKey: ''\n };\n focus(this.list);\n this.pageX = event.pageX;\n this.pageY = event.pageY;\n this.visible ? this.position() : this.visible = true;\n event.stopPropagation();\n event.preventDefault();\n },\n hide: function hide() {\n this.$emit('before-hide');\n this.visible = false;\n this.activeItemPath = [];\n this.focusedItemInfo = {\n index: -1,\n level: 0,\n parentKey: ''\n };\n },\n onFocus: function onFocus(event) {\n this.focused = true;\n this.focusedItemInfo = this.focusedItemInfo.index !== -1 ? this.focusedItemInfo : {\n index: -1,\n level: 0,\n parentKey: ''\n };\n this.$emit('focus', event);\n },\n onBlur: function onBlur(event) {\n this.focused = false;\n this.focusedItemInfo = {\n index: -1,\n level: 0,\n parentKey: ''\n };\n this.searchValue = '';\n this.$emit('blur', event);\n },\n onKeyDown: function onKeyDown(event) {\n var metaKey = event.metaKey || event.ctrlKey;\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n case 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n case 'ArrowRight':\n this.onArrowRightKey(event);\n break;\n case 'Home':\n this.onHomeKey(event);\n break;\n case 'End':\n this.onEndKey(event);\n break;\n case 'Space':\n this.onSpaceKey(event);\n break;\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n case 'Escape':\n this.onEscapeKey(event);\n break;\n case 'Tab':\n this.onTabKey(event);\n break;\n case 'PageDown':\n case 'PageUp':\n case 'Backspace':\n case 'ShiftLeft':\n case 'ShiftRight':\n //NOOP\n break;\n default:\n if (!metaKey && isPrintableCharacter(event.key)) {\n this.searchItems(event, event.key);\n }\n break;\n }\n },\n onItemChange: function onItemChange(event) {\n var processedItem = event.processedItem,\n isFocus = event.isFocus;\n if (isEmpty(processedItem)) return;\n var index = processedItem.index,\n key = processedItem.key,\n level = processedItem.level,\n parentKey = processedItem.parentKey,\n items = processedItem.items;\n var grouped = isNotEmpty(items);\n var activeItemPath = this.activeItemPath.filter(function (p) {\n return p.parentKey !== parentKey && p.parentKey !== key;\n });\n if (grouped) {\n activeItemPath.push(processedItem);\n this.submenuVisible = true;\n }\n this.focusedItemInfo = {\n index: index,\n level: level,\n parentKey: parentKey\n };\n this.activeItemPath = activeItemPath;\n isFocus && focus(this.list);\n },\n onItemClick: function onItemClick(event) {\n var processedItem = event.processedItem;\n var grouped = this.isProccessedItemGroup(processedItem);\n var selected = this.isSelected(processedItem);\n if (selected) {\n var index = processedItem.index,\n key = processedItem.key,\n level = processedItem.level,\n parentKey = processedItem.parentKey;\n this.activeItemPath = this.activeItemPath.filter(function (p) {\n return key !== p.key && key.startsWith(p.key);\n });\n this.focusedItemInfo = {\n index: index,\n level: level,\n parentKey: parentKey\n };\n focus(this.list);\n } else {\n grouped ? this.onItemChange(event) : this.hide();\n }\n },\n onItemMouseEnter: function onItemMouseEnter(event) {\n this.onItemChange(event);\n },\n onItemMouseMove: function onItemMouseMove(event) {\n if (this.focused) {\n this.changeFocusedItemIndex(event, event.processedItem.index);\n }\n },\n onArrowDownKey: function onArrowDownKey(event) {\n var itemIndex = this.focusedItemInfo.index !== -1 ? this.findNextItemIndex(this.focusedItemInfo.index) : this.findFirstFocusedItemIndex();\n this.changeFocusedItemIndex(event, itemIndex);\n event.preventDefault();\n },\n onArrowUpKey: function onArrowUpKey(event) {\n if (event.altKey) {\n if (this.focusedItemInfo.index !== -1) {\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var grouped = this.isProccessedItemGroup(processedItem);\n !grouped && this.onItemChange({\n originalEvent: event,\n processedItem: processedItem\n });\n }\n this.popup && this.hide();\n event.preventDefault();\n } else {\n var itemIndex = this.focusedItemInfo.index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo.index) : this.findLastFocusedItemIndex();\n this.changeFocusedItemIndex(event, itemIndex);\n event.preventDefault();\n }\n },\n onArrowLeftKey: function onArrowLeftKey(event) {\n var _this = this;\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var parentItem = this.activeItemPath.find(function (p) {\n return p.key === processedItem.parentKey;\n });\n var root = isEmpty(processedItem.parent);\n if (!root) {\n this.focusedItemInfo = {\n index: -1,\n parentKey: parentItem ? parentItem.parentKey : ''\n };\n this.searchValue = '';\n this.onArrowDownKey(event);\n }\n this.activeItemPath = this.activeItemPath.filter(function (p) {\n return p.parentKey !== _this.focusedItemInfo.parentKey;\n });\n event.preventDefault();\n },\n onArrowRightKey: function onArrowRightKey(event) {\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var grouped = this.isProccessedItemGroup(processedItem);\n if (grouped) {\n this.onItemChange({\n originalEvent: event,\n processedItem: processedItem\n });\n this.focusedItemInfo = {\n index: -1,\n parentKey: processedItem.key\n };\n this.searchValue = '';\n this.onArrowDownKey(event);\n }\n event.preventDefault();\n },\n onHomeKey: function onHomeKey(event) {\n this.changeFocusedItemIndex(event, this.findFirstItemIndex());\n event.preventDefault();\n },\n onEndKey: function onEndKey(event) {\n this.changeFocusedItemIndex(event, this.findLastItemIndex());\n event.preventDefault();\n },\n onEnterKey: function onEnterKey(event) {\n if (this.focusedItemInfo.index !== -1) {\n var element = findSingle(this.list, \"li[id=\\\"\".concat(\"\".concat(this.focusedItemIdx), \"\\\"]\"));\n var anchorElement = element && findSingle(element, '[data-pc-section=\"itemlink\"]');\n anchorElement ? anchorElement.click() : element && element.click();\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var grouped = this.isProccessedItemGroup(processedItem);\n !grouped && (this.focusedItemInfo.index = this.findFirstFocusedItemIndex());\n }\n event.preventDefault();\n },\n onSpaceKey: function onSpaceKey(event) {\n this.onEnterKey(event);\n },\n onEscapeKey: function onEscapeKey(event) {\n this.hide();\n !this.popup && (this.focusedItemInfo.index = this.findFirstFocusedItemIndex());\n event.preventDefault();\n },\n onTabKey: function onTabKey(event) {\n if (this.focusedItemInfo.index !== -1) {\n var processedItem = this.visibleItems[this.focusedItemInfo.index];\n var grouped = this.isProccessedItemGroup(processedItem);\n !grouped && this.onItemChange({\n originalEvent: event,\n processedItem: processedItem\n });\n }\n this.hide();\n },\n onEnter: function onEnter(el) {\n addStyle(el, {\n position: 'absolute'\n });\n this.position();\n if (this.autoZIndex) {\n ZIndex.set('menu', el, this.baseZIndex + this.$primevue.config.zIndex.menu);\n }\n },\n onAfterEnter: function onAfterEnter() {\n this.bindOutsideClickListener();\n this.bindResizeListener();\n this.$emit('show');\n focus(this.list);\n },\n onLeave: function onLeave() {\n this.$emit('hide');\n this.container = null;\n },\n onAfterLeave: function onAfterLeave(el) {\n if (this.autoZIndex) {\n ZIndex.clear(el);\n }\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n },\n position: function position() {\n var left = this.pageX + 1;\n var top = this.pageY + 1;\n var width = this.container.offsetParent ? this.container.offsetWidth : getHiddenElementOuterWidth(this.container);\n var height = this.container.offsetParent ? this.container.offsetHeight : getHiddenElementOuterHeight(this.container);\n var viewport = getViewport();\n var scrollTop = window.scrollY || document.documentElement.scrollTop || document.body.scrollTop || 0;\n var scrollLeft = window.scrollX || document.documentElement.scrollLeft || document.body.scrollLeft || 0;\n\n //flip\n if (left + width - scrollLeft > viewport.width) {\n left -= width;\n }\n\n //flip\n if (top + height - scrollTop > viewport.height) {\n top -= height;\n }\n\n //fit\n if (left < scrollLeft) {\n left = scrollLeft;\n }\n\n //fit\n if (top < scrollTop) {\n top = scrollTop;\n }\n this.container.style.left = left + 'px';\n this.container.style.top = top + 'px';\n },\n bindOutsideClickListener: function bindOutsideClickListener() {\n var _this2 = this;\n if (!this.outsideClickListener) {\n this.outsideClickListener = function (event) {\n var isOutsideContainer = _this2.container && !_this2.container.contains(event.target);\n var isOutsideTarget = _this2.visible ? !(_this2.target && (_this2.target === event.target || _this2.target.contains(event.target))) : true;\n if (isOutsideContainer && isOutsideTarget) {\n _this2.hide();\n }\n };\n document.addEventListener('click', this.outsideClickListener);\n }\n },\n unbindOutsideClickListener: function unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener);\n this.outsideClickListener = null;\n }\n },\n bindResizeListener: function bindResizeListener() {\n var _this3 = this;\n if (!this.resizeListener) {\n this.resizeListener = function () {\n if (_this3.visible && !isTouchDevice()) {\n _this3.hide();\n }\n };\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener: function unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n bindDocumentContextMenuListener: function bindDocumentContextMenuListener() {\n var _this4 = this;\n if (!this.documentContextMenuListener) {\n this.documentContextMenuListener = function (event) {\n event.button === 2 && _this4.show(event);\n };\n document.addEventListener('contextmenu', this.documentContextMenuListener);\n }\n },\n unbindDocumentContextMenuListener: function unbindDocumentContextMenuListener() {\n if (this.documentContextMenuListener) {\n document.removeEventListener('contextmenu', this.documentContextMenuListener);\n this.documentContextMenuListener = null;\n }\n },\n bindMatchMediaListener: function bindMatchMediaListener() {\n var _this5 = this;\n if (!this.matchMediaListener) {\n var query = matchMedia(\"(max-width: \".concat(this.breakpoint, \")\"));\n this.query = query;\n this.queryMatches = query.matches;\n this.matchMediaListener = function () {\n _this5.queryMatches = query.matches;\n };\n this.query.addEventListener('change', this.matchMediaListener);\n }\n },\n unbindMatchMediaListener: function unbindMatchMediaListener() {\n if (this.matchMediaListener) {\n this.query.removeEventListener('change', this.matchMediaListener);\n this.matchMediaListener = null;\n }\n },\n isItemMatched: function isItemMatched(processedItem) {\n var _this$getProccessedIt;\n return this.isValidItem(processedItem) && ((_this$getProccessedIt = this.getProccessedItemLabel(processedItem)) === null || _this$getProccessedIt === void 0 ? void 0 : _this$getProccessedIt.toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase()));\n },\n isValidItem: function isValidItem(processedItem) {\n return !!processedItem && !this.isItemDisabled(processedItem.item) && !this.isItemSeparator(processedItem.item) && this.isItemVisible(processedItem.item);\n },\n isValidSelectedItem: function isValidSelectedItem(processedItem) {\n return this.isValidItem(processedItem) && this.isSelected(processedItem);\n },\n isSelected: function isSelected(processedItem) {\n return this.activeItemPath.some(function (p) {\n return p.key === processedItem.key;\n });\n },\n findFirstItemIndex: function findFirstItemIndex() {\n var _this6 = this;\n return this.visibleItems.findIndex(function (processedItem) {\n return _this6.isValidItem(processedItem);\n });\n },\n findLastItemIndex: function findLastItemIndex() {\n var _this7 = this;\n return findLastIndex(this.visibleItems, function (processedItem) {\n return _this7.isValidItem(processedItem);\n });\n },\n findNextItemIndex: function findNextItemIndex(index) {\n var _this8 = this;\n var matchedItemIndex = index < this.visibleItems.length - 1 ? this.visibleItems.slice(index + 1).findIndex(function (processedItem) {\n return _this8.isValidItem(processedItem);\n }) : -1;\n return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index;\n },\n findPrevItemIndex: function findPrevItemIndex(index) {\n var _this9 = this;\n var matchedItemIndex = index > 0 ? findLastIndex(this.visibleItems.slice(0, index), function (processedItem) {\n return _this9.isValidItem(processedItem);\n }) : -1;\n return matchedItemIndex > -1 ? matchedItemIndex : index;\n },\n findSelectedItemIndex: function findSelectedItemIndex() {\n var _this10 = this;\n return this.visibleItems.findIndex(function (processedItem) {\n return _this10.isValidSelectedItem(processedItem);\n });\n },\n findFirstFocusedItemIndex: function findFirstFocusedItemIndex() {\n var selectedIndex = this.findSelectedItemIndex();\n return selectedIndex < 0 ? this.findFirstItemIndex() : selectedIndex;\n },\n findLastFocusedItemIndex: function findLastFocusedItemIndex() {\n var selectedIndex = this.findSelectedItemIndex();\n return selectedIndex < 0 ? this.findLastItemIndex() : selectedIndex;\n },\n searchItems: function searchItems(event, _char) {\n var _this11 = this;\n this.searchValue = (this.searchValue || '') + _char;\n var itemIndex = -1;\n var matched = false;\n if (this.focusedItemInfo.index !== -1) {\n itemIndex = this.visibleItems.slice(this.focusedItemInfo.index).findIndex(function (processedItem) {\n return _this11.isItemMatched(processedItem);\n });\n itemIndex = itemIndex === -1 ? this.visibleItems.slice(0, this.focusedItemInfo.index).findIndex(function (processedItem) {\n return _this11.isItemMatched(processedItem);\n }) : itemIndex + this.focusedItemInfo.index;\n } else {\n itemIndex = this.visibleItems.findIndex(function (processedItem) {\n return _this11.isItemMatched(processedItem);\n });\n }\n if (itemIndex !== -1) {\n matched = true;\n }\n if (itemIndex === -1 && this.focusedItemInfo.index === -1) {\n itemIndex = this.findFirstFocusedItemIndex();\n }\n if (itemIndex !== -1) {\n this.changeFocusedItemIndex(event, itemIndex);\n }\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n this.searchTimeout = setTimeout(function () {\n _this11.searchValue = '';\n _this11.searchTimeout = null;\n }, 500);\n return matched;\n },\n changeFocusedItemIndex: function changeFocusedItemIndex(event, index) {\n if (this.focusedItemInfo.index !== index) {\n this.focusedItemInfo.index = index;\n this.scrollInView();\n }\n },\n scrollInView: function scrollInView() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;\n var id = index !== -1 ? \"\".concat(this.id, \"_\").concat(index) : this.focusedItemIdx;\n var element = findSingle(this.list, \"li[id=\\\"\".concat(id, \"\\\"]\"));\n if (element) {\n element.scrollIntoView && element.scrollIntoView({\n block: 'nearest',\n inline: 'start'\n });\n }\n },\n createProcessedItems: function createProcessedItems(items) {\n var _this12 = this;\n var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var parentKey = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var processedItems = [];\n items && items.forEach(function (item, index) {\n var key = (parentKey !== '' ? parentKey + '_' : '') + index;\n var newItem = {\n item: item,\n index: index,\n level: level,\n key: key,\n parent: parent,\n parentKey: parentKey\n };\n newItem['items'] = _this12.createProcessedItems(item.items, level + 1, newItem, key);\n processedItems.push(newItem);\n });\n return processedItems;\n },\n containerRef: function containerRef(el) {\n this.container = el;\n },\n listRef: function listRef(el) {\n this.list = el ? el.$el : undefined;\n }\n },\n computed: {\n processedItems: function processedItems() {\n return this.createProcessedItems(this.model || []);\n },\n visibleItems: function visibleItems() {\n var _this13 = this;\n var processedItem = this.activeItemPath.find(function (p) {\n return p.key === _this13.focusedItemInfo.parentKey;\n });\n return processedItem ? processedItem.items : this.processedItems;\n },\n focusedItemIdx: function focusedItemIdx() {\n return this.focusedItemInfo.index !== -1 ? \"\".concat(this.id).concat(isNotEmpty(this.focusedItemInfo.parentKey) ? '_' + this.focusedItemInfo.parentKey : '', \"_\").concat(this.focusedItemInfo.index) : null;\n }\n },\n components: {\n ContextMenuSub: script$1,\n Portal: Portal\n }\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_ContextMenuSub = resolveComponent(\"ContextMenuSub\");\n var _component_Portal = resolveComponent(\"Portal\");\n return openBlock(), createBlock(_component_Portal, {\n appendTo: _ctx.appendTo\n }, {\n \"default\": withCtx(function () {\n return [createVNode(Transition, mergeProps({\n name: \"p-contextmenu\",\n onEnter: $options.onEnter,\n onAfterEnter: $options.onAfterEnter,\n onLeave: $options.onLeave,\n onAfterLeave: $options.onAfterLeave\n }, _ctx.ptm('transition')), {\n \"default\": withCtx(function () {\n return [$data.visible ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n ref: $options.containerRef,\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [createVNode(_component_ContextMenuSub, {\n ref: $options.listRef,\n id: $data.id + '_list',\n \"class\": normalizeClass(_ctx.cx('rootList')),\n role: \"menubar\",\n root: true,\n tabindex: _ctx.tabindex,\n \"aria-orientation\": \"vertical\",\n \"aria-activedescendant\": $data.focused ? $options.focusedItemIdx : undefined,\n menuId: $data.id,\n focusedItemId: $data.focused ? $options.focusedItemIdx : undefined,\n items: $options.processedItems,\n templates: _ctx.$slots,\n activeItemPath: $data.activeItemPath,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-label\": _ctx.ariaLabel,\n level: 0,\n visible: $data.submenuVisible,\n pt: _ctx.pt,\n unstyled: _ctx.unstyled,\n onFocus: $options.onFocus,\n onBlur: $options.onBlur,\n onKeydown: $options.onKeyDown,\n onItemClick: $options.onItemClick,\n onItemMouseenter: $options.onItemMouseEnter,\n onItemMousemove: $options.onItemMouseMove\n }, null, 8, [\"id\", \"class\", \"tabindex\", \"aria-activedescendant\", \"menuId\", \"focusedItemId\", \"items\", \"templates\", \"activeItemPath\", \"aria-labelledby\", \"aria-label\", \"visible\", \"pt\", \"unstyled\", \"onFocus\", \"onBlur\", \"onKeydown\", \"onItemClick\", \"onItemMouseenter\", \"onItemMousemove\"])], 16)) : createCommentVNode(\"\", true)];\n }),\n _: 1\n }, 16, [\"onEnter\", \"onAfterEnter\", \"onLeave\", \"onAfterLeave\"])];\n }),\n _: 1\n }, 8, [\"appendTo\"]);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","\n\n\n\n\n","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bind = void 0;\nfunction bind(target, _a) {\n var type = _a.type, listener = _a.listener, options = _a.options;\n target.addEventListener(type, listener, options);\n return function unbind() {\n target.removeEventListener(type, listener, options);\n };\n}\nexports.bind = bind;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bindAll = void 0;\nvar bind_1 = require(\"./bind\");\nfunction toOptions(value) {\n if (typeof value === 'undefined') {\n return undefined;\n }\n if (typeof value === 'boolean') {\n return {\n capture: value,\n };\n }\n return value;\n}\nfunction getBinding(original, sharedOptions) {\n if (sharedOptions == null) {\n return original;\n }\n var binding = __assign(__assign({}, original), { options: __assign(__assign({}, toOptions(sharedOptions)), toOptions(original.options)) });\n return binding;\n}\nfunction bindAll(target, bindings, sharedOptions) {\n var unbinds = bindings.map(function (original) {\n var binding = getBinding(original, sharedOptions);\n return (0, bind_1.bind)(target, binding);\n });\n return function unbindAll() {\n unbinds.forEach(function (unbind) { return unbind(); });\n };\n}\nexports.bindAll = bindAll;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bindAll = exports.bind = void 0;\nvar bind_1 = require(\"./bind\");\nObject.defineProperty(exports, \"bind\", { enumerable: true, get: function () { return bind_1.bind; } });\nvar bind_all_1 = require(\"./bind-all\");\nObject.defineProperty(exports, \"bindAll\", { enumerable: true, get: function () { return bind_all_1.bindAll; } });\n","// pulling this into a separate file so adapter(s) that don't\n// need the honey pot can pay as little as possible for it.\nexport var honeyPotDataAttribute = 'data-pdnd-honey-pot';","import { honeyPotDataAttribute } from './honey-pot-data-attribute';\nexport function isHoneyPotElement(target) {\n return target instanceof Element && target.hasAttribute(honeyPotDataAttribute);\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { isHoneyPotElement } from './is-honey-pot-element';\nexport function getElementFromPointWithoutHoneypot(client) {\n // eslint-disable-next-line no-restricted-syntax\n var _document$elementsFro = document.elementsFromPoint(client.x, client.y),\n _document$elementsFro2 = _slicedToArray(_document$elementsFro, 2),\n top = _document$elementsFro2[0],\n second = _document$elementsFro2[1];\n if (!top) {\n return null;\n }\n if (isHoneyPotElement(top)) {\n return second !== null && second !== void 0 ? second : null;\n }\n return top;\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","// Maximum possible z-index\n// https://stackoverflow.com/questions/491052/minimum-and-maximum-value-of-z-index\nexport var maxZIndex = 2147483647;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { bind, bindAll } from 'bind-event-listener';\nimport { maxZIndex } from '../util/max-z-index';\nimport { honeyPotDataAttribute } from './honey-pot-data-attribute';\nvar honeyPotSize = 2;\nvar halfHoneyPotSize = honeyPotSize / 2;\n\n/**\n * `clientX` and `clientY` can be in sub pixels (eg `2.332`)\n * However, browser hitbox testing is commonly do to the closest pixel.\n *\n * → https://issues.chromium.org/issues/40940531\n *\n * To be sure that the honey pot will be over the `client` position,\n * we `.floor()` `clientX` and`clientY` and then make it `2px` in size.\n **/\nfunction floorToClosestPixel(point) {\n return {\n x: Math.floor(point.x),\n y: Math.floor(point.y)\n };\n}\n\n/**\n * We want to make sure the honey pot sits around the users position.\n * This seemed to be the most resilient while testing.\n */\nfunction pullBackByHalfHoneyPotSize(point) {\n return {\n x: point.x - halfHoneyPotSize,\n y: point.y - halfHoneyPotSize\n };\n}\n\n/**\n * Prevent the honey pot from changing the window size.\n * This is super unlikely to occur, but just being safe.\n */\nfunction preventGoingBackwardsOffScreen(point) {\n return {\n x: Math.max(point.x, 0),\n y: Math.max(point.y, 0)\n };\n}\n\n/**\n * Prevent the honey pot from changing the window size.\n * This is super unlikely to occur, but just being safe.\n */\nfunction preventGoingForwardsOffScreen(point) {\n return {\n x: Math.min(point.x, window.innerWidth - honeyPotSize),\n y: Math.min(point.y, window.innerHeight - honeyPotSize)\n };\n}\n\n/**\n * Create a `2x2` `DOMRect` around the `client` position\n */\nfunction getHoneyPotRectFor(_ref) {\n var client = _ref.client;\n var point = preventGoingForwardsOffScreen(preventGoingBackwardsOffScreen(pullBackByHalfHoneyPotSize(floorToClosestPixel(client))));\n\n // When debugging, it is helpful to\n // make this element a bit bigger\n return DOMRect.fromRect({\n x: point.x,\n y: point.y,\n width: honeyPotSize,\n height: honeyPotSize\n });\n}\nfunction getRectStyles(_ref2) {\n var clientRect = _ref2.clientRect;\n return {\n left: \"\".concat(clientRect.left, \"px\"),\n top: \"\".concat(clientRect.top, \"px\"),\n width: \"\".concat(clientRect.width, \"px\"),\n height: \"\".concat(clientRect.height, \"px\")\n };\n}\nfunction isWithin(_ref3) {\n var client = _ref3.client,\n clientRect = _ref3.clientRect;\n return (\n // is within horizontal bounds\n client.x >= clientRect.x && client.x <= clientRect.x + clientRect.width &&\n // is within vertical bounds\n client.y >= clientRect.y && client.y <= clientRect.y + clientRect.height\n );\n}\n/**\n * The honey pot fix is designed to get around a painful bug in all browsers.\n *\n * [Overview](https://www.youtube.com/watch?v=udE9qbFTeQg)\n *\n * **Background**\n *\n * When a drag starts, browsers incorrectly think that the users pointer is\n * still depressed where the drag started. Any element that goes under this position\n * will be entered into, causing `\"mouseenter\"` events and `\":hover\"` styles to be applied.\n *\n * _This is a violation of the spec_\n *\n * > \"From the moment that the user agent is to initiate the drag-and-drop operation,\n * > until the end \tof the drag-and-drop operation, device input events\n * > (e.g. mouse and keyboard events) must be suppressed.\"\n * >\n * > - https://html.spec.whatwg.org/multipage/dnd.html#drag-and-drop-processing-model\n *\n * _Some impacts_\n *\n * - `\":hover\"` styles being applied where they shouldn't (looks messy)\n * - components such as tooltips responding to `\"mouseenter\"` can show during a drag,\n * and on an element the user isn't even over\n *\n * Bug: https://issues.chromium.org/issues/41129937\n *\n * **Honey pot fix**\n *\n * 1. Create an element where the browser thinks the depressed pointer is\n * to absorb the incorrect pointer events\n * 2. Remove that element when it is no longer needed\n */\nfunction mountHoneyPot(_ref4) {\n var initial = _ref4.initial;\n var element = document.createElement('div');\n element.setAttribute(honeyPotDataAttribute, 'true');\n\n // can shift during the drag thanks to Firefox\n var clientRect = getHoneyPotRectFor({\n client: initial\n });\n Object.assign(element.style, _objectSpread(_objectSpread({\n // Setting a background color explicitly to avoid any inherited styles.\n // Looks like this could be `opacity: 0`, but worried that _might_\n // cause the element to be ignored on some platforms.\n // When debugging, set backgroundColor to something like \"red\".\n backgroundColor: 'transparent',\n position: 'fixed',\n // Being explicit to avoid inheriting styles\n padding: 0,\n margin: 0,\n boxSizing: 'border-box'\n }, getRectStyles({\n clientRect: clientRect\n })), {}, {\n // We want this element to absorb pointer events,\n // it's kind of the whole point 😉\n pointerEvents: 'auto',\n // Want to make sure the honey pot is top of everything else.\n // Don't need to worry about native drag previews, as they will\n // have been rendered (and removed) before the honey pot is rendered\n zIndex: maxZIndex\n }));\n document.body.appendChild(element);\n\n /**\n * 🦊 In firefox we can get `\"pointermove\"` events after the drag\n * has started, which is a spec violation.\n * The final `\"pointermove\"` will reveal where the \"depressed\" position\n * is for our honey pot fix.\n */\n var unbindPointerMove = bind(window, {\n type: 'pointermove',\n listener: function listener(event) {\n var client = {\n x: event.clientX,\n y: event.clientY\n };\n clientRect = getHoneyPotRectFor({\n client: client\n });\n Object.assign(element.style, getRectStyles({\n clientRect: clientRect\n }));\n },\n // using capture so we are less likely to be impacted by event stopping\n options: {\n capture: true\n }\n });\n return function finish(_ref5) {\n var current = _ref5.current;\n // Don't need this any more\n unbindPointerMove();\n\n // If the user is hover the honey pot, we remove it\n // so that the user can continue to interact with the page normally.\n if (isWithin({\n client: current,\n clientRect: clientRect\n })) {\n element.remove();\n return;\n }\n function cleanup() {\n unbindPostDragEvents();\n element.remove();\n }\n var unbindPostDragEvents = bindAll(window, [{\n type: 'pointerdown',\n listener: cleanup\n }, {\n type: 'pointermove',\n listener: cleanup\n }, {\n type: 'focusin',\n listener: cleanup\n }, {\n type: 'focusout',\n listener: cleanup\n },\n // a 'pointerdown' should happen before 'dragstart', but just being super safe\n {\n type: 'dragstart',\n listener: cleanup\n },\n // if the user has dragged something out of the window\n // and then is dragging something back into the window\n // the first events we will see are \"dragenter\" (and then \"dragover\").\n // So if we see any of these we need to clear the post drag fix.\n {\n type: 'dragenter',\n listener: cleanup\n }, {\n type: 'dragover',\n listener: cleanup\n }\n\n // Not adding a \"wheel\" event listener, as \"wheel\" by itself does not\n // resolve the bug.\n ], {\n // Using `capture` so less likely to be impacted by other code stopping events\n capture: true\n });\n };\n}\nexport function makeHoneyPotFix() {\n var latestPointerMove = null;\n function bindEvents() {\n // For sanity, only collecting this value from when events are first bound.\n // This prevents the case where a super old \"pointermove\" could be used\n // from a prior interaction.\n latestPointerMove = null;\n return bind(window, {\n type: 'pointermove',\n listener: function listener(event) {\n latestPointerMove = {\n x: event.clientX,\n y: event.clientY\n };\n },\n // listening for pointer move in capture phase\n // so we are less likely to be impacted by events being stopped.\n options: {\n capture: true\n }\n });\n }\n function getOnPostDispatch() {\n var finish = null;\n return function onPostEvent(_ref6) {\n var eventName = _ref6.eventName,\n payload = _ref6.payload;\n // We are adding the honey pot `onDragStart` so we don't\n // impact the creation of the native drag preview.\n if (eventName === 'onDragStart') {\n var _latestPointerMove;\n var input = payload.location.initial.input;\n\n // Sometimes there will be no latest \"pointermove\" (eg iOS).\n // In which case, we use the start position of the drag.\n var initial = (_latestPointerMove = latestPointerMove) !== null && _latestPointerMove !== void 0 ? _latestPointerMove : {\n x: input.clientX,\n y: input.clientY\n };\n\n // Don't need to defensively call `finish()` as `onDrop` from\n // one interaction is guaranteed to be called before `onDragStart`\n // of the next.\n finish = mountHoneyPot({\n initial: initial\n });\n }\n if (eventName === 'onDrop') {\n var _finish;\n var _input = payload.location.current.input;\n (_finish = finish) === null || _finish === void 0 || _finish({\n current: {\n x: _input.clientX,\n y: _input.clientY\n }\n });\n finish = null;\n // this interaction is finished, we want to use\n // the latest \"pointermove\" for each interaction\n latestPointerMove = null;\n }\n };\n }\n return {\n bindEvents: bindEvents,\n getOnPostDispatch: getOnPostDispatch\n };\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","/** Provide a function that you only ever want to be called a single time */\nexport function once(fn) {\n var cache = null;\n return function wrapped() {\n if (!cache) {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var result = fn.apply(this, args);\n cache = {\n result: result\n };\n }\n return cache.result;\n };\n}","import { once } from '../public-utils/once';\n\n// using `cache` as our `isFirefox()` result will not change in a browser\n\n/**\n * Returns `true` if a `Firefox` browser\n * */\nexport var isFirefox = once(function isFirefox() {\n if (process.env.NODE_ENV === 'test') {\n return false;\n }\n return navigator.userAgent.includes('Firefox');\n});","import { once } from '../public-utils/once';\n\n// using `cache` as our `isSafari()` result will not change in a browser\n\n/**\n * Returns `true` if a `Safari` browser.\n * Returns `true` if the browser is running on iOS (they are all Safari).\n * */\nexport var isSafari = once(function isSafari() {\n if (process.env.NODE_ENV === 'test') {\n return false;\n }\n var _navigator = navigator,\n userAgent = _navigator.userAgent;\n return userAgent.includes('AppleWebKit') && !userAgent.includes('Chrome');\n});","import { bindAll } from 'bind-event-listener';\nimport { isSafari } from '../is-safari';\n\n/* For \"dragenter\" events, the browser should set `relatedTarget` to the previous element.\n * For external drag operations, our first \"dragenter\" event should have a `event.relatedTarget` of `null`.\n *\n * Unfortunately in Safari `event.relatedTarget` is *always* set to `null`\n * Safari bug: https://bugs.webkit.org/show_bug.cgi?id=242627\n * To work around this we count \"dragenter\" and \"dragleave\" events */\n\n// Using symbols for event properties so we don't clash with\n// anything on the `event` object\nvar symbols = {\n isLeavingWindow: Symbol('leaving'),\n isEnteringWindow: Symbol('entering')\n};\nexport function isEnteringWindowInSafari(_ref) {\n var dragEnter = _ref.dragEnter;\n if (!isSafari()) {\n return false;\n }\n return dragEnter.hasOwnProperty(symbols.isEnteringWindow);\n}\nexport function isLeavingWindowInSafari(_ref2) {\n var dragLeave = _ref2.dragLeave;\n if (!isSafari()) {\n return false;\n }\n return dragLeave.hasOwnProperty(symbols.isLeavingWindow);\n}\n(function fixSafari() {\n // Don't do anything when server side rendering\n if (typeof window === 'undefined') {\n return;\n }\n\n // rather than checking the userAgent for \"jsdom\" we can do this check\n // so that the check will be removed completely in production code\n if (process.env.NODE_ENV === 'test') {\n return;\n }\n if (!isSafari()) {\n return;\n }\n function getInitialState() {\n return {\n enterCount: 0,\n isOverWindow: false\n };\n }\n var state = getInitialState();\n function resetState() {\n state = getInitialState();\n }\n\n // These event listeners are bound _forever_ and _never_ removed\n // We don't bother cleaning up these event listeners (for now)\n // as this workaround is only for Safari\n\n // This is how the event count works:\n //\n // lift (+1 enterCount)\n // - dragstart(draggable) [enterCount: 0]\n // - dragenter(draggable) [enterCount: 1]\n // leaving draggable (+0 enterCount)\n // - dragenter(document.body) [enterCount: 2]\n // - dragleave(draggable) [enterCount: 1]\n // leaving window (-1 enterCount)\n // - dragleave(document.body) [enterCount: 0] {leaving the window}\n\n // Things to note:\n // - dragenter and dragleave bubble\n // - the first dragenter when entering a window might not be on `window`\n // - it could be on an element that is pressed up against the window\n // - (so we cannot rely on `event.target` values)\n\n bindAll(window, [{\n type: 'dragstart',\n listener: function listener() {\n state.enterCount = 0;\n // drag start occurs in the source window\n state.isOverWindow = true;\n // When a drag first starts it will also trigger a \"dragenter\" on the draggable element\n }\n }, {\n type: 'drop',\n listener: resetState\n }, {\n type: 'dragend',\n listener: resetState\n }, {\n type: 'dragenter',\n listener: function listener(event) {\n if (!state.isOverWindow && state.enterCount === 0) {\n // Patching the `event` object\n // The `event` object is shared with all event listeners for the event\n // @ts-expect-error: adding property to the event object\n event[symbols.isEnteringWindow] = true;\n }\n state.isOverWindow = true;\n state.enterCount++;\n }\n }, {\n type: 'dragleave',\n listener: function listener(event) {\n state.enterCount--;\n if (state.isOverWindow && state.enterCount === 0) {\n // Patching the `event` object as it is shared with all event listeners\n // The `event` object is shared with all event listeners for the event\n // @ts-expect-error: adding property to the event object\n event[symbols.isLeavingWindow] = true;\n state.isOverWindow = false;\n }\n }\n }],\n // using `capture: true` so that adding event listeners\n // in bubble phase will have the correct symbols\n {\n capture: true\n });\n})();","/**\n * Does the `EventTarget` look like a `Node` based on \"duck typing\".\n *\n * Helpful when the `Node` might be outside of the current document\n * so we cannot to an `target instanceof Node` check.\n */\nfunction isNodeLike(target) {\n return 'nodeName' in target;\n}\n\n/**\n * Is an `EventTarget` a `Node` from another `window`?\n */\nexport function isFromAnotherWindow(eventTarget) {\n return isNodeLike(eventTarget) && eventTarget.ownerDocument !== document;\n}","import { isFirefox } from '../is-firefox';\nimport { isSafari } from '../is-safari';\nimport { isLeavingWindowInSafari } from './count-events-for-safari';\nimport { isFromAnotherWindow } from './is-from-another-window';\nexport function isLeavingWindow(_ref) {\n var dragLeave = _ref.dragLeave;\n var type = dragLeave.type,\n relatedTarget = dragLeave.relatedTarget;\n if (type !== 'dragleave') {\n return false;\n }\n if (isSafari()) {\n return isLeavingWindowInSafari({\n dragLeave: dragLeave\n });\n }\n\n // Standard check: if going to `null` we are leaving the `window`\n if (relatedTarget == null) {\n return true;\n }\n\n /**\n * 🦊 Exception: `iframe` in Firefox (`125.0`)\n *\n * Case 1: parent `window` → child `iframe`\n * `dragLeave.relatedTarget` is element _inside_ the child `iframe`\n * (foreign element)\n *\n * Case 2: child `iframe` → parent `window`\n * `dragLeave.relatedTarget` is the `iframe` in the parent `window`\n * (foreign element)\n */\n\n if (isFirefox()) {\n return isFromAnotherWindow(relatedTarget);\n }\n\n /**\n * 🌏 Exception: `iframe` in Chrome (`124.0`)\n *\n * Case 1: parent `window` → child `iframe`\n * `dragLeave.relatedTarget` is the `iframe` in the parent `window`\n *\n * Case 2: child `iframe` → parent `window`\n * `dragLeave.relatedTarget` is `null` *(standard check)*\n */\n\n // Case 2\n // Using `instanceof` check as the element will be in the same `window`\n return relatedTarget instanceof HTMLIFrameElement;\n}","export function getBindingsForBrokenDrags(_ref) {\n var onDragEnd = _ref.onDragEnd;\n return [\n // ## Detecting drag ending for removed draggables\n //\n // If a draggable element is removed during a drag and the user drops:\n // 1. if over a valid drop target: we get a \"drop\" event to know the drag is finished\n // 2. if not over a valid drop target (or cancelled): we get nothing\n // The \"dragend\" event will not fire on the source draggable if it has been\n // removed from the DOM.\n // So we need to figure out if a drag operation has finished by looking at other events\n // We can do this by looking at other events\n\n // ### First detection: \"pointermove\" events\n\n // 1. \"pointermove\" events cannot fire during a drag and drop operation\n // according to the spec. So if we get a \"pointermove\" it means that\n // the drag and drop operations has finished. So if we get a \"pointermove\"\n // we know that the drag is over\n // 2. 🦊😤 Drag and drop operations are _supposed_ to suppress\n // other pointer events. However, firefox will allow a few\n // pointer event to get through after a drag starts.\n // The most I've seen is 3\n {\n type: 'pointermove',\n listener: function () {\n var callCount = 0;\n return function listener() {\n // Using 20 as it is far bigger than the most observed (3)\n if (callCount < 20) {\n callCount++;\n return;\n }\n onDragEnd();\n };\n }()\n },\n // ### Second detection: \"pointerdown\" events\n\n // If we receive this event then we know that a drag operation has finished\n // and potentially another one is about to start.\n // Note: `pointerdown` fires on all browsers / platforms before \"dragstart\"\n {\n type: 'pointerdown',\n listener: onDragEnd\n }];\n}","export function getInput(event) {\n return {\n altKey: event.altKey,\n button: event.button,\n buttons: event.buttons,\n ctrlKey: event.ctrlKey,\n metaKey: event.metaKey,\n shiftKey: event.shiftKey,\n clientX: event.clientX,\n clientY: event.clientY,\n pageX: event.pageX,\n pageY: event.pageY\n };\n}","var rafSchd = function rafSchd(fn) {\n var lastArgs = [];\n var frameId = null;\n\n var wrapperFn = function wrapperFn() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n lastArgs = args;\n\n if (frameId) {\n return;\n }\n\n frameId = requestAnimationFrame(function () {\n frameId = null;\n fn.apply(void 0, lastArgs);\n });\n };\n\n wrapperFn.cancel = function () {\n if (!frameId) {\n return;\n }\n\n cancelAnimationFrame(frameId);\n frameId = null;\n };\n\n return wrapperFn;\n};\n\nexport default rafSchd;\n","import rafSchd from 'raf-schd';\nvar scheduleOnDrag = rafSchd(function (fn) {\n return fn();\n});\nvar dragStart = function () {\n var scheduled = null;\n function schedule(fn) {\n var frameId = requestAnimationFrame(function () {\n scheduled = null;\n fn();\n });\n scheduled = {\n frameId: frameId,\n fn: fn\n };\n }\n function flush() {\n if (scheduled) {\n cancelAnimationFrame(scheduled.frameId);\n scheduled.fn();\n scheduled = null;\n }\n }\n return {\n schedule: schedule,\n flush: flush\n };\n}();\nexport function makeDispatch(_ref) {\n var source = _ref.source,\n initial = _ref.initial,\n dispatchEvent = _ref.dispatchEvent;\n var previous = {\n dropTargets: []\n };\n function safeDispatch(args) {\n dispatchEvent(args);\n previous = {\n dropTargets: args.payload.location.current.dropTargets\n };\n }\n var dispatch = {\n start: function start(_ref2) {\n var nativeSetDragImage = _ref2.nativeSetDragImage;\n // Ensuring that both `onGenerateDragPreview` and `onDragStart` get the same location.\n // We do this so that `previous` is`[]` in `onDragStart` (which is logical)\n var location = {\n current: initial,\n previous: previous,\n initial: initial\n };\n // a `onGenerateDragPreview` does _not_ add another entry for `previous`\n // onDragPreview\n safeDispatch({\n eventName: 'onGenerateDragPreview',\n payload: {\n source: source,\n location: location,\n nativeSetDragImage: nativeSetDragImage\n }\n });\n dragStart.schedule(function () {\n safeDispatch({\n eventName: 'onDragStart',\n payload: {\n source: source,\n location: location\n }\n });\n });\n },\n dragUpdate: function dragUpdate(_ref3) {\n var current = _ref3.current;\n dragStart.flush();\n scheduleOnDrag.cancel();\n safeDispatch({\n eventName: 'onDropTargetChange',\n payload: {\n source: source,\n location: {\n initial: initial,\n previous: previous,\n current: current\n }\n }\n });\n },\n drag: function drag(_ref4) {\n var current = _ref4.current;\n scheduleOnDrag(function () {\n dragStart.flush();\n var location = {\n initial: initial,\n previous: previous,\n current: current\n };\n safeDispatch({\n eventName: 'onDrag',\n payload: {\n source: source,\n location: location\n }\n });\n });\n },\n drop: function drop(_ref5) {\n var current = _ref5.current,\n updatedSourcePayload = _ref5.updatedSourcePayload;\n dragStart.flush();\n scheduleOnDrag.cancel();\n safeDispatch({\n eventName: 'onDrop',\n payload: {\n source: updatedSourcePayload !== null && updatedSourcePayload !== void 0 ? updatedSourcePayload : source,\n location: {\n current: current,\n previous: previous,\n initial: initial\n }\n }\n });\n }\n };\n return dispatch;\n}","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport { bindAll } from 'bind-event-listener';\nimport { getElementFromPointWithoutHoneypot } from '../honey-pot-fix/get-element-from-point-without-honey-pot';\nimport { isHoneyPotElement } from '../honey-pot-fix/is-honey-pot-element';\nimport { isLeavingWindow } from '../util/changing-window/is-leaving-window';\nimport { getBindingsForBrokenDrags } from '../util/detect-broken-drag';\nimport { getInput } from '../util/get-input';\nimport { makeDispatch } from './dispatch-consumer-event';\nvar globalState = {\n isActive: false\n};\nfunction canStart() {\n return !globalState.isActive;\n}\nfunction getNativeSetDragImage(event) {\n if (event.dataTransfer) {\n // need to use `.bind` as `setDragImage` is required\n // to be run with `event.dataTransfer` as the \"this\" context\n return event.dataTransfer.setDragImage.bind(event.dataTransfer);\n }\n return null;\n}\nfunction hasHierarchyChanged(_ref) {\n var current = _ref.current,\n next = _ref.next;\n if (current.length !== next.length) {\n return true;\n }\n // not checking stickiness, data or dropEffect,\n // just whether the hierarchy has changed\n for (var i = 0; i < current.length; i++) {\n if (current[i].element !== next[i].element) {\n return true;\n }\n }\n return false;\n}\nfunction start(_ref2) {\n var event = _ref2.event,\n dragType = _ref2.dragType,\n getDropTargetsOver = _ref2.getDropTargetsOver,\n dispatchEvent = _ref2.dispatchEvent;\n if (!canStart()) {\n return;\n }\n var initial = getStartLocation({\n event: event,\n dragType: dragType,\n getDropTargetsOver: getDropTargetsOver\n });\n globalState.isActive = true;\n var state = {\n current: initial\n };\n\n // Setting initial drop effect for the drag\n setDropEffectOnEvent({\n event: event,\n current: initial.dropTargets\n });\n var dispatch = makeDispatch({\n source: dragType.payload,\n dispatchEvent: dispatchEvent,\n initial: initial\n });\n function updateState(next) {\n // only looking at whether hierarchy has changed to determine whether something as 'changed'\n var hasChanged = hasHierarchyChanged({\n current: state.current.dropTargets,\n next: next.dropTargets\n });\n\n // Always updating the state to include latest data, dropEffect and stickiness\n // Only updating consumers if the hierarchy has changed in some way\n // Consumers can get the latest data by using `onDrag`\n state.current = next;\n if (hasChanged) {\n dispatch.dragUpdate({\n current: state.current\n });\n }\n }\n function onUpdateEvent(event) {\n var input = getInput(event);\n\n // If we are over the honey pot, we need to get the element\n // that the user would have been over if not for the honey pot\n var target = isHoneyPotElement(event.target) ? getElementFromPointWithoutHoneypot({\n x: input.clientX,\n y: input.clientY\n }) : event.target;\n var nextDropTargets = getDropTargetsOver({\n target: target,\n input: input,\n source: dragType.payload,\n current: state.current.dropTargets\n });\n if (nextDropTargets.length) {\n // 🩸 must call `event.preventDefault()` to allow a browser drop to occur\n event.preventDefault();\n setDropEffectOnEvent({\n event: event,\n current: nextDropTargets\n });\n }\n updateState({\n dropTargets: nextDropTargets,\n input: input\n });\n }\n function cancel() {\n // The spec behaviour is that when a drag is cancelled, or when dropping on no drop targets,\n // a \"dragleave\" event is fired on the active drop target before a \"dragend\" event.\n // We are replicating that behaviour in `cancel` if there are any active drop targets to\n // ensure consistent behaviour.\n //\n // Note: When cancelling, or dropping on no drop targets, a \"dragleave\" event\n // will have already cleared the dropTargets to `[]` (as that particular \"dragleave\" has a `relatedTarget` of `null`)\n\n if (state.current.dropTargets.length) {\n updateState({\n dropTargets: [],\n input: state.current.input\n });\n }\n dispatch.drop({\n current: state.current,\n updatedSourcePayload: null\n });\n finish();\n }\n function finish() {\n globalState.isActive = false;\n unbindEvents();\n }\n var unbindEvents = bindAll(window, [{\n // 👋 Note: we are repurposing the `dragover` event as our `drag` event\n // this is because firefox does not publish pointer coordinates during\n // a `drag` event, but does for every other type of drag event\n // `dragover` fires on all elements that are being dragged over\n // Because we are binding to `window` - our `dragover` is effectively the same as a `drag`\n // 🦊😤\n type: 'dragover',\n listener: function listener(event) {\n // We need to regularly calculate the drop targets in order to allow:\n // - dynamic `canDrop()` checks\n // - rapid updating `getData()` calls to attach data in response to user input (eg for edge detection)\n // Sadly we cannot schedule inspecting changes resulting from this event\n // we need to be able to conditionally cancel the event with `event.preventDefault()`\n // to enable the correct native drop experience.\n\n // 1. check to see if anything has changed\n onUpdateEvent(event);\n\n // 2. let consumers know a move has occurred\n // This will include the latest 'input' values\n dispatch.drag({\n current: state.current\n });\n }\n }, {\n type: 'dragenter',\n listener: onUpdateEvent\n }, {\n type: 'dragleave',\n listener: function listener(event) {\n if (!isLeavingWindow({\n dragLeave: event\n })) {\n return;\n }\n\n /**\n * At this point we don't know if a drag is being cancelled,\n * or if a drag is leaving the `window`.\n *\n * Both have:\n * 1. \"dragleave\" (with `relatedTarget: null`)\n * 2. \"dragend\" (a \"dragend\" can occur when outside the `window`)\n *\n * **Clearing drop targets**\n *\n * For either case we are clearing the the drop targets\n *\n * - cancelling: we clear drop targets in `\"dragend\"` anyway\n * - leaving the `window`: we clear the drop targets (to clear stickiness)\n *\n * **Leaving the window and finishing the drag**\n *\n * _internal drags_\n *\n * - The drag continues when the user is outside the `window`\n * and can resume if the user drags back over the `window`,\n * or end when the user drops in an external `window`.\n * - We will get a `\"dragend\"`, or we can listen for other\n * events to determine the drag is finished when the user re-enters the `window`).\n *\n * _external drags_\n *\n * - We conclude the drag operation.\n * - We have no idea if the user will drag back over the `window`,\n * or if the drag ends elsewhere.\n * - We will create a new drag if the user re-enters the `window`.\n *\n * **Not updating `input`**\n *\n * 🐛 Bug[Chrome] the final `\"dragleave\"` has default input values (eg `clientX == 0`)\n * Workaround: intentionally not updating `input` in \"dragleave\"\n * rather than the users current input values\n * - [Conversation](https://twitter.com/alexandereardon/status/1642697633864241152)\n * - [Bug](https://bugs.chromium.org/p/chromium/issues/detail?id=1429937)\n **/\n\n updateState({\n input: state.current.input,\n dropTargets: []\n });\n if (dragType.startedFrom === 'external') {\n cancel();\n }\n }\n }, {\n // A \"drop\" can only happen if the browser allowed the drop\n type: 'drop',\n listener: function listener(event) {\n // Capture the final input.\n // We are capturing the final `input` for the\n // most accurate honey pot experience\n state.current = {\n dropTargets: state.current.dropTargets,\n input: getInput(event)\n };\n\n /** If there are no drop targets, then we will get\n * a \"drop\" event if:\n * - `preventUnhandled()` is being used\n * - there is an unmanaged drop target (eg another library)\n * In these cases, it's up to the consumer\n * to handle the drop if it's not over one of our drop targets\n * - `preventUnhandled()` will cancel the \"drop\"\n * - unmanaged drop targets can handle the \"drop\" how they want to\n * We won't call `event.preventDefault()` in this call path */\n\n if (!state.current.dropTargets.length) {\n cancel();\n return;\n }\n event.preventDefault();\n\n // applying the latest drop effect to the event\n setDropEffectOnEvent({\n event: event,\n current: state.current.dropTargets\n });\n dispatch.drop({\n current: state.current,\n // When dropping something native, we need to extract the latest\n // `.items` from the \"drop\" event as it is now accessible\n updatedSourcePayload: dragType.type === 'external' ? dragType.getDropPayload(event) : null\n });\n finish();\n }\n }, {\n // \"dragend\" fires when on the drag source (eg a draggable element)\n // when the drag is finished.\n // \"dragend\" will fire after \"drop\" (if there was a successful drop)\n // \"dragend\" does not fire if the draggable source has been removed during the drag\n // or for external drag sources (eg files)\n\n // This \"dragend\" listener will not fire if there was a successful drop\n // as we will have already removed the event listener\n\n type: 'dragend',\n listener: function listener(event) {\n // In firefox, the position of the \"dragend\" event can\n // be a bit different to the last \"dragover\" event.\n // Updating the input so we can get the best possible\n // information for the honey pot.\n state.current = {\n dropTargets: state.current.dropTargets,\n input: getInput(event)\n };\n cancel();\n }\n }].concat(_toConsumableArray(getBindingsForBrokenDrags({\n onDragEnd: cancel\n }))),\n // Once we have started a managed drag operation it is important that we see / own all drag events\n // We got one adoption bug pop up where some code was stopping (`event.stopPropagation()`)\n // all \"drop\" events in the bubble phase on the `document.body`.\n // This meant that we never saw the \"drop\" event.\n {\n capture: true\n });\n dispatch.start({\n nativeSetDragImage: getNativeSetDragImage(event)\n });\n}\nfunction setDropEffectOnEvent(_ref3) {\n var _current$;\n var event = _ref3.event,\n current = _ref3.current;\n // setting the `dropEffect` to be the innerMost drop targets dropEffect\n var innerMost = (_current$ = current[0]) === null || _current$ === void 0 ? void 0 : _current$.dropEffect;\n if (innerMost != null && event.dataTransfer) {\n event.dataTransfer.dropEffect = innerMost;\n }\n}\nfunction getStartLocation(_ref4) {\n var event = _ref4.event,\n dragType = _ref4.dragType,\n getDropTargetsOver = _ref4.getDropTargetsOver;\n var input = getInput(event);\n\n // When dragging from outside of the browser,\n // the drag is not being sourced from any local drop targets\n if (dragType.startedFrom === 'external') {\n return {\n input: input,\n dropTargets: []\n };\n }\n var dropTargets = getDropTargetsOver({\n input: input,\n source: dragType.payload,\n target: event.target,\n current: []\n });\n return {\n input: input,\n dropTargets: dropTargets\n };\n}\nexport var lifecycle = {\n canStart: canStart,\n start: start\n};","// Extending `Map` to allow us to link Key and Values together\n\nvar ledger = new Map();\nfunction registerUsage(_ref) {\n var typeKey = _ref.typeKey,\n mount = _ref.mount;\n var entry = ledger.get(typeKey);\n if (entry) {\n entry.usageCount++;\n return entry;\n }\n var initial = {\n typeKey: typeKey,\n unmount: mount(),\n usageCount: 1\n };\n ledger.set(typeKey, initial);\n return initial;\n}\nexport function register(args) {\n var entry = registerUsage(args);\n return function unregister() {\n entry.usageCount--;\n if (entry.usageCount > 0) {\n return;\n }\n // Only a single usage left, remove it\n entry.unmount();\n ledger.delete(args.typeKey);\n };\n}","/** Create a new combined function that will call all the provided functions */\nexport function combine() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n return function cleanup() {\n fns.forEach(function (fn) {\n return fn();\n });\n };\n}","export function addAttribute(element, _ref) {\n var attribute = _ref.attribute,\n value = _ref.value;\n element.setAttribute(attribute, value);\n return function () {\n return element.removeAttribute(attribute);\n };\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _createForOfIteratorHelper(r, e) { var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, 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 = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }\nfunction _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; } }\nfunction _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; }\nimport { combine } from '../public-utils/combine';\nimport { addAttribute } from '../util/add-attribute';\nfunction copyReverse(array) {\n return array.slice(0).reverse();\n}\nexport function makeDropTarget(_ref) {\n var typeKey = _ref.typeKey,\n defaultDropEffect = _ref.defaultDropEffect;\n var registry = new WeakMap();\n var dropTargetDataAtt = \"data-drop-target-for-\".concat(typeKey);\n var dropTargetSelector = \"[\".concat(dropTargetDataAtt, \"]\");\n function addToRegistry(args) {\n registry.set(args.element, args);\n return function () {\n return registry.delete(args.element);\n };\n }\n function dropTargetForConsumers(args) {\n // Guardrail: warn if the draggable element is already registered\n if (process.env.NODE_ENV !== 'production') {\n var existing = registry.get(args.element);\n if (existing) {\n // eslint-disable-next-line no-console\n console.warn(\"You have already registered a [\".concat(typeKey, \"] dropTarget on the same element\"), {\n existing: existing,\n proposed: args\n });\n }\n if (args.element instanceof HTMLIFrameElement) {\n // eslint-disable-next-line no-console\n console.warn(\"\\n We recommend not registering