diff --git a/docs/api_reference/agents/index.md b/docs/api_reference/agents/index.md index 2608a8eb4..d7f3b916b 100644 --- a/docs/api_reference/agents/index.md +++ b/docs/api_reference/agents/index.md @@ -8,4 +8,10 @@ ::: ragbits.agents.AgentResultStreaming +::: ragbits.agents.AgentRunContext + ::: ragbits.agents.a2a.server.create_agent_server + +::: ragbits.agents.hooks.Hook + +::: ragbits.agents.hooks.EventType diff --git a/docs/how-to/agents/define_and_use_agents.md b/docs/how-to/agents/define_and_use_agents.md index da3ccb6d5..02034c276 100644 --- a/docs/how-to/agents/define_and_use_agents.md +++ b/docs/how-to/agents/define_and_use_agents.md @@ -32,7 +32,7 @@ Use a structured prompt to instruct the LLM. For details on writing prompts with from pydantic import BaseModel from ragbits.core.prompt import Prompt ---8<-- "examples/agents/tool_use.py:51:70" +--8<-- "examples/agents/tool_use.py:51:72" ``` ### Run the agent @@ -49,6 +49,33 @@ The result is an [AgentResult][ragbits.agents.AgentResult], which includes the m You can find the complete code example in the Ragbits repository [here](https://github.com/deepsense-ai/ragbits/blob/main/examples/agents/tool_use.py). +### Alternative approach: inheritance with `prompt_config` + +In addition to explicitly attaching a Prompt instance, Ragbits also supports defining agents through a combination of inheritance and the `@Agent.prompt_config` decorator. + +This approach lets you bind input (and optionally output) models directly to your agent class. The agent then derives its prompt structure automatically, without requiring a prompt argument in the constructor. + +```python +from pydantic import BaseModel +from ragbits.agents import Agent + +--8<-- "examples/agents/with_decorator.py:51:71" +``` + +The decorator can also accept an output type, allowing you to strongly type both the inputs and outputs of the agent. If you do not explicitly define a `user_prompt`, Ragbits will default to `{{ input }}`. + +Once defined, the agent class can be used directly, just like any other subclass of Agent: + +```python +import asyncio +from ragbits.agents import Agent +from ragbits.core.llms import LiteLLM + +--8<-- "examples/agents/with_decorator.py:73:84" +``` + +You can find the complete code example in the Ragbits repository [here](https://github.com/deepsense-ai/ragbits/blob/main/examples/agents/with_decorator.py). + ## Tool choice To control what tool is used at first call you could use `tool_choice` parameter. There are the following options: - "auto": let model decide if tool call is needed @@ -120,9 +147,56 @@ async def main() -> None: See the runnable example in `examples/agents/dependencies.py`. ## Streaming agent responses -For use cases where you want to process partial outputs from the LLM as they arrive (e.g., in chat UIs), the [`Agent`][ragbits.agents.Agent] class supports streaming through the `run_streaming()` method. +For use cases where you want to process partial outputs from the LLM as they arrive (e.g., in chat UIs), +the [`Agent`][ragbits.agents.Agent] class supports streaming through the `run_streaming()` method. + +This method returns an `AgentResultStreaming` object — an async iterator that yields parts of the LLM response and +tool-related events in real time. + +```python +from ragbits.agents import Agent, ToolCall, ToolCallResult +from ragbits.core.llms import LiteLLM + +async def main() -> None: + """Run the weather agent with streaming output.""" + llm = LiteLLM(model_name="gpt-4o-2024-08-06", use_structured_output=True) + agent = Agent(llm=llm, prompt=WeatherPrompt, tools=[get_weather]) + + async for chunk in agent.run_streaming(WeatherPromptInput(location="Paris")): + if isinstance(chunk, ToolCall): + print(f"Calling tool: {chunk.name}({chunk.arguments})") + elif isinstance(chunk, ToolCallResult): + print(f"Tool result: {chunk.result}") + elif isinstance(chunk, str): + print(chunk, end="", flush=True) +``` + +## Streaming custom events from tools +Tools can emit custom events during execution that are surfaced through the streaming loop. +To do this, define your tool as an async generator that yields intermediate events and a final +`ToolReturn` value: + +```python +from collections.abc import AsyncGenerator + +from pydantic import BaseModel + +from ragbits.agents.tool import ToolReturn + +--8<-- "examples/agents/stream_events_from_tools.py:30:44" +``` + +Events yielded before the `ToolReturn` are collected and available via `result.tool_events` +after the stream completes: + +```python +from ragbits.agents import Agent +from ragbits.core.llms import LiteLLM + +--8<-- "examples/agents/stream_events_from_tools.py:46:55" +``` -This method returns an `AgentResultStreaming` object — an async iterator that yields parts of the LLM response and tool-related events in real time. +You can find the complete code example in the Ragbits repository [here](https://github.com/deepsense-ai/ragbits/blob/main/examples/agents/stream_events_from_tools.py). ## Native OpenAI tools Ragbits supports selected native OpenAI tools (web_search_preview, image_generation and code_interpreter). You can use them together with your tools. diff --git a/docs/how-to/agents/stream_downstream_agents.md b/docs/how-to/agents/stream_downstream_agents.md new file mode 100644 index 000000000..1cbaccb62 --- /dev/null +++ b/docs/how-to/agents/stream_downstream_agents.md @@ -0,0 +1,48 @@ +# How-To: Stream downstream agents with Ragbits + +Ragbits [Agent][ragbits.agents.Agent] can call other agents as tools, creating a chain of reasoning where downstream agents provide structured results to the parent agent. + +Using the streaming API, you can observe every chunk of output as it is generated, including tool calls, tool results, and final text - perfect for real-time monitoring or chat interfaces. + +## Define a simple tool + +A tool is just a Python function returning a JSON-serializable result. Here’s an example tool returning the current time for a given location: + +```python +import json + +--8<-- "examples/agents/downstream_agents_streaming.py:33:51" +``` + +## Create a downstream agent + +The downstream agent wraps the tool with a prompt, allowing the LLM to use it as a function. + +```python +from pydantic import BaseModel +from ragbits.core.prompt import Prompt +from ragbits.agents import Agent +from ragbits.agents._main import AgentOptions +from ragbits.core.llms import LiteLLM + +--8<-- "examples/agents/downstream_agents_streaming.py:54:82" +``` + +## Create a parent QA agent + +The parent agent can call downstream agents as tools. This lets the LLM reason and decide when to invoke the downstream agent. + +```python +--8<-- "examples/agents/downstream_agents_streaming.py:85:111" +``` + +## Streaming output from downstream agents + +Use `run_streaming` with an [AgentRunContext][ragbits.agents.AgentRunContext] to see output as it happens. Each chunk contains either text, a tool call, or a tool result. You can print agent names when they change and handle downstream agent events. + +```python +import asyncio +from ragbits.agents import DownstreamAgentResult + +--8<-- "examples/agents/downstream_agents_streaming.py:114:133" +``` diff --git a/docs/how-to/agents/stream_events_from_tools_to_chat.md b/docs/how-to/agents/stream_events_from_tools_to_chat.md new file mode 100644 index 000000000..9b4546ad8 --- /dev/null +++ b/docs/how-to/agents/stream_events_from_tools_to_chat.md @@ -0,0 +1,45 @@ +# How-To: Streaming events from tools and using them in the client + +In this document, we will build a tool that is able to send custom commands to the UI and display a Markdown table +to the user. + +## Define a streaming tool +To achieve this, define a tool as a `Generator` or `AsyncGenerator` that yields an event that the client is able +to handle. In our case, we will use a `TextReponse` event, which is supported by Ragbits UI. + +Note, that the custom events yielded from the tool won't be automatically passed to the LLM. To indicate the output of +the tool that needs to be passed to the LLM, use `ToolReturn`. + +```python +from collections.abc import Generator + +from ragbits.agents.tool import ToolReturn +from ragbits.chat.interface.types import TextContent, TextResponse + +--8<-- "examples/chat/stream_events_from_tools_to_chat.py:61:75" +``` + +You can also define custom events by inheriting `ChatResponse` class with a custom `ResponseContent`. The content can +be arbitrary, as long as your client understands it and is able to handle it. To do that, you will need to extend +Ragbits UI with your own event handlers. + +## Use it in a ChatInterface + +Now, we will implement a [`ChatInterface`][ragbits.chat.interface.ChatInterface] that uses the agent with the streaming tool. +You can serve and test it via `RagbitsAPI`. Since we used a TextResponse that is understood by the Ragbits UI, we can +deploy the app and test the agent right away. + +```python +from collections.abc import AsyncGenerator + +from ragbits.agents import Agent +from ragbits.chat.api import RagbitsAPI +from ragbits.chat.interface import ChatInterface +from ragbits.chat.interface.types import ChatContext, ChatResponse, TextResponse +from ragbits.core.llms import LiteLLM +from ragbits.core.prompt.base import ChatFormat + +--8<-- "examples/chat/stream_events_from_tools_to_chat.py:82:111" +``` + +Note, that the system receiving the events may be completely different from Ragbits frontend. diff --git a/docs/how-to/agents/use_hooks.md b/docs/how-to/agents/use_hooks.md new file mode 100644 index 000000000..1f1055a47 --- /dev/null +++ b/docs/how-to/agents/use_hooks.md @@ -0,0 +1,269 @@ +# How-To: Use hooks to customize agent behavior + +Ragbits provides a hook system that lets you intercept and modify agent behavior at key points in the execution lifecycle. Hooks allow you to validate inputs, modify arguments, mask outputs, enforce guardrails, require user confirmation, and more — all without changing the agent or tool code itself. + +The hook system supports five event types: + +- **`PRE_TOOL`** — triggered before a tool is invoked +- **`POST_TOOL`** — triggered after a tool completes +- **`PRE_RUN`** — triggered before the agent run starts +- **`POST_RUN`** — triggered after the agent run completes +- **`ON_EVENT`** — triggered for each streaming event during `run_streaming()` + +Hooks are executed in priority order (lower numbers first) and support **chaining** — each hook receives the output of the previous one, enabling composable pipelines of transformations. + +## How to create and register a hook + +A hook is an instance of [`Hook`][ragbits.agents.hooks.Hook] that binds an async callback to a lifecycle event. You pass hooks directly to the [`Agent`][ragbits.agents.Agent] constructor: + +```python +from ragbits.agents import Agent +from ragbits.agents.hooks import EventType, Hook +from ragbits.core.llms import LiteLLM +from ragbits.core.llms.base import ToolCall + + +async def my_hook(tool_call: ToolCall) -> ToolCall: + """A simple pre-tool hook that passes all calls through.""" + return tool_call # decision defaults to "pass" + + +agent = Agent( + llm=LiteLLM("gpt-4o-mini"), + tools=[...], + hooks=[ + Hook( + event_type=EventType.PRE_TOOL, + callback=my_hook, + tool_names=["my_tool"], # None = apply to all tools + priority=10, # lower runs first (default: 100) + ), + ], +) +``` + +The `Hook` constructor accepts: + +- **`event_type`** — one of `EventType.PRE_TOOL`, `POST_TOOL`, `PRE_RUN`, `POST_RUN` or `ON_EVENT` +- **`callback`** — an async function matching the corresponding callback protocol +- **`tool_names`** — optional list of tool names this hook applies to. If `None`, the hook runs for every tool. This parameter is only relevant for `PRE_TOOL` and `POST_TOOL` hooks. +- **`priority`** — execution order; lower numbers execute first (default: `100`) + +## How to validate and modify tool inputs with pre-tool hooks + +Pre-tool hooks receive a `ToolCall` and return a `ToolCall`. The returned `ToolCall` can have a **decision** field that controls whether the tool executes: + +- `"pass"` — allow the tool to run (optionally with modified arguments) — this is the default +- `"deny"` — block the tool from running (requires a `reason`) +- `"ask"` — request user confirmation before proceeding (requires a `reason`) + +### Validate inputs + +This hook validates that an email argument has a correct format before allowing the `send_notification` tool to execute: + +```python +--8<-- "examples/agents/hooks/validation_and_sanitization.py:37:53" +``` + +If validation fails, the hook returns a `ToolCall` with `decision="deny"` which immediately stops tool execution and returns the reason to the LLM. + +### Modify arguments + +This hook rewrites email domains to an approved list, demonstrating how pre-tool hooks can modify tool arguments: + +```python +--8<-- "examples/agents/hooks/validation_and_sanitization.py:56:82" +``` + +The modified arguments are passed to the next hook in the chain (or to the tool itself if this is the last hook). + +### Chain multiple pre-tool hooks + +When multiple pre-tool hooks are registered, they execute in priority order and each hook sees the `ToolCall` modified by the previous one. If any hook returns `"deny"`, execution stops immediately: + +```python +--8<-- "examples/agents/hooks/validation_and_sanitization.py:131:144" +``` + +In this example, `validate_email` (priority 10) runs first. If it passes, `sanitize_email_domain` (priority 20) runs next and may modify the email argument before the tool executes. + +You can find the complete code example in the Ragbits repository [here](https://github.com/deepsense-ai/ragbits/blob/main/examples/agents/hooks/validation_and_sanitization.py). + +## How to modify tool outputs with post-tool hooks + +Post-tool hooks receive the original `ToolCall` and the `ToolReturn`, and return a (possibly modified) `ToolReturn`. + +### Mask sensitive data + +This hook replaces sensitive fields in search results before they reach the LLM: + +```python +--8<-- "examples/agents/hooks/validation_and_sanitization.py:85:104" +``` + +### Log tool outputs + +This hook logs the output of specific agent tools without modifying the result: + +```python +--8<-- "examples/agents/hooks/agent_output_logging.py:18:24" +``` + +To apply it only to specific tools, use the `tool_names` parameter: + +```python +--8<-- "examples/agents/hooks/agent_output_logging.py:44:49" +``` + +You can find the complete code example in the Ragbits repository [here](https://github.com/deepsense-ai/ragbits/blob/main/examples/agents/hooks/agent_output_logging.py). + +## How to validate agent input with pre-run hooks + +Pre-run hooks execute before the agent starts processing. They receive the user input, options, and context as separate arguments, and return the (potentially modified) input directly. + +A common use case is integrating guardrails to block unsafe or policy-violating inputs: + +```python +--8<-- "examples/agents/hooks/guardrails_integration.py:47:62" +``` + +To block the agent from processing the input, the hook returns a replacement message. This message becomes the agent's final output — no LLM call or tool execution happens. + +Register it with the agent: + +```python +--8<-- "examples/agents/hooks/guardrails_integration.py:71:75" +``` + +!!! tip + Pre-run hooks also work with streaming via `agent.run_streaming()`. If a pre-run hook replaces the input, the replacement text is streamed back directly. + +You can find the complete code example in the Ragbits repository [here](https://github.com/deepsense-ai/ragbits/blob/main/examples/agents/hooks/guardrails_integration.py). + +## How to modify agent results with post-run hooks + +Post-run hooks execute after the agent completes its run. They receive the `AgentResult`, options, and context as separate arguments, and return the (potentially modified) `AgentResult`. + +Use post-run hooks to transform, enrich, or log final results: + +```python +from ragbits.agents._main import AgentResult +from ragbits.agents.hooks import EventType, Hook + + +async def enrich_result(result: AgentResult, options: object, context: object) -> AgentResult: + """Add metadata to the agent result.""" + result.metadata["processed_by"] = "post_run_hook" + return result + + +hook = Hook(event_type=EventType.POST_RUN, callback=enrich_result) +``` + +## How to process streaming events with on-event hooks + +On-event hooks intercept every event emitted during `agent.run_streaming()`. They receive a `StreamingEvent` and can modify it, suppress it, or expand it into multiple events. This is useful for real-time filtering, transformation, or enrichment of the streaming output. + +`StreamingEvent` is a union of all types that can appear in the streaming output: `str` (text chunks), `ToolCall`, `ToolCallResult`, `ToolEvent`, `DownstreamAgentResult`, `SimpleNamespace`, `BasePrompt`, `Usage`, and `ConfirmationRequest`. + +### Modify streaming events + +An on-event callback receives a single `StreamingEvent` and returns the modified event (or the same event unchanged): + +```python +from ragbits.agents.hooks import EventType, Hook +from ragbits.agents.hooks.types import StreamingEvent + + +async def redact_keywords(event: StreamingEvent) -> StreamingEvent | None: + """Replace sensitive keywords in text chunks.""" + if isinstance(event, str): + return event.replace("SECRET", "***") + return event + + +hook = Hook(event_type=EventType.ON_EVENT, callback=redact_keywords) +``` + +### Suppress events + +Return `None` to remove an event from the stream entirely: + +```python +from ragbits.agents.hooks.types import StreamingEvent +from ragbits.core.llms.base import Usage + + +async def suppress_usage(event: StreamingEvent) -> StreamingEvent | None: + """Remove Usage events from the stream.""" + if isinstance(event, Usage): + return None + return event +``` + +### Expand a single event into multiple events + +An on-event callback can also return an async generator, yielding multiple events from a single input: + +```python +from collections.abc import AsyncGenerator + +from ragbits.agents.hooks.types import StreamingEvent + + +async def split_sentences(event: StreamingEvent) -> AsyncGenerator[StreamingEvent, None]: + """Split text chunks on sentence boundaries.""" + if isinstance(event, str) and ". " in event: + for sentence in event.split(". "): + yield sentence.strip() + "." + else: + yield event +``` + +When chained with other hooks, each yielded event is passed through subsequent hooks individually. For example, a splitting hook at priority 1 followed by an uppercasing hook at priority 2 will uppercase each split fragment separately. + +!!! note + On-event hooks only run during `agent.run_streaming()`. They have no effect on `agent.run()`. + +## How to require user confirmation before tool execution + +Ragbits includes a built-in `create_confirmation_hook` factory that creates a pre-tool hook requiring user approval before a tool runs: + +```python +from ragbits.agents import Agent +from ragbits.agents.hooks import create_confirmation_hook +from ragbits.core.llms import LiteLLM + + +agent = Agent( + llm=LiteLLM("gpt-4o-mini"), + tools=[delete_file, send_email], + hooks=[ + create_confirmation_hook(tool_names=["delete_file", "send_email"]), + ], +) +``` + +When the agent attempts to call one of the specified tools, the hook returns a `ConfirmationRequest` containing: + +- `confirmation_id` — a deterministic ID based on the hook, tool name, and arguments +- `tool_name` — the name of the tool being called +- `tool_description` — a description of why confirmation is needed +- `arguments` — the tool arguments + +The agent yields the `ConfirmationRequest` and pauses. You can then resume the agent with the user's decision by including it in the `AgentRunContext.tool_confirmations` list. + +## How hook chaining works + +All hook types support **chaining**: hooks execute in priority order (lower numbers first), and each hook receives the output of the previous one. When hooks share the same priority (the default is `100`), they execute in the order they were defined. + +``` +Hook A (priority=10) → modified data → Hook B (priority=20) → modified data → Hook C (priority=100) +``` + +For **pre-tool hooks**, the chained value is the `ToolCall` (including its `arguments`). For **post-tool hooks**, it is the `ToolReturn`. For **pre-run hooks**, it is the agent input. For **post-run hooks**, it is the `AgentResult`. For **on-event hooks**, the hooks are composed as a pipeline of async generators — each hook wraps the previous one, so events flow through the entire chain without intermediate collection. + +This makes it possible to compose independent hooks that each handle one concern (validation, sanitization, logging, etc.) into a clean pipeline. + +!!! warning + For pre-tool hooks, if any hook in the chain returns `"deny"`, execution stops immediately and subsequent hooks do not run. Design your hooks with this in mind — place critical validation hooks at lower priority numbers so they run first. diff --git a/examples/README.md b/examples/README.md index 981a2dc7a..296375295 100644 --- a/examples/README.md +++ b/examples/README.md @@ -20,6 +20,7 @@ All necessary details are provided in the comments at the top of each script. | [Multimodal Prompt with PDF Input](/examples/core/prompt/multimodal_with_pdf.py) | [ragbits-core](/packages/ragbits-core) | Example of how to use the `Prompt` class to answer the question using an LLM with both text and PDF inputs. | | [Multimodal Prompt with Few Shots](/examples/core/prompt/multimodal_with_few_shots.py) | [ragbits-core](/packages/ragbits-core) | Example of how to use the `Prompt` class to generate themed text using an LLM with multimodal inputs and few-shot examples. | | [Tool Use with LLM](/examples/core/llms/tool_use.py) | [ragbits-core](/packages/ragbits-core) | Example of how to provide tools and return tool calls from LLM. | +| [Reasoning with LLM](/examples/core/llms/reasoning.py) | [ragbits-core](/packages/ragbits-core) | Example of how to use reasoning with LLM. | | [OpenTelemetry Audit](/examples/core/audit/otel.py) | [ragbits-core](/packages/ragbits-core) | Example of how to collect traces and metrics using Ragbits audit module with OpenTelemetry. | | [Logfire Audit](/examples/core/audit/logfire_.py) | [ragbits-core](/packages/ragbits-core) | Example of how to collect traces and metrics using Ragbits audit module with Logfire. | | [Basic Document Search](/examples/document-search/basic.py) | [ragbits-document-search](/packages/ragbits-document-search) | Example of how to use the `DocumentSearch` class to search for documents with the `InMemoryVectorStore` class to store the embeddings. | @@ -35,9 +36,16 @@ All necessary details are provided in the comments at the top of each script. | [Advanced Document Search Optimization](/examples/evaluate/document-search/advanced/optimize.py) | [ragbits-evaluate](/packages/ragbits-evaluate) | Example of how to optimize an advanced document search pipeline using the `Optimizer` class. | | [Chat Interface](/examples/chat/chat.py) | [ragbits-chat](/packages/ragbits-chat) | Example of how to use the `ChatInterface` to create a simple chat application. | | [Offline Chat Interface](/examples/chat/offline_chat.py) | [ragbits-chat](/packages/ragbits-chat) | Example of how to use the `ChatInterface` to create a simple chat application that works offline. | +| [File Explorer Agent](/examples/chat/file_explorer_agent.py) | [ragbits-chat](/packages/ragbits-chat) | Secure file management agent with path validation and confirmation for all file operations within a restricted directory. | | [Recontextualize Last Message](/examples/chat/recontextualize_message.py) | [ragbits-chat](/packages/ragbits-chat) | Example of how to use the `StandaloneMessageCompressor` compressor to recontextualize the last message in a conversation history. | | [Agents Tool Use](/examples/agents/tool_use.py) | [ragbits-agents](/packages/ragbits-agents) | Example of how to use agent with tools. | | [Agents OpenAI Native Tool Use](/examples/agents/openai_native_tool_use.py) | [ragbits-agents](/packages/ragbits-agents) | Example of how to use agent with OpenAI native tools. | +| [Agents Downstream Streaming](/examples/agents/downstream_agents_streaming.py) | [ragbits-agents](/packages/ragbits-agents) | Example of how to stream outputs from downstream agents in real time. | +| [Agents Hooks - Output Logging](/examples/agents/hooks/agent_output_logging.py) | [ragbits-agents](/packages/ragbits-agents) | Example of using POST_RUN hooks to log agent outputs. | +| [Agents Hooks - Guardrails](/examples/agents/hooks/guardrails_integration.py) | [ragbits-agents](/packages/ragbits-agents) | Example of using PRE_RUN hooks to integrate guardrails for input validation. | +| [Agents Hooks - Validation](/examples/agents/hooks/validation_and_sanitization.py) | [ragbits-agents](/packages/ragbits-agents) | Example of using PRE_TOOL and POST_TOOL hooks for argument validation and output sanitization. | +| [Agents CLI](/examples/agents/cli_agent.py) | [ragbits-agents](/packages/ragbits-agents) | Example of how to use agent in CLI. | | [MCP Local](/examples/agents/mcp/local.py) | [ragbits-agents](/packages/ragbits-agents) | Example of how to use the `Agent` class to connect with a local MCP server. | | [MCP SSE](/examples/agents/mcp/sse.py) | [ragbits-agents](/packages/ragbits-agents) | Example of how to use the `Agent` class to connect with a remote MCP server via SSE. | | [MCP Streamable HTTP](/examples/agents/mcp/streamable_http.py) | [ragbits-agents](/packages/ragbits-agents) | Example of how to use the `Agent` class to connect with a remote MCP server via HTTP. | +| [A2A Orchestration](/examples/agents/a2a/run_orchestrator.py) | [ragbits-agents](/packages/ragbits-agents) | Example of how to setup A2A orchestration. | \ No newline at end of file diff --git a/examples/agents/downstream_agents_streaming.py b/examples/agents/downstream_agents_streaming.py new file mode 100644 index 000000000..4cb26d56d --- /dev/null +++ b/examples/agents/downstream_agents_streaming.py @@ -0,0 +1,133 @@ +""" +Ragbits Agents Example: Multi-agent setup (QA agent + Time agent) + +This example demonstrates how to build a setup with two agents: +1. A Time Agent that returns the current time for a given location. +2. A QA Agent that answers user questions and can delegate to the Time Agent. + +To run the script, execute the following command: + + ```bash + uv run examples/agents/downstream_agents_streaming.py + ``` +""" + +# /// script +# requires-python = ">=3.10" +# dependencies = [ +# "ragbits-core", +# "ragbits-agents", +# ] +# /// + +import asyncio +import json + +from pydantic import BaseModel + +from ragbits.agents import Agent, AgentOptions, AgentRunContext, DownstreamAgentResult +from ragbits.core.llms import LiteLLM +from ragbits.core.prompt import Prompt + + +def get_time(location: str) -> str: + """ + Returns the current time for a given location. + + Args: + location: The location to get the time for. + + Returns: + The current time for the given location. + """ + loc = location.lower() + if "tokyo" in loc: + return json.dumps({"location": "Tokyo", "time": "10:00 AM"}) + elif "paris" in loc: + return json.dumps({"location": "Paris", "time": "04:00 PM"}) + elif "san francisco" in loc: + return json.dumps({"location": "San Francisco", "time": "07:00 PM"}) + else: + return json.dumps({"location": location, "time": "unknown"}) + + +class TimePromptInput(BaseModel): + """Input schema for the TimePrompt, containing the target location.""" + + location: str + + +class TimePrompt(Prompt[TimePromptInput]): + """ + Provides instructions for generating the current time in a user-specified + location. + """ + + system_prompt = """ + You are a helpful assistant that tells the current time in a given city. + """ + user_prompt = """ + What time is it in {{ location }}? + """ + + +llm = LiteLLM(model_name="gpt-4o-2024-08-06", use_structured_output=True) +time_agent = Agent( + name="time_agent", + description="Returns current time for a given location", + llm=llm, + prompt=TimePrompt, + tools=[get_time], + default_options=AgentOptions(max_total_tokens=1000, max_turns=5), +) + + +class QAPromptInput(BaseModel): + """Input schema for the QA agent, containing a natural-language question.""" + + question: str + + +class QAPrompt(Prompt[QAPromptInput]): + """ + Guides the agent to respond to user questions. + """ + + system_prompt = """ + You are a helpful assistant that responds to user questions. + """ + user_prompt = """ + {{ question }}. + """ + + +llm = LiteLLM(model_name="gpt-4o-2024-08-06", use_structured_output=True) +qa_agent = Agent( + name="qa_agent", + llm=llm, + prompt=QAPrompt, + tools=[time_agent], + default_options=AgentOptions(max_total_tokens=1000, max_turns=5), +) + + +async def main() -> None: + """ + Run the QA agent with downstream streaming enabled. + + The QA agent processes a sample question ("What time is it in Paris?") and delegates to + the Time Agent when necessary. Streamed results from both agents are printed in real time, + tagged by the agent that produced them. + """ + context = AgentRunContext(stream_downstream_events=True) + + async for chunk in qa_agent.run_streaming(QAPromptInput(question="What time is it in Paris?"), context=context): + if isinstance(chunk, DownstreamAgentResult): + agent_name = context.get_agent(chunk.agent_id).name + print(f"[{agent_name}] {chunk.item}") + else: + print(f"[{qa_agent.name}] {chunk}") + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/examples/agents/hooks/agent_output_logging.py b/examples/agents/hooks/agent_output_logging.py new file mode 100644 index 000000000..82555bbcf --- /dev/null +++ b/examples/agents/hooks/agent_output_logging.py @@ -0,0 +1,71 @@ +""" +Example demonstrating a post-tool hook for logging outputs from agent tools. + +This shows how to log the output returned by downstream agent tools. +Setup: 1 parent agent with 2 expert child agents as tools. +""" + +import asyncio + +from ragbits.agents import Agent +from ragbits.agents.hooks import EventType, Hook +from ragbits.agents.tool import ToolReturn +from ragbits.core.llms import LiteLLM +from ragbits.core.llms.base import ToolCall + + +async def log_agent_output(tool_call: ToolCall, tool_return: ToolReturn) -> ToolReturn: + """Log output from agent tools after they complete.""" + output = tool_return.value + + if isinstance(output, dict): + output = output.get("content", output) + + print(f"\n{'='*60}\n[{tool_call.name}] output:\n{'-'*60}\n{output}\n{'='*60}") + return tool_return + + +async def main() -> None: + """Run the example.""" + llm = LiteLLM("gpt-4o-mini") + + # Child agent 1: Diet expert + diet_agent = Agent( + name="diet_expert", + description="A nutrition expert who provides diet plans and healthy eating advice", + llm=llm, + ) + + # Child agent 2: Fitness coach + fitness_agent = Agent( + name="fitness_coach", + description="A personal trainer who creates workout routines and exercise plans", + llm=llm, + ) + + # Hook to log outputs from both agent tools + hook = Hook( + event_type=EventType.POST_TOOL, + callback=log_agent_output, + tool_names=["diet_expert", "fitness_coach"], + priority=1, + ) + + # Parent agent with both expert agents as tools + parent_agent = Agent( + name="health_assistant", + llm=llm, + tools=[diet_agent, fitness_agent], + hooks=[hook], + ) + + # Query that should trigger both agent tools + query = "I want to lose 10kg in 3 months. Can you help me with a plan?" + print(f"Query: {query}\n") + + response = await parent_agent.run(query) + print(f"Final Response:\n{response.content}") + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/examples/agents/hooks/guardrails_integration.py b/examples/agents/hooks/guardrails_integration.py new file mode 100644 index 000000000..0a2b67332 --- /dev/null +++ b/examples/agents/hooks/guardrails_integration.py @@ -0,0 +1,124 @@ +""" +Example demonstrating guardrails integration using pre-run and on-event hooks. + +This example shows how to use the ragbits Guardrail system with agent hooks +to validate inputs before the agent processes them and how to use ON_EVENT +hooks to transform streaming output in real-time. + +To run this example, execute: + uv run python examples/agents/hooks/guardrails_integration.py +""" + +import asyncio + +from ragbits.agents import Agent +from ragbits.agents._main import AgentOptions, AgentRunContext +from ragbits.agents.hooks import EventType, Hook, OnEventCallback, PreRunCallback +from ragbits.agents.hooks.types import StreamingEvent +from ragbits.core.llms import LiteLLM +from ragbits.guardrails.base import Guardrail, GuardrailManager, GuardrailVerificationResult + + +class BlockedTopicsGuardrail(Guardrail): + """Guardrail that blocks requests containing forbidden topics.""" + + def __init__(self, blocked_topics: list[str]) -> None: + self.blocked_topics = blocked_topics + + async def verify(self, input_to_verify: str) -> GuardrailVerificationResult: + """Check if input contains any blocked topics.""" + input_lower = str(input_to_verify).lower() + + for topic in self.blocked_topics: + if topic in input_lower: + return GuardrailVerificationResult( + guardrail_name=self.__class__.__name__, + succeeded=False, + fail_reason=f"Input contains blocked topic: {topic}", + ) + + return GuardrailVerificationResult( + guardrail_name=self.__class__.__name__, + succeeded=True, + fail_reason=None, + ) + + +def create_guardrail_hook( + guardrail_manager: GuardrailManager, +) -> PreRunCallback: + """Create a pre-run hook that validates input using guardrails.""" + + async def guardrail_hook( + input: str | None, + options: AgentOptions, + context: AgentRunContext, + ) -> str | None: + """Validate input against guardrails before agent processes it.""" + user_input = str(input or "") + results = await guardrail_manager.verify(user_input) + + for result in results: + if not result.succeeded: + return f"I cannot help with that request. Reason: {result.fail_reason}" + + return input + + return guardrail_hook + + +def create_upper_words_hook(words: list[str]) -> OnEventCallback: + """Create an ON_EVENT hook that upper-cases specified words in streaming text chunks.""" + + async def upper_words_hook(event: StreamingEvent) -> StreamingEvent | None: + if isinstance(event, str): + result = event + for word in words: + result = result.replace(word, word.upper()) + return result + return event + + return upper_words_hook + + +async def main() -> None: + """Run the example demonstrating guardrails with hooks.""" + blocked_topics_guardrail = BlockedTopicsGuardrail(blocked_topics=["politics", "religion"]) + guardrail_manager = GuardrailManager(guardrails=[blocked_topics_guardrail]) + guardrail_hook = create_guardrail_hook(guardrail_manager) + upper_hook = create_upper_words_hook(["founded", "party"]) + + agent = Agent( + llm=LiteLLM("gpt-4o-mini"), + prompt="You are a helpful assistant.", + hooks=[ + Hook(event_type=EventType.PRE_RUN, callback=guardrail_hook), + Hook(event_type=EventType.ON_EVENT, callback=upper_hook), + ], + ) + + # Test 1: Safe input with run() + print("1. Safe query (run):") + response = await agent.run("What is the capital of France?") + print(f"\t{response.content}\n") + + # Test 2: Blocked input with run() + print("2. Blocked query (run):") + response = await agent.run("Tell me about religion in ancient Rome?") + print(f"\t{response.content}\n") + + # Test 3: Safe input with streaming + print("3. Safe query (streaming):\n\t", end="") + async for chunk in agent.run_streaming("What is 2 + 2?"): + if isinstance(chunk, str): + print(chunk, end="") + + # Test 4: Blocked input with streaming — pre-run hook blocks, on-event hook upper-cases the rejection message + print("\n\n4. On event upper-casing (streaming):\n\t", end="") + async for chunk in agent.run_streaming("What are the main political parties in the US?"): + if isinstance(chunk, str): + print(chunk, end="") + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/examples/agents/hooks/validation_and_sanitization.py b/examples/agents/hooks/validation_and_sanitization.py new file mode 100644 index 000000000..c8ef63ff7 --- /dev/null +++ b/examples/agents/hooks/validation_and_sanitization.py @@ -0,0 +1,184 @@ +""" +Example demonstrating hooks for input validation, sanitization, and output masking. + +This example shows a customer support agent with hooks that: +- Validate email addresses before sending +- Sanitize email domains to approved list +- Mask sensitive user data in responses +""" + +import asyncio +import re +from typing import Any + +from ragbits.agents import Agent +from ragbits.agents.hooks import EventType, Hook +from ragbits.agents.tool import ToolReturn +from ragbits.core.llms.base import ToolCall +from ragbits.core.llms.litellm import LiteLLM + +# Track hook actions for demonstration +hook_actions: list[dict[str, Any]] = [] + + +def search_user(user_id: str) -> dict[str, Any]: + """Search for user information in the database.""" + users = { + "123": {"name": "John Doe", "email": "john@example.com", "ssn": "123-45-6789", "balance": 5000}, + "456": {"name": "Jane Smith", "email": "jane@example.com", "ssn": "987-65-4321", "balance": 3500}, + } + return users.get(user_id, {"error": "User not found"}) + + +def send_notification(email: str, message: str) -> str: + """Send notification email to user.""" + return f"Email sent to {email}: {message}" + + +async def validate_email(tool_call: ToolCall) -> ToolCall: + """Validate email format before sending.""" + if tool_call.name != "send_notification": + return tool_call + + email = tool_call.arguments.get("email", "") + email_pattern = r"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$" + + if not re.match(email_pattern, email): + hook_actions.append({"hook": "validate_email", "action": "denied", "email": email}) + return tool_call.model_copy( + update={ + "decision": "deny", + "reason": f"Invalid email format: {email}", + } + ) + + hook_actions.append({"hook": "validate_email", "action": "passed", "email": email}) + return tool_call + + +async def sanitize_email_domain(tool_call: ToolCall) -> ToolCall: + """Ensure emails only go to approved domains.""" + if tool_call.name != "send_notification": + return tool_call + + email = tool_call.arguments.get("email", "") + approved_domains = ["example.com", "test.com"] + + domain = email.split("@")[-1] if "@" in email else "" + if domain not in approved_domains: + modified_email = email.split("@")[0] + "@example.com" + modified_args = tool_call.arguments.copy() + modified_args["email"] = modified_email + + hook_actions.append( + { + "hook": "sanitize_email_domain", + "action": "modified", + "original": email, + "modified": modified_email, + } + ) + + return tool_call.model_copy(update={"arguments": modified_args}) + + hook_actions.append({"hook": "sanitize_email_domain", "action": "passed", "email": email}) + return tool_call + + +async def mask_sensitive_data(tool_call: ToolCall, tool_return: ToolReturn) -> ToolReturn: + """Mask sensitive information in user search results.""" + if tool_call.name != "search_user": + return tool_return + + if isinstance(tool_return.value, dict) and "ssn" in tool_return.value: + original_ssn = tool_return.value["ssn"] + masked_output = tool_return.value.copy() + masked_output["ssn"] = "***-**-****" + + hook_actions.append( + { + "hook": "mask_sensitive_data", + "action": "masked", + "field": "ssn", + "original": original_ssn, + "masked": "***-**-****", + } + ) + + return ToolReturn(masked_output) + + return tool_return + + +async def log_notification(tool_call: ToolCall, tool_return: ToolReturn) -> ToolReturn: + """Add logging metadata to notification results.""" + if tool_call.name != "send_notification": + return tool_return + + original_output = tool_return.value + enhanced_output = f"{tool_return.value} [Logged at system]" + + hook_actions.append( + { + "hook": "log_notification", + "action": "enhanced", + "original": original_output, + "enhanced": enhanced_output, + } + ) + + return ToolReturn(enhanced_output) + + +async def main() -> None: + """Run the hooks example demonstrating pre-tool and post-tool hooks.""" + llm = LiteLLM("gpt-4o-mini") + + hooks = [ + Hook(event_type=EventType.PRE_TOOL, callback=validate_email, tool_names=["send_notification"], priority=10), + Hook( + event_type=EventType.PRE_TOOL, callback=sanitize_email_domain, tool_names=["send_notification"], priority=20 + ), + Hook(event_type=EventType.POST_TOOL, callback=mask_sensitive_data, tool_names=["search_user"], priority=10), + Hook(event_type=EventType.POST_TOOL, callback=log_notification, tool_names=["send_notification"], priority=10), + ] + + agent = Agent( + llm=llm, + tools=[search_user, send_notification], + hooks=hooks, + ) + + prompt = "Look up user 123 and send them a notification about their account balance." + + print(f"Prompt: {prompt}\n") + + response = await agent.run(prompt) + + print(f"\nAgent Response: {response.content}\n") + + print("Tool Results:") + for tool_call in response.tool_calls: + if tool_call.name == "search_user": + result = tool_call.result + print(f" search_user: name={result['name']}, ssn={result['ssn']}, balance=${result['balance']}") + elif tool_call.name == "send_notification": + print(f" send_notification: {tool_call.result}") + + print("\nHook Actions:") + for action in hook_actions: + if action["hook"] == "mask_sensitive_data": + print(f" {action['field'].upper()} masked: {action['original']} → {action['masked']}") + elif action["hook"] == "validate_email": + print(f" Email validation {action['action']}: {action['email']}") + elif action["hook"] == "sanitize_email_domain": + if action["action"] == "modified": + print(f" Domain redirected: {action['original']} → {action['modified']}") + else: + print(f" Domain approved: {action['email']}") + elif action["hook"] == "log_notification": + print(" Output enhanced with logging metadata") + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/examples/agents/openai_native_tool_use.py b/examples/agents/openai_native_tool_use.py index d248855b0..74cf07f4e 100644 --- a/examples/agents/openai_native_tool_use.py +++ b/examples/agents/openai_native_tool_use.py @@ -19,6 +19,7 @@ # ] # /// import asyncio +import os from pydantic import BaseModel @@ -58,7 +59,10 @@ async def main() -> None: llm = LiteLLM(model_name=model_name, use_structured_output=True) agent = Agent(llm=llm, prompt=SearchPrompt, tools=[get_web_search_tool(model_name)]) response = await agent.run(SearchPromptInput(query="What date is today?")) - print(response) + print(response, flush=True) + # Force exit to prevent asyncio.run() from hanging during shutdown + # on litellm's pending async logging tasks and connection pools. + os._exit(0) if __name__ == "__main__": diff --git a/examples/agents/stream_events_from_tools.py b/examples/agents/stream_events_from_tools.py new file mode 100644 index 000000000..6d3006497 --- /dev/null +++ b/examples/agents/stream_events_from_tools.py @@ -0,0 +1,60 @@ +""" +Ragbits Agents Example: Streaming custom events from tools + +This example demonstrates how to define a tool that emits custom events that can be handled in the streaming +loop of an agent. + +To run the script, execute the following command: + + ```bash + uv run examples/agents/stream_events_from_tools.py + ``` +""" +# /// script +# requires-python = ">=3.10" +# dependencies = [ +# "ragbits-core", +# "ragbits-agents", +# ] +# /// + +import asyncio +from collections.abc import AsyncGenerator + +from pydantic import BaseModel + +from ragbits.agents import Agent +from ragbits.agents.tool import ToolReturn +from ragbits.core.llms import LiteLLM + + +class MyEvent(BaseModel): + """Custom event that we want to stream from an agent""" + + name: str + description: str + + +async def my_tool() -> AsyncGenerator[ToolReturn | str | int | MyEvent]: + """ + Fetches revenue data (in thousands of dollars) for the given year and displays it as a Markdown table. + """ + yield "My Event 1" + yield 2 + yield MyEvent(name="My Event 3", description="Another event that will be yielded in an agent") + yield ToolReturn(value="Successfully called my_tool! Your lucky number is 7") + + +async def main() -> None: + """Run the agent with streaming events from the tools""" + llm = LiteLLM(model_name="gpt-4o") + agent = Agent(llm, prompt="Call my_tool for every answer", tools=[my_tool]) + result = agent.run_streaming("Hello, please call my_tool and tell me what is the number it returned!") + async for event in result: + print(event) + print() + print("Tool events:", result.tool_events) + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/examples/agents/with_decorator.py b/examples/agents/with_decorator.py new file mode 100644 index 000000000..95d687066 --- /dev/null +++ b/examples/agents/with_decorator.py @@ -0,0 +1,88 @@ +""" +Ragbits Agents Example: Syntax Sugar + +This example demonstrates how to use agent with tools by using new syntax sugar. +We provide a single method as a tool to the agent and expect it to call it when answering query. + +To run the script, execute the following command: + + ```bash + uv run examples/agents/with_decorator.py + ``` +""" + +# /// script +# requires-python = ">=3.10" +# dependencies = [ +# "ragbits-core", +# "ragbits-agents", +# ] +# /// +import asyncio +import json + +from pydantic import BaseModel + +from ragbits.agents import Agent +from ragbits.agents._main import AgentOptions +from ragbits.core.llms import LiteLLM + + +def get_weather(location: str) -> str: + """ + Returns the current weather for a given location. + + Args: + location: The location to get the weather for. + + Returns: + The current weather for the given location. + """ + if "tokyo" in location.lower(): + return json.dumps({"location": "Tokyo", "temperature": "10", "unit": "celsius"}) + elif "san francisco" in location.lower(): + return json.dumps({"location": "San Francisco", "temperature": "72", "unit": "fahrenheit"}) + elif "paris" in location.lower(): + return json.dumps({"location": "Paris", "temperature": "22", "unit": "celsius"}) + else: + return json.dumps({"location": location, "temperature": "unknown"}) + + +class WeatherAgentInput(BaseModel): + """ + Input format for the WeatherAgent + """ + + location: str + + +@Agent.prompt_config(WeatherAgentInput) +class WeatherAgent(Agent): + """ + Agent that returns weather for a given location. + """ + + system_prompt = """ + You are a helpful assistant that responds to user questions about weather. + """ + user_prompt = """ + Tell me the temperature in {{ location }}. + """ + + +async def main() -> None: + """ + Run the example. + """ + llm = LiteLLM(model_name="gpt-4o-2024-08-06", use_structured_output=True) + agent = WeatherAgent( + llm=llm, + tools=[get_weather], + default_options=AgentOptions(max_total_tokens=500, max_turns=5), + ) + response = await agent.run(WeatherAgentInput(location="Paris"), tool_choice=get_weather) + print(response) + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/examples/chat/chat.py b/examples/chat/chat.py index a31ceeb0e..2ecbafd01 100644 --- a/examples/chat/chat.py +++ b/examples/chat/chat.py @@ -7,7 +7,7 @@ To run the script, execute the following command: ```bash - ragbits api run examples.api.chat:MyChat + ragbits api run examples.chat.chat:MyChat ``` """ diff --git a/examples/chat/file_explorer_agent.py b/examples/chat/file_explorer_agent.py new file mode 100644 index 000000000..3c4f3cfbb --- /dev/null +++ b/examples/chat/file_explorer_agent.py @@ -0,0 +1,623 @@ +""" +Ragbits Chat Example: File Explorer Agent with Confirmation + +This example demonstrates a file management agent that requires user confirmation +for all destructive operations (create, delete, move files/directories). + +The agent is restricted to operating only within the temp/ directory for security. + +Features: +- List files and directories +- Read file contents +- Create/delete files (with confirmation) +- Move/rename files (with confirmation) +- Create/delete directories (with confirmation) +- Search for files +- Get file information + +Security: +- All paths are validated to be within temp/ directory +- Path traversal attacks are prevented +- Confirmation required for all destructive operations + +To run the script: + ragbits api run examples.chat.file_explorer_agent:FileExplorerChat +""" + +import json +import os +from collections.abc import AsyncGenerator +from pathlib import Path + +from ragbits.agents import Agent, ToolCallResult +from ragbits.agents._main import AgentRunContext +from ragbits.agents.confirmation import ConfirmationRequest +from ragbits.agents.hooks.confirmation import create_confirmation_hook +from ragbits.chat.interface import ChatInterface +from ragbits.chat.interface.types import ( + ChatContext, + ChatResponseUnion, + ConfirmationRequestContent, + ConfirmationRequestResponse, + LiveUpdateType, +) +from ragbits.chat.interface.ui_customization import HeaderCustomization, UICustomization +from ragbits.core.llms import LiteLLM, ToolCall +from ragbits.core.llms.base import Usage +from ragbits.core.prompt import ChatFormat + +# Get the absolute path to the temp directory +TEMP_DIR = Path(__file__).parent.parent.parent / "temp" +TEMP_DIR = TEMP_DIR.resolve() + +# Ensure temp directory exists +TEMP_DIR.mkdir(parents=True, exist_ok=True) + + +def _validate_path(path: str) -> tuple[bool, str, Path | None]: + """ + Validate that a path is within the temp directory. + + Args: + path: Path to validate (relative to temp/ or absolute) + + Returns: + Tuple of (is_valid, error_message, resolved_path) + """ + try: + # Handle relative paths (relative to temp/) + full_path = TEMP_DIR / path if not os.path.isabs(path) else Path(path) + + # Resolve to absolute path and check if it's within temp/ + resolved = full_path.resolve() + + # Security check: ensure path is within TEMP_DIR + if not str(resolved).startswith(str(TEMP_DIR)): + return False, "Access denied: Path outside temp/ directory", None + + return True, "", resolved + except Exception as e: + return False, f"Invalid path: {e!s}", None + + +# File Explorer Tools + + +def list_files(directory: str = "") -> str: + """ + List files and directories in a given path. + + Args: + directory: Directory path (relative to temp/, empty for root) + + Returns: + JSON string with list of files and directories + """ + is_valid, error, dir_path = _validate_path(directory) + if not is_valid: + return json.dumps({"success": False, "error": error}, indent=2) + + result = { + "success": False, + "summary": "", + "details": { + "directory": str(dir_path.relative_to(TEMP_DIR)) if dir_path != TEMP_DIR else ".", + "files": [], + "directories": [], + "total_count": 0, + }, + } + + try: + if not dir_path.exists(): + result["error"] = "Directory does not exist" + result["summary"] = f"❌ Directory '{directory}' not found" + return json.dumps(result, indent=2) + + if not dir_path.is_dir(): + result["error"] = "Path is not a directory" + result["summary"] = f"❌ '{directory}' is not a directory" + return json.dumps(result, indent=2) + + for item in sorted(dir_path.iterdir()): + item_info = { + "name": item.name, + "size": item.stat().st_size if item.is_file() else None, + "modified": item.stat().st_mtime, + } + + if item.is_file(): + result["details"]["files"].append(item_info) + elif item.is_dir(): + result["details"]["directories"].append(item_info) + + result["success"] = True + file_count = len(result["details"]["files"]) + dir_count = len(result["details"]["directories"]) + result["details"]["total_count"] = file_count + dir_count + result["summary"] = f"📁 Found {file_count} files and {dir_count} directories" + + except Exception as e: + result["error"] = str(e) + result["summary"] = f"❌ Error listing directory: {e!s}" + + return json.dumps(result, indent=2) + + +def read_file(filepath: str) -> str: + """ + Read contents of a file. + + Args: + filepath: Path to the file (relative to temp/) + + Returns: + JSON string with file contents + """ + is_valid, error, file_path = _validate_path(filepath) + if not is_valid: + return json.dumps({"success": False, "error": error}, indent=2) + + result = { + "success": False, + "summary": "", + "details": {"filepath": str(file_path.relative_to(TEMP_DIR)), "content": None, "size": None}, + } + + try: + if not file_path.exists(): + result["error"] = "File does not exist" + result["summary"] = f"❌ File '{filepath}' not found" + return json.dumps(result, indent=2) + + if not file_path.is_file(): + result["error"] = "Path is not a file" + result["summary"] = f"❌ '{filepath}' is not a file" + return json.dumps(result, indent=2) + + content = file_path.read_text() + result["success"] = True + result["details"]["content"] = content + result["details"]["size"] = len(content) + result["summary"] = f"📄 Read file '{filepath}' ({len(content)} bytes)" + + except Exception as e: + result["error"] = str(e) + result["summary"] = f"❌ Error reading file: {e!s}" + + return json.dumps(result, indent=2) + + +def get_file_info(filepath: str) -> str: + """ + Get detailed information about a file or directory. + + Args: + filepath: Path to the file or directory (relative to temp/) + + Returns: + JSON string with file information + """ + is_valid, error, file_path = _validate_path(filepath) + if not is_valid: + return json.dumps({"success": False, "error": error}, indent=2) + + result = {"success": False, "summary": "", "details": {}} + + try: + if not file_path.exists(): + result["error"] = "Path does not exist" + result["summary"] = f"❌ '{filepath}' not found" + return json.dumps(result, indent=2) + + stat_info = file_path.stat() + result["success"] = True + result["details"] = { + "name": file_path.name, + "path": str(file_path.relative_to(TEMP_DIR)), + "type": "file" if file_path.is_file() else "directory", + "size": stat_info.st_size, + "created": stat_info.st_ctime, + "modified": stat_info.st_mtime, + "permissions": oct(stat_info.st_mode)[-3:], + } + + item_type = "file" if file_path.is_file() else "directory" + result["summary"] = f"ℹ️ {item_type.capitalize()} info for '{filepath}'" + + except Exception as e: + result["error"] = str(e) + result["summary"] = f"❌ Error getting info: {e!s}" + + return json.dumps(result, indent=2) + + +def search_files(pattern: str, directory: str = "") -> str: + """ + Search for files matching a pattern. + + Args: + pattern: Search pattern (glob style, e.g., "*.txt", "*report*") + directory: Directory to search in (relative to temp/, empty for root) + + Returns: + JSON string with search results + """ + is_valid, error, dir_path = _validate_path(directory) + if not is_valid: + return json.dumps({"success": False, "error": error}, indent=2) + + result = { + "success": False, + "summary": "", + "details": { + "pattern": pattern, + "directory": str(dir_path.relative_to(TEMP_DIR)) if dir_path != TEMP_DIR else ".", + "matches": [], + }, + } + + try: + if not dir_path.exists() or not dir_path.is_dir(): + result["error"] = "Directory does not exist" + result["summary"] = f"❌ Directory '{directory}' not found" + return json.dumps(result, indent=2) + + # Search recursively + for match in dir_path.rglob(pattern): + if match.is_file(): + result["details"]["matches"].append( + {"path": str(match.relative_to(TEMP_DIR)), "name": match.name, "size": match.stat().st_size} + ) + + result["success"] = True + match_count = len(result["details"]["matches"]) + result["summary"] = f"🔍 Found {match_count} file(s) matching '{pattern}'" + + except Exception as e: + result["error"] = str(e) + result["summary"] = f"❌ Error searching: {e!s}" + + return json.dumps(result, indent=2) + + +def create_file(filepath: str, content: str, context: AgentRunContext | None = None) -> str: + """ + Create a new file with content. Requires confirmation. + + Args: + filepath: Path for the new file (relative to temp/) + content: Content to write to the file + context: Agent run context (automatically injected) + + Returns: + JSON string with operation result + """ + is_valid, error, file_path = _validate_path(filepath) + if not is_valid: + return json.dumps({"success": False, "error": error}, indent=2) + + result = { + "success": False, + "summary": "", + "details": {"filepath": str(file_path.relative_to(TEMP_DIR)), "size": len(content)}, + } + + try: + if file_path.exists(): + result["error"] = "File already exists" + result["summary"] = f"❌ File '{filepath}' already exists" + return json.dumps(result, indent=2) + + # Create parent directories if needed + file_path.parent.mkdir(parents=True, exist_ok=True) + + file_path.write_text(content) + result["success"] = True + result["summary"] = f"✅ Created file '{filepath}' ({len(content)} bytes)" + + except Exception as e: + result["error"] = str(e) + result["summary"] = f"❌ Error creating file: {e!s}" + + return json.dumps(result, indent=2) + + +def delete_file(filepath: str, context: AgentRunContext | None = None) -> str: + """ + Delete a file. Requires confirmation. + + Args: + filepath: Path to the file to delete (relative to temp/) + context: Agent run context (automatically injected) + + Returns: + JSON string with operation result + """ + is_valid, error, file_path = _validate_path(filepath) + if not is_valid: + return json.dumps({"success": False, "error": error}, indent=2) + + result = {"success": False, "summary": "", "details": {"filepath": str(file_path.relative_to(TEMP_DIR))}} + + try: + if not file_path.exists(): + result["error"] = "File does not exist" + result["summary"] = f"❌ File '{filepath}' not found" + return json.dumps(result, indent=2) + + if not file_path.is_file(): + result["error"] = "Path is not a file (use delete_directory for directories)" + result["summary"] = f"❌ '{filepath}' is not a file" + return json.dumps(result, indent=2) + + size = file_path.stat().st_size + file_path.unlink() + result["success"] = True + result["details"]["deleted_size"] = size + result["summary"] = f"🗑️ Deleted file '{filepath}' ({size} bytes)" + + except Exception as e: + result["error"] = str(e) + result["summary"] = f"❌ Error deleting file: {e!s}" + + return json.dumps(result, indent=2) + + +def move_file(source: str, destination: str, context: AgentRunContext | None = None) -> str: + """ + Move or rename a file. Requires confirmation. + + Args: + source: Source file path (relative to temp/) + destination: Destination file path (relative to temp/) + context: Agent run context (automatically injected) + + Returns: + JSON string with operation result + """ + # Validate both paths + is_valid_src, error_src, src_path = _validate_path(source) + is_valid_dst, error_dst, dst_path = _validate_path(destination) + + if not is_valid_src: + return json.dumps({"success": False, "error": f"Source: {error_src}"}, indent=2) + if not is_valid_dst: + return json.dumps({"success": False, "error": f"Destination: {error_dst}"}, indent=2) + + result = { + "success": False, + "summary": "", + "details": {"source": str(src_path.relative_to(TEMP_DIR)), "destination": str(dst_path.relative_to(TEMP_DIR))}, + } + + try: + if not src_path.exists(): + result["error"] = "Source file does not exist" + result["summary"] = f"❌ Source file '{source}' not found" + return json.dumps(result, indent=2) + + if not src_path.is_file(): + result["error"] = "Source is not a file" + result["summary"] = f"❌ '{source}' is not a file" + return json.dumps(result, indent=2) + + if dst_path.exists(): + result["error"] = "Destination already exists" + result["summary"] = f"❌ Destination '{destination}' already exists" + return json.dumps(result, indent=2) + + # Create destination parent directories if needed + dst_path.parent.mkdir(parents=True, exist_ok=True) + + src_path.rename(dst_path) + result["success"] = True + result["summary"] = f"🔀 Moved '{source}' to '{destination}'" + + except Exception as e: + result["error"] = str(e) + result["summary"] = f"❌ Error moving file: {e!s}" + + return json.dumps(result, indent=2) + + +def create_directory(dirpath: str, context: AgentRunContext | None = None) -> str: + """ + Create a new directory. Requires confirmation. + + Args: + dirpath: Path for the new directory (relative to temp/) + context: Agent run context (automatically injected) + + Returns: + JSON string with operation result + """ + is_valid, error, dir_path = _validate_path(dirpath) + if not is_valid: + return json.dumps({"success": False, "error": error}, indent=2) + + result = {"success": False, "summary": "", "details": {"dirpath": str(dir_path.relative_to(TEMP_DIR))}} + + try: + if dir_path.exists(): + result["error"] = "Directory already exists" + result["summary"] = f"❌ Directory '{dirpath}' already exists" + return json.dumps(result, indent=2) + + dir_path.mkdir(parents=True, exist_ok=False) + result["success"] = True + result["summary"] = f"📁 Created directory '{dirpath}'" + + except Exception as e: + result["error"] = str(e) + result["summary"] = f"❌ Error creating directory: {e!s}" + + return json.dumps(result, indent=2) + + +def delete_directory(dirpath: str, context: AgentRunContext | None = None) -> str: + """ + Delete an empty directory. Requires confirmation. + + Args: + dirpath: Path to the directory to delete (relative to temp/) + context: Agent run context (automatically injected) + + Returns: + JSON string with operation result + """ + is_valid, error, dir_path = _validate_path(dirpath) + if not is_valid: + return json.dumps({"success": False, "error": error}, indent=2) + + result = {"success": False, "summary": "", "details": {"dirpath": str(dir_path.relative_to(TEMP_DIR))}} + + try: + if not dir_path.exists(): + result["error"] = "Directory does not exist" + result["summary"] = f"❌ Directory '{dirpath}' not found" + return json.dumps(result, indent=2) + + if not dir_path.is_dir(): + result["error"] = "Path is not a directory" + result["summary"] = f"❌ '{dirpath}' is not a directory" + return json.dumps(result, indent=2) + + # Check if directory is empty + if any(dir_path.iterdir()): + result["error"] = "Directory is not empty" + result["summary"] = f"❌ Directory '{dirpath}' is not empty. Delete contents first." + return json.dumps(result, indent=2) + + dir_path.rmdir() + result["success"] = True + result["summary"] = f"🗑️ Deleted directory '{dirpath}'" + + except Exception as e: + result["error"] = str(e) + result["summary"] = f"❌ Error deleting directory: {e!s}" + + return json.dumps(result, indent=2) + + +class FileExplorerChat(ChatInterface): + """File explorer agent with confirmation for destructive actions.""" + + ui_customization = UICustomization( + header=HeaderCustomization( + title="File Explorer Agent", subtitle="secure file management with confirmation", logo="📂" + ), + welcome_message=( + "Hello! I'm your file explorer agent.\n\n" + "I can help you manage files in the temp/ directory:\n" + "- List and search files\n" + "- Read file contents\n" + "- Create, delete, and move files\n" + "- Manage directories\n\n" + "Security: All operations are restricted to the temp/ directory.\n" + "I'll ask for confirmation before making any changes." + ), + ) + + conversation_history = True + show_usage = True + + def __init__(self) -> None: + self.llm = LiteLLM(model_name="gpt-4o-mini") + + # Define tools for the agent + self.tools = [ + # Read-only tools (no confirmation) + list_files, + read_file, + get_file_info, + search_files, + # Destructive tools (require confirmation) + create_file, + delete_file, + move_file, + create_directory, + delete_directory, + ] + + # Create confirmation hook for destructive tools + self.hooks = [ + create_confirmation_hook( + tool_names=["create_file", "delete_file", "move_file", "create_directory", "delete_directory"] + ) + ] + + async def chat( # noqa: PLR0912 + self, + message: str, + history: ChatFormat, + context: ChatContext, + ) -> AsyncGenerator[ChatResponseUnion, None]: + """ + Chat implementation with non-blocking confirmation support. + + The agent will check context.tool_confirmations for any confirmations. + If a hook needs confirmation but hasn't been confirmed yet, it will + yield a ConfirmationRequest and exit. The frontend will then send a + new request with the confirmation in context.tool_confirmations. + """ + # Create agent with history passed explicitly + agent: Agent = Agent( + llm=self.llm, + prompt=f""" + You are a file explorer agent. You have tools available. + + CRITICAL: When a user asks you to perform an action, you MUST IMMEDIATELY CALL THE APPROPRIATE TOOL. + DO NOT ask for permission in text - the system will automatically show a confirmation dialog. + Describe what you would do in text. + + Example: + User: "Create folders test1 and test2" + CORRECT: Immediately call create_directory("test1"), then create_directory("test2") return text + "I'll create two folders for you. Please confirm action." + + Available tools: {', '.join([t.__name__ for t in self.tools])} + Restricted to: {TEMP_DIR} + """, + tools=self.tools, # type: ignore[arg-type] + hooks=self.hooks, + history=history, + ) + + # Create agent context with tool_confirmations from the request context + agent_context: AgentRunContext = AgentRunContext() + + # Pass tool_confirmations from ChatContext to AgentRunContext + if context.tool_confirmations: + agent_context.tool_confirmations = context.tool_confirmations + + # Run agent in streaming mode with the message and history + async for response in agent.run_streaming( + message, + context=agent_context, + ): + # Pattern match on response types + match response: + case str(): + # Regular text response + if response.strip(): + yield self.create_text_response(response) + + case ToolCall(): + # Tool is being called + yield self.create_live_update(response.id, LiveUpdateType.START, f"🔧 {response.name}") + + case ConfirmationRequest(): + # Confirmation needed - send to frontend and wait for user response + yield ConfirmationRequestResponse(content=ConfirmationRequestContent(confirmation_request=response)) + + case ToolCallResult(): + # Tool execution completed (or pending confirmation) + result_preview = str(response.result)[:50] + yield self.create_live_update( + response.id, LiveUpdateType.FINISH, f"✅ {response.name}", result_preview + ) + + case Usage(): + # Usage information + yield self.create_usage_response(response) diff --git a/examples/chat/offline_chat.py b/examples/chat/offline_chat.py index f9dc89666..c5560b142 100644 --- a/examples/chat/offline_chat.py +++ b/examples/chat/offline_chat.py @@ -7,7 +7,7 @@ To run the script, execute the following command: ```bash - ragbits api run examples.api.offline_chat:MyChat + ragbits api run examples.chat.offline_chat:MyChat ``` """ diff --git a/examples/chat/stream_events_from_tools_to_chat.py b/examples/chat/stream_events_from_tools_to_chat.py new file mode 100644 index 000000000..fa74d2dde --- /dev/null +++ b/examples/chat/stream_events_from_tools_to_chat.py @@ -0,0 +1,113 @@ +""" +Ragbits Agents Example: Streaming custom events from tools + +This example demonstrates how to define a tool that emits custom ChatResponse +events (e.g. a chart to be rendered by the UI) while streaming, and how to +consume those events inside a ChatInterface served via RagbitsAPI. + +To run the API, use the following command: + + ```bash + uvicorn examples.chat.stream_events_from_tools_to_chat:app + ``` +""" + +# /// script +# requires-python = ">=3.10" +# dependencies = [ +# "ragbits-core", +# "ragbits-agents", +# "ragbits-chat", +# ] +# /// + +from collections.abc import AsyncGenerator, Generator +from dataclasses import dataclass + +from ragbits.agents import Agent +from ragbits.agents.tool import ToolReturn +from ragbits.chat.api import RagbitsAPI +from ragbits.chat.interface import ChatInterface +from ragbits.chat.interface.types import ChatContext, ChatResponse, TextContent, TextResponse +from ragbits.core.llms import LiteLLM +from ragbits.core.prompt.base import ChatFormat + +# --------------------------------------------------------------------------- +# Mock data source +# --------------------------------------------------------------------------- + + +@dataclass +class RevenueData: + """Represent revenue data from each quarter.""" + + quarters: list[str] + revenue: list[float] + + +def fetch_revenue_data(year: int) -> RevenueData | None: + """Return dummy quarterly revenue data for a given year.""" + catalog = { + 2023: RevenueData(quarters=["Q1", "Q2", "Q3", "Q4"], revenue=[100.0, 150.0, 120.0, 180.0]), + 2024: RevenueData(quarters=["Q1", "Q2", "Q3", "Q4"], revenue=[200.0, 250.0, 220.0, 300.0]), + } + return catalog.get(year) + + +# --------------------------------------------------------------------------- +# Streaming tool +# --------------------------------------------------------------------------- + + +def display_revenue_table(year: int) -> Generator[TextResponse | ToolReturn]: + """Fetches revenue data (in thousands of dollars) for the given year and displays it as a Markdown table. + + Args: + year: The year to fetch revenue data for. + """ + data = fetch_revenue_data(year) + if data is None: + yield ToolReturn(value=f"No data for year {year}") + else: + rows = "\n".join(f"| {q} | {v} |" for q, v in zip(data.quarters, data.revenue, strict=False)) + table = f"\n\n| Quarter | Value |\n|---------|-------|\n{rows}\n\n" + yield TextResponse(content=TextContent(text=table)) + yield ToolReturn(value={"year": year, "total": sum(data.revenue)}) + + +# --------------------------------------------------------------------------- +# Chat interface +# --------------------------------------------------------------------------- + + +class RevenueChatInterface(ChatInterface): + """Chat interface with a tool that streams revenue tables.""" + + def __init__(self) -> None: + self.llm = LiteLLM(model_name="gpt-4o") + self.agent = Agent( + llm=self.llm, + prompt=""" + You are a helpful revenue analytics assistant. Use `display_revenue_table` to show revenue data to the user. + Invoking that tool means that the user sees the table in the web interface. When invoking that tool, + do not write the data yourself. + + You have access to data from 2023 and 2024.""", + tools=[display_revenue_table], + ) + + async def chat( + self, + message: str, + history: ChatFormat, + context: ChatContext, + ) -> AsyncGenerator[ChatResponse, None]: + """Handles interaction with the user.""" + async for chunk in self.agent.run_streaming(message): + if isinstance(chunk, str): + yield self.create_text_response(chunk) + elif isinstance(chunk, TextResponse): + yield chunk + + +app = RagbitsAPI(RevenueChatInterface).app diff --git a/examples/core/audit/logfire_.py b/examples/core/audit/logfire_.py index 62f4ac331..fcf8387c3 100644 --- a/examples/core/audit/logfire_.py +++ b/examples/core/audit/logfire_.py @@ -119,7 +119,7 @@ async def process_request() -> None: ingredients = ["eggs", "bread", "cheddar cheese", "tomatoes"] chefs = [ LiteLLM(model_name="gpt-4.1-2025-04-14", use_structured_output=True), - LiteLLM(model_name="claude-3-7-sonnet-20250219", use_structured_output=True), + LiteLLM(model_name="claude-haiku-4-5-20251001", use_structured_output=True), LiteLLM(model_name="gemini-2.0-flash", use_structured_output=True), ] prompts = [ diff --git a/examples/core/audit/otel.py b/examples/core/audit/otel.py index d6b000cfb..89395d4e8 100644 --- a/examples/core/audit/otel.py +++ b/examples/core/audit/otel.py @@ -140,7 +140,7 @@ async def process_request() -> None: question = "What's the meaning of life?" philosophers = [ LiteLLM(model_name="gpt-4.1-2025-04-14", use_structured_output=True), - LiteLLM(model_name="claude-3-7-sonnet-20250219", use_structured_output=True), + LiteLLM(model_name="claude-haiku-4-5-20251001", use_structured_output=True), LiteLLM(model_name="gemini-2.0-flash", use_structured_output=True), ] prompts = [ diff --git a/examples/core/llms/reasoning.py b/examples/core/llms/reasoning.py index d64b4dda6..233e4d07e 100644 --- a/examples/core/llms/reasoning.py +++ b/examples/core/llms/reasoning.py @@ -27,14 +27,14 @@ async def main() -> None: Run the example. """ options = LiteLLMOptions(reasoning_effort="medium") - model = LiteLLM(model_name="claude-3-7-sonnet-20250219", default_options=options) + model = LiteLLM(model_name="claude-haiku-4-5-20251001", default_options=options) response = await model.generate_with_metadata( "Do you like Jazz?", ) print(f"reasoning: {response.reasoning}") options = LiteLLMOptions(thinking={"type": "enabled", "budget_tokens": 1024}) - model = LiteLLM(model_name="claude-3-7-sonnet-20250219", default_options=options) + model = LiteLLM(model_name="claude-haiku-4-5-20251001", default_options=options) response = await model.generate_with_metadata( "Do you like Jazz?", ) diff --git a/mkdocs.yml b/mkdocs.yml index 433234a51..bb4407ac3 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -38,8 +38,11 @@ nav: - "Search documents": how-to/document_search/search-documents.md - Agents: - "Define and use agents": how-to/agents/define_and_use_agents.md + - "Use hooks to customize behavior": how-to/agents/use_hooks.md - "Provide tools with MCP": how-to/agents/provide_mcp_tools.md - "Serve agents with A2A": how-to/agents/serve_ragbits_agents.md + - "Stream downstream agents": how-to/agents/stream_downstream_agents.md + - "Stream events from tools to chat": how-to/agents/stream_events_from_tools_to_chat.md - Guardrails: - "Setup guardrails": how-to/guardrails/use_guardrails.md - Chatbots: diff --git a/packages/ragbits-agents/CHANGELOG.md b/packages/ragbits-agents/CHANGELOG.md index 8808348c5..57b599e6c 100644 --- a/packages/ragbits-agents/CHANGELOG.md +++ b/packages/ragbits-agents/CHANGELOG.md @@ -2,6 +2,23 @@ ## Unreleased +## 1.5.0 (2026-02-19) + +### Changed + +- ragbits-core updated to version v1.5.0 + +- Support wrapping downstream agents as tools (#818) +- Add syntax sugar allowing easier Agents definition (#820) +- Support streaming from downstream agents (#812) +- Add parallel tool calling support to agents for concurrent tool execution (#836) +- Add Support for Thinking in agents (#837) +- Add support for confirmation requests in agents (#853) (#914) +- Allow passing Tool objects directly to Agent +- Add ToolReturn allowing the control which part of the tool output we pass to LLM (#920) +- Add the option to stream events from tools using generators and async generators (#921) +- Add hooks system for agent lifecycle interception (PRE_TOOL, POST_TOOL, PRE_RUN, POST_RUN, ON_EVENT) (#914) (#926) (#939) + ## 1.4.2 (2026-02-18) ### Changed @@ -21,6 +38,7 @@ - ragbits-core updated to version v1.4.0 ## 1.3.0 (2025-09-11) + ### Changed - ragbits-core updated to version v1.3.0 @@ -31,6 +49,7 @@ - Add unique ID to each agent instance for better tracking and identification (#790) - Add audit tracing for tool calls to improve observability and debugging (#790) - Add AgentDependencies type (#781) +- Add parallel tool calling in agent ## 1.2.2 (2025-08-08) diff --git a/packages/ragbits-agents/pyproject.toml b/packages/ragbits-agents/pyproject.toml index 067543928..11edde9ec 100644 --- a/packages/ragbits-agents/pyproject.toml +++ b/packages/ragbits-agents/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "ragbits-agents" -version = "1.4.2" +version = "1.5.0" description = "Building blocks for rapid development of GenAI applications" readme = "README.md" requires-python = ">=3.10" @@ -31,7 +31,7 @@ classifiers = [ "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Software Development :: Libraries :: Python Modules", ] -dependencies = ["ragbits-core==1.4.2"] +dependencies = ["ragbits-core==1.5.0"] [project.optional-dependencies] a2a = [ diff --git a/packages/ragbits-agents/src/ragbits/agents/__init__.py b/packages/ragbits-agents/src/ragbits/agents/__init__.py index 7a7036895..3358a5f28 100644 --- a/packages/ragbits-agents/src/ragbits/agents/__init__.py +++ b/packages/ragbits-agents/src/ragbits/agents/__init__.py @@ -5,8 +5,16 @@ AgentResult, AgentResultStreaming, AgentRunContext, + DownstreamAgentResult, + ToolCall, ToolCallResult, ) +from ragbits.agents.hooks import ( + EventType, + Hook, + HookManager, + OnEventCallback, +) from ragbits.agents.types import QuestionAnswerAgent, QuestionAnswerPromptInput, QuestionAnswerPromptOutput __all__ = [ @@ -16,8 +24,14 @@ "AgentResult", "AgentResultStreaming", "AgentRunContext", + "DownstreamAgentResult", + "EventType", + "Hook", + "HookManager", + "OnEventCallback", "QuestionAnswerAgent", "QuestionAnswerPromptInput", "QuestionAnswerPromptOutput", + "ToolCall", "ToolCallResult", ] diff --git a/packages/ragbits-agents/src/ragbits/agents/_main.py b/packages/ragbits-agents/src/ragbits/agents/_main.py index d6e08f7a6..8e1bea2dd 100644 --- a/packages/ragbits-agents/src/ragbits/agents/_main.py +++ b/packages/ragbits-agents/src/ragbits/agents/_main.py @@ -1,18 +1,24 @@ import asyncio +import types import uuid -from collections.abc import AsyncGenerator, AsyncIterator, Callable +import warnings +from collections.abc import AsyncGenerator, AsyncIterator, Callable, Generator from contextlib import suppress from copy import deepcopy from dataclasses import dataclass from datetime import timedelta from inspect import iscoroutinefunction from types import ModuleType, SimpleNamespace -from typing import ClassVar, Generic, TypeVar, cast, overload +from typing import Any, ClassVar, Generic, TypeVar, Union, cast, overload -from pydantic import BaseModel, Field +from pydantic import ( + BaseModel, + Field, +) from typing_extensions import Self from ragbits import agents +from ragbits.agents.confirmation import ConfirmationRequest from ragbits.agents.exceptions import ( AgentInvalidPromptInputError, AgentMaxTokensExceededError, @@ -23,11 +29,24 @@ AgentToolNotAvailableError, AgentToolNotSupportedError, ) +from ragbits.agents.hooks import ( + EventType, + Hook, + HookManager, +) from ragbits.agents.mcp.server import MCPServer, MCPServerStdio, MCPServerStreamableHttp from ragbits.agents.mcp.utils import get_tools -from ragbits.agents.tool import Tool, ToolCallResult, ToolChoice +from ragbits.agents.tool import Tool, ToolCallResult, ToolChoice, ToolEvent, ToolReturn from ragbits.core.audit.traces import trace -from ragbits.core.llms.base import LLM, LLMClientOptionsT, LLMResponseWithMetadata, ToolCall, Usage +from ragbits.core.llms.base import ( + LLM, + LLMClientOptionsT, + LLMOptions, + LLMResponseWithMetadata, + Reasoning, + ToolCall, + Usage, +) from ragbits.core.options import Options from ragbits.core.prompt.base import BasePrompt, ChatFormat, SimplePrompt from ragbits.core.prompt.prompt import Prompt, PromptInputT, PromptOutputT @@ -42,6 +61,31 @@ from ragbits.core.llms import LiteLLM +_Input = TypeVar("_Input", bound=BaseModel) +_Output = TypeVar("_Output") + + +@dataclass +class DownstreamAgentResult: + """ + Represents a streamed item from a downstream agent while executing a tool. + """ + + agent_id: str | None + """ID of the downstream agent.""" + item: Union[ + str, + ToolCall, + ToolCallResult, + ToolEvent, + "DownstreamAgentResult", + BasePrompt, + Usage, + SimpleNamespace, + ConfirmationRequest, + ] + """The streamed item from the downstream agent.""" + @dataclass class AgentResult(Generic[PromptOutputT]): @@ -59,6 +103,8 @@ class AgentResult(Generic[PromptOutputT]): """Tool calls run by the agent.""" usage: Usage = Field(default_factory=Usage) """The token usage of the agent run.""" + reasoning_traces: list[str] | None = None + """Reasoning traces from the agent run (only if log_reasoning is enabled).""" class AgentOptions(Options, Generic[LLMClientOptionsT]): @@ -80,6 +126,11 @@ class AgentOptions(Options, Generic[LLMClientOptionsT]): max_completion_tokens: int | None | NotGiven = NOT_GIVEN """The maximum number of completion tokens the agent can use, if NOT_GIVEN or None, agent will run forever""" + log_reasoning: bool = False + """Whether to log/persist reasoning traces for debugging and evaluation.""" + parallel_tool_calling: bool = False + """Whether to run the tools concurrently if multiple of them are requested by an LLM. Synchronous tools will be + run in a separate thread using `asyncio.to_thread`""" DepsT = TypeVar("DepsT") @@ -144,13 +195,57 @@ def __contains__(self, key: str) -> bool: class AgentRunContext(BaseModel, Generic[DepsT]): """Context for the agent run.""" + model_config = {"arbitrary_types_allowed": True} + deps: AgentDependencies[DepsT] = Field(default_factory=lambda: AgentDependencies()) """Container for external dependencies.""" usage: Usage = Field(default_factory=Usage) """The usage of the agent.""" + stream_downstream_events: bool = False + """Whether to stream events from downstream agents when tools execute other agents.""" + downstream_agents: dict[str, "Agent"] = Field(default_factory=dict) + """Registry of all agents that participated in this run""" + tool_confirmations: list[dict[str, Any]] = Field( + default_factory=list, + description="List of confirmed/declined tool executions. Each entry has 'confirmation_id' and 'confirmed' " + "(bool)", + ) + + def register_agent(self, agent: "Agent") -> None: + """ + Register a downstream agent in this context. + Args: + agent: The agent instance to register. + """ + self.downstream_agents[agent.id] = agent + + def get_agent(self, agent_id: str) -> "Agent | None": + """ + Retrieve a registered downstream agent by its ID. + + Args: + agent_id: The unique identifier of the agent. -class AgentResultStreaming(AsyncIterator[str | ToolCall | ToolCallResult]): + Returns: + The Agent instance if found, otherwise None. + """ + return self.downstream_agents.get(agent_id) + + +class AgentResultStreaming( + AsyncIterator[ + str + | ToolCall + | ToolCallResult + | ToolEvent + | BasePrompt + | Usage + | SimpleNamespace + | DownstreamAgentResult + | ConfirmationRequest + ] +): """ An async iterator that will collect all yielded items by LLM.generate_streaming(). This object is returned by `run_streaming`. It can be used in an `async for` loop to process items as they arrive. After the loop completes, @@ -158,21 +253,60 @@ class AgentResultStreaming(AsyncIterator[str | ToolCall | ToolCallResult]): """ def __init__( - self, generator: AsyncGenerator[str | ToolCall | ToolCallResult | SimpleNamespace | BasePrompt | Usage] + self, + generator: AsyncGenerator[ + str + | ToolCall + | ToolCallResult + | ToolEvent + | DownstreamAgentResult + | SimpleNamespace + | BasePrompt + | Usage + | ConfirmationRequest, + None, + ], ): self._generator = generator self.content: str = "" self.tool_calls: list[ToolCallResult] | None = None + self.tool_events: list[Any] | None = None + self.downstream: dict[str | None, list[str | ToolCall | ToolCallResult]] = {} self.metadata: dict = {} self.history: ChatFormat self.usage: Usage = Usage() - def __aiter__(self) -> AsyncIterator[str | ToolCall | ToolCallResult]: + def __aiter__( + self, + ) -> AsyncIterator[ + str + | ToolCall + | ToolCallResult + | ToolEvent + | BasePrompt + | Usage + | SimpleNamespace + | DownstreamAgentResult + | ConfirmationRequest + ]: return self - async def __anext__(self) -> str | ToolCall | ToolCallResult: + async def __anext__( # noqa: PLR0912 + self, + ) -> ( + str # noqa: ANN401 + | ToolCall + | ToolCallResult + | BasePrompt + | Usage + | SimpleNamespace + | DownstreamAgentResult + | ConfirmationRequest + | Any + ): try: item = await self._generator.__anext__() + match item: case str(): self.content += item @@ -182,23 +316,37 @@ async def __anext__(self) -> str | ToolCall | ToolCallResult: if self.tool_calls is None: self.tool_calls = [] self.tool_calls.append(item) + case ConfirmationRequest(): + # Pass through confirmation requests to the frontend + pass + case DownstreamAgentResult(): + if item.agent_id not in self.downstream: + self.downstream[item.agent_id] = [] + if isinstance(item.item, str | ToolCall | ToolCallResult): + self.downstream[item.agent_id].append(item.item) case BasePrompt(): - item.add_assistant_message(self.content) + # Only add assistant message if not already present (avoid duplicates on re-yield) + if not item.chat or item.chat[-1].get("role") != "assistant": + item.add_assistant_message(self.content) self.history = item.chat - item = await self._generator.__anext__() - item = cast(SimpleNamespace, item) - item.result = { - "content": self.content, - "metadata": self.metadata, - "tool_calls": self.tool_calls, - } - raise StopAsyncIteration case Usage(): self.usage = item + # continue loop instead of tail recursion return await self.__anext__() + case SimpleNamespace(): + result_dict = getattr(item, "result", {}) + self.content = result_dict.get("content", self.content) + self.metadata = result_dict.get("metadata", self.metadata) + self.tool_calls = result_dict.get("tool_calls", self.tool_calls) + case ToolEvent(): + if self.tool_events is None: + self.tool_events = [] + self.tool_events.append(item.content) + return item.content case _: raise ValueError(f"Unexpected item: {item}") return item + except StopAsyncIteration: raise @@ -215,16 +363,24 @@ class Agent( options_cls: type[AgentOptions] = AgentOptions default_module: ClassVar[ModuleType | None] = agents configuration_key: ClassVar[str] = "agent" + # Syntax sugar fields + user_prompt: ClassVar[str] = "{{ input }}" + system_prompt: ClassVar[str | None] = None + input_type: PromptInputT | None = None + prompt_cls: ClassVar[type[Prompt] | None] = None def __init__( self, llm: LLM[LLMClientOptionsT], + name: str | None = None, + description: str | None = None, prompt: str | type[Prompt[PromptInputT, PromptOutputT]] | Prompt[PromptInputT, PromptOutputT] | None = None, *, history: ChatFormat | None = None, keep_history: bool = False, - tools: list[Callable] | None = None, + tools: list["Callable | Tool | Agent"] | None = None, mcp_servers: list[MCPServer] | None = None, + hooks: list[Hook] | None = None, default_options: AgentOptions[LLMClientOptionsT] | None = None, ) -> None: """ @@ -232,6 +388,8 @@ def __init__( Args: llm: The LLM to run the agent. + name: Optional name of the agent. Used to identify the agent instance. + description: Optional description of the agent. prompt: The prompt for the agent. Can be: - str: A string prompt that will be used as system message when combined with string input, or as the user message when no input is provided during run(). @@ -240,18 +398,45 @@ def __init__( - None: No predefined prompt. The input provided to run() will be used as the complete prompt. history: The history of the agent. keep_history: Whether to keep the history of the agent. - tools: The tools available to the agent. + tools: The tools available to the agent. Can be one of: + * Callable - a function with typing of parameters and a docstring that will be sent to the LLM + The output from the callable will be sent to the LLM as a result of a tool. + To specify additional values to return, that are not passed to the LLM, use ToolReturn. + If this callable returns a generator or async generator, the yielded values are yielded from the + streaming agent as well. The exception is a ToolReturn, which is used to send the result to the LLM. + The ToolReturn is expected to be yielded only once. + * Agent - another instance of an Agent, with name and description + * Tool - raw instance of a Tool mcp_servers: The MCP servers available to the agent. + hooks: List of tool hooks to register for tool lifecycle events. default_options: The default options for the agent run. """ super().__init__(default_options) self.id = uuid.uuid4().hex[:8] self.llm = llm self.prompt = prompt - self.tools = [Tool.from_callable(tool) for tool in tools or []] + self.name = name + self.description = description + self.tools = [] + for tool in tools or []: + if isinstance(tool, Agent): + self.tools.append(Tool.from_agent(tool)) + elif isinstance(tool, Tool): + self.tools.append(tool) + elif callable(tool): + self.tools.append(Tool.from_callable(tool)) + else: + raise ValueError(f"Unsupported type of a tool: {type(tool)}. Should be a Callable, Agent, or Tool") self.mcp_servers = mcp_servers or [] self.history = history or [] self.keep_history = keep_history + self.hook_manager: HookManager[LLMClientOptionsT, PromptInputT, PromptOutputT] = HookManager(hooks) + + if getattr(self, "system_prompt", None) and not getattr(self, "input_type", None): + raise ValueError( + f"Agent {type(self).__name__} defines a system_prompt but has no input_type. ", + "Use Agent.prompt decorator to properly assign it.", + ) @overload async def run( @@ -309,37 +494,75 @@ async def run( input = cast(PromptInputT, input) merged_options = (self.default_options | options) if options else self.default_options - llm_options = merged_options.llm_options or self.llm.default_options + + # Execute PRE_RUN hooks + input = cast( + PromptInputT, + await self.hook_manager.execute_pre_run( + _input=input, + options=merged_options, + context=context, + ), + ) + + # Run the agent + result = await self._run_internal(input, merged_options, context, tool_choice) + + # Execute POST_RUN hooks + return await self.hook_manager.execute_post_run( + result=result, + options=merged_options, + context=context, + ) + + async def _run_internal( + self, + input: PromptInputT, + options: AgentOptions[LLMClientOptionsT], + context: AgentRunContext, + tool_choice: ToolChoice | None = None, + ) -> AgentResult[PromptOutputT]: + """ + Execute the core LLM loop with tool calls. + """ + llm_options = options.llm_options or self.llm.default_options prompt_with_history = self._get_prompt_with_history(input) tools_mapping = await self._get_all_tools() tool_calls = [] + reasoning_traces: list[str] = [] turn_count = 0 - max_turns = merged_options.max_turns + max_turns = options.max_turns max_turns = 10 if max_turns is NOT_GIVEN else max_turns - with trace(input=input, options=merged_options) as outputs: + with trace(input=input, options=options) as outputs: while not max_turns or turn_count < max_turns: - self._check_token_limits(merged_options, context.usage, prompt_with_history, self.llm) + self._check_token_limits(options, context.usage, prompt_with_history, self.llm) response = cast( LLMResponseWithMetadata[PromptOutputT], await self.llm.generate_with_metadata( prompt=prompt_with_history, tools=[tool.to_function_schema() for tool in tools_mapping.values()], tool_choice=tool_choice if tool_choice and turn_count == 0 else None, - options=self._get_llm_options(llm_options, merged_options, context.usage), + options=self._get_llm_options(llm_options, options, context.usage), ), ) context.usage += response.usage or Usage() + if options.log_reasoning and response.reasoning: + reasoning_traces.append(response.reasoning) + if not response.tool_calls: break - for tool_call in response.tool_calls: - result = await self._execute_tool(tool_call=tool_call, tools_mapping=tools_mapping, context=context) - tool_calls.append(result) - - prompt_with_history = prompt_with_history.add_tool_use_message(**result.__dict__) + async for result in self._execute_tool_calls( + response.tool_calls, tools_mapping, context, options.parallel_tool_calling + ): + if isinstance(result, ToolCallResult): + tool_calls.append(result) + prompt_with_history = prompt_with_history.add_tool_use_message( + id=result.id, name=result.name, arguments=result.arguments, result=result.result + ) turn_count += 1 else: @@ -350,6 +573,8 @@ async def run( "metadata": response.metadata, "tool_calls": tool_calls or None, } + if options.log_reasoning and reasoning_traces: + outputs.result["reasoning_traces"] = reasoning_traces prompt_with_history = prompt_with_history.add_assistant_message(response.content) @@ -362,6 +587,7 @@ async def run( tool_calls=tool_calls or None, history=prompt_with_history.chat, usage=context.usage, + reasoning_traces=reasoning_traces or None, ) @overload @@ -413,50 +639,237 @@ def run_streaming( AgentInvalidPromptInputError: If the prompt/input combination is invalid. AgentMaxTurnsExceededError: If the maximum number of turns is exceeded. """ - generator = self._stream_internal(input, options, context, tool_choice) - return AgentResultStreaming(generator) - - async def _stream_internal( - self, - input: str | PromptInputT | None = None, - options: AgentOptions[LLMClientOptionsT] | None = None, - context: AgentRunContext | None = None, - tool_choice: ToolChoice | None = None, - ) -> AsyncGenerator[str | ToolCall | ToolCallResult | SimpleNamespace | BasePrompt | Usage]: if context is None: context = AgentRunContext() + context.register_agent(cast(Agent[Any, Any, str], self)) + input = cast(PromptInputT, input) merged_options = (self.default_options | options) if options else self.default_options - llm_options = merged_options.llm_options or self.llm.default_options + + generator = self._stream_internal( + input=input, + options=merged_options, + context=context, + tool_choice=tool_choice, + ) + + # Apply ON_EVENT hooks if any registered + if self.hook_manager.get_hooks(EventType.ON_EVENT): + generator = self.hook_manager.execute_on_event(generator) + + # Apply POST_RUN hooks wrapper if any registered + if self.hook_manager.get_hooks(EventType.POST_RUN): + generator = self._run_streaming_with_hooks(generator, merged_options, context) + + return AgentResultStreaming(generator) + + async def _run_streaming_with_hooks( + self, + generator: AsyncGenerator[ + str + | ToolCall + | ToolCallResult + | ToolEvent + | DownstreamAgentResult + | SimpleNamespace + | BasePrompt + | Usage + | ConfirmationRequest, + None, + ], + options: AgentOptions[LLMClientOptionsT], + context: AgentRunContext, + ) -> AsyncGenerator[ + str + | ToolCall + | ToolCallResult + | ToolEvent + | DownstreamAgentResult + | SimpleNamespace + | BasePrompt + | Usage + | ConfirmationRequest, + None, + ]: + """ + Wrap a streaming generator with POST_RUN hooks. + + Accumulates data from the stream, yields all items, then executes POST_RUN hooks + and yields the final (potentially modified) result. + """ + # Accumulate data from stream + accumulated_content = "" + tool_call_results: list[ToolCallResult] = [] + usage: Usage = Usage() + prompt_with_history: BasePrompt | None = None + metadata: dict = {} + + # Stream all items + async for item in generator: + if isinstance(item, str): + accumulated_content += item + elif isinstance(item, ToolCallResult): + tool_call_results.append(item) + elif isinstance(item, Usage): + usage = item + elif isinstance(item, BasePrompt): + prompt_with_history = item + elif isinstance(item, SimpleNamespace): + result_dict = getattr(item, "result", {}) + accumulated_content = result_dict.get("content", accumulated_content) + metadata = result_dict.get("metadata", metadata) + tool_call_results = result_dict.get("tool_calls", tool_call_results) or [] + + yield item + + # Build AgentResult for post-run hooks + if prompt_with_history is not None: + agent_result = AgentResult( + content=cast(PromptOutputT, accumulated_content), + metadata=metadata, + tool_calls=tool_call_results or None, + history=prompt_with_history.chat, + usage=usage, + ) + + # Execute POST_RUN hooks + final_result = await self.hook_manager.execute_post_run( + result=agent_result, + options=options, + context=context, + ) + + # Yield the final result from POST_RUN hooks (may be modified) + yield final_result.usage + yield prompt_with_history + yield SimpleNamespace( + result={ + "content": final_result.content, + "metadata": final_result.metadata, + "tool_calls": final_result.tool_calls, + } + ) + + async def _stream_internal( # noqa: PLR0912, PLR0915 + self, + input: PromptInputT, + options: AgentOptions[LLMClientOptionsT], + context: AgentRunContext, + tool_choice: ToolChoice | None = None, + ) -> AsyncGenerator[ + str + | ToolCall + | ToolCallResult + | ToolEvent + | DownstreamAgentResult + | SimpleNamespace + | BasePrompt + | Usage + | ConfirmationRequest, + None, + ]: + """ + Execute the core streaming LLM loop with tool calls. + """ + # Execute PRE_RUN hooks + input = cast( + PromptInputT, + await self.hook_manager.execute_pre_run( + _input=input, + options=options, + context=context, + ), + ) + + llm_options = options.llm_options or self.llm.default_options prompt_with_history = self._get_prompt_with_history(input) tools_mapping = await self._get_all_tools() turn_count = 0 - max_turns = merged_options.max_turns + max_turns = options.max_turns max_turns = 10 if max_turns is NOT_GIVEN else max_turns - with trace(input=input, options=merged_options) as outputs: + reasoning_traces: list[str] = [] + + with trace(input=input, options=options) as outputs: + # Track confirmation IDs that have been requested to detect loops + requested_confirmation_ids: set[str] = set() + # Track if we should generate text-only summary (no tools) + generate_text_only = False + while not max_turns or turn_count < max_turns: returned_tool_call = False - self._check_token_limits(merged_options, context.usage, prompt_with_history, self.llm) + self._check_token_limits(options, context.usage, prompt_with_history, self.llm) + + # Determine tool choice for this turn + current_tool_choice: ToolChoice | None + current_tools: list[Callable[..., Any] | dict[Any, Any]] + + if generate_text_only: + # Force text-only generation (no tool calls) + # Don't set tool_choice when tools is empty (causes OpenAI error) + current_tool_choice = None + current_tools = [] + elif tool_choice and turn_count == 0: + current_tool_choice = tool_choice + current_tools = [tool.to_function_schema() for tool in tools_mapping.values()] + else: + current_tool_choice = None + current_tools = [tool.to_function_schema() for tool in tools_mapping.values()] + streaming_result = self.llm.generate_streaming( prompt=prompt_with_history, - tools=[tool.to_function_schema() for tool in tools_mapping.values()], - tool_choice=tool_choice if tool_choice and turn_count == 0 else None, - options=self._get_llm_options(llm_options, merged_options, context.usage), + tools=current_tools, + tool_choice=current_tool_choice, + options=self._get_llm_options(llm_options, options, context.usage), ) + tool_chunks = [] async for chunk in streaming_result: + if isinstance(chunk, Reasoning) and options.log_reasoning: + reasoning_traces.append(str(chunk)) yield chunk - if isinstance(chunk, ToolCall): - result = await self._execute_tool(tool_call=chunk, tools_mapping=tools_mapping, context=context) + tool_chunks.append(chunk) + + if len(tool_chunks) > 0: + has_pending_confirmation = False + current_turn_confirmation_ids: set[str] = set() + + async for result in self._execute_tool_calls( + tool_chunks, tools_mapping, context, options.parallel_tool_calling + ): yield result - prompt_with_history = prompt_with_history.add_tool_use_message(**result.__dict__) - returned_tool_call = True + if isinstance(result, ConfirmationRequest): + # Mark that we have a pending confirmation + has_pending_confirmation = True + current_turn_confirmation_ids.add(result.confirmation_id) + elif isinstance(result, ToolCallResult): + # Add ALL tool results to history (including pending confirmations) + # This allows the agent to see them in the next turn + prompt_with_history = prompt_with_history.add_tool_use_message( + id=result.id, name=result.name, arguments=result.arguments, result=result.result + ) + returned_tool_call = True + + # If we have pending confirmations, prepare for text-only summary generation + if has_pending_confirmation: + # Check if we've already requested these confirmations (infinite loop detection) + if current_turn_confirmation_ids & requested_confirmation_ids: + break + # Add to tracking set + requested_confirmation_ids.update(current_turn_confirmation_ids) + # Set flag to generate text-only summary in next turn + generate_text_only = True + + # If we just generated text-only summary, we're done + if generate_text_only and len(tool_chunks) == 0: + break + turn_count += 1 if streaming_result.usage: context.usage += streaming_result.usage + # Break if no tool was called if not returned_tool_call: break else: @@ -466,8 +879,48 @@ async def _stream_internal( yield prompt_with_history if self.keep_history: self.history = prompt_with_history.chat + + if options.log_reasoning and reasoning_traces: + outputs.result = {"reasoning_traces": reasoning_traces} + yield outputs + async def _execute_tool_calls( + self, + tool_calls: list[ToolCall], + tools_mapping: dict[str, Tool], + context: AgentRunContext, + parallel_tool_calling: bool, + ) -> AsyncGenerator[ToolCallResult | ToolEvent | DownstreamAgentResult | ConfirmationRequest, None]: + """Execute tool calls either in parallel or sequentially based on `parallel_tool_calling` value.""" + if parallel_tool_calling: + queue: asyncio.Queue = asyncio.Queue() + + async def consume_tool(tool: ToolCall) -> None: + async for tool_result in self._execute_tool( + tool_call=tool, tools_mapping=tools_mapping, context=context + ): + await queue.put(tool_result) + + async def monitor() -> None: + tasks = [asyncio.create_task(consume_tool(tool)) for tool in tool_calls] + await asyncio.gather(*tasks) + await queue.put(None) + + asyncio.create_task(monitor()) + while True: + item = await queue.get() + if item is None: + break + yield item + + else: + for tool_call in tool_calls: + async for result in self._execute_tool( + tool_call=tool_call, tools_mapping=tools_mapping, context=context + ): + yield result + @staticmethod def _check_token_limits( options: AgentOptions[LLMClientOptionsT], usage: Usage, prompt: BasePrompt, llm: LLM[LLMClientOptionsT] @@ -504,14 +957,38 @@ def _get_llm_options( llm_options.max_tokens = min(actual_limits) - usage.total_tokens return llm_options - def _get_prompt_with_history(self, input: PromptInputT) -> SimplePrompt | Prompt[PromptInputT, PromptOutputT]: + def _prepare_synthesized_prompt( + self, input: PromptInputT + ) -> SimplePrompt | Prompt[PromptInputT, PromptOutputT] | None: curr_history = deepcopy(self.history) + if ( + hasattr(self, "prompt_cls") + and self.prompt_cls + and isinstance(self.prompt_cls, type) + and issubclass(self.prompt_cls, Prompt) + ): + prompt_cls = cast(type[Prompt[PromptInputT, PromptOutputT]], self.prompt_cls) + if self.keep_history: + self.prompt = cast(Prompt[PromptInputT, PromptOutputT], prompt_cls(input, curr_history)) + return self.prompt + else: + return cast(Prompt[PromptInputT, PromptOutputT], prompt_cls(input)) + if isinstance(self.prompt, type) and issubclass(self.prompt, Prompt): if self.keep_history: self.prompt = self.prompt(input, curr_history) return self.prompt else: - return self.prompt(input, curr_history) + return self.prompt(input) + + return None + + def _get_prompt_with_history(self, input: PromptInputT) -> SimplePrompt | Prompt[PromptInputT, PromptOutputT]: + curr_history = deepcopy(self.history) + new_prompt = self._prepare_synthesized_prompt(input) + + if new_prompt: + return new_prompt if isinstance(self.prompt, Prompt): self.prompt.add_user_message(input) @@ -554,33 +1031,119 @@ async def _get_all_tools(self) -> dict[str, Tool]: return tools_mapping + @staticmethod + async def _process_tool_output( + tool_output: ToolReturn | Generator | AsyncGenerator | AgentResultStreaming | ToolEvent, + tool: Tool, + context: AgentRunContext, + ) -> AsyncGenerator[ToolReturn | DownstreamAgentResult | ToolEvent, None]: + """ + Process the output from a tool call and yield events if the tool output is an agent, generator or async + generator. + + Args: + tool_output: The raw output from the tool call. + tool: The tool that was called. + context: The agent run context. + + Yields: + ToolReturn with the final result, and any intermediate events or downstream results. + """ + if isinstance(tool_output, AgentResultStreaming): + async for downstream_item in tool_output: + if context.stream_downstream_events: + yield DownstreamAgentResult(agent_id=tool.id, item=downstream_item) + metadata = { + "metadata": tool_output.metadata, + "tool_calls": tool_output.tool_calls, + "usage": tool_output.usage, + } + yield ToolReturn(value=tool_output.content, metadata=metadata) + elif isinstance(tool_output, ToolReturn): + yield tool_output + elif isinstance(tool_output, Generator): + for event in tool_output: + yield event if isinstance(event, ToolReturn) else ToolEvent(content=event) + elif isinstance(tool_output, AsyncGenerator): + async for event in tool_output: + yield event if isinstance(event, ToolReturn) else ToolEvent(content=event) + else: + yield ToolReturn(value=tool_output, metadata=None) + async def _execute_tool( - self, tool_call: ToolCall, tools_mapping: dict[str, Tool], context: AgentRunContext | None = None - ) -> ToolCallResult: + self, + tool_call: ToolCall, + tools_mapping: dict[str, Tool], + context: AgentRunContext, + ) -> AsyncGenerator[ConfirmationRequest | ToolCallResult | DownstreamAgentResult | ToolEvent, None]: if tool_call.type != "function": raise AgentToolNotSupportedError(tool_call.type) - if tool_call.name not in tools_mapping: raise AgentToolNotAvailableError(tool_call.name) tool = tools_mapping[tool_call.name] + # Execute PRE_TOOL hooks with chaining + pre_tool_result, confirmation_request = await self.hook_manager.execute_pre_tool( + tool_call=tool_call, + context=context, + ) + + # Check decision + if pre_tool_result.decision == "deny": + yield ToolCallResult( + id=tool_call.id, + name=tool_call.name, + arguments=tool_call.arguments, + result=pre_tool_result.reason, + ) + return + # Handle "ask" decision from hooks + elif pre_tool_result.decision == "ask" and confirmation_request is not None: + yield confirmation_request + + yield ToolCallResult( + id=tool_call.id, + name=tool_call.name, + arguments=tool_call.arguments, + result="⏳ Awaiting user confirmation", + ) + return + + # Always update arguments (chained from hooks) + tool_call.arguments = pre_tool_result.arguments + + tool_return: ToolReturn | None = None with trace(agent_id=self.id, tool_name=tool_call.name, tool_arguments=tool_call.arguments) as outputs: try: call_args = tool_call.arguments.copy() if tool.context_var_name: call_args[tool.context_var_name] = context - tool_output = ( - await tool.on_tool_call(**call_args) + tool_output = await ( + tool.on_tool_call(**call_args) if iscoroutinefunction(tool.on_tool_call) - else tool.on_tool_call(**call_args) + else asyncio.to_thread(tool.on_tool_call, **call_args) ) + async for tool_output_event in self._process_tool_output(tool_output, tool, context): + if isinstance(tool_output_event, ToolReturn): + if tool_return is not None: + warnings.warn( + f"Received more than one ToolReturn! Previous: {tool_return}. " + f"Current: {tool_output_event}. Using only the latter" + ) + tool_return = tool_output_event + else: + yield tool_output_event + + if tool_return is None: + tool_return = ToolReturn(value=None) outputs.result = { - "tool_output": tool_output, + "tool_output": tool_return.value, "tool_call_id": tool_call.id, } + except Exception as e: outputs.result = { "error": str(e), @@ -588,11 +1151,18 @@ async def _execute_tool( } raise AgentToolExecutionError(tool_call.name, e) from e - return ToolCallResult( + # Execute POST_TOOL hooks with chaining + post_tool_result = await self.hook_manager.execute_post_tool( + tool_call=tool_call, + tool_return=tool_return, + ) + + yield ToolCallResult( id=tool_call.id, name=tool_call.name, arguments=tool_call.arguments, - result=tool_output, + result=post_tool_result.value, + metadata=post_tool_result.metadata, ) @requires_dependencies(["a2a.types"], "a2a") @@ -758,3 +1328,81 @@ def from_pydantic_ai(cls, pydantic_ai_agent: "PydanticAIAgent") -> Self: tools=[tool.function for _, tool in pydantic_ai_agent._function_tools.items()], mcp_servers=cast(list[MCPServer], mcp_servers), ) + + def to_tool(self, name: str | None = None, description: str | None = None) -> Tool: + """ + Convert the agent into a Tool instance. + + Args: + name: Optional override for the tool name. + description: Optional override for the tool description. + + Returns: + Tool instance representing the agent. + """ + return Tool.from_agent(self, name=name or self.name, description=description or self.description) + + @staticmethod + def _make_prompt_class_for_agent_subclass(agent_cls: type["Agent[Any, Any, Any]"]) -> type[Prompt] | None: + system = getattr(agent_cls, "system_prompt", None) + if not system: + raise ValueError(f"Agent {agent_cls.__name__} has no system_prompt") + user = getattr(agent_cls, "user_prompt", "{{ input }}") + + input_type: type[BaseModel] | None = getattr(agent_cls, "input_type", None) + if input_type is None: + raise ValueError(f"Agent {agent_cls.__name__} cannot build a Prompt without input_type") + + base_generic = Prompt + base = base_generic[input_type] + + attrs = { + "system_prompt": system, + "user_prompt": user, + } + + return types.new_class( + f"_{agent_cls.__name__}Prompt", + (base,), + exec_body=lambda ns: ns.update(attrs), + ) + + @overload + @staticmethod + def prompt_config( + input_model: type[_Input], + ) -> Callable[[type[Any]], type["Agent[LLMOptions, _Input, str]"]]: ... + @overload + @staticmethod + def prompt_config( + input_model: type[_Input], + output_model: type[_Output], + ) -> Callable[[type[Any]], type["Agent[LLMOptions, _Input, _Output]"]]: ... + @staticmethod + def prompt_config( + input_model: type[_Input], + output_model: type[_Output] | type[NotGiven] = NotGiven, + ) -> Callable[[type[Any]], type["Agent[LLMOptions, _Input, _Output]"]]: + """ + Decorator to bind both input and output types of an Agent subclass, with runtime checks. + + Raises: + TypeError: if the decorated class is not a subclass of Agent, + or if input_model is not a Pydantic BaseModel. + """ + if not isinstance(input_model, type) or not issubclass(input_model, BaseModel): + raise TypeError(f"input_model must be a subclass of pydantic.BaseModel, got {input_model}") + + if not isinstance(output_model, type): + raise TypeError(f"output_model must be a type, got {output_model}") + + def decorator(cls: type[Any]) -> type["Agent[LLMOptions, _Input, _Output]"]: + if not isinstance(cls, type) or not issubclass(cls, Agent): + raise TypeError(f"Can only decorate subclasses of Agent, got {cls}") + + cls.input_type = input_model + cls.prompt_cls = Agent._make_prompt_class_for_agent_subclass(cls) + + return cast(type["Agent[LLMOptions, _Input, _Output]"], cls) + + return decorator diff --git a/packages/ragbits-agents/src/ragbits/agents/cli.py b/packages/ragbits-agents/src/ragbits/agents/cli.py index a4cb2b116..33895d74e 100644 --- a/packages/ragbits-agents/src/ragbits/agents/cli.py +++ b/packages/ragbits-agents/src/ragbits/agents/cli.py @@ -9,6 +9,7 @@ from ragbits.agents import Agent, ToolCallResult from ragbits.agents._main import AgentResult +from ragbits.core.llms.base import Reasoning agents_app = typer.Typer(help="Commands for managing agents") @@ -308,17 +309,32 @@ async def _run_agent(self, message: str) -> None: tools_log.write_line(f"🔧 Tool calls for message '{message[:50]}...':") first_response = True + in_reasoning_mode = False agent_results = self.agent.run_streaming(message) async for result in agent_results: match result: - case str(): - if first_response: - # Hide loading indicator and start agent response + case Reasoning(): + if not in_reasoning_mode: loading.display = False - chat_log.write("\n🤖 Agent: ") + chat_log.write( + "\n🧠⚡ Thinking...: " if first_response else "\n\n🧠⚡ Thinking Further...: " + ) + in_reasoning_mode = True + first_response = False + chat_log.write(str(result)) + + case str(): + if in_reasoning_mode or first_response: + if in_reasoning_mode: + chat_log.write("\n\n🤖 Agent: ") + in_reasoning_mode = False + else: # first output (no reasoning before) + loading.display = False + chat_log.write("\n🤖 Agent: ") first_response = False chat_log.write(result) + case ToolCallResult(): tools_log.write_line(f" • {result.name}({result.arguments}) → {result.result}") diff --git a/packages/ragbits-agents/src/ragbits/agents/confirmation.py b/packages/ragbits-agents/src/ragbits/agents/confirmation.py new file mode 100644 index 000000000..6cd0483b4 --- /dev/null +++ b/packages/ragbits-agents/src/ragbits/agents/confirmation.py @@ -0,0 +1,22 @@ +""" +Tool confirmation functionality for agents. + +This module provides the ability to request user confirmation before executing certain tools. +""" + +from typing import Any + +from pydantic import BaseModel + + +class ConfirmationRequest(BaseModel): + """Represents a tool confirmation request sent to the user.""" + + confirmation_id: str + """Unique identifier for this confirmation request.""" + tool_name: str + """Name of the tool requiring confirmation.""" + tool_description: str + """Description of what the tool does.""" + arguments: dict[str, Any] + """Arguments that will be passed to the tool.""" diff --git a/packages/ragbits-agents/src/ragbits/agents/exceptions.py b/packages/ragbits-agents/src/ragbits/agents/exceptions.py index c474e6ac7..edddd777a 100644 --- a/packages/ragbits-agents/src/ragbits/agents/exceptions.py +++ b/packages/ragbits-agents/src/ragbits/agents/exceptions.py @@ -70,13 +70,27 @@ class AgentMaxTurnsExceededError(AgentError): def __init__(self, max_turns: int) -> None: super().__init__( - f"The number of Agent turns exceeded the limit of {max_turns}." - "To change this limit, pass ragbits.agents.AgentOptions with max_turns when initializing the Agent." + f"The number of Agent turns exceeded the limit of {max_turns}. " + "To change this limit, pass ragbits.agents.AgentOptions with max_turns when initializing the Agent. " "agent = Agent(options=AgentOptions(max_turns=x))" ) self.max_turns = max_turns +class AgentMaxRerunsExceededError(AgentError): + """ + Raised when the maximum number of reruns (triggered by post-run hooks) is exceeded. + """ + + def __init__(self, max_reruns: int) -> None: + super().__init__( + f"The number of Agent reruns exceeded the limit of {max_reruns}. " + "To change this limit, pass ragbits.agents.AgentOptions with max_reruns when initializing the Agent. " + "agent = Agent(options=AgentOptions(max_reruns=x))" + ) + self.max_reruns = max_reruns + + class AgentMaxTokensExceededError(AgentError): """ Raised when the maximum number of total tokens is exceeded. diff --git a/packages/ragbits-agents/src/ragbits/agents/hooks/__init__.py b/packages/ragbits-agents/src/ragbits/agents/hooks/__init__.py new file mode 100644 index 000000000..fde978335 --- /dev/null +++ b/packages/ragbits-agents/src/ragbits/agents/hooks/__init__.py @@ -0,0 +1,69 @@ +""" +Hooks system for lifecycle events. + +This module provides a comprehensive hook system that allows users to register +custom logic at various points in the execution lifecycle. + +Available event types: +- PRE_TOOL: Before a tool is invoked +- POST_TOOL: After a tool completes +- PRE_RUN: Before the agent run starts +- POST_RUN: After the agent run completes +- ON_EVENT: For each streaming event during run_streaming + +Example usage: + + from ragbits.agents.hooks import EventType, Hook + from ragbits.core.llms.base import ToolCall + + # Create a pre-tool hook callback + async def validate_input(tool_call: ToolCall) -> ToolCall: + if tool_call.name == "dangerous_tool": + return tool_call.model_copy(update={ + "decision": "deny", + "reason": "This tool is not allowed", + }) + return tool_call + + # Create hook instance + hook = Hook( + event_type=EventType.PRE_TOOL, + callback=validate_input, + tool_names=["dangerous_tool"], + priority=10 + ) + + # Register hooks with agent + agent = Agent( + ..., + hooks=[hook] + ) +""" + +from ragbits.agents.hooks.base import Hook +from ragbits.agents.hooks.confirmation import create_confirmation_hook +from ragbits.agents.hooks.manager import HookManager +from ragbits.agents.hooks.types import ( + EventType, + HookCallback, + OnEventCallback, + PostRunCallback, + PostToolCallback, + PreRunCallback, + PreToolCallback, + StreamingEvent, +) + +__all__ = [ + "EventType", + "Hook", + "HookCallback", + "HookManager", + "OnEventCallback", + "PostRunCallback", + "PostToolCallback", + "PreRunCallback", + "PreToolCallback", + "StreamingEvent", + "create_confirmation_hook", +] diff --git a/packages/ragbits-agents/src/ragbits/agents/hooks/base.py b/packages/ragbits-agents/src/ragbits/agents/hooks/base.py new file mode 100644 index 000000000..fd70c8dd8 --- /dev/null +++ b/packages/ragbits-agents/src/ragbits/agents/hooks/base.py @@ -0,0 +1,79 @@ +""" +Base classes for the hooks system. +""" + +from typing import Generic, TypeVar + +from ragbits.agents.hooks.types import EventType + +CallbackT = TypeVar("CallbackT") + + +class Hook(Generic[CallbackT]): + """ + A hook that intercepts execution at various lifecycle points. + + Hooks allow you to: + - Validate inputs before execution (pre hooks) + - Control access (pre hooks) + - Modify inputs (pre hooks) + - Deny execution (pre hooks) + - Modify outputs (post hooks) + - Handle errors (post hooks) + + Attributes: + event_type: The type of event (e.g., PRE_TOOL, POST_TOOL) + callback: The async function to call when the event is triggered + tool_names: List of tool names this hook applies to. If None, applies to all tools. + priority: Execution priority (lower numbers execute first, default: 100) + + Example: + ```python + from ragbits.agents.hooks import Hook, EventType + from ragbits.core.llms.base import ToolCall + + + async def validate_input(tool_call: ToolCall) -> ToolCall: + if tool_call.name == "dangerous_tool": + return tool_call.model_copy(update={"decision": "deny", "reason": "Not allowed"}) + return tool_call + + + hook = Hook(event_type=EventType.PRE_TOOL, callback=validate_input, tool_names=["dangerous_tool"], priority=10) + ``` + """ + + def __init__( + self, + event_type: EventType, + callback: CallbackT, + tool_names: list[str] | None = None, + priority: int = 100, + ) -> None: + """ + Initialize a hook. + + Args: + event_type: The type of event (e.g., PRE_TOOL, POST_TOOL) + callback: The async function to call when the event is triggered + tool_names: List of tool names this hook applies to. If None, applies to all tools. + priority: Execution priority (lower numbers execute first, default: 100) + """ + self.event_type = event_type + self.callback: CallbackT = callback + self.tool_names = tool_names + self.priority = priority + + def matches_tool(self, tool_name: str) -> bool: + """ + Check if this hook applies to the given tool name. + + Args: + tool_name: The name of the tool to check + + Returns: + True if this hook should be executed for the given tool + """ + if self.tool_names is None: + return True + return tool_name in self.tool_names diff --git a/packages/ragbits-agents/src/ragbits/agents/hooks/confirmation.py b/packages/ragbits-agents/src/ragbits/agents/hooks/confirmation.py new file mode 100644 index 000000000..6f1bae1a4 --- /dev/null +++ b/packages/ragbits-agents/src/ragbits/agents/hooks/confirmation.py @@ -0,0 +1,51 @@ +""" +Helper functions for creating common hooks. + +This module provides factory functions for creating commonly used hooks. +""" + +from ragbits.agents.hooks.base import Hook +from ragbits.agents.hooks.types import EventType +from ragbits.core.llms.base import ToolCall + + +def create_confirmation_hook(tool_names: list[str] | None = None, priority: int = 1) -> Hook: + """ + Create a hook that requires user confirmation before tool execution. + + The hook returns "ask" decision, which causes the agent to yield a ConfirmationRequest + and wait for user approval/decline. + + Args: + tool_names: List of tool names to require confirmation for. If None, applies to all tools. + priority: Hook priority (default: 1, runs first) + + Returns: + Hook configured to require confirmation + + Example: + ```python + from ragbits.agents import Agent + from ragbits.agents.hooks.confirmation import create_confirmation_hook + + agent = Agent( + tools=[delete_file, send_email], hooks=[create_confirmation_hook(tool_names=["delete_file", "send_email"])] + ) + ``` + """ + + async def confirm_hook(tool_call: ToolCall) -> ToolCall: + """Hook that always returns 'ask' to require confirmation.""" + return tool_call.model_copy( + update={ + "decision": "ask", + "reason": f"Action '{tool_call.name.replace('_', ' ')}' requires user confirmation", + } + ) + + return Hook( + event_type=EventType.PRE_TOOL, + callback=confirm_hook, + tool_names=tool_names, + priority=priority, + ) diff --git a/packages/ragbits-agents/src/ragbits/agents/hooks/manager.py b/packages/ragbits-agents/src/ragbits/agents/hooks/manager.py new file mode 100644 index 000000000..58550ce0f --- /dev/null +++ b/packages/ragbits-agents/src/ragbits/agents/hooks/manager.py @@ -0,0 +1,297 @@ +""" +Hook manager for organizing and executing hooks. + +This module provides the HookManager class which handles registration, +organization, and execution of hooks during lifecycle events. +""" + +import hashlib +import json +from collections import defaultdict +from collections.abc import AsyncGenerator +from typing import TYPE_CHECKING, Generic, Literal, overload + +from ragbits.agents.confirmation import ConfirmationRequest +from ragbits.agents.hooks.base import Hook +from ragbits.agents.hooks.types import ( + EventType, + OnEventCallback, + PostRunCallback, + PostToolCallback, + PreRunCallback, + PreToolCallback, + StreamingEvent, +) +from ragbits.agents.tool import ToolReturn +from ragbits.core.llms.base import LLMClientOptionsT, ToolCall +from ragbits.core.prompt.prompt import PromptInputT, PromptOutputT + +if TYPE_CHECKING: + from ragbits.agents._main import AgentOptions, AgentResult, AgentRunContext + +# Confirmation ID length: 16 hex chars provides sufficient uniqueness +# while being compact for display and storage +CONFIRMATION_ID_LENGTH = 16 + + +class HookManager(Generic[LLMClientOptionsT, PromptInputT, PromptOutputT]): + """ + Manages registration and execution of hooks for an agent. + + The HookManager organizes hooks by type and executes them in priority order, + with proper chaining of modifications between hooks. + """ + + def __init__(self, hooks: list[Hook] | None = None) -> None: + """ + Initialize the hook manager. + + Args: + hooks: Initial list of hooks to register + """ + self._hooks: dict[EventType, list[Hook]] = defaultdict(list) + + if hooks: + for hook in hooks: + self.register(hook) + + def register(self, hook: Hook) -> None: + """ + Register a hook. + + Hooks are organized by type and sorted by priority + (lower numbers execute first). + + Args: + hook: The hook to register + """ + self._hooks[hook.event_type].append(hook) + self._hooks[hook.event_type].sort(key=lambda h: h.priority) + + @overload + def get_hooks( + self, event_type: Literal[EventType.PRE_TOOL], tool_name: str | None = ... + ) -> list[Hook[PreToolCallback]]: ... + + @overload + def get_hooks( + self, event_type: Literal[EventType.POST_TOOL], tool_name: str | None = ... + ) -> list[Hook[PostToolCallback]]: ... + + @overload + def get_hooks( + self, event_type: Literal[EventType.PRE_RUN], tool_name: str | None = ... + ) -> list[Hook[PreRunCallback]]: ... + + @overload + def get_hooks( + self, event_type: Literal[EventType.POST_RUN], tool_name: str | None = ... + ) -> list[Hook[PostRunCallback]]: ... + + @overload + def get_hooks( + self, event_type: Literal[EventType.ON_EVENT], tool_name: str | None = ... + ) -> list[Hook[OnEventCallback]]: ... + + def get_hooks(self, event_type: EventType, tool_name: str | None = None) -> list[Hook]: + """ + Get all hooks for a specific event type that match the tool name. + + Args: + event_type: The type of event + tool_name: Optional tool name to filter hooks. If None, returns all hooks for the event type. + + Returns: + List of matching hooks, sorted by priority + """ + hooks = self._hooks.get(event_type, []) + + if tool_name is None: + return hooks + + return [hook for hook in hooks if hook.matches_tool(tool_name)] + + async def execute_pre_tool( + self, + tool_call: ToolCall, + context: "AgentRunContext", + ) -> tuple[ToolCall, ConfirmationRequest | None]: + """ + Execute pre-tool hooks with proper chaining. + + Each hook sees the modified ToolCall from the previous hook. + Execution stops immediately if any hook returns "deny" or "ask" (unless confirmed). + + Args: + tool_call: The tool call to process + context: Agent run context containing tool_confirmations + + Returns: + Tuple of (ToolCall with final arguments and decision, optional ConfirmationRequest) + """ + current_tool_call = tool_call.model_copy() + + for hook in self.get_hooks(EventType.PRE_TOOL, tool_call.name): + # Generate confirmation_id: hash(hook_function_name + tool_name + arguments) + hook_name = hook.callback.__name__ + confirmation_id_str = ( + f"{hook_name}:{tool_call.name}:{json.dumps(current_tool_call.arguments, sort_keys=True)}" + ) + confirmation_id = hashlib.sha256(confirmation_id_str.encode()).hexdigest()[:CONFIRMATION_ID_LENGTH] + + result: ToolCall = await hook.callback(current_tool_call) + + if result.decision in ("ask", "deny") and not result.reason: + raise ValueError(f"reason is required when decision='{result.decision}'") + + if result.decision == "deny": + return result, None + + elif result.decision == "ask": + # Check if already confirmed/declined in context + for conf in context.tool_confirmations: + if conf.get("confirmation_id") == confirmation_id: + if conf.get("confirmed"): + # Approved → convert to "pass" and continue to next hook + result = result.model_copy(update={"decision": "pass"}) + break + else: + # Declined → convert to "deny" and stop immediately + return ( + result.model_copy( + update={ + "decision": "deny", + "reason": "❌ Action declined by user", + } + ), + None, + ) + else: + # Not in context → return "ask" with ConfirmationRequest + confirmation_request = ConfirmationRequest( + confirmation_id=confirmation_id, + tool_name=tool_call.name, + tool_description=result.reason, # type: ignore[arg-type] # guaranteed non-None by ValueError check above + arguments=current_tool_call.arguments, + ) + return result, confirmation_request + + # Chain: next hook gets the returned ToolCall + current_tool_call = result + + # All hooks passed — ensure decision is "pass" + return current_tool_call.model_copy(update={"decision": "pass"}), None + + async def execute_post_tool( + self, + tool_call: ToolCall, + tool_return: ToolReturn, + ) -> ToolReturn: + """ + Execute post-tool hooks with proper output chaining. + + Each hook sees the modified output from the previous hook. + + Args: + tool_call: The tool call that was executed + tool_return: Object representing the output of the tool (with value passed to the LLM and metadata) + + Returns: + ToolReturn with final output + """ + for hook in self.get_hooks(EventType.POST_TOOL, tool_call.name): + tool_return = await hook.callback(tool_call, tool_return) + + return tool_return + + async def execute_pre_run( + self, + _input: PromptInputT | str | None, + options: "AgentOptions[LLMClientOptionsT]", + context: "AgentRunContext", + ) -> PromptInputT | str | None: + """ + Execute pre-run hooks with proper input chaining. + + Each hook sees the modified input from the previous hook. + + Args: + _input: The input for the agent run + options: The options for the agent run + context: The context for the agent run + + Returns: + The final (potentially modified) input + """ + for hook in self.get_hooks(EventType.PRE_RUN): + _input = await hook.callback(_input, options, context) + + return _input + + async def execute_post_run( + self, + result: "AgentResult[PromptOutputT]", + options: "AgentOptions[LLMClientOptionsT]", + context: "AgentRunContext", + ) -> "AgentResult[PromptOutputT]": + """ + Execute post-run hooks with proper result chaining. + + Each hook sees the modified result from the previous hook. + + Args: + result: The result from the agent run + options: The options for the agent run + context: The context for the agent run + + Returns: + The final (potentially modified) AgentResult + """ + for hook in self.get_hooks(EventType.POST_RUN): + result = await hook.callback(result, options, context) + + return result + + async def execute_on_event( + self, + generator: AsyncGenerator[StreamingEvent, None], + ) -> AsyncGenerator[StreamingEvent, None]: + """ + Process streaming events through ON_EVENT hooks. + + Hooks are composed as a pipeline of async generators: each hook wraps the previous + generator, so events flow through the chain without intermediate collection. + A hook callback can either: + - Return an awaitable resolving to a StreamingEvent (pass-through / modify) + - Return an awaitable resolving to None (suppress the event) + - Return an async generator yielding multiple StreamingEvents (expand one event into many) + + Args: + generator: The source async generator of streaming events + + Yields: + Processed streaming events (potentially modified by hooks) + """ + + async def apply_hook_to_stream( + source: AsyncGenerator[StreamingEvent, None], + hook: Hook[OnEventCallback], + ) -> AsyncGenerator[StreamingEvent, None]: + """ + Apply a single ON_EVENT hook to every event from a source generator. + """ + async for event in source: + result = hook.callback(event) + if isinstance(result, AsyncGenerator): + async for sub_event in result: + yield sub_event + else: + awaited = await result + if awaited is not None: + yield awaited + + for hook in self.get_hooks(EventType.ON_EVENT): + generator = apply_hook_to_stream(generator, hook) + + async for event in generator: + yield event diff --git a/packages/ragbits-agents/src/ragbits/agents/hooks/types.py b/packages/ragbits-agents/src/ragbits/agents/hooks/types.py new file mode 100644 index 000000000..7246e2697 --- /dev/null +++ b/packages/ragbits-agents/src/ragbits/agents/hooks/types.py @@ -0,0 +1,60 @@ +""" +Type definitions for the hooks system. + +This module contains all type definitions including EventType and callback +types for the hooks system. +""" + +from collections.abc import AsyncGenerator, Awaitable, Callable +from enum import Enum +from types import SimpleNamespace +from typing import TYPE_CHECKING, Any, Union + +from ragbits.agents.confirmation import ConfirmationRequest +from ragbits.agents.tool import ToolCallResult, ToolEvent, ToolReturn +from ragbits.core.llms.base import ToolCall, Usage +from ragbits.core.prompt.base import BasePrompt + +if TYPE_CHECKING: + from ragbits.agents._main import AgentOptions, AgentResult, AgentRunContext, DownstreamAgentResult + + +StreamingEvent = Union[ + str, + ToolCall, + ToolCallResult, + ToolEvent, + "DownstreamAgentResult", + SimpleNamespace, + BasePrompt, + Usage, + ConfirmationRequest, +] + + +class EventType(str, Enum): + """ + Types of events that can be hooked. + + Attributes: + PRE_TOOL: Triggered before a tool is invoked + POST_TOOL: Triggered after a tool completes + PRE_RUN: Triggered before the agent run starts + POST_RUN: Triggered after the agent run completes + ON_EVENT: Triggered for each streaming event + """ + + PRE_TOOL = "pre_tool" + POST_TOOL = "post_tool" + PRE_RUN = "pre_run" + POST_RUN = "post_run" + ON_EVENT = "on_event" + + +PreToolCallback = Callable[[ToolCall], Awaitable[ToolCall]] +PostToolCallback = Callable[[ToolCall, ToolReturn], Awaitable[ToolReturn]] +PreRunCallback = Callable[[Any, "AgentOptions[Any]", "AgentRunContext"], Awaitable[Any]] +PostRunCallback = Callable[["AgentResult[Any]", "AgentOptions[Any]", "AgentRunContext"], Awaitable["AgentResult[Any]"]] +OnEventCallback = Callable[[StreamingEvent], Awaitable[StreamingEvent | None] | AsyncGenerator[StreamingEvent, None]] + +HookCallback = PreToolCallback | PostToolCallback | PreRunCallback | PostRunCallback | OnEventCallback diff --git a/packages/ragbits-agents/src/ragbits/agents/tool.py b/packages/ragbits-agents/src/ragbits/agents/tool.py index eebdf5b21..65ef38f0a 100644 --- a/packages/ragbits-agents/src/ragbits/agents/tool.py +++ b/packages/ragbits-agents/src/ragbits/agents/tool.py @@ -1,17 +1,45 @@ from collections.abc import Callable from contextlib import suppress from dataclasses import dataclass -from typing import Any, Literal +from typing import TYPE_CHECKING, Any, Literal, cast +from pydantic import BaseModel from typing_extensions import Self +from ragbits.core.llms.base import LLMClientOptionsT +from ragbits.core.prompt.prompt import PromptInputT, PromptOutputT from ragbits.core.utils.decorators import requires_dependencies from ragbits.core.utils.function_schema import convert_function_to_function_schema, get_context_variable_name +if TYPE_CHECKING: + from ragbits.agents import Agent, AgentResultStreaming, AgentRunContext + with suppress(ImportError): from pydantic_ai import Tool as PydanticAITool +@dataclass +class ToolReturn: + """ + Represents an object returned from the tool. If a tool wants to return a value with some content hidden + from LLM, it needs to return an object of this class directly. + """ + + value: Any + "Value passed directly to LLM as a result of the tool" + metadata: Any = None + "Metadata not passed to the LLM, but which can be used in the application later on" + + +@dataclass +class ToolEvent: + """ + Event emitted from the generator tool. + """ + + content: Any + + @dataclass class ToolCallResult: """ @@ -25,7 +53,9 @@ class ToolCallResult: arguments: dict[str, Any] """Dictionary containing the arguments passed to the tool""" result: Any - """The output from the tool call.""" + """The output from the tool call passed to the LLM""" + metadata: Any = None + """Metadata returned from a tool that is not meant to be seen by the LLM""" @dataclass @@ -44,6 +74,7 @@ class Tool: """The actual callable function to execute when the tool is called.""" context_var_name: str | None = None """The name of the context variable that this tool accepts.""" + id: str | None = None @classmethod def from_callable(cls, callable: Callable) -> Self: @@ -96,5 +127,77 @@ def to_pydantic_ai(self) -> "PydanticAITool": description=self.description, ) + @classmethod + def from_agent( + cls, + agent: "Agent[LLMClientOptionsT, PromptInputT, PromptOutputT]", + name: str | None = None, + description: str | None = None, + ) -> "Tool": + """ + Wraps a downstream agent as a single tool. The tool parameters are inferred from + the downstream agent's prompt input. + + Args: + agent: The downstream agent to wrap as a tool. + name: Optional override for the tool name. + description: Optional override for the tool description. + + Returns: + Tool instance representing the agent. + """ + display_name = name or agent.name or "agent" + variable_name = display_name.replace(" ", "_").lower() + description = description or agent.description + + input_model_cls = getattr(agent.prompt, "input_type", None) + if input_model_cls and issubclass(input_model_cls, BaseModel): + fields = input_model_cls.model_fields + properties = {} + required = list(fields.keys()) + + for field_name in fields: + param_desc = None + for t in getattr(agent, "tools", []): + t_params = getattr(t, "parameters", {}).get("properties", {}) + if field_name in t_params: + param_desc = t_params[field_name].get("description") + break + + properties[field_name] = { + "type": "string", + "title": field_name.capitalize(), + "description": param_desc, + } + else: + properties = {"input": {"type": "string", "description": "Input for the downstream agent"}} + required = ["input"] + + parameters = {"type": "object", "properties": properties, "required": required} + + context_var_name = get_context_variable_name(agent.run) + + def _on_tool_call(**kwargs: dict) -> "AgentResultStreaming": + if context_var_name: + context = cast("AgentRunContext[Any] | None", kwargs.get(context_var_name)) + if context is not None: + context.register_agent(cast("Agent[Any, Any, str]", agent)) + + if input_model_cls and issubclass(input_model_cls, BaseModel): + model_input = input_model_cls(**kwargs) + else: + model_input = kwargs.get("input") + + return agent.run_streaming(model_input, context=context) + + return cls( + name=variable_name, + id=agent.id, + description=description, + parameters=parameters, + on_tool_call=_on_tool_call, + context_var_name=context_var_name, + ) + ToolChoice = Literal["auto", "none", "required"] | Callable diff --git a/packages/ragbits-agents/tests/__init__.py b/packages/ragbits-agents/tests/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/packages/ragbits-agents/tests/unit/__init__.py b/packages/ragbits-agents/tests/unit/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/packages/ragbits-agents/tests/unit/conftest.py b/packages/ragbits-agents/tests/unit/conftest.py new file mode 100644 index 000000000..c16a6dfb9 --- /dev/null +++ b/packages/ragbits-agents/tests/unit/conftest.py @@ -0,0 +1,141 @@ +"""Shared fixtures for agent unit tests.""" + +from collections.abc import Callable +from typing import Any + +import pytest + +from ragbits.agents._main import AgentOptions, AgentResult, AgentRunContext +from ragbits.agents.hooks.types import ( + OnEventCallback, + PostRunCallback, + PostToolCallback, + PreRunCallback, + PreToolCallback, + StreamingEvent, +) +from ragbits.agents.tool import ToolReturn +from ragbits.core.llms.base import ToolCall + + +@pytest.fixture +def pass_hook() -> PreToolCallback: + """Pre-tool hook that allows execution to proceed.""" + + async def pass_hook(tool_call: ToolCall) -> ToolCall: + return tool_call + + return pass_hook + + +@pytest.fixture +def deny_hook() -> PreToolCallback: + """Pre-tool hook that blocks execution.""" + + async def deny_hook(tool_call: ToolCall) -> ToolCall: + return tool_call.model_copy(update={"decision": "deny", "reason": "Blocked by hook"}) + + return deny_hook + + +@pytest.fixture +def ask_hook() -> PreToolCallback: + """Pre-tool hook that requests user confirmation.""" + + async def ask_hook(tool_call: ToolCall) -> ToolCall: + return tool_call.model_copy(update={"decision": "ask", "reason": "Needs confirmation"}) + + return ask_hook + + +@pytest.fixture +def pre_tool_add_field() -> Callable[..., PreToolCallback]: + """Factory to create pre-tool hooks that add a field to arguments.""" + + def factory(field: str, value: str = "added") -> PreToolCallback: + async def add_field_hook(tool_call: ToolCall) -> ToolCall: + args = dict(tool_call.arguments) + args[field] = value + return tool_call.model_copy(update={"arguments": args}) + + return add_field_hook + + return factory + + +@pytest.fixture +def post_tool_append() -> Callable[..., PostToolCallback]: + """Factory to create post-tool hooks that append/prepend to output.""" + + def factory(text: str, prepend: bool = False) -> PostToolCallback: + async def append_output_hook(tool_call: ToolCall, tool_return: ToolReturn) -> ToolReturn: + tool_return_value = tool_return.value if tool_return is not None else None + if prepend: + return ToolReturn(f"{text}{tool_return_value}") + return ToolReturn(f"{tool_return_value}{text}") + + return append_output_hook + + return factory + + +@pytest.fixture +def pre_run_modify() -> Callable[..., PreRunCallback]: + """Factory to create pre-run hooks that modify input with a prefix.""" + + def factory(prefix: str) -> PreRunCallback: + async def modify_input_hook( + _input: str | None, options: AgentOptions[Any], context: AgentRunContext[Any] + ) -> str | None: + modified = f"{prefix}: {_input}" if _input else prefix + return modified + + return modify_input_hook + + return factory + + +@pytest.fixture +def post_run_modify() -> Callable[..., PostRunCallback]: + """Factory to create post-run hooks that modify the result content.""" + + def factory(prefix: str) -> PostRunCallback: + async def modify_result_hook( + result: AgentResult[Any], options: AgentOptions[Any], context: AgentRunContext[Any] + ) -> AgentResult[Any]: + result.content = f"{prefix}: {result.content}" + return result + + return modify_result_hook + + return factory + + +@pytest.fixture +def on_event_word_filter() -> Callable[..., OnEventCallback]: + """Factory to create ON_EVENT callbacks that filter words from str chunks.""" + + def factory(word: str, replacement: str = "***") -> OnEventCallback: + async def word_filter_hook(event: StreamingEvent) -> StreamingEvent | None: + if isinstance(event, str): + return event.replace(word, replacement) + return event + + return word_filter_hook + + return factory + + +@pytest.fixture +def on_event_modify_chunk() -> Callable[..., OnEventCallback]: + """Factory to create ON_EVENT callbacks that modify str chunks with a prefix.""" + + def factory(prefix: str) -> OnEventCallback: + async def modify_chunk_hook(event: StreamingEvent) -> StreamingEvent | None: + if isinstance(event, str): + return f"{prefix}{event}" + return event + + return modify_chunk_hook + + return factory diff --git a/packages/ragbits-agents/tests/unit/hooks/__init__.py b/packages/ragbits-agents/tests/unit/hooks/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/packages/ragbits-agents/tests/unit/hooks/conftest.py b/packages/ragbits-agents/tests/unit/hooks/conftest.py new file mode 100644 index 000000000..2f22fd5de --- /dev/null +++ b/packages/ragbits-agents/tests/unit/hooks/conftest.py @@ -0,0 +1,10 @@ +"""Fixtures specific to hooks tests.""" + +import pytest + +from ragbits.core.llms.base import ToolCall + + +@pytest.fixture +def tool_call() -> ToolCall: + return ToolCall(id="test-id", name="test_tool", arguments='{"arg1": "value1"}', type="function") # type: ignore[arg-type] diff --git a/packages/ragbits-agents/tests/unit/hooks/test_base.py b/packages/ragbits-agents/tests/unit/hooks/test_base.py new file mode 100644 index 000000000..559acc316 --- /dev/null +++ b/packages/ragbits-agents/tests/unit/hooks/test_base.py @@ -0,0 +1,35 @@ +"""Tests for the Hook base class.""" + +# ruff: noqa: PLR6301 + +import pytest + +from ragbits.agents.hooks.base import Hook +from ragbits.agents.hooks.types import EventType, PreToolCallback +from ragbits.core.llms.base import ToolCall + + +class TestHookToolMatching: + def test_matches_tool_when_in_list(self, pass_hook: PreToolCallback): + hook = Hook(event_type=EventType.PRE_TOOL, callback=pass_hook, tool_names=["tool1", "tool2"]) + assert hook.matches_tool("tool1") is True + assert hook.matches_tool("other") is False + + def test_matches_all_tools_when_tools_is_none(self, pass_hook: PreToolCallback): + hook = Hook(event_type=EventType.PRE_TOOL, callback=pass_hook, tool_names=None) + assert hook.matches_tool("anything") is True + + +class TestHookExecution: + @pytest.mark.asyncio + async def test_execute_calls_callback(self, tool_call: ToolCall): + async def modify_args(tool_call: ToolCall) -> ToolCall: + args = dict(tool_call.arguments) + args["added"] = True + return tool_call.model_copy(update={"arguments": args}) + + hook = Hook(event_type=EventType.PRE_TOOL, callback=modify_args) + result = await hook.callback(tool_call) + + assert result.arguments["added"] is True + assert result.decision == "pass" diff --git a/packages/ragbits-agents/tests/unit/hooks/test_confirmation.py b/packages/ragbits-agents/tests/unit/hooks/test_confirmation.py new file mode 100644 index 000000000..f5fc8cba9 --- /dev/null +++ b/packages/ragbits-agents/tests/unit/hooks/test_confirmation.py @@ -0,0 +1,34 @@ +"""Tests for the confirmation hook helper.""" + +# ruff: noqa: PLR6301 + +import pytest + +from ragbits.agents.hooks.confirmation import create_confirmation_hook +from ragbits.agents.hooks.types import EventType +from ragbits.core.llms.base import ToolCall + + +class TestCreateConfirmationHook: + def test_creates_hook_with_defaults(self): + hook = create_confirmation_hook() + + assert hook.event_type == EventType.PRE_TOOL + assert hook.priority == 1 + assert hook.tool_names is None + + def test_creates_hook_with_custom_options(self): + hook = create_confirmation_hook(tool_names=["delete_file"], priority=50) + + assert hook.tool_names == ["delete_file"] + assert hook.priority == 50 + + @pytest.mark.asyncio + async def test_hook_returns_ask_decision_with_reason(self, tool_call: ToolCall): + hook = create_confirmation_hook() + result = await hook.callback(tool_call) + + assert result.decision == "ask" + assert result.arguments == tool_call.arguments + assert result.reason is not None + assert tool_call.name.replace("_", " ") in result.reason diff --git a/packages/ragbits-agents/tests/unit/hooks/test_manager.py b/packages/ragbits-agents/tests/unit/hooks/test_manager.py new file mode 100644 index 000000000..7212b9a4c --- /dev/null +++ b/packages/ragbits-agents/tests/unit/hooks/test_manager.py @@ -0,0 +1,426 @@ +"""Tests for the HookManager class.""" + +# ruff: noqa: PLR6301 + +import hashlib +import json +from collections.abc import AsyncGenerator, Callable + +import pytest + +from ragbits.agents._main import AgentOptions, AgentRunContext +from ragbits.agents.hooks.base import Hook +from ragbits.agents.hooks.manager import CONFIRMATION_ID_LENGTH, HookManager +from ragbits.agents.hooks.types import ( + EventType, + PostRunCallback, + PostToolCallback, + PreRunCallback, + PreToolCallback, + StreamingEvent, +) +from ragbits.agents.tool import ToolCallResult, ToolReturn +from ragbits.core.llms.base import ToolCall + + +@pytest.fixture +def context() -> AgentRunContext: + return AgentRunContext() + + +@pytest.fixture +def options() -> AgentOptions: + return AgentOptions() + + +def make_confirmation_id(hook_name: str, tool_name: str, arguments: dict) -> str: + """Generate a confirmation ID matching the manager's logic.""" + confirmation_str = f"{hook_name}:{tool_name}:{json.dumps(arguments, sort_keys=True)}" + return hashlib.sha256(confirmation_str.encode()).hexdigest()[:CONFIRMATION_ID_LENGTH] + + +class TestHookRegistration: + def test_register_and_retrieve_hooks(self, pass_hook: PreToolCallback): + manager: HookManager = HookManager() + hook = Hook(event_type=EventType.PRE_TOOL, callback=pass_hook) + manager.register(hook) + + hooks = manager.get_hooks(EventType.PRE_TOOL, tool_name=None) + assert len(hooks) == 1 + assert hooks[0] == hook + + def test_hooks_sorted_by_priority(self, pass_hook: PreToolCallback): + manager: HookManager = HookManager( + hooks=[ + Hook(event_type=EventType.PRE_TOOL, callback=pass_hook, priority=100), + Hook(event_type=EventType.PRE_TOOL, callback=pass_hook, priority=10), + Hook(event_type=EventType.PRE_TOOL, callback=pass_hook, priority=50), + ] + ) + + hooks = manager.get_hooks(EventType.PRE_TOOL, tool_name=None) + assert [h.priority for h in hooks] == [10, 50, 100] + + +class TestHookRetrieval: + def test_filters_by_tool_name(self, pass_hook: PreToolCallback): + manager: HookManager = HookManager( + hooks=[ + Hook(event_type=EventType.PRE_TOOL, callback=pass_hook, tool_names=["tool1"]), + Hook(event_type=EventType.PRE_TOOL, callback=pass_hook, tool_names=["tool2"]), + Hook(event_type=EventType.PRE_TOOL, callback=pass_hook, tool_names=None), # universal + ] + ) + + assert len(manager.get_hooks(EventType.PRE_TOOL, "tool1")) == 2 # tool1 + universal + assert len(manager.get_hooks(EventType.PRE_TOOL, tool_name=None)) == 3 + assert len(manager.get_hooks(EventType.POST_TOOL, tool_name=None)) == 0 + + +class TestPreToolExecution: + @pytest.mark.asyncio + async def test_no_hooks(self, tool_call: ToolCall, context: AgentRunContext): + result, confirmation = await HookManager().execute_pre_tool(tool_call, context) + + assert result.decision == "pass" + assert result.arguments == tool_call.arguments + assert confirmation is None + + @pytest.mark.asyncio + async def test_deny_stops_chain(self, tool_call: ToolCall, context: AgentRunContext): + execution_order: list[str] = [] + + async def tracking_deny_hook(tool_call: ToolCall) -> ToolCall: + execution_order.append("deny") + return tool_call.model_copy(update={"decision": "deny", "reason": "Denied"}) + + async def tracking_pass_hook(tool_call: ToolCall) -> ToolCall: + execution_order.append("pass") + return tool_call + + manager: HookManager = HookManager( + hooks=[ + Hook(event_type=EventType.PRE_TOOL, callback=tracking_deny_hook, priority=1), + Hook(event_type=EventType.PRE_TOOL, callback=tracking_pass_hook, priority=2), + ] + ) + result, _ = await manager.execute_pre_tool(tool_call, context) + + assert result.decision == "deny" + assert execution_order == ["deny"] + + @pytest.mark.asyncio + async def test_ask_creates_confirmation_request( + self, tool_call: ToolCall, context: AgentRunContext, ask_hook: PreToolCallback + ): + manager: HookManager = HookManager(hooks=[Hook(event_type=EventType.PRE_TOOL, callback=ask_hook)]) + result, confirmation = await manager.execute_pre_tool(tool_call, context) + + assert result.decision == "ask" + assert confirmation is not None + assert confirmation.tool_name == tool_call.name + assert len(confirmation.confirmation_id) == CONFIRMATION_ID_LENGTH + + @pytest.mark.asyncio + async def test_ask_with_prior_confirmation(self, tool_call: ToolCall, ask_hook: PreToolCallback): + manager: HookManager = HookManager(hooks=[Hook(event_type=EventType.PRE_TOOL, callback=ask_hook)]) + confirmation_id = make_confirmation_id("ask_hook", "test_tool", {"arg1": "value1"}) + + # Approved + ctx_approved: AgentRunContext = AgentRunContext( + tool_confirmations=[{"confirmation_id": confirmation_id, "confirmed": True}] + ) + result, _ = await manager.execute_pre_tool(tool_call, ctx_approved) + assert result.decision == "pass" + + # Declined + ctx_declined: AgentRunContext = AgentRunContext( + tool_confirmations=[{"confirmation_id": confirmation_id, "confirmed": False}] + ) + result, _ = await manager.execute_pre_tool(tool_call, ctx_declined) + assert result.decision == "deny" + + @pytest.mark.asyncio + async def test_chaining( + self, tool_call: ToolCall, context: AgentRunContext, pre_tool_add_field: Callable[..., PreToolCallback] + ): + manager: HookManager = HookManager( + hooks=[ + Hook(event_type=EventType.PRE_TOOL, callback=pre_tool_add_field("hook1"), priority=1), + Hook(event_type=EventType.PRE_TOOL, callback=pre_tool_add_field("hook2"), priority=2), + ] + ) + result, _ = await manager.execute_pre_tool(tool_call, context) + + assert result.arguments == {"arg1": "value1", "hook1": "added", "hook2": "added"} + + +class TestPostToolExecution: + @pytest.mark.asyncio + async def test_no_hooks(self, tool_call: ToolCall): + result = await HookManager().execute_post_tool(tool_call, tool_return=ToolReturn(value="Original")) + + assert result.value == "Original" + + @pytest.mark.asyncio + async def test_chaining(self, tool_call: ToolCall, post_tool_append: Callable[..., PostToolCallback]): + manager: HookManager = HookManager( + hooks=[ + Hook(event_type=EventType.POST_TOOL, callback=post_tool_append(" + h1"), priority=1), + Hook(event_type=EventType.POST_TOOL, callback=post_tool_append(" + h2"), priority=2), + ] + ) + result = await manager.execute_post_tool(tool_call, tool_return=ToolReturn(value="Original")) + + assert result is not None + assert result.value == "Original + h1 + h2" + + +class TestConfirmationIdGeneration: + def test_deterministic_and_unique(self): + # Same inputs = same ID + assert make_confirmation_id("hook", "tool", {"a": 1}) == make_confirmation_id("hook", "tool", {"a": 1}) + + # Different inputs = different IDs + ids = [ + make_confirmation_id("hook1", "tool", {"a": 1}), + make_confirmation_id("hook2", "tool", {"a": 1}), + make_confirmation_id("hook", "tool1", {"a": 1}), + make_confirmation_id("hook", "tool", {"a": 2}), + ] + assert len(set(ids)) == 4 # all unique + + def test_argument_order_independent(self): + id1 = make_confirmation_id("hook", "tool", {"a": 1, "b": 2}) + id2 = make_confirmation_id("hook", "tool", {"b": 2, "a": 1}) + assert id1 == id2 + + def test_correct_length(self): + assert len(make_confirmation_id("hook", "tool", {})) == CONFIRMATION_ID_LENGTH + + +class TestPreRunExecution: + @pytest.mark.asyncio + async def test_no_hooks(self, options: AgentOptions, context: AgentRunContext): + result = await HookManager().execute_pre_run(_input="test input", options=options, context=context) + + assert result == "test input" + + @pytest.mark.asyncio + async def test_chaining( + self, options: AgentOptions, context: AgentRunContext, pre_run_modify: Callable[..., PreRunCallback] + ): + manager: HookManager = HookManager( + hooks=[ + Hook(event_type=EventType.PRE_RUN, callback=pre_run_modify("H1"), priority=1), + Hook(event_type=EventType.PRE_RUN, callback=pre_run_modify("H2"), priority=2), + ] + ) + result = await manager.execute_pre_run(_input="original", options=options, context=context) + + assert result == "H2: H1: original" + + +class TestPostRunExecution: + @pytest.mark.asyncio + async def test_no_hooks(self, options: AgentOptions, context: AgentRunContext): + mock_result = type("AgentResult", (), {"content": "test"})() + result = await HookManager().execute_post_run(result=mock_result, options=options, context=context) + + assert result == mock_result + + @pytest.mark.asyncio + async def test_chaining( + self, options: AgentOptions, context: AgentRunContext, post_run_modify: Callable[..., "PostRunCallback"] + ): + manager: HookManager = HookManager( + hooks=[ + Hook(event_type=EventType.POST_RUN, callback=post_run_modify("H1"), priority=1), + Hook(event_type=EventType.POST_RUN, callback=post_run_modify("H2"), priority=2), + ] + ) + mock_result = type("AgentResult", (), {"content": "test"})() + result = await manager.execute_post_run(result=mock_result, options=options, context=context) + + assert result.content == "H2: H1: test" + + +async def _collect(gen: AsyncGenerator[StreamingEvent, None]) -> list[StreamingEvent]: + """Helper to collect all items from an async generator.""" + items: list[StreamingEvent] = [] + async for item in gen: + items.append(item) + return items + + +async def _async_gen(*items: StreamingEvent) -> AsyncGenerator[StreamingEvent, None]: + """Helper to create an async generator from items.""" + for item in items: + yield item + + +class TestOnEventExecution: + @pytest.mark.asyncio + async def test_no_hooks(self): + manager: HookManager = HookManager() + events = await _collect(manager.execute_on_event(_async_gen("hello", "world"))) + + assert events == ["hello", "world"] + + @pytest.mark.asyncio + async def test_modifies_str_events(self): + async def uppercase_hook(event: StreamingEvent) -> StreamingEvent | None: + if isinstance(event, str): + return event.upper() + return event + + manager: HookManager = HookManager(hooks=[Hook(event_type=EventType.ON_EVENT, callback=uppercase_hook)]) + events = await _collect(manager.execute_on_event(_async_gen("hello", "world"))) + + assert events == ["HELLO", "WORLD"] + + @pytest.mark.asyncio + async def test_suppresses_events(self): + async def suppress_str(event: StreamingEvent) -> StreamingEvent | None: + if isinstance(event, str): + return None + return event + + tool_call_result = ToolCallResult(id="t1", name="tool", arguments={}, result="ok") + manager: HookManager = HookManager(hooks=[Hook(event_type=EventType.ON_EVENT, callback=suppress_str)]) + events = await _collect(manager.execute_on_event(_async_gen("hello", tool_call_result, "world"))) + + assert events == [tool_call_result] + + @pytest.mark.asyncio + async def test_chaining(self): + async def add_prefix(event: StreamingEvent) -> StreamingEvent | None: + if isinstance(event, str): + return f"[A]{event}" + return event + + async def add_suffix(event: StreamingEvent) -> StreamingEvent | None: + if isinstance(event, str): + return f"{event}[B]" + return event + + manager: HookManager = HookManager( + hooks=[ + Hook(event_type=EventType.ON_EVENT, callback=add_prefix, priority=1), + Hook(event_type=EventType.ON_EVENT, callback=add_suffix, priority=2), + ] + ) + events = await _collect(manager.execute_on_event(_async_gen("hi"))) + + assert events == ["[A]hi[B]"] + + @pytest.mark.asyncio + async def test_suppression_stops_chain(self): + execution_order: list[str] = [] + + async def suppressing_hook(event: StreamingEvent) -> StreamingEvent | None: + execution_order.append("suppress") + return None + + async def never_reached_hook(event: StreamingEvent) -> StreamingEvent | None: + execution_order.append("after") + return event + + manager: HookManager = HookManager( + hooks=[ + Hook(event_type=EventType.ON_EVENT, callback=suppressing_hook, priority=1), + Hook(event_type=EventType.ON_EVENT, callback=never_reached_hook, priority=2), + ] + ) + events = await _collect(manager.execute_on_event(_async_gen("hello"))) + + assert events == [] + assert execution_order == ["suppress"] + + @pytest.mark.asyncio + async def test_mixed_event_types(self): + tool_call = ToolCall(id="t1", name="test", arguments="{}", type="function") # type: ignore[arg-type] + tool_result = ToolCallResult(id="t1", name="test", arguments={}, result="done") + + async def tag_strings(event: StreamingEvent) -> StreamingEvent | None: + if isinstance(event, str): + return f"[STR]{event}" + return event + + manager: HookManager = HookManager(hooks=[Hook(event_type=EventType.ON_EVENT, callback=tag_strings)]) + events = await _collect(manager.execute_on_event(_async_gen("text", tool_call, tool_result, "more"))) + + assert events == ["[STR]text", tool_call, tool_result, "[STR]more"] + + @pytest.mark.asyncio + async def test_expand_single_event_to_multiple(self): + async def split_words(event: StreamingEvent) -> AsyncGenerator[StreamingEvent, None]: + if isinstance(event, str) and " " in event: + for word in event.split(" "): + yield word + else: + yield event + + manager: HookManager = HookManager(hooks=[Hook(event_type=EventType.ON_EVENT, callback=split_words)]) + events = await _collect(manager.execute_on_event(_async_gen("hello world"))) + + assert events == ["hello", "world"] + + @pytest.mark.asyncio + async def test_expand_chained_with_modify(self): + async def split_words(event: StreamingEvent) -> AsyncGenerator[StreamingEvent, None]: + if isinstance(event, str) and " " in event: + for word in event.split(" "): + yield word + else: + yield event + + async def uppercase(event: StreamingEvent) -> StreamingEvent | None: + if isinstance(event, str): + return event.upper() + return event + + manager: HookManager = HookManager( + hooks=[ + Hook(event_type=EventType.ON_EVENT, callback=split_words, priority=1), + Hook(event_type=EventType.ON_EVENT, callback=uppercase, priority=2), + ] + ) + events = await _collect(manager.execute_on_event(_async_gen("hello world"))) + + assert events == ["HELLO", "WORLD"] + + @pytest.mark.asyncio + async def test_expand_with_partial_suppression(self): + async def split_words(event: StreamingEvent) -> AsyncGenerator[StreamingEvent, None]: + if isinstance(event, str) and " " in event: + for word in event.split(" "): + yield word + else: + yield event + + async def suppress_short(event: StreamingEvent) -> StreamingEvent | None: + if isinstance(event, str) and len(event) <= 2: + return None + return event + + manager: HookManager = HookManager( + hooks=[ + Hook(event_type=EventType.ON_EVENT, callback=split_words, priority=1), + Hook(event_type=EventType.ON_EVENT, callback=suppress_short, priority=2), + ] + ) + events = await _collect(manager.execute_on_event(_async_gen("hello to the world"))) + + assert events == ["hello", "the", "world"] + + @pytest.mark.asyncio + async def test_expand_yields_nothing_suppresses(self): + async def to_empty(event: StreamingEvent) -> AsyncGenerator[StreamingEvent, None]: + return + yield # noqa: RET504 # make it an async generator + + manager: HookManager = HookManager(hooks=[Hook(event_type=EventType.ON_EVENT, callback=to_empty)]) + events = await _collect(manager.execute_on_event(_async_gen("hello", "world"))) + + assert events == [] diff --git a/packages/ragbits-agents/tests/unit/test_agent.py b/packages/ragbits-agents/tests/unit/test_agent.py index 10fd2efbf..ad01bad27 100644 --- a/packages/ragbits-agents/tests/unit/test_agent.py +++ b/packages/ragbits-agents/tests/unit/test_agent.py @@ -7,12 +7,22 @@ from ragbits.agents import Agent, AgentRunContext from ragbits.agents._main import AgentOptions, AgentResult, AgentResultStreaming, ToolCallResult, ToolChoice +from ragbits.agents.confirmation import ConfirmationRequest from ragbits.agents.exceptions import ( AgentInvalidPromptInputError, AgentMaxTurnsExceededError, AgentToolNotAvailableError, AgentToolNotSupportedError, ) +from ragbits.agents.hooks import ( + EventType, + Hook, + OnEventCallback, + PostToolCallback, + PreToolCallback, + StreamingEvent, +) +from ragbits.core.llms.base import ToolCall as ToolCallModel from ragbits.core.llms.base import Usage, UsageItem from ragbits.core.llms.mock import MockLLM, MockLLMOptions from ragbits.core.prompt.prompt import Prompt @@ -769,3 +779,269 @@ async def test_tool_choice_history_preservation(llm_with_tool_call: MockLLM, met # Should include tool call in history tool_call_messages = [msg for msg in agent.history if msg.get("role") == "tool"] assert len(tool_call_messages) >= 1 + + +async def test_explicit_input_type_prompt_creation(): + class CustomInput(BaseModel): + foo: int + bar: str + + @Agent.prompt_config(CustomInput) + class AgentWithExplicitInput(Agent): + system_prompt = "System prompt" + user_prompt = "{{ foo }} {{ bar }}" + + prompt_cls = AgentWithExplicitInput.prompt_cls + assert prompt_cls is not None + assert issubclass(prompt_cls, Prompt) + assert prompt_cls.system_prompt == "System prompt" + assert prompt_cls.user_prompt == "{{ foo }} {{ bar }}" + + +async def test_default_user_prompt_is_input_placeholder(): + class CustomInputModel(BaseModel): + input: int + + @Agent.prompt_config(CustomInputModel) + class AgentExplicitPrompt(Agent): + system_prompt = "Explicit system" + + prompt_cls2 = AgentExplicitPrompt.prompt_cls + assert prompt_cls2 is not None + assert issubclass(prompt_cls2, Prompt) + assert prompt_cls2.user_prompt == "{{ input }}" + + +async def test_input_type_check_with_system_prompt(llm_with_tool_call: MockLLM): + class AgentExplicitPrompt(Agent): + system_prompt = "Explicit system" + + with pytest.raises(ValueError): + AgentExplicitPrompt( + llm=llm_with_tool_call, + prompt="You are a helpful assistant", + tools=[get_weather], + keep_history=True, + ) + + +@pytest.mark.parametrize("method", [_run, _run_streaming]) +async def test_pre_tool_hook_denies_execution( + llm_with_tool_call: MockLLM, method: Callable, deny_hook: PreToolCallback +): + """Test that a pre-tool hook can deny tool execution.""" + hook = Hook(event_type=EventType.PRE_TOOL, callback=deny_hook) + agent = Agent(llm=llm_with_tool_call, prompt=CustomPrompt, tools=[get_weather], hooks=[hook]) + + result = await method(agent) + + assert result.tool_calls[0].result == "Blocked by hook" + + +@pytest.mark.parametrize("method", [_run, _run_streaming]) +async def test_pre_tool_hook_denies_only_matching_tool( + llm_with_tool_call: MockLLM, method: Callable, deny_hook: PreToolCallback +): + """Test that a hook with tools filter only affects matching tools.""" + hook = Hook(event_type=EventType.PRE_TOOL, callback=deny_hook, tool_names=["other_tool"]) + agent = Agent(llm=llm_with_tool_call, prompt=CustomPrompt, tools=[get_weather], hooks=[hook]) + + result = await method(agent) + + # Tool should execute normally since hook doesn't match + assert "72" in result.tool_calls[0].result + + +@pytest.mark.parametrize("method", [_run, _run_streaming]) +async def test_pre_tool_hook_modifies_arguments( + llm_with_tool_call: MockLLM, method: Callable, pre_tool_add_field: Callable[..., PreToolCallback] +): + """Test that a pre-tool hook can modify tool arguments.""" + hook = Hook(event_type=EventType.PRE_TOOL, callback=pre_tool_add_field("location", "New York")) + agent = Agent(llm=llm_with_tool_call, prompt=CustomPrompt, tools=[get_weather], hooks=[hook]) + + result = await method(agent) + + assert result.tool_calls[0].arguments["location"] == "New York" + + +@pytest.mark.parametrize("method", [_run, _run_streaming]) +async def test_post_tool_hook_modifies_output( + llm_with_tool_call: MockLLM, method: Callable, post_tool_append: Callable[..., PostToolCallback] +): + """Test that a post-tool hook can modify tool output.""" + hook = Hook(event_type=EventType.POST_TOOL, callback=post_tool_append("[MODIFIED]", prepend=True)) + agent = Agent(llm=llm_with_tool_call, prompt=CustomPrompt, tools=[get_weather], hooks=[hook]) + + result = await method(agent) + + assert result.tool_calls[0].result.startswith("[MODIFIED]") + + +async def test_pre_tool_hook_ask_yields_confirmation_request(llm_with_tool_call: MockLLM, ask_hook: PreToolCallback): + """Test that ask decision yields a ConfirmationRequest.""" + hook = Hook(event_type=EventType.PRE_TOOL, callback=ask_hook) + agent = Agent(llm=llm_with_tool_call, prompt=CustomPrompt, tools=[get_weather], hooks=[hook]) + + events = [] + async for event in agent.run_streaming(): + events.append(event) + + confirmation_requests = [e for e in events if isinstance(e, ConfirmationRequest)] + assert len(confirmation_requests) == 1 + assert confirmation_requests[0].tool_name == "get_weather" + + +async def test_pre_tool_hook_ask_with_confirmation_approved(llm_with_tool_call: MockLLM, ask_hook: PreToolCallback): + """Test that approved confirmation allows tool execution.""" + hook = Hook(event_type=EventType.PRE_TOOL, callback=ask_hook) + agent = Agent(llm=llm_with_tool_call, prompt=CustomPrompt, tools=[get_weather], hooks=[hook]) + + # First run to get confirmation_id + events = [] + async for event in agent.run_streaming(): + events.append(event) + confirmation_request = next(e for e in events if isinstance(e, ConfirmationRequest)) + + # Second run with confirmation approved + context: AgentRunContext = AgentRunContext( + tool_confirmations=[{"confirmation_id": confirmation_request.confirmation_id, "confirmed": True}] + ) + result = await agent.run(context=context) + + assert result.tool_calls is not None + assert "72" in result.tool_calls[0].result + + +async def test_hook_priority_order(llm_with_tool_call: MockLLM): + """Test that hooks execute in priority order (lower first).""" + execution_order: list[int] = [] + + async def hook_priority_10(tool_call: ToolCallModel) -> ToolCallModel: + execution_order.append(10) + return tool_call + + async def hook_priority_5(tool_call: ToolCallModel) -> ToolCallModel: + execution_order.append(5) + return tool_call + + hooks = [ + Hook(event_type=EventType.PRE_TOOL, callback=hook_priority_10, priority=10), + Hook(event_type=EventType.PRE_TOOL, callback=hook_priority_5, priority=5), + ] + agent = Agent(llm=llm_with_tool_call, prompt=CustomPrompt, tools=[get_weather], hooks=hooks) + + await agent.run() + + assert execution_order == [5, 10] + + +@pytest.mark.parametrize("method", [_run, _run_streaming]) +async def test_pre_run_hook_modifies_input(llm_without_tool_call: MockLLM, method: Callable, pre_run_modify: Callable): + """Test that a pre-run hook can modify the input.""" + hook = Hook(event_type=EventType.PRE_RUN, callback=pre_run_modify("Modified")) + agent: Agent = Agent(llm=llm_without_tool_call, prompt="You are helpful.", hooks=[hook]) + + result = await method(agent, "original query") + + # The LLM should receive the modified input + assert "Modified: original query" in str(result.history) + + +@pytest.mark.parametrize("method", [_run, _run_streaming]) +async def test_post_run_hook_modifies_result(llm_without_tool_call: MockLLM, method: Callable): + """Test that a post-run hook can modify the result.""" + + async def modify_result_hook(result: AgentResult, options: object, context: object) -> AgentResult: + result.content = f"[MODIFIED] {result.content}" + return result + + hook = Hook(event_type=EventType.POST_RUN, callback=modify_result_hook) + agent: Agent = Agent(llm=llm_without_tool_call, prompt="You are helpful.", hooks=[hook]) + + result = await method(agent, "test query") + + assert result.content.startswith("[MODIFIED]") + + +async def test_on_event_hook_modifies_streaming_content( + llm_without_tool_call: MockLLM, + on_event_modify_chunk: Callable[..., OnEventCallback], +): + """Test that an ON_EVENT hook modifies text chunks during streaming.""" + hook = Hook(event_type=EventType.ON_EVENT, callback=on_event_modify_chunk("[P]")) + agent: Agent = Agent(llm=llm_without_tool_call, prompt="Test prompt", hooks=[hook]) + + chunks = [] + async for chunk in agent.run_streaming(): + if isinstance(chunk, str): + chunks.append(chunk) + + assert all(c.startswith("[P]") for c in chunks) + + +async def test_on_event_hook_suppresses_chunk(llm_without_tool_call: MockLLM): + """Test that an ON_EVENT hook can suppress chunks.""" + + async def suppress_all_str(event: StreamingEvent) -> StreamingEvent | None: + if isinstance(event, str): + return None + return event + + hook = Hook(event_type=EventType.ON_EVENT, callback=suppress_all_str) + agent: Agent = Agent(llm=llm_without_tool_call, prompt="Test prompt", hooks=[hook]) + + str_chunks = [] + async for chunk in agent.run_streaming(): + if isinstance(chunk, str): + str_chunks.append(chunk) + + assert str_chunks == [] + + +async def test_on_event_hook_filters_tool_call_result( + llm_with_tool_call: MockLLM, +): + """Test that an ON_EVENT hook can modify tool call results during streaming.""" + + async def modify_tool_result(event: StreamingEvent) -> StreamingEvent | None: + if isinstance(event, ToolCallResult): + return ToolCallResult( + id=event.id, + name=event.name, + arguments=event.arguments, + result=f"[FILTERED] {event.result}", + ) + return event + + hook = Hook(event_type=EventType.ON_EVENT, callback=modify_tool_result) + agent: Agent = Agent(llm=llm_with_tool_call, prompt=CustomPrompt, tools=[get_weather], hooks=[hook]) + + result = agent.run_streaming() + tool_call_results = [] + async for chunk in result: + if isinstance(chunk, ToolCallResult): + tool_call_results.append(chunk) + + assert len(tool_call_results) == 1 + assert tool_call_results[0].result.startswith("[FILTERED]") + + +async def test_on_event_hook_word_filter_use_case( + llm_without_tool_call: MockLLM, + on_event_word_filter: Callable[..., OnEventCallback], +): + """Test practical word filtering via ON_EVENT hook during streaming.""" + # MockLLM response is "Test LLM output" + hook = Hook(event_type=EventType.ON_EVENT, callback=on_event_word_filter("LLM", "AI")) + agent: Agent = Agent(llm=llm_without_tool_call, prompt="Test prompt", hooks=[hook]) + + result = agent.run_streaming() + content_chunks = [] + async for chunk in result: + if isinstance(chunk, str): + content_chunks.append(chunk) + + full_content = "".join(content_chunks) + assert "LLM" not in full_content + assert "AI" in full_content diff --git a/packages/ragbits-chat/CHANGELOG.md b/packages/ragbits-chat/CHANGELOG.md index 7187a2e02..c515a12e7 100644 --- a/packages/ragbits-chat/CHANGELOG.md +++ b/packages/ragbits-chat/CHANGELOG.md @@ -2,6 +2,14 @@ ## Unreleased +## 1.5.0 (2026-02-19) + +### Changed + +- ragbits-core updated to version v1.5.0 + +- Add support for confirmation requests in chat (#853) (#914) + ## 1.4.2 (2026-02-18) ### Changed diff --git a/packages/ragbits-chat/pyproject.toml b/packages/ragbits-chat/pyproject.toml index b74b5361f..7714db6a2 100644 --- a/packages/ragbits-chat/pyproject.toml +++ b/packages/ragbits-chat/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "ragbits-chat" -version = "1.4.2" +version = "1.5.0" description = "Building blocks for rapid development of GenAI applications" readme = "README.md" requires-python = ">=3.10" @@ -31,7 +31,7 @@ classifiers = [ "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Software Development :: Libraries :: Python Modules", ] -dependencies = ["fastapi[standard]>=0.115.0,<1.0.0", "uvicorn>=0.31.0,<1.0.0", "httpx>=0.28.1,<1.0.0", "bcrypt>=4.2.0", "python-jose[cryptography]>=3.5.0", "ragbits-core==1.4.2"] +dependencies = ["fastapi[standard]>=0.115.0,<1.0.0", "uvicorn>=0.31.0,<1.0.0", "httpx>=0.28.1,<1.0.0", "bcrypt>=4.2.0", "python-jose[cryptography]>=3.5.0", "ragbits-core==1.5.0", "ragbits-agents==1.5.0"] [project.urls] "Homepage" = "https://github.com/deepsense-ai/ragbits" diff --git a/packages/ragbits-chat/src/ragbits/chat/interface/_interface.py b/packages/ragbits-chat/src/ragbits/chat/interface/_interface.py index 32f5d6bba..b62ccc481 100644 --- a/packages/ragbits-chat/src/ragbits/chat/interface/_interface.py +++ b/packages/ragbits-chat/src/ragbits/chat/interface/_interface.py @@ -56,7 +56,7 @@ logger = logging.getLogger(__name__) -def with_chat_metadata( +def with_chat_metadata( # noqa: PLR0915 func: Callable[["ChatInterface", str, ChatFormat, ChatContext], AsyncGenerator[ChatResponseUnion, None]], ) -> Callable[["ChatInterface", str, ChatFormat | None, ChatContext | None], AsyncGenerator[ChatResponseUnion, None]]: """ @@ -66,7 +66,7 @@ def with_chat_metadata( """ @functools.wraps(func) - async def wrapper( + async def wrapper( # noqa: PLR0915 self: "ChatInterface", message: str, history: ChatFormat | None = None, context: ChatContext | None = None ) -> AsyncGenerator[ChatResponseUnion, None]: start_time = time.time() diff --git a/packages/ragbits-chat/src/ragbits/chat/interface/types.py b/packages/ragbits-chat/src/ragbits/chat/interface/types.py index f7b17a139..a8212591d 100644 --- a/packages/ragbits-chat/src/ragbits/chat/interface/types.py +++ b/packages/ragbits-chat/src/ragbits/chat/interface/types.py @@ -6,6 +6,7 @@ from pydantic import BaseModel, ConfigDict, Field, field_validator +from ragbits.agents.confirmation import ConfirmationRequest from ragbits.chat.auth.types import User from ragbits.chat.interface.forms import UserSettings from ragbits.chat.interface.ui_customization import UICustomization @@ -237,6 +238,15 @@ def get_type(self) -> str: # noqa: D102, PLR6301 return "clear_message" +class ConfirmationRequestContent(ResponseContent): + """Confirmation request content wrapper.""" + + confirmation_request: ConfirmationRequest + + def get_type(self) -> str: # noqa: D102, PLR6301 + return "confirmation_request" + + class ErrorContent(ResponseContent): """Error content wrapper for displaying error messages to users.""" @@ -278,6 +288,7 @@ class ChatResponseType(str, Enum): CHUNKED_CONTENT = "chunked_content" CLEAR_MESSAGE = "clear_message" USAGE = "usage" + CONFIRMATION_REQUEST = "confirmation_request" ERROR = "error" @@ -289,6 +300,11 @@ class ChatContext(BaseModel): state: dict[str, Any] = Field(default_factory=dict) user: User | None = None session_id: str | None = None + tool_confirmations: list[dict[str, Any]] | None = Field( + default=None, + description="List of confirmed/declined tool executions from the frontend. Each entry has 'confirmation_id' " + "and 'confirmed' (bool)", + ) timezone: str | None = Field( default=None, description="User's timezone in IANA format (e.g., 'Europe/Warsaw', 'America/New_York')", @@ -653,6 +669,28 @@ def as_usage(self) -> dict[str, MessageUsage] | None: return self.content.usage return None + def as_confirmation_request(self) -> ConfirmationRequest | None: + """Return the content as ConfirmationRequest if this is a confirmation request, else None. + + .. deprecated:: 1.4.0 + Use isinstance() checks and typed access instead. + This method is kept for backward compatibility and will be removed in version 2.0.0. + + Returns: + The ConfirmationRequest content if this is a ConfirmationRequestResponse, None otherwise. + """ + warnings.warn( + "The 'as_confirmation_request()' method is deprecated. Use isinstance() checks instead " + "(e.g., if isinstance(response, ConfirmationRequestResponse): " + "req = response.content.confirmation_request). " + "This method will be removed in version 2.0.0.", + DeprecationWarning, + stacklevel=2, + ) + if isinstance(self.content, ConfirmationRequestContent): + return self.content.confirmation_request + return None + def as_conversation_summary(self) -> str | None: """Return the content as string if this is an conversation summary response, else None. @@ -723,6 +761,10 @@ class UsageResponse(ChatResponse[UsageContent]): """Usage statistics response.""" +class ConfirmationRequestResponse(ChatResponse[ConfirmationRequestContent]): + """Confirmation request response.""" + + class ErrorResponse(ChatResponse[ErrorContent]): """Error response for displaying error messages to users.""" @@ -741,6 +783,7 @@ class ErrorResponse(ChatResponse[ErrorContent]): | ChunkedContentResponse | ClearMessageResponse | UsageResponse + | ConfirmationRequestResponse | ErrorResponse ) diff --git a/packages/ragbits-chat/src/ragbits/chat/providers/model_provider.py b/packages/ragbits-chat/src/ragbits/chat/providers/model_provider.py index e3bbf2cc2..647a31925 100644 --- a/packages/ragbits-chat/src/ragbits/chat/providers/model_provider.py +++ b/packages/ragbits-chat/src/ragbits/chat/providers/model_provider.py @@ -10,7 +10,8 @@ from pydantic import BaseModel -from ragbits.chat.interface.types import AuthType +from ragbits.agents.confirmation import ConfirmationRequest +from ragbits.chat.interface.types import AuthType, ConfirmationRequestContent class RagbitsChatModelProvider: @@ -98,6 +99,7 @@ def get_models(self) -> dict[str, type[BaseModel | Enum]]: "FeedbackItem": FeedbackItem, "Image": Image, "MessageUsage": MessageUsage, + "ConfirmationRequest": ConfirmationRequest, # Response content wrappers (new way) "TextContent": TextContent, "MessageIdContent": MessageIdContent, @@ -105,6 +107,7 @@ def get_models(self) -> dict[str, type[BaseModel | Enum]]: "ConversationSummaryContent": ConversationSummaryContent, "FollowupMessagesContent": FollowupMessagesContent, "UsageContent": UsageContent, + "ConfirmationRequestContent": ConfirmationRequestContent, "ErrorContent": ErrorContent, # Configuration models "HeaderCustomization": HeaderCustomization, @@ -171,6 +174,7 @@ def get_categories(self) -> dict[str, list[str]]: "FollowupMessagesContent", "UsageContent", "ClearMessageContent", + "ConfirmationRequestContent", "ErrorContent", ], "configuration": [ diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/AuthGuard-CqkKvK5x.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/AuthGuard-jY5iWn5c.js similarity index 58% rename from packages/ragbits-chat/src/ragbits/chat/ui-build/assets/AuthGuard-CqkKvK5x.js rename to packages/ragbits-chat/src/ragbits/chat/ui-build/assets/AuthGuard-jY5iWn5c.js index a29c31719..c8e0a9d5a 100644 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/AuthGuard-CqkKvK5x.js +++ b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/AuthGuard-jY5iWn5c.js @@ -1 +1 @@ -import{r as h,j as e,aV as c,av as S,c as m,bw as f,bx as l,by as d,bz as p,bA as b}from"./index-Ci_ePHVC.js";import{a}from"./authStore-Bmpxc0WJ.js";import{u as j}from"./useInitializeUserStore-4OnvEn5p.js";const v=h.createContext(null);function y({children:t}){const[o]=h.useState(()=>a);return e.jsx(v.Provider,{value:o,children:t})}function A(){const{logout:t,login:o,setHydrated:u}=c(a,x=>x),i=j(),n=S(),s=m("/api/user"),g=f();return h.useEffect(()=>{(async()=>{try{const r=await s.call();r?(o(r),i?i(r.user_id):console.error("Failed to initialize store for user, initializeUserStore() is not defined. Check current HistoryStoreContextProvider implementation."),g.pathname==="/login"&&n("/")):t()}catch(r){console.error("Failed to check session:",r),t(),n("/login")}finally{u()}})()},[]),null}function P({children:t}){const o=f(),u=c(a,s=>s.isAuthenticated),i=c(a,s=>s.hasHydrated),n=c(a,s=>s.logout);return i?o.pathname==="/login"?e.jsx(l,{baseUrl:d,auth:{credentials:"include"},children:t}):u?e.jsx(y,{children:e.jsx(l,{baseUrl:d,auth:{onUnauthorized:n,credentials:"include"},children:t})}):e.jsx(b,{to:"/login",replace:!0}):e.jsxs(l,{baseUrl:d,auth:{credentials:"include"},children:[e.jsx(A,{}),e.jsx(p,{})]})}export{P as default}; +import{r as h,j as e,aW as c,aw as p,c as S,bo as x,bp as l,bq as d,br as m,bs as b}from"./index-DNu2TsOm.js";import{a}from"./authStore-BCKvtahF.js";import{u as j}from"./useInitializeUserStore-BGPV4Be6.js";const v=h.createContext(null);function y({children:t}){const[o]=h.useState(()=>a);return e.jsx(v.Provider,{value:o,children:t})}function U(){const{logout:t,login:o,setHydrated:u}=c(a,f=>f),i=j(),n=p(),s=S("/api/user"),g=x();return h.useEffect(()=>{(async()=>{try{const r=await s.call();r?(o(r),i?i(r.user_id):console.error("Failed to initialize store for user, initializeUserStore() is not defined. Check current HistoryStoreContextProvider implementation."),g.pathname==="/login"&&n("/")):t()}catch(r){console.error("Failed to check session:",r),t(),n("/login")}finally{u()}})()},[]),null}function P({children:t}){const o=x(),u=c(a,s=>s.isAuthenticated),i=c(a,s=>s.hasHydrated),n=c(a,s=>s.logout);return i?o.pathname==="/login"?e.jsx(l,{baseUrl:d,auth:{credentials:"include"},children:t}):u?e.jsx(y,{children:e.jsx(l,{baseUrl:d,auth:{onUnauthorized:n,credentials:"include"},children:t})}):e.jsx(b,{to:"/login",replace:!0}):e.jsxs(l,{baseUrl:d,auth:{credentials:"include"},children:[e.jsx(U,{}),e.jsx(m,{})]})}export{P as default}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ChatHistory-DToDxWtY.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ChatHistory-WkdxEby_.js similarity index 96% rename from packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ChatHistory-DToDxWtY.js rename to packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ChatHistory-WkdxEby_.js index 069be96a9..1be7395af 100644 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ChatHistory-DToDxWtY.js +++ b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ChatHistory-WkdxEby_.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-BDLYWa-3.js","assets/index-Ci_ePHVC.js","assets/index-BwQ9ejTf.css"])))=>i.map(i=>d[i]); -import{r as P,t as ae,k as Xe,Z as W,ay as Me,$ as Ze,j as t,q as me,L as xe,_ as Ye,n as ye,T as Pe,s as et,v as R,V as tt,d as X,l as se,aq as Ie,o as ot,H as ke,a9 as rt,J as Ne,az as at,ac as pe,U as st,X as _e,af as he,aA as nt,aB as lt,ag as it,K as dt,O as be,Q as ct,W as ut,a0 as pt,ah as ft,a2 as K,a3 as Ae,ai as vt,R as ht,aC as bt,a8 as gt,aD as mt,aE as xt,a5 as yt,a as Pt,av as Ct,i as fe,aF as Ce,aG as ve,D as we,I as Q,as as wt,aH as $t,ax as $e}from"./index-Ci_ePHVC.js";import{u as jt,b as St,c as je,d as Dt,e as Mt,m as It,$ as kt,a as Nt}from"./useMenuTriggerState-Bwuv-o1-.js";import{$ as _t}from"./useSelectableItem-7F1UMn-T.js";import{i as At}from"./chunk-SSA7SXE4-D40yC7h_.js";var Ot=(e,r)=>{var n;let s=[];const a=(n=P.Children.map(e,d=>P.isValidElement(d)&&d.type===r?(s.push(d),null):d))==null?void 0:n.filter(Boolean),u=s.length>=0?s:void 0;return[a,u]},Ft=ae({base:["w-full","p-1","min-w-[200px]"]});ae({slots:{base:["flex","group","gap-2","items-center","justify-between","relative","px-2","py-1.5","w-full","h-full","box-border","rounded-small","outline-hidden","cursor-pointer","tap-highlight-transparent","data-[pressed=true]:opacity-70",...Xe,"data-[focus-visible=true]:dark:ring-offset-background-content1"],wrapper:"w-full flex flex-col items-start justify-center",title:"flex-1 text-small font-normal truncate",description:["w-full","text-tiny","text-foreground-500","group-hover:text-current"],selectedIcon:["text-inherit","w-3","h-3","shrink-0"],shortcut:["px-1","py-0.5","rounded-sm","font-sans","text-foreground-500","text-tiny","border-small","border-default-300","group-hover:border-current"]},variants:{variant:{solid:{base:""},bordered:{base:"border-medium border-transparent bg-transparent"},light:{base:"bg-transparent"},faded:{base:"border-small border-transparent hover:border-default data-[hover=true]:bg-default-100"},flat:{base:""},shadow:{base:"data-[hover=true]:shadow-lg"}},color:{default:{},primary:{},secondary:{},success:{},warning:{},danger:{}},isDisabled:{true:{base:"opacity-disabled pointer-events-none"}},disableAnimation:{true:{},false:{}}},defaultVariants:{variant:"solid",color:"default"},compoundVariants:[{variant:"solid",color:"default",class:{base:"data-[hover=true]:bg-default data-[hover=true]:text-default-foreground"}},{variant:"solid",color:"primary",class:{base:"data-[hover=true]:bg-primary data-[hover=true]:text-primary-foreground"}},{variant:"solid",color:"secondary",class:{base:"data-[hover=true]:bg-secondary data-[hover=true]:text-secondary-foreground"}},{variant:"solid",color:"success",class:{base:"data-[hover=true]:bg-success data-[hover=true]:text-success-foreground"}},{variant:"solid",color:"warning",class:{base:"data-[hover=true]:bg-warning data-[hover=true]:text-warning-foreground"}},{variant:"solid",color:"danger",class:{base:"data-[hover=true]:bg-danger data-[hover=true]:text-danger-foreground"}},{variant:"shadow",color:"default",class:{base:"data-[hover=true]:shadow-default/50 data-[hover=true]:bg-default data-[hover=true]:text-default-foreground"}},{variant:"shadow",color:"primary",class:{base:"data-[hover=true]:shadow-primary/30 data-[hover=true]:bg-primary data-[hover=true]:text-primary-foreground"}},{variant:"shadow",color:"secondary",class:{base:"data-[hover=true]:shadow-secondary/30 data-[hover=true]:bg-secondary data-[hover=true]:text-secondary-foreground"}},{variant:"shadow",color:"success",class:{base:"data-[hover=true]:shadow-success/30 data-[hover=true]:bg-success data-[hover=true]:text-success-foreground"}},{variant:"shadow",color:"warning",class:{base:"data-[hover=true]:shadow-warning/30 data-[hover=true]:bg-warning data-[hover=true]:text-warning-foreground"}},{variant:"shadow",color:"danger",class:{base:"data-[hover=true]:shadow-danger/30 data-[hover=true]:bg-danger data-[hover=true]:text-danger-foreground"}},{variant:"bordered",color:"default",class:{base:"data-[hover=true]:border-default"}},{variant:"bordered",color:"primary",class:{base:"data-[hover=true]:border-primary data-[hover=true]:text-primary"}},{variant:"bordered",color:"secondary",class:{base:"data-[hover=true]:border-secondary data-[hover=true]:text-secondary"}},{variant:"bordered",color:"success",class:{base:"data-[hover=true]:border-success data-[hover=true]:text-success"}},{variant:"bordered",color:"warning",class:{base:"data-[hover=true]:border-warning data-[hover=true]:text-warning"}},{variant:"bordered",color:"danger",class:{base:"data-[hover=true]:border-danger data-[hover=true]:text-danger"}},{variant:"flat",color:"default",class:{base:"data-[hover=true]:bg-default/40 data-[hover=true]:text-default-foreground"}},{variant:"flat",color:"primary",class:{base:"data-[hover=true]:bg-primary/20 data-[hover=true]:text-primary"}},{variant:"flat",color:"secondary",class:{base:"data-[hover=true]:bg-secondary/20 data-[hover=true]:text-secondary"}},{variant:"flat",color:"success",class:{base:"data-[hover=true]:bg-success/20 data-[hover=true]:text-success "}},{variant:"flat",color:"warning",class:{base:"data-[hover=true]:bg-warning/20 data-[hover=true]:text-warning"}},{variant:"flat",color:"danger",class:{base:"data-[hover=true]:bg-danger/20 data-[hover=true]:text-danger"}},{variant:"faded",color:"default",class:{base:"data-[hover=true]:text-default-foreground"}},{variant:"faded",color:"primary",class:{base:"data-[hover=true]:text-primary"}},{variant:"faded",color:"secondary",class:{base:"data-[hover=true]:text-secondary"}},{variant:"faded",color:"success",class:{base:"data-[hover=true]:text-success"}},{variant:"faded",color:"warning",class:{base:"data-[hover=true]:text-warning"}},{variant:"faded",color:"danger",class:{base:"data-[hover=true]:text-danger"}},{variant:"light",color:"default",class:{base:"data-[hover=true]:text-default-500"}},{variant:"light",color:"primary",class:{base:"data-[hover=true]:text-primary"}},{variant:"light",color:"secondary",class:{base:"data-[hover=true]:text-secondary"}},{variant:"light",color:"success",class:{base:"data-[hover=true]:text-success"}},{variant:"light",color:"warning",class:{base:"data-[hover=true]:text-warning"}},{variant:"light",color:"danger",class:{base:"data-[hover=true]:text-danger"}}]});ae({slots:{base:"relative mb-2",heading:"pl-1 text-tiny text-foreground-500",group:"data-[has-title=true]:pt-1",divider:"mt-2"}});ae({base:"w-full flex flex-col gap-0.5 p-1"});var Et=(e,r)=>{if(!e&&!r)return{};const n=new Set([...Object.keys(e||{}),...Object.keys(r||{})]);return Array.from(n).reduce((s,a)=>({...s,[a]:W(e?.[a],r?.[a])}),{})},[Tt,Oe]=Me({name:"PopoverContext",errorMessage:"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within ``"}),Se=()=>Ye(()=>import("./index-BDLYWa-3.js"),__vite__mapDeps([0,1,2])).then(e=>e.default),Fe=e=>{const{as:r,children:n,className:s,...a}=e,{Component:u,placement:d,backdrop:h,motionProps:l,disableAnimation:c,getPopoverProps:p,getDialogProps:w,getBackdropProps:b,getContentProps:x,isNonModal:I,onClose:j}=Oe(),f=P.useRef(null),{dialogProps:M,titleProps:D}=Ze({},f),y=w({ref:f,...M,...a}),S=r||u||"div",i=t.jsxs(t.Fragment,{children:[!I&&t.jsx(me,{onDismiss:j}),t.jsx(S,{...y,children:t.jsx("div",{...x({className:s}),children:typeof n=="function"?n(D):n})}),t.jsx(me,{onDismiss:j})]}),v=P.useMemo(()=>h==="transparent"?null:c?t.jsx("div",{...b()}):t.jsx(xe,{features:Se,children:t.jsx(ye.div,{animate:"enter",exit:"exit",initial:"exit",variants:Pe.fade,...b()})}),[h,c,b]),k=d?et(d==="center"?"top":d):void 0,o=t.jsx(t.Fragment,{children:c?i:t.jsx(xe,{features:Se,children:t.jsx(ye.div,{animate:"enter",exit:"exit",initial:"initial",style:k,variants:Pe.scaleSpringOpacity,...l,children:i})})});return t.jsxs("div",{...p(),children:[v,o]})};Fe.displayName="HeroUI.PopoverContent";var Rt=Fe,Ee=e=>{var r;const{triggerRef:n,getTriggerProps:s}=Oe(),{children:a,...u}=e,d=P.useMemo(()=>typeof a=="string"?t.jsx("p",{children:a}):P.Children.only(a),[a]),h=(r=d.props.ref)!=null?r:d.ref,{onPress:l,isDisabled:c,...p}=P.useMemo(()=>s(R(u,d.props),h),[s,d.props,u,h]),[,w]=Ot(a,X),{buttonProps:b}=tt({onPress:l,isDisabled:c},n),x=P.useMemo(()=>w?.[0]!==void 0,[w]);return x||delete p.preventFocusOnPress,P.cloneElement(d,R(p,x?{onPress:l,isDisabled:c}:b))};Ee.displayName="HeroUI.PopoverTrigger";var Ht=Ee,Te=se((e,r)=>{const{children:n,...s}=e,a=jt({...s,ref:r}),[u,d]=P.Children.toArray(n),h=t.jsx(ot,{portalContainer:a.portalContainer,children:d});return t.jsxs(Tt,{value:a,children:[u,a.disableAnimation&&a.isOpen?h:t.jsx(Ie,{children:a.isOpen?h:null})]})});Te.displayName="HeroUI.Popover";var Ut=Te,[Kt,Re]=Me({name:"DropdownContext",errorMessage:"useDropdownContext: `context` is undefined. Seems you forgot to wrap all popover components within ``"});function Bt(e){const{isSelected:r,disableAnimation:n,...s}=e;return t.jsx("svg",{"aria-hidden":"true","data-selected":r,role:"presentation",viewBox:"0 0 17 18",...s,children:t.jsx("polyline",{fill:"none",points:"1 9 7 14 15 4",stroke:"currentColor",strokeDasharray:22,strokeDashoffset:r?44:66,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,style:n?{}:{transition:"stroke-dashoffset 200ms ease"}})})}const He=new WeakMap;function Vt(e,r,n){let{shouldFocusWrap:s=!0,onKeyDown:a,onKeyUp:u,...d}=e;!e["aria-label"]&&e["aria-labelledby"];let h=ke(e,{labelable:!0}),{listProps:l}=rt({...d,ref:n,selectionManager:r.selectionManager,collection:r.collection,disabledKeys:r.disabledKeys,shouldFocusWrap:s,linkBehavior:"override"});return He.set(r,{onClose:e.onClose,onAction:e.onAction,shouldUseVirtualFocus:e.shouldUseVirtualFocus}),{menuProps:Ne(h,{onKeyDown:a,onKeyUp:u},{role:"menu",...l,onKeyDown:c=>{var p;(c.key!=="Escape"||e.shouldUseVirtualFocus)&&((p=l.onKeyDown)===null||p===void 0||p.call(l,c))}})}}function Lt(e,r,n){let{id:s,key:a,closeOnSelect:u,isVirtualized:d,"aria-haspopup":h,onPressStart:l,onPressUp:c,onPress:p,onPressChange:w,onPressEnd:b,onHoverStart:x,onHoverChange:I,onHoverEnd:j,onKeyDown:f,onKeyUp:M,onFocus:D,onFocusChange:y,onBlur:S,selectionManager:i=r.selectionManager}=e,v=!!h,k=v&&e["aria-expanded"]==="true";var o;let C=(o=e.isDisabled)!==null&&o!==void 0?o:i.isDisabled(a);var _;let A=(_=e.isSelected)!==null&&_!==void 0?_:i.isSelected(a),N=He.get(r),g=r.collection.getItem(a),T=e.onClose||N.onClose,B=at(),$=m=>{var J;if(!v){if(!(g==null||(J=g.props)===null||J===void 0)&&J.onAction?g.props.onAction():e.onAction&&e.onAction(a),N.onAction){let ce=N.onAction;ce(a)}m.target instanceof HTMLAnchorElement&&g&&B.open(m.target,m,g.props.href,g.props.routerOptions)}},E="menuitem";v||(i.selectionMode==="single"?E="menuitemradio":i.selectionMode==="multiple"&&(E="menuitemcheckbox"));let O=pe(),H=pe(),q=pe(),V={id:s,"aria-disabled":C||void 0,role:E,"aria-label":e["aria-label"],"aria-labelledby":O,"aria-describedby":[H,q].filter(Boolean).join(" ")||void 0,"aria-controls":e["aria-controls"],"aria-haspopup":h,"aria-expanded":e["aria-expanded"]};i.selectionMode!=="none"&&!v&&(V["aria-checked"]=A),d&&(V["aria-posinset"]=g?.index,V["aria-setsize"]=St(r.collection));let G=m=>{m.pointerType==="keyboard"&&$(m),l?.(m)},Z=()=>{!v&&T&&(u??(i.selectionMode!=="multiple"||i.isLink(a)))&&T()},Y=m=>{m.pointerType==="mouse"&&($(m),Z()),c?.(m)},ne=m=>{m.pointerType!=="keyboard"&&m.pointerType!=="mouse"&&($(m),Z()),p?.(m)},{itemProps:L,isFocused:ee}=_t({id:s,selectionManager:i,key:a,ref:n,shouldSelectOnPressUp:!0,allowsDifferentPressOrigin:!0,linkBehavior:"none",shouldUseVirtualFocus:N.shouldUseVirtualFocus}),{pressProps:le,isPressed:te}=st({onPressStart:G,onPress:ne,onPressUp:Y,onPressChange:w,onPressEnd:b,isDisabled:C}),{hoverProps:ie}=_e({isDisabled:C,onHoverStart(m){!he()&&!(k&&h)&&(i.setFocused(!0),i.setFocusedKey(a)),x?.(m)},onHoverChange:I,onHoverEnd:j}),{keyboardProps:oe}=nt({onKeyDown:m=>{if(m.repeat){m.continuePropagation();return}switch(m.key){case" ":!C&&i.selectionMode==="none"&&!v&&u!==!1&&T&&T();break;case"Enter":!C&&u!==!1&&!v&&T&&T();break;default:v||m.continuePropagation(),f?.(m);break}},onKeyUp:M}),{focusProps:U}=lt({onBlur:S,onFocus:D,onFocusChange:y}),re=ke(g?.props);delete re.id;let de=it(g?.props);return{menuItemProps:{...V,...Ne(re,de,v?{onFocus:L.onFocus,"data-collection":L["data-collection"],"data-key":L["data-key"]}:L,le,ie,oe,U,N.shouldUseVirtualFocus||v?{onMouseDown:m=>m.preventDefault()}:void 0),tabIndex:L.tabIndex!=null&&k&&!N.shouldUseVirtualFocus?-1:L.tabIndex},labelProps:{id:O},descriptionProps:{id:H},keyboardShortcutProps:{id:q},isFocused:ee,isFocusVisible:ee&&i.isFocused&&he()&&!k,isSelected:A,isPressed:te,isDisabled:C}}function zt(e){let{heading:r,"aria-label":n}=e,s=dt();return{itemProps:{role:"presentation"},headingProps:r?{id:s,role:"presentation"}:{},groupProps:{role:"group","aria-label":n,"aria-labelledby":r?s:void 0}}}function Wt(e){var r,n;const s=be(),[a,u]=ct(e,je.variantKeys),{as:d,item:h,state:l,shortcut:c,description:p,startContent:w,endContent:b,isVirtualized:x,selectedIcon:I,className:j,classNames:f,onAction:M,autoFocus:D,onPress:y,onPressStart:S,onPressUp:i,onPressEnd:v,onPressChange:k,onHoverStart:o,onHoverChange:C,onHoverEnd:_,hideSelectedIcon:A=!1,isReadOnly:N=!1,closeOnSelect:g,onClose:T,onClick:B,...$}=a,E=(n=(r=e.disableAnimation)!=null?r:s?.disableAnimation)!=null?n:!1,O=P.useRef(null),H=d||($?.href?"a":"li"),q=typeof H=="string",{rendered:V,key:G}=h,Z=l.disabledKeys.has(G)||e.isDisabled,Y=l.selectionManager.selectionMode!=="none",ne=Dt(),{isFocusVisible:L,focusProps:ee}=ut({autoFocus:D}),le=P.useCallback(F=>{B?.(F),y?.(F)},[B,y]),{isPressed:te,isFocused:ie,isSelected:oe,isDisabled:U,menuItemProps:re,labelProps:de,descriptionProps:m,keyboardShortcutProps:J}=Lt({key:G,onClose:T,isDisabled:Z,onPress:le,onPressStart:S,onPressUp:i,onPressEnd:v,onPressChange:k,"aria-label":a["aria-label"],closeOnSelect:g,isVirtualized:x,onAction:M},l,O);let{hoverProps:ce,isHovered:ge}=_e({isDisabled:U,onHoverStart(F){he()||(l.selectionManager.setFocused(!0),l.selectionManager.setFocusedKey(G)),o?.(F)},onHoverChange:C,onHoverEnd:_}),ue=re;const z=P.useMemo(()=>je({...u,isDisabled:U,disableAnimation:E,hasTitleTextChild:typeof V=="string",hasDescriptionTextChild:typeof p=="string"}),[pt(u),U,E,V,p]),ze=W(f?.base,j);N&&(ue=ft(ue));const We=(F={})=>({ref:O,...R(N?{}:ee,Ae($,{enabled:q}),ue,ce,F),"data-focus":K(ie),"data-selectable":K(Y),"data-hover":K(ne?ge||te:ge),"data-disabled":K(U),"data-selected":K(oe),"data-pressed":K(te),"data-focus-visible":K(L),className:z.base({class:W(ze,F.className)})}),qe=(F={})=>({...R(de,F),className:z.title({class:f?.title})}),Ge=(F={})=>({...R(m,F),className:z.description({class:f?.description})}),Je=(F={})=>({...R(J,F),className:z.shortcut({class:f?.shortcut})}),Qe=P.useCallback((F={})=>({"aria-hidden":K(!0),"data-disabled":K(U),className:z.selectedIcon({class:f?.selectedIcon}),...F}),[U,z,f]);return{Component:H,domRef:O,slots:z,classNames:f,isSelectable:Y,isSelected:oe,isDisabled:U,rendered:V,shortcut:c,description:p,startContent:w,endContent:b,selectedIcon:I,disableAnimation:E,getItemProps:We,getLabelProps:qe,hideSelectedIcon:A,getDescriptionProps:Ge,getKeyboardShortcutProps:Je,getSelectedIconProps:Qe}}var Ue=e=>{const{Component:r,slots:n,classNames:s,rendered:a,shortcut:u,description:d,isSelectable:h,isSelected:l,isDisabled:c,selectedIcon:p,startContent:w,endContent:b,disableAnimation:x,hideSelectedIcon:I,getItemProps:j,getLabelProps:f,getDescriptionProps:M,getKeyboardShortcutProps:D,getSelectedIconProps:y}=Wt(e),S=P.useMemo(()=>{const i=t.jsx(Bt,{disableAnimation:x,isSelected:l});return typeof p=="function"?p({icon:i,isSelected:l,isDisabled:c}):p||i},[p,l,c,x]);return t.jsxs(r,{...j(),children:[w,d?t.jsxs("div",{className:n.wrapper({class:s?.wrapper}),children:[t.jsx("span",{...f(),children:a}),t.jsx("span",{...M(),children:d})]}):t.jsx("span",{...f(),children:a}),u&&t.jsx("kbd",{...D(),children:u}),h&&!I&&t.jsx("span",{...y(),children:S}),b]})};Ue.displayName="HeroUI.MenuItem";var Ke=Ue,Be=se(({item:e,state:r,as:n,variant:s,color:a,disableAnimation:u,onAction:d,closeOnSelect:h,className:l,classNames:c,showDivider:p=!1,hideSelectedIcon:w,dividerProps:b={},itemClasses:x,title:I,...j},f)=>{const M=n||"li",D=P.useMemo(()=>Mt(),[]),y=W(c?.base,l),S=W(c?.divider,b?.className),{itemProps:i,headingProps:v,groupProps:k}=zt({heading:e.rendered,"aria-label":e["aria-label"]});return t.jsxs(M,{"data-slot":"base",...R(i,j),className:D.base({class:y}),children:[e.rendered&&t.jsx("span",{...v,className:D.heading({class:c?.heading}),"data-slot":"heading",children:e.rendered}),t.jsxs("ul",{...k,className:D.group({class:c?.group}),"data-has-title":!!e.rendered,"data-slot":"group",children:[[...e.childNodes].map(o=>{const{key:C,props:_}=o;let A=t.jsx(Ke,{classNames:x,closeOnSelect:h,color:a,disableAnimation:u,hideSelectedIcon:w,item:o,state:r,variant:s,onAction:d,..._},C);return o.wrapper&&(A=o.wrapper(A)),A}),p&&t.jsx(vt,{as:"li",className:D.divider({class:S}),...b})]})]})});Be.displayName="HeroUI.MenuSection";var qt=Be;function Gt(e){var r;const n=be(),{as:s,ref:a,variant:u,color:d,children:h,disableAnimation:l=(r=n?.disableAnimation)!=null?r:!1,onAction:c,closeOnSelect:p,itemClasses:w,className:b,state:x,topContent:I,bottomContent:j,hideEmptyContent:f=!1,hideSelectedIcon:M=!1,emptyContent:D="No items.",menuProps:y,onClose:S,classNames:i,...v}=e,k=s||"ul",o=ht(a),C=typeof k=="string",_=bt({...v,...y,children:h}),A=x||_,{menuProps:N}=Vt({...v,...y,onAction:c},A,o),g=P.useMemo(()=>It({className:b}),[b]),T=W(i?.base,b);return{Component:k,state:A,variant:u,color:d,disableAnimation:l,onClose:S,topContent:I,bottomContent:j,closeOnSelect:p,className:b,itemClasses:w,getBaseProps:(O={})=>({ref:o,"data-slot":"base",className:g.base({class:T}),...Ae(v,{enabled:C}),...O}),getListProps:(O={})=>({"data-slot":"list",className:g.list({class:i?.list}),...N,...O}),hideEmptyContent:f,hideSelectedIcon:M,getEmptyContentProps:(O={})=>({children:D,className:g.emptyContent({class:i?.emptyContent}),...O})}}var Jt=se(function(r,n){const{Component:s,state:a,closeOnSelect:u,color:d,disableAnimation:h,hideSelectedIcon:l,hideEmptyContent:c,variant:p,onClose:w,topContent:b,bottomContent:x,itemClasses:I,getBaseProps:j,getListProps:f,getEmptyContentProps:M}=Gt({...r,ref:n}),D=t.jsxs(s,{...f(),children:[!a.collection.size&&!c&&t.jsx("li",{children:t.jsx("div",{...M()})}),[...a.collection].map(y=>{const S={closeOnSelect:u,color:d,disableAnimation:h,item:y,state:a,variant:p,onClose:w,hideSelectedIcon:l,...y.props},i=Et(I,S?.classNames);if(y.type==="section")return t.jsx(qt,{...S,itemClasses:i},y.key);let v=t.jsx(Ke,{...S,classNames:i},y.key);return y.wrapper&&(v=y.wrapper(v)),v})]});return t.jsxs("div",{...j(),children:[b,D,x]})}),Qt=Jt,Xt=gt,De=Xt,Zt=se(function(r,n){const{getMenuProps:s}=Re();return t.jsx(Rt,{children:t.jsx(mt,{contain:!0,restoreFocus:!0,children:t.jsx(Qt,{...s(r,n)})})})}),Yt=Zt,Ve=e=>{const{getMenuTriggerProps:r}=Re(),{children:n,...s}=e;return t.jsx(Ht,{...r(s),children:n})};Ve.displayName="HeroUI.DropdownTrigger";var eo=Ve,to=(e,r)=>{if(e){const n=Array.isArray(e.children)?e.children:[...e?.items||[]];if(n&&n.length)return n.find(a=>{if(a&&a.key===r)return a})||{}}return null},oo=(e,r,n)=>{const s=n||to(e,r);return s&&s.props&&"closeOnSelect"in s.props?s.props.closeOnSelect:e?.closeOnSelect};function ro(e){var r;const n=be(),{as:s,triggerRef:a,isOpen:u,defaultOpen:d,onOpenChange:h,isDisabled:l,type:c="menu",trigger:p="press",placement:w="bottom",closeOnSelect:b=!0,shouldBlockScroll:x=!0,classNames:I,disableAnimation:j=(r=n?.disableAnimation)!=null?r:!1,onClose:f,className:M,...D}=e,y=s||"div",S=P.useRef(null),i=a||S,v=P.useRef(null),k=P.useRef(null),o=kt({trigger:p,isOpen:u,defaultOpen:d,onOpenChange:$=>{h?.($),$||f?.()}}),{menuTriggerProps:C,menuProps:_}=Nt({type:c,trigger:p,isDisabled:l},o,i),A=P.useMemo(()=>Ft({className:M}),[M]),N=$=>{$!==void 0&&!$||b&&o.close()},g=($={})=>{const E=R(D,$);return{state:o,placement:w,ref:k,disableAnimation:j,shouldBlockScroll:x,scrollRef:v,triggerRef:i,...E,classNames:{...I,...$.classNames,content:W(A,I?.content,$.className)}}},T=($={})=>{const{onPress:E,onPressStart:O,...H}=C;return R(H,{isDisabled:l},$)},B=($,E=null)=>({ref:xt(E,v),menuProps:_,closeOnSelect:b,...R($,{onAction:(O,H)=>{const q=oo($,O,H);N(q)},onClose:o.close})});return{Component:y,menuRef:v,menuProps:_,closeOnSelect:b,onClose:o.close,autoFocus:o.focusStrategy||!0,disableAnimation:j,getPopoverProps:g,getMenuProps:B,getMenuTriggerProps:T}}var Le=e=>{const{children:r,...n}=e,s=ro(n),[a,u]=yt.Children.toArray(r);return t.jsx(Kt,{value:s,children:t.jsxs(Ut,{...s.getPopoverProps(),children:[a,u]})})};Le.displayName="HeroUI.Dropdown";var ao=Le;function co(){const{selectConversation:e,deleteConversation:r,newConversation:n,setConversationProperties:s}=Pt(),a=Ct(),u=fe(Ce(o=>Object.keys(o.conversations).reverse())),d=fe(Ce(o=>Object.values(o.conversations).reverse().map(C=>C.summary))),h=fe(o=>o.currentConversation),[l,c]=P.useState(!1),[p,w]=P.useState(null),[b,x]=P.useState(""),[I,j]=P.useState(!1),f=P.useRef(null),M=l?"Open sidebar":"Close sidebar",D=t.jsx(Q,{icon:"heroicons:pencil-square"}),y=(o,C)=>{w(o),x(C??""),j(!0),setTimeout(()=>{f.current?.focus?.(),setTimeout(()=>j(!1),120)},0)},S=o=>{if(p!==o)return;const C=(b||"").trim();C&&s(o,{summary:C}),w(null),x(""),j(!1)},i=()=>{w(null),x(""),j(!1)},v=()=>{const o=n();a($e(o))},k=o=>{e(o),a($e(o))};return t.jsx(ve.div,{initial:!1,animate:{maxWidth:l?"4.5rem":"16rem"},className:"rounded-l-medium border-small border-divider ml-4 flex h-full w-full min-w-[4.5rem] flex-grow flex-col space-y-2 overflow-hidden border-r-0 p-4 py-3",children:t.jsxs(Ie,{children:[t.jsx(we,{content:M,placement:"bottom",children:t.jsx(X,{isIconOnly:!0,"aria-label":M,variant:"ghost",onPress:()=>c(o=>!o),"data-testid":"chat-history-collapse-button",className:"ml-auto",children:t.jsx(Q,{icon:l?"heroicons:chevron-double-right":"heroicons:chevron-double-left"})})},"collapse-button"),!l&&t.jsx(ve.p,{initial:!1,animate:{opacity:1,width:"100%",height:"auto"},exit:{opacity:0,width:0,height:0,marginBottom:0},className:"text-small text-foreground truncate leading-5 font-semibold",children:"Conversations"},"conversations"),t.jsx(we,{content:"New conversation",placement:"right",children:t.jsx(X,{"aria-label":"New conversation",variant:"ghost",onPress:v,"data-testid":"chat-history-clear-chat-button",startContent:D,isIconOnly:l,children:!l&&"New conversation"})},"new-conversation-button"),!l&&t.jsx(ve.div,{className:"mt-2 flex flex-1 flex-col gap-2 overflow-auto overflow-x-hidden",initial:!1,animate:{opacity:1,width:"100%"},exit:{opacity:0,width:0},children:wt.zip(u,d).map(([o,C])=>{if(!o||$t(o))return null;const _=o===h,A=o===p,N=_?"solid":"light";return t.jsxs("div",{className:"flex w-full justify-between gap-2",children:[A?t.jsx(At,{ref:f,size:"sm",variant:"bordered",value:b,onChange:g=>x(g.target.value),onBlur:()=>{I||S(o)},onKeyDown:g=>{g.key==="Enter"&&S(o),g.key==="Escape"&&i()},className:"flex-1","data-testid":`input-conversation-${o}`}):t.jsx(X,{variant:N,"aria-label":`Select conversation ${o}`,"data-active":_,onPress:()=>k(o),title:C??o,"data-testid":`select-conversation-${o}`,className:"flex-1 justify-start",children:t.jsx("div",{className:"text-small truncate",children:C??o})}),t.jsxs(ao,{children:[t.jsx(eo,{children:t.jsx(X,{isIconOnly:!0,variant:"light","aria-label":`Conversation actions for ${o}`,"data-testid":`dropdown-conversation-${o}`,children:t.jsx(Q,{icon:"heroicons:ellipsis-vertical",className:"rotate-90"})})}),t.jsxs(Yt,{"aria-label":"Conversation actions",children:[t.jsx(De,{startContent:t.jsx(Q,{icon:"heroicons:pencil-square",className:"mb-0.5"}),onPress:()=>y(o,C??o),"data-testid":`edit-conversation-${o}`,children:"Edit"},"edit"),t.jsx(De,{className:"text-danger mb-0.5",color:"danger",startContent:t.jsx(Q,{icon:"heroicons:trash"}),onPress:()=>r(o),"data-testid":`delete-conversation-${o}`,children:"Delete conversation"},"delete")]})]})]},`${o}-${N}`)})},"conversation-list")]})})}export{co as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-DeNFwA8F.js","assets/index-DNu2TsOm.js","assets/index-CCp8MAsk.css"])))=>i.map(i=>d[i]); +import{r as P,t as ae,k as Xe,Z as W,az as Me,$ as Ze,j as t,q as me,L as xe,_ as Ye,n as ye,T as Pe,s as et,v as R,V as tt,d as X,l as se,aq as Ie,o as ot,H as ke,a9 as rt,J as Ne,aA as at,ac as pe,U as st,X as _e,af as he,aB as nt,aC as lt,ag as it,K as dt,O as be,Q as ct,W as ut,a0 as pt,ah as ft,a2 as K,a3 as Ae,ai as vt,R as ht,aD as bt,a8 as gt,aE as mt,aF as xt,a5 as yt,a as Pt,aw as Ct,i as fe,aG as Ce,aH as ve,D as we,I as Q,as as wt,aI as $t,ay as $e}from"./index-DNu2TsOm.js";import{u as jt,b as St,c as je,d as Dt,e as Mt,m as It,$ as kt,a as Nt}from"./useMenuTriggerState-CU4Xv40t.js";import{$ as _t}from"./useSelectableItem-DetG025q.js";import{i as At}from"./chunk-SSA7SXE4-D6fVQuwx.js";var Ot=(e,r)=>{var n;let s=[];const a=(n=P.Children.map(e,d=>P.isValidElement(d)&&d.type===r?(s.push(d),null):d))==null?void 0:n.filter(Boolean),u=s.length>=0?s:void 0;return[a,u]},Ft=ae({base:["w-full","p-1","min-w-[200px]"]});ae({slots:{base:["flex","group","gap-2","items-center","justify-between","relative","px-2","py-1.5","w-full","h-full","box-border","rounded-small","outline-hidden","cursor-pointer","tap-highlight-transparent","data-[pressed=true]:opacity-70",...Xe,"data-[focus-visible=true]:dark:ring-offset-background-content1"],wrapper:"w-full flex flex-col items-start justify-center",title:"flex-1 text-small font-normal truncate",description:["w-full","text-tiny","text-foreground-500","group-hover:text-current"],selectedIcon:["text-inherit","w-3","h-3","shrink-0"],shortcut:["px-1","py-0.5","rounded-sm","font-sans","text-foreground-500","text-tiny","border-small","border-default-300","group-hover:border-current"]},variants:{variant:{solid:{base:""},bordered:{base:"border-medium border-transparent bg-transparent"},light:{base:"bg-transparent"},faded:{base:"border-small border-transparent hover:border-default data-[hover=true]:bg-default-100"},flat:{base:""},shadow:{base:"data-[hover=true]:shadow-lg"}},color:{default:{},primary:{},secondary:{},success:{},warning:{},danger:{}},isDisabled:{true:{base:"opacity-disabled pointer-events-none"}},disableAnimation:{true:{},false:{}}},defaultVariants:{variant:"solid",color:"default"},compoundVariants:[{variant:"solid",color:"default",class:{base:"data-[hover=true]:bg-default data-[hover=true]:text-default-foreground"}},{variant:"solid",color:"primary",class:{base:"data-[hover=true]:bg-primary data-[hover=true]:text-primary-foreground"}},{variant:"solid",color:"secondary",class:{base:"data-[hover=true]:bg-secondary data-[hover=true]:text-secondary-foreground"}},{variant:"solid",color:"success",class:{base:"data-[hover=true]:bg-success data-[hover=true]:text-success-foreground"}},{variant:"solid",color:"warning",class:{base:"data-[hover=true]:bg-warning data-[hover=true]:text-warning-foreground"}},{variant:"solid",color:"danger",class:{base:"data-[hover=true]:bg-danger data-[hover=true]:text-danger-foreground"}},{variant:"shadow",color:"default",class:{base:"data-[hover=true]:shadow-default/50 data-[hover=true]:bg-default data-[hover=true]:text-default-foreground"}},{variant:"shadow",color:"primary",class:{base:"data-[hover=true]:shadow-primary/30 data-[hover=true]:bg-primary data-[hover=true]:text-primary-foreground"}},{variant:"shadow",color:"secondary",class:{base:"data-[hover=true]:shadow-secondary/30 data-[hover=true]:bg-secondary data-[hover=true]:text-secondary-foreground"}},{variant:"shadow",color:"success",class:{base:"data-[hover=true]:shadow-success/30 data-[hover=true]:bg-success data-[hover=true]:text-success-foreground"}},{variant:"shadow",color:"warning",class:{base:"data-[hover=true]:shadow-warning/30 data-[hover=true]:bg-warning data-[hover=true]:text-warning-foreground"}},{variant:"shadow",color:"danger",class:{base:"data-[hover=true]:shadow-danger/30 data-[hover=true]:bg-danger data-[hover=true]:text-danger-foreground"}},{variant:"bordered",color:"default",class:{base:"data-[hover=true]:border-default"}},{variant:"bordered",color:"primary",class:{base:"data-[hover=true]:border-primary data-[hover=true]:text-primary"}},{variant:"bordered",color:"secondary",class:{base:"data-[hover=true]:border-secondary data-[hover=true]:text-secondary"}},{variant:"bordered",color:"success",class:{base:"data-[hover=true]:border-success data-[hover=true]:text-success"}},{variant:"bordered",color:"warning",class:{base:"data-[hover=true]:border-warning data-[hover=true]:text-warning"}},{variant:"bordered",color:"danger",class:{base:"data-[hover=true]:border-danger data-[hover=true]:text-danger"}},{variant:"flat",color:"default",class:{base:"data-[hover=true]:bg-default/40 data-[hover=true]:text-default-foreground"}},{variant:"flat",color:"primary",class:{base:"data-[hover=true]:bg-primary/20 data-[hover=true]:text-primary"}},{variant:"flat",color:"secondary",class:{base:"data-[hover=true]:bg-secondary/20 data-[hover=true]:text-secondary"}},{variant:"flat",color:"success",class:{base:"data-[hover=true]:bg-success/20 data-[hover=true]:text-success "}},{variant:"flat",color:"warning",class:{base:"data-[hover=true]:bg-warning/20 data-[hover=true]:text-warning"}},{variant:"flat",color:"danger",class:{base:"data-[hover=true]:bg-danger/20 data-[hover=true]:text-danger"}},{variant:"faded",color:"default",class:{base:"data-[hover=true]:text-default-foreground"}},{variant:"faded",color:"primary",class:{base:"data-[hover=true]:text-primary"}},{variant:"faded",color:"secondary",class:{base:"data-[hover=true]:text-secondary"}},{variant:"faded",color:"success",class:{base:"data-[hover=true]:text-success"}},{variant:"faded",color:"warning",class:{base:"data-[hover=true]:text-warning"}},{variant:"faded",color:"danger",class:{base:"data-[hover=true]:text-danger"}},{variant:"light",color:"default",class:{base:"data-[hover=true]:text-default-500"}},{variant:"light",color:"primary",class:{base:"data-[hover=true]:text-primary"}},{variant:"light",color:"secondary",class:{base:"data-[hover=true]:text-secondary"}},{variant:"light",color:"success",class:{base:"data-[hover=true]:text-success"}},{variant:"light",color:"warning",class:{base:"data-[hover=true]:text-warning"}},{variant:"light",color:"danger",class:{base:"data-[hover=true]:text-danger"}}]});ae({slots:{base:"relative mb-2",heading:"pl-1 text-tiny text-foreground-500",group:"data-[has-title=true]:pt-1",divider:"mt-2"}});ae({base:"w-full flex flex-col gap-0.5 p-1"});var Et=(e,r)=>{if(!e&&!r)return{};const n=new Set([...Object.keys(e||{}),...Object.keys(r||{})]);return Array.from(n).reduce((s,a)=>({...s,[a]:W(e?.[a],r?.[a])}),{})},[Tt,Oe]=Me({name:"PopoverContext",errorMessage:"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within ``"}),Se=()=>Ye(()=>import("./index-DeNFwA8F.js"),__vite__mapDeps([0,1,2])).then(e=>e.default),Fe=e=>{const{as:r,children:n,className:s,...a}=e,{Component:u,placement:d,backdrop:h,motionProps:l,disableAnimation:c,getPopoverProps:p,getDialogProps:w,getBackdropProps:b,getContentProps:x,isNonModal:I,onClose:j}=Oe(),f=P.useRef(null),{dialogProps:M,titleProps:D}=Ze({},f),y=w({ref:f,...M,...a}),S=r||u||"div",i=t.jsxs(t.Fragment,{children:[!I&&t.jsx(me,{onDismiss:j}),t.jsx(S,{...y,children:t.jsx("div",{...x({className:s}),children:typeof n=="function"?n(D):n})}),t.jsx(me,{onDismiss:j})]}),v=P.useMemo(()=>h==="transparent"?null:c?t.jsx("div",{...b()}):t.jsx(xe,{features:Se,children:t.jsx(ye.div,{animate:"enter",exit:"exit",initial:"exit",variants:Pe.fade,...b()})}),[h,c,b]),k=d?et(d==="center"?"top":d):void 0,o=t.jsx(t.Fragment,{children:c?i:t.jsx(xe,{features:Se,children:t.jsx(ye.div,{animate:"enter",exit:"exit",initial:"initial",style:k,variants:Pe.scaleSpringOpacity,...l,children:i})})});return t.jsxs("div",{...p(),children:[v,o]})};Fe.displayName="HeroUI.PopoverContent";var Rt=Fe,Ee=e=>{var r;const{triggerRef:n,getTriggerProps:s}=Oe(),{children:a,...u}=e,d=P.useMemo(()=>typeof a=="string"?t.jsx("p",{children:a}):P.Children.only(a),[a]),h=(r=d.props.ref)!=null?r:d.ref,{onPress:l,isDisabled:c,...p}=P.useMemo(()=>s(R(u,d.props),h),[s,d.props,u,h]),[,w]=Ot(a,X),{buttonProps:b}=tt({onPress:l,isDisabled:c},n),x=P.useMemo(()=>w?.[0]!==void 0,[w]);return x||delete p.preventFocusOnPress,P.cloneElement(d,R(p,x?{onPress:l,isDisabled:c}:b))};Ee.displayName="HeroUI.PopoverTrigger";var Ht=Ee,Te=se((e,r)=>{const{children:n,...s}=e,a=jt({...s,ref:r}),[u,d]=P.Children.toArray(n),h=t.jsx(ot,{portalContainer:a.portalContainer,children:d});return t.jsxs(Tt,{value:a,children:[u,a.disableAnimation&&a.isOpen?h:t.jsx(Ie,{children:a.isOpen?h:null})]})});Te.displayName="HeroUI.Popover";var Ut=Te,[Kt,Re]=Me({name:"DropdownContext",errorMessage:"useDropdownContext: `context` is undefined. Seems you forgot to wrap all popover components within ``"});function Bt(e){const{isSelected:r,disableAnimation:n,...s}=e;return t.jsx("svg",{"aria-hidden":"true","data-selected":r,role:"presentation",viewBox:"0 0 17 18",...s,children:t.jsx("polyline",{fill:"none",points:"1 9 7 14 15 4",stroke:"currentColor",strokeDasharray:22,strokeDashoffset:r?44:66,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,style:n?{}:{transition:"stroke-dashoffset 200ms ease"}})})}const He=new WeakMap;function Vt(e,r,n){let{shouldFocusWrap:s=!0,onKeyDown:a,onKeyUp:u,...d}=e;!e["aria-label"]&&e["aria-labelledby"];let h=ke(e,{labelable:!0}),{listProps:l}=rt({...d,ref:n,selectionManager:r.selectionManager,collection:r.collection,disabledKeys:r.disabledKeys,shouldFocusWrap:s,linkBehavior:"override"});return He.set(r,{onClose:e.onClose,onAction:e.onAction,shouldUseVirtualFocus:e.shouldUseVirtualFocus}),{menuProps:Ne(h,{onKeyDown:a,onKeyUp:u},{role:"menu",...l,onKeyDown:c=>{var p;(c.key!=="Escape"||e.shouldUseVirtualFocus)&&((p=l.onKeyDown)===null||p===void 0||p.call(l,c))}})}}function Lt(e,r,n){let{id:s,key:a,closeOnSelect:u,isVirtualized:d,"aria-haspopup":h,onPressStart:l,onPressUp:c,onPress:p,onPressChange:w,onPressEnd:b,onHoverStart:x,onHoverChange:I,onHoverEnd:j,onKeyDown:f,onKeyUp:M,onFocus:D,onFocusChange:y,onBlur:S,selectionManager:i=r.selectionManager}=e,v=!!h,k=v&&e["aria-expanded"]==="true";var o;let C=(o=e.isDisabled)!==null&&o!==void 0?o:i.isDisabled(a);var _;let A=(_=e.isSelected)!==null&&_!==void 0?_:i.isSelected(a),N=He.get(r),g=r.collection.getItem(a),T=e.onClose||N.onClose,B=at(),$=m=>{var J;if(!v){if(!(g==null||(J=g.props)===null||J===void 0)&&J.onAction?g.props.onAction():e.onAction&&e.onAction(a),N.onAction){let ce=N.onAction;ce(a)}m.target instanceof HTMLAnchorElement&&g&&B.open(m.target,m,g.props.href,g.props.routerOptions)}},E="menuitem";v||(i.selectionMode==="single"?E="menuitemradio":i.selectionMode==="multiple"&&(E="menuitemcheckbox"));let O=pe(),H=pe(),q=pe(),V={id:s,"aria-disabled":C||void 0,role:E,"aria-label":e["aria-label"],"aria-labelledby":O,"aria-describedby":[H,q].filter(Boolean).join(" ")||void 0,"aria-controls":e["aria-controls"],"aria-haspopup":h,"aria-expanded":e["aria-expanded"]};i.selectionMode!=="none"&&!v&&(V["aria-checked"]=A),d&&(V["aria-posinset"]=g?.index,V["aria-setsize"]=St(r.collection));let G=m=>{m.pointerType==="keyboard"&&$(m),l?.(m)},Z=()=>{!v&&T&&(u??(i.selectionMode!=="multiple"||i.isLink(a)))&&T()},Y=m=>{m.pointerType==="mouse"&&($(m),Z()),c?.(m)},ne=m=>{m.pointerType!=="keyboard"&&m.pointerType!=="mouse"&&($(m),Z()),p?.(m)},{itemProps:L,isFocused:ee}=_t({id:s,selectionManager:i,key:a,ref:n,shouldSelectOnPressUp:!0,allowsDifferentPressOrigin:!0,linkBehavior:"none",shouldUseVirtualFocus:N.shouldUseVirtualFocus}),{pressProps:le,isPressed:te}=st({onPressStart:G,onPress:ne,onPressUp:Y,onPressChange:w,onPressEnd:b,isDisabled:C}),{hoverProps:ie}=_e({isDisabled:C,onHoverStart(m){!he()&&!(k&&h)&&(i.setFocused(!0),i.setFocusedKey(a)),x?.(m)},onHoverChange:I,onHoverEnd:j}),{keyboardProps:oe}=nt({onKeyDown:m=>{if(m.repeat){m.continuePropagation();return}switch(m.key){case" ":!C&&i.selectionMode==="none"&&!v&&u!==!1&&T&&T();break;case"Enter":!C&&u!==!1&&!v&&T&&T();break;default:v||m.continuePropagation(),f?.(m);break}},onKeyUp:M}),{focusProps:U}=lt({onBlur:S,onFocus:D,onFocusChange:y}),re=ke(g?.props);delete re.id;let de=it(g?.props);return{menuItemProps:{...V,...Ne(re,de,v?{onFocus:L.onFocus,"data-collection":L["data-collection"],"data-key":L["data-key"]}:L,le,ie,oe,U,N.shouldUseVirtualFocus||v?{onMouseDown:m=>m.preventDefault()}:void 0),tabIndex:L.tabIndex!=null&&k&&!N.shouldUseVirtualFocus?-1:L.tabIndex},labelProps:{id:O},descriptionProps:{id:H},keyboardShortcutProps:{id:q},isFocused:ee,isFocusVisible:ee&&i.isFocused&&he()&&!k,isSelected:A,isPressed:te,isDisabled:C}}function zt(e){let{heading:r,"aria-label":n}=e,s=dt();return{itemProps:{role:"presentation"},headingProps:r?{id:s,role:"presentation"}:{},groupProps:{role:"group","aria-label":n,"aria-labelledby":r?s:void 0}}}function Wt(e){var r,n;const s=be(),[a,u]=ct(e,je.variantKeys),{as:d,item:h,state:l,shortcut:c,description:p,startContent:w,endContent:b,isVirtualized:x,selectedIcon:I,className:j,classNames:f,onAction:M,autoFocus:D,onPress:y,onPressStart:S,onPressUp:i,onPressEnd:v,onPressChange:k,onHoverStart:o,onHoverChange:C,onHoverEnd:_,hideSelectedIcon:A=!1,isReadOnly:N=!1,closeOnSelect:g,onClose:T,onClick:B,...$}=a,E=(n=(r=e.disableAnimation)!=null?r:s?.disableAnimation)!=null?n:!1,O=P.useRef(null),H=d||($?.href?"a":"li"),q=typeof H=="string",{rendered:V,key:G}=h,Z=l.disabledKeys.has(G)||e.isDisabled,Y=l.selectionManager.selectionMode!=="none",ne=Dt(),{isFocusVisible:L,focusProps:ee}=ut({autoFocus:D}),le=P.useCallback(F=>{B?.(F),y?.(F)},[B,y]),{isPressed:te,isFocused:ie,isSelected:oe,isDisabled:U,menuItemProps:re,labelProps:de,descriptionProps:m,keyboardShortcutProps:J}=Lt({key:G,onClose:T,isDisabled:Z,onPress:le,onPressStart:S,onPressUp:i,onPressEnd:v,onPressChange:k,"aria-label":a["aria-label"],closeOnSelect:g,isVirtualized:x,onAction:M},l,O);let{hoverProps:ce,isHovered:ge}=_e({isDisabled:U,onHoverStart(F){he()||(l.selectionManager.setFocused(!0),l.selectionManager.setFocusedKey(G)),o?.(F)},onHoverChange:C,onHoverEnd:_}),ue=re;const z=P.useMemo(()=>je({...u,isDisabled:U,disableAnimation:E,hasTitleTextChild:typeof V=="string",hasDescriptionTextChild:typeof p=="string"}),[pt(u),U,E,V,p]),ze=W(f?.base,j);N&&(ue=ft(ue));const We=(F={})=>({ref:O,...R(N?{}:ee,Ae($,{enabled:q}),ue,ce,F),"data-focus":K(ie),"data-selectable":K(Y),"data-hover":K(ne?ge||te:ge),"data-disabled":K(U),"data-selected":K(oe),"data-pressed":K(te),"data-focus-visible":K(L),className:z.base({class:W(ze,F.className)})}),qe=(F={})=>({...R(de,F),className:z.title({class:f?.title})}),Ge=(F={})=>({...R(m,F),className:z.description({class:f?.description})}),Je=(F={})=>({...R(J,F),className:z.shortcut({class:f?.shortcut})}),Qe=P.useCallback((F={})=>({"aria-hidden":K(!0),"data-disabled":K(U),className:z.selectedIcon({class:f?.selectedIcon}),...F}),[U,z,f]);return{Component:H,domRef:O,slots:z,classNames:f,isSelectable:Y,isSelected:oe,isDisabled:U,rendered:V,shortcut:c,description:p,startContent:w,endContent:b,selectedIcon:I,disableAnimation:E,getItemProps:We,getLabelProps:qe,hideSelectedIcon:A,getDescriptionProps:Ge,getKeyboardShortcutProps:Je,getSelectedIconProps:Qe}}var Ue=e=>{const{Component:r,slots:n,classNames:s,rendered:a,shortcut:u,description:d,isSelectable:h,isSelected:l,isDisabled:c,selectedIcon:p,startContent:w,endContent:b,disableAnimation:x,hideSelectedIcon:I,getItemProps:j,getLabelProps:f,getDescriptionProps:M,getKeyboardShortcutProps:D,getSelectedIconProps:y}=Wt(e),S=P.useMemo(()=>{const i=t.jsx(Bt,{disableAnimation:x,isSelected:l});return typeof p=="function"?p({icon:i,isSelected:l,isDisabled:c}):p||i},[p,l,c,x]);return t.jsxs(r,{...j(),children:[w,d?t.jsxs("div",{className:n.wrapper({class:s?.wrapper}),children:[t.jsx("span",{...f(),children:a}),t.jsx("span",{...M(),children:d})]}):t.jsx("span",{...f(),children:a}),u&&t.jsx("kbd",{...D(),children:u}),h&&!I&&t.jsx("span",{...y(),children:S}),b]})};Ue.displayName="HeroUI.MenuItem";var Ke=Ue,Be=se(({item:e,state:r,as:n,variant:s,color:a,disableAnimation:u,onAction:d,closeOnSelect:h,className:l,classNames:c,showDivider:p=!1,hideSelectedIcon:w,dividerProps:b={},itemClasses:x,title:I,...j},f)=>{const M=n||"li",D=P.useMemo(()=>Mt(),[]),y=W(c?.base,l),S=W(c?.divider,b?.className),{itemProps:i,headingProps:v,groupProps:k}=zt({heading:e.rendered,"aria-label":e["aria-label"]});return t.jsxs(M,{"data-slot":"base",...R(i,j),className:D.base({class:y}),children:[e.rendered&&t.jsx("span",{...v,className:D.heading({class:c?.heading}),"data-slot":"heading",children:e.rendered}),t.jsxs("ul",{...k,className:D.group({class:c?.group}),"data-has-title":!!e.rendered,"data-slot":"group",children:[[...e.childNodes].map(o=>{const{key:C,props:_}=o;let A=t.jsx(Ke,{classNames:x,closeOnSelect:h,color:a,disableAnimation:u,hideSelectedIcon:w,item:o,state:r,variant:s,onAction:d,..._},C);return o.wrapper&&(A=o.wrapper(A)),A}),p&&t.jsx(vt,{as:"li",className:D.divider({class:S}),...b})]})]})});Be.displayName="HeroUI.MenuSection";var qt=Be;function Gt(e){var r;const n=be(),{as:s,ref:a,variant:u,color:d,children:h,disableAnimation:l=(r=n?.disableAnimation)!=null?r:!1,onAction:c,closeOnSelect:p,itemClasses:w,className:b,state:x,topContent:I,bottomContent:j,hideEmptyContent:f=!1,hideSelectedIcon:M=!1,emptyContent:D="No items.",menuProps:y,onClose:S,classNames:i,...v}=e,k=s||"ul",o=ht(a),C=typeof k=="string",_=bt({...v,...y,children:h}),A=x||_,{menuProps:N}=Vt({...v,...y,onAction:c},A,o),g=P.useMemo(()=>It({className:b}),[b]),T=W(i?.base,b);return{Component:k,state:A,variant:u,color:d,disableAnimation:l,onClose:S,topContent:I,bottomContent:j,closeOnSelect:p,className:b,itemClasses:w,getBaseProps:(O={})=>({ref:o,"data-slot":"base",className:g.base({class:T}),...Ae(v,{enabled:C}),...O}),getListProps:(O={})=>({"data-slot":"list",className:g.list({class:i?.list}),...N,...O}),hideEmptyContent:f,hideSelectedIcon:M,getEmptyContentProps:(O={})=>({children:D,className:g.emptyContent({class:i?.emptyContent}),...O})}}var Jt=se(function(r,n){const{Component:s,state:a,closeOnSelect:u,color:d,disableAnimation:h,hideSelectedIcon:l,hideEmptyContent:c,variant:p,onClose:w,topContent:b,bottomContent:x,itemClasses:I,getBaseProps:j,getListProps:f,getEmptyContentProps:M}=Gt({...r,ref:n}),D=t.jsxs(s,{...f(),children:[!a.collection.size&&!c&&t.jsx("li",{children:t.jsx("div",{...M()})}),[...a.collection].map(y=>{const S={closeOnSelect:u,color:d,disableAnimation:h,item:y,state:a,variant:p,onClose:w,hideSelectedIcon:l,...y.props},i=Et(I,S?.classNames);if(y.type==="section")return t.jsx(qt,{...S,itemClasses:i},y.key);let v=t.jsx(Ke,{...S,classNames:i},y.key);return y.wrapper&&(v=y.wrapper(v)),v})]});return t.jsxs("div",{...j(),children:[b,D,x]})}),Qt=Jt,Xt=gt,De=Xt,Zt=se(function(r,n){const{getMenuProps:s}=Re();return t.jsx(Rt,{children:t.jsx(mt,{contain:!0,restoreFocus:!0,children:t.jsx(Qt,{...s(r,n)})})})}),Yt=Zt,Ve=e=>{const{getMenuTriggerProps:r}=Re(),{children:n,...s}=e;return t.jsx(Ht,{...r(s),children:n})};Ve.displayName="HeroUI.DropdownTrigger";var eo=Ve,to=(e,r)=>{if(e){const n=Array.isArray(e.children)?e.children:[...e?.items||[]];if(n&&n.length)return n.find(a=>{if(a&&a.key===r)return a})||{}}return null},oo=(e,r,n)=>{const s=n||to(e,r);return s&&s.props&&"closeOnSelect"in s.props?s.props.closeOnSelect:e?.closeOnSelect};function ro(e){var r;const n=be(),{as:s,triggerRef:a,isOpen:u,defaultOpen:d,onOpenChange:h,isDisabled:l,type:c="menu",trigger:p="press",placement:w="bottom",closeOnSelect:b=!0,shouldBlockScroll:x=!0,classNames:I,disableAnimation:j=(r=n?.disableAnimation)!=null?r:!1,onClose:f,className:M,...D}=e,y=s||"div",S=P.useRef(null),i=a||S,v=P.useRef(null),k=P.useRef(null),o=kt({trigger:p,isOpen:u,defaultOpen:d,onOpenChange:$=>{h?.($),$||f?.()}}),{menuTriggerProps:C,menuProps:_}=Nt({type:c,trigger:p,isDisabled:l},o,i),A=P.useMemo(()=>Ft({className:M}),[M]),N=$=>{$!==void 0&&!$||b&&o.close()},g=($={})=>{const E=R(D,$);return{state:o,placement:w,ref:k,disableAnimation:j,shouldBlockScroll:x,scrollRef:v,triggerRef:i,...E,classNames:{...I,...$.classNames,content:W(A,I?.content,$.className)}}},T=($={})=>{const{onPress:E,onPressStart:O,...H}=C;return R(H,{isDisabled:l},$)},B=($,E=null)=>({ref:xt(E,v),menuProps:_,closeOnSelect:b,...R($,{onAction:(O,H)=>{const q=oo($,O,H);N(q)},onClose:o.close})});return{Component:y,menuRef:v,menuProps:_,closeOnSelect:b,onClose:o.close,autoFocus:o.focusStrategy||!0,disableAnimation:j,getPopoverProps:g,getMenuProps:B,getMenuTriggerProps:T}}var Le=e=>{const{children:r,...n}=e,s=ro(n),[a,u]=yt.Children.toArray(r);return t.jsx(Kt,{value:s,children:t.jsxs(Ut,{...s.getPopoverProps(),children:[a,u]})})};Le.displayName="HeroUI.Dropdown";var ao=Le;function co(){const{selectConversation:e,deleteConversation:r,newConversation:n,setConversationProperties:s}=Pt(),a=Ct(),u=fe(Ce(o=>Object.keys(o.conversations).reverse())),d=fe(Ce(o=>Object.values(o.conversations).reverse().map(C=>C.summary))),h=fe(o=>o.currentConversation),[l,c]=P.useState(!1),[p,w]=P.useState(null),[b,x]=P.useState(""),[I,j]=P.useState(!1),f=P.useRef(null),M=l?"Open sidebar":"Close sidebar",D=t.jsx(Q,{icon:"heroicons:pencil-square"}),y=(o,C)=>{w(o),x(C??""),j(!0),setTimeout(()=>{f.current?.focus?.(),setTimeout(()=>j(!1),120)},0)},S=o=>{if(p!==o)return;const C=(b||"").trim();C&&s(o,{summary:C}),w(null),x(""),j(!1)},i=()=>{w(null),x(""),j(!1)},v=()=>{const o=n();a($e(o))},k=o=>{e(o),a($e(o))};return t.jsx(ve.div,{initial:!1,animate:{maxWidth:l?"4.5rem":"16rem"},className:"rounded-l-medium border-small border-divider ml-4 flex h-full w-full min-w-[4.5rem] flex-grow flex-col space-y-2 overflow-hidden border-r-0 p-4 py-3",children:t.jsxs(Ie,{children:[t.jsx(we,{content:M,placement:"bottom",children:t.jsx(X,{isIconOnly:!0,"aria-label":M,variant:"ghost",onPress:()=>c(o=>!o),"data-testid":"chat-history-collapse-button",className:"ml-auto",children:t.jsx(Q,{icon:l?"heroicons:chevron-double-right":"heroicons:chevron-double-left"})})},"collapse-button"),!l&&t.jsx(ve.p,{initial:!1,animate:{opacity:1,width:"100%",height:"auto"},exit:{opacity:0,width:0,height:0,marginBottom:0},className:"text-small text-foreground truncate leading-5 font-semibold",children:"Conversations"},"conversations"),t.jsx(we,{content:"New conversation",placement:"right",children:t.jsx(X,{"aria-label":"New conversation",variant:"ghost",onPress:v,"data-testid":"chat-history-clear-chat-button",startContent:D,isIconOnly:l,children:!l&&"New conversation"})},"new-conversation-button"),!l&&t.jsx(ve.div,{className:"mt-2 flex flex-1 flex-col gap-2 overflow-auto overflow-x-hidden",initial:!1,animate:{opacity:1,width:"100%"},exit:{opacity:0,width:0},children:wt.zip(u,d).map(([o,C])=>{if(!o||$t(o))return null;const _=o===h,A=o===p,N=_?"solid":"light";return t.jsxs("div",{className:"flex w-full justify-between gap-2",children:[A?t.jsx(At,{ref:f,size:"sm",variant:"bordered",value:b,onChange:g=>x(g.target.value),onBlur:()=>{I||S(o)},onKeyDown:g=>{g.key==="Enter"&&S(o),g.key==="Escape"&&i()},className:"flex-1","data-testid":`input-conversation-${o}`}):t.jsx(X,{variant:N,"aria-label":`Select conversation ${o}`,"data-active":_,onPress:()=>k(o),title:C??o,"data-testid":`select-conversation-${o}`,className:"flex-1 justify-start",children:t.jsx("div",{className:"text-small truncate",children:C??o})}),t.jsxs(ao,{children:[t.jsx(eo,{children:t.jsx(X,{isIconOnly:!0,variant:"light","aria-label":`Conversation actions for ${o}`,"data-testid":`dropdown-conversation-${o}`,children:t.jsx(Q,{icon:"heroicons:ellipsis-vertical",className:"rotate-90"})})}),t.jsxs(Yt,{"aria-label":"Conversation actions",children:[t.jsx(De,{startContent:t.jsx(Q,{icon:"heroicons:pencil-square",className:"mb-0.5"}),onPress:()=>y(o,C??o),"data-testid":`edit-conversation-${o}`,children:"Edit"},"edit"),t.jsx(De,{className:"text-danger mb-0.5",color:"danger",startContent:t.jsx(Q,{icon:"heroicons:trash"}),onPress:()=>r(o),"data-testid":`delete-conversation-${o}`,children:"Delete conversation"},"delete")]})]})]},`${o}-${N}`)})},"conversation-list")]})})}export{co as default}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ChatOptionsForm-BEC_XLbA.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ChatOptionsForm-DbKsf1AU.js similarity index 94% rename from packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ChatOptionsForm-BEC_XLbA.js rename to packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ChatOptionsForm-DbKsf1AU.js index 7b678ba24..68d1e4c6b 100644 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ChatOptionsForm-BEC_XLbA.js +++ b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ChatOptionsForm-DbKsf1AU.js @@ -1 +1 @@ -import{g as z,r as f,u as ie,h as ce,a as ue,i as le,b as fe,p as Y,C as Q,j as l,D as de,d as A,I as me,m as ge,e as he,f as pe}from"./index-Ci_ePHVC.js";import{g as Z,v as W,F as ve,t as be}from"./index-Tw3ZTClg.js";import{m as Se}from"./chunk-IGSAU2ZA-DjYyfgzO.js";import"./chunk-SSA7SXE4-D40yC7h_.js";import"./useMenuTriggerState-Bwuv-o1-.js";import"./useSelectableItem-7F1UMn-T.js";import"./index-BPYsLlVK.js";var B,V;function xe(){if(V)return B;V=1;var n="Expected a function",t=NaN,s="[object Symbol]",m=/^\s+|\s+$/g,g=/^[-+]0x[0-9a-f]+$/i,h=/^0b[01]+$/i,i=/^0o[0-7]+$/i,b=parseInt,S=typeof z=="object"&&z&&z.Object===Object&&z,y=typeof self=="object"&&self&&self.Object===Object&&self,C=S||y||Function("return this")(),d=Object.prototype,r=d.toString,c=Math.max,O=Math.min,E=function(){return C.Date.now()};function $(e,u,v){var T,L,P,I,p,j,R=0,G=!1,D=!1,k=!0;if(typeof e!="function")throw new TypeError(n);u=q(u)||0,_(v)&&(G=!!v.leading,D="maxWait"in v,P=D?c(q(v.maxWait)||0,u):P,k="trailing"in v?!!v.trailing:k);function H(o){var x=T,F=L;return T=L=void 0,R=o,I=e.apply(F,x),I}function re(o){return R=o,p=setTimeout(N,u),G?H(o):I}function oe(o){var x=o-j,F=o-R,X=u-x;return D?O(X,P-F):X}function U(o){var x=o-j,F=o-R;return j===void 0||x>=u||x<0||D&&F>=P}function N(){var o=E();if(U(o))return K(o);p=setTimeout(N,oe(o))}function K(o){return p=void 0,k&&T?H(o):(T=L=void 0,I)}function se(){p!==void 0&&clearTimeout(p),R=0,T=j=L=p=void 0}function ae(){return p===void 0?I:K(E())}function M(){var o=E(),x=U(o);if(T=arguments,L=this,j=o,x){if(p===void 0)return re(j);if(D)return p=setTimeout(N,u),H(j)}return p===void 0&&(p=setTimeout(N,u)),I}return M.cancel=se,M.flush=ae,M}function _(e){var u=typeof e;return!!e&&(u=="object"||u=="function")}function a(e){return!!e&&typeof e=="object"}function w(e){return typeof e=="symbol"||a(e)&&r.call(e)==s}function q(e){if(typeof e=="number")return e;if(w(e))return t;if(_(e)){var u=typeof e.valueOf=="function"?e.valueOf():e;e=_(u)?u+"":u}if(typeof e!="string")return e===0?e:+e;e=e.replace(m,"");var v=h.test(e);return v||i.test(e)?b(e.slice(2),v?2:8):g.test(e)?t:+e}return B=$,B}xe();var ne=typeof window<"u"?f.useLayoutEffect:f.useEffect;function ee(n,t,s,m){const g=f.useRef(t);ne(()=>{g.current=t},[t]),f.useEffect(()=>{const h=window;if(!(h&&h.addEventListener))return;const i=b=>{g.current(b)};return h.addEventListener(n,i,m),()=>{h.removeEventListener(n,i,m)}},[n,s,m])}function te(n){const t=f.useRef(()=>{throw new Error("Cannot call an event handler while rendering.")});return ne(()=>{t.current=n},[n]),f.useCallback((...s)=>{var m;return(m=t.current)==null?void 0:m.call(t,...s)},[t])}var J=typeof window>"u";function ye(n,t,s={}){const{initializeWithValue:m=!0}=s,g=f.useCallback(r=>s.serializer?s.serializer(r):JSON.stringify(r),[s]),h=f.useCallback(r=>{if(s.deserializer)return s.deserializer(r);if(r==="undefined")return;const c=t instanceof Function?t():t;let O;try{O=JSON.parse(r)}catch(E){return console.error("Error parsing JSON:",E),c}return O},[s,t]),i=f.useCallback(()=>{const r=t instanceof Function?t():t;if(J)return r;try{const c=window.localStorage.getItem(n);return c?h(c):r}catch(c){return console.warn(`Error reading localStorage key “${n}”:`,c),r}},[t,n,h]),[b,S]=f.useState(()=>m?i():t instanceof Function?t():t),y=te(r=>{J&&console.warn(`Tried setting localStorage key “${n}” even though environment is not a client`);try{const c=r instanceof Function?r(i()):r;window.localStorage.setItem(n,g(c)),S(c),window.dispatchEvent(new StorageEvent("local-storage",{key:n}))}catch(c){console.warn(`Error setting localStorage key “${n}”:`,c)}}),C=te(()=>{J&&console.warn(`Tried removing localStorage key “${n}” even though environment is not a client`);const r=t instanceof Function?t():t;window.localStorage.removeItem(n),S(r),window.dispatchEvent(new StorageEvent("local-storage",{key:n}))});f.useEffect(()=>{S(i())},[n]);const d=f.useCallback(r=>{r.key&&r.key!==n||S(i())},[n,i]);return ee("storage",d),ee("local-storage",d),[b,y,C]}const Ce="ragbits-no-history-chat-options";function Le(){const{isOpen:n,onOpen:t,onClose:s}=ie(),m=ce(a=>a.chatOptions),g=f.useRef(null),{setConversationProperties:h,initializeChatOptions:i}=ue(),b=le(a=>a.currentConversation),{config:{user_settings:S}}=fe(),[y,C]=ye(Ce,null),d=S?.form,r=a=>{Y.isPluginActivated(Q.name)||C(a)},c=()=>{t()},O=(a,w)=>{w.preventDefault(),g.current=a.formData,s()},E=()=>{if(!d)return;const a=Z(W,d);g.current=a,s()},$=()=>{s()},_=a=>{if(a!=="exit"||!g.current)return;const w=g.current;h(b,{chatOptions:w}),r(w),g.current=null};return f.useEffect(()=>{if(!d)return;const a=Z(W,d);Y.isPluginActivated(Q.name)?i(a):y!==null?i(y):(i(a),C(a))},[i,d,b,y,C]),d?l.jsxs(l.Fragment,{children:[l.jsx(de,{content:"Chat Options",placement:"bottom",children:l.jsx(A,{isIconOnly:!0,variant:"ghost",className:"p-0","aria-label":"Open chat options",onPress:c,"data-testid":"open-chat-options",children:l.jsx(me,{icon:"heroicons:cog-6-tooth"})})}),l.jsx(ge,{isOpen:n,onOpenChange:$,motionProps:{onAnimationComplete:_},children:l.jsxs(he,{children:[l.jsx(Se,{className:"text-default-900 flex flex-col gap-1",children:d.title||"Chat Options"}),l.jsx(pe,{children:l.jsx("div",{className:"flex flex-col gap-4",children:l.jsx(ve,{schema:d,validator:W,formData:m,onSubmit:O,transformErrors:be,liveValidate:!0,children:l.jsxs("div",{className:"flex justify-end gap-4 py-4",children:[l.jsx(A,{className:"mr-auto",color:"primary",variant:"light",onPress:E,"aria-label":"Restore default user settings",children:"Restore defaults"}),l.jsx(A,{color:"danger",variant:"light",onPress:s,"aria-label":"Close chat options form",children:"Cancel"}),l.jsx(A,{color:"primary",type:"submit","aria-label":"Save chat options","data-testid":"chat-options-submit",children:"Save"})]})})})})]})})]}):null}export{Le as default}; +import{g as z,r as f,u as ie,h as ce,a as ue,i as le,b as fe,p as Y,C as Q,j as l,D as de,d as A,I as me,m as ge,e as he,f as pe}from"./index-DNu2TsOm.js";import{g as Z,v as W,F as ve,t as be}from"./index-DbiSVs7t.js";import{m as Se}from"./chunk-IGSAU2ZA-PiNlOBXE.js";import"./chunk-SSA7SXE4-D6fVQuwx.js";import"./useMenuTriggerState-CU4Xv40t.js";import"./useSelectableItem-DetG025q.js";import"./index-Blcoag_7.js";var B,V;function xe(){if(V)return B;V=1;var n="Expected a function",t=NaN,s="[object Symbol]",m=/^\s+|\s+$/g,g=/^[-+]0x[0-9a-f]+$/i,h=/^0b[01]+$/i,i=/^0o[0-7]+$/i,b=parseInt,S=typeof z=="object"&&z&&z.Object===Object&&z,y=typeof self=="object"&&self&&self.Object===Object&&self,C=S||y||Function("return this")(),d=Object.prototype,r=d.toString,c=Math.max,O=Math.min,E=function(){return C.Date.now()};function $(e,u,v){var T,L,P,I,p,j,R=0,G=!1,D=!1,k=!0;if(typeof e!="function")throw new TypeError(n);u=q(u)||0,_(v)&&(G=!!v.leading,D="maxWait"in v,P=D?c(q(v.maxWait)||0,u):P,k="trailing"in v?!!v.trailing:k);function H(o){var x=T,F=L;return T=L=void 0,R=o,I=e.apply(F,x),I}function re(o){return R=o,p=setTimeout(N,u),G?H(o):I}function oe(o){var x=o-j,F=o-R,X=u-x;return D?O(X,P-F):X}function U(o){var x=o-j,F=o-R;return j===void 0||x>=u||x<0||D&&F>=P}function N(){var o=E();if(U(o))return K(o);p=setTimeout(N,oe(o))}function K(o){return p=void 0,k&&T?H(o):(T=L=void 0,I)}function se(){p!==void 0&&clearTimeout(p),R=0,T=j=L=p=void 0}function ae(){return p===void 0?I:K(E())}function M(){var o=E(),x=U(o);if(T=arguments,L=this,j=o,x){if(p===void 0)return re(j);if(D)return p=setTimeout(N,u),H(j)}return p===void 0&&(p=setTimeout(N,u)),I}return M.cancel=se,M.flush=ae,M}function _(e){var u=typeof e;return!!e&&(u=="object"||u=="function")}function a(e){return!!e&&typeof e=="object"}function w(e){return typeof e=="symbol"||a(e)&&r.call(e)==s}function q(e){if(typeof e=="number")return e;if(w(e))return t;if(_(e)){var u=typeof e.valueOf=="function"?e.valueOf():e;e=_(u)?u+"":u}if(typeof e!="string")return e===0?e:+e;e=e.replace(m,"");var v=h.test(e);return v||i.test(e)?b(e.slice(2),v?2:8):g.test(e)?t:+e}return B=$,B}xe();var ne=typeof window<"u"?f.useLayoutEffect:f.useEffect;function ee(n,t,s,m){const g=f.useRef(t);ne(()=>{g.current=t},[t]),f.useEffect(()=>{const h=window;if(!(h&&h.addEventListener))return;const i=b=>{g.current(b)};return h.addEventListener(n,i,m),()=>{h.removeEventListener(n,i,m)}},[n,s,m])}function te(n){const t=f.useRef(()=>{throw new Error("Cannot call an event handler while rendering.")});return ne(()=>{t.current=n},[n]),f.useCallback((...s)=>{var m;return(m=t.current)==null?void 0:m.call(t,...s)},[t])}var J=typeof window>"u";function ye(n,t,s={}){const{initializeWithValue:m=!0}=s,g=f.useCallback(r=>s.serializer?s.serializer(r):JSON.stringify(r),[s]),h=f.useCallback(r=>{if(s.deserializer)return s.deserializer(r);if(r==="undefined")return;const c=t instanceof Function?t():t;let O;try{O=JSON.parse(r)}catch(E){return console.error("Error parsing JSON:",E),c}return O},[s,t]),i=f.useCallback(()=>{const r=t instanceof Function?t():t;if(J)return r;try{const c=window.localStorage.getItem(n);return c?h(c):r}catch(c){return console.warn(`Error reading localStorage key “${n}”:`,c),r}},[t,n,h]),[b,S]=f.useState(()=>m?i():t instanceof Function?t():t),y=te(r=>{J&&console.warn(`Tried setting localStorage key “${n}” even though environment is not a client`);try{const c=r instanceof Function?r(i()):r;window.localStorage.setItem(n,g(c)),S(c),window.dispatchEvent(new StorageEvent("local-storage",{key:n}))}catch(c){console.warn(`Error setting localStorage key “${n}”:`,c)}}),C=te(()=>{J&&console.warn(`Tried removing localStorage key “${n}” even though environment is not a client`);const r=t instanceof Function?t():t;window.localStorage.removeItem(n),S(r),window.dispatchEvent(new StorageEvent("local-storage",{key:n}))});f.useEffect(()=>{S(i())},[n]);const d=f.useCallback(r=>{r.key&&r.key!==n||S(i())},[n,i]);return ee("storage",d),ee("local-storage",d),[b,y,C]}const Ce="ragbits-no-history-chat-options";function Le(){const{isOpen:n,onOpen:t,onClose:s}=ie(),m=ce(a=>a.chatOptions),g=f.useRef(null),{setConversationProperties:h,initializeChatOptions:i}=ue(),b=le(a=>a.currentConversation),{config:{user_settings:S}}=fe(),[y,C]=ye(Ce,null),d=S?.form,r=a=>{Y.isPluginActivated(Q.name)||C(a)},c=()=>{t()},O=(a,w)=>{w.preventDefault(),g.current=a.formData,s()},E=()=>{if(!d)return;const a=Z(W,d);g.current=a,s()},$=()=>{s()},_=a=>{if(a!=="exit"||!g.current)return;const w=g.current;h(b,{chatOptions:w}),r(w),g.current=null};return f.useEffect(()=>{if(!d)return;const a=Z(W,d);Y.isPluginActivated(Q.name)?i(a):y!==null?i(y):(i(a),C(a))},[i,d,b,y,C]),d?l.jsxs(l.Fragment,{children:[l.jsx(de,{content:"Chat Options",placement:"bottom",children:l.jsx(A,{isIconOnly:!0,variant:"ghost",className:"p-0","aria-label":"Open chat options",onPress:c,"data-testid":"open-chat-options",children:l.jsx(me,{icon:"heroicons:cog-6-tooth"})})}),l.jsx(ge,{isOpen:n,onOpenChange:$,motionProps:{onAnimationComplete:_},children:l.jsxs(he,{children:[l.jsx(Se,{className:"text-default-900 flex flex-col gap-1",children:d.title||"Chat Options"}),l.jsx(pe,{children:l.jsx("div",{className:"flex flex-col gap-4",children:l.jsx(ve,{schema:d,validator:W,formData:m,onSubmit:O,transformErrors:be,liveValidate:!0,children:l.jsxs("div",{className:"flex justify-end gap-4 py-4",children:[l.jsx(A,{className:"mr-auto",color:"primary",variant:"light",onPress:E,"aria-label":"Restore default user settings",children:"Restore defaults"}),l.jsx(A,{color:"danger",variant:"light",onPress:s,"aria-label":"Close chat options form",children:"Cancel"}),l.jsx(A,{color:"primary",type:"submit","aria-label":"Save chat options","data-testid":"chat-options-submit",children:"Save"})]})})})})]})})]}):null}export{Le as default}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/CredentialsLogin-CpN5um5k.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/CredentialsLogin-BqD_czDR.js similarity index 78% rename from packages/ragbits-chat/src/ragbits/chat/ui-build/assets/CredentialsLogin-CpN5um5k.js rename to packages/ragbits-chat/src/ragbits/chat/ui-build/assets/CredentialsLogin-BqD_czDR.js index 257d5f3d1..38b16bbbf 100644 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/CredentialsLogin-CpN5um5k.js +++ b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/CredentialsLogin-BqD_czDR.js @@ -1 +1 @@ -import{r as c,c as x,aV as w,av as S,j as t,aq as b,aG as v,d as j,bu as C}from"./index-Ci_ePHVC.js";import{a as P}from"./authStore-Bmpxc0WJ.js";import{u as q}from"./useInitializeUserStore-4OnvEn5p.js";import{i as m}from"./chunk-SSA7SXE4-D40yC7h_.js";function E(){const[s,p]=c.useState({username:"",password:""}),l=x("/api/auth/login",{headers:{"Content-Type":"application/json"},method:"POST"}),f=w(P,e=>e.login),g=S(),u=q(),[y,o]=c.useState(!1),h=async e=>{o(!1),e.preventDefault(),e.stopPropagation();const r=new FormData(e.currentTarget),n=r.get("username"),i=r.get("password");try{const a=await l.call({body:{username:n,password:i}});if(!a.success||!a.user){o(!0);return}f(a.user),u?u(a.user.user_id):console.error("Failed to initialize store for user, initializeUserStore() is not defined. Check current HistoryStoreContextProvider implementation."),g("/")}catch(a){console.error("Failed to login",a),o(!0)}},d=e=>r=>p(n=>C(n,i=>{i[e]=r.target.value}));return t.jsxs("form",{className:"flex w-full flex-col gap-4",onSubmit:h,children:[t.jsx(m,{label:"Username",name:"username",labelPlacement:"outside",placeholder:"Your username",required:!0,isRequired:!0,value:s.username,onChange:d("username")}),t.jsx(m,{label:"Password",labelPlacement:"outside",id:"password",name:"password",type:"password",placeholder:"••••••••",required:!0,isRequired:!0,value:s.password,onChange:d("password")}),t.jsx(b,{children:y&&!l.isLoading&&t.jsx(v.div,{className:"text-small text-danger",initial:{opacity:0,y:-10},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},transition:{duration:.3,ease:"easeOut"},children:"We couldn't sign you in. Please verify your credentials and try again."})}),t.jsx(j,{type:"submit",color:s.password&&s.username?"primary":"default",children:"Sign in"})]})}export{E as default}; +import{r as c,c as x,aW as w,aw as S,j as t,aq as b,aH as j,d as v,bm as C}from"./index-DNu2TsOm.js";import{a as P}from"./authStore-BCKvtahF.js";import{u as q}from"./useInitializeUserStore-BGPV4Be6.js";import{i as m}from"./chunk-SSA7SXE4-D6fVQuwx.js";function E(){const[s,p]=c.useState({username:"",password:""}),l=x("/api/auth/login",{headers:{"Content-Type":"application/json"},method:"POST"}),f=w(P,e=>e.login),g=S(),u=q(),[y,o]=c.useState(!1),h=async e=>{o(!1),e.preventDefault(),e.stopPropagation();const r=new FormData(e.currentTarget),n=r.get("username"),i=r.get("password");try{const a=await l.call({body:{username:n,password:i}});if(!a.success||!a.user){o(!0);return}f(a.user),u?u(a.user.user_id):console.error("Failed to initialize store for user, initializeUserStore() is not defined. Check current HistoryStoreContextProvider implementation."),g("/")}catch(a){console.error("Failed to login",a),o(!0)}},d=e=>r=>p(n=>C(n,i=>{i[e]=r.target.value}));return t.jsxs("form",{className:"flex w-full flex-col gap-4",onSubmit:h,children:[t.jsx(m,{label:"Username",name:"username",labelPlacement:"outside",placeholder:"Your username",required:!0,isRequired:!0,value:s.username,onChange:d("username")}),t.jsx(m,{label:"Password",labelPlacement:"outside",id:"password",name:"password",type:"password",placeholder:"••••••••",required:!0,isRequired:!0,value:s.password,onChange:d("password")}),t.jsx(b,{children:y&&!l.isLoading&&t.jsx(j.div,{className:"text-small text-danger",initial:{opacity:0,y:-10},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},transition:{duration:.3,ease:"easeOut"},children:"We couldn't sign you in. Please verify your credentials and try again."})}),t.jsx(v,{type:"submit",color:s.password&&s.username?"primary":"default",children:"Sign in"})]})}export{E as default}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/FeedbackForm-Vbmy7JJP.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/FeedbackForm-CLzmpISW.js similarity index 86% rename from packages/ragbits-chat/src/ragbits/chat/ui-build/assets/FeedbackForm-Vbmy7JJP.js rename to packages/ragbits-chat/src/ragbits/chat/ui-build/assets/FeedbackForm-CLzmpISW.js index b6960444c..1f1c6288b 100644 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/FeedbackForm-Vbmy7JJP.js +++ b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/FeedbackForm-CLzmpISW.js @@ -1 +1 @@ -import{u as g,a as v,b as C,r as _,F as t,c as I,j as e,D as u,d as n,I as b,m as T,e as w,f as D}from"./index-Ci_ePHVC.js";import{F as O,t as S,v as E}from"./index-Tw3ZTClg.js";import{m as N}from"./chunk-IGSAU2ZA-DjYyfgzO.js";import"./chunk-SSA7SXE4-D40yC7h_.js";import"./useMenuTriggerState-Bwuv-o1-.js";import"./useSelectableItem-7F1UMn-T.js";import"./index-BPYsLlVK.js";function z({message:s}){const{isOpen:f,onOpen:h,onClose:r}=g(),{mergeExtensions:p}=v(),{config:{feedback:o}}=C(),[i,x]=_.useState(t.Like),k=I("/api/feedback",{headers:{"Content-Type":"application/json"},method:"POST"});if(!s.serverId)return null;const l=o[i].form,j=()=>{r()},c=async a=>{if(!s.serverId)throw new Error('Feedback is only available for messages with "serverId" set');try{await k.call({body:{message_id:s.serverId,feedback:i,payload:a??{}}})}catch(F){console.error(F)}},y=a=>{p(s.id,{feedbackType:i}),c(a.formData),r()},d=async a=>{if(x(a),o[a].form===null){await c(null);return}h()};if(!l)return null;const m=s.extensions?.feedbackType;return e.jsxs(e.Fragment,{children:[o.like.enabled&&e.jsx(u,{content:"Like",placement:"bottom",children:e.jsx(n,{isIconOnly:!0,variant:"ghost",className:"p-0","aria-label":"Rate message as helpful",onPress:()=>d(t.Like),"data-testid":"feedback-like",children:e.jsx(b,{icon:m===t.Like?"heroicons:hand-thumb-up-solid":"heroicons:hand-thumb-up"})})}),o.dislike.enabled&&e.jsx(u,{content:"Dislike",placement:"bottom",children:e.jsx(n,{isIconOnly:!0,variant:"ghost",className:"p-0","aria-label":"Rate message as unhelpful",onPress:()=>d(t.Dislike),"data-testid":"feedback-dislike",children:e.jsx(b,{icon:m===t.Dislike?"heroicons:hand-thumb-down-solid":"heroicons:hand-thumb-down"})})}),e.jsx(T,{isOpen:f,onOpenChange:j,children:e.jsx(w,{children:a=>e.jsxs(e.Fragment,{children:[e.jsx(N,{className:"text-default-900 flex flex-col gap-1",children:l.title}),e.jsx(D,{children:e.jsx("div",{className:"flex flex-col gap-4",children:e.jsx(O,{schema:l,validator:E,onSubmit:y,transformErrors:S,liveValidate:!0,children:e.jsxs("div",{className:"flex justify-end gap-4 py-4",children:[e.jsx(n,{color:"danger",variant:"light",onPress:a,"aria-label":"Close feedback form",children:"Cancel"}),e.jsx(n,{color:"primary",type:"submit","aria-label":"Submit feedback","data-testid":"feedback-submit",children:"Submit"})]})})})})]})})})]})}export{z as default}; +import{u as g,a as v,b as C,r as _,F as t,c as I,j as e,D as u,d as n,I as b,m as T,e as w,f as D}from"./index-DNu2TsOm.js";import{F as O,t as S,v as E}from"./index-DbiSVs7t.js";import{m as N}from"./chunk-IGSAU2ZA-PiNlOBXE.js";import"./chunk-SSA7SXE4-D6fVQuwx.js";import"./useMenuTriggerState-CU4Xv40t.js";import"./useSelectableItem-DetG025q.js";import"./index-Blcoag_7.js";function z({message:s}){const{isOpen:f,onOpen:h,onClose:r}=g(),{mergeExtensions:p}=v(),{config:{feedback:o}}=C(),[i,x]=_.useState(t.Like),k=I("/api/feedback",{headers:{"Content-Type":"application/json"},method:"POST"});if(!s.serverId)return null;const l=o[i].form,j=()=>{r()},c=async a=>{if(!s.serverId)throw new Error('Feedback is only available for messages with "serverId" set');try{await k.call({body:{message_id:s.serverId,feedback:i,payload:a??{}}})}catch(F){console.error(F)}},y=a=>{p(s.id,{feedbackType:i}),c(a.formData),r()},d=async a=>{if(x(a),o[a].form===null){await c(null);return}h()};if(!l)return null;const m=s.extensions?.feedbackType;return e.jsxs(e.Fragment,{children:[o.like.enabled&&e.jsx(u,{content:"Like",placement:"bottom",children:e.jsx(n,{isIconOnly:!0,variant:"ghost",className:"p-0","aria-label":"Rate message as helpful",onPress:()=>d(t.Like),"data-testid":"feedback-like",children:e.jsx(b,{icon:m===t.Like?"heroicons:hand-thumb-up-solid":"heroicons:hand-thumb-up"})})}),o.dislike.enabled&&e.jsx(u,{content:"Dislike",placement:"bottom",children:e.jsx(n,{isIconOnly:!0,variant:"ghost",className:"p-0","aria-label":"Rate message as unhelpful",onPress:()=>d(t.Dislike),"data-testid":"feedback-dislike",children:e.jsx(b,{icon:m===t.Dislike?"heroicons:hand-thumb-down-solid":"heroicons:hand-thumb-down"})})}),e.jsx(T,{isOpen:f,onOpenChange:j,children:e.jsx(w,{children:a=>e.jsxs(e.Fragment,{children:[e.jsx(N,{className:"text-default-900 flex flex-col gap-1",children:l.title}),e.jsx(D,{children:e.jsx("div",{className:"flex flex-col gap-4",children:e.jsx(O,{schema:l,validator:E,onSubmit:y,transformErrors:S,liveValidate:!0,children:e.jsxs("div",{className:"flex justify-end gap-4 py-4",children:[e.jsx(n,{color:"danger",variant:"light",onPress:a,"aria-label":"Close feedback form",children:"Cancel"}),e.jsx(n,{color:"primary",type:"submit","aria-label":"Submit feedback","data-testid":"feedback-submit",children:"Submit"})]})})})})]})})})]})}export{z as default}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/Login-BDhHe3zU.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/Login-bpPOUWZa.js similarity index 89% rename from packages/ragbits-chat/src/ragbits/chat/ui-build/assets/Login-BDhHe3zU.js rename to packages/ragbits-chat/src/ragbits/chat/ui-build/assets/Login-bpPOUWZa.js index 4275949b0..c138426d1 100644 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/Login-BDhHe3zU.js +++ b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/Login-bpPOUWZa.js @@ -1 +1 @@ -import{r as s,j as e}from"./index-Ci_ePHVC.js";function n({children:t}){return s.useEffect(()=>{document.title="Login"},[]),e.jsx("div",{className:"flex h-screen w-screen",children:e.jsxs("div",{className:"rounded-medium border-small border-divider m-auto flex w-full max-w-xs flex-col gap-4 p-4",children:[e.jsxs("div",{className:"text-small",children:[e.jsx("div",{className:"text-foreground truncate leading-5 font-semibold",children:"Sign in"}),e.jsx("div",{className:"text-default-500 truncate leading-5 font-normal",children:"Sign in to start chatting."})]}),t]})})}export{n as default}; +import{r as s,j as e}from"./index-DNu2TsOm.js";function n({children:t}){return s.useEffect(()=>{document.title="Login"},[]),e.jsx("div",{className:"flex h-screen w-screen",children:e.jsxs("div",{className:"rounded-medium border-small border-divider m-auto flex w-full max-w-xs flex-col gap-4 p-4",children:[e.jsxs("div",{className:"text-small",children:[e.jsx("div",{className:"text-foreground truncate leading-5 font-semibold",children:"Sign in"}),e.jsx("div",{className:"text-default-500 truncate leading-5 font-normal",children:"Sign in to start chatting."})]}),t]})})}export{n as default}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/LogoutButton-h5TcCUqa.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/LogoutButton-Db-T9iHq.js similarity index 80% rename from packages/ragbits-chat/src/ragbits/chat/ui-build/assets/LogoutButton-h5TcCUqa.js rename to packages/ragbits-chat/src/ragbits/chat/ui-build/assets/LogoutButton-Db-T9iHq.js index 9c92d8247..7e2e69670 100644 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/LogoutButton-h5TcCUqa.js +++ b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/LogoutButton-Db-T9iHq.js @@ -1 +1 @@ -import{c,aV as a,av as l,j as o,D as g,d,I as h}from"./index-Ci_ePHVC.js";import{a as s}from"./authStore-Bmpxc0WJ.js";function m(){const n=c("/api/auth/logout",{headers:{"Content-Type":"application/json"},method:"POST"}),r=a(s,t=>t.logout),u=a(s,t=>t.isAuthenticated),e=l(),i=async()=>{if(!u){e("/login");return}try{if(!(await n.call()).success)return;r(),e("/login")}catch(t){console.error("Failed to logout",t)}};return o.jsx(g,{content:"Logout",placement:"bottom",children:o.jsx(d,{isIconOnly:!0,"aria-label":"Logout",variant:"ghost",onPress:i,"data-testid":"logout-button",children:o.jsx(h,{icon:"heroicons:arrow-left-start-on-rectangle"})})})}export{m as default}; +import{c,aW as a,aw as l,j as o,D as g,d,I as h}from"./index-DNu2TsOm.js";import{a as s}from"./authStore-BCKvtahF.js";function m(){const n=c("/api/auth/logout",{headers:{"Content-Type":"application/json"},method:"POST"}),r=a(s,t=>t.logout),u=a(s,t=>t.isAuthenticated),e=l(),i=async()=>{if(!u){e("/login");return}try{if(!(await n.call()).success)return;r(),e("/login")}catch(t){console.error("Failed to logout",t)}};return o.jsx(g,{content:"Logout",placement:"bottom",children:o.jsx(d,{isIconOnly:!0,"aria-label":"Logout",variant:"ghost",onPress:i,"data-testid":"logout-button",children:o.jsx(h,{icon:"heroicons:arrow-left-start-on-rectangle"})})})}export{m as default}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/OAuth2Login-Q6stBNmn.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/OAuth2Login-ClCMze2O.js similarity index 94% rename from packages/ragbits-chat/src/ragbits/chat/ui-build/assets/OAuth2Login-Q6stBNmn.js rename to packages/ragbits-chat/src/ragbits/chat/ui-build/assets/OAuth2Login-ClCMze2O.js index f106f0d11..4eec24c7e 100644 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/OAuth2Login-Q6stBNmn.js +++ b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/OAuth2Login-ClCMze2O.js @@ -1,2 +1,2 @@ -import{ar as An,r as K,c as Sn,j as le,aq as Rn,aG as yn,d as On}from"./index-Ci_ePHVC.js";var $e,Nt;function Mt(){if(Nt)return $e;Nt=1;const{entries:Z,setPrototypeOf:C,isFrozen:w,getPrototypeOf:ye,getOwnPropertyDescriptor:ce}=Object;let{freeze:T,seal:y,create:k}=Object,{apply:z,construct:H}=typeof Reflect<"u"&&Reflect;T||(T=function(o){return o}),y||(y=function(o){return o}),z||(z=function(o,l){for(var r=arguments.length,c=new Array(r>2?r-2:0),O=2;O1?l-1:0),c=1;c1?l-1:0),c=1;c2&&arguments[2]!==void 0?arguments[2]:me;C&&C(s,null);let r=o.length;for(;r--;){let c=o[r];if(typeof c=="string"){const O=l(c);O!==c&&(w(o)||(o[r]=O),c=O)}s[c]=!0}return s}function kt(s){for(let o=0;o/gm),Gt=y(/\$\{[\w\W]*/gm),Wt=y(/^data-[\-\w.\u00B7-\uFFFF]+$/),Bt=y(/^aria-[\-\w]+$/),Qe=y(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Yt=y(/^(?:\w+script|data):/i),jt=y(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),et=y(/^html$/i),Xt=y(/^[a-z][.\w]*(-[.\w]+)+$/i);var tt=Object.freeze({__proto__:null,ARIA_ATTR:Bt,ATTR_WHITESPACE:jt,CUSTOM_ELEMENT:Xt,DATA_ATTR:Wt,DOCTYPE_NAME:et,ERB_EXPR:Ht,IS_ALLOWED_URI:Qe,IS_SCRIPT_OR_DATA:Yt,MUSTACHE_EXPR:zt,TMPLIT_EXPR:Gt});const te={element:1,text:3,progressingInstruction:7,comment:8,document:9},$t=function(){return typeof window>"u"?null:window},qt=function(o,l){if(typeof o!="object"||typeof o.createPolicy!="function")return null;let r=null;const c="data-tt-policy-suffix";l&&l.hasAttribute(c)&&(r=l.getAttribute(c));const O="dompurify"+(r?"#"+r:"");try{return o.createPolicy(O,{createHTML(W){return W},createScriptURL(W){return W}})}catch{return console.warn("TrustedTypes policy "+O+" could not be created."),null}},nt=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function ot(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:$t();const o=i=>ot(i);if(o.version="3.3.1",o.removed=[],!s||!s.document||s.document.nodeType!==te.document||!s.Element)return o.isSupported=!1,o;let{document:l}=s;const r=l,c=r.currentScript,{DocumentFragment:O,HTMLTemplateElement:W,Node:Me,Element:it,NodeFilter:ne,NamedNodeMap:Kt=s.NamedNodeMap||s.MozNamedAttrMap,HTMLFormElement:Zt,DOMParser:Jt,trustedTypes:de}=s,oe=it.prototype,Qt=ee(oe,"cloneNode"),en=ee(oe,"remove"),tn=ee(oe,"nextSibling"),nn=ee(oe,"childNodes"),Te=ee(oe,"parentNode");if(typeof W=="function"){const i=l.createElement("template");i.content&&i.content.ownerDocument&&(l=i.content.ownerDocument)}let S,ie="";const{implementation:Ce,createNodeIterator:on,createDocumentFragment:rn,getElementsByTagName:an}=l,{importNode:sn}=r;let R=nt();o.isSupported=typeof Z=="function"&&typeof Te=="function"&&Ce&&Ce.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:we,ERB_EXPR:xe,TMPLIT_EXPR:Pe,DATA_ATTR:ln,ARIA_ATTR:cn,IS_SCRIPT_OR_DATA:un,ATTR_WHITESPACE:rt,CUSTOM_ELEMENT:fn}=tt;let{IS_ALLOWED_URI:at}=tt,d=null;const st=a({},[...Ve,...be,...De,...Ie,...Ke]);let E=null;const lt=a({},[...Ze,...Ne,...Je,...pe]);let f=Object.seal(k(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),re=null,ve=null;const B=Object.seal(k(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let ct=!0,ke=!0,ut=!1,ft=!0,Y=!1,Ee=!0,F=!1,Fe=!1,Ue=!1,j=!1,_e=!1,ge=!1,mt=!0,pt=!1;const mn="user-content-";let ze=!0,ae=!1,X={},N=null;const He=a({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let dt=null;const Tt=a({},["audio","video","img","source","image","track"]);let Ge=null;const Et=a({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),he="http://www.w3.org/1998/Math/MathML",Ae="http://www.w3.org/2000/svg",x="http://www.w3.org/1999/xhtml";let $=x,We=!1,Be=null;const pn=a({},[he,Ae,x],Oe);let Se=a({},["mi","mo","mn","ms","mtext"]),Re=a({},["annotation-xml"]);const dn=a({},["title","style","font","a","script"]);let se=null;const Tn=["application/xhtml+xml","text/html"],En="text/html";let p=null,q=null;const _n=l.createElement("form"),_t=function(e){return e instanceof RegExp||e instanceof Function},Ye=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(q&&q===e)){if((!e||typeof e!="object")&&(e={}),e=I(e),se=Tn.indexOf(e.PARSER_MEDIA_TYPE)===-1?En:e.PARSER_MEDIA_TYPE,p=se==="application/xhtml+xml"?Oe:me,d=D(e,"ALLOWED_TAGS")?a({},e.ALLOWED_TAGS,p):st,E=D(e,"ALLOWED_ATTR")?a({},e.ALLOWED_ATTR,p):lt,Be=D(e,"ALLOWED_NAMESPACES")?a({},e.ALLOWED_NAMESPACES,Oe):pn,Ge=D(e,"ADD_URI_SAFE_ATTR")?a(I(Et),e.ADD_URI_SAFE_ATTR,p):Et,dt=D(e,"ADD_DATA_URI_TAGS")?a(I(Tt),e.ADD_DATA_URI_TAGS,p):Tt,N=D(e,"FORBID_CONTENTS")?a({},e.FORBID_CONTENTS,p):He,re=D(e,"FORBID_TAGS")?a({},e.FORBID_TAGS,p):I({}),ve=D(e,"FORBID_ATTR")?a({},e.FORBID_ATTR,p):I({}),X=D(e,"USE_PROFILES")?e.USE_PROFILES:!1,ct=e.ALLOW_ARIA_ATTR!==!1,ke=e.ALLOW_DATA_ATTR!==!1,ut=e.ALLOW_UNKNOWN_PROTOCOLS||!1,ft=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Y=e.SAFE_FOR_TEMPLATES||!1,Ee=e.SAFE_FOR_XML!==!1,F=e.WHOLE_DOCUMENT||!1,j=e.RETURN_DOM||!1,_e=e.RETURN_DOM_FRAGMENT||!1,ge=e.RETURN_TRUSTED_TYPE||!1,Ue=e.FORCE_BODY||!1,mt=e.SANITIZE_DOM!==!1,pt=e.SANITIZE_NAMED_PROPS||!1,ze=e.KEEP_CONTENT!==!1,ae=e.IN_PLACE||!1,at=e.ALLOWED_URI_REGEXP||Qe,$=e.NAMESPACE||x,Se=e.MATHML_TEXT_INTEGRATION_POINTS||Se,Re=e.HTML_INTEGRATION_POINTS||Re,f=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&_t(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(f.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&_t(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(f.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(f.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Y&&(ke=!1),_e&&(j=!0),X&&(d=a({},Ke),E=[],X.html===!0&&(a(d,Ve),a(E,Ze)),X.svg===!0&&(a(d,be),a(E,Ne),a(E,pe)),X.svgFilters===!0&&(a(d,De),a(E,Ne),a(E,pe)),X.mathMl===!0&&(a(d,Ie),a(E,Je),a(E,pe))),e.ADD_TAGS&&(typeof e.ADD_TAGS=="function"?B.tagCheck=e.ADD_TAGS:(d===st&&(d=I(d)),a(d,e.ADD_TAGS,p))),e.ADD_ATTR&&(typeof e.ADD_ATTR=="function"?B.attributeCheck=e.ADD_ATTR:(E===lt&&(E=I(E)),a(E,e.ADD_ATTR,p))),e.ADD_URI_SAFE_ATTR&&a(Ge,e.ADD_URI_SAFE_ATTR,p),e.FORBID_CONTENTS&&(N===He&&(N=I(N)),a(N,e.FORBID_CONTENTS,p)),e.ADD_FORBID_CONTENTS&&(N===He&&(N=I(N)),a(N,e.ADD_FORBID_CONTENTS,p)),ze&&(d["#text"]=!0),F&&a(d,["html","head","body"]),d.table&&(a(d,["tbody"]),delete re.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!="function")throw Q('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Q('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');S=e.TRUSTED_TYPES_POLICY,ie=S.createHTML("")}else S===void 0&&(S=qt(de,c)),S!==null&&typeof ie=="string"&&(ie=S.createHTML(""));T&&T(e),q=e}},gt=a({},[...be,...De,...Ft]),ht=a({},[...Ie,...Ut]),gn=function(e){let t=Te(e);(!t||!t.tagName)&&(t={namespaceURI:$,tagName:"template"});const n=me(e.tagName),u=me(t.tagName);return Be[e.namespaceURI]?e.namespaceURI===Ae?t.namespaceURI===x?n==="svg":t.namespaceURI===he?n==="svg"&&(u==="annotation-xml"||Se[u]):!!gt[n]:e.namespaceURI===he?t.namespaceURI===x?n==="math":t.namespaceURI===Ae?n==="math"&&Re[u]:!!ht[n]:e.namespaceURI===x?t.namespaceURI===Ae&&!Re[u]||t.namespaceURI===he&&!Se[u]?!1:!ht[n]&&(dn[n]||!gt[n]):!!(se==="application/xhtml+xml"&&Be[e.namespaceURI]):!1},M=function(e){b(o.removed,{element:e});try{Te(e).removeChild(e)}catch{en(e)}},U=function(e,t){try{b(o.removed,{attribute:t.getAttributeNode(e),from:t})}catch{b(o.removed,{attribute:null,from:t})}if(t.removeAttribute(e),e==="is")if(j||_e)try{M(t)}catch{}else try{t.setAttribute(e,"")}catch{}},At=function(e){let t=null,n=null;if(Ue)e=""+e;else{const m=Le(e,/^[\r\n\t ]+/);n=m&&m[0]}se==="application/xhtml+xml"&&$===x&&(e=''+e+"");const u=S?S.createHTML(e):e;if($===x)try{t=new Jt().parseFromString(u,se)}catch{}if(!t||!t.documentElement){t=Ce.createDocument($,"template",null);try{t.documentElement.innerHTML=We?ie:u}catch{}}const g=t.body||t.documentElement;return e&&n&&g.insertBefore(l.createTextNode(n),g.childNodes[0]||null),$===x?an.call(t,F?"html":"body")[0]:F?t.documentElement:g},St=function(e){return on.call(e.ownerDocument||e,e,ne.SHOW_ELEMENT|ne.SHOW_COMMENT|ne.SHOW_TEXT|ne.SHOW_PROCESSING_INSTRUCTION|ne.SHOW_CDATA_SECTION,null)},je=function(e){return e instanceof Zt&&(typeof e.nodeName!="string"||typeof e.textContent!="string"||typeof e.removeChild!="function"||!(e.attributes instanceof Kt)||typeof e.removeAttribute!="function"||typeof e.setAttribute!="function"||typeof e.namespaceURI!="string"||typeof e.insertBefore!="function"||typeof e.hasChildNodes!="function")},Rt=function(e){return typeof Me=="function"&&e instanceof Me};function P(i,e,t){G(i,n=>{n.call(o,e,t,q)})}const yt=function(e){let t=null;if(P(R.beforeSanitizeElements,e,null),je(e))return M(e),!0;const n=p(e.nodeName);if(P(R.uponSanitizeElement,e,{tagName:n,allowedTags:d}),Ee&&e.hasChildNodes()&&!Rt(e.firstElementChild)&&h(/<[/\w!]/g,e.innerHTML)&&h(/<[/\w!]/g,e.textContent)||e.nodeType===te.progressingInstruction||Ee&&e.nodeType===te.comment&&h(/<[/\w]/g,e.data))return M(e),!0;if(!(B.tagCheck instanceof Function&&B.tagCheck(n))&&(!d[n]||re[n])){if(!re[n]&&Lt(n)&&(f.tagNameCheck instanceof RegExp&&h(f.tagNameCheck,n)||f.tagNameCheck instanceof Function&&f.tagNameCheck(n)))return!1;if(ze&&!N[n]){const u=Te(e)||e.parentNode,g=nn(e)||e.childNodes;if(g&&u){const m=g.length;for(let L=m-1;L>=0;--L){const v=Qt(g[L],!0);v.__removalCount=(e.__removalCount||0)+1,u.insertBefore(v,tn(e))}}}return M(e),!0}return e instanceof it&&!gn(e)||(n==="noscript"||n==="noembed"||n==="noframes")&&h(/<\/no(script|embed|frames)/i,e.innerHTML)?(M(e),!0):(Y&&e.nodeType===te.text&&(t=e.textContent,G([we,xe,Pe],u=>{t=J(t,u," ")}),e.textContent!==t&&(b(o.removed,{element:e.cloneNode()}),e.textContent=t)),P(R.afterSanitizeElements,e,null),!1)},Ot=function(e,t,n){if(mt&&(t==="id"||t==="name")&&(n in l||n in _n))return!1;if(!(ke&&!ve[t]&&h(ln,t))){if(!(ct&&h(cn,t))){if(!(B.attributeCheck instanceof Function&&B.attributeCheck(t,e))){if(!E[t]||ve[t]){if(!(Lt(e)&&(f.tagNameCheck instanceof RegExp&&h(f.tagNameCheck,e)||f.tagNameCheck instanceof Function&&f.tagNameCheck(e))&&(f.attributeNameCheck instanceof RegExp&&h(f.attributeNameCheck,t)||f.attributeNameCheck instanceof Function&&f.attributeNameCheck(t,e))||t==="is"&&f.allowCustomizedBuiltInElements&&(f.tagNameCheck instanceof RegExp&&h(f.tagNameCheck,n)||f.tagNameCheck instanceof Function&&f.tagNameCheck(n))))return!1}else if(!Ge[t]){if(!h(at,J(n,rt,""))){if(!((t==="src"||t==="xlink:href"||t==="href")&&e!=="script"&&xt(n,"data:")===0&&dt[e])){if(!(ut&&!h(un,J(n,rt,"")))){if(n)return!1}}}}}}}return!0},Lt=function(e){return e!=="annotation-xml"&&Le(e,fn)},bt=function(e){P(R.beforeSanitizeAttributes,e,null);const{attributes:t}=e;if(!t||je(e))return;const n={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:E,forceKeepAttr:void 0};let u=t.length;for(;u--;){const g=t[u],{name:m,namespaceURI:L,value:v}=g,V=p(m),Xe=v;let _=m==="value"?Xe:Pt(Xe);if(n.attrName=V,n.attrValue=_,n.keepAttr=!0,n.forceKeepAttr=void 0,P(R.uponSanitizeAttribute,e,n),_=n.attrValue,pt&&(V==="id"||V==="name")&&(U(m,e),_=mn+_),Ee&&h(/((--!?|])>)|<\/(style|title|textarea)/i,_)){U(m,e);continue}if(V==="attributename"&&Le(_,"href")){U(m,e);continue}if(n.forceKeepAttr)continue;if(!n.keepAttr){U(m,e);continue}if(!ft&&h(/\/>/i,_)){U(m,e);continue}Y&&G([we,xe,Pe],It=>{_=J(_,It," ")});const Dt=p(e.nodeName);if(!Ot(Dt,V,_)){U(m,e);continue}if(S&&typeof de=="object"&&typeof de.getAttributeType=="function"&&!L)switch(de.getAttributeType(Dt,V)){case"TrustedHTML":{_=S.createHTML(_);break}case"TrustedScriptURL":{_=S.createScriptURL(_);break}}if(_!==Xe)try{L?e.setAttributeNS(L,m,_):e.setAttribute(m,_),je(e)?M(e):fe(o.removed)}catch{U(m,e)}}P(R.afterSanitizeAttributes,e,null)},hn=function i(e){let t=null;const n=St(e);for(P(R.beforeSanitizeShadowDOM,e,null);t=n.nextNode();)P(R.uponSanitizeShadowNode,t,null),yt(t),bt(t),t.content instanceof O&&i(t.content);P(R.afterSanitizeShadowDOM,e,null)};return o.sanitize=function(i){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=null,n=null,u=null,g=null;if(We=!i,We&&(i=""),typeof i!="string"&&!Rt(i))if(typeof i.toString=="function"){if(i=i.toString(),typeof i!="string")throw Q("dirty is not a string, aborting")}else throw Q("toString is not a function");if(!o.isSupported)return i;if(Fe||Ye(e),o.removed=[],typeof i=="string"&&(ae=!1),ae){if(i.nodeName){const v=p(i.nodeName);if(!d[v]||re[v])throw Q("root node is forbidden and cannot be sanitized in-place")}}else if(i instanceof Me)t=At(""),n=t.ownerDocument.importNode(i,!0),n.nodeType===te.element&&n.nodeName==="BODY"||n.nodeName==="HTML"?t=n:t.appendChild(n);else{if(!j&&!Y&&!F&&i.indexOf("<")===-1)return S&&ge?S.createHTML(i):i;if(t=At(i),!t)return j?null:ge?ie:""}t&&Ue&&M(t.firstChild);const m=St(ae?i:t);for(;u=m.nextNode();)yt(u),bt(u),u.content instanceof O&&hn(u.content);if(ae)return i;if(j){if(_e)for(g=rn.call(t.ownerDocument);t.firstChild;)g.appendChild(t.firstChild);else g=t;return(E.shadowroot||E.shadowrootmode)&&(g=sn.call(r,g,!0)),g}let L=F?t.outerHTML:t.innerHTML;return F&&d["!doctype"]&&t.ownerDocument&&t.ownerDocument.doctype&&t.ownerDocument.doctype.name&&h(et,t.ownerDocument.doctype.name)&&(L=" -`+L),Y&&G([we,xe,Pe],v=>{L=J(L,v," ")}),S&&ge?S.createHTML(L):L},o.setConfig=function(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Ye(i),Fe=!0},o.clearConfig=function(){q=null,Fe=!1},o.isValidAttribute=function(i,e,t){q||Ye({});const n=p(i),u=p(e);return Ot(n,u,t)},o.addHook=function(i,e){typeof e=="function"&&b(R[i],e)},o.removeHook=function(i,e){if(e!==void 0){const t=ue(R[i],e);return t===-1?void 0:wt(R[i],t,1)[0]}return fe(R[i])},o.removeHooks=function(i){R[i]=[]},o.removeAllHooks=function(){R=nt()},o}var Vt=ot();return $e=Vt,$e}var qe,Ct;function Ln(){return Ct||(Ct=1,qe=self.DOMPurify||(self.DOMPurify=Mt().default||Mt())),qe}var bn=Ln();const Dn=An(bn);function Nn({provider:Z,displayName:C,visualConfig:w}){const[ye,ce]=K.useState(!1),[T,y]=K.useState(""),[k,z]=K.useState(!1),H=Sn("/api/auth/authorize/:provider"),G=K.useCallback(async()=>{ce(!1),z(!0);try{const b=await H.call({pathParams:{provider:Z}});if(!b.authorize_url)throw new Error(`Failed to get ${C} authorization URL`);window.location.href=b.authorize_url}catch(b){ce(!0),y(`Failed to initiate ${C} login: ${b}`),console.error(`Failed to start ${C} login`,b)}finally{z(!1)}},[H,C,Z]),ue=K.useMemo(()=>{if(w?.buttonColor)return{backgroundColor:w.buttonColor,color:w.textColor||"#FFFFFF"}},[w]),fe=K.useMemo(()=>{if(k||!w?.iconSvg)return null;const b=Dn.sanitize(w.iconSvg,{USE_PROFILES:{svg:!0}});return le.jsx("span",{className:"flex items-center justify-center",dangerouslySetInnerHTML:{__html:b}})},[k,w?.iconSvg]);return le.jsxs("div",{className:"flex flex-col gap-4",children:[le.jsx(Rn,{children:ye&&le.jsx(yn.div,{className:"text-small text-danger",initial:{opacity:0,y:-10},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},transition:{duration:.3,ease:"easeOut"},children:T||`Failed to sign in with ${C}`})}),le.jsx(On,{onPress:G,color:ue?void 0:"primary",style:ue,isLoading:k,startContent:fe,children:k?"Redirecting...":`Sign in with ${C}`})]})}export{Nn as default}; +import{ar as An,r as K,c as Sn,j as le,aq as Rn,aH as yn,d as On}from"./index-DNu2TsOm.js";var $e,Nt;function Mt(){if(Nt)return $e;Nt=1;const{entries:Z,setPrototypeOf:C,isFrozen:w,getPrototypeOf:ye,getOwnPropertyDescriptor:ce}=Object;let{freeze:T,seal:y,create:k}=Object,{apply:H,construct:z}=typeof Reflect<"u"&&Reflect;T||(T=function(o){return o}),y||(y=function(o){return o}),H||(H=function(o,l){for(var r=arguments.length,c=new Array(r>2?r-2:0),O=2;O1?l-1:0),c=1;c1?l-1:0),c=1;c2&&arguments[2]!==void 0?arguments[2]:me;C&&C(s,null);let r=o.length;for(;r--;){let c=o[r];if(typeof c=="string"){const O=l(c);O!==c&&(w(o)||(o[r]=O),c=O)}s[c]=!0}return s}function kt(s){for(let o=0;o/gm),Gt=y(/\$\{[\w\W]*/gm),Wt=y(/^data-[\-\w.\u00B7-\uFFFF]+$/),Bt=y(/^aria-[\-\w]+$/),Qe=y(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Yt=y(/^(?:\w+script|data):/i),jt=y(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),et=y(/^html$/i),Xt=y(/^[a-z][.\w]*(-[.\w]+)+$/i);var tt=Object.freeze({__proto__:null,ARIA_ATTR:Bt,ATTR_WHITESPACE:jt,CUSTOM_ELEMENT:Xt,DATA_ATTR:Wt,DOCTYPE_NAME:et,ERB_EXPR:zt,IS_ALLOWED_URI:Qe,IS_SCRIPT_OR_DATA:Yt,MUSTACHE_EXPR:Ht,TMPLIT_EXPR:Gt});const te={element:1,text:3,progressingInstruction:7,comment:8,document:9},$t=function(){return typeof window>"u"?null:window},qt=function(o,l){if(typeof o!="object"||typeof o.createPolicy!="function")return null;let r=null;const c="data-tt-policy-suffix";l&&l.hasAttribute(c)&&(r=l.getAttribute(c));const O="dompurify"+(r?"#"+r:"");try{return o.createPolicy(O,{createHTML(W){return W},createScriptURL(W){return W}})}catch{return console.warn("TrustedTypes policy "+O+" could not be created."),null}},nt=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function ot(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:$t();const o=i=>ot(i);if(o.version="3.3.1",o.removed=[],!s||!s.document||s.document.nodeType!==te.document||!s.Element)return o.isSupported=!1,o;let{document:l}=s;const r=l,c=r.currentScript,{DocumentFragment:O,HTMLTemplateElement:W,Node:Me,Element:it,NodeFilter:ne,NamedNodeMap:Kt=s.NamedNodeMap||s.MozNamedAttrMap,HTMLFormElement:Zt,DOMParser:Jt,trustedTypes:de}=s,oe=it.prototype,Qt=ee(oe,"cloneNode"),en=ee(oe,"remove"),tn=ee(oe,"nextSibling"),nn=ee(oe,"childNodes"),Te=ee(oe,"parentNode");if(typeof W=="function"){const i=l.createElement("template");i.content&&i.content.ownerDocument&&(l=i.content.ownerDocument)}let S,ie="";const{implementation:Ce,createNodeIterator:on,createDocumentFragment:rn,getElementsByTagName:an}=l,{importNode:sn}=r;let R=nt();o.isSupported=typeof Z=="function"&&typeof Te=="function"&&Ce&&Ce.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:we,ERB_EXPR:xe,TMPLIT_EXPR:Pe,DATA_ATTR:ln,ARIA_ATTR:cn,IS_SCRIPT_OR_DATA:un,ATTR_WHITESPACE:rt,CUSTOM_ELEMENT:fn}=tt;let{IS_ALLOWED_URI:at}=tt,d=null;const st=a({},[...Ve,...be,...De,...Ie,...Ke]);let E=null;const lt=a({},[...Ze,...Ne,...Je,...pe]);let f=Object.seal(k(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),re=null,ve=null;const B=Object.seal(k(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let ct=!0,ke=!0,ut=!1,ft=!0,Y=!1,Ee=!0,F=!1,Fe=!1,Ue=!1,j=!1,_e=!1,ge=!1,mt=!0,pt=!1;const mn="user-content-";let He=!0,ae=!1,X={},N=null;const ze=a({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let dt=null;const Tt=a({},["audio","video","img","source","image","track"]);let Ge=null;const Et=a({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),he="http://www.w3.org/1998/Math/MathML",Ae="http://www.w3.org/2000/svg",x="http://www.w3.org/1999/xhtml";let $=x,We=!1,Be=null;const pn=a({},[he,Ae,x],Oe);let Se=a({},["mi","mo","mn","ms","mtext"]),Re=a({},["annotation-xml"]);const dn=a({},["title","style","font","a","script"]);let se=null;const Tn=["application/xhtml+xml","text/html"],En="text/html";let p=null,q=null;const _n=l.createElement("form"),_t=function(e){return e instanceof RegExp||e instanceof Function},Ye=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(q&&q===e)){if((!e||typeof e!="object")&&(e={}),e=I(e),se=Tn.indexOf(e.PARSER_MEDIA_TYPE)===-1?En:e.PARSER_MEDIA_TYPE,p=se==="application/xhtml+xml"?Oe:me,d=D(e,"ALLOWED_TAGS")?a({},e.ALLOWED_TAGS,p):st,E=D(e,"ALLOWED_ATTR")?a({},e.ALLOWED_ATTR,p):lt,Be=D(e,"ALLOWED_NAMESPACES")?a({},e.ALLOWED_NAMESPACES,Oe):pn,Ge=D(e,"ADD_URI_SAFE_ATTR")?a(I(Et),e.ADD_URI_SAFE_ATTR,p):Et,dt=D(e,"ADD_DATA_URI_TAGS")?a(I(Tt),e.ADD_DATA_URI_TAGS,p):Tt,N=D(e,"FORBID_CONTENTS")?a({},e.FORBID_CONTENTS,p):ze,re=D(e,"FORBID_TAGS")?a({},e.FORBID_TAGS,p):I({}),ve=D(e,"FORBID_ATTR")?a({},e.FORBID_ATTR,p):I({}),X=D(e,"USE_PROFILES")?e.USE_PROFILES:!1,ct=e.ALLOW_ARIA_ATTR!==!1,ke=e.ALLOW_DATA_ATTR!==!1,ut=e.ALLOW_UNKNOWN_PROTOCOLS||!1,ft=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Y=e.SAFE_FOR_TEMPLATES||!1,Ee=e.SAFE_FOR_XML!==!1,F=e.WHOLE_DOCUMENT||!1,j=e.RETURN_DOM||!1,_e=e.RETURN_DOM_FRAGMENT||!1,ge=e.RETURN_TRUSTED_TYPE||!1,Ue=e.FORCE_BODY||!1,mt=e.SANITIZE_DOM!==!1,pt=e.SANITIZE_NAMED_PROPS||!1,He=e.KEEP_CONTENT!==!1,ae=e.IN_PLACE||!1,at=e.ALLOWED_URI_REGEXP||Qe,$=e.NAMESPACE||x,Se=e.MATHML_TEXT_INTEGRATION_POINTS||Se,Re=e.HTML_INTEGRATION_POINTS||Re,f=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&_t(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(f.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&_t(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(f.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(f.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Y&&(ke=!1),_e&&(j=!0),X&&(d=a({},Ke),E=[],X.html===!0&&(a(d,Ve),a(E,Ze)),X.svg===!0&&(a(d,be),a(E,Ne),a(E,pe)),X.svgFilters===!0&&(a(d,De),a(E,Ne),a(E,pe)),X.mathMl===!0&&(a(d,Ie),a(E,Je),a(E,pe))),e.ADD_TAGS&&(typeof e.ADD_TAGS=="function"?B.tagCheck=e.ADD_TAGS:(d===st&&(d=I(d)),a(d,e.ADD_TAGS,p))),e.ADD_ATTR&&(typeof e.ADD_ATTR=="function"?B.attributeCheck=e.ADD_ATTR:(E===lt&&(E=I(E)),a(E,e.ADD_ATTR,p))),e.ADD_URI_SAFE_ATTR&&a(Ge,e.ADD_URI_SAFE_ATTR,p),e.FORBID_CONTENTS&&(N===ze&&(N=I(N)),a(N,e.FORBID_CONTENTS,p)),e.ADD_FORBID_CONTENTS&&(N===ze&&(N=I(N)),a(N,e.ADD_FORBID_CONTENTS,p)),He&&(d["#text"]=!0),F&&a(d,["html","head","body"]),d.table&&(a(d,["tbody"]),delete re.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!="function")throw Q('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Q('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');S=e.TRUSTED_TYPES_POLICY,ie=S.createHTML("")}else S===void 0&&(S=qt(de,c)),S!==null&&typeof ie=="string"&&(ie=S.createHTML(""));T&&T(e),q=e}},gt=a({},[...be,...De,...Ft]),ht=a({},[...Ie,...Ut]),gn=function(e){let t=Te(e);(!t||!t.tagName)&&(t={namespaceURI:$,tagName:"template"});const n=me(e.tagName),u=me(t.tagName);return Be[e.namespaceURI]?e.namespaceURI===Ae?t.namespaceURI===x?n==="svg":t.namespaceURI===he?n==="svg"&&(u==="annotation-xml"||Se[u]):!!gt[n]:e.namespaceURI===he?t.namespaceURI===x?n==="math":t.namespaceURI===Ae?n==="math"&&Re[u]:!!ht[n]:e.namespaceURI===x?t.namespaceURI===Ae&&!Re[u]||t.namespaceURI===he&&!Se[u]?!1:!ht[n]&&(dn[n]||!gt[n]):!!(se==="application/xhtml+xml"&&Be[e.namespaceURI]):!1},M=function(e){b(o.removed,{element:e});try{Te(e).removeChild(e)}catch{en(e)}},U=function(e,t){try{b(o.removed,{attribute:t.getAttributeNode(e),from:t})}catch{b(o.removed,{attribute:null,from:t})}if(t.removeAttribute(e),e==="is")if(j||_e)try{M(t)}catch{}else try{t.setAttribute(e,"")}catch{}},At=function(e){let t=null,n=null;if(Ue)e=""+e;else{const m=Le(e,/^[\r\n\t ]+/);n=m&&m[0]}se==="application/xhtml+xml"&&$===x&&(e=''+e+"");const u=S?S.createHTML(e):e;if($===x)try{t=new Jt().parseFromString(u,se)}catch{}if(!t||!t.documentElement){t=Ce.createDocument($,"template",null);try{t.documentElement.innerHTML=We?ie:u}catch{}}const g=t.body||t.documentElement;return e&&n&&g.insertBefore(l.createTextNode(n),g.childNodes[0]||null),$===x?an.call(t,F?"html":"body")[0]:F?t.documentElement:g},St=function(e){return on.call(e.ownerDocument||e,e,ne.SHOW_ELEMENT|ne.SHOW_COMMENT|ne.SHOW_TEXT|ne.SHOW_PROCESSING_INSTRUCTION|ne.SHOW_CDATA_SECTION,null)},je=function(e){return e instanceof Zt&&(typeof e.nodeName!="string"||typeof e.textContent!="string"||typeof e.removeChild!="function"||!(e.attributes instanceof Kt)||typeof e.removeAttribute!="function"||typeof e.setAttribute!="function"||typeof e.namespaceURI!="string"||typeof e.insertBefore!="function"||typeof e.hasChildNodes!="function")},Rt=function(e){return typeof Me=="function"&&e instanceof Me};function P(i,e,t){G(i,n=>{n.call(o,e,t,q)})}const yt=function(e){let t=null;if(P(R.beforeSanitizeElements,e,null),je(e))return M(e),!0;const n=p(e.nodeName);if(P(R.uponSanitizeElement,e,{tagName:n,allowedTags:d}),Ee&&e.hasChildNodes()&&!Rt(e.firstElementChild)&&h(/<[/\w!]/g,e.innerHTML)&&h(/<[/\w!]/g,e.textContent)||e.nodeType===te.progressingInstruction||Ee&&e.nodeType===te.comment&&h(/<[/\w]/g,e.data))return M(e),!0;if(!(B.tagCheck instanceof Function&&B.tagCheck(n))&&(!d[n]||re[n])){if(!re[n]&&Lt(n)&&(f.tagNameCheck instanceof RegExp&&h(f.tagNameCheck,n)||f.tagNameCheck instanceof Function&&f.tagNameCheck(n)))return!1;if(He&&!N[n]){const u=Te(e)||e.parentNode,g=nn(e)||e.childNodes;if(g&&u){const m=g.length;for(let L=m-1;L>=0;--L){const v=Qt(g[L],!0);v.__removalCount=(e.__removalCount||0)+1,u.insertBefore(v,tn(e))}}}return M(e),!0}return e instanceof it&&!gn(e)||(n==="noscript"||n==="noembed"||n==="noframes")&&h(/<\/no(script|embed|frames)/i,e.innerHTML)?(M(e),!0):(Y&&e.nodeType===te.text&&(t=e.textContent,G([we,xe,Pe],u=>{t=J(t,u," ")}),e.textContent!==t&&(b(o.removed,{element:e.cloneNode()}),e.textContent=t)),P(R.afterSanitizeElements,e,null),!1)},Ot=function(e,t,n){if(mt&&(t==="id"||t==="name")&&(n in l||n in _n))return!1;if(!(ke&&!ve[t]&&h(ln,t))){if(!(ct&&h(cn,t))){if(!(B.attributeCheck instanceof Function&&B.attributeCheck(t,e))){if(!E[t]||ve[t]){if(!(Lt(e)&&(f.tagNameCheck instanceof RegExp&&h(f.tagNameCheck,e)||f.tagNameCheck instanceof Function&&f.tagNameCheck(e))&&(f.attributeNameCheck instanceof RegExp&&h(f.attributeNameCheck,t)||f.attributeNameCheck instanceof Function&&f.attributeNameCheck(t,e))||t==="is"&&f.allowCustomizedBuiltInElements&&(f.tagNameCheck instanceof RegExp&&h(f.tagNameCheck,n)||f.tagNameCheck instanceof Function&&f.tagNameCheck(n))))return!1}else if(!Ge[t]){if(!h(at,J(n,rt,""))){if(!((t==="src"||t==="xlink:href"||t==="href")&&e!=="script"&&xt(n,"data:")===0&&dt[e])){if(!(ut&&!h(un,J(n,rt,"")))){if(n)return!1}}}}}}}return!0},Lt=function(e){return e!=="annotation-xml"&&Le(e,fn)},bt=function(e){P(R.beforeSanitizeAttributes,e,null);const{attributes:t}=e;if(!t||je(e))return;const n={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:E,forceKeepAttr:void 0};let u=t.length;for(;u--;){const g=t[u],{name:m,namespaceURI:L,value:v}=g,V=p(m),Xe=v;let _=m==="value"?Xe:Pt(Xe);if(n.attrName=V,n.attrValue=_,n.keepAttr=!0,n.forceKeepAttr=void 0,P(R.uponSanitizeAttribute,e,n),_=n.attrValue,pt&&(V==="id"||V==="name")&&(U(m,e),_=mn+_),Ee&&h(/((--!?|])>)|<\/(style|title|textarea)/i,_)){U(m,e);continue}if(V==="attributename"&&Le(_,"href")){U(m,e);continue}if(n.forceKeepAttr)continue;if(!n.keepAttr){U(m,e);continue}if(!ft&&h(/\/>/i,_)){U(m,e);continue}Y&&G([we,xe,Pe],It=>{_=J(_,It," ")});const Dt=p(e.nodeName);if(!Ot(Dt,V,_)){U(m,e);continue}if(S&&typeof de=="object"&&typeof de.getAttributeType=="function"&&!L)switch(de.getAttributeType(Dt,V)){case"TrustedHTML":{_=S.createHTML(_);break}case"TrustedScriptURL":{_=S.createScriptURL(_);break}}if(_!==Xe)try{L?e.setAttributeNS(L,m,_):e.setAttribute(m,_),je(e)?M(e):fe(o.removed)}catch{U(m,e)}}P(R.afterSanitizeAttributes,e,null)},hn=function i(e){let t=null;const n=St(e);for(P(R.beforeSanitizeShadowDOM,e,null);t=n.nextNode();)P(R.uponSanitizeShadowNode,t,null),yt(t),bt(t),t.content instanceof O&&i(t.content);P(R.afterSanitizeShadowDOM,e,null)};return o.sanitize=function(i){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=null,n=null,u=null,g=null;if(We=!i,We&&(i=""),typeof i!="string"&&!Rt(i))if(typeof i.toString=="function"){if(i=i.toString(),typeof i!="string")throw Q("dirty is not a string, aborting")}else throw Q("toString is not a function");if(!o.isSupported)return i;if(Fe||Ye(e),o.removed=[],typeof i=="string"&&(ae=!1),ae){if(i.nodeName){const v=p(i.nodeName);if(!d[v]||re[v])throw Q("root node is forbidden and cannot be sanitized in-place")}}else if(i instanceof Me)t=At(""),n=t.ownerDocument.importNode(i,!0),n.nodeType===te.element&&n.nodeName==="BODY"||n.nodeName==="HTML"?t=n:t.appendChild(n);else{if(!j&&!Y&&!F&&i.indexOf("<")===-1)return S&&ge?S.createHTML(i):i;if(t=At(i),!t)return j?null:ge?ie:""}t&&Ue&&M(t.firstChild);const m=St(ae?i:t);for(;u=m.nextNode();)yt(u),bt(u),u.content instanceof O&&hn(u.content);if(ae)return i;if(j){if(_e)for(g=rn.call(t.ownerDocument);t.firstChild;)g.appendChild(t.firstChild);else g=t;return(E.shadowroot||E.shadowrootmode)&&(g=sn.call(r,g,!0)),g}let L=F?t.outerHTML:t.innerHTML;return F&&d["!doctype"]&&t.ownerDocument&&t.ownerDocument.doctype&&t.ownerDocument.doctype.name&&h(et,t.ownerDocument.doctype.name)&&(L=" +`+L),Y&&G([we,xe,Pe],v=>{L=J(L,v," ")}),S&&ge?S.createHTML(L):L},o.setConfig=function(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Ye(i),Fe=!0},o.clearConfig=function(){q=null,Fe=!1},o.isValidAttribute=function(i,e,t){q||Ye({});const n=p(i),u=p(e);return Ot(n,u,t)},o.addHook=function(i,e){typeof e=="function"&&b(R[i],e)},o.removeHook=function(i,e){if(e!==void 0){const t=ue(R[i],e);return t===-1?void 0:wt(R[i],t,1)[0]}return fe(R[i])},o.removeHooks=function(i){R[i]=[]},o.removeAllHooks=function(){R=nt()},o}var Vt=ot();return $e=Vt,$e}var qe,Ct;function Ln(){return Ct||(Ct=1,qe=self.DOMPurify||(self.DOMPurify=Mt().default||Mt())),qe}var bn=Ln();const Dn=An(bn);function Nn({provider:Z,displayName:C,visualConfig:w}){const[ye,ce]=K.useState(!1),[T,y]=K.useState(""),[k,H]=K.useState(!1),z=Sn("/api/auth/authorize/:provider"),G=K.useCallback(async()=>{ce(!1),H(!0);try{const b=await z.call({pathParams:{provider:Z}});if(!b.authorize_url)throw new Error(`Failed to get ${C} authorization URL`);window.location.href=b.authorize_url}catch(b){ce(!0),y(`Failed to initiate ${C} login: ${b}`),console.error(`Failed to start ${C} login`,b)}finally{H(!1)}},[z,C,Z]),ue=K.useMemo(()=>{if(w?.buttonColor)return{backgroundColor:w.buttonColor,color:w.textColor||"#FFFFFF"}},[w]),fe=K.useMemo(()=>{if(k||!w?.iconSvg)return null;const b=Dn.sanitize(w.iconSvg,{USE_PROFILES:{svg:!0}});return le.jsx("span",{className:"flex items-center justify-center",dangerouslySetInnerHTML:{__html:b}})},[k,w?.iconSvg]);return le.jsxs("div",{className:"flex flex-col gap-4",children:[le.jsx(Rn,{children:ye&&le.jsx(yn.div,{className:"text-small text-danger",initial:{opacity:0,y:-10},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},transition:{duration:.3,ease:"easeOut"},children:T||`Failed to sign in with ${C}`})}),le.jsx(On,{onPress:G,color:ue?void 0:"primary",style:ue,isLoading:k,startContent:fe,children:k?"Redirecting...":`Sign in with ${C}`})]})}export{Nn as default}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ShareButton-DgsQmHSv.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ShareButton-BRieOU9z.js similarity index 98% rename from packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ShareButton-DgsQmHSv.js rename to packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ShareButton-BRieOU9z.js index 9f6ee5390..7dbe8ff5a 100644 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ShareButton-DgsQmHSv.js +++ b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/ShareButton-BRieOU9z.js @@ -1 +1 @@ -import{au as Hr,u as Jr,r as hr,av as Wr,j as O,D as qr,d as gr,I as Yr,m as Kr,e as Lr,f as Qr,aw as Vr,ax as Xr}from"./index-Ci_ePHVC.js";import{m as Zr}from"./chunk-IGSAU2ZA-DjYyfgzO.js";var j=Uint8Array,B=Uint16Array,jr=Int32Array,lr=new j([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),sr=new j([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),br=new j([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Dr=function(r,e){for(var a=new B(31),n=0;n<31;++n)a[n]=e+=1<>1|(p&21845)<<1;Q=(Q&52428)>>2|(Q&13107)<<2,Q=(Q&61680)>>4|(Q&3855)<<4,Cr[p]=((Q&65280)>>8|(Q&255)<<8)>>1}var q=(function(r,e,a){for(var n=r.length,t=0,o=new B(e);t>h]=u}else for(l=new B(n),t=0;t>15-r[t]);return l}),V=new j(288);for(var p=0;p<144;++p)V[p]=8;for(var p=144;p<256;++p)V[p]=9;for(var p=256;p<280;++p)V[p]=7;for(var p=280;p<288;++p)V[p]=8;var fr=new j(32);for(var p=0;p<32;++p)fr[p]=5;var ee=q(V,9,0),ae=q(V,9,1),ne=q(fr,5,0),te=q(fr,5,1),wr=function(r){for(var e=r[0],a=1;ae&&(e=r[a]);return e},J=function(r,e,a){var n=e/8|0;return(r[n]|r[n+1]<<8)>>(e&7)&a},xr=function(r,e){var a=e/8|0;return(r[a]|r[a+1]<<8|r[a+2]<<16)>>(e&7)},Ar=function(r){return(r+7)/8|0},cr=function(r,e,a){return(e==null||e<0)&&(e=0),(a==null||a>r.length)&&(a=r.length),new j(r.subarray(e,a))},oe=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],H=function(r,e,a){var n=new Error(e||oe[r]);if(n.code=r,Error.captureStackTrace&&Error.captureStackTrace(n,H),!a)throw n;return n},fe=function(r,e,a,n){var t=r.length,o=0;if(!t||e.f&&!e.l)return a||new j(0);var v=!a,l=v||e.i!=2,h=e.i;v&&(a=new j(t*3));var u=function(ar){var nr=a.length;if(ar>nr){var rr=new j(Math.max(nr*2,ar));rr.set(a),a=rr}},f=e.f||0,i=e.p||0,s=e.b||0,x=e.l,d=e.d,w=e.m,C=e.n,N=t*8;do{if(!x){f=J(r,i,1);var y=J(r,i+1,3);if(i+=3,y)if(y==1)x=ae,d=te,w=9,C=5;else if(y==2){var R=J(r,i,31)+257,A=J(r,i+10,15)+4,g=R+J(r,i+5,31)+1;i+=14;for(var c=new j(g),M=new j(19),T=0;T>4;if(m<16)c[T++]=m;else{var k=0,S=0;for(m==16?(S=3+J(r,i,3),i+=2,k=c[T-1]):m==17?(S=3+J(r,i,7),i+=3):m==18&&(S=11+J(r,i,127),i+=7);S--;)c[T++]=k}}var z=c.subarray(0,R),E=c.subarray(R);w=wr(z),C=wr(E),x=q(z,w,1),d=q(E,C,1)}else H(1);else{var m=Ar(i)+4,D=r[m-4]|r[m-3]<<8,F=m+D;if(F>t){h&&H(0);break}l&&u(s+D),a.set(r.subarray(m,F),s),e.b=s+=D,e.p=i=F*8,e.f=f;continue}if(i>N){h&&H(0);break}}l&&u(s+131072);for(var er=(1<>4;if(i+=k&15,i>N){h&&H(0);break}if(k||H(2),P<256)a[s++]=P;else if(P==256){Y=i,x=null;break}else{var $=P-254;if(P>264){var T=P-257,b=lr[T];$=J(r,i,(1<>4;W||H(3),i+=W&15;var E=re[X];if(X>3){var b=sr[X];E+=xr(r,i)&(1<N){h&&H(0);break}l&&u(s+131072);var Z=s+$;if(s>8},tr=function(r,e,a){a<<=e&7;var n=e/8|0;r[n]|=a,r[n+1]|=a>>8,r[n+2]|=a>>16},pr=function(r,e){for(var a=[],n=0;ns&&(s=o[n].s);var x=new B(s+1),d=mr(a[f-1],x,0);if(d>e){var n=0,w=0,C=d-e,N=1<e)w+=N-(1<>=C;w>0;){var m=o[n].s;x[m]=0&&w;--n){var D=o[n].s;x[D]==e&&(--x[D],++w)}d=e}return{t:new j(x),l:d}},mr=function(r,e,a){return r.s==-1?Math.max(mr(r.l,e,a+1),mr(r.r,e,a+1)):e[r.s]=a},kr=function(r){for(var e=r.length;e&&!r[--e];);for(var a=new B(++e),n=0,t=r[0],o=1,v=function(h){a[n++]=h},l=1;l<=e;++l)if(r[l]==t&&l!=e)++o;else{if(!t&&o>2){for(;o>138;o-=138)v(32754);o>2&&(v(o>10?o-11<<5|28690:o-3<<5|12305),o=0)}else if(o>3){for(v(t),--o;o>6;o-=6)v(8304);o>2&&(v(o-3<<5|8208),o=0)}for(;o--;)v(t);o=1,t=r[l]}return{c:a.subarray(0,n),n:e}},or=function(r,e){for(var a=0,n=0;n>8,r[t+2]=r[t]^255,r[t+3]=r[t+1]^255;for(var o=0;o4&&!M[br[I-1]];--I);var L=u+5<<3,U=or(t,V)+or(o,fr)+v,_=or(t,s)+or(o,w)+v+14+3*I+or(A,M)+2*A[16]+3*A[17]+7*A[18];if(h>=0&&L<=U&&L<=_)return Ur(e,f,r.subarray(h,h+u));var k,S,z,E;if(K(e,f,1+(_15&&(K(e,f,P[g]>>5&127),f+=P[g]>>12)}}else k=ee,S=V,z=ne,E=fr;for(var g=0;g255){var $=b>>18&31;tr(e,f,k[$+257]),f+=S[$+257],$>7&&(K(e,f,b>>23&31),f+=lr[$]);var W=b&31;tr(e,f,z[W]),f+=E[W],W>3&&(tr(e,f,b>>5&8191),f+=sr[W])}else tr(e,f,k[b]),f+=S[b]}return tr(e,f,k[256]),f+S[256]},ie=new jr([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Pr=new j(0),ve=function(r,e,a,n,t,o){var v=o.z||r.length,l=new j(n+v+5*(1+Math.ceil(v/7e3))+t),h=l.subarray(n,l.length-t),u=o.l,f=(o.r||0)&7;if(e){f&&(h[0]=o.r>>3);for(var i=ie[e-1],s=i>>13,x=i&8191,d=(1<7e3||M>24576)&&(k>423||!u)){f=Er(r,h,0,D,F,R,g,M,I,c-I,f),M=A=g=0,I=c;for(var S=0;S<286;++S)F[S]=0;for(var S=0;S<30;++S)R[S]=0}var z=2,E=0,er=x,G=U-_&32767;if(k>2&&L==m(c-G))for(var Y=Math.min(s,k)-1,P=Math.min(32767,c),$=Math.min(258,k);G<=P&&--er&&U!=_;){if(r[c+z]==r[c+z-G]){for(var b=0;b<$&&r[c+b]==r[c+b-G];++b);if(b>z){if(z=b,E=G,b>Y)break;for(var W=Math.min(G,b-2),X=0,S=0;SX&&(X=vr,_=Z)}}}U=_,_=w[U],G+=U-_&32767}if(E){D[M++]=268435456|dr[z]<<18|Mr[E];var ar=dr[z]&31,nr=Mr[E]&31;g+=lr[ar]+sr[nr],++F[257+ar],++R[nr],T=c+z,++A}else D[M++]=r[c],++F[r[c]]}}for(c=Math.max(c,T);c=v&&(h[f/8|0]=u,rr=v),f=Ur(h,f+1,r.subarray(c,rr))}o.i=v}return cr(l,0,n+Ar(f)+t)},$r=function(){var r=1,e=0;return{p:function(a){for(var n=r,t=e,o=a.length|0,v=0;v!=o;){for(var l=Math.min(v+2655,o);v>16),t=(t&65535)+15*(t>>16)}r=n,e=t},d:function(){return r%=65521,e%=65521,(r&255)<<24|(r&65280)<<8|(e&255)<<8|e>>8}}},le=function(r,e,a,n,t){if(!t&&(t={l:1},e.dictionary)){var o=e.dictionary.subarray(-32768),v=new j(o.length+r.length);v.set(o),v.set(r,o.length),r=v,t.w=o.length}return ve(r,e.level==null?6:e.level,e.mem==null?t.l?Math.ceil(Math.max(8,Math.min(13,Math.log(r.length)))*1.5):20:12+e.mem,a,n,t)},Br=function(r,e,a){for(;a;++e)r[e]=a,a>>>=8},se=function(r,e){var a=e.level,n=a==0?0:a<6?1:a==9?3:2;if(r[0]=120,r[1]=n<<6|(e.dictionary&&32),r[1]|=31-(r[0]<<8|r[1])%31,e.dictionary){var t=$r();t.p(e.dictionary),Br(r,2,t.d())}},ce=function(r,e){return((r[0]&15)!=8||r[0]>>4>7||(r[0]<<8|r[1])%31)&&H(6,"invalid zlib data"),(r[1]>>5&1)==1&&H(6,"invalid zlib data: "+(r[1]&32?"need":"unexpected")+" dictionary"),(r[1]>>3&4)+2};function ue(r,e){e||(e={});var a=$r();a.p(r);var n=le(r,e,e.dictionary?6:2,4);return se(n,e),Br(n,n.length-4,a.d()),n}function he(r,e){return fe(r.subarray(ce(r),-4),{i:2},e,e)}var Fr=typeof TextEncoder<"u"&&new TextEncoder,Tr=typeof TextDecoder<"u"&&new TextDecoder,ge=0;try{Tr.decode(Pr,{stream:!0}),ge=1}catch{}var we=function(r){for(var e="",a=0;;){var n=r[a++],t=(n>127)+(n>223)+(n>239);if(a+t>r.length)return{s:e,r:cr(r,a-1)};t?t==3?(n=((n&15)<<18|(r[a++]&63)<<12|(r[a++]&63)<<6|r[a++]&63)-65536,e+=String.fromCharCode(55296|n>>10,56320|n&1023)):t&1?e+=String.fromCharCode((n&31)<<6|r[a++]&63):e+=String.fromCharCode((n&15)<<12|(r[a++]&63)<<6|r[a++]&63):e+=String.fromCharCode(n)}};function Ir(r,e){if(e){for(var a=new j(r.length),n=0;n>1)),v=0,l=function(f){o[v++]=f},n=0;no.length){var h=new j(v+8+(t-n<<1));h.set(o),o=h}var u=r.charCodeAt(n);u<128||e?l(u):u<2048?(l(192|u>>6),l(128|u&63)):u>55295&&u<57344?(u=65536+(u&1047552)|r.charCodeAt(++n)&1023,l(240|u>>18),l(128|u>>12&63),l(128|u>>6&63),l(128|u&63)):(l(224|u>>12),l(128|u>>6&63),l(128|u&63))}return cr(o,0,v)}function Or(r,e){if(e){for(var a="",n=0;n`,Sr=``;function pe(r){if(typeof r!="object"||r===null)return!1;const e=r;return!(typeof e.history!="object"||"followupMessages"in e&&typeof e.followupMessages!="object"||"chatOptions"in e&&typeof e.chatOptions!="object"||"serverState"in e&&typeof e.serverState!="object"||"conversationId"in e&&typeof e.conversationId!="string"&&typeof e.conversationId!="object")}function be(){const{restore:r,getCurrentConversation:e}=Hr(),{isOpen:a,onOpen:n,onClose:t}=Jr(),[o,v]=hr.useState(Nr),l=hr.useRef(null),h=Wr(),u=()=>{const{chatOptions:i,history:s,serverState:x,conversationId:d,followupMessages:w}=e(),C=Vr({chatOptions:i,history:s,serverState:x,conversationId:d,followupMessages:w}),N=Ir(`${yr}${JSON.stringify(C)}${Sr}`),y=btoa(Or(ue(N,{level:9}),!0));navigator.clipboard.writeText(y),v(xe),t(),l.current&&clearTimeout(l.current),l.current=setTimeout(()=>{v(Nr)},2e3)},f=()=>{t()};return hr.useEffect(()=>{const i=s=>{if(!s.clipboardData){console.warn("[Share] Nothing to parse, skipping.");return}const x=s.clipboardData.types;if(!x.includes("text/plain")&&!x.includes("text")){console.warn("[Share] Invalid content type of pasted content, skipping.");return}const d=s.clipboardData.getData("text/plain")??s.clipboardData.getData("text");try{const w=atob(d);if(!w.startsWith("xÚ")){console.warn("[Share] Incorrect header, skipping.");return}const C=Or(he(Ir(w,!0)));if(!C.startsWith(yr)||!C.endsWith(Sr)){console.warn("[Share] Failed to parse as valid Ragbits state, skipping.");return}s.preventDefault(),s.stopPropagation();const N=C.slice(yr.length,-Sr.length),y=JSON.parse(N);if(!pe(y)){console.warn("[Share] Pasted state didn't pass validation, skipping.");return}const m=r(y.history,y.followupMessages,y.chatOptions,y.serverState,y.conversationId);h(Xr(m))}catch(w){console.error("[Share] Couldn't parse pasted string as valid Ragbits state",w)}};return window.addEventListener("paste",i),()=>{window.removeEventListener("paste",i)}}),O.jsxs(O.Fragment,{children:[O.jsx(qr,{content:"Share conversation",placement:"bottom",children:O.jsx(gr,{isIconOnly:!0,variant:"ghost",className:"p-0","aria-label":"Share conversation",onPress:n,children:O.jsx(Yr,{icon:o})})}),O.jsx(Kr,{isOpen:a,onOpenChange:f,children:O.jsx(Lr,{children:i=>O.jsxs(O.Fragment,{children:[O.jsx(Zr,{className:"text-default-900 flex flex-col gap-1",children:"Share conversation"}),O.jsx(Qr,{children:O.jsxs("div",{className:"flex flex-col gap-4",children:[O.jsx("p",{className:"text-medium text-default-500",children:"You are about to copy a code that allows sharing and storing your current app state. Once copied, you can paste this code anywhere on the site to instantly return to this exact setup. It’s a quick way to save your progress or share it with others."}),O.jsxs("div",{className:"flex justify-end gap-4 py-4",children:[O.jsx(gr,{color:"danger",variant:"light",onPress:i,"aria-label":"Close share modal",children:"Cancel"}),O.jsx(gr,{color:"primary",onPress:u,"aria-label":"Copy to clipboard to share the conversation",children:"Copy to clipboard"})]})]})})]})})})]})}export{be as default}; +import{av as Hr,u as Jr,r as hr,aw as Wr,j as O,D as qr,d as gr,I as Yr,m as Kr,e as Lr,f as Qr,ax as Vr,ay as Xr}from"./index-DNu2TsOm.js";import{m as Zr}from"./chunk-IGSAU2ZA-PiNlOBXE.js";var j=Uint8Array,B=Uint16Array,jr=Int32Array,lr=new j([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),sr=new j([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),br=new j([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Dr=function(r,e){for(var a=new B(31),n=0;n<31;++n)a[n]=e+=1<>1|(p&21845)<<1;Q=(Q&52428)>>2|(Q&13107)<<2,Q=(Q&61680)>>4|(Q&3855)<<4,Cr[p]=((Q&65280)>>8|(Q&255)<<8)>>1}var q=(function(r,e,a){for(var n=r.length,t=0,o=new B(e);t>h]=u}else for(l=new B(n),t=0;t>15-r[t]);return l}),V=new j(288);for(var p=0;p<144;++p)V[p]=8;for(var p=144;p<256;++p)V[p]=9;for(var p=256;p<280;++p)V[p]=7;for(var p=280;p<288;++p)V[p]=8;var fr=new j(32);for(var p=0;p<32;++p)fr[p]=5;var ee=q(V,9,0),ae=q(V,9,1),ne=q(fr,5,0),te=q(fr,5,1),wr=function(r){for(var e=r[0],a=1;ae&&(e=r[a]);return e},J=function(r,e,a){var n=e/8|0;return(r[n]|r[n+1]<<8)>>(e&7)&a},xr=function(r,e){var a=e/8|0;return(r[a]|r[a+1]<<8|r[a+2]<<16)>>(e&7)},Ar=function(r){return(r+7)/8|0},cr=function(r,e,a){return(e==null||e<0)&&(e=0),(a==null||a>r.length)&&(a=r.length),new j(r.subarray(e,a))},oe=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],H=function(r,e,a){var n=new Error(e||oe[r]);if(n.code=r,Error.captureStackTrace&&Error.captureStackTrace(n,H),!a)throw n;return n},fe=function(r,e,a,n){var t=r.length,o=0;if(!t||e.f&&!e.l)return a||new j(0);var v=!a,l=v||e.i!=2,h=e.i;v&&(a=new j(t*3));var u=function(ar){var nr=a.length;if(ar>nr){var rr=new j(Math.max(nr*2,ar));rr.set(a),a=rr}},f=e.f||0,i=e.p||0,s=e.b||0,x=e.l,d=e.d,w=e.m,C=e.n,N=t*8;do{if(!x){f=J(r,i,1);var y=J(r,i+1,3);if(i+=3,y)if(y==1)x=ae,d=te,w=9,C=5;else if(y==2){var R=J(r,i,31)+257,A=J(r,i+10,15)+4,g=R+J(r,i+5,31)+1;i+=14;for(var c=new j(g),M=new j(19),T=0;T>4;if(m<16)c[T++]=m;else{var k=0,S=0;for(m==16?(S=3+J(r,i,3),i+=2,k=c[T-1]):m==17?(S=3+J(r,i,7),i+=3):m==18&&(S=11+J(r,i,127),i+=7);S--;)c[T++]=k}}var z=c.subarray(0,R),E=c.subarray(R);w=wr(z),C=wr(E),x=q(z,w,1),d=q(E,C,1)}else H(1);else{var m=Ar(i)+4,D=r[m-4]|r[m-3]<<8,F=m+D;if(F>t){h&&H(0);break}l&&u(s+D),a.set(r.subarray(m,F),s),e.b=s+=D,e.p=i=F*8,e.f=f;continue}if(i>N){h&&H(0);break}}l&&u(s+131072);for(var er=(1<>4;if(i+=k&15,i>N){h&&H(0);break}if(k||H(2),P<256)a[s++]=P;else if(P==256){Y=i,x=null;break}else{var $=P-254;if(P>264){var T=P-257,b=lr[T];$=J(r,i,(1<>4;W||H(3),i+=W&15;var E=re[X];if(X>3){var b=sr[X];E+=xr(r,i)&(1<N){h&&H(0);break}l&&u(s+131072);var Z=s+$;if(s>8},tr=function(r,e,a){a<<=e&7;var n=e/8|0;r[n]|=a,r[n+1]|=a>>8,r[n+2]|=a>>16},pr=function(r,e){for(var a=[],n=0;ns&&(s=o[n].s);var x=new B(s+1),d=mr(a[f-1],x,0);if(d>e){var n=0,w=0,C=d-e,N=1<e)w+=N-(1<>=C;w>0;){var m=o[n].s;x[m]=0&&w;--n){var D=o[n].s;x[D]==e&&(--x[D],++w)}d=e}return{t:new j(x),l:d}},mr=function(r,e,a){return r.s==-1?Math.max(mr(r.l,e,a+1),mr(r.r,e,a+1)):e[r.s]=a},kr=function(r){for(var e=r.length;e&&!r[--e];);for(var a=new B(++e),n=0,t=r[0],o=1,v=function(h){a[n++]=h},l=1;l<=e;++l)if(r[l]==t&&l!=e)++o;else{if(!t&&o>2){for(;o>138;o-=138)v(32754);o>2&&(v(o>10?o-11<<5|28690:o-3<<5|12305),o=0)}else if(o>3){for(v(t),--o;o>6;o-=6)v(8304);o>2&&(v(o-3<<5|8208),o=0)}for(;o--;)v(t);o=1,t=r[l]}return{c:a.subarray(0,n),n:e}},or=function(r,e){for(var a=0,n=0;n>8,r[t+2]=r[t]^255,r[t+3]=r[t+1]^255;for(var o=0;o4&&!M[br[I-1]];--I);var L=u+5<<3,U=or(t,V)+or(o,fr)+v,_=or(t,s)+or(o,w)+v+14+3*I+or(A,M)+2*A[16]+3*A[17]+7*A[18];if(h>=0&&L<=U&&L<=_)return Ur(e,f,r.subarray(h,h+u));var k,S,z,E;if(K(e,f,1+(_15&&(K(e,f,P[g]>>5&127),f+=P[g]>>12)}}else k=ee,S=V,z=ne,E=fr;for(var g=0;g255){var $=b>>18&31;tr(e,f,k[$+257]),f+=S[$+257],$>7&&(K(e,f,b>>23&31),f+=lr[$]);var W=b&31;tr(e,f,z[W]),f+=E[W],W>3&&(tr(e,f,b>>5&8191),f+=sr[W])}else tr(e,f,k[b]),f+=S[b]}return tr(e,f,k[256]),f+S[256]},ie=new jr([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Pr=new j(0),ve=function(r,e,a,n,t,o){var v=o.z||r.length,l=new j(n+v+5*(1+Math.ceil(v/7e3))+t),h=l.subarray(n,l.length-t),u=o.l,f=(o.r||0)&7;if(e){f&&(h[0]=o.r>>3);for(var i=ie[e-1],s=i>>13,x=i&8191,d=(1<7e3||M>24576)&&(k>423||!u)){f=Er(r,h,0,D,F,R,g,M,I,c-I,f),M=A=g=0,I=c;for(var S=0;S<286;++S)F[S]=0;for(var S=0;S<30;++S)R[S]=0}var z=2,E=0,er=x,G=U-_&32767;if(k>2&&L==m(c-G))for(var Y=Math.min(s,k)-1,P=Math.min(32767,c),$=Math.min(258,k);G<=P&&--er&&U!=_;){if(r[c+z]==r[c+z-G]){for(var b=0;b<$&&r[c+b]==r[c+b-G];++b);if(b>z){if(z=b,E=G,b>Y)break;for(var W=Math.min(G,b-2),X=0,S=0;SX&&(X=vr,_=Z)}}}U=_,_=w[U],G+=U-_&32767}if(E){D[M++]=268435456|dr[z]<<18|Mr[E];var ar=dr[z]&31,nr=Mr[E]&31;g+=lr[ar]+sr[nr],++F[257+ar],++R[nr],T=c+z,++A}else D[M++]=r[c],++F[r[c]]}}for(c=Math.max(c,T);c=v&&(h[f/8|0]=u,rr=v),f=Ur(h,f+1,r.subarray(c,rr))}o.i=v}return cr(l,0,n+Ar(f)+t)},$r=function(){var r=1,e=0;return{p:function(a){for(var n=r,t=e,o=a.length|0,v=0;v!=o;){for(var l=Math.min(v+2655,o);v>16),t=(t&65535)+15*(t>>16)}r=n,e=t},d:function(){return r%=65521,e%=65521,(r&255)<<24|(r&65280)<<8|(e&255)<<8|e>>8}}},le=function(r,e,a,n,t){if(!t&&(t={l:1},e.dictionary)){var o=e.dictionary.subarray(-32768),v=new j(o.length+r.length);v.set(o),v.set(r,o.length),r=v,t.w=o.length}return ve(r,e.level==null?6:e.level,e.mem==null?t.l?Math.ceil(Math.max(8,Math.min(13,Math.log(r.length)))*1.5):20:12+e.mem,a,n,t)},Br=function(r,e,a){for(;a;++e)r[e]=a,a>>>=8},se=function(r,e){var a=e.level,n=a==0?0:a<6?1:a==9?3:2;if(r[0]=120,r[1]=n<<6|(e.dictionary&&32),r[1]|=31-(r[0]<<8|r[1])%31,e.dictionary){var t=$r();t.p(e.dictionary),Br(r,2,t.d())}},ce=function(r,e){return((r[0]&15)!=8||r[0]>>4>7||(r[0]<<8|r[1])%31)&&H(6,"invalid zlib data"),(r[1]>>5&1)==1&&H(6,"invalid zlib data: "+(r[1]&32?"need":"unexpected")+" dictionary"),(r[1]>>3&4)+2};function ue(r,e){e||(e={});var a=$r();a.p(r);var n=le(r,e,e.dictionary?6:2,4);return se(n,e),Br(n,n.length-4,a.d()),n}function he(r,e){return fe(r.subarray(ce(r),-4),{i:2},e,e)}var Fr=typeof TextEncoder<"u"&&new TextEncoder,Tr=typeof TextDecoder<"u"&&new TextDecoder,ge=0;try{Tr.decode(Pr,{stream:!0}),ge=1}catch{}var we=function(r){for(var e="",a=0;;){var n=r[a++],t=(n>127)+(n>223)+(n>239);if(a+t>r.length)return{s:e,r:cr(r,a-1)};t?t==3?(n=((n&15)<<18|(r[a++]&63)<<12|(r[a++]&63)<<6|r[a++]&63)-65536,e+=String.fromCharCode(55296|n>>10,56320|n&1023)):t&1?e+=String.fromCharCode((n&31)<<6|r[a++]&63):e+=String.fromCharCode((n&15)<<12|(r[a++]&63)<<6|r[a++]&63):e+=String.fromCharCode(n)}};function Ir(r,e){if(e){for(var a=new j(r.length),n=0;n>1)),v=0,l=function(f){o[v++]=f},n=0;no.length){var h=new j(v+8+(t-n<<1));h.set(o),o=h}var u=r.charCodeAt(n);u<128||e?l(u):u<2048?(l(192|u>>6),l(128|u&63)):u>55295&&u<57344?(u=65536+(u&1047552)|r.charCodeAt(++n)&1023,l(240|u>>18),l(128|u>>12&63),l(128|u>>6&63),l(128|u&63)):(l(224|u>>12),l(128|u>>6&63),l(128|u&63))}return cr(o,0,v)}function Or(r,e){if(e){for(var a="",n=0;n`,Sr=``;function pe(r){if(typeof r!="object"||r===null)return!1;const e=r;return!(typeof e.history!="object"||"followupMessages"in e&&typeof e.followupMessages!="object"||"chatOptions"in e&&typeof e.chatOptions!="object"||"serverState"in e&&typeof e.serverState!="object"||"conversationId"in e&&typeof e.conversationId!="string"&&typeof e.conversationId!="object")}function be(){const{restore:r,getCurrentConversation:e}=Hr(),{isOpen:a,onOpen:n,onClose:t}=Jr(),[o,v]=hr.useState(Nr),l=hr.useRef(null),h=Wr(),u=()=>{const{chatOptions:i,history:s,serverState:x,conversationId:d,followupMessages:w}=e(),C=Vr({chatOptions:i,history:s,serverState:x,conversationId:d,followupMessages:w}),N=Ir(`${yr}${JSON.stringify(C)}${Sr}`),y=btoa(Or(ue(N,{level:9}),!0));navigator.clipboard.writeText(y),v(xe),t(),l.current&&clearTimeout(l.current),l.current=setTimeout(()=>{v(Nr)},2e3)},f=()=>{t()};return hr.useEffect(()=>{const i=s=>{if(!s.clipboardData){console.warn("[Share] Nothing to parse, skipping.");return}const x=s.clipboardData.types;if(!x.includes("text/plain")&&!x.includes("text")){console.warn("[Share] Invalid content type of pasted content, skipping.");return}const d=s.clipboardData.getData("text/plain")??s.clipboardData.getData("text");try{const w=atob(d);if(!w.startsWith("xÚ")){console.warn("[Share] Incorrect header, skipping.");return}const C=Or(he(Ir(w,!0)));if(!C.startsWith(yr)||!C.endsWith(Sr)){console.warn("[Share] Failed to parse as valid Ragbits state, skipping.");return}s.preventDefault(),s.stopPropagation();const N=C.slice(yr.length,-Sr.length),y=JSON.parse(N);if(!pe(y)){console.warn("[Share] Pasted state didn't pass validation, skipping.");return}const m=r(y.history,y.followupMessages,y.chatOptions,y.serverState,y.conversationId);h(Xr(m))}catch(w){console.error("[Share] Couldn't parse pasted string as valid Ragbits state",w)}};return window.addEventListener("paste",i),()=>{window.removeEventListener("paste",i)}}),O.jsxs(O.Fragment,{children:[O.jsx(qr,{content:"Share conversation",placement:"bottom",children:O.jsx(gr,{isIconOnly:!0,variant:"ghost",className:"p-0","aria-label":"Share conversation",onPress:n,children:O.jsx(Yr,{icon:o})})}),O.jsx(Kr,{isOpen:a,onOpenChange:f,children:O.jsx(Lr,{children:i=>O.jsxs(O.Fragment,{children:[O.jsx(Zr,{className:"text-default-900 flex flex-col gap-1",children:"Share conversation"}),O.jsx(Qr,{children:O.jsxs("div",{className:"flex flex-col gap-4",children:[O.jsx("p",{className:"text-medium text-default-500",children:"You are about to copy a code that allows sharing and storing your current app state. Once copied, you can paste this code anywhere on the site to instantly return to this exact setup. It’s a quick way to save your progress or share it with others."}),O.jsxs("div",{className:"flex justify-end gap-4 py-4",children:[O.jsx(gr,{color:"danger",variant:"light",onPress:i,"aria-label":"Close share modal",children:"Cancel"}),O.jsx(gr,{color:"primary",onPress:u,"aria-label":"Copy to clipboard to share the conversation",children:"Copy to clipboard"})]})]})})]})})})]})}export{be as default}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/UploadButton-DqZ6SPaw.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/UploadButton-Bvz87__R.js similarity index 91% rename from packages/ragbits-chat/src/ragbits/chat/ui-build/assets/UploadButton-DqZ6SPaw.js rename to packages/ragbits-chat/src/ragbits/chat/ui-build/assets/UploadButton-Bvz87__R.js index 50c8b400b..a606e664a 100644 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/UploadButton-DqZ6SPaw.js +++ b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/UploadButton-Bvz87__R.js @@ -1 +1 @@ -import{r as d,c as u,j as a,d as p,I as f}from"./index-Ci_ePHVC.js";function m({isInputDisabled:n}){const e=d.useRef(null),{call:s,isLoading:i}=u("/api/upload"),o=()=>{e.current?.click()},r=async c=>{const l=c.target.files?.[0];if(l)try{const t=new FormData;t.append("file",l),await s({method:"POST",body:t})}catch(t){console.error("Upload failed",t)}finally{e.current&&(e.current.value="")}};return a.jsxs(a.Fragment,{children:[a.jsx("input",{type:"file",ref:e,className:"hidden",onChange:r}),a.jsx(p,{isIconOnly:!0,"aria-label":"Upload file",variant:"ghost",onPress:o,isLoading:i,isDisabled:n,className:"p-0","data-testid":"upload-file-button",children:a.jsx(f,{className:"text-default-500",icon:"heroicons:paper-clip",width:20})})]})}export{m as default}; +import{r as d,c as u,j as a,d as p,I as f}from"./index-DNu2TsOm.js";function m({isInputDisabled:n}){const e=d.useRef(null),{call:s,isLoading:i}=u("/api/upload"),o=()=>{e.current?.click()},r=async c=>{const l=c.target.files?.[0];if(l)try{const t=new FormData;t.append("file",l),await s({method:"POST",body:t})}catch(t){console.error("Upload failed",t)}finally{e.current&&(e.current.value="")}};return a.jsxs(a.Fragment,{children:[a.jsx("input",{type:"file",ref:e,className:"hidden",onChange:r}),a.jsx(p,{isIconOnly:!0,"aria-label":"Upload file",variant:"ghost",onPress:o,isLoading:i,isDisabled:n,className:"p-0","data-testid":"upload-file-button",children:a.jsx(f,{className:"text-default-500",icon:"heroicons:paper-clip",width:20})})]})}export{m as default}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/UsageButton-DUiVSTjo.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/UsageButton-DUiVSTjo.js new file mode 100644 index 000000000..ad4f62f58 --- /dev/null +++ b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/UsageButton-DUiVSTjo.js @@ -0,0 +1 @@ +import{r as k,aX as Ml,aY as ae,t as Ne,k as ie,aK as z,aZ as W,a_ as U,a$ as te,b0 as Tl,aT as _,b1 as Rl,b2 as Vl,A as ze,b3 as ue,b4 as Ol,K as pe,H as Hl,J,M as Ll,b5 as L,af as Ul,b6 as Y,b7 as Z,b8 as le,U as Wl,b9 as Gl,ba as Ce,bb as Yl,l as T,R as M,W as X,Z as K,j as h,v as I,a2 as w,ap as be,au as Fe,a3 as O,w as Zl,y as _l,x as ql,a5 as q,O as Jl,Q as Pe,a0 as Ke,X as Ie,u as Xl,as as De,D as Ql,d as eu,I as tu,m as lu,e as uu,f as nu,bc as ou}from"./index-DNu2TsOm.js";import{b as fe,$ as je}from"./useSelectableItem-DetG025q.js";import{C as su,u as iu}from"./index-Blcoag_7.js";import{m as ru}from"./chunk-IGSAU2ZA-PiNlOBXE.js";function Me(e,t){const l=k.useRef(!0),u=k.useRef(null);k.useEffect(()=>(l.current=!0,()=>{l.current=!1}),[]),k.useEffect(()=>{let o=u.current;l.current?l.current=!1:(!o||t.some((n,s)=>!Object.is(n,o[s])))&&e(),u.current=t},t)}function au(e,t){let l=t?.isDisabled,[u,o]=k.useState(!1);return Ml(()=>{if(e?.current&&!l){let n=()=>{if(e.current){let r=ae(e.current,{tabbable:!0});o(!!r.nextNode())}};n();let s=new MutationObserver(n);return s.observe(e.current,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["tabIndex","disabled"]}),()=>{s.disconnect()}}}),l?!1:u}var ke=Ne({base:"w-px h-px inline-block",variants:{isInline:{true:"inline-block",false:"block"}},defaultVariants:{isInline:!1}}),Be=Ne({slots:{base:"flex flex-col relative gap-4",wrapper:["p-4","z-0","flex","flex-col","relative","justify-between","gap-4","shadow-small","bg-content1","overflow-auto"],table:"min-w-full h-auto",thead:"[&>tr]:first:rounded-lg",tbody:"after:block",tr:["group/tr","outline-hidden",...ie],th:["group/th","px-3","h-10","text-start","align-middle","bg-default-100","whitespace-nowrap","text-foreground-500","text-tiny","font-semibold","first:rounded-s-lg","last:rounded-e-lg","outline-hidden","data-[sortable=true]:cursor-pointer","data-[hover=true]:text-foreground-400",...ie],td:["py-2","px-3","relative","align-middle","whitespace-normal","text-small","font-normal","outline-hidden","[&>*]:z-1","[&>*]:relative",...ie,"before:pointer-events-none","before:content-['']","before:absolute","before:z-0","before:inset-0","before:opacity-0","data-[selected=true]:before:opacity-100","group-data-[disabled=true]/tr:text-foreground-300","group-data-[disabled=true]/tr:cursor-not-allowed"],tfoot:"",sortIcon:["ms-2","mb-px","opacity-0","text-inherit","inline-block","transition-transform-opacity","data-[visible=true]:opacity-100","group-data-[hover=true]/th:opacity-100","data-[direction=ascending]:rotate-180"],emptyWrapper:"text-foreground-400 align-middle text-center h-40",loadingWrapper:"absolute inset-0 flex items-center justify-center"},variants:{color:{default:{td:"before:bg-default/60 data-[selected=true]:text-default-foreground"},primary:{td:"before:bg-primary/20 data-[selected=true]:text-primary"},secondary:{td:"before:bg-secondary/20 data-[selected=true]:text-secondary"},success:{td:"before:bg-success/20 data-[selected=true]:text-success-600 dark:data-[selected=true]:text-success"},warning:{td:"before:bg-warning/20 data-[selected=true]:text-warning-600 dark:data-[selected=true]:text-warning"},danger:{td:"before:bg-danger/20 data-[selected=true]:text-danger dark:data-[selected=true]:text-danger-500"}},layout:{auto:{table:"table-auto"},fixed:{table:"table-fixed"}},shadow:{none:{wrapper:"shadow-none"},sm:{wrapper:"shadow-small"},md:{wrapper:"shadow-medium"},lg:{wrapper:"shadow-large"}},hideHeader:{true:{thead:"hidden"}},isStriped:{true:{td:["group-data-[odd=true]/tr:before:bg-default-100","group-data-[odd=true]/tr:before:opacity-100","group-data-[odd=true]/tr:before:-z-10"]}},isCompact:{true:{td:"py-1"},false:{}},isHeaderSticky:{true:{thead:"sticky top-0 z-20 [&>tr]:first:shadow-small"}},isSelectable:{true:{tr:"cursor-default",td:["group-aria-[selected=false]/tr:group-data-[hover=true]/tr:before:bg-default-100","group-aria-[selected=false]/tr:group-data-[hover=true]/tr:before:opacity-70"]}},isMultiSelectable:{true:{td:["group-data-[first=true]/tr:first:before:rounded-ss-lg","group-data-[first=true]/tr:last:before:rounded-se-lg","group-data-[middle=true]/tr:before:rounded-none","group-data-[last=true]/tr:first:before:rounded-es-lg","group-data-[last=true]/tr:last:before:rounded-ee-lg"]},false:{td:["first:before:rounded-s-lg","last:before:rounded-e-lg"]}},radius:{none:{wrapper:"rounded-none",th:["first:rounded-s-none","first:before:rounded-s-none","last:rounded-e-none","last:before:rounded-e-none"],td:["first:before:rounded-s-none","last:before:rounded-e-none","group-data-[first=true]/tr:first:before:rounded-ss-none","group-data-[first=true]/tr:last:before:rounded-se-none","group-data-[last=true]/tr:first:before:rounded-es-none","group-data-[last=true]/tr:last:before:rounded-ee-none"]},sm:{wrapper:"rounded-small"},md:{wrapper:"rounded-medium"},lg:{wrapper:"rounded-large"}},fullWidth:{true:{base:"w-full",wrapper:"w-full",table:"w-full"}},align:{start:{th:"text-start",td:"text-start"},center:{th:"text-center",td:"text-center"},end:{th:"text-end",td:"text-end"}}},defaultVariants:{layout:"auto",shadow:"sm",radius:"lg",color:"default",isCompact:!1,hideHeader:!1,isStriped:!1,fullWidth:!0,align:"start"},compoundVariants:[{isStriped:!0,color:"default",class:{td:"group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-default/60"}},{isStriped:!0,color:"primary",class:{td:"group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-primary/20"}},{isStriped:!0,color:"secondary",class:{td:"group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-secondary/20"}},{isStriped:!0,color:"success",class:{td:"group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-success/20"}},{isStriped:!0,color:"warning",class:{td:"group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-warning/20"}},{isStriped:!0,color:"danger",class:{td:"group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-danger/20"}}]});const he=new WeakMap;function ce(e){return typeof e=="string"?e.replace(/\s*/g,""):""+e}function cu(e,t){let l=he.get(e);if(!l)throw new Error("Unknown grid");return`${l}-${ce(t)}`}function Te(e,t,l){let u=he.get(e);if(!u)throw new Error("Unknown grid");return`${u}-${ce(t)}-${ce(l)}`}function Re(e,t){return[...e.collection.rowHeaderColumnKeys].map(l=>Te(e,t,l)).join(" ")}var Ve={};Ve={ascending:"تصاعدي",ascendingSort:e=>`ترتيب حسب العمود ${e.columnName} بترتيب تصاعدي`,columnSize:e=>`${e.value} بالبكسل`,descending:"تنازلي",descendingSort:e=>`ترتيب حسب العمود ${e.columnName} بترتيب تنازلي`,resizerDescription:"اضغط على مفتاح Enter لبدء تغيير الحجم",select:"تحديد",selectAll:"تحديد الكل",sortable:"عمود قابل للترتيب"};var Oe={};Oe={ascending:"възходящ",ascendingSort:e=>`сортирано по колона ${e.columnName} във възходящ ред`,columnSize:e=>`${e.value} пиксела`,descending:"низходящ",descendingSort:e=>`сортирано по колона ${e.columnName} в низходящ ред`,resizerDescription:"Натиснете „Enter“, за да започнете да преоразмерявате",select:"Изберете",selectAll:"Изберете всичко",sortable:"сортираща колона"};var He={};He={ascending:"vzestupně",ascendingSort:e=>`řazeno vzestupně podle sloupce ${e.columnName}`,columnSize:e=>`${e.value} pixelů`,descending:"sestupně",descendingSort:e=>`řazeno sestupně podle sloupce ${e.columnName}`,resizerDescription:"Stisknutím klávesy Enter začnete měnit velikost",select:"Vybrat",selectAll:"Vybrat vše",sortable:"sloupec s možností řazení"};var Le={};Le={ascending:"stigende",ascendingSort:e=>`sorteret efter kolonne ${e.columnName} i stigende rækkefølge`,columnSize:e=>`${e.value} pixels`,descending:"faldende",descendingSort:e=>`sorteret efter kolonne ${e.columnName} i faldende rækkefølge`,resizerDescription:"Tryk på Enter for at ændre størrelse",select:"Vælg",selectAll:"Vælg alle",sortable:"sorterbar kolonne"};var Ue={};Ue={ascending:"aufsteigend",ascendingSort:e=>`sortiert nach Spalte ${e.columnName} in aufsteigender Reihenfolge`,columnSize:e=>`${e.value} Pixel`,descending:"absteigend",descendingSort:e=>`sortiert nach Spalte ${e.columnName} in absteigender Reihenfolge`,resizerDescription:"Eingabetaste zum Starten der Größenänderung drücken",select:"Auswählen",selectAll:"Alles auswählen",sortable:"sortierbare Spalte"};var We={};We={ascending:"αύξουσα",ascendingSort:e=>`διαλογή ανά στήλη ${e.columnName} σε αύξουσα σειρά`,columnSize:e=>`${e.value} pixel`,descending:"φθίνουσα",descendingSort:e=>`διαλογή ανά στήλη ${e.columnName} σε φθίνουσα σειρά`,resizerDescription:"Πατήστε Enter για έναρξη της αλλαγής μεγέθους",select:"Επιλογή",selectAll:"Επιλογή όλων",sortable:"Στήλη διαλογής"};var Ge={};Ge={select:"Select",selectAll:"Select All",sortable:"sortable column",ascending:"ascending",descending:"descending",ascendingSort:e=>`sorted by column ${e.columnName} in ascending order`,descendingSort:e=>`sorted by column ${e.columnName} in descending order`,columnSize:e=>`${e.value} pixels`,resizerDescription:"Press Enter to start resizing"};var Ye={};Ye={ascending:"ascendente",ascendingSort:e=>`ordenado por columna ${e.columnName} en sentido ascendente`,columnSize:e=>`${e.value} píxeles`,descending:"descendente",descendingSort:e=>`ordenado por columna ${e.columnName} en orden descendente`,resizerDescription:"Pulse Intro para empezar a redimensionar",select:"Seleccionar",selectAll:"Seleccionar todos",sortable:"columna ordenable"};var Ze={};Ze={ascending:"tõusev järjestus",ascendingSort:e=>`sorditud veeru järgi ${e.columnName} tõusvas järjestuses`,columnSize:e=>`${e.value} pikslit`,descending:"laskuv järjestus",descendingSort:e=>`sorditud veeru järgi ${e.columnName} laskuvas järjestuses`,resizerDescription:"Suuruse muutmise alustamiseks vajutage klahvi Enter",select:"Vali",selectAll:"Vali kõik",sortable:"sorditav veerg"};var _e={};_e={ascending:"nouseva",ascendingSort:e=>`lajiteltu sarakkeen ${e.columnName} mukaan nousevassa järjestyksessä`,columnSize:e=>`${e.value} pikseliä`,descending:"laskeva",descendingSort:e=>`lajiteltu sarakkeen ${e.columnName} mukaan laskevassa järjestyksessä`,resizerDescription:"Aloita koon muutos painamalla Enter-näppäintä",select:"Valitse",selectAll:"Valitse kaikki",sortable:"lajiteltava sarake"};var qe={};qe={ascending:"croissant",ascendingSort:e=>`trié en fonction de la colonne ${e.columnName} par ordre croissant`,columnSize:e=>`${e.value} pixels`,descending:"décroissant",descendingSort:e=>`trié en fonction de la colonne ${e.columnName} par ordre décroissant`,resizerDescription:"Appuyez sur Entrée pour commencer le redimensionnement.",select:"Sélectionner",selectAll:"Sélectionner tout",sortable:"colonne triable"};var Je={};Je={ascending:"עולה",ascendingSort:e=>`מוין לפי עמודה ${e.columnName} בסדר עולה`,columnSize:e=>`${e.value} פיקסלים`,descending:"יורד",descendingSort:e=>`מוין לפי עמודה ${e.columnName} בסדר יורד`,resizerDescription:"הקש Enter כדי לשנות את הגודל",select:"בחר",selectAll:"בחר הכול",sortable:"עמודה שניתן למיין"};var Xe={};Xe={ascending:"rastući",ascendingSort:e=>`razvrstano po stupcima ${e.columnName} rastućem redoslijedom`,columnSize:e=>`${e.value} piksela`,descending:"padajući",descendingSort:e=>`razvrstano po stupcima ${e.columnName} padajućim redoslijedom`,resizerDescription:"Pritisnite Enter da biste započeli promenu veličine",select:"Odaberite",selectAll:"Odaberite sve",sortable:"stupac koji se može razvrstati"};var Qe={};Qe={ascending:"növekvő",ascendingSort:e=>`rendezve a(z) ${e.columnName} oszlop szerint, növekvő sorrendben`,columnSize:e=>`${e.value} képpont`,descending:"csökkenő",descendingSort:e=>`rendezve a(z) ${e.columnName} oszlop szerint, csökkenő sorrendben`,resizerDescription:"Nyomja le az Enter billentyűt az átméretezés megkezdéséhez",select:"Kijelölés",selectAll:"Összes kijelölése",sortable:"rendezendő oszlop"};var et={};et={ascending:"crescente",ascendingSort:e=>`in ordine crescente in base alla colonna ${e.columnName}`,columnSize:e=>`${e.value} pixel`,descending:"decrescente",descendingSort:e=>`in ordine decrescente in base alla colonna ${e.columnName}`,resizerDescription:"Premi Invio per iniziare a ridimensionare",select:"Seleziona",selectAll:"Seleziona tutto",sortable:"colonna ordinabile"};var tt={};tt={ascending:"昇順",ascendingSort:e=>`列 ${e.columnName} を昇順で並べ替え`,columnSize:e=>`${e.value} ピクセル`,descending:"降順",descendingSort:e=>`列 ${e.columnName} を降順で並べ替え`,resizerDescription:"Enter キーを押してサイズ変更を開始",select:"選択",selectAll:"すべて選択",sortable:"並べ替え可能な列"};var lt={};lt={ascending:"오름차순",ascendingSort:e=>`${e.columnName} 열을 기준으로 오름차순으로 정렬됨`,columnSize:e=>`${e.value} 픽셀`,descending:"내림차순",descendingSort:e=>`${e.columnName} 열을 기준으로 내림차순으로 정렬됨`,resizerDescription:"크기 조정을 시작하려면 Enter를 누르세요.",select:"선택",selectAll:"모두 선택",sortable:"정렬 가능한 열"};var ut={};ut={ascending:"didėjančia tvarka",ascendingSort:e=>`surikiuota pagal stulpelį ${e.columnName} didėjančia tvarka`,columnSize:e=>`${e.value} piks.`,descending:"mažėjančia tvarka",descendingSort:e=>`surikiuota pagal stulpelį ${e.columnName} mažėjančia tvarka`,resizerDescription:"Paspauskite „Enter“, kad pradėtumėte keisti dydį",select:"Pasirinkti",selectAll:"Pasirinkti viską",sortable:"rikiuojamas stulpelis"};var nt={};nt={ascending:"augošā secībā",ascendingSort:e=>`kārtots pēc kolonnas ${e.columnName} augošā secībā`,columnSize:e=>`${e.value} pikseļi`,descending:"dilstošā secībā",descendingSort:e=>`kārtots pēc kolonnas ${e.columnName} dilstošā secībā`,resizerDescription:"Nospiediet Enter, lai sāktu izmēru mainīšanu",select:"Atlasīt",selectAll:"Atlasīt visu",sortable:"kārtojamā kolonna"};var ot={};ot={ascending:"stigende",ascendingSort:e=>`sortert etter kolonne ${e.columnName} i stigende rekkefølge`,columnSize:e=>`${e.value} piksler`,descending:"synkende",descendingSort:e=>`sortert etter kolonne ${e.columnName} i synkende rekkefølge`,resizerDescription:"Trykk på Enter for å starte størrelsesendring",select:"Velg",selectAll:"Velg alle",sortable:"kolonne som kan sorteres"};var st={};st={ascending:"oplopend",ascendingSort:e=>`gesorteerd in oplopende volgorde in kolom ${e.columnName}`,columnSize:e=>`${e.value} pixels`,descending:"aflopend",descendingSort:e=>`gesorteerd in aflopende volgorde in kolom ${e.columnName}`,resizerDescription:"Druk op Enter om het formaat te wijzigen",select:"Selecteren",selectAll:"Alles selecteren",sortable:"sorteerbare kolom"};var it={};it={ascending:"rosnąco",ascendingSort:e=>`posortowano według kolumny ${e.columnName} w porządku rosnącym`,columnSize:e=>`Liczba pikseli: ${e.value}`,descending:"malejąco",descendingSort:e=>`posortowano według kolumny ${e.columnName} w porządku malejącym`,resizerDescription:"Naciśnij Enter, aby rozpocząć zmienianie rozmiaru",select:"Zaznacz",selectAll:"Zaznacz wszystko",sortable:"kolumna z możliwością sortowania"};var rt={};rt={ascending:"crescente",ascendingSort:e=>`classificado pela coluna ${e.columnName} em ordem crescente`,columnSize:e=>`${e.value} pixels`,descending:"decrescente",descendingSort:e=>`classificado pela coluna ${e.columnName} em ordem decrescente`,resizerDescription:"Pressione Enter para começar a redimensionar",select:"Selecionar",selectAll:"Selecionar tudo",sortable:"coluna classificável"};var at={};at={ascending:"ascendente",ascendingSort:e=>`Ordenar por coluna ${e.columnName} em ordem ascendente`,columnSize:e=>`${e.value} pixels`,descending:"descendente",descendingSort:e=>`Ordenar por coluna ${e.columnName} em ordem descendente`,resizerDescription:"Prima Enter para iniciar o redimensionamento",select:"Selecionar",selectAll:"Selecionar tudo",sortable:"Coluna ordenável"};var ct={};ct={ascending:"crescătoare",ascendingSort:e=>`sortate după coloana ${e.columnName} în ordine crescătoare`,columnSize:e=>`${e.value} pixeli`,descending:"descrescătoare",descendingSort:e=>`sortate după coloana ${e.columnName} în ordine descrescătoare`,resizerDescription:"Apăsați pe Enter pentru a începe redimensionarea",select:"Selectare",selectAll:"Selectare totală",sortable:"coloană sortabilă"};var dt={};dt={ascending:"возрастание",ascendingSort:e=>`сортировать столбец ${e.columnName} в порядке возрастания`,columnSize:e=>`${e.value} пикс.`,descending:"убывание",descendingSort:e=>`сортировать столбец ${e.columnName} в порядке убывания`,resizerDescription:"Нажмите клавишу Enter для начала изменения размеров",select:"Выбрать",selectAll:"Выбрать все",sortable:"сортируемый столбец"};var mt={};mt={ascending:"vzostupne",ascendingSort:e=>`zoradené zostupne podľa stĺpca ${e.columnName}`,columnSize:e=>`Počet pixelov: ${e.value}`,descending:"zostupne",descendingSort:e=>`zoradené zostupne podľa stĺpca ${e.columnName}`,resizerDescription:"Stlačením klávesu Enter začnete zmenu veľkosti",select:"Vybrať",selectAll:"Vybrať všetko",sortable:"zoraditeľný stĺpec"};var pt={};pt={ascending:"naraščajoče",ascendingSort:e=>`razvrščeno po stolpcu ${e.columnName} v naraščajočem vrstnem redu`,columnSize:e=>`${e.value} slikovnih pik`,descending:"padajoče",descendingSort:e=>`razvrščeno po stolpcu ${e.columnName} v padajočem vrstnem redu`,resizerDescription:"Pritisnite tipko Enter da začnete spreminjati velikost",select:"Izberite",selectAll:"Izberite vse",sortable:"razvrstljivi stolpec"};var bt={};bt={ascending:"rastući",ascendingSort:e=>`sortirano po kolonama ${e.columnName} rastućim redosledom`,columnSize:e=>`${e.value} piksela`,descending:"padajući",descendingSort:e=>`sortirano po kolonama ${e.columnName} padajućim redosledom`,resizerDescription:"Pritisnite Enter da biste započeli promenu veličine",select:"Izaberite",selectAll:"Izaberite sve",sortable:"kolona koja se može sortirati"};var ft={};ft={ascending:"stigande",ascendingSort:e=>`sorterat på kolumn ${e.columnName} i stigande ordning`,columnSize:e=>`${e.value} pixlar`,descending:"fallande",descendingSort:e=>`sorterat på kolumn ${e.columnName} i fallande ordning`,resizerDescription:"Tryck på Retur för att börja ändra storlek",select:"Markera",selectAll:"Markera allt",sortable:"sorterbar kolumn"};var ht={};ht={ascending:"artan sırada",ascendingSort:e=>`${e.columnName} sütuna göre artan düzende sırala`,columnSize:e=>`${e.value} piksel`,descending:"azalan sırada",descendingSort:e=>`${e.columnName} sütuna göre azalan düzende sırala`,resizerDescription:"Yeniden boyutlandırmak için Enter'a basın",select:"Seç",selectAll:"Tümünü Seç",sortable:"Sıralanabilir sütun"};var vt={};vt={ascending:"висхідний",ascendingSort:e=>`відсортовано за стовпцем ${e.columnName} у висхідному порядку`,columnSize:e=>`${e.value} пікс.`,descending:"низхідний",descendingSort:e=>`відсортовано за стовпцем ${e.columnName} у низхідному порядку`,resizerDescription:"Натисніть Enter, щоб почати зміну розміру",select:"Вибрати",selectAll:"Вибрати все",sortable:"сортувальний стовпець"};var gt={};gt={ascending:"升序",ascendingSort:e=>`按列 ${e.columnName} 升序排序`,columnSize:e=>`${e.value} 像素`,descending:"降序",descendingSort:e=>`按列 ${e.columnName} 降序排序`,resizerDescription:"按“输入”键开始调整大小。",select:"选择",selectAll:"全选",sortable:"可排序的列"};var $t={};$t={ascending:"遞增",ascendingSort:e=>`已依據「${e.columnName}」欄遞增排序`,columnSize:e=>`${e.value} 像素`,descending:"遞減",descendingSort:e=>`已依據「${e.columnName}」欄遞減排序`,resizerDescription:"按 Enter 鍵以開始調整大小",select:"選取",selectAll:"全選",sortable:"可排序的欄"};var ne={};ne={"ar-AE":Ve,"bg-BG":Oe,"cs-CZ":He,"da-DK":Le,"de-DE":Ue,"el-GR":We,"en-US":Ge,"es-ES":Ye,"et-EE":Ze,"fi-FI":_e,"fr-FR":qe,"he-IL":Je,"hr-HR":Xe,"hu-HU":Qe,"it-IT":et,"ja-JP":tt,"ko-KR":lt,"lt-LT":ut,"lv-LV":nt,"nb-NO":ot,"nl-NL":st,"pl-PL":it,"pt-BR":rt,"pt-PT":at,"ro-RO":ct,"ru-RU":dt,"sk-SK":mt,"sl-SI":pt,"sr-SP":bt,"sv-SE":ft,"tr-TR":ht,"uk-UA":vt,"zh-CN":gt,"zh-TW":$t};class yt{isCell(t){return t.type==="cell"}isRow(t){return t.type==="row"||t.type==="item"}isDisabled(t){var l;return this.disabledBehavior==="all"&&(((l=t.props)===null||l===void 0?void 0:l.isDisabled)||this.disabledKeys.has(t.key))}findPreviousKey(t,l){let u=t!=null?this.collection.getKeyBefore(t):this.collection.getLastKey();for(;u!=null;){let o=this.collection.getItem(u);if(!o)return null;if(!this.isDisabled(o)&&(!l||l(o)))return u;u=this.collection.getKeyBefore(u)}return null}findNextKey(t,l){let u=t!=null?this.collection.getKeyAfter(t):this.collection.getFirstKey();for(;u!=null;){let o=this.collection.getItem(u);if(!o)return null;if(!this.isDisabled(o)&&(!l||l(o)))return u;if(u=this.collection.getKeyAfter(u),u==null)return null}return null}getKeyForItemInRowByIndex(t,l=0){if(l<0)return null;let u=this.collection.getItem(t);if(!u)return null;let o=0;for(let r of z(u,this.collection)){var n;if(r.colSpan&&r.colSpan+o>l)return(n=r.key)!==null&&n!==void 0?n:null;r.colSpan&&(o=o+r.colSpan-1);var s;if(o===l)return(s=r.key)!==null&&s!==void 0?s:null;o++}return null}getKeyBelow(t){let l=t,u=this.collection.getItem(l);if(!u)return null;var o;if(this.isCell(u)&&(l=(o=u.parentKey)!==null&&o!==void 0?o:null),l==null)return null;if(l=this.findNextKey(l,n=>n.type==="item"),l!=null){if(this.isCell(u)){let n=u.colIndex?u.colIndex:u.index;return this.getKeyForItemInRowByIndex(l,n)}if(this.focusMode==="row")return l}return null}getKeyAbove(t){let l=t,u=this.collection.getItem(l);if(!u)return null;var o;if(this.isCell(u)&&(l=(o=u.parentKey)!==null&&o!==void 0?o:null),l==null)return null;if(l=this.findPreviousKey(l,n=>n.type==="item"),l!=null){if(this.isCell(u)){let n=u.colIndex?u.colIndex:u.index;return this.getKeyForItemInRowByIndex(l,n)}if(this.focusMode==="row")return l}return null}getKeyRightOf(t){let l=this.collection.getItem(t);if(!l)return null;if(this.isRow(l)){var u,o;let c=z(l,this.collection);var n;return(n=this.direction==="rtl"?(u=W(c))===null||u===void 0?void 0:u.key:(o=U(c))===null||o===void 0?void 0:o.key)!==null&&n!==void 0?n:null}if(this.isCell(l)&&l.parentKey!=null){let c=this.collection.getItem(l.parentKey);if(!c)return null;let i=z(c,this.collection);var s;let p=(s=this.direction==="rtl"?te(i,l.index-1):te(i,l.index+1))!==null&&s!==void 0?s:null;var r;if(p)return(r=p.key)!==null&&r!==void 0?r:null;var d;if(this.focusMode==="row")return(d=l.parentKey)!==null&&d!==void 0?d:null;var m;return(m=this.direction==="rtl"?this.getFirstKey(t):this.getLastKey(t))!==null&&m!==void 0?m:null}return null}getKeyLeftOf(t){let l=this.collection.getItem(t);if(!l)return null;if(this.isRow(l)){var u,o;let c=z(l,this.collection);var n;return(n=this.direction==="rtl"?(u=U(c))===null||u===void 0?void 0:u.key:(o=W(c))===null||o===void 0?void 0:o.key)!==null&&n!==void 0?n:null}if(this.isCell(l)&&l.parentKey!=null){let c=this.collection.getItem(l.parentKey);if(!c)return null;let i=z(c,this.collection);var s;let p=(s=this.direction==="rtl"?te(i,l.index+1):te(i,l.index-1))!==null&&s!==void 0?s:null;var r;if(p)return(r=p.key)!==null&&r!==void 0?r:null;var d;if(this.focusMode==="row")return(d=l.parentKey)!==null&&d!==void 0?d:null;var m;return(m=this.direction==="rtl"?this.getLastKey(t):this.getFirstKey(t))!==null&&m!==void 0?m:null}return null}getFirstKey(t,l){let u=t??null,o;if(u!=null){if(o=this.collection.getItem(u),!o)return null;if(this.isCell(o)&&!l&&o.parentKey!=null){var n;let m=this.collection.getItem(o.parentKey);if(!m)return null;var s;return(s=(n=U(z(m,this.collection)))===null||n===void 0?void 0:n.key)!==null&&s!==void 0?s:null}}if(u=this.findNextKey(void 0,m=>m.type==="item"),u!=null&&(o&&this.isCell(o)&&l||this.focusMode==="cell")){var r;let m=this.collection.getItem(u);if(!m)return null;var d;u=(d=(r=U(z(m,this.collection)))===null||r===void 0?void 0:r.key)!==null&&d!==void 0?d:null}return u}getLastKey(t,l){let u=t??null,o;if(u!=null){if(o=this.collection.getItem(u),!o)return null;if(this.isCell(o)&&!l&&o.parentKey!=null){var n;let m=this.collection.getItem(o.parentKey);if(!m)return null;let c=z(m,this.collection);var s;return(s=(n=W(c))===null||n===void 0?void 0:n.key)!==null&&s!==void 0?s:null}}if(u=this.findPreviousKey(void 0,m=>m.type==="item"),u!=null&&(o&&this.isCell(o)&&l||this.focusMode==="cell")){var r;let m=this.collection.getItem(u);if(!m)return null;let c=z(m,this.collection);var d;u=(d=(r=W(c))===null||r===void 0?void 0:r.key)!==null&&d!==void 0?d:null}return u}getKeyPageAbove(t){let l=t,u=this.layoutDelegate.getItemRect(l);if(!u)return null;let o=Math.max(0,u.y+u.height-this.layoutDelegate.getVisibleRect().height);for(;u&&u.y>o&&l!=null;){var n;if(l=(n=this.getKeyAbove(l))!==null&&n!==void 0?n:null,l==null)break;u=this.layoutDelegate.getItemRect(l)}return l}getKeyPageBelow(t){let l=t,u=this.layoutDelegate.getItemRect(l);if(!u)return null;let o=this.layoutDelegate.getVisibleRect().height,n=Math.min(this.layoutDelegate.getContentSize().height,u.y+o);for(;u&&u.y+u.heighti.type==="item"),u==null&&!r&&(u=this.getFirstKey(),r=!0)}return null}constructor(t){if(this.collection=t.collection,this.disabledKeys=t.disabledKeys,this.disabledBehavior=t.disabledBehavior||"all",this.direction=t.direction,this.collator=t.collator,!t.layout&&!t.ref)throw new Error("Either a layout or a ref must be specified.");this.layoutDelegate=t.layoutDelegate||(t.layout?new du(t.layout):new Tl(t.ref)),this.focusMode=t.focusMode||"row"}}class du{getContentSize(){return this.layout.getContentSize()}getItemRect(t){var l;return((l=this.layout.getLayoutInfo(t))===null||l===void 0?void 0:l.rect)||null}getVisibleRect(){return this.layout.virtualizer.visibleRect}constructor(t){this.layout=t}}const ve=new WeakMap;var xt={};xt={deselectedItem:e=>`${e.item} غير المحدد`,longPressToSelect:"اضغط مطولًا للدخول إلى وضع التحديد.",select:"تحديد",selectedAll:"جميع العناصر المحددة.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"لم يتم تحديد عناصر",one:()=>`${t.number(e.count)} عنصر محدد`,other:()=>`${t.number(e.count)} عنصر محدد`})}.`,selectedItem:e=>`${e.item} المحدد`};var Ct={};Ct={deselectedItem:e=>`${e.item} не е избран.`,longPressToSelect:"Натиснете и задръжте за да влезете в избирателен режим.",select:"Изберете",selectedAll:"Всички елементи са избрани.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Няма избрани елементи",one:()=>`${t.number(e.count)} избран елемент`,other:()=>`${t.number(e.count)} избрани елементи`})}.`,selectedItem:e=>`${e.item} избран.`};var Dt={};Dt={deselectedItem:e=>`Položka ${e.item} není vybrána.`,longPressToSelect:"Dlouhým stisknutím přejdete do režimu výběru.",select:"Vybrat",selectedAll:"Vybrány všechny položky.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nevybrány žádné položky",one:()=>`Vybrána ${t.number(e.count)} položka`,other:()=>`Vybráno ${t.number(e.count)} položek`})}.`,selectedItem:e=>`Vybrána položka ${e.item}.`};var kt={};kt={deselectedItem:e=>`${e.item} ikke valgt.`,longPressToSelect:"Lav et langt tryk for at aktivere valgtilstand.",select:"Vælg",selectedAll:"Alle elementer valgt.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Ingen elementer valgt",one:()=>`${t.number(e.count)} element valgt`,other:()=>`${t.number(e.count)} elementer valgt`})}.`,selectedItem:e=>`${e.item} valgt.`};var Bt={};Bt={deselectedItem:e=>`${e.item} nicht ausgewählt.`,longPressToSelect:"Gedrückt halten, um Auswahlmodus zu öffnen.",select:"Auswählen",selectedAll:"Alle Elemente ausgewählt.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Keine Elemente ausgewählt",one:()=>`${t.number(e.count)} Element ausgewählt`,other:()=>`${t.number(e.count)} Elemente ausgewählt`})}.`,selectedItem:e=>`${e.item} ausgewählt.`};var Et={};Et={deselectedItem:e=>`Δεν επιλέχθηκε το στοιχείο ${e.item}.`,longPressToSelect:"Πατήστε παρατεταμένα για να μπείτε σε λειτουργία επιλογής.",select:"Επιλογή",selectedAll:"Επιλέχθηκαν όλα τα στοιχεία.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Δεν επιλέχθηκαν στοιχεία",one:()=>`Επιλέχθηκε ${t.number(e.count)} στοιχείο`,other:()=>`Επιλέχθηκαν ${t.number(e.count)} στοιχεία`})}.`,selectedItem:e=>`Επιλέχθηκε το στοιχείο ${e.item}.`};var St={};St={deselectedItem:e=>`${e.item} not selected.`,select:"Select",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"No items selected",one:()=>`${t.number(e.count)} item selected`,other:()=>`${t.number(e.count)} items selected`})}.`,selectedAll:"All items selected.",selectedItem:e=>`${e.item} selected.`,longPressToSelect:"Long press to enter selection mode."};var At={};At={deselectedItem:e=>`${e.item} no seleccionado.`,longPressToSelect:"Mantenga pulsado para abrir el modo de selección.",select:"Seleccionar",selectedAll:"Todos los elementos seleccionados.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Ningún elemento seleccionado",one:()=>`${t.number(e.count)} elemento seleccionado`,other:()=>`${t.number(e.count)} elementos seleccionados`})}.`,selectedItem:e=>`${e.item} seleccionado.`};var wt={};wt={deselectedItem:e=>`${e.item} pole valitud.`,longPressToSelect:"Valikurežiimi sisenemiseks vajutage pikalt.",select:"Vali",selectedAll:"Kõik üksused valitud.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Üksusi pole valitud",one:()=>`${t.number(e.count)} üksus valitud`,other:()=>`${t.number(e.count)} üksust valitud`})}.`,selectedItem:e=>`${e.item} valitud.`};var Nt={};Nt={deselectedItem:e=>`Kohdetta ${e.item} ei valittu.`,longPressToSelect:"Siirry valintatilaan painamalla pitkään.",select:"Valitse",selectedAll:"Kaikki kohteet valittu.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Ei yhtään kohdetta valittu",one:()=>`${t.number(e.count)} kohde valittu`,other:()=>`${t.number(e.count)} kohdetta valittu`})}.`,selectedItem:e=>`${e.item} valittu.`};var zt={};zt={deselectedItem:e=>`${e.item} non sélectionné.`,longPressToSelect:"Appuyez de manière prolongée pour passer en mode de sélection.",select:"Sélectionner",selectedAll:"Tous les éléments sélectionnés.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Aucun élément sélectionné",one:()=>`${t.number(e.count)} élément sélectionné`,other:()=>`${t.number(e.count)} éléments sélectionnés`})}.`,selectedItem:e=>`${e.item} sélectionné.`};var Ft={};Ft={deselectedItem:e=>`${e.item} לא נבחר.`,longPressToSelect:"הקשה ארוכה לכניסה למצב בחירה.",select:"בחר",selectedAll:"כל הפריטים נבחרו.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"לא נבחרו פריטים",one:()=>`פריט ${t.number(e.count)} נבחר`,other:()=>`${t.number(e.count)} פריטים נבחרו`})}.`,selectedItem:e=>`${e.item} נבחר.`};var Pt={};Pt={deselectedItem:e=>`Stavka ${e.item} nije odabrana.`,longPressToSelect:"Dugo pritisnite za ulazak u način odabira.",select:"Odaberite",selectedAll:"Odabrane su sve stavke.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nije odabrana nijedna stavka",one:()=>`Odabrana je ${t.number(e.count)} stavka`,other:()=>`Odabrano je ${t.number(e.count)} stavki`})}.`,selectedItem:e=>`Stavka ${e.item} je odabrana.`};var Kt={};Kt={deselectedItem:e=>`${e.item} nincs kijelölve.`,longPressToSelect:"Nyomja hosszan a kijelöléshez.",select:"Kijelölés",selectedAll:"Az összes elem kijelölve.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Egy elem sincs kijelölve",one:()=>`${t.number(e.count)} elem kijelölve`,other:()=>`${t.number(e.count)} elem kijelölve`})}.`,selectedItem:e=>`${e.item} kijelölve.`};var It={};It={deselectedItem:e=>`${e.item} non selezionato.`,longPressToSelect:"Premi a lungo per passare alla modalità di selezione.",select:"Seleziona",selectedAll:"Tutti gli elementi selezionati.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nessun elemento selezionato",one:()=>`${t.number(e.count)} elemento selezionato`,other:()=>`${t.number(e.count)} elementi selezionati`})}.`,selectedItem:e=>`${e.item} selezionato.`};var jt={};jt={deselectedItem:e=>`${e.item} が選択されていません。`,longPressToSelect:"長押しして選択モードを開きます。",select:"選択",selectedAll:"すべての項目を選択しました。",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"項目が選択されていません",one:()=>`${t.number(e.count)} 項目を選択しました`,other:()=>`${t.number(e.count)} 項目を選択しました`})}。`,selectedItem:e=>`${e.item} を選択しました。`};var Mt={};Mt={deselectedItem:e=>`${e.item}이(가) 선택되지 않았습니다.`,longPressToSelect:"선택 모드로 들어가려면 길게 누르십시오.",select:"선택",selectedAll:"모든 항목이 선택되었습니다.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"선택된 항목이 없습니다",one:()=>`${t.number(e.count)}개 항목이 선택되었습니다`,other:()=>`${t.number(e.count)}개 항목이 선택되었습니다`})}.`,selectedItem:e=>`${e.item}이(가) 선택되었습니다.`};var Tt={};Tt={deselectedItem:e=>`${e.item} nepasirinkta.`,longPressToSelect:"Norėdami įjungti pasirinkimo režimą, paspauskite ir palaikykite.",select:"Pasirinkti",selectedAll:"Pasirinkti visi elementai.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nepasirinktas nė vienas elementas",one:()=>`Pasirinktas ${t.number(e.count)} elementas`,other:()=>`Pasirinkta elementų: ${t.number(e.count)}`})}.`,selectedItem:e=>`Pasirinkta: ${e.item}.`};var Rt={};Rt={deselectedItem:e=>`Vienums ${e.item} nav atlasīts.`,longPressToSelect:"Ilgi turiet nospiestu. lai ieslēgtu atlases režīmu.",select:"Atlasīt",selectedAll:"Atlasīti visi vienumi.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nav atlasīts neviens vienums",one:()=>`Atlasīto vienumu skaits: ${t.number(e.count)}`,other:()=>`Atlasīto vienumu skaits: ${t.number(e.count)}`})}.`,selectedItem:e=>`Atlasīts vienums ${e.item}.`};var Vt={};Vt={deselectedItem:e=>`${e.item} er ikke valgt.`,longPressToSelect:"Bruk et langt trykk for å gå inn i valgmodus.",select:"Velg",selectedAll:"Alle elementer er valgt.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Ingen elementer er valgt",one:()=>`${t.number(e.count)} element er valgt`,other:()=>`${t.number(e.count)} elementer er valgt`})}.`,selectedItem:e=>`${e.item} er valgt.`};var Ot={};Ot={deselectedItem:e=>`${e.item} niet geselecteerd.`,longPressToSelect:"Druk lang om de selectiemodus te openen.",select:"Selecteren",selectedAll:"Alle items geselecteerd.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Geen items geselecteerd",one:()=>`${t.number(e.count)} item geselecteerd`,other:()=>`${t.number(e.count)} items geselecteerd`})}.`,selectedItem:e=>`${e.item} geselecteerd.`};var Ht={};Ht={deselectedItem:e=>`Nie zaznaczono ${e.item}.`,longPressToSelect:"Naciśnij i przytrzymaj, aby wejść do trybu wyboru.",select:"Zaznacz",selectedAll:"Wszystkie zaznaczone elementy.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nie zaznaczono żadnych elementów",one:()=>`${t.number(e.count)} zaznaczony element`,other:()=>`${t.number(e.count)} zaznaczonych elementów`})}.`,selectedItem:e=>`Zaznaczono ${e.item}.`};var Lt={};Lt={deselectedItem:e=>`${e.item} não selecionado.`,longPressToSelect:"Mantenha pressionado para entrar no modo de seleção.",select:"Selecionar",selectedAll:"Todos os itens selecionados.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nenhum item selecionado",one:()=>`${t.number(e.count)} item selecionado`,other:()=>`${t.number(e.count)} itens selecionados`})}.`,selectedItem:e=>`${e.item} selecionado.`};var Ut={};Ut={deselectedItem:e=>`${e.item} não selecionado.`,longPressToSelect:"Prima continuamente para entrar no modo de seleção.",select:"Selecionar",selectedAll:"Todos os itens selecionados.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nenhum item selecionado",one:()=>`${t.number(e.count)} item selecionado`,other:()=>`${t.number(e.count)} itens selecionados`})}.`,selectedItem:e=>`${e.item} selecionado.`};var Wt={};Wt={deselectedItem:e=>`${e.item} neselectat.`,longPressToSelect:"Apăsați lung pentru a intra în modul de selectare.",select:"Selectare",selectedAll:"Toate elementele selectate.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Niciun element selectat",one:()=>`${t.number(e.count)} element selectat`,other:()=>`${t.number(e.count)} elemente selectate`})}.`,selectedItem:e=>`${e.item} selectat.`};var Gt={};Gt={deselectedItem:e=>`${e.item} не выбрано.`,longPressToSelect:"Нажмите и удерживайте для входа в режим выбора.",select:"Выбрать",selectedAll:"Выбраны все элементы.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Нет выбранных элементов",one:()=>`${t.number(e.count)} элемент выбран`,other:()=>`${t.number(e.count)} элементов выбрано`})}.`,selectedItem:e=>`${e.item} выбрано.`};var Yt={};Yt={deselectedItem:e=>`Nevybraté položky: ${e.item}.`,longPressToSelect:"Dlhším stlačením prejdite do režimu výberu.",select:"Vybrať",selectedAll:"Všetky vybraté položky.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Žiadne vybraté položky",one:()=>`${t.number(e.count)} vybratá položka`,other:()=>`Počet vybratých položiek:${t.number(e.count)}`})}.`,selectedItem:e=>`Vybraté položky: ${e.item}.`};var Zt={};Zt={deselectedItem:e=>`Element ${e.item} ni izbran.`,longPressToSelect:"Za izbirni način pritisnite in dlje časa držite.",select:"Izberite",selectedAll:"Vsi elementi so izbrani.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Noben element ni izbran",one:()=>`${t.number(e.count)} element je izbran`,other:()=>`${t.number(e.count)} elementov je izbranih`})}.`,selectedItem:e=>`Element ${e.item} je izbran.`};var _t={};_t={deselectedItem:e=>`${e.item} nije izabrano.`,longPressToSelect:"Dugo pritisnite za ulazak u režim biranja.",select:"Izaberite",selectedAll:"Izabrane su sve stavke.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nije izabrana nijedna stavka",one:()=>`Izabrana je ${t.number(e.count)} stavka`,other:()=>`Izabrano je ${t.number(e.count)} stavki`})}.`,selectedItem:e=>`${e.item} je izabrano.`};var qt={};qt={deselectedItem:e=>`${e.item} ej markerat.`,longPressToSelect:"Tryck länge när du vill öppna väljarläge.",select:"Markera",selectedAll:"Alla markerade objekt.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Inga markerade objekt",one:()=>`${t.number(e.count)} markerat objekt`,other:()=>`${t.number(e.count)} markerade objekt`})}.`,selectedItem:e=>`${e.item} markerat.`};var Jt={};Jt={deselectedItem:e=>`${e.item} seçilmedi.`,longPressToSelect:"Seçim moduna girmek için uzun basın.",select:"Seç",selectedAll:"Tüm ögeler seçildi.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Hiçbir öge seçilmedi",one:()=>`${t.number(e.count)} öge seçildi`,other:()=>`${t.number(e.count)} öge seçildi`})}.`,selectedItem:e=>`${e.item} seçildi.`};var Xt={};Xt={deselectedItem:e=>`${e.item} не вибрано.`,longPressToSelect:"Виконайте довге натиснення, щоб перейти в режим вибору.",select:"Вибрати",selectedAll:"Усі елементи вибрано.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Жодних елементів не вибрано",one:()=>`${t.number(e.count)} елемент вибрано`,other:()=>`Вибрано елементів: ${t.number(e.count)}`})}.`,selectedItem:e=>`${e.item} вибрано.`};var Qt={};Qt={deselectedItem:e=>`未选择 ${e.item}。`,longPressToSelect:"长按以进入选择模式。",select:"选择",selectedAll:"已选择所有项目。",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"未选择项目",one:()=>`已选择 ${t.number(e.count)} 个项目`,other:()=>`已选择 ${t.number(e.count)} 个项目`})}。`,selectedItem:e=>`已选择 ${e.item}。`};var el={};el={deselectedItem:e=>`未選取「${e.item}」。`,longPressToSelect:"長按以進入選擇模式。",select:"選取",selectedAll:"已選取所有項目。",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"未選取任何項目",one:()=>`已選取 ${t.number(e.count)} 個項目`,other:()=>`已選取 ${t.number(e.count)} 個項目`})}。`,selectedItem:e=>`已選取「${e.item}」。`};var oe={};oe={"ar-AE":xt,"bg-BG":Ct,"cs-CZ":Dt,"da-DK":kt,"de-DE":Bt,"el-GR":Et,"en-US":St,"es-ES":At,"et-EE":wt,"fi-FI":Nt,"fr-FR":zt,"he-IL":Ft,"hr-HR":Pt,"hu-HU":Kt,"it-IT":It,"ja-JP":jt,"ko-KR":Mt,"lt-LT":Tt,"lv-LV":Rt,"nb-NO":Vt,"nl-NL":Ot,"pl-PL":Ht,"pt-BR":Lt,"pt-PT":Ut,"ro-RO":Wt,"ru-RU":Gt,"sk-SK":Yt,"sl-SI":Zt,"sr-SP":_t,"sv-SE":qt,"tr-TR":Jt,"uk-UA":Xt,"zh-CN":Qt,"zh-TW":el};const tl=7e3;let V=null;function ll(e,t="assertive",l=tl){V?V.announce(e,t,l):(V=new mu,(typeof IS_REACT_ACT_ENVIRONMENT=="boolean"?IS_REACT_ACT_ENVIRONMENT:typeof jest<"u")?V.announce(e,t,l):setTimeout(()=>{V?.isAttached()&&V?.announce(e,t,l)},100))}class mu{isAttached(){var t;return(t=this.node)===null||t===void 0?void 0:t.isConnected}createLog(t){let l=document.createElement("div");return l.setAttribute("role","log"),l.setAttribute("aria-live",t),l.setAttribute("aria-relevant","additions"),l}destroy(){this.node&&(document.body.removeChild(this.node),this.node=null)}announce(t,l="assertive",u=tl){var o,n;if(!this.node)return;let s=document.createElement("div");typeof t=="object"?(s.setAttribute("role","img"),s.setAttribute("aria-labelledby",t["aria-labelledby"])):s.textContent=t,l==="assertive"?(o=this.assertiveLog)===null||o===void 0||o.appendChild(s):(n=this.politeLog)===null||n===void 0||n.appendChild(s),t!==""&&setTimeout(()=>{s.remove()},u)}clear(t){this.node&&((!t||t==="assertive")&&this.assertiveLog&&(this.assertiveLog.innerHTML=""),(!t||t==="polite")&&this.politeLog&&(this.politeLog.innerHTML=""))}constructor(){this.node=null,this.assertiveLog=null,this.politeLog=null,typeof document<"u"&&(this.node=document.createElement("div"),this.node.dataset.liveAnnouncer="true",Object.assign(this.node.style,{border:0,clip:"rect(0 0 0 0)",clipPath:"inset(50%)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap"}),this.assertiveLog=this.createLog("assertive"),this.node.appendChild(this.assertiveLog),this.politeLog=this.createLog("polite"),this.node.appendChild(this.politeLog),document.body.prepend(this.node))}}function pu(e){return e&&e.__esModule?e.default:e}function bu(e,t){let{getRowText:l=r=>{var d,m,c,i;return(i=(d=(m=t.collection).getTextValue)===null||d===void 0?void 0:d.call(m,r))!==null&&i!==void 0?i:(c=t.collection.getItem(r))===null||c===void 0?void 0:c.textValue}}=e,u=_(pu(oe),"@react-aria/grid"),o=t.selectionManager.rawSelection,n=k.useRef(o),s=Rl(()=>{var r;if(!t.selectionManager.isFocused||o===n.current){n.current=o;return}let d=Ee(o,n.current),m=Ee(n.current,o),c=t.selectionManager.selectionBehavior==="replace",i=[];if(t.selectionManager.selectedKeys.size===1&&c){let p=t.selectionManager.selectedKeys.keys().next().value;if(p!=null&&t.collection.getItem(p)){let a=l(p);a&&i.push(u.format("selectedItem",{item:a}))}}else if(d.size===1&&m.size===0){let p=d.keys().next().value;if(p!=null){let a=l(p);a&&i.push(u.format("selectedItem",{item:a}))}}else if(m.size===1&&d.size===0){let p=m.keys().next().value;if(p!=null&&t.collection.getItem(p)){let a=l(p);a&&i.push(u.format("deselectedItem",{item:a}))}}t.selectionManager.selectionMode==="multiple"&&(i.length===0||o==="all"||o.size>1||n.current==="all"||((r=n.current)===null||r===void 0?void 0:r.size)>1)&&i.push(o==="all"?u.format("selectedAll"):u.format("selectedCount",{count:o.size})),i.length>0&&ll(i.join(" ")),n.current=o});Me(()=>{if(t.selectionManager.isFocused)s();else{let r=requestAnimationFrame(s);return()=>cancelAnimationFrame(r)}},[o,t.selectionManager.isFocused])}function Ee(e,t){let l=new Set;if(e==="all"||t==="all")return l;for(let u of e.keys())t.has(u)||l.add(u);return l}function fu(e){return e&&e.__esModule?e.default:e}function hu(e){let t=_(fu(oe),"@react-aria/grid"),l=Vl(),u=(l==="pointer"||l==="virtual"||l==null)&&typeof window<"u"&&"ontouchstart"in window,o=k.useMemo(()=>{let s=e.selectionManager.selectionMode,r=e.selectionManager.selectionBehavior,d;return u&&(d=t.format("longPressToSelect")),r==="replace"&&s!=="none"&&e.hasItemActions?d:void 0},[e.selectionManager.selectionMode,e.selectionManager.selectionBehavior,e.hasItemActions,t,u]);return fe(o)}function vu(e,t,l){let{isVirtualized:u,disallowTypeAhead:o,keyboardDelegate:n,focusMode:s,scrollRef:r,getRowText:d,onRowAction:m,onCellAction:c,escapeKeyBehavior:i="clearSelection",shouldSelectOnPressUp:p}=e,{selectionManager:a}=t;!e["aria-label"]&&!e["aria-labelledby"]&&console.warn("An aria-label or aria-labelledby prop is required for accessibility.");let b=ze({usage:"search",sensitivity:"base"}),{direction:v}=ue(),g=t.selectionManager.disabledBehavior,x=k.useMemo(()=>n||new yt({collection:t.collection,disabledKeys:t.disabledKeys,disabledBehavior:g,ref:l,direction:v,collator:b,focusMode:s}),[n,t.collection,t.disabledKeys,g,l,v,b,s]),{collectionProps:D}=Ol({ref:l,selectionManager:a,keyboardDelegate:x,isVirtualized:u,scrollRef:r,disallowTypeAhead:o,escapeKeyBehavior:i}),y=pe(e.id);ve.set(t,{keyboardDelegate:x,actions:{onRowAction:m,onCellAction:c},shouldSelectOnPressUp:p});let $=hu({selectionManager:a,hasItemActions:!!(m||c)}),f=Hl(e,{labelable:!0}),E=k.useCallback(C=>{if(a.isFocused){C.currentTarget.contains(C.target)||a.setFocused(!1);return}C.currentTarget.contains(C.target)&&a.setFocused(!0)},[a]),S=k.useMemo(()=>({onBlur:D.onBlur,onFocus:E}),[E,D.onBlur]),A=au(l,{isDisabled:t.collection.size!==0}),B=J(f,{role:"grid",id:y,"aria-multiselectable":a.selectionMode==="multiple"?"true":void 0},t.isKeyboardNavigationDisabled?S:D,t.collection.size===0&&{tabIndex:A?-1:0}||void 0,$);return u&&(B["aria-rowcount"]=t.collection.size,B["aria-colcount"]=t.collection.columnCount),bu({getRowText:d},t),{gridProps:B}}function gu(){return{rowGroupProps:{role:"rowgroup"}}}function $u(e,t,l){var u,o;let{node:n,isVirtualized:s,shouldSelectOnPressUp:r,onAction:d}=e,{actions:m,shouldSelectOnPressUp:c}=ve.get(t),i=m.onRowAction?()=>{var g;return(g=m.onRowAction)===null||g===void 0?void 0:g.call(m,n.key)}:d,{itemProps:p,...a}=je({selectionManager:t.selectionManager,key:n.key,ref:l,isVirtualized:s,shouldSelectOnPressUp:c||r,onAction:i||!(n==null||(u=n.props)===null||u===void 0)&&u.onAction?Ll(n==null||(o=n.props)===null||o===void 0?void 0:o.onAction,i):void 0,isDisabled:t.collection.size===0}),b=t.selectionManager.isSelected(n.key),v={role:"row","aria-selected":t.selectionManager.selectionMode!=="none"?b:void 0,"aria-disabled":a.isDisabled||void 0,...p};return s&&(v["aria-rowindex"]=n.index+1),{rowProps:v,...a}}function ul(e,t,l){let{node:u,isVirtualized:o,focusMode:n="child",shouldSelectOnPressUp:s,onAction:r}=e,{direction:d}=ue(),{keyboardDelegate:m,actions:{onCellAction:c}}=ve.get(t),i=k.useRef(null),p=()=>{if(l.current){let y=ae(l.current);if(n==="child"){if(l.current.contains(document.activeElement)&&l.current!==document.activeElement)return;let $=t.selectionManager.childFocusStrategy==="last"?re(y):y.firstChild();if($){L($);return}}(i.current!=null&&u.key!==i.current||!l.current.contains(document.activeElement))&&L(l.current)}},{itemProps:a,isPressed:b}=je({selectionManager:t.selectionManager,key:u.key,ref:l,isVirtualized:o,focus:p,shouldSelectOnPressUp:s,onAction:c?()=>c(u.key):r,isDisabled:t.collection.size===0}),v=y=>{if(!y.currentTarget.contains(y.target)||t.isKeyboardNavigationDisabled||!l.current||!document.activeElement)return;let $=ae(l.current);switch($.currentNode=document.activeElement,y.key){case"ArrowLeft":{let C=d==="rtl"?$.nextNode():$.previousNode();if(n==="child"&&C===l.current&&(C=null),y.preventDefault(),y.stopPropagation(),C)L(C),Y(C,{containingElement:Z(l.current)});else{var f;if(((f=m.getKeyLeftOf)===null||f===void 0?void 0:f.call(m,u.key))!==u.key){var E;(E=l.current.parentElement)===null||E===void 0||E.dispatchEvent(new KeyboardEvent(y.nativeEvent.type,y.nativeEvent));break}n==="cell"&&d==="rtl"?(L(l.current),Y(l.current,{containingElement:Z(l.current)})):($.currentNode=l.current,C=d==="rtl"?$.firstChild():re($),C&&(L(C),Y(C,{containingElement:Z(l.current)})))}break}case"ArrowRight":{let C=d==="rtl"?$.previousNode():$.nextNode();if(n==="child"&&C===l.current&&(C=null),y.preventDefault(),y.stopPropagation(),C)L(C),Y(C,{containingElement:Z(l.current)});else{var S;if(((S=m.getKeyRightOf)===null||S===void 0?void 0:S.call(m,u.key))!==u.key){var A;(A=l.current.parentElement)===null||A===void 0||A.dispatchEvent(new KeyboardEvent(y.nativeEvent.type,y.nativeEvent));break}n==="cell"&&d==="ltr"?(L(l.current),Y(l.current,{containingElement:Z(l.current)})):($.currentNode=l.current,C=d==="rtl"?re($):$.firstChild(),C&&(L(C),Y(C,{containingElement:Z(l.current)})))}break}case"ArrowUp":case"ArrowDown":if(!y.altKey&&l.current.contains(y.target)){var B;y.stopPropagation(),y.preventDefault(),(B=l.current.parentElement)===null||B===void 0||B.dispatchEvent(new KeyboardEvent(y.nativeEvent.type,y.nativeEvent))}break}},g=y=>{if(i.current=u.key,y.target!==l.current){Ul()||t.selectionManager.setFocusedKey(u.key);return}requestAnimationFrame(()=>{n==="child"&&document.activeElement===l.current&&p()})},x=J(a,{role:"gridcell",onKeyDownCapture:v,"aria-colspan":u.colSpan,"aria-colindex":u.colIndex!=null?u.colIndex+1:void 0,colSpan:o?void 0:u.colSpan,onFocus:g});var D;return o&&(x["aria-colindex"]=((D=u.colIndex)!==null&&D!==void 0?D:u.index)+1),s&&x.tabIndex!=null&&x.onPointerDown==null&&(x.onPointerDown=y=>{let $=y.currentTarget,f=$.getAttribute("tabindex");$.removeAttribute("tabindex"),requestAnimationFrame(()=>{f!=null&&$.setAttribute("tabindex",f)})}),{gridCellProps:x,isPressed:b}}function re(e){let t=null,l=null;do l=e.lastChild(),l&&(t=l);while(l);return t}function yu(e){return e&&e.__esModule?e.default:e}function xu(e,t){let{key:l}=e,u=t.selectionManager,o=pe(),n=!t.selectionManager.canSelectItem(l),s=t.selectionManager.isSelected(l),r=()=>u.toggleSelection(l);const d=_(yu(oe),"@react-aria/grid");return{checkboxProps:{id:o,"aria-label":d.format("select"),isSelected:s,isDisabled:n,onChange:r}}}class Cu extends yt{isCell(t){return t.type==="cell"||t.type==="rowheader"||t.type==="column"}getKeyBelow(t){let l=this.collection.getItem(t);if(!l)return null;if(l.type==="column"){let u=U(z(l,this.collection));if(u)return u.key;let o=this.getFirstKey();return o==null||!this.collection.getItem(o)?null:super.getKeyForItemInRowByIndex(o,l.index)}return super.getKeyBelow(t)}getKeyAbove(t){let l=this.collection.getItem(t);if(!l)return null;if(l.type==="column"){let n=l.parentKey!=null?this.collection.getItem(l.parentKey):null;return n&&n.type==="column"?n.key:null}let u=super.getKeyAbove(t),o=u!=null?this.collection.getItem(u):null;return o&&o.type!=="headerrow"?u:this.isCell(l)?this.collection.columns[l.index].key:this.collection.columns[0].key}findNextColumnKey(t){let l=this.findNextKey(t.key,o=>o.type==="column");if(l!=null)return l;let u=this.collection.headerRows[t.level];for(let o of z(u,this.collection))if(o.type==="column")return o.key;return null}findPreviousColumnKey(t){let l=this.findPreviousKey(t.key,n=>n.type==="column");if(l!=null)return l;let u=this.collection.headerRows[t.level],o=[...z(u,this.collection)];for(let n=o.length-1;n>=0;n--){let s=o[n];if(s.type==="column")return s.key}return null}getKeyRightOf(t){let l=this.collection.getItem(t);return l?l.type==="column"?this.direction==="rtl"?this.findPreviousColumnKey(l):this.findNextColumnKey(l):super.getKeyRightOf(t):null}getKeyLeftOf(t){let l=this.collection.getItem(t);return l?l.type==="column"?this.direction==="rtl"?this.findNextColumnKey(l):this.findPreviousColumnKey(l):super.getKeyLeftOf(t):null}getKeyForSearch(t,l){if(!this.collator)return null;let u=this.collection,o=l??this.getFirstKey();if(o==null)return null;let n=u.getItem(o);var s;n?.type==="cell"&&(o=(s=n.parentKey)!==null&&s!==void 0?s:null);let r=!1;for(;o!=null;){let d=u.getItem(o);if(!d)return null;if(d.textValue){let m=d.textValue.slice(0,t.length);if(this.collator.compare(m,t)===0)return d.key}for(let m of z(d,this.collection)){let c=u.columns[m.index];if(u.rowHeaderColumnKeys.has(c.key)&&m.textValue){let i=m.textValue.slice(0,t.length);if(this.collator.compare(i,t)===0){let p=l!=null?u.getItem(l):n;return p?.type==="cell"?m.key:d.key}}}o=this.getKeyBelow(o),o==null&&!r&&(o=this.getFirstKey(),r=!0)}return null}}function Du(e){return e&&e.__esModule?e.default:e}function ku(e,t,l){let{keyboardDelegate:u,isVirtualized:o,layoutDelegate:n,layout:s}=e,r=ze({usage:"search",sensitivity:"base"}),{direction:d}=ue(),m=t.selectionManager.disabledBehavior,c=k.useMemo(()=>u||new Cu({collection:t.collection,disabledKeys:t.disabledKeys,disabledBehavior:m,ref:l,direction:d,collator:r,layoutDelegate:n,layout:s}),[u,t.collection,t.disabledKeys,m,l,d,r,n,s]),i=pe(e.id);he.set(t,i);let{gridProps:p}=vu({...e,id:i,keyboardDelegate:c},t,l);o&&(p["aria-rowcount"]=t.collection.size+t.collection.headerRows.length),le()&&"expandedKeys"in t&&(p.role="treegrid");let{column:a,direction:b}=t.sortDescriptor||{},v=_(Du(ne),"@react-aria/table"),g=k.useMemo(()=>{var D,y;let $=(y=(D=t.collection.columns.find(f=>f.key===a))===null||D===void 0?void 0:D.textValue)!==null&&y!==void 0?y:"";return b&&a?v.format(`${b}Sort`,{columnName:$}):void 0},[b,a,t.collection.columns]),x=fe(g);return Me(()=>{g&&ll(g,"assertive",500)},[g]),{gridProps:J(p,x,{"aria-describedby":[x["aria-describedby"],p["aria-describedby"]].filter(Boolean).join(" ")})}}function Bu(e){return e&&e.__esModule?e.default:e}function nl(e,t,l){var u,o;let{node:n}=e,s=n.props.allowsSorting,{gridCellProps:r}=ul({...e,focusMode:"child"},t,l),d=n.props.isSelectionCell&&t.selectionManager.selectionMode==="single",{pressProps:m}=Wl({isDisabled:!s||d,onPress(){t.sort(n.key)},ref:l}),{focusableProps:c}=Gl({},l),i,p=((u=t.sortDescriptor)===null||u===void 0?void 0:u.column)===n.key,a=(o=t.sortDescriptor)===null||o===void 0?void 0:o.direction;n.props.allowsSorting&&!Ce()&&(i=p?a:"none");let b=_(Bu(ne),"@react-aria/table"),v;s&&(v=`${b.format("sortable")}`,p&&a&&Ce()&&(v=`${v}, ${b.format(a)}`));let g=fe(v),x=t.collection.size===0;return k.useEffect(()=>{x&&t.selectionManager.focusedKey===n.key&&t.selectionManager.setFocusedKey(null)},[x,t.selectionManager,n.key]),{columnHeaderProps:{...J(c,r,m,g,x?{tabIndex:-1}:null),role:"columnheader",id:cu(t,n.key),"aria-colspan":n.colSpan&&n.colSpan>1?n.colSpan:void 0,"aria-sort":i}}}const Se={expand:{ltr:"ArrowRight",rtl:"ArrowLeft"},collapse:{ltr:"ArrowLeft",rtl:"ArrowRight"}};function Eu(e,t,l){let{node:u,isVirtualized:o}=e,{rowProps:n,...s}=$u(e,t,l),{direction:r}=ue();o&&!(le()&&"expandedKeys"in t)?n["aria-rowindex"]=u.index+1+t.collection.headerRows.length:delete n["aria-rowindex"];let d={};if(le()&&"expandedKeys"in t){let f=t.keyMap.get(u.key);if(f!=null){var m,c,i,p,a,b;let E=((m=f.props)===null||m===void 0?void 0:m.UNSTABLE_childItems)||((i=f.props)===null||i===void 0||(c=i.children)===null||c===void 0?void 0:c.length)>t.userColumnCount;var v,g,x,D;d={onKeyDown:S=>{(S.key===Se.expand[r]&&t.selectionManager.focusedKey===f.key&&E&&t.expandedKeys!=="all"&&!t.expandedKeys.has(f.key)||S.key===Se.collapse[r]&&t.selectionManager.focusedKey===f.key&&E&&(t.expandedKeys==="all"||t.expandedKeys.has(f.key)))&&(t.toggleKey(f.key),S.stopPropagation())},"aria-expanded":E?t.expandedKeys==="all"||t.expandedKeys.has(u.key):void 0,"aria-level":f.level,"aria-posinset":((v=f.indexOfType)!==null&&v!==void 0?v:0)+1,"aria-setsize":f.level>1?((x=(p=W((g=(a=t.keyMap.get(f.parentKey))===null||a===void 0?void 0:a.childNodes)!==null&&g!==void 0?g:[]))===null||p===void 0?void 0:p.indexOfType)!==null&&x!==void 0?x:0)+1:((D=(b=W(t.collection.body.childNodes))===null||b===void 0?void 0:b.indexOfType)!==null&&D!==void 0?D:0)+1}}}let y=Yl(u.props),$=s.hasAction?y:{};return{rowProps:{...J(n,d,$),"aria-labelledby":Re(t,u.key)},...s}}function Su(e,t,l){let{node:u,isVirtualized:o}=e,n={role:"row"};return o&&!(le()&&"expandedKeys"in t)&&(n["aria-rowindex"]=u.index+1),{rowProps:n}}function ol(e,t,l){var u;let{gridCellProps:o,isPressed:n}=ul(e,t,l),s=(u=e.node.column)===null||u===void 0?void 0:u.key;return s!=null&&t.collection.rowHeaderColumnKeys.has(s)&&(o.role="rowheader",o.id=Te(t,e.node.parentKey,s)),{gridCellProps:o,isPressed:n}}function Au(e){return e&&e.__esModule?e.default:e}function wu(e,t){let{key:l}=e;const{checkboxProps:u}=xu(e,t);return{checkboxProps:{...u,"aria-labelledby":`${u.id} ${Re(t,l)}`}}}function Nu(e){let{isEmpty:t,isSelectAll:l,selectionMode:u}=e.selectionManager;return{checkboxProps:{"aria-label":_(Au(ne),"@react-aria/table").format(u==="single"?"select":"selectAll"),isSelected:l,isDisabled:u!=="multiple"||e.collection.size===0||e.collection.rows.length===1&&e.collection.rows[0].type==="loader",isIndeterminate:!t&&!l,onChange:()=>e.selectionManager.toggleSelectAll()}}}function ge(){return gu()}var sl=T((e,t)=>{var l,u;const{as:o,className:n,node:s,slots:r,state:d,selectionMode:m,color:c,checkboxesProps:i,disableAnimation:p,classNames:a,...b}=e,v=o||"th",g=typeof v=="string",x=M(t),{columnHeaderProps:D}=nl({node:s},d,x),{isFocusVisible:y,focusProps:$}=X(),{checkboxProps:f}=Nu(d),E=K(a?.th,n,(l=s.props)==null?void 0:l.className),S=m==="single",{onChange:A,...B}=f;return h.jsx(v,{ref:x,"data-focus-visible":w(y),...I(D,$,O(s.props,{enabled:g}),O(b,{enabled:g})),className:(u=r.th)==null?void 0:u.call(r,{class:E}),children:S?h.jsx(be,{children:f["aria-label"]}):h.jsx(Fe,{color:c,disableAnimation:p,onValueChange:A,...I(i,B)})})});sl.displayName="HeroUI.TableSelectAllCheckbox";var il=sl;function zu(e){let{collection:t,focusMode:l}=e,u=e.UNSAFE_selectionState||Zl(e),o=k.useMemo(()=>e.disabledKeys?new Set(e.disabledKeys):new Set,[e.disabledKeys]),n=u.setFocusedKey;u.setFocusedKey=(d,m)=>{if(l==="cell"&&d!=null){let b=t.getItem(d);if(b?.type==="item"){var c,i;let v=z(b,t);var p,a;m==="last"?d=(p=(c=W(v))===null||c===void 0?void 0:c.key)!==null&&p!==void 0?p:null:d=(a=(i=U(v))===null||i===void 0?void 0:i.key)!==null&&a!==void 0?a:null}}n(d,m)};let s=k.useMemo(()=>new _l(t,u),[t,u]);const r=k.useRef(null);return k.useEffect(()=>{if(u.focusedKey!=null&&r.current&&!t.getItem(u.focusedKey)){const d=r.current.getItem(u.focusedKey),m=d?.parentKey!=null&&(d.type==="cell"||d.type==="rowheader"||d.type==="column")?r.current.getItem(d.parentKey):d;if(!m){u.setFocusedKey(null);return}const c=r.current.rows,i=t.rows,p=c.length-i.length;let a=Math.min(p>1?Math.max(m.index-p+1,0):m.index,i.length-1),b=null;for(;a>=0;){if(!s.isDisabled(i[a].key)&&i[a].type!=="headerrow"){b=i[a];break}am.index&&(a=m.index),a--)}if(b){const v=b.hasChildNodes?[...z(b,t)]:[],g=b.hasChildNodes&&m!==d&&d&&d.index{let p=this.keyMap.get(i.key);t.visitNode&&(i=t.visitNode(i)),this.keyMap.set(i.key,i);let a=new Set,b=null,v=!1;if(i.type==="item"){var g;for(let f of i.childNodes)if(((g=f.props)===null||g===void 0?void 0:g.colSpan)!==void 0){v=!0;break}}for(let f of i.childNodes){if(f.type==="cell"&&v){var x,D;f.colspan=(x=f.props)===null||x===void 0?void 0:x.colSpan,f.colSpan=(D=f.props)===null||D===void 0?void 0:D.colSpan;var y,$;f.colIndex=b?((y=b.colIndex)!==null&&y!==void 0?y:b.index)+(($=b.colSpan)!==null&&$!==void 0?$:1):f.index}f.type==="cell"&&f.parentKey==null&&(f.parentKey=i.key),a.add(f.key),b?(b.nextKey=f.key,f.prevKey=b.key):f.prevKey=null,l(f),b=f}if(b&&(b.nextKey=null),p)for(let f of p.childNodes)a.has(f.key)||u(f)},u=i=>{this.keyMap.delete(i.key);for(let p of i.childNodes)this.keyMap.get(p.key)===p&&u(p)},o=null;for(let[i,p]of t.items.entries()){var n,s,r,d,m,c;let a={...p,level:(n=p.level)!==null&&n!==void 0?n:0,key:(s=p.key)!==null&&s!==void 0?s:"row-"+i,type:(r=p.type)!==null&&r!==void 0?r:"row",value:(d=p.value)!==null&&d!==void 0?d:null,hasChildNodes:!0,childNodes:[...p.childNodes],rendered:p.rendered,textValue:(m=p.textValue)!==null&&m!==void 0?m:"",index:(c=p.index)!==null&&c!==void 0?c:i};o?(o.nextKey=a.key,a.prevKey=o.key):a.prevKey=null,this.rows.push(a),l(a),o=a}o&&(o.nextKey=null)}}const rl="row-header-column-"+Math.random().toString(36).slice(2);let de="row-header-column-"+Math.random().toString(36).slice(2);for(;rl===de;)de="row-header-column-"+Math.random().toString(36).slice(2);function Pu(e,t){if(t.length===0)return[];let l=[],u=new Map;for(let c of t){let i=c.parentKey,p=[c];for(;i;){let a=e.get(i);if(!a)break;if(u.has(a)){var o,n;(n=(o=a).colSpan)!==null&&n!==void 0||(o.colSpan=0),a.colSpan++,a.colspan=a.colSpan;let{column:b,index:v}=u.get(a);if(v>p.length)break;for(let g=v;gc.length)),r=Array(s).fill(0).map(()=>[]),d=0;for(let c of l){let i=s-1;for(let p of c){if(p){let a=r[i],b=a.reduce((v,g)=>{var x;return v+((x=g.colSpan)!==null&&x!==void 0?x:1)},0);if(b0&&(a[a.length-1].nextKey=v.key,v.prevKey=a[a.length-1].key),a.push(v)}a.length>0&&(a[a.length-1].nextKey=p.key,p.prevKey=a[a.length-1].key),p.level=i,p.colIndex=d,a.push(p)}i--}d++}let m=0;for(let c of r){let i=c.reduce((p,a)=>{var b;return p+((b=a.colSpan)!==null&&b!==void 0?b:1)},0);if(i({type:"headerrow",key:"headerrow-"+i,index:i,value:null,rendered:null,level:0,hasChildNodes:!0,childNodes:c,textValue:""}))}class Ku extends Fu{*[Symbol.iterator](){yield*this.body.childNodes}get size(){return this._size}getKeys(){return this.keyMap.keys()}getKeyBefore(t){let l=this.keyMap.get(t);var u;return(u=l?.prevKey)!==null&&u!==void 0?u:null}getKeyAfter(t){let l=this.keyMap.get(t);var u;return(u=l?.nextKey)!==null&&u!==void 0?u:null}getFirstKey(){var t,l;return(l=(t=U(this.body.childNodes))===null||t===void 0?void 0:t.key)!==null&&l!==void 0?l:null}getLastKey(){var t,l;return(l=(t=W(this.body.childNodes))===null||t===void 0?void 0:t.key)!==null&&l!==void 0?l:null}getItem(t){var l;return(l=this.keyMap.get(t))!==null&&l!==void 0?l:null}at(t){const l=[...this.getKeys()];return this.getItem(l[t])}getChildren(t){return t===this.body.key?this.body.childNodes:super.getChildren(t)}getTextValue(t){let l=this.getItem(t);if(!l)return"";if(l.textValue)return l.textValue;let u=this.rowHeaderColumnKeys;if(u){let o=[];for(let n of l.childNodes){let s=this.columns[n.index];if(u.has(s.key)&&n.textValue&&o.push(n.textValue),o.length===u.size)break}return o.join(" ")}return""}constructor(t,l,u){let o=new Set,n=null,s=[];if(u?.showSelectionCheckboxes){let i={type:"column",key:rl,value:null,textValue:"",level:0,index:u?.showDragButtons?1:0,hasChildNodes:!1,rendered:null,childNodes:[],props:{isSelectionCell:!0}};s.unshift(i)}if(u?.showDragButtons){let i={type:"column",key:de,value:null,textValue:"",level:0,index:0,hasChildNodes:!1,rendered:null,childNodes:[],props:{isDragButtonCell:!0}};s.unshift(i)}let r=[],d=new Map,m=i=>{switch(i.type){case"body":n=i;break;case"column":d.set(i.key,i),i.hasChildNodes||(s.push(i),i.props.isRowHeader&&o.add(i.key));break;case"item":r.push(i);return}for(let p of i.childNodes)m(p)};for(let i of t)m(i);let c=Pu(d,s);if(c.forEach((i,p)=>r.splice(p,0,i)),super({columnCount:s.length,items:r,visitNode:i=>(i.column=s[i.index],i)}),this._size=0,this.columns=s,this.rowHeaderColumnKeys=o,this.body=n,this.headerRows=c,this._size=[...n.childNodes].length,this.rowHeaderColumnKeys.size===0){let i=this.columns.find(p=>{var a,b;return!(!((a=p.props)===null||a===void 0)&&a.isDragButtonCell)&&!(!((b=p.props)===null||b===void 0)&&b.isSelectionCell)});i&&this.rowHeaderColumnKeys.add(i.key)}}}const Iu={ascending:"descending",descending:"ascending"};function ju(e){let[t,l]=k.useState(!1),{selectionMode:u="none",showSelectionCheckboxes:o,showDragButtons:n}=e,s=k.useMemo(()=>({showSelectionCheckboxes:o&&u!=="none",showDragButtons:n,selectionMode:u,columns:[]}),[e.children,o,u,n]),r=ql(e,k.useCallback(i=>new Ku(i,null,s),[s]),s),{disabledKeys:d,selectionManager:m}=zu({...e,collection:r,disabledBehavior:e.disabledBehavior||"selection"});var c;return{collection:r,disabledKeys:d,selectionManager:m,showSelectionCheckboxes:e.showSelectionCheckboxes||!1,sortDescriptor:(c=e.sortDescriptor)!==null&&c!==void 0?c:null,isKeyboardNavigationDisabled:r.size===0||t,setKeyboardNavigationDisabled:l,sort(i,p){var a,b;(b=e.onSortChange)===null||b===void 0||b.call(e,{column:i,direction:p??(((a=e.sortDescriptor)===null||a===void 0?void 0:a.column)===i?Iu[e.sortDescriptor.direction]:"ascending")})}}}function al(e){return null}al.getCollectionNode=function*(t,l){let{children:u,columns:o}=t;if(l.columns=[],typeof u=="function"){if(!o)throw new Error("props.children was a function but props.columns is missing");for(let n of o)yield{type:"column",value:n,renderer:u}}else{let n=[];q.Children.forEach(u,s=>{n.push({type:"column",element:s})}),yield*n}};let Mu=al;function cl(e){return null}cl.getCollectionNode=function*(t){let{children:l,items:u}=t;yield{type:"body",hasChildNodes:!0,props:t,*childNodes(){if(typeof l=="function"){if(!u)throw new Error("props.children was a function but props.items is missing");for(let o of u)yield{type:"item",value:o,renderer:l}}else{let o=[];q.Children.forEach(l,n=>{o.push({type:"item",element:n})}),yield*o}}}};let Tu=cl;function dl(e){return null}dl.getCollectionNode=function*(t,l){let{title:u,children:o,childColumns:n}=t,s=u||o,r=t.textValue||(typeof s=="string"?s:"")||t["aria-label"],d=yield{type:"column",hasChildNodes:!!n||!!u&&q.Children.count(o)>0,rendered:s,textValue:r,props:t,*childNodes(){if(n)for(let c of n)yield{type:"column",value:c};else if(u){let c=[];q.Children.forEach(o,i=>{c.push({type:"column",element:i})}),yield*c}},shouldInvalidate(c){return m(c),!1}},m=c=>{for(let i of d)i.hasChildNodes||c.columns.push(i)};m(l)};let Ru=dl;function me(e){return null}me.getCollectionNode=function*(t,l){let{children:u,textValue:o,UNSTABLE_childItems:n}=t;yield{type:"item",props:t,textValue:o,"aria-label":t["aria-label"],hasChildNodes:!0,*childNodes(){if(l.showDragButtons&&(yield{type:"cell",key:"header-drag",props:{isDragButtonCell:!0}}),l.showSelectionCheckboxes&&l.selectionMode!=="none"&&(yield{type:"cell",key:"header",props:{isSelectionCell:!0}}),typeof u=="function"){for(let s of l.columns)yield{type:"cell",element:u(s.key),key:s.key};if(n)for(let s of n)yield{type:"item",value:s}}else{let s=[],r=[],d=0;if(q.Children.forEach(u,m=>{if(m.type===me){if(s.lengthr.key!==l.columns[d].key)||s.showSelectionCheckboxes!==l.showSelectionCheckboxes||s.showDragButtons!==l.showDragButtons||s.selectionMode!==l.selectionMode}}};let Vu=me;function ml(e){return null}ml.getCollectionNode=function*(t){let{children:l}=t,u=t.textValue||(typeof l=="string"?l:"")||t["aria-label"]||"";yield{type:"cell",props:t,rendered:l,textValue:u,"aria-label":t["aria-label"],hasChildNodes:!1}};let Ou=ml;function pl(e){var t;const l=Jl(),[u,o]=Pe(e,Be.variantKeys),{ref:n,as:s,baseRef:r,children:d,className:m,classNames:c,removeWrapper:i=!1,disableAnimation:p=(t=l?.disableAnimation)!=null?t:!1,isKeyboardNavigationDisabled:a=!1,selectionMode:b="none",topContentPlacement:v="inside",bottomContentPlacement:g="inside",selectionBehavior:x=b==="none"?null:"toggle",disabledBehavior:D="selection",showSelectionCheckboxes:y=b==="multiple"&&x!=="replace",BaseComponent:$="div",checkboxesProps:f,topContent:E,bottomContent:S,sortIcon:A,onRowAction:B,onCellAction:C,...N}=u,j=s||"table",F=typeof j=="string",R=M(n),Q=M(r),G=ju({...e,children:d,showSelectionCheckboxes:y});a&&!G.isKeyboardNavigationDisabled&&G.setKeyboardNavigationDisabled(!0);const{collection:se}=G,{layout:sn,...Fl}=e,{gridProps:$e}=ku({...Fl},G,R),ee=b!=="none",ye=b==="multiple",H=k.useMemo(()=>Be({...o,isSelectable:ee,isMultiSelectable:ye}),[Ke(o),ee,ye]),xe=K(c?.base,m),Pl=k.useMemo(()=>{var P;return{state:G,slots:H,isSelectable:ee,collection:se,classNames:c,color:e?.color,disableAnimation:p,checkboxesProps:f,isHeaderSticky:(P=e?.isHeaderSticky)!=null?P:!1,selectionMode:b,selectionBehavior:x,disabledBehavior:D,showSelectionCheckboxes:y,onRowAction:B,onCellAction:C}},[H,G,se,ee,c,b,x,f,D,p,y,e?.color,e?.isHeaderSticky,B,C]),Kl=k.useCallback(P=>({...P,ref:Q,className:H.base({class:K(xe,P?.className)})}),[xe,H]),Il=k.useCallback(P=>({...P,ref:Q,className:H.wrapper({class:K(c?.wrapper,P?.className)})}),[c?.wrapper,H]),jl=k.useCallback(P=>({...I($e,O(N,{enabled:F}),P),onKeyDownCapture:void 0,ref:R,className:H.table({class:K(c?.table,P?.className)})}),[c?.table,F,H,$e,N]);return{BaseComponent:$,Component:j,children:d,state:G,collection:se,values:Pl,topContent:E,bottomContent:S,removeWrapper:i,topContentPlacement:v,bottomContentPlacement:g,sortIcon:A,getBaseProps:Kl,getWrapperProps:Il,getTableProps:jl}}var bl=T((e,t)=>{var l,u,o;const{as:n,className:s,node:r,rowKey:d,slots:m,state:c,classNames:i,...p}=e,a=n||"td",b=typeof a=="string",v=M(t),{gridCellProps:g}=ol({node:r},c,v),x=K(i?.td,s,(l=r.props)==null?void 0:l.className),{isFocusVisible:D,focusProps:y}=X(),$=c.selectionManager.isSelected(d),f=k.useMemo(()=>{const S=typeof r.rendered;return S!=="object"&&S!=="function"?h.jsx("span",{children:r.rendered}):r.rendered},[r.rendered]),E=((u=r.column)==null?void 0:u.props)||{};return h.jsx(a,{ref:v,"data-focus-visible":w(D),"data-selected":w($),...I(g,y,O(r.props,{enabled:b}),p),className:(o=m.td)==null?void 0:o.call(m,{align:E.align,class:x}),children:f})});bl.displayName="HeroUI.TableCell";var fl=bl,hl=T((e,t)=>{var l,u;const{as:o,className:n,node:s,rowKey:r,slots:d,state:m,color:c,disableAnimation:i,checkboxesProps:p,selectionMode:a,classNames:b,...v}=e,g=o||"td",x=typeof g=="string",D=M(t),{gridCellProps:y}=ol({node:s},m,D),{isFocusVisible:$,focusProps:f}=X(),{checkboxProps:E}=wu({key:s?.parentKey||s.key},m),S=K(b?.td,n,(l=s.props)==null?void 0:l.className),A=a==="single",{onChange:B,...C}=E,N=m.selectionManager.isSelected(r);return h.jsx(g,{ref:D,"data-focus-visible":w($),"data-selected":w(N),...I(y,f,O(s.props,{enabled:x}),v),className:(u=d.td)==null?void 0:u.call(d,{class:S}),children:A?h.jsx(be,{children:E["aria-label"]}):h.jsx(Fe,{color:c,disableAnimation:i,onValueChange:B,...I(p,C)})})});hl.displayName="HeroUI.TableCheckboxCell";var vl=hl,gl=T((e,t)=>{var l,u;const{as:o,className:n,children:s,node:r,slots:d,state:m,isSelectable:c,classNames:i,...p}=e,a=o||(e?.href?"a":"tr"),b=typeof a=="string",v=M(t),{rowProps:g}=Eu({node:r},m,v),x=K(i?.tr,n,(l=r.props)==null?void 0:l.className),{isFocusVisible:D,focusProps:y}=X(),$=m.disabledKeys.has(r.key),f=m.selectionManager.isSelected(r.key),{isHovered:E,hoverProps:S}=Ie({isDisabled:$}),{isFirst:A,isLast:B,isMiddle:C,isOdd:N}=k.useMemo(()=>{const j=r.key===m.collection.getFirstKey(),F=r.key===m.collection.getLastKey(),R=!j&&!F,Q=r?.index?(r.index+1)%2===0:!1;return{isFirst:j,isLast:F,isMiddle:R,isOdd:Q}},[r,m.collection]);return h.jsx(a,{ref:v,"data-disabled":w($),"data-first":w(A),"data-focus-visible":w(D),"data-hover":w(E),"data-last":w(B),"data-middle":w(C),"data-odd":w(N),"data-selected":w(f),...I(g,y,c?S:{},O(r.props,{enabled:b}),p),className:(u=d.tr)==null?void 0:u.call(d,{class:x}),children:s})});gl.displayName="HeroUI.TableRow";var $l=gl,yl=T((e,t)=>{var l;const{as:u,className:o,slots:n,state:s,collection:r,isSelectable:d,color:m,disableAnimation:c,checkboxesProps:i,selectionMode:p,classNames:a,rowVirtualizer:b,...v}=e,g=u||"tbody",x=typeof g=="string",D=M(t),{rowGroupProps:y}=ge(),$=K(a?.tbody,o),f=r?.body.props,E=f?.isLoading||f?.loadingState==="loading"||f?.loadingState==="loadingMore",S=[...r.body.childNodes],A=b.getVirtualItems();let B,C;return r.size===0&&f.emptyContent&&(B=h.jsx("tr",{role:"row",children:h.jsx("td",{className:n?.emptyWrapper({class:a?.emptyWrapper}),colSpan:r.columnCount,role:"gridcell",children:!E&&f.emptyContent})})),E&&f.loadingContent&&(C=h.jsxs("tr",{role:"row",children:[h.jsx("td",{className:n?.loadingWrapper({class:a?.loadingWrapper}),colSpan:r.columnCount,role:"gridcell",children:f.loadingContent}),!B&&r.size===0?h.jsx("td",{className:n?.emptyWrapper({class:a?.emptyWrapper})}):null]})),h.jsxs(g,{ref:D,...I(y,O(f,{enabled:x}),v),className:(l=n.tbody)==null?void 0:l.call(n,{class:$}),"data-empty":w(r.size===0),"data-loading":w(E),children:[A.map((N,j)=>{const F=S[N.index];return F?h.jsx($l,{classNames:a,isSelectable:d,node:F,slots:n,state:s,style:{transform:`translateY(${N.start-j*N.size}px)`,height:`${N.size}px`},children:[...F.childNodes].map(R=>R.props.isSelectionCell?h.jsx(vl,{checkboxesProps:i,classNames:a,color:m,disableAnimation:c,node:R,rowKey:F.key,selectionMode:p,slots:n,state:s},String(R.key)):h.jsx(fl,{classNames:a,node:R,rowKey:F.key,slots:n,state:s},String(R.key)))},String(F.key)):null}),C,B]})});yl.displayName="HeroUI.VirtualizedTableBody";var Hu=yl,xl=T((e,t)=>{var l,u,o,n,s;const{as:r,className:d,state:m,node:c,slots:i,classNames:p,sortIcon:a,...b}=e,v=r||"th",g=typeof v=="string",x=M(t),{columnHeaderProps:D}=nl({node:c},m,x),y=K(p?.th,d,(l=c.props)==null?void 0:l.className),{isFocusVisible:$,focusProps:f}=X(),{isHovered:E,hoverProps:S}=Ie({}),{hideHeader:A,align:B,...C}=c.props,N=C.allowsSorting,j={"aria-hidden":!0,"data-direction":(u=m.sortDescriptor)==null?void 0:u.direction,"data-visible":w(((o=m.sortDescriptor)==null?void 0:o.column)===c.key),className:(n=i.sortIcon)==null?void 0:n.call(i,{class:p?.sortIcon})},F=typeof a=="function"?a(j):k.isValidElement(a)&&k.cloneElement(a,j);return h.jsxs(v,{ref:x,colSpan:c.colspan,"data-focus-visible":w($),"data-hover":w(E),"data-sortable":w(N),...I(D,f,O(C,{enabled:g}),N?S:{},b),className:(s=i.th)==null?void 0:s.call(i,{align:B,class:y}),children:[A?h.jsx(be,{children:c.rendered}):c.rendered,N&&(F||h.jsx(su,{strokeWidth:3,...j}))]})});xl.displayName="HeroUI.TableColumnHeader";var Cl=xl,Dl=T((e,t)=>{var l,u;const{as:o,className:n,children:s,node:r,slots:d,classNames:m,state:c,...i}=e,p=o||"tr",a=typeof p=="string",b=M(t),{rowProps:v}=Su({node:r},c),g=K(m?.tr,n,(l=r.props)==null?void 0:l.className);return h.jsx(p,{ref:b,...I(v,O(r.props,{enabled:a}),i),className:(u=d.tr)==null?void 0:u.call(d,{class:g}),children:s})});Dl.displayName="HeroUI.TableHeaderRow";var kl=Dl,Bl=k.forwardRef((e,t)=>{var l;const{as:u,className:o,children:n,slots:s,classNames:r,...d}=e,m=u||"thead",c=M(t),{rowGroupProps:i}=ge(),p=K(r?.thead,o);return h.jsx(m,{ref:c,className:(l=s.thead)==null?void 0:l.call(s,{class:p}),...I(i,d),children:n})});Bl.displayName="HeroUI.TableRowGroup";var El=Bl,Lu={px:"1px",0:"0px",.5:"0.125rem",1:"0.25rem",1.5:"0.375rem",2:"0.5rem",2.5:"0.625rem",3:"0.75rem",3.5:"0.875rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem",11:"2.75rem",12:"3rem",14:"3.5rem",16:"4rem",20:"5rem",24:"6rem",28:"7rem",32:"8rem",36:"9rem",40:"10rem",44:"11rem",48:"12rem",52:"13rem",56:"14rem",60:"15rem",64:"16rem",72:"18rem",80:"20rem",96:"24rem"},Ae=e=>{var t;return(t=Lu[e])!=null?t:e};function Uu(e){const[t,l]=Pe(e,ke.variantKeys),{as:u,className:o,x:n=1,y:s=1,...r}=t,d=u||"span",m=k.useMemo(()=>ke({...l,className:o}),[Ke(l),o]),c=Ae(n),i=Ae(s);return{Component:d,getSpacerProps:(a={})=>({...a,...r,"aria-hidden":w(!0),className:K(m,a.className),style:{...a.style,...r.style,marginLeft:c,marginTop:i}})}}var Sl=T((e,t)=>{const{Component:l,getSpacerProps:u}=Uu({...e});return h.jsx(l,{ref:t,...u()})});Sl.displayName="HeroUI.Spacer";var Al=Sl,wl=T((e,t)=>{const{BaseComponent:l,Component:u,collection:o,values:n,topContent:s,topContentPlacement:r,bottomContentPlacement:d,bottomContent:m,getBaseProps:c,getWrapperProps:i,getTableProps:p}=pl({...e,ref:t}),{rowHeight:a=40,maxTableHeight:b=600}=e,v=k.useCallback(({children:A})=>h.jsx(l,{...i(),ref:D,style:{height:b,display:"block"},children:A}),[i,b]),x=[...o.body.childNodes].length,D=k.useRef(null),[y,$]=k.useState(0),f=k.useRef(null);k.useLayoutEffect(()=>{f.current&&$(f.current.getBoundingClientRect().height)},[f]);const E=iu({count:x,getScrollElement:()=>D.current,estimateSize:()=>a,overscan:5}),S=p();return h.jsxs("div",{...c(),children:[r==="outside"&&s,h.jsx(v,{children:h.jsxs(h.Fragment,{children:[r==="inside"&&s,h.jsxs(u,{...S,style:{height:`calc(${E.getTotalSize()+y}px)`,...S.style},children:[h.jsxs(El,{ref:f,classNames:n.classNames,slots:n.slots,children:[o.headerRows.map(A=>h.jsx(kl,{classNames:n.classNames,node:A,slots:n.slots,state:n.state,children:[...A.childNodes].map(B=>{var C;return(C=B?.props)!=null&&C.isSelectionCell?h.jsx(il,{checkboxesProps:n.checkboxesProps,classNames:n.classNames,color:n.color,disableAnimation:n.disableAnimation,node:B,selectionMode:n.selectionMode,slots:n.slots,state:n.state},B?.key):h.jsx(Cl,{classNames:n.classNames,node:B,slots:n.slots,state:n.state},B?.key)})},A?.key)),h.jsx(Al,{as:"tr",tabIndex:-1,y:1})]}),h.jsx(Hu,{checkboxesProps:n.checkboxesProps,classNames:n.classNames,collection:n.collection,color:n.color,disableAnimation:n.disableAnimation,isSelectable:n.isSelectable,rowVirtualizer:E,selectionMode:n.selectionMode,slots:n.slots,state:n.state})]}),d==="inside"&&m]})}),d==="outside"&&m]})});wl.displayName="HeroUI.VirtualizedTable";var Wu=wl,Nl=T((e,t)=>{var l;const{as:u,className:o,slots:n,state:s,collection:r,isSelectable:d,color:m,disableAnimation:c,checkboxesProps:i,selectionMode:p,classNames:a,...b}=e,v=u||"tbody",g=typeof v=="string",x=M(t),{rowGroupProps:D}=ge(),y=K(a?.tbody,o),$=r?.body.props,f=$?.isLoading||$?.loadingState==="loading"||$?.loadingState==="loadingMore",E=k.useMemo(()=>[...r.body.childNodes].map(B=>h.jsx($l,{classNames:a,isSelectable:d,node:B,slots:n,state:s,children:[...B.childNodes].map(C=>C.props.isSelectionCell?h.jsx(vl,{checkboxesProps:i,classNames:a,color:m,disableAnimation:c,node:C,rowKey:B.key,selectionMode:p,slots:n,state:s},C.key):h.jsx(fl,{classNames:a,node:C,rowKey:B.key,slots:n,state:s},C.key))},B.key)),[r.body.childNodes,a,d,n,s]);let S,A;return r.size===0&&$.emptyContent&&(S=h.jsx("tr",{role:"row",children:h.jsx("td",{className:n?.emptyWrapper({class:a?.emptyWrapper}),colSpan:r.columnCount,role:"gridcell",children:!f&&$.emptyContent})})),f&&$.loadingContent&&(A=h.jsxs("tr",{role:"row",children:[h.jsx("td",{className:n?.loadingWrapper({class:a?.loadingWrapper}),colSpan:r.columnCount,role:"gridcell",children:$.loadingContent}),!S&&r.size===0?h.jsx("td",{className:n?.emptyWrapper({class:a?.emptyWrapper})}):null]})),h.jsxs(v,{ref:x,...I(D,O($,{enabled:g}),b),className:(l=n.tbody)==null?void 0:l.call(n,{class:y}),"data-empty":w(r.size===0),"data-loading":w(f),children:[E,A,S]})});Nl.displayName="HeroUI.TableBody";var Gu=Nl,zl=T((e,t)=>{const{BaseComponent:l,Component:u,collection:o,values:n,topContent:s,topContentPlacement:r,bottomContentPlacement:d,bottomContent:m,removeWrapper:c,sortIcon:i,getBaseProps:p,getWrapperProps:a,getTableProps:b}=pl({...e,ref:t}),{isVirtualized:v,rowHeight:g=40,maxTableHeight:x=600}=e,D=v,y=k.useCallback(({children:$})=>c?$:h.jsx(l,{...a(),children:$}),[c,a]);return D?h.jsx(Wu,{...e,ref:t,maxTableHeight:x,rowHeight:g}):h.jsxs("div",{...p(),children:[r==="outside"&&s,h.jsx(y,{children:h.jsxs(h.Fragment,{children:[r==="inside"&&s,h.jsxs(u,{...b(),children:[h.jsxs(El,{classNames:n.classNames,slots:n.slots,children:[o.headerRows.map($=>h.jsx(kl,{classNames:n.classNames,node:$,slots:n.slots,state:n.state,children:[...$.childNodes].map(f=>{var E;return(E=f?.props)!=null&&E.isSelectionCell?h.jsx(il,{checkboxesProps:n.checkboxesProps,classNames:n.classNames,color:n.color,disableAnimation:n.disableAnimation,node:f,selectionMode:n.selectionMode,slots:n.slots,state:n.state},f?.key):h.jsx(Cl,{classNames:n.classNames,node:f,slots:n.slots,sortIcon:i,state:n.state},f?.key)})},$?.key)),h.jsx(Al,{as:"tr",tabIndex:-1,y:1})]}),h.jsx(Gu,{checkboxesProps:n.checkboxesProps,classNames:n.classNames,collection:n.collection,color:n.color,disableAnimation:n.disableAnimation,isSelectable:n.isSelectable,selectionMode:n.selectionMode,slots:n.slots,state:n.state})]}),d==="inside"&&m]})}),d==="outside"&&m]})});zl.displayName="HeroUI.Table";var Yu=zl,Zu=Ru,_u=Zu,qu=Mu,Ju=qu,Xu=Vu,Qu=Xu,en=Tu,tn=en,ln=Ou,un=ln;const nn={n_requests:"Number Of Requests",estimated_cost:"Estimated Cost ($)"},we=["model","n_requests","prompt_tokens","completion_tokens","total_tokens","estimated_cost"];function on(e){return e.replace(/(-?)(\d*)\.?(\d*)e([+-]\d+)/,function(t,l,u,o,n){return n<0?l+"0."+Array(1-n-u.length).join("0")+o+u:l+u+o+Array(n-o.length+1).join("0")})}function mn({message:e}){const t=e.usage,{isOpen:l,onOpen:u,onClose:o}=Xl();if(!t||Object.keys(t).length<1)return null;const n=Object.keys(t),s=()=>{o()},r=Object.keys(t[n[0]]),d=[...we.filter(b=>b==="model"||r.includes(b)),...r.filter(b=>!we.includes(b))],m=r.reduce((b,v)=>({...b,[v]:0}),{}),c=n.reduce((b,v)=>(d.reduce((g,x)=>(x==="model"||(g[x]+=t[v][x]),g),b),b),m),i=[...d.map(b=>({key:b,label:nn[b]??De.words(b).map(De.upperFirst).join(" ")}))],p=[...n.map(b=>({model:b,...t[b]})),{model:"Total",...c}],a=h.jsxs("div",{className:"p-2",children:[h.jsxs("div",{className:"flex flex-col gap-2",children:[c.prompt_tokens!==void 0&&h.jsxs("div",{className:"flex justify-between gap-2",children:[h.jsx("span",{className:"font-semibold",children:"Prompt tokens"}),h.jsx("span",{children:c.prompt_tokens})]}),c.completion_tokens!==void 0&&h.jsxs("div",{className:"flex justify-between gap-2",children:[h.jsx("span",{className:"font-semibold",children:"Completion tokens"}),h.jsx("span",{children:c.completion_tokens})]}),c.total_tokens!==void 0&&h.jsxs("div",{className:"flex justify-between gap-2",children:[h.jsx("span",{className:"font-semibold",children:"Total tokens"}),h.jsx("span",{children:c.total_tokens})]}),c.estimated_cost!==void 0&&h.jsxs("div",{className:"flex justify-between gap-2",children:[h.jsx("span",{className:"font-semibold",children:"Estimated cost"}),h.jsxs("span",{children:[on(c.estimated_cost.toString()),"$"]})]})]}),h.jsx("p",{className:"m-auto mt-2 text-center",children:"Show detailed usage breakdown by model."})]});return h.jsxs(h.Fragment,{children:[h.jsx(Ql,{content:a,placement:"bottom",children:h.jsx(eu,{isIconOnly:!0,variant:"ghost",className:"p-0","aria-label":"Open usage details",onPress:u,children:h.jsx(tu,{icon:"heroicons:information-circle"})})}),h.jsx(lu,{isOpen:l,onOpenChange:s,size:"4xl",children:h.jsx(uu,{children:h.jsxs(h.Fragment,{children:[h.jsx(ru,{className:"text-default-900 flex flex-col gap-1",children:"Usage details"}),h.jsx(nu,{children:h.jsxs(Yu,{"aria-label":"Table with detailed usage statistics for each model used to generate the message.",fullWidth:!0,children:[h.jsx(Ju,{columns:i,children:b=>h.jsx(_u,{children:b.label},b.key)}),h.jsx(tn,{items:p,children:b=>h.jsx(Qu,{className:b.model==="Total"?"border-default-200 border-t-1":"",children:v=>h.jsx(un,{children:ou(b,v)})},b.model)})]})})]})})})]})}export{mn as default}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/UsageButton-DsxyzqJC.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/UsageButton-DsxyzqJC.js deleted file mode 100644 index 94ce32c22..000000000 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/UsageButton-DsxyzqJC.js +++ /dev/null @@ -1 +0,0 @@ -import{r as k,aW as Ml,aX as ae,t as Ne,k as ie,aJ as z,aY as W,aZ as U,a_ as te,a$ as Tl,aS as _,b0 as Rl,b1 as Vl,A as ze,b2 as ue,b3 as Ol,K as pe,H as Hl,J,M as Ll,b4 as L,af as Ul,b5 as Y,b6 as Z,b7 as le,U as Wl,b8 as Gl,b9 as Ce,ba as Yl,l as T,R as M,W as X,Z as K,j as h,v as I,a2 as w,ap as be,a3 as O,w as Zl,y as _l,x as ql,a5 as q,O as Jl,Q as Fe,a0 as Pe,X as Ke,u as Xl,as as De,D as Ql,d as eu,I as tu,m as lu,e as uu,f as nu,bb as ou}from"./index-Ci_ePHVC.js";import{b as fe,$ as Ie}from"./useSelectableItem-7F1UMn-T.js";import{c as je,C as su,u as iu}from"./index-BPYsLlVK.js";import{m as ru}from"./chunk-IGSAU2ZA-DjYyfgzO.js";function Me(e,t){const l=k.useRef(!0),u=k.useRef(null);k.useEffect(()=>(l.current=!0,()=>{l.current=!1}),[]),k.useEffect(()=>{let o=u.current;l.current?l.current=!1:(!o||t.some((n,s)=>!Object.is(n,o[s])))&&e(),u.current=t},t)}function au(e,t){let l=t?.isDisabled,[u,o]=k.useState(!1);return Ml(()=>{if(e?.current&&!l){let n=()=>{if(e.current){let r=ae(e.current,{tabbable:!0});o(!!r.nextNode())}};n();let s=new MutationObserver(n);return s.observe(e.current,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["tabIndex","disabled"]}),()=>{s.disconnect()}}}),l?!1:u}var ke=Ne({base:"w-px h-px inline-block",variants:{isInline:{true:"inline-block",false:"block"}},defaultVariants:{isInline:!1}}),Be=Ne({slots:{base:"flex flex-col relative gap-4",wrapper:["p-4","z-0","flex","flex-col","relative","justify-between","gap-4","shadow-small","bg-content1","overflow-auto"],table:"min-w-full h-auto",thead:"[&>tr]:first:rounded-lg",tbody:"after:block",tr:["group/tr","outline-hidden",...ie],th:["group/th","px-3","h-10","text-start","align-middle","bg-default-100","whitespace-nowrap","text-foreground-500","text-tiny","font-semibold","first:rounded-s-lg","last:rounded-e-lg","outline-hidden","data-[sortable=true]:cursor-pointer","data-[hover=true]:text-foreground-400",...ie],td:["py-2","px-3","relative","align-middle","whitespace-normal","text-small","font-normal","outline-hidden","[&>*]:z-1","[&>*]:relative",...ie,"before:pointer-events-none","before:content-['']","before:absolute","before:z-0","before:inset-0","before:opacity-0","data-[selected=true]:before:opacity-100","group-data-[disabled=true]/tr:text-foreground-300","group-data-[disabled=true]/tr:cursor-not-allowed"],tfoot:"",sortIcon:["ms-2","mb-px","opacity-0","text-inherit","inline-block","transition-transform-opacity","data-[visible=true]:opacity-100","group-data-[hover=true]/th:opacity-100","data-[direction=ascending]:rotate-180"],emptyWrapper:"text-foreground-400 align-middle text-center h-40",loadingWrapper:"absolute inset-0 flex items-center justify-center"},variants:{color:{default:{td:"before:bg-default/60 data-[selected=true]:text-default-foreground"},primary:{td:"before:bg-primary/20 data-[selected=true]:text-primary"},secondary:{td:"before:bg-secondary/20 data-[selected=true]:text-secondary"},success:{td:"before:bg-success/20 data-[selected=true]:text-success-600 dark:data-[selected=true]:text-success"},warning:{td:"before:bg-warning/20 data-[selected=true]:text-warning-600 dark:data-[selected=true]:text-warning"},danger:{td:"before:bg-danger/20 data-[selected=true]:text-danger dark:data-[selected=true]:text-danger-500"}},layout:{auto:{table:"table-auto"},fixed:{table:"table-fixed"}},shadow:{none:{wrapper:"shadow-none"},sm:{wrapper:"shadow-small"},md:{wrapper:"shadow-medium"},lg:{wrapper:"shadow-large"}},hideHeader:{true:{thead:"hidden"}},isStriped:{true:{td:["group-data-[odd=true]/tr:before:bg-default-100","group-data-[odd=true]/tr:before:opacity-100","group-data-[odd=true]/tr:before:-z-10"]}},isCompact:{true:{td:"py-1"},false:{}},isHeaderSticky:{true:{thead:"sticky top-0 z-20 [&>tr]:first:shadow-small"}},isSelectable:{true:{tr:"cursor-default",td:["group-aria-[selected=false]/tr:group-data-[hover=true]/tr:before:bg-default-100","group-aria-[selected=false]/tr:group-data-[hover=true]/tr:before:opacity-70"]}},isMultiSelectable:{true:{td:["group-data-[first=true]/tr:first:before:rounded-ss-lg","group-data-[first=true]/tr:last:before:rounded-se-lg","group-data-[middle=true]/tr:before:rounded-none","group-data-[last=true]/tr:first:before:rounded-es-lg","group-data-[last=true]/tr:last:before:rounded-ee-lg"]},false:{td:["first:before:rounded-s-lg","last:before:rounded-e-lg"]}},radius:{none:{wrapper:"rounded-none",th:["first:rounded-s-none","first:before:rounded-s-none","last:rounded-e-none","last:before:rounded-e-none"],td:["first:before:rounded-s-none","last:before:rounded-e-none","group-data-[first=true]/tr:first:before:rounded-ss-none","group-data-[first=true]/tr:last:before:rounded-se-none","group-data-[last=true]/tr:first:before:rounded-es-none","group-data-[last=true]/tr:last:before:rounded-ee-none"]},sm:{wrapper:"rounded-small"},md:{wrapper:"rounded-medium"},lg:{wrapper:"rounded-large"}},fullWidth:{true:{base:"w-full",wrapper:"w-full",table:"w-full"}},align:{start:{th:"text-start",td:"text-start"},center:{th:"text-center",td:"text-center"},end:{th:"text-end",td:"text-end"}}},defaultVariants:{layout:"auto",shadow:"sm",radius:"lg",color:"default",isCompact:!1,hideHeader:!1,isStriped:!1,fullWidth:!0,align:"start"},compoundVariants:[{isStriped:!0,color:"default",class:{td:"group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-default/60"}},{isStriped:!0,color:"primary",class:{td:"group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-primary/20"}},{isStriped:!0,color:"secondary",class:{td:"group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-secondary/20"}},{isStriped:!0,color:"success",class:{td:"group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-success/20"}},{isStriped:!0,color:"warning",class:{td:"group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-warning/20"}},{isStriped:!0,color:"danger",class:{td:"group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-danger/20"}}]});const he=new WeakMap;function ce(e){return typeof e=="string"?e.replace(/\s*/g,""):""+e}function cu(e,t){let l=he.get(e);if(!l)throw new Error("Unknown grid");return`${l}-${ce(t)}`}function Te(e,t,l){let u=he.get(e);if(!u)throw new Error("Unknown grid");return`${u}-${ce(t)}-${ce(l)}`}function Re(e,t){return[...e.collection.rowHeaderColumnKeys].map(l=>Te(e,t,l)).join(" ")}var Ve={};Ve={ascending:"تصاعدي",ascendingSort:e=>`ترتيب حسب العمود ${e.columnName} بترتيب تصاعدي`,columnSize:e=>`${e.value} بالبكسل`,descending:"تنازلي",descendingSort:e=>`ترتيب حسب العمود ${e.columnName} بترتيب تنازلي`,resizerDescription:"اضغط على مفتاح Enter لبدء تغيير الحجم",select:"تحديد",selectAll:"تحديد الكل",sortable:"عمود قابل للترتيب"};var Oe={};Oe={ascending:"възходящ",ascendingSort:e=>`сортирано по колона ${e.columnName} във възходящ ред`,columnSize:e=>`${e.value} пиксела`,descending:"низходящ",descendingSort:e=>`сортирано по колона ${e.columnName} в низходящ ред`,resizerDescription:"Натиснете „Enter“, за да започнете да преоразмерявате",select:"Изберете",selectAll:"Изберете всичко",sortable:"сортираща колона"};var He={};He={ascending:"vzestupně",ascendingSort:e=>`řazeno vzestupně podle sloupce ${e.columnName}`,columnSize:e=>`${e.value} pixelů`,descending:"sestupně",descendingSort:e=>`řazeno sestupně podle sloupce ${e.columnName}`,resizerDescription:"Stisknutím klávesy Enter začnete měnit velikost",select:"Vybrat",selectAll:"Vybrat vše",sortable:"sloupec s možností řazení"};var Le={};Le={ascending:"stigende",ascendingSort:e=>`sorteret efter kolonne ${e.columnName} i stigende rækkefølge`,columnSize:e=>`${e.value} pixels`,descending:"faldende",descendingSort:e=>`sorteret efter kolonne ${e.columnName} i faldende rækkefølge`,resizerDescription:"Tryk på Enter for at ændre størrelse",select:"Vælg",selectAll:"Vælg alle",sortable:"sorterbar kolonne"};var Ue={};Ue={ascending:"aufsteigend",ascendingSort:e=>`sortiert nach Spalte ${e.columnName} in aufsteigender Reihenfolge`,columnSize:e=>`${e.value} Pixel`,descending:"absteigend",descendingSort:e=>`sortiert nach Spalte ${e.columnName} in absteigender Reihenfolge`,resizerDescription:"Eingabetaste zum Starten der Größenänderung drücken",select:"Auswählen",selectAll:"Alles auswählen",sortable:"sortierbare Spalte"};var We={};We={ascending:"αύξουσα",ascendingSort:e=>`διαλογή ανά στήλη ${e.columnName} σε αύξουσα σειρά`,columnSize:e=>`${e.value} pixel`,descending:"φθίνουσα",descendingSort:e=>`διαλογή ανά στήλη ${e.columnName} σε φθίνουσα σειρά`,resizerDescription:"Πατήστε Enter για έναρξη της αλλαγής μεγέθους",select:"Επιλογή",selectAll:"Επιλογή όλων",sortable:"Στήλη διαλογής"};var Ge={};Ge={select:"Select",selectAll:"Select All",sortable:"sortable column",ascending:"ascending",descending:"descending",ascendingSort:e=>`sorted by column ${e.columnName} in ascending order`,descendingSort:e=>`sorted by column ${e.columnName} in descending order`,columnSize:e=>`${e.value} pixels`,resizerDescription:"Press Enter to start resizing"};var Ye={};Ye={ascending:"ascendente",ascendingSort:e=>`ordenado por columna ${e.columnName} en sentido ascendente`,columnSize:e=>`${e.value} píxeles`,descending:"descendente",descendingSort:e=>`ordenado por columna ${e.columnName} en orden descendente`,resizerDescription:"Pulse Intro para empezar a redimensionar",select:"Seleccionar",selectAll:"Seleccionar todos",sortable:"columna ordenable"};var Ze={};Ze={ascending:"tõusev järjestus",ascendingSort:e=>`sorditud veeru järgi ${e.columnName} tõusvas järjestuses`,columnSize:e=>`${e.value} pikslit`,descending:"laskuv järjestus",descendingSort:e=>`sorditud veeru järgi ${e.columnName} laskuvas järjestuses`,resizerDescription:"Suuruse muutmise alustamiseks vajutage klahvi Enter",select:"Vali",selectAll:"Vali kõik",sortable:"sorditav veerg"};var _e={};_e={ascending:"nouseva",ascendingSort:e=>`lajiteltu sarakkeen ${e.columnName} mukaan nousevassa järjestyksessä`,columnSize:e=>`${e.value} pikseliä`,descending:"laskeva",descendingSort:e=>`lajiteltu sarakkeen ${e.columnName} mukaan laskevassa järjestyksessä`,resizerDescription:"Aloita koon muutos painamalla Enter-näppäintä",select:"Valitse",selectAll:"Valitse kaikki",sortable:"lajiteltava sarake"};var qe={};qe={ascending:"croissant",ascendingSort:e=>`trié en fonction de la colonne ${e.columnName} par ordre croissant`,columnSize:e=>`${e.value} pixels`,descending:"décroissant",descendingSort:e=>`trié en fonction de la colonne ${e.columnName} par ordre décroissant`,resizerDescription:"Appuyez sur Entrée pour commencer le redimensionnement.",select:"Sélectionner",selectAll:"Sélectionner tout",sortable:"colonne triable"};var Je={};Je={ascending:"עולה",ascendingSort:e=>`מוין לפי עמודה ${e.columnName} בסדר עולה`,columnSize:e=>`${e.value} פיקסלים`,descending:"יורד",descendingSort:e=>`מוין לפי עמודה ${e.columnName} בסדר יורד`,resizerDescription:"הקש Enter כדי לשנות את הגודל",select:"בחר",selectAll:"בחר הכול",sortable:"עמודה שניתן למיין"};var Xe={};Xe={ascending:"rastući",ascendingSort:e=>`razvrstano po stupcima ${e.columnName} rastućem redoslijedom`,columnSize:e=>`${e.value} piksela`,descending:"padajući",descendingSort:e=>`razvrstano po stupcima ${e.columnName} padajućim redoslijedom`,resizerDescription:"Pritisnite Enter da biste započeli promenu veličine",select:"Odaberite",selectAll:"Odaberite sve",sortable:"stupac koji se može razvrstati"};var Qe={};Qe={ascending:"növekvő",ascendingSort:e=>`rendezve a(z) ${e.columnName} oszlop szerint, növekvő sorrendben`,columnSize:e=>`${e.value} képpont`,descending:"csökkenő",descendingSort:e=>`rendezve a(z) ${e.columnName} oszlop szerint, csökkenő sorrendben`,resizerDescription:"Nyomja le az Enter billentyűt az átméretezés megkezdéséhez",select:"Kijelölés",selectAll:"Összes kijelölése",sortable:"rendezendő oszlop"};var et={};et={ascending:"crescente",ascendingSort:e=>`in ordine crescente in base alla colonna ${e.columnName}`,columnSize:e=>`${e.value} pixel`,descending:"decrescente",descendingSort:e=>`in ordine decrescente in base alla colonna ${e.columnName}`,resizerDescription:"Premi Invio per iniziare a ridimensionare",select:"Seleziona",selectAll:"Seleziona tutto",sortable:"colonna ordinabile"};var tt={};tt={ascending:"昇順",ascendingSort:e=>`列 ${e.columnName} を昇順で並べ替え`,columnSize:e=>`${e.value} ピクセル`,descending:"降順",descendingSort:e=>`列 ${e.columnName} を降順で並べ替え`,resizerDescription:"Enter キーを押してサイズ変更を開始",select:"選択",selectAll:"すべて選択",sortable:"並べ替え可能な列"};var lt={};lt={ascending:"오름차순",ascendingSort:e=>`${e.columnName} 열을 기준으로 오름차순으로 정렬됨`,columnSize:e=>`${e.value} 픽셀`,descending:"내림차순",descendingSort:e=>`${e.columnName} 열을 기준으로 내림차순으로 정렬됨`,resizerDescription:"크기 조정을 시작하려면 Enter를 누르세요.",select:"선택",selectAll:"모두 선택",sortable:"정렬 가능한 열"};var ut={};ut={ascending:"didėjančia tvarka",ascendingSort:e=>`surikiuota pagal stulpelį ${e.columnName} didėjančia tvarka`,columnSize:e=>`${e.value} piks.`,descending:"mažėjančia tvarka",descendingSort:e=>`surikiuota pagal stulpelį ${e.columnName} mažėjančia tvarka`,resizerDescription:"Paspauskite „Enter“, kad pradėtumėte keisti dydį",select:"Pasirinkti",selectAll:"Pasirinkti viską",sortable:"rikiuojamas stulpelis"};var nt={};nt={ascending:"augošā secībā",ascendingSort:e=>`kārtots pēc kolonnas ${e.columnName} augošā secībā`,columnSize:e=>`${e.value} pikseļi`,descending:"dilstošā secībā",descendingSort:e=>`kārtots pēc kolonnas ${e.columnName} dilstošā secībā`,resizerDescription:"Nospiediet Enter, lai sāktu izmēru mainīšanu",select:"Atlasīt",selectAll:"Atlasīt visu",sortable:"kārtojamā kolonna"};var ot={};ot={ascending:"stigende",ascendingSort:e=>`sortert etter kolonne ${e.columnName} i stigende rekkefølge`,columnSize:e=>`${e.value} piksler`,descending:"synkende",descendingSort:e=>`sortert etter kolonne ${e.columnName} i synkende rekkefølge`,resizerDescription:"Trykk på Enter for å starte størrelsesendring",select:"Velg",selectAll:"Velg alle",sortable:"kolonne som kan sorteres"};var st={};st={ascending:"oplopend",ascendingSort:e=>`gesorteerd in oplopende volgorde in kolom ${e.columnName}`,columnSize:e=>`${e.value} pixels`,descending:"aflopend",descendingSort:e=>`gesorteerd in aflopende volgorde in kolom ${e.columnName}`,resizerDescription:"Druk op Enter om het formaat te wijzigen",select:"Selecteren",selectAll:"Alles selecteren",sortable:"sorteerbare kolom"};var it={};it={ascending:"rosnąco",ascendingSort:e=>`posortowano według kolumny ${e.columnName} w porządku rosnącym`,columnSize:e=>`Liczba pikseli: ${e.value}`,descending:"malejąco",descendingSort:e=>`posortowano według kolumny ${e.columnName} w porządku malejącym`,resizerDescription:"Naciśnij Enter, aby rozpocząć zmienianie rozmiaru",select:"Zaznacz",selectAll:"Zaznacz wszystko",sortable:"kolumna z możliwością sortowania"};var rt={};rt={ascending:"crescente",ascendingSort:e=>`classificado pela coluna ${e.columnName} em ordem crescente`,columnSize:e=>`${e.value} pixels`,descending:"decrescente",descendingSort:e=>`classificado pela coluna ${e.columnName} em ordem decrescente`,resizerDescription:"Pressione Enter para começar a redimensionar",select:"Selecionar",selectAll:"Selecionar tudo",sortable:"coluna classificável"};var at={};at={ascending:"ascendente",ascendingSort:e=>`Ordenar por coluna ${e.columnName} em ordem ascendente`,columnSize:e=>`${e.value} pixels`,descending:"descendente",descendingSort:e=>`Ordenar por coluna ${e.columnName} em ordem descendente`,resizerDescription:"Prima Enter para iniciar o redimensionamento",select:"Selecionar",selectAll:"Selecionar tudo",sortable:"Coluna ordenável"};var ct={};ct={ascending:"crescătoare",ascendingSort:e=>`sortate după coloana ${e.columnName} în ordine crescătoare`,columnSize:e=>`${e.value} pixeli`,descending:"descrescătoare",descendingSort:e=>`sortate după coloana ${e.columnName} în ordine descrescătoare`,resizerDescription:"Apăsați pe Enter pentru a începe redimensionarea",select:"Selectare",selectAll:"Selectare totală",sortable:"coloană sortabilă"};var dt={};dt={ascending:"возрастание",ascendingSort:e=>`сортировать столбец ${e.columnName} в порядке возрастания`,columnSize:e=>`${e.value} пикс.`,descending:"убывание",descendingSort:e=>`сортировать столбец ${e.columnName} в порядке убывания`,resizerDescription:"Нажмите клавишу Enter для начала изменения размеров",select:"Выбрать",selectAll:"Выбрать все",sortable:"сортируемый столбец"};var mt={};mt={ascending:"vzostupne",ascendingSort:e=>`zoradené zostupne podľa stĺpca ${e.columnName}`,columnSize:e=>`Počet pixelov: ${e.value}`,descending:"zostupne",descendingSort:e=>`zoradené zostupne podľa stĺpca ${e.columnName}`,resizerDescription:"Stlačením klávesu Enter začnete zmenu veľkosti",select:"Vybrať",selectAll:"Vybrať všetko",sortable:"zoraditeľný stĺpec"};var pt={};pt={ascending:"naraščajoče",ascendingSort:e=>`razvrščeno po stolpcu ${e.columnName} v naraščajočem vrstnem redu`,columnSize:e=>`${e.value} slikovnih pik`,descending:"padajoče",descendingSort:e=>`razvrščeno po stolpcu ${e.columnName} v padajočem vrstnem redu`,resizerDescription:"Pritisnite tipko Enter da začnete spreminjati velikost",select:"Izberite",selectAll:"Izberite vse",sortable:"razvrstljivi stolpec"};var bt={};bt={ascending:"rastući",ascendingSort:e=>`sortirano po kolonama ${e.columnName} rastućim redosledom`,columnSize:e=>`${e.value} piksela`,descending:"padajući",descendingSort:e=>`sortirano po kolonama ${e.columnName} padajućim redosledom`,resizerDescription:"Pritisnite Enter da biste započeli promenu veličine",select:"Izaberite",selectAll:"Izaberite sve",sortable:"kolona koja se može sortirati"};var ft={};ft={ascending:"stigande",ascendingSort:e=>`sorterat på kolumn ${e.columnName} i stigande ordning`,columnSize:e=>`${e.value} pixlar`,descending:"fallande",descendingSort:e=>`sorterat på kolumn ${e.columnName} i fallande ordning`,resizerDescription:"Tryck på Retur för att börja ändra storlek",select:"Markera",selectAll:"Markera allt",sortable:"sorterbar kolumn"};var ht={};ht={ascending:"artan sırada",ascendingSort:e=>`${e.columnName} sütuna göre artan düzende sırala`,columnSize:e=>`${e.value} piksel`,descending:"azalan sırada",descendingSort:e=>`${e.columnName} sütuna göre azalan düzende sırala`,resizerDescription:"Yeniden boyutlandırmak için Enter'a basın",select:"Seç",selectAll:"Tümünü Seç",sortable:"Sıralanabilir sütun"};var vt={};vt={ascending:"висхідний",ascendingSort:e=>`відсортовано за стовпцем ${e.columnName} у висхідному порядку`,columnSize:e=>`${e.value} пікс.`,descending:"низхідний",descendingSort:e=>`відсортовано за стовпцем ${e.columnName} у низхідному порядку`,resizerDescription:"Натисніть Enter, щоб почати зміну розміру",select:"Вибрати",selectAll:"Вибрати все",sortable:"сортувальний стовпець"};var gt={};gt={ascending:"升序",ascendingSort:e=>`按列 ${e.columnName} 升序排序`,columnSize:e=>`${e.value} 像素`,descending:"降序",descendingSort:e=>`按列 ${e.columnName} 降序排序`,resizerDescription:"按“输入”键开始调整大小。",select:"选择",selectAll:"全选",sortable:"可排序的列"};var $t={};$t={ascending:"遞增",ascendingSort:e=>`已依據「${e.columnName}」欄遞增排序`,columnSize:e=>`${e.value} 像素`,descending:"遞減",descendingSort:e=>`已依據「${e.columnName}」欄遞減排序`,resizerDescription:"按 Enter 鍵以開始調整大小",select:"選取",selectAll:"全選",sortable:"可排序的欄"};var ne={};ne={"ar-AE":Ve,"bg-BG":Oe,"cs-CZ":He,"da-DK":Le,"de-DE":Ue,"el-GR":We,"en-US":Ge,"es-ES":Ye,"et-EE":Ze,"fi-FI":_e,"fr-FR":qe,"he-IL":Je,"hr-HR":Xe,"hu-HU":Qe,"it-IT":et,"ja-JP":tt,"ko-KR":lt,"lt-LT":ut,"lv-LV":nt,"nb-NO":ot,"nl-NL":st,"pl-PL":it,"pt-BR":rt,"pt-PT":at,"ro-RO":ct,"ru-RU":dt,"sk-SK":mt,"sl-SI":pt,"sr-SP":bt,"sv-SE":ft,"tr-TR":ht,"uk-UA":vt,"zh-CN":gt,"zh-TW":$t};class yt{isCell(t){return t.type==="cell"}isRow(t){return t.type==="row"||t.type==="item"}isDisabled(t){var l;return this.disabledBehavior==="all"&&(((l=t.props)===null||l===void 0?void 0:l.isDisabled)||this.disabledKeys.has(t.key))}findPreviousKey(t,l){let u=t!=null?this.collection.getKeyBefore(t):this.collection.getLastKey();for(;u!=null;){let o=this.collection.getItem(u);if(!o)return null;if(!this.isDisabled(o)&&(!l||l(o)))return u;u=this.collection.getKeyBefore(u)}return null}findNextKey(t,l){let u=t!=null?this.collection.getKeyAfter(t):this.collection.getFirstKey();for(;u!=null;){let o=this.collection.getItem(u);if(!o)return null;if(!this.isDisabled(o)&&(!l||l(o)))return u;if(u=this.collection.getKeyAfter(u),u==null)return null}return null}getKeyForItemInRowByIndex(t,l=0){if(l<0)return null;let u=this.collection.getItem(t);if(!u)return null;let o=0;for(let r of z(u,this.collection)){var n;if(r.colSpan&&r.colSpan+o>l)return(n=r.key)!==null&&n!==void 0?n:null;r.colSpan&&(o=o+r.colSpan-1);var s;if(o===l)return(s=r.key)!==null&&s!==void 0?s:null;o++}return null}getKeyBelow(t){let l=t,u=this.collection.getItem(l);if(!u)return null;var o;if(this.isCell(u)&&(l=(o=u.parentKey)!==null&&o!==void 0?o:null),l==null)return null;if(l=this.findNextKey(l,n=>n.type==="item"),l!=null){if(this.isCell(u)){let n=u.colIndex?u.colIndex:u.index;return this.getKeyForItemInRowByIndex(l,n)}if(this.focusMode==="row")return l}return null}getKeyAbove(t){let l=t,u=this.collection.getItem(l);if(!u)return null;var o;if(this.isCell(u)&&(l=(o=u.parentKey)!==null&&o!==void 0?o:null),l==null)return null;if(l=this.findPreviousKey(l,n=>n.type==="item"),l!=null){if(this.isCell(u)){let n=u.colIndex?u.colIndex:u.index;return this.getKeyForItemInRowByIndex(l,n)}if(this.focusMode==="row")return l}return null}getKeyRightOf(t){let l=this.collection.getItem(t);if(!l)return null;if(this.isRow(l)){var u,o;let c=z(l,this.collection);var n;return(n=this.direction==="rtl"?(u=W(c))===null||u===void 0?void 0:u.key:(o=U(c))===null||o===void 0?void 0:o.key)!==null&&n!==void 0?n:null}if(this.isCell(l)&&l.parentKey!=null){let c=this.collection.getItem(l.parentKey);if(!c)return null;let i=z(c,this.collection);var s;let p=(s=this.direction==="rtl"?te(i,l.index-1):te(i,l.index+1))!==null&&s!==void 0?s:null;var r;if(p)return(r=p.key)!==null&&r!==void 0?r:null;var d;if(this.focusMode==="row")return(d=l.parentKey)!==null&&d!==void 0?d:null;var m;return(m=this.direction==="rtl"?this.getFirstKey(t):this.getLastKey(t))!==null&&m!==void 0?m:null}return null}getKeyLeftOf(t){let l=this.collection.getItem(t);if(!l)return null;if(this.isRow(l)){var u,o;let c=z(l,this.collection);var n;return(n=this.direction==="rtl"?(u=U(c))===null||u===void 0?void 0:u.key:(o=W(c))===null||o===void 0?void 0:o.key)!==null&&n!==void 0?n:null}if(this.isCell(l)&&l.parentKey!=null){let c=this.collection.getItem(l.parentKey);if(!c)return null;let i=z(c,this.collection);var s;let p=(s=this.direction==="rtl"?te(i,l.index+1):te(i,l.index-1))!==null&&s!==void 0?s:null;var r;if(p)return(r=p.key)!==null&&r!==void 0?r:null;var d;if(this.focusMode==="row")return(d=l.parentKey)!==null&&d!==void 0?d:null;var m;return(m=this.direction==="rtl"?this.getLastKey(t):this.getFirstKey(t))!==null&&m!==void 0?m:null}return null}getFirstKey(t,l){let u=t??null,o;if(u!=null){if(o=this.collection.getItem(u),!o)return null;if(this.isCell(o)&&!l&&o.parentKey!=null){var n;let m=this.collection.getItem(o.parentKey);if(!m)return null;var s;return(s=(n=U(z(m,this.collection)))===null||n===void 0?void 0:n.key)!==null&&s!==void 0?s:null}}if(u=this.findNextKey(void 0,m=>m.type==="item"),u!=null&&(o&&this.isCell(o)&&l||this.focusMode==="cell")){var r;let m=this.collection.getItem(u);if(!m)return null;var d;u=(d=(r=U(z(m,this.collection)))===null||r===void 0?void 0:r.key)!==null&&d!==void 0?d:null}return u}getLastKey(t,l){let u=t??null,o;if(u!=null){if(o=this.collection.getItem(u),!o)return null;if(this.isCell(o)&&!l&&o.parentKey!=null){var n;let m=this.collection.getItem(o.parentKey);if(!m)return null;let c=z(m,this.collection);var s;return(s=(n=W(c))===null||n===void 0?void 0:n.key)!==null&&s!==void 0?s:null}}if(u=this.findPreviousKey(void 0,m=>m.type==="item"),u!=null&&(o&&this.isCell(o)&&l||this.focusMode==="cell")){var r;let m=this.collection.getItem(u);if(!m)return null;let c=z(m,this.collection);var d;u=(d=(r=W(c))===null||r===void 0?void 0:r.key)!==null&&d!==void 0?d:null}return u}getKeyPageAbove(t){let l=t,u=this.layoutDelegate.getItemRect(l);if(!u)return null;let o=Math.max(0,u.y+u.height-this.layoutDelegate.getVisibleRect().height);for(;u&&u.y>o&&l!=null;){var n;if(l=(n=this.getKeyAbove(l))!==null&&n!==void 0?n:null,l==null)break;u=this.layoutDelegate.getItemRect(l)}return l}getKeyPageBelow(t){let l=t,u=this.layoutDelegate.getItemRect(l);if(!u)return null;let o=this.layoutDelegate.getVisibleRect().height,n=Math.min(this.layoutDelegate.getContentSize().height,u.y+o);for(;u&&u.y+u.heighti.type==="item"),u==null&&!r&&(u=this.getFirstKey(),r=!0)}return null}constructor(t){if(this.collection=t.collection,this.disabledKeys=t.disabledKeys,this.disabledBehavior=t.disabledBehavior||"all",this.direction=t.direction,this.collator=t.collator,!t.layout&&!t.ref)throw new Error("Either a layout or a ref must be specified.");this.layoutDelegate=t.layoutDelegate||(t.layout?new du(t.layout):new Tl(t.ref)),this.focusMode=t.focusMode||"row"}}class du{getContentSize(){return this.layout.getContentSize()}getItemRect(t){var l;return((l=this.layout.getLayoutInfo(t))===null||l===void 0?void 0:l.rect)||null}getVisibleRect(){return this.layout.virtualizer.visibleRect}constructor(t){this.layout=t}}const ve=new WeakMap;var xt={};xt={deselectedItem:e=>`${e.item} غير المحدد`,longPressToSelect:"اضغط مطولًا للدخول إلى وضع التحديد.",select:"تحديد",selectedAll:"جميع العناصر المحددة.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"لم يتم تحديد عناصر",one:()=>`${t.number(e.count)} عنصر محدد`,other:()=>`${t.number(e.count)} عنصر محدد`})}.`,selectedItem:e=>`${e.item} المحدد`};var Ct={};Ct={deselectedItem:e=>`${e.item} не е избран.`,longPressToSelect:"Натиснете и задръжте за да влезете в избирателен режим.",select:"Изберете",selectedAll:"Всички елементи са избрани.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Няма избрани елементи",one:()=>`${t.number(e.count)} избран елемент`,other:()=>`${t.number(e.count)} избрани елементи`})}.`,selectedItem:e=>`${e.item} избран.`};var Dt={};Dt={deselectedItem:e=>`Položka ${e.item} není vybrána.`,longPressToSelect:"Dlouhým stisknutím přejdete do režimu výběru.",select:"Vybrat",selectedAll:"Vybrány všechny položky.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nevybrány žádné položky",one:()=>`Vybrána ${t.number(e.count)} položka`,other:()=>`Vybráno ${t.number(e.count)} položek`})}.`,selectedItem:e=>`Vybrána položka ${e.item}.`};var kt={};kt={deselectedItem:e=>`${e.item} ikke valgt.`,longPressToSelect:"Lav et langt tryk for at aktivere valgtilstand.",select:"Vælg",selectedAll:"Alle elementer valgt.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Ingen elementer valgt",one:()=>`${t.number(e.count)} element valgt`,other:()=>`${t.number(e.count)} elementer valgt`})}.`,selectedItem:e=>`${e.item} valgt.`};var Bt={};Bt={deselectedItem:e=>`${e.item} nicht ausgewählt.`,longPressToSelect:"Gedrückt halten, um Auswahlmodus zu öffnen.",select:"Auswählen",selectedAll:"Alle Elemente ausgewählt.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Keine Elemente ausgewählt",one:()=>`${t.number(e.count)} Element ausgewählt`,other:()=>`${t.number(e.count)} Elemente ausgewählt`})}.`,selectedItem:e=>`${e.item} ausgewählt.`};var Et={};Et={deselectedItem:e=>`Δεν επιλέχθηκε το στοιχείο ${e.item}.`,longPressToSelect:"Πατήστε παρατεταμένα για να μπείτε σε λειτουργία επιλογής.",select:"Επιλογή",selectedAll:"Επιλέχθηκαν όλα τα στοιχεία.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Δεν επιλέχθηκαν στοιχεία",one:()=>`Επιλέχθηκε ${t.number(e.count)} στοιχείο`,other:()=>`Επιλέχθηκαν ${t.number(e.count)} στοιχεία`})}.`,selectedItem:e=>`Επιλέχθηκε το στοιχείο ${e.item}.`};var St={};St={deselectedItem:e=>`${e.item} not selected.`,select:"Select",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"No items selected",one:()=>`${t.number(e.count)} item selected`,other:()=>`${t.number(e.count)} items selected`})}.`,selectedAll:"All items selected.",selectedItem:e=>`${e.item} selected.`,longPressToSelect:"Long press to enter selection mode."};var At={};At={deselectedItem:e=>`${e.item} no seleccionado.`,longPressToSelect:"Mantenga pulsado para abrir el modo de selección.",select:"Seleccionar",selectedAll:"Todos los elementos seleccionados.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Ningún elemento seleccionado",one:()=>`${t.number(e.count)} elemento seleccionado`,other:()=>`${t.number(e.count)} elementos seleccionados`})}.`,selectedItem:e=>`${e.item} seleccionado.`};var wt={};wt={deselectedItem:e=>`${e.item} pole valitud.`,longPressToSelect:"Valikurežiimi sisenemiseks vajutage pikalt.",select:"Vali",selectedAll:"Kõik üksused valitud.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Üksusi pole valitud",one:()=>`${t.number(e.count)} üksus valitud`,other:()=>`${t.number(e.count)} üksust valitud`})}.`,selectedItem:e=>`${e.item} valitud.`};var Nt={};Nt={deselectedItem:e=>`Kohdetta ${e.item} ei valittu.`,longPressToSelect:"Siirry valintatilaan painamalla pitkään.",select:"Valitse",selectedAll:"Kaikki kohteet valittu.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Ei yhtään kohdetta valittu",one:()=>`${t.number(e.count)} kohde valittu`,other:()=>`${t.number(e.count)} kohdetta valittu`})}.`,selectedItem:e=>`${e.item} valittu.`};var zt={};zt={deselectedItem:e=>`${e.item} non sélectionné.`,longPressToSelect:"Appuyez de manière prolongée pour passer en mode de sélection.",select:"Sélectionner",selectedAll:"Tous les éléments sélectionnés.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Aucun élément sélectionné",one:()=>`${t.number(e.count)} élément sélectionné`,other:()=>`${t.number(e.count)} éléments sélectionnés`})}.`,selectedItem:e=>`${e.item} sélectionné.`};var Ft={};Ft={deselectedItem:e=>`${e.item} לא נבחר.`,longPressToSelect:"הקשה ארוכה לכניסה למצב בחירה.",select:"בחר",selectedAll:"כל הפריטים נבחרו.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"לא נבחרו פריטים",one:()=>`פריט ${t.number(e.count)} נבחר`,other:()=>`${t.number(e.count)} פריטים נבחרו`})}.`,selectedItem:e=>`${e.item} נבחר.`};var Pt={};Pt={deselectedItem:e=>`Stavka ${e.item} nije odabrana.`,longPressToSelect:"Dugo pritisnite za ulazak u način odabira.",select:"Odaberite",selectedAll:"Odabrane su sve stavke.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nije odabrana nijedna stavka",one:()=>`Odabrana je ${t.number(e.count)} stavka`,other:()=>`Odabrano je ${t.number(e.count)} stavki`})}.`,selectedItem:e=>`Stavka ${e.item} je odabrana.`};var Kt={};Kt={deselectedItem:e=>`${e.item} nincs kijelölve.`,longPressToSelect:"Nyomja hosszan a kijelöléshez.",select:"Kijelölés",selectedAll:"Az összes elem kijelölve.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Egy elem sincs kijelölve",one:()=>`${t.number(e.count)} elem kijelölve`,other:()=>`${t.number(e.count)} elem kijelölve`})}.`,selectedItem:e=>`${e.item} kijelölve.`};var It={};It={deselectedItem:e=>`${e.item} non selezionato.`,longPressToSelect:"Premi a lungo per passare alla modalità di selezione.",select:"Seleziona",selectedAll:"Tutti gli elementi selezionati.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nessun elemento selezionato",one:()=>`${t.number(e.count)} elemento selezionato`,other:()=>`${t.number(e.count)} elementi selezionati`})}.`,selectedItem:e=>`${e.item} selezionato.`};var jt={};jt={deselectedItem:e=>`${e.item} が選択されていません。`,longPressToSelect:"長押しして選択モードを開きます。",select:"選択",selectedAll:"すべての項目を選択しました。",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"項目が選択されていません",one:()=>`${t.number(e.count)} 項目を選択しました`,other:()=>`${t.number(e.count)} 項目を選択しました`})}。`,selectedItem:e=>`${e.item} を選択しました。`};var Mt={};Mt={deselectedItem:e=>`${e.item}이(가) 선택되지 않았습니다.`,longPressToSelect:"선택 모드로 들어가려면 길게 누르십시오.",select:"선택",selectedAll:"모든 항목이 선택되었습니다.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"선택된 항목이 없습니다",one:()=>`${t.number(e.count)}개 항목이 선택되었습니다`,other:()=>`${t.number(e.count)}개 항목이 선택되었습니다`})}.`,selectedItem:e=>`${e.item}이(가) 선택되었습니다.`};var Tt={};Tt={deselectedItem:e=>`${e.item} nepasirinkta.`,longPressToSelect:"Norėdami įjungti pasirinkimo režimą, paspauskite ir palaikykite.",select:"Pasirinkti",selectedAll:"Pasirinkti visi elementai.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nepasirinktas nė vienas elementas",one:()=>`Pasirinktas ${t.number(e.count)} elementas`,other:()=>`Pasirinkta elementų: ${t.number(e.count)}`})}.`,selectedItem:e=>`Pasirinkta: ${e.item}.`};var Rt={};Rt={deselectedItem:e=>`Vienums ${e.item} nav atlasīts.`,longPressToSelect:"Ilgi turiet nospiestu. lai ieslēgtu atlases režīmu.",select:"Atlasīt",selectedAll:"Atlasīti visi vienumi.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nav atlasīts neviens vienums",one:()=>`Atlasīto vienumu skaits: ${t.number(e.count)}`,other:()=>`Atlasīto vienumu skaits: ${t.number(e.count)}`})}.`,selectedItem:e=>`Atlasīts vienums ${e.item}.`};var Vt={};Vt={deselectedItem:e=>`${e.item} er ikke valgt.`,longPressToSelect:"Bruk et langt trykk for å gå inn i valgmodus.",select:"Velg",selectedAll:"Alle elementer er valgt.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Ingen elementer er valgt",one:()=>`${t.number(e.count)} element er valgt`,other:()=>`${t.number(e.count)} elementer er valgt`})}.`,selectedItem:e=>`${e.item} er valgt.`};var Ot={};Ot={deselectedItem:e=>`${e.item} niet geselecteerd.`,longPressToSelect:"Druk lang om de selectiemodus te openen.",select:"Selecteren",selectedAll:"Alle items geselecteerd.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Geen items geselecteerd",one:()=>`${t.number(e.count)} item geselecteerd`,other:()=>`${t.number(e.count)} items geselecteerd`})}.`,selectedItem:e=>`${e.item} geselecteerd.`};var Ht={};Ht={deselectedItem:e=>`Nie zaznaczono ${e.item}.`,longPressToSelect:"Naciśnij i przytrzymaj, aby wejść do trybu wyboru.",select:"Zaznacz",selectedAll:"Wszystkie zaznaczone elementy.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nie zaznaczono żadnych elementów",one:()=>`${t.number(e.count)} zaznaczony element`,other:()=>`${t.number(e.count)} zaznaczonych elementów`})}.`,selectedItem:e=>`Zaznaczono ${e.item}.`};var Lt={};Lt={deselectedItem:e=>`${e.item} não selecionado.`,longPressToSelect:"Mantenha pressionado para entrar no modo de seleção.",select:"Selecionar",selectedAll:"Todos os itens selecionados.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nenhum item selecionado",one:()=>`${t.number(e.count)} item selecionado`,other:()=>`${t.number(e.count)} itens selecionados`})}.`,selectedItem:e=>`${e.item} selecionado.`};var Ut={};Ut={deselectedItem:e=>`${e.item} não selecionado.`,longPressToSelect:"Prima continuamente para entrar no modo de seleção.",select:"Selecionar",selectedAll:"Todos os itens selecionados.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nenhum item selecionado",one:()=>`${t.number(e.count)} item selecionado`,other:()=>`${t.number(e.count)} itens selecionados`})}.`,selectedItem:e=>`${e.item} selecionado.`};var Wt={};Wt={deselectedItem:e=>`${e.item} neselectat.`,longPressToSelect:"Apăsați lung pentru a intra în modul de selectare.",select:"Selectare",selectedAll:"Toate elementele selectate.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Niciun element selectat",one:()=>`${t.number(e.count)} element selectat`,other:()=>`${t.number(e.count)} elemente selectate`})}.`,selectedItem:e=>`${e.item} selectat.`};var Gt={};Gt={deselectedItem:e=>`${e.item} не выбрано.`,longPressToSelect:"Нажмите и удерживайте для входа в режим выбора.",select:"Выбрать",selectedAll:"Выбраны все элементы.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Нет выбранных элементов",one:()=>`${t.number(e.count)} элемент выбран`,other:()=>`${t.number(e.count)} элементов выбрано`})}.`,selectedItem:e=>`${e.item} выбрано.`};var Yt={};Yt={deselectedItem:e=>`Nevybraté položky: ${e.item}.`,longPressToSelect:"Dlhším stlačením prejdite do režimu výberu.",select:"Vybrať",selectedAll:"Všetky vybraté položky.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Žiadne vybraté položky",one:()=>`${t.number(e.count)} vybratá položka`,other:()=>`Počet vybratých položiek:${t.number(e.count)}`})}.`,selectedItem:e=>`Vybraté položky: ${e.item}.`};var Zt={};Zt={deselectedItem:e=>`Element ${e.item} ni izbran.`,longPressToSelect:"Za izbirni način pritisnite in dlje časa držite.",select:"Izberite",selectedAll:"Vsi elementi so izbrani.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Noben element ni izbran",one:()=>`${t.number(e.count)} element je izbran`,other:()=>`${t.number(e.count)} elementov je izbranih`})}.`,selectedItem:e=>`Element ${e.item} je izbran.`};var _t={};_t={deselectedItem:e=>`${e.item} nije izabrano.`,longPressToSelect:"Dugo pritisnite za ulazak u režim biranja.",select:"Izaberite",selectedAll:"Izabrane su sve stavke.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Nije izabrana nijedna stavka",one:()=>`Izabrana je ${t.number(e.count)} stavka`,other:()=>`Izabrano je ${t.number(e.count)} stavki`})}.`,selectedItem:e=>`${e.item} je izabrano.`};var qt={};qt={deselectedItem:e=>`${e.item} ej markerat.`,longPressToSelect:"Tryck länge när du vill öppna väljarläge.",select:"Markera",selectedAll:"Alla markerade objekt.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Inga markerade objekt",one:()=>`${t.number(e.count)} markerat objekt`,other:()=>`${t.number(e.count)} markerade objekt`})}.`,selectedItem:e=>`${e.item} markerat.`};var Jt={};Jt={deselectedItem:e=>`${e.item} seçilmedi.`,longPressToSelect:"Seçim moduna girmek için uzun basın.",select:"Seç",selectedAll:"Tüm ögeler seçildi.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Hiçbir öge seçilmedi",one:()=>`${t.number(e.count)} öge seçildi`,other:()=>`${t.number(e.count)} öge seçildi`})}.`,selectedItem:e=>`${e.item} seçildi.`};var Xt={};Xt={deselectedItem:e=>`${e.item} не вибрано.`,longPressToSelect:"Виконайте довге натиснення, щоб перейти в режим вибору.",select:"Вибрати",selectedAll:"Усі елементи вибрано.",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"Жодних елементів не вибрано",one:()=>`${t.number(e.count)} елемент вибрано`,other:()=>`Вибрано елементів: ${t.number(e.count)}`})}.`,selectedItem:e=>`${e.item} вибрано.`};var Qt={};Qt={deselectedItem:e=>`未选择 ${e.item}。`,longPressToSelect:"长按以进入选择模式。",select:"选择",selectedAll:"已选择所有项目。",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"未选择项目",one:()=>`已选择 ${t.number(e.count)} 个项目`,other:()=>`已选择 ${t.number(e.count)} 个项目`})}。`,selectedItem:e=>`已选择 ${e.item}。`};var el={};el={deselectedItem:e=>`未選取「${e.item}」。`,longPressToSelect:"長按以進入選擇模式。",select:"選取",selectedAll:"已選取所有項目。",selectedCount:(e,t)=>`${t.plural(e.count,{"=0":"未選取任何項目",one:()=>`已選取 ${t.number(e.count)} 個項目`,other:()=>`已選取 ${t.number(e.count)} 個項目`})}。`,selectedItem:e=>`已選取「${e.item}」。`};var oe={};oe={"ar-AE":xt,"bg-BG":Ct,"cs-CZ":Dt,"da-DK":kt,"de-DE":Bt,"el-GR":Et,"en-US":St,"es-ES":At,"et-EE":wt,"fi-FI":Nt,"fr-FR":zt,"he-IL":Ft,"hr-HR":Pt,"hu-HU":Kt,"it-IT":It,"ja-JP":jt,"ko-KR":Mt,"lt-LT":Tt,"lv-LV":Rt,"nb-NO":Vt,"nl-NL":Ot,"pl-PL":Ht,"pt-BR":Lt,"pt-PT":Ut,"ro-RO":Wt,"ru-RU":Gt,"sk-SK":Yt,"sl-SI":Zt,"sr-SP":_t,"sv-SE":qt,"tr-TR":Jt,"uk-UA":Xt,"zh-CN":Qt,"zh-TW":el};const tl=7e3;let V=null;function ll(e,t="assertive",l=tl){V?V.announce(e,t,l):(V=new mu,(typeof IS_REACT_ACT_ENVIRONMENT=="boolean"?IS_REACT_ACT_ENVIRONMENT:typeof jest<"u")?V.announce(e,t,l):setTimeout(()=>{V?.isAttached()&&V?.announce(e,t,l)},100))}class mu{isAttached(){var t;return(t=this.node)===null||t===void 0?void 0:t.isConnected}createLog(t){let l=document.createElement("div");return l.setAttribute("role","log"),l.setAttribute("aria-live",t),l.setAttribute("aria-relevant","additions"),l}destroy(){this.node&&(document.body.removeChild(this.node),this.node=null)}announce(t,l="assertive",u=tl){var o,n;if(!this.node)return;let s=document.createElement("div");typeof t=="object"?(s.setAttribute("role","img"),s.setAttribute("aria-labelledby",t["aria-labelledby"])):s.textContent=t,l==="assertive"?(o=this.assertiveLog)===null||o===void 0||o.appendChild(s):(n=this.politeLog)===null||n===void 0||n.appendChild(s),t!==""&&setTimeout(()=>{s.remove()},u)}clear(t){this.node&&((!t||t==="assertive")&&this.assertiveLog&&(this.assertiveLog.innerHTML=""),(!t||t==="polite")&&this.politeLog&&(this.politeLog.innerHTML=""))}constructor(){this.node=null,this.assertiveLog=null,this.politeLog=null,typeof document<"u"&&(this.node=document.createElement("div"),this.node.dataset.liveAnnouncer="true",Object.assign(this.node.style,{border:0,clip:"rect(0 0 0 0)",clipPath:"inset(50%)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap"}),this.assertiveLog=this.createLog("assertive"),this.node.appendChild(this.assertiveLog),this.politeLog=this.createLog("polite"),this.node.appendChild(this.politeLog),document.body.prepend(this.node))}}function pu(e){return e&&e.__esModule?e.default:e}function bu(e,t){let{getRowText:l=r=>{var d,m,c,i;return(i=(d=(m=t.collection).getTextValue)===null||d===void 0?void 0:d.call(m,r))!==null&&i!==void 0?i:(c=t.collection.getItem(r))===null||c===void 0?void 0:c.textValue}}=e,u=_(pu(oe),"@react-aria/grid"),o=t.selectionManager.rawSelection,n=k.useRef(o),s=Rl(()=>{var r;if(!t.selectionManager.isFocused||o===n.current){n.current=o;return}let d=Ee(o,n.current),m=Ee(n.current,o),c=t.selectionManager.selectionBehavior==="replace",i=[];if(t.selectionManager.selectedKeys.size===1&&c){let p=t.selectionManager.selectedKeys.keys().next().value;if(p!=null&&t.collection.getItem(p)){let a=l(p);a&&i.push(u.format("selectedItem",{item:a}))}}else if(d.size===1&&m.size===0){let p=d.keys().next().value;if(p!=null){let a=l(p);a&&i.push(u.format("selectedItem",{item:a}))}}else if(m.size===1&&d.size===0){let p=m.keys().next().value;if(p!=null&&t.collection.getItem(p)){let a=l(p);a&&i.push(u.format("deselectedItem",{item:a}))}}t.selectionManager.selectionMode==="multiple"&&(i.length===0||o==="all"||o.size>1||n.current==="all"||((r=n.current)===null||r===void 0?void 0:r.size)>1)&&i.push(o==="all"?u.format("selectedAll"):u.format("selectedCount",{count:o.size})),i.length>0&&ll(i.join(" ")),n.current=o});Me(()=>{if(t.selectionManager.isFocused)s();else{let r=requestAnimationFrame(s);return()=>cancelAnimationFrame(r)}},[o,t.selectionManager.isFocused])}function Ee(e,t){let l=new Set;if(e==="all"||t==="all")return l;for(let u of e.keys())t.has(u)||l.add(u);return l}function fu(e){return e&&e.__esModule?e.default:e}function hu(e){let t=_(fu(oe),"@react-aria/grid"),l=Vl(),u=(l==="pointer"||l==="virtual"||l==null)&&typeof window<"u"&&"ontouchstart"in window,o=k.useMemo(()=>{let s=e.selectionManager.selectionMode,r=e.selectionManager.selectionBehavior,d;return u&&(d=t.format("longPressToSelect")),r==="replace"&&s!=="none"&&e.hasItemActions?d:void 0},[e.selectionManager.selectionMode,e.selectionManager.selectionBehavior,e.hasItemActions,t,u]);return fe(o)}function vu(e,t,l){let{isVirtualized:u,disallowTypeAhead:o,keyboardDelegate:n,focusMode:s,scrollRef:r,getRowText:d,onRowAction:m,onCellAction:c,escapeKeyBehavior:i="clearSelection",shouldSelectOnPressUp:p}=e,{selectionManager:a}=t;!e["aria-label"]&&!e["aria-labelledby"]&&console.warn("An aria-label or aria-labelledby prop is required for accessibility.");let b=ze({usage:"search",sensitivity:"base"}),{direction:v}=ue(),g=t.selectionManager.disabledBehavior,x=k.useMemo(()=>n||new yt({collection:t.collection,disabledKeys:t.disabledKeys,disabledBehavior:g,ref:l,direction:v,collator:b,focusMode:s}),[n,t.collection,t.disabledKeys,g,l,v,b,s]),{collectionProps:D}=Ol({ref:l,selectionManager:a,keyboardDelegate:x,isVirtualized:u,scrollRef:r,disallowTypeAhead:o,escapeKeyBehavior:i}),y=pe(e.id);ve.set(t,{keyboardDelegate:x,actions:{onRowAction:m,onCellAction:c},shouldSelectOnPressUp:p});let $=hu({selectionManager:a,hasItemActions:!!(m||c)}),f=Hl(e,{labelable:!0}),E=k.useCallback(C=>{if(a.isFocused){C.currentTarget.contains(C.target)||a.setFocused(!1);return}C.currentTarget.contains(C.target)&&a.setFocused(!0)},[a]),S=k.useMemo(()=>({onBlur:D.onBlur,onFocus:E}),[E,D.onBlur]),A=au(l,{isDisabled:t.collection.size!==0}),B=J(f,{role:"grid",id:y,"aria-multiselectable":a.selectionMode==="multiple"?"true":void 0},t.isKeyboardNavigationDisabled?S:D,t.collection.size===0&&{tabIndex:A?-1:0}||void 0,$);return u&&(B["aria-rowcount"]=t.collection.size,B["aria-colcount"]=t.collection.columnCount),bu({getRowText:d},t),{gridProps:B}}function gu(){return{rowGroupProps:{role:"rowgroup"}}}function $u(e,t,l){var u,o;let{node:n,isVirtualized:s,shouldSelectOnPressUp:r,onAction:d}=e,{actions:m,shouldSelectOnPressUp:c}=ve.get(t),i=m.onRowAction?()=>{var g;return(g=m.onRowAction)===null||g===void 0?void 0:g.call(m,n.key)}:d,{itemProps:p,...a}=Ie({selectionManager:t.selectionManager,key:n.key,ref:l,isVirtualized:s,shouldSelectOnPressUp:c||r,onAction:i||!(n==null||(u=n.props)===null||u===void 0)&&u.onAction?Ll(n==null||(o=n.props)===null||o===void 0?void 0:o.onAction,i):void 0,isDisabled:t.collection.size===0}),b=t.selectionManager.isSelected(n.key),v={role:"row","aria-selected":t.selectionManager.selectionMode!=="none"?b:void 0,"aria-disabled":a.isDisabled||void 0,...p};return s&&(v["aria-rowindex"]=n.index+1),{rowProps:v,...a}}function ul(e,t,l){let{node:u,isVirtualized:o,focusMode:n="child",shouldSelectOnPressUp:s,onAction:r}=e,{direction:d}=ue(),{keyboardDelegate:m,actions:{onCellAction:c}}=ve.get(t),i=k.useRef(null),p=()=>{if(l.current){let y=ae(l.current);if(n==="child"){if(l.current.contains(document.activeElement)&&l.current!==document.activeElement)return;let $=t.selectionManager.childFocusStrategy==="last"?re(y):y.firstChild();if($){L($);return}}(i.current!=null&&u.key!==i.current||!l.current.contains(document.activeElement))&&L(l.current)}},{itemProps:a,isPressed:b}=Ie({selectionManager:t.selectionManager,key:u.key,ref:l,isVirtualized:o,focus:p,shouldSelectOnPressUp:s,onAction:c?()=>c(u.key):r,isDisabled:t.collection.size===0}),v=y=>{if(!y.currentTarget.contains(y.target)||t.isKeyboardNavigationDisabled||!l.current||!document.activeElement)return;let $=ae(l.current);switch($.currentNode=document.activeElement,y.key){case"ArrowLeft":{let C=d==="rtl"?$.nextNode():$.previousNode();if(n==="child"&&C===l.current&&(C=null),y.preventDefault(),y.stopPropagation(),C)L(C),Y(C,{containingElement:Z(l.current)});else{var f;if(((f=m.getKeyLeftOf)===null||f===void 0?void 0:f.call(m,u.key))!==u.key){var E;(E=l.current.parentElement)===null||E===void 0||E.dispatchEvent(new KeyboardEvent(y.nativeEvent.type,y.nativeEvent));break}n==="cell"&&d==="rtl"?(L(l.current),Y(l.current,{containingElement:Z(l.current)})):($.currentNode=l.current,C=d==="rtl"?$.firstChild():re($),C&&(L(C),Y(C,{containingElement:Z(l.current)})))}break}case"ArrowRight":{let C=d==="rtl"?$.previousNode():$.nextNode();if(n==="child"&&C===l.current&&(C=null),y.preventDefault(),y.stopPropagation(),C)L(C),Y(C,{containingElement:Z(l.current)});else{var S;if(((S=m.getKeyRightOf)===null||S===void 0?void 0:S.call(m,u.key))!==u.key){var A;(A=l.current.parentElement)===null||A===void 0||A.dispatchEvent(new KeyboardEvent(y.nativeEvent.type,y.nativeEvent));break}n==="cell"&&d==="ltr"?(L(l.current),Y(l.current,{containingElement:Z(l.current)})):($.currentNode=l.current,C=d==="rtl"?re($):$.firstChild(),C&&(L(C),Y(C,{containingElement:Z(l.current)})))}break}case"ArrowUp":case"ArrowDown":if(!y.altKey&&l.current.contains(y.target)){var B;y.stopPropagation(),y.preventDefault(),(B=l.current.parentElement)===null||B===void 0||B.dispatchEvent(new KeyboardEvent(y.nativeEvent.type,y.nativeEvent))}break}},g=y=>{if(i.current=u.key,y.target!==l.current){Ul()||t.selectionManager.setFocusedKey(u.key);return}requestAnimationFrame(()=>{n==="child"&&document.activeElement===l.current&&p()})},x=J(a,{role:"gridcell",onKeyDownCapture:v,"aria-colspan":u.colSpan,"aria-colindex":u.colIndex!=null?u.colIndex+1:void 0,colSpan:o?void 0:u.colSpan,onFocus:g});var D;return o&&(x["aria-colindex"]=((D=u.colIndex)!==null&&D!==void 0?D:u.index)+1),s&&x.tabIndex!=null&&x.onPointerDown==null&&(x.onPointerDown=y=>{let $=y.currentTarget,f=$.getAttribute("tabindex");$.removeAttribute("tabindex"),requestAnimationFrame(()=>{f!=null&&$.setAttribute("tabindex",f)})}),{gridCellProps:x,isPressed:b}}function re(e){let t=null,l=null;do l=e.lastChild(),l&&(t=l);while(l);return t}function yu(e){return e&&e.__esModule?e.default:e}function xu(e,t){let{key:l}=e,u=t.selectionManager,o=pe(),n=!t.selectionManager.canSelectItem(l),s=t.selectionManager.isSelected(l),r=()=>u.toggleSelection(l);const d=_(yu(oe),"@react-aria/grid");return{checkboxProps:{id:o,"aria-label":d.format("select"),isSelected:s,isDisabled:n,onChange:r}}}class Cu extends yt{isCell(t){return t.type==="cell"||t.type==="rowheader"||t.type==="column"}getKeyBelow(t){let l=this.collection.getItem(t);if(!l)return null;if(l.type==="column"){let u=U(z(l,this.collection));if(u)return u.key;let o=this.getFirstKey();return o==null||!this.collection.getItem(o)?null:super.getKeyForItemInRowByIndex(o,l.index)}return super.getKeyBelow(t)}getKeyAbove(t){let l=this.collection.getItem(t);if(!l)return null;if(l.type==="column"){let n=l.parentKey!=null?this.collection.getItem(l.parentKey):null;return n&&n.type==="column"?n.key:null}let u=super.getKeyAbove(t),o=u!=null?this.collection.getItem(u):null;return o&&o.type!=="headerrow"?u:this.isCell(l)?this.collection.columns[l.index].key:this.collection.columns[0].key}findNextColumnKey(t){let l=this.findNextKey(t.key,o=>o.type==="column");if(l!=null)return l;let u=this.collection.headerRows[t.level];for(let o of z(u,this.collection))if(o.type==="column")return o.key;return null}findPreviousColumnKey(t){let l=this.findPreviousKey(t.key,n=>n.type==="column");if(l!=null)return l;let u=this.collection.headerRows[t.level],o=[...z(u,this.collection)];for(let n=o.length-1;n>=0;n--){let s=o[n];if(s.type==="column")return s.key}return null}getKeyRightOf(t){let l=this.collection.getItem(t);return l?l.type==="column"?this.direction==="rtl"?this.findPreviousColumnKey(l):this.findNextColumnKey(l):super.getKeyRightOf(t):null}getKeyLeftOf(t){let l=this.collection.getItem(t);return l?l.type==="column"?this.direction==="rtl"?this.findNextColumnKey(l):this.findPreviousColumnKey(l):super.getKeyLeftOf(t):null}getKeyForSearch(t,l){if(!this.collator)return null;let u=this.collection,o=l??this.getFirstKey();if(o==null)return null;let n=u.getItem(o);var s;n?.type==="cell"&&(o=(s=n.parentKey)!==null&&s!==void 0?s:null);let r=!1;for(;o!=null;){let d=u.getItem(o);if(!d)return null;if(d.textValue){let m=d.textValue.slice(0,t.length);if(this.collator.compare(m,t)===0)return d.key}for(let m of z(d,this.collection)){let c=u.columns[m.index];if(u.rowHeaderColumnKeys.has(c.key)&&m.textValue){let i=m.textValue.slice(0,t.length);if(this.collator.compare(i,t)===0){let p=l!=null?u.getItem(l):n;return p?.type==="cell"?m.key:d.key}}}o=this.getKeyBelow(o),o==null&&!r&&(o=this.getFirstKey(),r=!0)}return null}}function Du(e){return e&&e.__esModule?e.default:e}function ku(e,t,l){let{keyboardDelegate:u,isVirtualized:o,layoutDelegate:n,layout:s}=e,r=ze({usage:"search",sensitivity:"base"}),{direction:d}=ue(),m=t.selectionManager.disabledBehavior,c=k.useMemo(()=>u||new Cu({collection:t.collection,disabledKeys:t.disabledKeys,disabledBehavior:m,ref:l,direction:d,collator:r,layoutDelegate:n,layout:s}),[u,t.collection,t.disabledKeys,m,l,d,r,n,s]),i=pe(e.id);he.set(t,i);let{gridProps:p}=vu({...e,id:i,keyboardDelegate:c},t,l);o&&(p["aria-rowcount"]=t.collection.size+t.collection.headerRows.length),le()&&"expandedKeys"in t&&(p.role="treegrid");let{column:a,direction:b}=t.sortDescriptor||{},v=_(Du(ne),"@react-aria/table"),g=k.useMemo(()=>{var D,y;let $=(y=(D=t.collection.columns.find(f=>f.key===a))===null||D===void 0?void 0:D.textValue)!==null&&y!==void 0?y:"";return b&&a?v.format(`${b}Sort`,{columnName:$}):void 0},[b,a,t.collection.columns]),x=fe(g);return Me(()=>{g&&ll(g,"assertive",500)},[g]),{gridProps:J(p,x,{"aria-describedby":[x["aria-describedby"],p["aria-describedby"]].filter(Boolean).join(" ")})}}function Bu(e){return e&&e.__esModule?e.default:e}function nl(e,t,l){var u,o;let{node:n}=e,s=n.props.allowsSorting,{gridCellProps:r}=ul({...e,focusMode:"child"},t,l),d=n.props.isSelectionCell&&t.selectionManager.selectionMode==="single",{pressProps:m}=Wl({isDisabled:!s||d,onPress(){t.sort(n.key)},ref:l}),{focusableProps:c}=Gl({},l),i,p=((u=t.sortDescriptor)===null||u===void 0?void 0:u.column)===n.key,a=(o=t.sortDescriptor)===null||o===void 0?void 0:o.direction;n.props.allowsSorting&&!Ce()&&(i=p?a:"none");let b=_(Bu(ne),"@react-aria/table"),v;s&&(v=`${b.format("sortable")}`,p&&a&&Ce()&&(v=`${v}, ${b.format(a)}`));let g=fe(v),x=t.collection.size===0;return k.useEffect(()=>{x&&t.selectionManager.focusedKey===n.key&&t.selectionManager.setFocusedKey(null)},[x,t.selectionManager,n.key]),{columnHeaderProps:{...J(c,r,m,g,x?{tabIndex:-1}:null),role:"columnheader",id:cu(t,n.key),"aria-colspan":n.colSpan&&n.colSpan>1?n.colSpan:void 0,"aria-sort":i}}}const Se={expand:{ltr:"ArrowRight",rtl:"ArrowLeft"},collapse:{ltr:"ArrowLeft",rtl:"ArrowRight"}};function Eu(e,t,l){let{node:u,isVirtualized:o}=e,{rowProps:n,...s}=$u(e,t,l),{direction:r}=ue();o&&!(le()&&"expandedKeys"in t)?n["aria-rowindex"]=u.index+1+t.collection.headerRows.length:delete n["aria-rowindex"];let d={};if(le()&&"expandedKeys"in t){let f=t.keyMap.get(u.key);if(f!=null){var m,c,i,p,a,b;let E=((m=f.props)===null||m===void 0?void 0:m.UNSTABLE_childItems)||((i=f.props)===null||i===void 0||(c=i.children)===null||c===void 0?void 0:c.length)>t.userColumnCount;var v,g,x,D;d={onKeyDown:S=>{(S.key===Se.expand[r]&&t.selectionManager.focusedKey===f.key&&E&&t.expandedKeys!=="all"&&!t.expandedKeys.has(f.key)||S.key===Se.collapse[r]&&t.selectionManager.focusedKey===f.key&&E&&(t.expandedKeys==="all"||t.expandedKeys.has(f.key)))&&(t.toggleKey(f.key),S.stopPropagation())},"aria-expanded":E?t.expandedKeys==="all"||t.expandedKeys.has(u.key):void 0,"aria-level":f.level,"aria-posinset":((v=f.indexOfType)!==null&&v!==void 0?v:0)+1,"aria-setsize":f.level>1?((x=(p=W((g=(a=t.keyMap.get(f.parentKey))===null||a===void 0?void 0:a.childNodes)!==null&&g!==void 0?g:[]))===null||p===void 0?void 0:p.indexOfType)!==null&&x!==void 0?x:0)+1:((D=(b=W(t.collection.body.childNodes))===null||b===void 0?void 0:b.indexOfType)!==null&&D!==void 0?D:0)+1}}}let y=Yl(u.props),$=s.hasAction?y:{};return{rowProps:{...J(n,d,$),"aria-labelledby":Re(t,u.key)},...s}}function Su(e,t,l){let{node:u,isVirtualized:o}=e,n={role:"row"};return o&&!(le()&&"expandedKeys"in t)&&(n["aria-rowindex"]=u.index+1),{rowProps:n}}function ol(e,t,l){var u;let{gridCellProps:o,isPressed:n}=ul(e,t,l),s=(u=e.node.column)===null||u===void 0?void 0:u.key;return s!=null&&t.collection.rowHeaderColumnKeys.has(s)&&(o.role="rowheader",o.id=Te(t,e.node.parentKey,s)),{gridCellProps:o,isPressed:n}}function Au(e){return e&&e.__esModule?e.default:e}function wu(e,t){let{key:l}=e;const{checkboxProps:u}=xu(e,t);return{checkboxProps:{...u,"aria-labelledby":`${u.id} ${Re(t,l)}`}}}function Nu(e){let{isEmpty:t,isSelectAll:l,selectionMode:u}=e.selectionManager;return{checkboxProps:{"aria-label":_(Au(ne),"@react-aria/table").format(u==="single"?"select":"selectAll"),isSelected:l,isDisabled:u!=="multiple"||e.collection.size===0||e.collection.rows.length===1&&e.collection.rows[0].type==="loader",isIndeterminate:!t&&!l,onChange:()=>e.selectionManager.toggleSelectAll()}}}function ge(){return gu()}var sl=T((e,t)=>{var l,u;const{as:o,className:n,node:s,slots:r,state:d,selectionMode:m,color:c,checkboxesProps:i,disableAnimation:p,classNames:a,...b}=e,v=o||"th",g=typeof v=="string",x=M(t),{columnHeaderProps:D}=nl({node:s},d,x),{isFocusVisible:y,focusProps:$}=X(),{checkboxProps:f}=Nu(d),E=K(a?.th,n,(l=s.props)==null?void 0:l.className),S=m==="single",{onChange:A,...B}=f;return h.jsx(v,{ref:x,"data-focus-visible":w(y),...I(D,$,O(s.props,{enabled:g}),O(b,{enabled:g})),className:(u=r.th)==null?void 0:u.call(r,{class:E}),children:S?h.jsx(be,{children:f["aria-label"]}):h.jsx(je,{color:c,disableAnimation:p,onValueChange:A,...I(i,B)})})});sl.displayName="HeroUI.TableSelectAllCheckbox";var il=sl;function zu(e){let{collection:t,focusMode:l}=e,u=e.UNSAFE_selectionState||Zl(e),o=k.useMemo(()=>e.disabledKeys?new Set(e.disabledKeys):new Set,[e.disabledKeys]),n=u.setFocusedKey;u.setFocusedKey=(d,m)=>{if(l==="cell"&&d!=null){let b=t.getItem(d);if(b?.type==="item"){var c,i;let v=z(b,t);var p,a;m==="last"?d=(p=(c=W(v))===null||c===void 0?void 0:c.key)!==null&&p!==void 0?p:null:d=(a=(i=U(v))===null||i===void 0?void 0:i.key)!==null&&a!==void 0?a:null}}n(d,m)};let s=k.useMemo(()=>new _l(t,u),[t,u]);const r=k.useRef(null);return k.useEffect(()=>{if(u.focusedKey!=null&&r.current&&!t.getItem(u.focusedKey)){const d=r.current.getItem(u.focusedKey),m=d?.parentKey!=null&&(d.type==="cell"||d.type==="rowheader"||d.type==="column")?r.current.getItem(d.parentKey):d;if(!m){u.setFocusedKey(null);return}const c=r.current.rows,i=t.rows,p=c.length-i.length;let a=Math.min(p>1?Math.max(m.index-p+1,0):m.index,i.length-1),b=null;for(;a>=0;){if(!s.isDisabled(i[a].key)&&i[a].type!=="headerrow"){b=i[a];break}am.index&&(a=m.index),a--)}if(b){const v=b.hasChildNodes?[...z(b,t)]:[],g=b.hasChildNodes&&m!==d&&d&&d.index{let p=this.keyMap.get(i.key);t.visitNode&&(i=t.visitNode(i)),this.keyMap.set(i.key,i);let a=new Set,b=null,v=!1;if(i.type==="item"){var g;for(let f of i.childNodes)if(((g=f.props)===null||g===void 0?void 0:g.colSpan)!==void 0){v=!0;break}}for(let f of i.childNodes){if(f.type==="cell"&&v){var x,D;f.colspan=(x=f.props)===null||x===void 0?void 0:x.colSpan,f.colSpan=(D=f.props)===null||D===void 0?void 0:D.colSpan;var y,$;f.colIndex=b?((y=b.colIndex)!==null&&y!==void 0?y:b.index)+(($=b.colSpan)!==null&&$!==void 0?$:1):f.index}f.type==="cell"&&f.parentKey==null&&(f.parentKey=i.key),a.add(f.key),b?(b.nextKey=f.key,f.prevKey=b.key):f.prevKey=null,l(f),b=f}if(b&&(b.nextKey=null),p)for(let f of p.childNodes)a.has(f.key)||u(f)},u=i=>{this.keyMap.delete(i.key);for(let p of i.childNodes)this.keyMap.get(p.key)===p&&u(p)},o=null;for(let[i,p]of t.items.entries()){var n,s,r,d,m,c;let a={...p,level:(n=p.level)!==null&&n!==void 0?n:0,key:(s=p.key)!==null&&s!==void 0?s:"row-"+i,type:(r=p.type)!==null&&r!==void 0?r:"row",value:(d=p.value)!==null&&d!==void 0?d:null,hasChildNodes:!0,childNodes:[...p.childNodes],rendered:p.rendered,textValue:(m=p.textValue)!==null&&m!==void 0?m:"",index:(c=p.index)!==null&&c!==void 0?c:i};o?(o.nextKey=a.key,a.prevKey=o.key):a.prevKey=null,this.rows.push(a),l(a),o=a}o&&(o.nextKey=null)}}const rl="row-header-column-"+Math.random().toString(36).slice(2);let de="row-header-column-"+Math.random().toString(36).slice(2);for(;rl===de;)de="row-header-column-"+Math.random().toString(36).slice(2);function Pu(e,t){if(t.length===0)return[];let l=[],u=new Map;for(let c of t){let i=c.parentKey,p=[c];for(;i;){let a=e.get(i);if(!a)break;if(u.has(a)){var o,n;(n=(o=a).colSpan)!==null&&n!==void 0||(o.colSpan=0),a.colSpan++,a.colspan=a.colSpan;let{column:b,index:v}=u.get(a);if(v>p.length)break;for(let g=v;gc.length)),r=Array(s).fill(0).map(()=>[]),d=0;for(let c of l){let i=s-1;for(let p of c){if(p){let a=r[i],b=a.reduce((v,g)=>{var x;return v+((x=g.colSpan)!==null&&x!==void 0?x:1)},0);if(b0&&(a[a.length-1].nextKey=v.key,v.prevKey=a[a.length-1].key),a.push(v)}a.length>0&&(a[a.length-1].nextKey=p.key,p.prevKey=a[a.length-1].key),p.level=i,p.colIndex=d,a.push(p)}i--}d++}let m=0;for(let c of r){let i=c.reduce((p,a)=>{var b;return p+((b=a.colSpan)!==null&&b!==void 0?b:1)},0);if(i({type:"headerrow",key:"headerrow-"+i,index:i,value:null,rendered:null,level:0,hasChildNodes:!0,childNodes:c,textValue:""}))}class Ku extends Fu{*[Symbol.iterator](){yield*this.body.childNodes}get size(){return this._size}getKeys(){return this.keyMap.keys()}getKeyBefore(t){let l=this.keyMap.get(t);var u;return(u=l?.prevKey)!==null&&u!==void 0?u:null}getKeyAfter(t){let l=this.keyMap.get(t);var u;return(u=l?.nextKey)!==null&&u!==void 0?u:null}getFirstKey(){var t,l;return(l=(t=U(this.body.childNodes))===null||t===void 0?void 0:t.key)!==null&&l!==void 0?l:null}getLastKey(){var t,l;return(l=(t=W(this.body.childNodes))===null||t===void 0?void 0:t.key)!==null&&l!==void 0?l:null}getItem(t){var l;return(l=this.keyMap.get(t))!==null&&l!==void 0?l:null}at(t){const l=[...this.getKeys()];return this.getItem(l[t])}getChildren(t){return t===this.body.key?this.body.childNodes:super.getChildren(t)}getTextValue(t){let l=this.getItem(t);if(!l)return"";if(l.textValue)return l.textValue;let u=this.rowHeaderColumnKeys;if(u){let o=[];for(let n of l.childNodes){let s=this.columns[n.index];if(u.has(s.key)&&n.textValue&&o.push(n.textValue),o.length===u.size)break}return o.join(" ")}return""}constructor(t,l,u){let o=new Set,n=null,s=[];if(u?.showSelectionCheckboxes){let i={type:"column",key:rl,value:null,textValue:"",level:0,index:u?.showDragButtons?1:0,hasChildNodes:!1,rendered:null,childNodes:[],props:{isSelectionCell:!0}};s.unshift(i)}if(u?.showDragButtons){let i={type:"column",key:de,value:null,textValue:"",level:0,index:0,hasChildNodes:!1,rendered:null,childNodes:[],props:{isDragButtonCell:!0}};s.unshift(i)}let r=[],d=new Map,m=i=>{switch(i.type){case"body":n=i;break;case"column":d.set(i.key,i),i.hasChildNodes||(s.push(i),i.props.isRowHeader&&o.add(i.key));break;case"item":r.push(i);return}for(let p of i.childNodes)m(p)};for(let i of t)m(i);let c=Pu(d,s);if(c.forEach((i,p)=>r.splice(p,0,i)),super({columnCount:s.length,items:r,visitNode:i=>(i.column=s[i.index],i)}),this._size=0,this.columns=s,this.rowHeaderColumnKeys=o,this.body=n,this.headerRows=c,this._size=[...n.childNodes].length,this.rowHeaderColumnKeys.size===0){let i=this.columns.find(p=>{var a,b;return!(!((a=p.props)===null||a===void 0)&&a.isDragButtonCell)&&!(!((b=p.props)===null||b===void 0)&&b.isSelectionCell)});i&&this.rowHeaderColumnKeys.add(i.key)}}}const Iu={ascending:"descending",descending:"ascending"};function ju(e){let[t,l]=k.useState(!1),{selectionMode:u="none",showSelectionCheckboxes:o,showDragButtons:n}=e,s=k.useMemo(()=>({showSelectionCheckboxes:o&&u!=="none",showDragButtons:n,selectionMode:u,columns:[]}),[e.children,o,u,n]),r=ql(e,k.useCallback(i=>new Ku(i,null,s),[s]),s),{disabledKeys:d,selectionManager:m}=zu({...e,collection:r,disabledBehavior:e.disabledBehavior||"selection"});var c;return{collection:r,disabledKeys:d,selectionManager:m,showSelectionCheckboxes:e.showSelectionCheckboxes||!1,sortDescriptor:(c=e.sortDescriptor)!==null&&c!==void 0?c:null,isKeyboardNavigationDisabled:r.size===0||t,setKeyboardNavigationDisabled:l,sort(i,p){var a,b;(b=e.onSortChange)===null||b===void 0||b.call(e,{column:i,direction:p??(((a=e.sortDescriptor)===null||a===void 0?void 0:a.column)===i?Iu[e.sortDescriptor.direction]:"ascending")})}}}function al(e){return null}al.getCollectionNode=function*(t,l){let{children:u,columns:o}=t;if(l.columns=[],typeof u=="function"){if(!o)throw new Error("props.children was a function but props.columns is missing");for(let n of o)yield{type:"column",value:n,renderer:u}}else{let n=[];q.Children.forEach(u,s=>{n.push({type:"column",element:s})}),yield*n}};let Mu=al;function cl(e){return null}cl.getCollectionNode=function*(t){let{children:l,items:u}=t;yield{type:"body",hasChildNodes:!0,props:t,*childNodes(){if(typeof l=="function"){if(!u)throw new Error("props.children was a function but props.items is missing");for(let o of u)yield{type:"item",value:o,renderer:l}}else{let o=[];q.Children.forEach(l,n=>{o.push({type:"item",element:n})}),yield*o}}}};let Tu=cl;function dl(e){return null}dl.getCollectionNode=function*(t,l){let{title:u,children:o,childColumns:n}=t,s=u||o,r=t.textValue||(typeof s=="string"?s:"")||t["aria-label"],d=yield{type:"column",hasChildNodes:!!n||!!u&&q.Children.count(o)>0,rendered:s,textValue:r,props:t,*childNodes(){if(n)for(let c of n)yield{type:"column",value:c};else if(u){let c=[];q.Children.forEach(o,i=>{c.push({type:"column",element:i})}),yield*c}},shouldInvalidate(c){return m(c),!1}},m=c=>{for(let i of d)i.hasChildNodes||c.columns.push(i)};m(l)};let Ru=dl;function me(e){return null}me.getCollectionNode=function*(t,l){let{children:u,textValue:o,UNSTABLE_childItems:n}=t;yield{type:"item",props:t,textValue:o,"aria-label":t["aria-label"],hasChildNodes:!0,*childNodes(){if(l.showDragButtons&&(yield{type:"cell",key:"header-drag",props:{isDragButtonCell:!0}}),l.showSelectionCheckboxes&&l.selectionMode!=="none"&&(yield{type:"cell",key:"header",props:{isSelectionCell:!0}}),typeof u=="function"){for(let s of l.columns)yield{type:"cell",element:u(s.key),key:s.key};if(n)for(let s of n)yield{type:"item",value:s}}else{let s=[],r=[],d=0;if(q.Children.forEach(u,m=>{if(m.type===me){if(s.lengthr.key!==l.columns[d].key)||s.showSelectionCheckboxes!==l.showSelectionCheckboxes||s.showDragButtons!==l.showDragButtons||s.selectionMode!==l.selectionMode}}};let Vu=me;function ml(e){return null}ml.getCollectionNode=function*(t){let{children:l}=t,u=t.textValue||(typeof l=="string"?l:"")||t["aria-label"]||"";yield{type:"cell",props:t,rendered:l,textValue:u,"aria-label":t["aria-label"],hasChildNodes:!1}};let Ou=ml;function pl(e){var t;const l=Jl(),[u,o]=Fe(e,Be.variantKeys),{ref:n,as:s,baseRef:r,children:d,className:m,classNames:c,removeWrapper:i=!1,disableAnimation:p=(t=l?.disableAnimation)!=null?t:!1,isKeyboardNavigationDisabled:a=!1,selectionMode:b="none",topContentPlacement:v="inside",bottomContentPlacement:g="inside",selectionBehavior:x=b==="none"?null:"toggle",disabledBehavior:D="selection",showSelectionCheckboxes:y=b==="multiple"&&x!=="replace",BaseComponent:$="div",checkboxesProps:f,topContent:E,bottomContent:S,sortIcon:A,onRowAction:B,onCellAction:C,...N}=u,j=s||"table",F=typeof j=="string",R=M(n),Q=M(r),G=ju({...e,children:d,showSelectionCheckboxes:y});a&&!G.isKeyboardNavigationDisabled&&G.setKeyboardNavigationDisabled(!0);const{collection:se}=G,{layout:sn,...Fl}=e,{gridProps:$e}=ku({...Fl},G,R),ee=b!=="none",ye=b==="multiple",H=k.useMemo(()=>Be({...o,isSelectable:ee,isMultiSelectable:ye}),[Pe(o),ee,ye]),xe=K(c?.base,m),Pl=k.useMemo(()=>{var P;return{state:G,slots:H,isSelectable:ee,collection:se,classNames:c,color:e?.color,disableAnimation:p,checkboxesProps:f,isHeaderSticky:(P=e?.isHeaderSticky)!=null?P:!1,selectionMode:b,selectionBehavior:x,disabledBehavior:D,showSelectionCheckboxes:y,onRowAction:B,onCellAction:C}},[H,G,se,ee,c,b,x,f,D,p,y,e?.color,e?.isHeaderSticky,B,C]),Kl=k.useCallback(P=>({...P,ref:Q,className:H.base({class:K(xe,P?.className)})}),[xe,H]),Il=k.useCallback(P=>({...P,ref:Q,className:H.wrapper({class:K(c?.wrapper,P?.className)})}),[c?.wrapper,H]),jl=k.useCallback(P=>({...I($e,O(N,{enabled:F}),P),onKeyDownCapture:void 0,ref:R,className:H.table({class:K(c?.table,P?.className)})}),[c?.table,F,H,$e,N]);return{BaseComponent:$,Component:j,children:d,state:G,collection:se,values:Pl,topContent:E,bottomContent:S,removeWrapper:i,topContentPlacement:v,bottomContentPlacement:g,sortIcon:A,getBaseProps:Kl,getWrapperProps:Il,getTableProps:jl}}var bl=T((e,t)=>{var l,u,o;const{as:n,className:s,node:r,rowKey:d,slots:m,state:c,classNames:i,...p}=e,a=n||"td",b=typeof a=="string",v=M(t),{gridCellProps:g}=ol({node:r},c,v),x=K(i?.td,s,(l=r.props)==null?void 0:l.className),{isFocusVisible:D,focusProps:y}=X(),$=c.selectionManager.isSelected(d),f=k.useMemo(()=>{const S=typeof r.rendered;return S!=="object"&&S!=="function"?h.jsx("span",{children:r.rendered}):r.rendered},[r.rendered]),E=((u=r.column)==null?void 0:u.props)||{};return h.jsx(a,{ref:v,"data-focus-visible":w(D),"data-selected":w($),...I(g,y,O(r.props,{enabled:b}),p),className:(o=m.td)==null?void 0:o.call(m,{align:E.align,class:x}),children:f})});bl.displayName="HeroUI.TableCell";var fl=bl,hl=T((e,t)=>{var l,u;const{as:o,className:n,node:s,rowKey:r,slots:d,state:m,color:c,disableAnimation:i,checkboxesProps:p,selectionMode:a,classNames:b,...v}=e,g=o||"td",x=typeof g=="string",D=M(t),{gridCellProps:y}=ol({node:s},m,D),{isFocusVisible:$,focusProps:f}=X(),{checkboxProps:E}=wu({key:s?.parentKey||s.key},m),S=K(b?.td,n,(l=s.props)==null?void 0:l.className),A=a==="single",{onChange:B,...C}=E,N=m.selectionManager.isSelected(r);return h.jsx(g,{ref:D,"data-focus-visible":w($),"data-selected":w(N),...I(y,f,O(s.props,{enabled:x}),v),className:(u=d.td)==null?void 0:u.call(d,{class:S}),children:A?h.jsx(be,{children:E["aria-label"]}):h.jsx(je,{color:c,disableAnimation:i,onValueChange:B,...I(p,C)})})});hl.displayName="HeroUI.TableCheckboxCell";var vl=hl,gl=T((e,t)=>{var l,u;const{as:o,className:n,children:s,node:r,slots:d,state:m,isSelectable:c,classNames:i,...p}=e,a=o||(e?.href?"a":"tr"),b=typeof a=="string",v=M(t),{rowProps:g}=Eu({node:r},m,v),x=K(i?.tr,n,(l=r.props)==null?void 0:l.className),{isFocusVisible:D,focusProps:y}=X(),$=m.disabledKeys.has(r.key),f=m.selectionManager.isSelected(r.key),{isHovered:E,hoverProps:S}=Ke({isDisabled:$}),{isFirst:A,isLast:B,isMiddle:C,isOdd:N}=k.useMemo(()=>{const j=r.key===m.collection.getFirstKey(),F=r.key===m.collection.getLastKey(),R=!j&&!F,Q=r?.index?(r.index+1)%2===0:!1;return{isFirst:j,isLast:F,isMiddle:R,isOdd:Q}},[r,m.collection]);return h.jsx(a,{ref:v,"data-disabled":w($),"data-first":w(A),"data-focus-visible":w(D),"data-hover":w(E),"data-last":w(B),"data-middle":w(C),"data-odd":w(N),"data-selected":w(f),...I(g,y,c?S:{},O(r.props,{enabled:b}),p),className:(u=d.tr)==null?void 0:u.call(d,{class:x}),children:s})});gl.displayName="HeroUI.TableRow";var $l=gl,yl=T((e,t)=>{var l;const{as:u,className:o,slots:n,state:s,collection:r,isSelectable:d,color:m,disableAnimation:c,checkboxesProps:i,selectionMode:p,classNames:a,rowVirtualizer:b,...v}=e,g=u||"tbody",x=typeof g=="string",D=M(t),{rowGroupProps:y}=ge(),$=K(a?.tbody,o),f=r?.body.props,E=f?.isLoading||f?.loadingState==="loading"||f?.loadingState==="loadingMore",S=[...r.body.childNodes],A=b.getVirtualItems();let B,C;return r.size===0&&f.emptyContent&&(B=h.jsx("tr",{role:"row",children:h.jsx("td",{className:n?.emptyWrapper({class:a?.emptyWrapper}),colSpan:r.columnCount,role:"gridcell",children:!E&&f.emptyContent})})),E&&f.loadingContent&&(C=h.jsxs("tr",{role:"row",children:[h.jsx("td",{className:n?.loadingWrapper({class:a?.loadingWrapper}),colSpan:r.columnCount,role:"gridcell",children:f.loadingContent}),!B&&r.size===0?h.jsx("td",{className:n?.emptyWrapper({class:a?.emptyWrapper})}):null]})),h.jsxs(g,{ref:D,...I(y,O(f,{enabled:x}),v),className:(l=n.tbody)==null?void 0:l.call(n,{class:$}),"data-empty":w(r.size===0),"data-loading":w(E),children:[A.map((N,j)=>{const F=S[N.index];return F?h.jsx($l,{classNames:a,isSelectable:d,node:F,slots:n,state:s,style:{transform:`translateY(${N.start-j*N.size}px)`,height:`${N.size}px`},children:[...F.childNodes].map(R=>R.props.isSelectionCell?h.jsx(vl,{checkboxesProps:i,classNames:a,color:m,disableAnimation:c,node:R,rowKey:F.key,selectionMode:p,slots:n,state:s},String(R.key)):h.jsx(fl,{classNames:a,node:R,rowKey:F.key,slots:n,state:s},String(R.key)))},String(F.key)):null}),C,B]})});yl.displayName="HeroUI.VirtualizedTableBody";var Hu=yl,xl=T((e,t)=>{var l,u,o,n,s;const{as:r,className:d,state:m,node:c,slots:i,classNames:p,sortIcon:a,...b}=e,v=r||"th",g=typeof v=="string",x=M(t),{columnHeaderProps:D}=nl({node:c},m,x),y=K(p?.th,d,(l=c.props)==null?void 0:l.className),{isFocusVisible:$,focusProps:f}=X(),{isHovered:E,hoverProps:S}=Ke({}),{hideHeader:A,align:B,...C}=c.props,N=C.allowsSorting,j={"aria-hidden":!0,"data-direction":(u=m.sortDescriptor)==null?void 0:u.direction,"data-visible":w(((o=m.sortDescriptor)==null?void 0:o.column)===c.key),className:(n=i.sortIcon)==null?void 0:n.call(i,{class:p?.sortIcon})},F=typeof a=="function"?a(j):k.isValidElement(a)&&k.cloneElement(a,j);return h.jsxs(v,{ref:x,colSpan:c.colspan,"data-focus-visible":w($),"data-hover":w(E),"data-sortable":w(N),...I(D,f,O(C,{enabled:g}),N?S:{},b),className:(s=i.th)==null?void 0:s.call(i,{align:B,class:y}),children:[A?h.jsx(be,{children:c.rendered}):c.rendered,N&&(F||h.jsx(su,{strokeWidth:3,...j}))]})});xl.displayName="HeroUI.TableColumnHeader";var Cl=xl,Dl=T((e,t)=>{var l,u;const{as:o,className:n,children:s,node:r,slots:d,classNames:m,state:c,...i}=e,p=o||"tr",a=typeof p=="string",b=M(t),{rowProps:v}=Su({node:r},c),g=K(m?.tr,n,(l=r.props)==null?void 0:l.className);return h.jsx(p,{ref:b,...I(v,O(r.props,{enabled:a}),i),className:(u=d.tr)==null?void 0:u.call(d,{class:g}),children:s})});Dl.displayName="HeroUI.TableHeaderRow";var kl=Dl,Bl=k.forwardRef((e,t)=>{var l;const{as:u,className:o,children:n,slots:s,classNames:r,...d}=e,m=u||"thead",c=M(t),{rowGroupProps:i}=ge(),p=K(r?.thead,o);return h.jsx(m,{ref:c,className:(l=s.thead)==null?void 0:l.call(s,{class:p}),...I(i,d),children:n})});Bl.displayName="HeroUI.TableRowGroup";var El=Bl,Lu={px:"1px",0:"0px",.5:"0.125rem",1:"0.25rem",1.5:"0.375rem",2:"0.5rem",2.5:"0.625rem",3:"0.75rem",3.5:"0.875rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem",11:"2.75rem",12:"3rem",14:"3.5rem",16:"4rem",20:"5rem",24:"6rem",28:"7rem",32:"8rem",36:"9rem",40:"10rem",44:"11rem",48:"12rem",52:"13rem",56:"14rem",60:"15rem",64:"16rem",72:"18rem",80:"20rem",96:"24rem"},Ae=e=>{var t;return(t=Lu[e])!=null?t:e};function Uu(e){const[t,l]=Fe(e,ke.variantKeys),{as:u,className:o,x:n=1,y:s=1,...r}=t,d=u||"span",m=k.useMemo(()=>ke({...l,className:o}),[Pe(l),o]),c=Ae(n),i=Ae(s);return{Component:d,getSpacerProps:(a={})=>({...a,...r,"aria-hidden":w(!0),className:K(m,a.className),style:{...a.style,...r.style,marginLeft:c,marginTop:i}})}}var Sl=T((e,t)=>{const{Component:l,getSpacerProps:u}=Uu({...e});return h.jsx(l,{ref:t,...u()})});Sl.displayName="HeroUI.Spacer";var Al=Sl,wl=T((e,t)=>{const{BaseComponent:l,Component:u,collection:o,values:n,topContent:s,topContentPlacement:r,bottomContentPlacement:d,bottomContent:m,getBaseProps:c,getWrapperProps:i,getTableProps:p}=pl({...e,ref:t}),{rowHeight:a=40,maxTableHeight:b=600}=e,v=k.useCallback(({children:A})=>h.jsx(l,{...i(),ref:D,style:{height:b,display:"block"},children:A}),[i,b]),x=[...o.body.childNodes].length,D=k.useRef(null),[y,$]=k.useState(0),f=k.useRef(null);k.useLayoutEffect(()=>{f.current&&$(f.current.getBoundingClientRect().height)},[f]);const E=iu({count:x,getScrollElement:()=>D.current,estimateSize:()=>a,overscan:5}),S=p();return h.jsxs("div",{...c(),children:[r==="outside"&&s,h.jsx(v,{children:h.jsxs(h.Fragment,{children:[r==="inside"&&s,h.jsxs(u,{...S,style:{height:`calc(${E.getTotalSize()+y}px)`,...S.style},children:[h.jsxs(El,{ref:f,classNames:n.classNames,slots:n.slots,children:[o.headerRows.map(A=>h.jsx(kl,{classNames:n.classNames,node:A,slots:n.slots,state:n.state,children:[...A.childNodes].map(B=>{var C;return(C=B?.props)!=null&&C.isSelectionCell?h.jsx(il,{checkboxesProps:n.checkboxesProps,classNames:n.classNames,color:n.color,disableAnimation:n.disableAnimation,node:B,selectionMode:n.selectionMode,slots:n.slots,state:n.state},B?.key):h.jsx(Cl,{classNames:n.classNames,node:B,slots:n.slots,state:n.state},B?.key)})},A?.key)),h.jsx(Al,{as:"tr",tabIndex:-1,y:1})]}),h.jsx(Hu,{checkboxesProps:n.checkboxesProps,classNames:n.classNames,collection:n.collection,color:n.color,disableAnimation:n.disableAnimation,isSelectable:n.isSelectable,rowVirtualizer:E,selectionMode:n.selectionMode,slots:n.slots,state:n.state})]}),d==="inside"&&m]})}),d==="outside"&&m]})});wl.displayName="HeroUI.VirtualizedTable";var Wu=wl,Nl=T((e,t)=>{var l;const{as:u,className:o,slots:n,state:s,collection:r,isSelectable:d,color:m,disableAnimation:c,checkboxesProps:i,selectionMode:p,classNames:a,...b}=e,v=u||"tbody",g=typeof v=="string",x=M(t),{rowGroupProps:D}=ge(),y=K(a?.tbody,o),$=r?.body.props,f=$?.isLoading||$?.loadingState==="loading"||$?.loadingState==="loadingMore",E=k.useMemo(()=>[...r.body.childNodes].map(B=>h.jsx($l,{classNames:a,isSelectable:d,node:B,slots:n,state:s,children:[...B.childNodes].map(C=>C.props.isSelectionCell?h.jsx(vl,{checkboxesProps:i,classNames:a,color:m,disableAnimation:c,node:C,rowKey:B.key,selectionMode:p,slots:n,state:s},C.key):h.jsx(fl,{classNames:a,node:C,rowKey:B.key,slots:n,state:s},C.key))},B.key)),[r.body.childNodes,a,d,n,s]);let S,A;return r.size===0&&$.emptyContent&&(S=h.jsx("tr",{role:"row",children:h.jsx("td",{className:n?.emptyWrapper({class:a?.emptyWrapper}),colSpan:r.columnCount,role:"gridcell",children:!f&&$.emptyContent})})),f&&$.loadingContent&&(A=h.jsxs("tr",{role:"row",children:[h.jsx("td",{className:n?.loadingWrapper({class:a?.loadingWrapper}),colSpan:r.columnCount,role:"gridcell",children:$.loadingContent}),!S&&r.size===0?h.jsx("td",{className:n?.emptyWrapper({class:a?.emptyWrapper})}):null]})),h.jsxs(v,{ref:x,...I(D,O($,{enabled:g}),b),className:(l=n.tbody)==null?void 0:l.call(n,{class:y}),"data-empty":w(r.size===0),"data-loading":w(f),children:[E,A,S]})});Nl.displayName="HeroUI.TableBody";var Gu=Nl,zl=T((e,t)=>{const{BaseComponent:l,Component:u,collection:o,values:n,topContent:s,topContentPlacement:r,bottomContentPlacement:d,bottomContent:m,removeWrapper:c,sortIcon:i,getBaseProps:p,getWrapperProps:a,getTableProps:b}=pl({...e,ref:t}),{isVirtualized:v,rowHeight:g=40,maxTableHeight:x=600}=e,D=v,y=k.useCallback(({children:$})=>c?$:h.jsx(l,{...a(),children:$}),[c,a]);return D?h.jsx(Wu,{...e,ref:t,maxTableHeight:x,rowHeight:g}):h.jsxs("div",{...p(),children:[r==="outside"&&s,h.jsx(y,{children:h.jsxs(h.Fragment,{children:[r==="inside"&&s,h.jsxs(u,{...b(),children:[h.jsxs(El,{classNames:n.classNames,slots:n.slots,children:[o.headerRows.map($=>h.jsx(kl,{classNames:n.classNames,node:$,slots:n.slots,state:n.state,children:[...$.childNodes].map(f=>{var E;return(E=f?.props)!=null&&E.isSelectionCell?h.jsx(il,{checkboxesProps:n.checkboxesProps,classNames:n.classNames,color:n.color,disableAnimation:n.disableAnimation,node:f,selectionMode:n.selectionMode,slots:n.slots,state:n.state},f?.key):h.jsx(Cl,{classNames:n.classNames,node:f,slots:n.slots,sortIcon:i,state:n.state},f?.key)})},$?.key)),h.jsx(Al,{as:"tr",tabIndex:-1,y:1})]}),h.jsx(Gu,{checkboxesProps:n.checkboxesProps,classNames:n.classNames,collection:n.collection,color:n.color,disableAnimation:n.disableAnimation,isSelectable:n.isSelectable,selectionMode:n.selectionMode,slots:n.slots,state:n.state})]}),d==="inside"&&m]})}),d==="outside"&&m]})});zl.displayName="HeroUI.Table";var Yu=zl,Zu=Ru,_u=Zu,qu=Mu,Ju=qu,Xu=Vu,Qu=Xu,en=Tu,tn=en,ln=Ou,un=ln;const nn={n_requests:"Number Of Requests",estimated_cost:"Estimated Cost ($)"},we=["model","n_requests","prompt_tokens","completion_tokens","total_tokens","estimated_cost"];function on(e){return e.replace(/(-?)(\d*)\.?(\d*)e([+-]\d+)/,function(t,l,u,o,n){return n<0?l+"0."+Array(1-n-u.length).join("0")+o+u:l+u+o+Array(n-o.length+1).join("0")})}function mn({message:e}){const t=e.usage,{isOpen:l,onOpen:u,onClose:o}=Xl();if(!t||Object.keys(t).length<1)return null;const n=Object.keys(t),s=()=>{o()},r=Object.keys(t[n[0]]),d=[...we.filter(b=>b==="model"||r.includes(b)),...r.filter(b=>!we.includes(b))],m=r.reduce((b,v)=>({...b,[v]:0}),{}),c=n.reduce((b,v)=>(d.reduce((g,x)=>(x==="model"||(g[x]+=t[v][x]),g),b),b),m),i=[...d.map(b=>({key:b,label:nn[b]??De.words(b).map(De.upperFirst).join(" ")}))],p=[...n.map(b=>({model:b,...t[b]})),{model:"Total",...c}],a=h.jsxs("div",{className:"p-2",children:[h.jsxs("div",{className:"flex flex-col gap-2",children:[c.prompt_tokens!==void 0&&h.jsxs("div",{className:"flex justify-between gap-2",children:[h.jsx("span",{className:"font-semibold",children:"Prompt tokens"}),h.jsx("span",{children:c.prompt_tokens})]}),c.completion_tokens!==void 0&&h.jsxs("div",{className:"flex justify-between gap-2",children:[h.jsx("span",{className:"font-semibold",children:"Completion tokens"}),h.jsx("span",{children:c.completion_tokens})]}),c.total_tokens!==void 0&&h.jsxs("div",{className:"flex justify-between gap-2",children:[h.jsx("span",{className:"font-semibold",children:"Total tokens"}),h.jsx("span",{children:c.total_tokens})]}),c.estimated_cost!==void 0&&h.jsxs("div",{className:"flex justify-between gap-2",children:[h.jsx("span",{className:"font-semibold",children:"Estimated cost"}),h.jsxs("span",{children:[on(c.estimated_cost.toString()),"$"]})]})]}),h.jsx("p",{className:"m-auto mt-2 text-center",children:"Show detailed usage breakdown by model."})]});return h.jsxs(h.Fragment,{children:[h.jsx(Ql,{content:a,placement:"bottom",children:h.jsx(eu,{isIconOnly:!0,variant:"ghost",className:"p-0","aria-label":"Open usage details",onPress:u,children:h.jsx(tu,{icon:"heroicons:information-circle"})})}),h.jsx(lu,{isOpen:l,onOpenChange:s,size:"4xl",children:h.jsx(uu,{children:h.jsxs(h.Fragment,{children:[h.jsx(ru,{className:"text-default-900 flex flex-col gap-1",children:"Usage details"}),h.jsx(nu,{children:h.jsxs(Yu,{"aria-label":"Table with detailed usage statistics for each model used to generate the message.",fullWidth:!0,children:[h.jsx(Ju,{columns:i,children:b=>h.jsx(_u,{children:b.label},b.key)}),h.jsx(tn,{items:p,children:b=>h.jsx(Qu,{className:b.model==="Total"?"border-default-200 border-t-1":"",children:v=>h.jsx(un,{children:ou(b,v)})},b.model)})]})})]})})})]})}export{mn as default}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/authStore-Bmpxc0WJ.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/authStore-BCKvtahF.js similarity index 76% rename from packages/ragbits-chat/src/ragbits/chat/ui-build/assets/authStore-Bmpxc0WJ.js rename to packages/ragbits-chat/src/ragbits/chat/ui-build/assets/authStore-BCKvtahF.js index 986f56810..ac8d76749 100644 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/authStore-Bmpxc0WJ.js +++ b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/authStore-BCKvtahF.js @@ -1 +1 @@ -import{bC as s,bD as r}from"./index-Ci_ePHVC.js";const i=s(r(t=>({user:null,isAuthenticated:!1,hasHydrated:!1,login:e=>t(a=>{a.user=e,a.isAuthenticated=!0}),logout:()=>t(e=>{e.user=null,e.isAuthenticated=!1}),setHydrated:()=>t(e=>{e.hasHydrated=!0})})));export{i as a}; +import{bu as s,bv as r}from"./index-DNu2TsOm.js";const i=s(r(t=>({user:null,isAuthenticated:!1,hasHydrated:!1,login:e=>t(a=>{a.user=e,a.isAuthenticated=!0}),logout:()=>t(e=>{e.user=null,e.isAuthenticated=!1}),setHydrated:()=>t(e=>{e.hasHydrated=!0})})));export{i as a}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/chunk-IGSAU2ZA-DjYyfgzO.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/chunk-IGSAU2ZA-PiNlOBXE.js similarity index 68% rename from packages/ragbits-chat/src/ragbits/chat/ui-build/assets/chunk-IGSAU2ZA-DjYyfgzO.js rename to packages/ragbits-chat/src/ragbits/chat/ui-build/assets/chunk-IGSAU2ZA-PiNlOBXE.js index b9d48cab5..4e48a8e2b 100644 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/chunk-IGSAU2ZA-DjYyfgzO.js +++ b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/chunk-IGSAU2ZA-PiNlOBXE.js @@ -1 +1 @@ -import{l as h,bm as p,R as x,r as i,j as M,Z as R}from"./index-Ci_ePHVC.js";var s=h((r,o)=>{const{as:t,children:d,className:l,...n}=r,{slots:c,classNames:a,headerId:m,setHeaderMounted:e}=p(),f=x(o),u=t||"header";return i.useEffect(()=>(e(!0),()=>e(!1)),[e]),M.jsx(u,{ref:f,className:c.header({class:R(a?.header,l)}),id:m,...n,children:d})});s.displayName="HeroUI.ModalHeader";var N=s;export{N as m}; +import{l as h,be as p,R as x,r as i,j as M,Z as R}from"./index-DNu2TsOm.js";var s=h((r,o)=>{const{as:t,children:d,className:l,...n}=r,{slots:c,classNames:a,headerId:m,setHeaderMounted:e}=p(),f=x(o),u=t||"header";return i.useEffect(()=>(e(!0),()=>e(!1)),[e]),M.jsx(u,{ref:f,className:c.header({class:R(a?.header,l)}),id:m,...n,children:d})});s.displayName="HeroUI.ModalHeader";var N=s;export{N as m}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/chunk-SSA7SXE4-D40yC7h_.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/chunk-SSA7SXE4-D6fVQuwx.js similarity index 62% rename from packages/ragbits-chat/src/ragbits/chat/ui-build/assets/chunk-SSA7SXE4-D40yC7h_.js rename to packages/ragbits-chat/src/ragbits/chat/ui-build/assets/chunk-SSA7SXE4-D6fVQuwx.js index bf423dba0..fea64ae8b 100644 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/chunk-SSA7SXE4-D40yC7h_.js +++ b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/chunk-SSA7SXE4-D6fVQuwx.js @@ -1 +1 @@ -import{l as y,bv as D,j as e,r as t,am as N}from"./index-Ci_ePHVC.js";var E=y((B,H)=>{const{Component:L,label:u,description:r,isClearable:d,startContent:c,endContent:h,labelPlacement:O,hasHelper:x,isOutsideLeft:j,isOutsideTop:g,shouldLabelBeOutside:m,errorMessage:s,isInvalid:v,getBaseProps:w,getLabelProps:F,getInputProps:P,getInnerWrapperProps:b,getInputWrapperProps:o,getMainWrapperProps:C,getHelperWrapperProps:I,getDescriptionProps:l,getErrorMessageProps:i,getClearButtonProps:f}=D({...B,ref:H}),n=u?e.jsx("label",{...F(),children:u}):null,M=t.useMemo(()=>d?e.jsx("button",{...f(),children:h||e.jsx(N,{})}):h,[d,f]),p=t.useMemo(()=>{const W=v&&s;return!x||!(W||r)?null:e.jsx("div",{...I(),children:W?e.jsx("div",{...i(),children:s}):e.jsx("div",{...l(),children:r})})},[x,v,s,r,I,i,l]),a=t.useMemo(()=>e.jsxs("div",{...b(),children:[c,e.jsx("input",{...P()}),M]}),[c,M,P,b]),R=t.useMemo(()=>m?e.jsxs("div",{...C(),children:[e.jsxs("div",{...o(),children:[!j&&!g?n:null,a]}),p]}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{...o(),children:[n,a]}),p]}),[O,p,m,n,a,s,r,C,o,i,l]);return e.jsxs(L,{...w(),children:[j||g?n:null,R]})});E.displayName="HeroUI.Input";var U=E;export{U as i}; +import{l as y,bn as D,j as e,r as t,am as N}from"./index-DNu2TsOm.js";var E=y((B,H)=>{const{Component:L,label:u,description:r,isClearable:d,startContent:c,endContent:h,labelPlacement:O,hasHelper:x,isOutsideLeft:j,isOutsideTop:g,shouldLabelBeOutside:m,errorMessage:s,isInvalid:P,getBaseProps:w,getLabelProps:F,getInputProps:v,getInnerWrapperProps:b,getInputWrapperProps:o,getMainWrapperProps:C,getHelperWrapperProps:I,getDescriptionProps:l,getErrorMessageProps:i,getClearButtonProps:f}=D({...B,ref:H}),n=u?e.jsx("label",{...F(),children:u}):null,M=t.useMemo(()=>d?e.jsx("button",{...f(),children:h||e.jsx(N,{})}):h,[d,f]),p=t.useMemo(()=>{const W=P&&s;return!x||!(W||r)?null:e.jsx("div",{...I(),children:W?e.jsx("div",{...i(),children:s}):e.jsx("div",{...l(),children:r})})},[x,P,s,r,I,i,l]),a=t.useMemo(()=>e.jsxs("div",{...b(),children:[c,e.jsx("input",{...v()}),M]}),[c,M,v,b]),R=t.useMemo(()=>m?e.jsxs("div",{...C(),children:[e.jsxs("div",{...o(),children:[!j&&!g?n:null,a]}),p]}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{...o(),children:[n,a]}),p]}),[O,p,m,n,a,s,r,C,o,i,l]);return e.jsxs(L,{...w(),children:[j||g?n:null,R]})});E.displayName="HeroUI.Input";var U=E;export{U as i}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/index-BDLYWa-3.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/index-BDLYWa-3.js deleted file mode 100644 index ec410a316..000000000 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/index-BDLYWa-3.js +++ /dev/null @@ -1 +0,0 @@ -import{bE as a,bF as e,bG as t}from"./index-Ci_ePHVC.js";const n={renderer:t,...e,...a};var o=n;export{o as default}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/index-BPYsLlVK.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/index-BPYsLlVK.js deleted file mode 100644 index 4a790d5d9..000000000 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/index-BPYsLlVK.js +++ /dev/null @@ -1,4 +0,0 @@ -import{t as pe,bc as Ve,bd as je,j as y,U as J,b8 as Be,J as B,H as Ae,be as Fe,z as ge,a7 as We,r as h,bf as ve,bg as Le,bh as Ne,ay as qe,O as He,P as Ue,bi as he,bj as Ge,X as Ke,W as Je,S as Xe,bk as Ze,Z as G,v as fe,a2 as O,aE as Qe,a4 as Ye,l as et,bl as tt}from"./index-Ci_ePHVC.js";var st=pe({slots:{base:"group relative max-w-fit inline-flex items-center justify-start cursor-pointer tap-highlight-transparent p-2 -m-2 select-none",wrapper:["relative","inline-flex","items-center","justify-center","shrink-0","overflow-hidden","before:content-['']","before:absolute","before:inset-0","before:border-solid","before:border-2","before:box-border","before:border-default","after:content-['']","after:absolute","after:inset-0","after:scale-50","after:opacity-0","after:origin-center","group-data-[selected=true]:after:scale-100","group-data-[selected=true]:after:opacity-100","group-data-[hover=true]:before:bg-default-100",...je],hiddenInput:Ve,icon:"z-10 w-4 h-3 opacity-0 group-data-[selected=true]:opacity-100 pointer-events-none",label:"relative text-foreground select-none"},variants:{color:{default:{wrapper:"after:bg-default after:text-default-foreground text-default-foreground"},primary:{wrapper:"after:bg-primary after:text-primary-foreground text-primary-foreground"},secondary:{wrapper:"after:bg-secondary after:text-secondary-foreground text-secondary-foreground"},success:{wrapper:"after:bg-success after:text-success-foreground text-success-foreground"},warning:{wrapper:"after:bg-warning after:text-warning-foreground text-warning-foreground"},danger:{wrapper:"after:bg-danger after:text-danger-foreground text-danger-foreground"}},size:{sm:{wrapper:["w-4 h-4 me-2","rounded-[calc(var(--heroui-radius-medium)*0.5)]","before:rounded-[calc(var(--heroui-radius-medium)*0.5)]","after:rounded-[calc(var(--heroui-radius-medium)*0.5)]"],label:"text-small",icon:"w-3 h-2"},md:{wrapper:["w-5 h-5 me-2","rounded-[calc(var(--heroui-radius-medium)*0.6)]","before:rounded-[calc(var(--heroui-radius-medium)*0.6)]","after:rounded-[calc(var(--heroui-radius-medium)*0.6)]"],label:"text-medium",icon:"w-4 h-3"},lg:{wrapper:["w-6 h-6 me-2","rounded-[calc(var(--heroui-radius-medium)*0.7)]","before:rounded-[calc(var(--heroui-radius-medium)*0.7)]","after:rounded-[calc(var(--heroui-radius-medium)*0.7)]"],label:"text-large",icon:"w-5 h-4"}},radius:{none:{wrapper:"rounded-none before:rounded-none after:rounded-none"},sm:{wrapper:["rounded-[calc(var(--heroui-radius-medium)*0.5)]","before:rounded-[calc(var(--heroui-radius-medium)*0.5)]","after:rounded-[calc(var(--heroui-radius-medium)*0.5)]"]},md:{wrapper:["rounded-[calc(var(--heroui-radius-medium)*0.6)]","before:rounded-[calc(var(--heroui-radius-medium)*0.6)]","after:rounded-[calc(var(--heroui-radius-medium)*0.6)]"]},lg:{wrapper:["rounded-[calc(var(--heroui-radius-medium)*0.7)]","before:rounded-[calc(var(--heroui-radius-medium)*0.7)]","after:rounded-[calc(var(--heroui-radius-medium)*0.7)]"]},full:{wrapper:"rounded-full before:rounded-full after:rounded-full"}},lineThrough:{true:{label:["inline-flex","items-center","justify-center","before:content-['']","before:absolute","before:bg-foreground","before:w-0","before:h-0.5","group-data-[selected=true]:opacity-60","group-data-[selected=true]:before:w-full"]}},isDisabled:{true:{base:"opacity-disabled pointer-events-none"}},isInvalid:{true:{wrapper:"before:border-danger",label:"text-danger"}},disableAnimation:{true:{wrapper:"transition-none",icon:"transition-none",label:"transition-none"},false:{wrapper:["before:transition-colors","group-data-[pressed=true]:scale-95","transition-transform","after:transition-transform-opacity","after:!ease-linear","after:!duration-200","motion-reduce:transition-none"],icon:"transition-opacity motion-reduce:transition-none",label:"transition-colors-opacity before:transition-width motion-reduce:transition-none"}}},defaultVariants:{color:"primary",size:"md",isDisabled:!1,lineThrough:!1}});pe({slots:{base:"relative flex flex-col gap-2",label:"relative text-medium text-foreground-500",wrapper:"flex flex-col flex-wrap gap-2 data-[orientation=horizontal]:flex-row",description:"text-small text-foreground-400",errorMessage:"text-small text-danger"},variants:{isRequired:{true:{label:"after:content-['*'] after:text-danger after:ml-0.5"}},isInvalid:{true:{description:"text-danger"}},disableAnimation:{true:{},false:{description:"transition-colors !duration-150 motion-reduce:transition-none"}}},defaultVariants:{isInvalid:!1,isRequired:!1}});var Ct=({strokeWidth:i=1.5,...r})=>y.jsx("svg",{"aria-hidden":"true",fill:"none",focusable:"false",height:"1em",role:"presentation",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:i,viewBox:"0 0 24 24",width:"1em",...r,children:y.jsx("path",{d:"m6 9 6 6 6-6"})});function it(i,r,e){let{isDisabled:t=!1,isReadOnly:s=!1,value:n,name:o,children:a,"aria-label":d,"aria-labelledby":c,validationState:l="valid",isInvalid:p}=i,u=I=>{I.stopPropagation(),r.setSelected(I.target.checked)},{pressProps:x,isPressed:f}=J({isDisabled:t}),{pressProps:g,isPressed:m}=J({onPress(){var I;r.toggle(),(I=e.current)===null||I===void 0||I.focus()},isDisabled:t||s}),{focusableProps:v}=Be(i,e),E=B(x,v),T=Ae(i,{labelable:!0});return Fe(e,r.isSelected,r.setSelected),{labelProps:B(g,{onClick:I=>I.preventDefault()}),inputProps:B(T,{"aria-invalid":p||l==="invalid"||void 0,"aria-errormessage":i["aria-errormessage"],"aria-controls":i["aria-controls"],"aria-readonly":s||void 0,onChange:u,disabled:t,...n==null?{}:{value:n},name:o,type:"checkbox",...E}),isSelected:r.isSelected,isPressed:f||m,isDisabled:t,isReadOnly:s,isInvalid:p||l==="invalid"}}function xe(i,r,e){let t=ge({...i,value:r.isSelected}),{isInvalid:s,validationErrors:n,validationDetails:o}=t.displayValidation,{labelProps:a,inputProps:d,isSelected:c,isPressed:l,isDisabled:p,isReadOnly:u}=it({...i,isInvalid:s},r,e);We(i,t,e);let{isIndeterminate:x,isRequired:f,validationBehavior:g="aria"}=i;h.useEffect(()=>{e.current&&(e.current.indeterminate=!!x)});let{pressProps:m}=J({isDisabled:p||u,onPress(){let{[ve]:v}=i,{commitValidation:E}=v||t;E()}});return{labelProps:B(a,m),inputProps:{...d,checked:c,"aria-required":f&&g==="aria"||void 0,required:f&&g==="native"},isSelected:c,isPressed:l,isDisabled:p,isReadOnly:u,isInvalid:s,validationErrors:n,validationDetails:o}}const nt=new WeakMap;function ye(i={}){let{isReadOnly:r}=i,[e,t]=Le(i.isSelected,i.defaultSelected||!1,i.onChange);function s(o){r||t(o)}function n(){r||t(!e)}return{isSelected:e,setSelected:s,toggle:n}}function rt(i,r,e){const t=ye({isReadOnly:i.isReadOnly||r.isReadOnly,isSelected:r.isSelected(i.value),onChange(m){m?r.addValue(i.value):r.removeValue(i.value),i.onChange&&i.onChange(m)}});let{name:s,descriptionId:n,errorMessageId:o,validationBehavior:a}=nt.get(r);var d;a=(d=i.validationBehavior)!==null&&d!==void 0?d:a;let{realtimeValidation:c}=ge({...i,value:t.isSelected,name:void 0,validationBehavior:"aria"}),l=h.useRef(Ne),p=()=>{r.setInvalid(i.value,c.isInvalid?c:l.current)};h.useEffect(p);let u=r.realtimeValidation.isInvalid?r.realtimeValidation:c,x=a==="native"?r.displayValidation:u;var f;let g=xe({...i,isReadOnly:i.isReadOnly||r.isReadOnly,isDisabled:i.isDisabled||r.isDisabled,name:i.name||s,isRequired:(f=i.isRequired)!==null&&f!==void 0?f:r.isRequired,validationBehavior:a,[ve]:{realtimeValidation:u,displayValidation:x,resetValidation:r.resetValidation,commitValidation:r.commitValidation,updateValidation(m){l.current=m,p()}}},t,e);return{...g,inputProps:{...g.inputProps,"aria-describedby":[i["aria-describedby"],r.isInvalid?o:null,n].filter(Boolean).join(" ")||void 0}}}var[Ot,ot]=qe({name:"CheckboxGroupContext",strict:!1});function at(i){const{isSelected:r,disableAnimation:e,...t}=i;return y.jsx("svg",{"aria-hidden":"true",fill:"none",role:"presentation",stroke:"currentColor",strokeDasharray:22,strokeDashoffset:r?44:66,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,style:!e&&r?{transition:"stroke-dashoffset 250ms linear 0.2s"}:{},viewBox:"0 0 17 18",...t,children:y.jsx("polyline",{points:"1 9 7 14 15 4"})})}function lt(i){const{isSelected:r,disableAnimation:e,...t}=i;return y.jsx("svg",{stroke:"currentColor",strokeWidth:3,viewBox:"0 0 24 24",...t,children:y.jsx("line",{x1:"21",x2:"3",y1:"12",y2:"12"})})}function dt(i){const{isIndeterminate:r,...e}=i,t=r?lt:at;return y.jsx(t,{...e})}function ct(i={}){var r,e,t,s,n,o,a,d;const c=He(),l=ot(),{validationBehavior:p}=Ue(Ye)||{},u=!!l,{as:x,ref:f,value:g="",children:m,icon:v,name:E,isRequired:T,isReadOnly:I=!1,autoFocus:X=!1,isSelected:Z,size:Q=(r=l?.size)!=null?r:"md",color:Y=(e=l?.color)!=null?e:"primary",radius:ee=l?.radius,lineThrough:te=(t=l?.lineThrough)!=null?t:!1,isDisabled:se=(s=l?.isDisabled)!=null?s:!1,disableAnimation:_=(o=(n=l?.disableAnimation)!=null?n:c?.disableAnimation)!=null?o:!1,validationState:V,isInvalid:j=V?V==="invalid":(a=l?.isInvalid)!=null?a:!1,isIndeterminate:P=!1,validationBehavior:we=u?l.validationBehavior:(d=p??c?.validationBehavior)!=null?d:"native",defaultSelected:ie,classNames:b,className:Ce,onValueChange:ne,validate:Oe,...z}=i,Ee=x||"label",Pe=h.useRef(null),k=h.useRef(null);let A=i.onChange;u&&(A=he(()=>{l.groupState.resetValidation()},A));const F=h.useId(),W=h.useMemo(()=>({name:E,value:g,children:m,autoFocus:X,defaultSelected:ie,isIndeterminate:P,isRequired:T,isInvalid:j,isSelected:Z,isDisabled:se,isReadOnly:I,"aria-label":Ge(z["aria-label"],m),"aria-labelledby":z["aria-labelledby"]||F,onChange:ne}),[E,g,m,X,ie,P,T,j,Z,se,I,z["aria-label"],z["aria-labelledby"],F,ne]),re=ye(W),oe={isInvalid:j,isRequired:T,validate:Oe,validationState:V,validationBehavior:we},{inputProps:M,isSelected:R,isDisabled:S,isReadOnly:L,isPressed:Me,isInvalid:ze}=u?rt({...W,...oe},l.groupState,k):xe({...W,...oe},re,k),ke=S||L,$=V==="invalid"||j||ze,ae=ke?!1:Me,{hoverProps:le,isHovered:N}=Ke({isDisabled:M.disabled}),{focusProps:de,isFocused:q,isFocusVisible:H}=Je({autoFocus:M.autoFocus}),w=h.useMemo(()=>st({color:Y,size:Q,radius:ee,isInvalid:$,lineThrough:te,isDisabled:S,disableAnimation:_}),[Y,Q,ee,$,te,S,_]);Xe(()=>{if(!k.current)return;const C=!!k.current.checked;re.setSelected(C)},[k.current]);const U=Ze(A),ce=h.useCallback(C=>{if(L||S){C.preventDefault();return}U?.(C)},[L,S,U]),ue=G(b?.base,Ce),Re=h.useCallback(()=>({ref:Pe,className:w.base({class:ue}),"data-disabled":O(S),"data-selected":O(R||P),"data-invalid":O($),"data-hover":O(N),"data-focus":O(q),"data-pressed":O(ae),"data-readonly":O(M.readOnly),"data-focus-visible":O(H),"data-indeterminate":O(P),...fe(le,z)}),[w,ue,S,R,P,$,N,q,ae,M.readOnly,H,le,z]),$e=h.useCallback((C={})=>({...C,"aria-hidden":!0,className:G(w.wrapper({class:G(b?.wrapper,C?.className)}))}),[w,b?.wrapper]),De=h.useCallback(()=>({ref:Qe(k,f),...fe(M,de),className:w.hiddenInput({class:b?.hiddenInput}),onChange:he(M.onChange,ce)}),[M,de,ce,b?.hiddenInput]),Te=h.useCallback(()=>({id:F,className:w.label({class:b?.label})}),[w,b?.label,S,R,$]),_e=h.useCallback(()=>({isSelected:R,isIndeterminate:P,disableAnimation:_,className:w.icon({class:b?.icon})}),[w,b?.icon,R,P,_]);return{Component:Ee,icon:v,children:m,isSelected:R,isDisabled:S,isInvalid:$,isFocused:q,isHovered:N,isFocusVisible:H,getBaseProps:Re,getWrapperProps:$e,getInputProps:De,getLabelProps:Te,getIconProps:_e}}var Ie=et((i,r)=>{const{Component:e,children:t,icon:s=y.jsx(dt,{}),getBaseProps:n,getWrapperProps:o,getInputProps:a,getIconProps:d,getLabelProps:c}=ct({...i,ref:r}),l=typeof s=="function"?s(d()):h.cloneElement(s,d());return y.jsxs(e,{...n(),children:[y.jsx("input",{...a()}),y.jsx("span",{...o(),children:l}),t&&y.jsx("span",{...c(),children:t})]})});Ie.displayName="HeroUI.Checkbox";var Et=Ie;function D(i,r,e){let t=e.initialDeps??[],s;return()=>{var n,o,a,d;let c;e.key&&((n=e.debug)!=null&&n.call(e))&&(c=Date.now());const l=i();if(!(l.length!==t.length||l.some((x,f)=>t[f]!==x)))return s;t=l;let u;if(e.key&&((o=e.debug)!=null&&o.call(e))&&(u=Date.now()),s=r(...l),e.key&&((a=e.debug)!=null&&a.call(e))){const x=Math.round((Date.now()-c)*100)/100,f=Math.round((Date.now()-u)*100)/100,g=f/16,m=(v,E)=>{for(v=String(v);v.lengthMath.abs(i-r)<1,ht=(i,r,e)=>{let t;return function(...s){i.clearTimeout(t),t=i.setTimeout(()=>r.apply(this,s),e)}},ft=i=>i,mt=i=>{const r=Math.max(i.startIndex-i.overscan,0),e=Math.min(i.endIndex+i.overscan,i.count-1),t=[];for(let s=r;s<=e;s++)t.push(s);return t},bt=(i,r)=>{const e=i.scrollElement;if(!e)return;const t=i.targetWindow;if(!t)return;const s=o=>{const{width:a,height:d}=o;r({width:Math.round(a),height:Math.round(d)})};if(s(e.getBoundingClientRect()),!t.ResizeObserver)return()=>{};const n=new t.ResizeObserver(o=>{const a=o[0];if(a?.borderBoxSize){const d=a.borderBoxSize[0];if(d){s({width:d.inlineSize,height:d.blockSize});return}}s(e.getBoundingClientRect())});return n.observe(e,{box:"border-box"}),()=>{n.unobserve(e)}},me={passive:!0},pt=typeof window>"u"?!0:"onscrollend"in window,gt=(i,r)=>{const e=i.scrollElement;if(!e)return;const t=i.targetWindow;if(!t)return;let s=0;const n=i.options.useScrollendEvent&&pt?()=>{}:ht(t,()=>{r(s,!1)},i.options.isScrollingResetDelay),o=c=>()=>{const{horizontal:l,isRtl:p}=i.options;s=l?e.scrollLeft*(p&&-1||1):e.scrollTop,n(),r(s,c)},a=o(!0),d=o(!1);return d(),e.addEventListener("scroll",a,me),e.addEventListener("scrollend",d,me),()=>{e.removeEventListener("scroll",a),e.removeEventListener("scrollend",d)}},vt=(i,r,e)=>{if(r?.borderBoxSize){const t=r.borderBoxSize[0];if(t)return Math.round(t[e.options.horizontal?"inlineSize":"blockSize"])}return Math.round(i.getBoundingClientRect()[e.options.horizontal?"width":"height"])},xt=(i,{adjustments:r=0,behavior:e},t)=>{var s,n;const o=i+r;(n=(s=t.scrollElement)==null?void 0:s.scrollTo)==null||n.call(s,{[t.options.horizontal?"left":"top"]:o,behavior:e})};class yt{constructor(r){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollToIndexTimeoutId=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.pendingMeasuredCacheIndexes=[],this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.observer=(()=>{let e=null;const t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(s=>{s.forEach(n=>{this._measureElement(n.target,n)})}));return{disconnect:()=>{var s;(s=t())==null||s.disconnect(),e=null},observe:s=>{var n;return(n=t())==null?void 0:n.observe(s,{box:"border-box"})},unobserve:s=>{var n;return(n=t())==null?void 0:n.unobserve(s)}}})(),this.range=null,this.setOptions=e=>{Object.entries(e).forEach(([t,s])=>{typeof s>"u"&&delete e[t]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:ft,rangeExtractor:mt,onChange:()=>{},measureElement:vt,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!0,...e}},this.notify=e=>{var t,s;(s=(t=this.options).onChange)==null||s.call(t,this,e)},this.maybeNotify=D(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var e;const t=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==t){if(this.cleanup(),!t){this.maybeNotify();return}this.scrollElement=t,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((e=this.scrollElement)==null?void 0:e.window)??null,this.elementsCache.forEach(s=>{this.observer.observe(s)}),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0}),this.unsubs.push(this.options.observeElementRect(this,s=>{this.scrollRect=s,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(s,n)=>{this.scrollAdjustments=0,this.scrollDirection=n?this.getScrollOffset()this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(e,t)=>{const s=new Map,n=new Map;for(let o=t-1;o>=0;o--){const a=e[o];if(s.has(a.lane))continue;const d=n.get(a.lane);if(d==null||a.end>d.end?n.set(a.lane,a):a.endo.end===a.end?o.index-a.index:o.end-a.end)[0]:void 0},this.getMeasurementOptions=D(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled],(e,t,s,n,o)=>(this.pendingMeasuredCacheIndexes=[],{count:e,paddingStart:t,scrollMargin:s,getItemKey:n,enabled:o}),{key:!1}),this.getMeasurements=D(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:e,paddingStart:t,scrollMargin:s,getItemKey:n,enabled:o},a)=>{if(!o)return this.measurementsCache=[],this.itemSizeCache.clear(),[];this.measurementsCache.length===0&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(l=>{this.itemSizeCache.set(l.key,l.size)}));const d=this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[];const c=this.measurementsCache.slice(0,d);for(let l=d;lthis.options.debug}),this.calculateRange=D(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset()],(e,t,s)=>this.range=e.length>0&&t>0?It({measurements:e,outerSize:t,scrollOffset:s}):null,{key:!1,debug:()=>this.options.debug}),this.getIndexes=D(()=>{let e=null,t=null;const s=this.calculateRange();return s&&(e=s.startIndex,t=s.endIndex),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,s,n,o)=>n===null||o===null?[]:e({startIndex:n,endIndex:o,overscan:t,count:s}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{const t=this.options.indexAttribute,s=e.getAttribute(t);return s?parseInt(s,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this._measureElement=(e,t)=>{const s=this.indexFromElement(e),n=this.measurementsCache[s];if(!n)return;const o=n.key,a=this.elementsCache.get(o);a!==e&&(a&&this.observer.unobserve(a),this.observer.observe(e),this.elementsCache.set(o,e)),e.isConnected&&this.resizeItem(s,this.options.measureElement(e,t,this))},this.resizeItem=(e,t)=>{const s=this.measurementsCache[e];if(!s)return;const n=this.itemSizeCache.get(s.key)??s.size,o=t-n;o!==0&&((this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(s,o,this):s.start{if(!e){this.elementsCache.forEach((t,s)=>{t.isConnected||(this.observer.unobserve(t),this.elementsCache.delete(s))});return}this._measureElement(e,void 0)},this.getVirtualItems=D(()=>[this.getIndexes(),this.getMeasurements()],(e,t)=>{const s=[];for(let n=0,o=e.length;nthis.options.debug}),this.getVirtualItemForOffset=e=>{const t=this.getMeasurements();if(t.length!==0)return K(t[Se(0,t.length-1,s=>K(t[s]).start,e)])},this.getOffsetForAlignment=(e,t)=>{const s=this.getSize(),n=this.getScrollOffset();t==="auto"&&e>=n+s&&(t="end"),t==="end"&&(e-=s);const o=this.options.horizontal?"scrollWidth":"scrollHeight",d=(this.scrollElement?"document"in this.scrollElement?this.scrollElement.document.documentElement[o]:this.scrollElement[o]:0)-s;return Math.max(Math.min(d,e),0)},this.getOffsetForIndex=(e,t="auto")=>{e=Math.max(0,Math.min(e,this.options.count-1));const s=this.measurementsCache[e];if(!s)return;const n=this.getSize(),o=this.getScrollOffset();if(t==="auto")if(s.end>=o+n-this.options.scrollPaddingEnd)t="end";else if(s.start<=o+this.options.scrollPaddingStart)t="start";else return[o,t];const a=s.start-this.options.scrollPaddingStart+(s.size-n)/2;switch(t){case"center":return[this.getOffsetForAlignment(a,t),t];case"end":return[this.getOffsetForAlignment(s.end+this.options.scrollPaddingEnd,t),t];default:return[this.getOffsetForAlignment(s.start-this.options.scrollPaddingStart,t),t]}},this.isDynamicMode=()=>this.elementsCache.size>0,this.cancelScrollToIndex=()=>{this.scrollToIndexTimeoutId!==null&&this.targetWindow&&(this.targetWindow.clearTimeout(this.scrollToIndexTimeoutId),this.scrollToIndexTimeoutId=null)},this.scrollToOffset=(e,{align:t="start",behavior:s}={})=>{this.cancelScrollToIndex(),s==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getOffsetForAlignment(e,t),{adjustments:void 0,behavior:s})},this.scrollToIndex=(e,{align:t="auto",behavior:s}={})=>{e=Math.max(0,Math.min(e,this.options.count-1)),this.cancelScrollToIndex(),s==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size.");const n=this.getOffsetForIndex(e,t);if(!n)return;const[o,a]=n;this._scrollToOffset(o,{adjustments:void 0,behavior:s}),s!=="smooth"&&this.isDynamicMode()&&this.targetWindow&&(this.scrollToIndexTimeoutId=this.targetWindow.setTimeout(()=>{if(this.scrollToIndexTimeoutId=null,this.elementsCache.has(this.options.getItemKey(e))){const[c]=K(this.getOffsetForIndex(e,a));ut(c,this.getScrollOffset())||this.scrollToIndex(e,{align:a,behavior:s})}else this.scrollToIndex(e,{align:a,behavior:s})}))},this.scrollBy=(e,{behavior:t}={})=>{this.cancelScrollToIndex(),t==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getScrollOffset()+e,{adjustments:void 0,behavior:t})},this.getTotalSize=()=>{var e;const t=this.getMeasurements();let s;return t.length===0?s=this.options.paddingStart:s=this.options.lanes===1?((e=t[t.length-1])==null?void 0:e.end)??0:Math.max(...t.slice(-this.options.lanes).map(n=>n.end)),Math.max(s-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(e,{adjustments:t,behavior:s})=>{this.options.scrollToFn(e,{behavior:s,adjustments:t},this)},this.measure=()=>{this.itemSizeCache=new Map,this.notify(!1)},this.setOptions(r)}}const Se=(i,r,e,t)=>{for(;i<=r;){const s=(i+r)/2|0,n=e(s);if(nt)r=s-1;else return s}return i>0?i-1:0};function It({measurements:i,outerSize:r,scrollOffset:e}){const t=i.length-1,n=Se(0,t,a=>i[a].start,e);let o=n;for(;o({}),{})[1],e={...i,onChange:(s,n)=>{var o;n?tt.flushSync(r):r(),(o=i.onChange)==null||o.call(i,s,n)}},[t]=h.useState(()=>new yt(e));return t.setOptions(e),be(()=>t._didMount(),[]),be(()=>t._willUpdate()),t}function Pt(i){return St({observeElementRect:bt,observeElementOffset:gt,scrollToFn:xt,...i})}export{Ct as C,Et as c,Pt as u}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/index-Blcoag_7.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/index-Blcoag_7.js new file mode 100644 index 000000000..7d1fce1b2 --- /dev/null +++ b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/index-Blcoag_7.js @@ -0,0 +1,4 @@ +import{j as E,r as x,bd as I}from"./index-DNu2TsOm.js";var L=({strokeWidth:o=1.5,...l})=>E.jsx("svg",{"aria-hidden":"true",fill:"none",focusable:"false",height:"1em",role:"presentation",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:o,viewBox:"0 0 24 24",width:"1em",...l,children:E.jsx("path",{d:"m6 9 6 6 6-6"})});function g(o,l,e){let s=e.initialDeps??[],t;return()=>{var n,i,r,h;let c;e.key&&((n=e.debug)!=null&&n.call(e))&&(c=Date.now());const a=o();if(!(a.length!==s.length||a.some((m,f)=>s[f]!==m)))return t;s=a;let d;if(e.key&&((i=e.debug)!=null&&i.call(e))&&(d=Date.now()),t=l(...a),e.key&&((r=e.debug)!=null&&r.call(e))){const m=Math.round((Date.now()-c)*100)/100,f=Math.round((Date.now()-d)*100)/100,v=f/16,b=(u,z)=>{for(u=String(u);u.lengthMath.abs(o-l)<1,C=(o,l,e)=>{let s;return function(...t){o.clearTimeout(s),s=o.setTimeout(()=>l.apply(this,t),e)}},T=o=>o,R=o=>{const l=Math.max(o.startIndex-o.overscan,0),e=Math.min(o.endIndex+o.overscan,o.count-1),s=[];for(let t=l;t<=e;t++)s.push(t);return s},_=(o,l)=>{const e=o.scrollElement;if(!e)return;const s=o.targetWindow;if(!s)return;const t=i=>{const{width:r,height:h}=i;l({width:Math.round(r),height:Math.round(h)})};if(t(e.getBoundingClientRect()),!s.ResizeObserver)return()=>{};const n=new s.ResizeObserver(i=>{const r=i[0];if(r?.borderBoxSize){const h=r.borderBoxSize[0];if(h){t({width:h.inlineSize,height:h.blockSize});return}}t(e.getBoundingClientRect())});return n.observe(e,{box:"border-box"}),()=>{n.unobserve(e)}},w={passive:!0},k=typeof window>"u"?!0:"onscrollend"in window,D=(o,l)=>{const e=o.scrollElement;if(!e)return;const s=o.targetWindow;if(!s)return;let t=0;const n=o.options.useScrollendEvent&&k?()=>{}:C(s,()=>{l(t,!1)},o.options.isScrollingResetDelay),i=c=>()=>{const{horizontal:a,isRtl:p}=o.options;t=a?e.scrollLeft*(p&&-1||1):e.scrollTop,n(),l(t,c)},r=i(!0),h=i(!1);return h(),e.addEventListener("scroll",r,w),e.addEventListener("scrollend",h,w),()=>{e.removeEventListener("scroll",r),e.removeEventListener("scrollend",h)}},F=(o,l,e)=>{if(l?.borderBoxSize){const s=l.borderBoxSize[0];if(s)return Math.round(s[e.options.horizontal?"inlineSize":"blockSize"])}return Math.round(o.getBoundingClientRect()[e.options.horizontal?"width":"height"])},j=(o,{adjustments:l=0,behavior:e},s)=>{var t,n;const i=o+l;(n=(t=s.scrollElement)==null?void 0:t.scrollTo)==null||n.call(t,{[s.options.horizontal?"left":"top"]:i,behavior:e})};class A{constructor(l){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollToIndexTimeoutId=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.pendingMeasuredCacheIndexes=[],this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.observer=(()=>{let e=null;const s=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(t=>{t.forEach(n=>{this._measureElement(n.target,n)})}));return{disconnect:()=>{var t;(t=s())==null||t.disconnect(),e=null},observe:t=>{var n;return(n=s())==null?void 0:n.observe(t,{box:"border-box"})},unobserve:t=>{var n;return(n=s())==null?void 0:n.unobserve(t)}}})(),this.range=null,this.setOptions=e=>{Object.entries(e).forEach(([s,t])=>{typeof t>"u"&&delete e[s]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:T,rangeExtractor:R,onChange:()=>{},measureElement:F,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!0,...e}},this.notify=e=>{var s,t;(t=(s=this.options).onChange)==null||t.call(s,this,e)},this.maybeNotify=g(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var e;const s=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==s){if(this.cleanup(),!s){this.maybeNotify();return}this.scrollElement=s,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((e=this.scrollElement)==null?void 0:e.window)??null,this.elementsCache.forEach(t=>{this.observer.observe(t)}),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0}),this.unsubs.push(this.options.observeElementRect(this,t=>{this.scrollRect=t,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(t,n)=>{this.scrollAdjustments=0,this.scrollDirection=n?this.getScrollOffset()this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(e,s)=>{const t=new Map,n=new Map;for(let i=s-1;i>=0;i--){const r=e[i];if(t.has(r.lane))continue;const h=n.get(r.lane);if(h==null||r.end>h.end?n.set(r.lane,r):r.endi.end===r.end?i.index-r.index:i.end-r.end)[0]:void 0},this.getMeasurementOptions=g(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled],(e,s,t,n,i)=>(this.pendingMeasuredCacheIndexes=[],{count:e,paddingStart:s,scrollMargin:t,getItemKey:n,enabled:i}),{key:!1}),this.getMeasurements=g(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:e,paddingStart:s,scrollMargin:t,getItemKey:n,enabled:i},r)=>{if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),[];this.measurementsCache.length===0&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(a=>{this.itemSizeCache.set(a.key,a.size)}));const h=this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[];const c=this.measurementsCache.slice(0,h);for(let a=h;athis.options.debug}),this.calculateRange=g(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset()],(e,s,t)=>this.range=e.length>0&&s>0?W({measurements:e,outerSize:s,scrollOffset:t}):null,{key:!1,debug:()=>this.options.debug}),this.getIndexes=g(()=>{let e=null,s=null;const t=this.calculateRange();return t&&(e=t.startIndex,s=t.endIndex),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,s]},(e,s,t,n,i)=>n===null||i===null?[]:e({startIndex:n,endIndex:i,overscan:s,count:t}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{const s=this.options.indexAttribute,t=e.getAttribute(s);return t?parseInt(t,10):(console.warn(`Missing attribute name '${s}={index}' on measured element.`),-1)},this._measureElement=(e,s)=>{const t=this.indexFromElement(e),n=this.measurementsCache[t];if(!n)return;const i=n.key,r=this.elementsCache.get(i);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(i,e)),e.isConnected&&this.resizeItem(t,this.options.measureElement(e,s,this))},this.resizeItem=(e,s)=>{const t=this.measurementsCache[e];if(!t)return;const n=this.itemSizeCache.get(t.key)??t.size,i=s-n;i!==0&&((this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(t,i,this):t.start{if(!e){this.elementsCache.forEach((s,t)=>{s.isConnected||(this.observer.unobserve(s),this.elementsCache.delete(t))});return}this._measureElement(e,void 0)},this.getVirtualItems=g(()=>[this.getIndexes(),this.getMeasurements()],(e,s)=>{const t=[];for(let n=0,i=e.length;nthis.options.debug}),this.getVirtualItemForOffset=e=>{const s=this.getMeasurements();if(s.length!==0)return S(s[O(0,s.length-1,t=>S(s[t]).start,e)])},this.getOffsetForAlignment=(e,s)=>{const t=this.getSize(),n=this.getScrollOffset();s==="auto"&&e>=n+t&&(s="end"),s==="end"&&(e-=t);const i=this.options.horizontal?"scrollWidth":"scrollHeight",h=(this.scrollElement?"document"in this.scrollElement?this.scrollElement.document.documentElement[i]:this.scrollElement[i]:0)-t;return Math.max(Math.min(h,e),0)},this.getOffsetForIndex=(e,s="auto")=>{e=Math.max(0,Math.min(e,this.options.count-1));const t=this.measurementsCache[e];if(!t)return;const n=this.getSize(),i=this.getScrollOffset();if(s==="auto")if(t.end>=i+n-this.options.scrollPaddingEnd)s="end";else if(t.start<=i+this.options.scrollPaddingStart)s="start";else return[i,s];const r=t.start-this.options.scrollPaddingStart+(t.size-n)/2;switch(s){case"center":return[this.getOffsetForAlignment(r,s),s];case"end":return[this.getOffsetForAlignment(t.end+this.options.scrollPaddingEnd,s),s];default:return[this.getOffsetForAlignment(t.start-this.options.scrollPaddingStart,s),s]}},this.isDynamicMode=()=>this.elementsCache.size>0,this.cancelScrollToIndex=()=>{this.scrollToIndexTimeoutId!==null&&this.targetWindow&&(this.targetWindow.clearTimeout(this.scrollToIndexTimeoutId),this.scrollToIndexTimeoutId=null)},this.scrollToOffset=(e,{align:s="start",behavior:t}={})=>{this.cancelScrollToIndex(),t==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getOffsetForAlignment(e,s),{adjustments:void 0,behavior:t})},this.scrollToIndex=(e,{align:s="auto",behavior:t}={})=>{e=Math.max(0,Math.min(e,this.options.count-1)),this.cancelScrollToIndex(),t==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size.");const n=this.getOffsetForIndex(e,s);if(!n)return;const[i,r]=n;this._scrollToOffset(i,{adjustments:void 0,behavior:t}),t!=="smooth"&&this.isDynamicMode()&&this.targetWindow&&(this.scrollToIndexTimeoutId=this.targetWindow.setTimeout(()=>{if(this.scrollToIndexTimeoutId=null,this.elementsCache.has(this.options.getItemKey(e))){const[c]=S(this.getOffsetForIndex(e,r));y(c,this.getScrollOffset())||this.scrollToIndex(e,{align:r,behavior:t})}else this.scrollToIndex(e,{align:r,behavior:t})}))},this.scrollBy=(e,{behavior:s}={})=>{this.cancelScrollToIndex(),s==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getScrollOffset()+e,{adjustments:void 0,behavior:s})},this.getTotalSize=()=>{var e;const s=this.getMeasurements();let t;return s.length===0?t=this.options.paddingStart:t=this.options.lanes===1?((e=s[s.length-1])==null?void 0:e.end)??0:Math.max(...s.slice(-this.options.lanes).map(n=>n.end)),Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(e,{adjustments:s,behavior:t})=>{this.options.scrollToFn(e,{behavior:t,adjustments:s},this)},this.measure=()=>{this.itemSizeCache=new Map,this.notify(!1)},this.setOptions(l)}}const O=(o,l,e,s)=>{for(;o<=l;){const t=(o+l)/2|0,n=e(t);if(ns)l=t-1;else return t}return o>0?o-1:0};function W({measurements:o,outerSize:l,scrollOffset:e}){const s=o.length-1,n=O(0,s,r=>o[r].start,e);let i=n;for(;i({}),{})[1],e={...o,onChange:(t,n)=>{var i;n?I.flushSync(l):l(),(i=o.onChange)==null||i.call(o,t,n)}},[s]=x.useState(()=>new A(e));return s.setOptions(e),M(()=>s._didMount(),[]),M(()=>s._willUpdate()),s}function N(o){return B({observeElementRect:_,observeElementOffset:D,scrollToFn:j,...o})}export{L as C,N as u}; diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/index-BwQ9ejTf.css b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/index-BwQ9ejTf.css deleted file mode 100644 index 669c756a4..000000000 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/index-BwQ9ejTf.css +++ /dev/null @@ -1 +0,0 @@ -@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scroll-snap-strictness:proximity;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-yellow-600:oklch(68.1% .162 75.834);--color-green-600:oklch(62.7% .194 149.214);--color-purple-500:oklch(62.7% .265 303.9);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-extralight:200;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--animate-spin:spin 1s linear infinite;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--breakpoint-xs:28rem;--animate-pop-in:pop-in .2s ease-out forwards}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root,[data-theme]{color:hsl(var(--heroui-foreground));background-color:hsl(var(--heroui-background))}:root,[data-theme=light]{color-scheme:light;--heroui-background:0 0% 100%;--heroui-foreground-50:0 0% 98.04%;--heroui-foreground-100:240 4.76% 95.88%;--heroui-foreground-200:240 5.88% 90%;--heroui-foreground-300:240 4.88% 83.92%;--heroui-foreground-400:240 5.03% 64.9%;--heroui-foreground-500:240 3.83% 46.08%;--heroui-foreground-600:240 5.2% 33.92%;--heroui-foreground-700:240 5.26% 26.08%;--heroui-foreground-800:240 3.7% 15.88%;--heroui-foreground-900:240 5.88% 10%;--heroui-foreground:201.82 24.44% 8.82%;--heroui-divider:0 0% 6.67%;--heroui-focus:212.02 100% 46.67%;--heroui-overlay:0 0% 0%;--heroui-content1:0 0% 100%;--heroui-content1-foreground:201.82 24.44% 8.82%;--heroui-content2:240 4.76% 95.88%;--heroui-content2-foreground:240 3.7% 15.88%;--heroui-content3:240 5.88% 90%;--heroui-content3-foreground:240 5.26% 26.08%;--heroui-content4:240 4.88% 83.92%;--heroui-content4-foreground:240 5.2% 33.92%;--heroui-default-50:0 0% 98.04%;--heroui-default-100:240 4.76% 95.88%;--heroui-default-200:240 5.88% 90%;--heroui-default-300:240 4.88% 83.92%;--heroui-default-400:240 5.03% 64.9%;--heroui-default-500:240 3.83% 46.08%;--heroui-default-600:240 5.2% 33.92%;--heroui-default-700:240 5.26% 26.08%;--heroui-default-800:240 3.7% 15.88%;--heroui-default-900:240 5.88% 10%;--heroui-default-foreground:0 0% 0%;--heroui-default:240 4.88% 83.92%;--heroui-primary-50:212.5 92.31% 94.9%;--heroui-primary-100:211.84 92.45% 89.61%;--heroui-primary-200:211.84 92.45% 79.22%;--heroui-primary-300:212.24 92.45% 68.82%;--heroui-primary-400:212.14 92.45% 58.43%;--heroui-primary-500:212.02 100% 46.67%;--heroui-primary-600:212.14 100% 38.43%;--heroui-primary-700:212.24 100% 28.82%;--heroui-primary-800:211.84 100% 19.22%;--heroui-primary-900:211.84 100% 9.61%;--heroui-primary-foreground:0 0% 100%;--heroui-primary:212.02 100% 46.67%;--heroui-secondary-50:270 61.54% 94.9%;--heroui-secondary-100:270 59.26% 89.41%;--heroui-secondary-200:270 59.26% 78.82%;--heroui-secondary-300:270 59.26% 68.24%;--heroui-secondary-400:270 59.26% 57.65%;--heroui-secondary-500:270 66.67% 47.06%;--heroui-secondary-600:270 66.67% 37.65%;--heroui-secondary-700:270 66.67% 28.24%;--heroui-secondary-800:270 66.67% 18.82%;--heroui-secondary-900:270 66.67% 9.41%;--heroui-secondary-foreground:0 0% 100%;--heroui-secondary:270 66.67% 47.06%;--heroui-success-50:146.67 64.29% 94.51%;--heroui-success-100:145.71 61.4% 88.82%;--heroui-success-200:146.2 61.74% 77.45%;--heroui-success-300:145.79 62.57% 66.47%;--heroui-success-400:146.01 62.45% 55.1%;--heroui-success-500:145.96 79.46% 43.92%;--heroui-success-600:146.01 79.89% 35.1%;--heroui-success-700:145.79 79.26% 26.47%;--heroui-success-800:146.2 79.78% 17.45%;--heroui-success-900:145.71 77.78% 8.82%;--heroui-success-foreground:0 0% 0%;--heroui-success:145.96 79.46% 43.92%;--heroui-warning-50:54.55 91.67% 95.29%;--heroui-warning-100:37.14 91.3% 90.98%;--heroui-warning-200:37.14 91.3% 81.96%;--heroui-warning-300:36.96 91.24% 73.14%;--heroui-warning-400:37.01 91.26% 64.12%;--heroui-warning-500:37.03 91.27% 55.1%;--heroui-warning-600:37.01 74.22% 44.12%;--heroui-warning-700:36.96 73.96% 33.14%;--heroui-warning-800:37.14 75% 21.96%;--heroui-warning-900:37.14 75% 10.98%;--heroui-warning-foreground:0 0% 0%;--heroui-warning:37.03 91.27% 55.1%;--heroui-danger-50:339.13 92% 95.1%;--heroui-danger-100:340 91.84% 90.39%;--heroui-danger-200:339.33 90% 80.39%;--heroui-danger-300:339.11 90.6% 70.78%;--heroui-danger-400:339 90% 60.78%;--heroui-danger-500:339.2 90.36% 51.18%;--heroui-danger-600:339 86.54% 40.78%;--heroui-danger-700:339.11 85.99% 30.78%;--heroui-danger-800:339.33 86.54% 20.39%;--heroui-danger-900:340 84.91% 10.39%;--heroui-danger-foreground:0 0% 100%;--heroui-danger:339.2 90.36% 51.18%;--heroui-divider-weight:1px;--heroui-disabled-opacity:.5;--heroui-font-size-tiny:.75rem;--heroui-font-size-small:.875rem;--heroui-font-size-medium:1rem;--heroui-font-size-large:1.125rem;--heroui-line-height-tiny:1rem;--heroui-line-height-small:1.25rem;--heroui-line-height-medium:1.5rem;--heroui-line-height-large:1.75rem;--heroui-radius-small:8px;--heroui-radius-medium:12px;--heroui-radius-large:14px;--heroui-border-width-small:1px;--heroui-border-width-medium:2px;--heroui-border-width-large:3px;--heroui-box-shadow-small:0px 0px 5px 0px #00000005,0px 2px 10px 0px #0000000f,0px 0px 1px 0px #0000004d;--heroui-box-shadow-medium:0px 0px 15px 0px #00000008,0px 2px 30px 0px #00000014,0px 0px 1px 0px #0000004d;--heroui-box-shadow-large:0px 0px 30px 0px #0000000a,0px 30px 60px 0px #0000001f,0px 0px 1px 0px #0000004d;--heroui-hover-opacity:.8}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.start-0{inset-inline-start:calc(var(--spacing)*0)}.start-1\.5{inset-inline-start:calc(var(--spacing)*1.5)}.start-2{inset-inline-start:calc(var(--spacing)*2)}.start-3{inset-inline-start:calc(var(--spacing)*3)}.start-auto{inset-inline-start:auto}.end-1{inset-inline-end:calc(var(--spacing)*1)}.end-1\.5{inset-inline-end:calc(var(--spacing)*1.5)}.end-3{inset-inline-end:calc(var(--spacing)*3)}.end-18{inset-inline-end:calc(var(--spacing)*18)}.end-auto{inset-inline-end:auto}.-top-2{top:calc(var(--spacing)*-2)}.-top-16{top:calc(var(--spacing)*-16)}.-top-px{top:-1px}.top-0{top:calc(var(--spacing)*0)}.top-1{top:calc(var(--spacing)*1)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.top-\[5\%\]{top:5%}.top-\[10\%\]{top:10%}.top-\[calc\(46\%\)\]{top:46%}.top-\[calc\(100\%_\+_2px\)\]{top:calc(100% + 2px)}.top-\[var\(--navbar-height\)\]{top:var(--navbar-height)}.-right-2{right:calc(var(--spacing)*-2)}.-right-px{right:-1px}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.right-\[5\%\]{right:5%}.right-\[10\%\]{right:10%}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-16{bottom:calc(var(--spacing)*16)}.bottom-\[5\%\]{bottom:5%}.bottom-\[10\%\]{bottom:10%}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-4{left:calc(var(--spacing)*4)}.left-\[5\%\]{left:5%}.left-\[10\%\]{left:10%}.left-\[calc\(37\.5\%\)\]{left:37.5%}.-z-30{z-index:-30}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[100\]{z-index:100}.order-1{order:1}.order-2{order:2}.order-3{order:3}.container{width:100%}@media(min-width:28rem){.container{max-width:28rem}}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-m-2{margin:calc(var(--spacing)*-2)}.-m-2\.5{margin:calc(var(--spacing)*-2.5)}.m-0{margin:calc(var(--spacing)*0)}.m-auto{margin:auto}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.-mx-2{margin-inline:calc(var(--spacing)*-2)}.mx-0{margin-inline:calc(var(--spacing)*0)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-\[calc\(\(theme\(spacing\.5\)-theme\(spacing\.1\)\)\/2\)\]{margin-inline:.5rem}.mx-\[calc\(\(theme\(spacing\.6\)-theme\(spacing\.3\)\)\/2\)\]{margin-inline:.375rem}.mx-\[calc\(\(theme\(spacing\.7\)-theme\(spacing\.5\)\)\/2\)\]{margin-inline:.25rem}.mx-auto{margin-inline:auto}.my-0{margin-block:calc(var(--spacing)*0)}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.my-16{margin-block:calc(var(--spacing)*16)}.my-\[calc\(\(theme\(spacing\.5\)-theme\(spacing\.1\)\)\/2\)\]{margin-block:.5rem}.my-\[calc\(\(theme\(spacing\.6\)-theme\(spacing\.3\)\)\/2\)\]{margin-block:.375rem}.my-\[calc\(\(theme\(spacing\.7\)-theme\(spacing\.5\)\)\/2\)\]{margin-block:.25rem}.my-auto{margin-block:auto}.-ms-2{margin-inline-start:calc(var(--spacing)*-2)}.ms-2{margin-inline-start:calc(var(--spacing)*2)}.ms-3{margin-inline-start:calc(var(--spacing)*3)}.me-2{margin-inline-end:calc(var(--spacing)*2)}.me-4{margin-inline-end:calc(var(--spacing)*4)}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px rgb(var(--tw-prose-kbd-shadows)/10%);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:NaN NaN NaN;--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-auto{margin-top:auto}.-mr-2{margin-right:calc(var(--spacing)*-2)}.mr-4{margin-right:calc(var(--spacing)*4)}.mr-auto{margin-right:auto}.mb-0{margin-bottom:calc(var(--spacing)*0)}.mb-0\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-px{margin-bottom:1px}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.box-content{box-sizing:content-box}.scrollbar-default{-ms-overflow-style:auto;scrollbar-width:auto}.scrollbar-default::-webkit-scrollbar{display:block}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.aspect-square{aspect-ratio:1}.size-1{width:calc(var(--spacing)*1);height:calc(var(--spacing)*1)}.size-1\.5{width:calc(var(--spacing)*1.5);height:calc(var(--spacing)*1.5)}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.\!h-auto{height:auto!important}.h-0\.5{height:calc(var(--spacing)*.5)}.h-1{height:calc(var(--spacing)*1)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-40{height:calc(var(--spacing)*40)}.h-\[--visual-viewport-height\]{height:--visual-viewport-height}.h-\[2px\]{height:2px}.h-\[8\%\]{height:8%}.h-\[50\%\]{height:50%}.h-\[100dvh\]{height:100dvh}.h-\[calc\(100dvh_-_var\(--navbar-height\)\)\]{height:calc(100dvh - var(--navbar-height))}.h-\[var\(--navbar-height\)\]{height:var(--navbar-height)}.h-\[var\(--picker-height\)\]{height:var(--picker-height)}.h-auto{height:auto}.h-divider{height:var(--heroui-divider-weight)}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\[20rem\]{max-height:20rem}.max-h-\[24rem\]{max-height:24rem}.max-h-\[28rem\]{max-height:28rem}.max-h-\[32rem\]{max-height:32rem}.max-h-\[36rem\]{max-height:36rem}.max-h-\[42rem\]{max-height:42rem}.max-h-\[48rem\]{max-height:48rem}.max-h-\[56rem\]{max-height:56rem}.max-h-\[64rem\]{max-height:64rem}.max-h-\[90vh\]{max-height:90vh}.max-h-\[664px\]{max-height:664px}.max-h-\[calc\(100\%_-_8rem\)\]{max-height:calc(100% - 8rem)}.max-h-\[none\]{max-height:none}.max-h-full{max-height:100%}.min-h-3{min-height:calc(var(--spacing)*3)}.min-h-3\.5{min-height:calc(var(--spacing)*3.5)}.min-h-4{min-height:calc(var(--spacing)*4)}.min-h-5{min-height:calc(var(--spacing)*5)}.min-h-6{min-height:calc(var(--spacing)*6)}.min-h-7{min-height:calc(var(--spacing)*7)}.min-h-8{min-height:calc(var(--spacing)*8)}.min-h-10{min-height:calc(var(--spacing)*10)}.min-h-12{min-height:calc(var(--spacing)*12)}.min-h-14{min-height:calc(var(--spacing)*14)}.min-h-16{min-height:calc(var(--spacing)*16)}.min-h-\[32px\]{min-height:32px}.min-h-\[48rem\]{min-height:48rem}.min-h-\[50px\]{min-height:50px}.min-h-\[100dvh\]{min-height:100dvh}.min-h-screen{min-height:100vh}.w-1{width:calc(var(--spacing)*1)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-14{width:calc(var(--spacing)*14)}.w-\[25\%\]{width:25%}.w-\[80\%\]{width:80%}.w-\[calc\(100\%_-_16px\)\]{width:calc(100% - 16px)}.w-\[calc\(100\%_-theme\(spacing\.6\)\)\]{width:calc(100% - 1.5rem)}.w-\[calc\(var\(--visible-months\)_\*_var\(--calendar-width\)\)\]{width:calc(var(--visible-months)*var(--calendar-width))}.w-auto{width:auto}.w-divider{width:var(--heroui-divider-weight)}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.w-screen{width:100vw}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[33\%\]{max-width:33%}.max-w-\[75\%\]{max-width:75%}.max-w-\[90vw\]{max-width:90vw}.max-w-\[270px\]{max-width:270px}.max-w-\[600px\]{max-width:600px}.max-w-\[640px\]{max-width:640px}.max-w-\[768px\]{max-width:768px}.max-w-\[1024px\]{max-width:1024px}.max-w-\[1280px\]{max-width:1280px}.max-w-\[1536px\]{max-width:1536px}.max-w-\[none\]{max-width:none}.max-w-fit{max-width:fit-content}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-3{min-width:calc(var(--spacing)*3)}.min-w-3\.5{min-width:calc(var(--spacing)*3.5)}.min-w-4{min-width:calc(var(--spacing)*4)}.min-w-5{min-width:calc(var(--spacing)*5)}.min-w-6{min-width:calc(var(--spacing)*6)}.min-w-7{min-width:calc(var(--spacing)*7)}.min-w-8{min-width:calc(var(--spacing)*8)}.min-w-9{min-width:calc(var(--spacing)*9)}.min-w-10{min-width:calc(var(--spacing)*10)}.min-w-12{min-width:calc(var(--spacing)*12)}.min-w-16{min-width:calc(var(--spacing)*16)}.min-w-20{min-width:calc(var(--spacing)*20)}.min-w-24{min-width:calc(var(--spacing)*24)}.min-w-40{min-width:calc(var(--spacing)*40)}.min-w-\[4\.5rem\]{min-width:4.5rem}.min-w-\[120px\]{min-width:120px}.min-w-\[200px\]{min-width:200px}.min-w-full{min-width:100%}.min-w-max{min-width:max-content}.min-w-min{min-width:min-content}.flex-1{flex:1}.flex-auto{flex:auto}.flex-initial{flex:0 auto}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.basis-0{flex-basis:calc(var(--spacing)*0)}.table-auto{table-layout:auto}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.origin-center{transform-origin:50%}.origin-left{transform-origin:0}.origin-right{transform-origin:100%}.origin-top{transform-origin:top}.origin-top-left{transform-origin:0 0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-1{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-1\/2{--tw-translate-x: 50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-1{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-1\/2,.translate-y-2\/4{--tw-translate-y: 50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-3\/4{--tw-translate-y: 75% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-50{--tw-scale-x:50%;--tw-scale-y:50%;--tw-scale-z:50%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-90{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-125{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x)var(--tw-scale-y)}.-rotate-45{rotate:-45deg}.rotate-0{rotate:none}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.spinner-bar-animation{animation-delay:calc(-1.2s + (.1s*var(--bar-index)));transform:rotate(calc(30deg*var(--bar-index)))translate(140%)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.transform-gpu{transform:translateZ(0)var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-\[appearance-in_1s_infinite\]{animation:1s infinite appearance-in}.animate-blink{animation:1.4s infinite both blink}.animate-drip-expand{animation:.42s linear drip-expand}.animate-fade-out{animation:1.2s linear infinite fade-out}.animate-indeterminate-bar{animation:1.5s cubic-bezier(.65,.815,.735,.395) infinite indeterminate-bar}.animate-none{animation:none}.animate-spin{animation:var(--animate-spin)}.animate-spinner-ease-spin{animation:.8s infinite spinner-spin}.animate-spinner-linear-spin{animation:.8s linear infinite spinner-spin}.animate-sway{animation:.75s infinite sway}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.touch-none{touch-action:none}.resize-none{resize:none}.snap-y{scroll-snap-type:y var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.snap-center{scroll-snap-align:center}.scroll-py-6{scroll-padding-block:calc(var(--spacing)*6)}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{appearance:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.\!gap-0{gap:calc(var(--spacing)*0)!important}.gap-0{gap:calc(var(--spacing)*0)}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-0{column-gap:calc(var(--spacing)*0)}.gap-x-0\.5{column-gap:calc(var(--spacing)*.5)}.gap-x-1{column-gap:calc(var(--spacing)*1)}.gap-x-2{column-gap:calc(var(--spacing)*2)}.gap-x-4{column-gap:calc(var(--spacing)*4)}.gap-x-6{column-gap:calc(var(--spacing)*6)}:where(.space-x-0\.5>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*.5)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-x-reverse)))}.gap-y-0{row-gap:calc(var(--spacing)*0)}.gap-y-1\.5{row-gap:calc(var(--spacing)*1.5)}.gap-y-2{row-gap:calc(var(--spacing)*2)}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-y-scroll{overflow-y:scroll}.\!rounded-none{border-radius:0!important}.rounded{border-radius:.25rem}.rounded-\[calc\(var\(--heroui-radius-large\)\/1\.5\)\]{border-radius:calc(var(--heroui-radius-large)/1.5)}.rounded-\[calc\(var\(--heroui-radius-medium\)\*0\.5\)\]{border-radius:calc(var(--heroui-radius-medium)*.5)}.rounded-\[calc\(var\(--heroui-radius-medium\)\*0\.6\)\]{border-radius:calc(var(--heroui-radius-medium)*.6)}.rounded-\[calc\(var\(--heroui-radius-medium\)\*0\.7\)\]{border-radius:calc(var(--heroui-radius-medium)*.7)}.rounded-\[calc\(var\(--heroui-radius-medium\)\/2\)\]{border-radius:calc(var(--heroui-radius-medium)/2)}.rounded-\[calc\(var\(--heroui-radius-small\)\/2\)\]{border-radius:calc(var(--heroui-radius-small)/2)}.rounded-full{border-radius:3.40282e38px}.rounded-large{border-radius:var(--heroui-radius-large)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-medium{border-radius:var(--heroui-radius-medium)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-small{border-radius:var(--heroui-radius-small)}.\!rounded-s-none{border-start-start-radius:0!important;border-end-start-radius:0!important}.\!rounded-e-none{border-start-end-radius:0!important;border-end-end-radius:0!important}.rounded-t-large{border-top-left-radius:var(--heroui-radius-large);border-top-right-radius:var(--heroui-radius-large)}.rounded-t-medium{border-top-left-radius:var(--heroui-radius-medium);border-top-right-radius:var(--heroui-radius-medium)}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-t-small{border-top-left-radius:var(--heroui-radius-small);border-top-right-radius:var(--heroui-radius-small)}.rounded-l-medium{border-top-left-radius:var(--heroui-radius-medium);border-bottom-left-radius:var(--heroui-radius-medium)}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-tr-medium{border-top-right-radius:var(--heroui-radius-medium)}.rounded-b-large{border-bottom-right-radius:var(--heroui-radius-large);border-bottom-left-radius:var(--heroui-radius-large)}.rounded-b-medium{border-bottom-right-radius:var(--heroui-radius-medium);border-bottom-left-radius:var(--heroui-radius-medium)}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-b-small{border-bottom-right-radius:var(--heroui-radius-small);border-bottom-left-radius:var(--heroui-radius-small)}.rounded-br-medium{border-bottom-right-radius:var(--heroui-radius-medium)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-1{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-3{border-style:var(--tw-border-style);border-width:3px}.border-medium{border-style:var(--tw-border-style);border-width:var(--heroui-border-width-medium)}.border-small{border-style:var(--tw-border-style);border-width:var(--heroui-border-width-small)}.border-x-\[calc\(theme\(spacing\.5\)\/2\)\]{border-inline-style:var(--tw-border-style);border-inline-width:.625rem}.border-x-\[calc\(theme\(spacing\.6\)\/2\)\]{border-inline-style:var(--tw-border-style);border-inline-width:.75rem}.border-x-\[calc\(theme\(spacing\.7\)\/2\)\]{border-inline-style:var(--tw-border-style);border-inline-width:.875rem}.border-y-\[calc\(theme\(spacing\.5\)\/2\)\]{border-block-style:var(--tw-border-style);border-block-width:.625rem}.border-y-\[calc\(theme\(spacing\.6\)\/2\)\]{border-block-style:var(--tw-border-style);border-block-width:.75rem}.border-y-\[calc\(theme\(spacing\.7\)\/2\)\]{border-block-style:var(--tw-border-style);border-block-width:.875rem}.border-t,.border-t-1{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-medium{border-bottom-style:var(--tw-border-style);border-bottom-width:var(--heroui-border-width-medium)}.border-b-small{border-bottom-style:var(--tw-border-style);border-bottom-width:var(--heroui-border-width-small)}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.\!border-none{--tw-border-style:none!important;border-style:none!important}.border-dotted{--tw-border-style:dotted;border-style:dotted}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.\!border-danger{border-color:hsl(var(--heroui-danger)/1)!important}.border-background{border-color:hsl(var(--heroui-background)/1)}.border-danger{border-color:hsl(var(--heroui-danger)/1)}.border-danger-100{border-color:hsl(var(--heroui-danger-100)/1)}.border-danger-200{border-color:hsl(var(--heroui-danger-200)/1)}.border-danger-400{border-color:hsl(var(--heroui-danger-400)/1)}.border-default{border-color:hsl(var(--heroui-default)/1)}.border-default-100{border-color:hsl(var(--heroui-default-100)/1)}.border-default-200{border-color:hsl(var(--heroui-default-200)/1)}.border-default-300{border-color:hsl(var(--heroui-default-300)/1)}.border-default-400{border-color:hsl(var(--heroui-default-400)/1)}.border-divider{border-color:hsl(var(--heroui-divider)/.15)}.border-foreground{border-color:hsl(var(--heroui-foreground)/1)}.border-foreground-400{border-color:hsl(var(--heroui-foreground-400)/1)}.border-primary{border-color:hsl(var(--heroui-primary)/1)}.border-primary-100{border-color:hsl(var(--heroui-primary-100)/1)}.border-primary-200{border-color:hsl(var(--heroui-primary-200)/1)}.border-primary-400{border-color:hsl(var(--heroui-primary-400)/1)}.border-secondary{border-color:hsl(var(--heroui-secondary)/1)}.border-secondary-100{border-color:hsl(var(--heroui-secondary-100)/1)}.border-secondary-200{border-color:hsl(var(--heroui-secondary-200)/1)}.border-secondary-400{border-color:hsl(var(--heroui-secondary-400)/1)}.border-success{border-color:hsl(var(--heroui-success)/1)}.border-success-100{border-color:hsl(var(--heroui-success-100)/1)}.border-success-200{border-color:hsl(var(--heroui-success-200)/1)}.border-success-300{border-color:hsl(var(--heroui-success-300)/1)}.border-success-400{border-color:hsl(var(--heroui-success-400)/1)}.border-transparent{border-color:#0000}.border-warning{border-color:hsl(var(--heroui-warning)/1)}.border-warning-100{border-color:hsl(var(--heroui-warning-100)/1)}.border-warning-200{border-color:hsl(var(--heroui-warning-200)/1)}.border-warning-300{border-color:hsl(var(--heroui-warning-300)/1)}.border-warning-400{border-color:hsl(var(--heroui-warning-400)/1)}.border-x-transparent{border-inline-color:#0000}.border-y-transparent{border-block-color:#0000}.border-t-transparent{border-top-color:#0000}.border-r-transparent{border-right-color:#0000}.border-b-current{border-bottom-color:currentColor}.border-b-danger{border-bottom-color:hsl(var(--heroui-danger)/1)}.border-b-default{border-bottom-color:hsl(var(--heroui-default)/1)}.border-b-primary{border-bottom-color:hsl(var(--heroui-primary)/1)}.border-b-secondary{border-bottom-color:hsl(var(--heroui-secondary)/1)}.border-b-success{border-bottom-color:hsl(var(--heroui-success)/1)}.border-b-warning{border-bottom-color:hsl(var(--heroui-warning)/1)}.border-b-white{border-bottom-color:var(--color-white)}.border-l-transparent{border-left-color:#0000}.\!bg-danger-50{background-color:hsl(var(--heroui-danger-50)/1)!important}.\!bg-transparent{background-color:#0000!important}.bg-background,.bg-background\/10{background-color:hsl(var(--heroui-background)/1)}@supports (color:color-mix(in lab,red,red)){.bg-background\/10{background-color:color-mix(in oklab,hsl(var(--heroui-background)/1)10%,transparent)}}.bg-background\/70{background-color:hsl(var(--heroui-background)/1)}@supports (color:color-mix(in lab,red,red)){.bg-background\/70{background-color:color-mix(in oklab,hsl(var(--heroui-background)/1)70%,transparent)}}.bg-background\/80{background-color:hsl(var(--heroui-background)/1)}@supports (color:color-mix(in lab,red,red)){.bg-background\/80{background-color:color-mix(in oklab,hsl(var(--heroui-background)/1)80%,transparent)}}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\/90{background-color:#000000e6}@supports (color:color-mix(in lab,red,red)){.bg-black\/90{background-color:color-mix(in oklab,var(--color-black)90%,transparent)}}.bg-content1{background-color:hsl(var(--heroui-content1)/1)}.bg-content3{background-color:hsl(var(--heroui-content3)/1)}.bg-current{background-color:currentColor}.bg-danger{background-color:hsl(var(--heroui-danger)/1)}.bg-danger-50{background-color:hsl(var(--heroui-danger-50)/1)}.bg-danger-100{background-color:hsl(var(--heroui-danger-100)/1)}.bg-danger-400{background-color:hsl(var(--heroui-danger-400)/1)}.bg-danger\/20{background-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.bg-danger\/20{background-color:color-mix(in oklab,hsl(var(--heroui-danger)/1)20%,transparent)}}.bg-default{background-color:hsl(var(--heroui-default)/1)}.bg-default-50{background-color:hsl(var(--heroui-default-50)/1)}.bg-default-100{background-color:hsl(var(--heroui-default-100)/1)}.bg-default-200{background-color:hsl(var(--heroui-default-200)/1)}.bg-default-300\/50{background-color:hsl(var(--heroui-default-300)/1)}@supports (color:color-mix(in lab,red,red)){.bg-default-300\/50{background-color:color-mix(in oklab,hsl(var(--heroui-default-300)/1)50%,transparent)}}.bg-default-400{background-color:hsl(var(--heroui-default-400)/1)}.bg-default-500{background-color:hsl(var(--heroui-default-500)/1)}.bg-default-800{background-color:hsl(var(--heroui-default-800)/1)}.bg-default\/40{background-color:hsl(var(--heroui-default)/1)}@supports (color:color-mix(in lab,red,red)){.bg-default\/40{background-color:color-mix(in oklab,hsl(var(--heroui-default)/1)40%,transparent)}}.bg-divider{background-color:hsl(var(--heroui-divider)/.15)}.bg-foreground{background-color:hsl(var(--heroui-foreground)/1)}.bg-foreground-100{background-color:hsl(var(--heroui-foreground-100)/1)}.bg-foreground-400{background-color:hsl(var(--heroui-foreground-400)/1)}.bg-foreground\/10{background-color:hsl(var(--heroui-foreground)/1)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\/10{background-color:color-mix(in oklab,hsl(var(--heroui-foreground)/1)10%,transparent)}}.bg-overlay\/30{background-color:hsl(var(--heroui-overlay)/1)}@supports (color:color-mix(in lab,red,red)){.bg-overlay\/30{background-color:color-mix(in oklab,hsl(var(--heroui-overlay)/1)30%,transparent)}}.bg-overlay\/50{background-color:hsl(var(--heroui-overlay)/1)}@supports (color:color-mix(in lab,red,red)){.bg-overlay\/50{background-color:color-mix(in oklab,hsl(var(--heroui-overlay)/1)50%,transparent)}}.bg-primary{background-color:hsl(var(--heroui-primary)/1)}.bg-primary-50{background-color:hsl(var(--heroui-primary-50)/1)}.bg-primary-100{background-color:hsl(var(--heroui-primary-100)/1)}.bg-primary-400{background-color:hsl(var(--heroui-primary-400)/1)}.bg-primary\/20{background-color:hsl(var(--heroui-primary)/1)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/20{background-color:color-mix(in oklab,hsl(var(--heroui-primary)/1)20%,transparent)}}.bg-secondary{background-color:hsl(var(--heroui-secondary)/1)}.bg-secondary-50{background-color:hsl(var(--heroui-secondary-50)/1)}.bg-secondary-100{background-color:hsl(var(--heroui-secondary-100)/1)}.bg-secondary-400{background-color:hsl(var(--heroui-secondary-400)/1)}.bg-secondary\/20{background-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.bg-secondary\/20{background-color:color-mix(in oklab,hsl(var(--heroui-secondary)/1)20%,transparent)}}.bg-success{background-color:hsl(var(--heroui-success)/1)}.bg-success-50{background-color:hsl(var(--heroui-success-50)/1)}.bg-success-100{background-color:hsl(var(--heroui-success-100)/1)}.bg-success-400{background-color:hsl(var(--heroui-success-400)/1)}.bg-success\/20{background-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.bg-success\/20{background-color:color-mix(in oklab,hsl(var(--heroui-success)/1)20%,transparent)}}.bg-transparent{background-color:#0000}.bg-warning{background-color:hsl(var(--heroui-warning)/1)}.bg-warning-50{background-color:hsl(var(--heroui-warning-50)/1)}.bg-warning-100{background-color:hsl(var(--heroui-warning-100)/1)}.bg-warning-400{background-color:hsl(var(--heroui-warning-400)/1)}.bg-warning\/20{background-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.bg-warning\/20{background-color:color-mix(in oklab,hsl(var(--heroui-warning)/1)20%,transparent)}}.bg-white{background-color:var(--color-white)}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-img-inherit{background-image:inherit}.bg-stripe-gradient-danger{background-image:linear-gradient(45deg,hsl(var(--heroui-danger-200))25%,hsl(var(--heroui-danger))25%50%,hsl(var(--heroui-danger-200))50%75%,hsl(var(--heroui-danger))75%,hsl(var(--heroui-danger)))}.bg-stripe-gradient-default{background-image:linear-gradient(45deg,hsl(var(--heroui-default-200))25%,hsl(var(--heroui-default-400))25%50%,hsl(var(--heroui-default-200))50%75%,hsl(var(--heroui-default-400))75%,hsl(var(--heroui-default-400)))}.bg-stripe-gradient-primary{background-image:linear-gradient(45deg,hsl(var(--heroui-primary-200))25%,hsl(var(--heroui-primary))25%50%,hsl(var(--heroui-primary-200))50%75%,hsl(var(--heroui-primary))75%,hsl(var(--heroui-primary)))}.bg-stripe-gradient-secondary{background-image:linear-gradient(45deg,hsl(var(--heroui-secondary-200))25%,hsl(var(--heroui-secondary))25%50%,hsl(var(--heroui-secondary-200))50%75%,hsl(var(--heroui-secondary))75%,hsl(var(--heroui-secondary)))}.bg-stripe-gradient-success{background-image:linear-gradient(45deg,hsl(var(--heroui-success-200))25%,hsl(var(--heroui-success))25%50%,hsl(var(--heroui-success-200))50%75%,hsl(var(--heroui-success))75%,hsl(var(--heroui-success)))}.bg-stripe-gradient-warning{background-image:linear-gradient(45deg,hsl(var(--heroui-warning-200))25%,hsl(var(--heroui-warning))25%50%,hsl(var(--heroui-warning-200))50%75%,hsl(var(--heroui-warning))75%,hsl(var(--heroui-warning)))}.from-default-600{--tw-gradient-from:hsl(var(--heroui-default-600)/1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-default-200{--tw-gradient-via:hsl(var(--heroui-default-200)/1);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-transparent{--tw-gradient-via:transparent;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-current{--tw-gradient-to:currentcolor;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-danger{--tw-gradient-to:hsl(var(--heroui-danger)/1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-default{--tw-gradient-to:hsl(var(--heroui-default)/1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-default-600{--tw-gradient-to:hsl(var(--heroui-default-600)/1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-primary{--tw-gradient-to:hsl(var(--heroui-primary)/1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-secondary{--tw-gradient-to:hsl(var(--heroui-secondary)/1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-success{--tw-gradient-to:hsl(var(--heroui-success)/1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-warning{--tw-gradient-to:hsl(var(--heroui-warning)/1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-white{--tw-gradient-to:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.\[mask-image\:linear-gradient\(\#000\,\#000\,transparent_0\,\#000_var\(--scroll-shadow-size\)\,\#000_calc\(100\%_-_var\(--scroll-shadow-size\)\)\,transparent\)\]{-webkit-mask-image:linear-gradient(#000,#000,transparent 0,#000 var(--scroll-shadow-size),#000 calc(100% - var(--scroll-shadow-size)),transparent);mask-image:linear-gradient(#000,#000,transparent 0,#000 var(--scroll-shadow-size),#000 calc(100% - var(--scroll-shadow-size)),transparent)}.bg-clip-inherit{background-clip:inherit}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-current{fill:currentColor}.stroke-current{stroke:currentColor}.stroke-default-300\/50{stroke:hsl(var(--heroui-default-300)/1)}@supports (color:color-mix(in lab,red,red)){.stroke-default-300\/50{stroke:color-mix(in oklab,hsl(var(--heroui-default-300)/1)50%,transparent)}}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-2\.5{padding:calc(var(--spacing)*2.5)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.\!px-1{padding-inline:calc(var(--spacing)*1)!important}.px-0{padding-inline:calc(var(--spacing)*0)}.px-0\.5{padding-inline:calc(var(--spacing)*.5)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0{padding-block:calc(var(--spacing)*0)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.ps-1{padding-inline-start:calc(var(--spacing)*1)}.ps-2{padding-inline-start:calc(var(--spacing)*2)}.pe-2{padding-inline-end:calc(var(--spacing)*2)}.pe-6{padding-inline-end:calc(var(--spacing)*6)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-2{padding-top:calc(var(--spacing)*2)}.pr-0\.5{padding-right:calc(var(--spacing)*.5)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.\!pb-0{padding-bottom:calc(var(--spacing)*0)!important}.pb-0{padding-bottom:calc(var(--spacing)*0)}.pb-0\.5{padding-bottom:calc(var(--spacing)*.5)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-1\.5{padding-bottom:calc(var(--spacing)*1.5)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.pl-0{padding-left:calc(var(--spacing)*0)}.pl-0\.5{padding-left:calc(var(--spacing)*.5)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-\[1px\]{padding-left:1px}.text-center{text-align:center}.text-end{text-align:end}.text-left{text-align:left}.text-start{text-align:start}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-large{font-size:var(--heroui-font-size-large);line-height:var(--heroui-line-height-large)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-medium{font-size:var(--heroui-font-size-medium);line-height:var(--heroui-line-height-medium)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-small{font-size:var(--heroui-font-size-small);line-height:var(--heroui-line-height-small)}.text-tiny{font-size:var(--heroui-font-size-tiny);line-height:var(--heroui-line-height-tiny)}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.5rem\]{font-size:.5rem}.text-\[0\.6rem\]{font-size:.6rem}.text-\[0\.55rem\]{font-size:.55rem}.text-\[85\%\]{font-size:85%}.text-\[90\%\]{font-size:90%}.text-\[100\%\]{font-size:100%}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.leading-\[1\.15\]{--tw-leading:1.15;line-height:1.15}.leading-\[32px\]{--tw-leading:32px;line-height:32px}.leading-inherit{line-height:inherit}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extralight{--tw-font-weight:var(--font-weight-extralight);font-weight:var(--font-weight-extralight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.break-words{overflow-wrap:break-word}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.\!text-danger{color:hsl(var(--heroui-danger)/1)!important}.\!text-default-900{color:hsl(var(--heroui-default-900)/1)!important}.\!text-green-600{color:var(--color-green-600)!important}.\!text-purple-500{color:var(--color-purple-500)!important}.\!text-yellow-600{color:var(--color-yellow-600)!important}.text-background{color:hsl(var(--heroui-background)/1)}.text-black{color:var(--color-black)}.text-current{color:currentColor}.text-danger{color:hsl(var(--heroui-danger)/1)}.text-danger-300{color:hsl(var(--heroui-danger-300)/1)}.text-danger-400{color:hsl(var(--heroui-danger-400)/1)}.text-danger-500{color:hsl(var(--heroui-danger-500)/1)}.text-danger-600{color:hsl(var(--heroui-danger-600)/1)}.text-danger-700{color:hsl(var(--heroui-danger-700)/1)}.text-danger-foreground{color:hsl(var(--heroui-danger-foreground)/1)}.text-danger\/80{color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.text-danger\/80{color:color-mix(in oklab,hsl(var(--heroui-danger)/1)80%,transparent)}}.text-default{color:hsl(var(--heroui-default)/1)}.text-default-400{color:hsl(var(--heroui-default-400)/1)}.text-default-500{color:hsl(var(--heroui-default-500)/1)}.text-default-600{color:hsl(var(--heroui-default-600)/1)}.text-default-700{color:hsl(var(--heroui-default-700)/1)}.text-default-900{color:hsl(var(--heroui-default-900)/1)}.text-default-foreground{color:hsl(var(--heroui-default-foreground)/1)}.text-foreground{color:hsl(var(--heroui-foreground)/1)}.text-foreground-400{color:hsl(var(--heroui-foreground-400)/1)}.text-foreground-500{color:hsl(var(--heroui-foreground-500)/1)}.text-foreground-600{color:hsl(var(--heroui-foreground-600)/1)}.text-foreground\/50{color:hsl(var(--heroui-foreground)/1)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/50{color:color-mix(in oklab,hsl(var(--heroui-foreground)/1)50%,transparent)}}.text-inherit{color:inherit}.text-primary{color:hsl(var(--heroui-primary)/1)}.text-primary-300{color:hsl(var(--heroui-primary-300)/1)}.text-primary-400{color:hsl(var(--heroui-primary-400)/1)}.text-primary-500{color:hsl(var(--heroui-primary-500)/1)}.text-primary-600{color:hsl(var(--heroui-primary-600)/1)}.text-primary-foreground{color:hsl(var(--heroui-primary-foreground)/1)}.text-primary\/80{color:hsl(var(--heroui-primary)/1)}@supports (color:color-mix(in lab,red,red)){.text-primary\/80{color:color-mix(in oklab,hsl(var(--heroui-primary)/1)80%,transparent)}}.text-secondary{color:hsl(var(--heroui-secondary)/1)}.text-secondary-300{color:hsl(var(--heroui-secondary-300)/1)}.text-secondary-400{color:hsl(var(--heroui-secondary-400)/1)}.text-secondary-500{color:hsl(var(--heroui-secondary-500)/1)}.text-secondary-600{color:hsl(var(--heroui-secondary-600)/1)}.text-secondary-foreground{color:hsl(var(--heroui-secondary-foreground)/1)}.text-secondary\/80{color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.text-secondary\/80{color:color-mix(in oklab,hsl(var(--heroui-secondary)/1)80%,transparent)}}.text-success{color:hsl(var(--heroui-success)/1)}.text-success-400{color:hsl(var(--heroui-success-400)/1)}.text-success-500{color:hsl(var(--heroui-success-500)/1)}.text-success-600{color:hsl(var(--heroui-success-600)/1)}.text-success-700{color:hsl(var(--heroui-success-700)/1)}.text-success-foreground{color:hsl(var(--heroui-success-foreground)/1)}.text-success\/80{color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.text-success\/80{color:color-mix(in oklab,hsl(var(--heroui-success)/1)80%,transparent)}}.text-transparent{color:#0000}.text-warning{color:hsl(var(--heroui-warning)/1)}.text-warning-400{color:hsl(var(--heroui-warning-400)/1)}.text-warning-500{color:hsl(var(--heroui-warning-500)/1)}.text-warning-600{color:hsl(var(--heroui-warning-600)/1)}.text-warning-700{color:hsl(var(--heroui-warning-700)/1)}.text-warning-foreground{color:hsl(var(--heroui-warning-foreground)/1)}.text-warning\/80{color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.text-warning\/80{color:color-mix(in oklab,hsl(var(--heroui-warning)/1)80%,transparent)}}.text-white{color:var(--color-white)}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.dark{color-scheme:dark;--heroui-background:0 0% 0%;--heroui-foreground-50:240 5.88% 10%;--heroui-foreground-100:240 3.7% 15.88%;--heroui-foreground-200:240 5.26% 26.08%;--heroui-foreground-300:240 5.2% 33.92%;--heroui-foreground-400:240 3.83% 46.08%;--heroui-foreground-500:240 5.03% 64.9%;--heroui-foreground-600:240 4.88% 83.92%;--heroui-foreground-700:240 5.88% 90%;--heroui-foreground-800:240 4.76% 95.88%;--heroui-foreground-900:0 0% 98.04%;--heroui-foreground:210 5.56% 92.94%;--heroui-focus:212.02 100% 46.67%;--heroui-overlay:0 0% 0%;--heroui-divider:0 0% 100%;--heroui-content1:240 5.88% 10%;--heroui-content1-foreground:0 0% 98.04%;--heroui-content2:240 3.7% 15.88%;--heroui-content2-foreground:240 4.76% 95.88%;--heroui-content3:240 5.26% 26.08%;--heroui-content3-foreground:240 5.88% 90%;--heroui-content4:240 5.2% 33.92%;--heroui-content4-foreground:240 4.88% 83.92%;--heroui-default-50:240 5.88% 10%;--heroui-default-100:240 3.7% 15.88%;--heroui-default-200:240 5.26% 26.08%;--heroui-default-300:240 5.2% 33.92%;--heroui-default-400:240 3.83% 46.08%;--heroui-default-500:240 5.03% 64.9%;--heroui-default-600:240 4.88% 83.92%;--heroui-default-700:240 5.88% 90%;--heroui-default-800:240 4.76% 95.88%;--heroui-default-900:0 0% 98.04%;--heroui-default-foreground:0 0% 100%;--heroui-default:240 5.26% 26.08%;--heroui-primary-50:211.84 100% 9.61%;--heroui-primary-100:211.84 100% 19.22%;--heroui-primary-200:212.24 100% 28.82%;--heroui-primary-300:212.14 100% 38.43%;--heroui-primary-400:212.02 100% 46.67%;--heroui-primary-500:212.14 92.45% 58.43%;--heroui-primary-600:212.24 92.45% 68.82%;--heroui-primary-700:211.84 92.45% 79.22%;--heroui-primary-800:211.84 92.45% 89.61%;--heroui-primary-900:212.5 92.31% 94.9%;--heroui-primary-foreground:0 0% 100%;--heroui-primary:212.02 100% 46.67%;--heroui-secondary-50:270 66.67% 9.41%;--heroui-secondary-100:270 66.67% 18.82%;--heroui-secondary-200:270 66.67% 28.24%;--heroui-secondary-300:270 66.67% 37.65%;--heroui-secondary-400:270 66.67% 47.06%;--heroui-secondary-500:270 59.26% 57.65%;--heroui-secondary-600:270 59.26% 68.24%;--heroui-secondary-700:270 59.26% 78.82%;--heroui-secondary-800:270 59.26% 89.41%;--heroui-secondary-900:270 61.54% 94.9%;--heroui-secondary-foreground:0 0% 100%;--heroui-secondary:270 59.26% 57.65%;--heroui-success-50:145.71 77.78% 8.82%;--heroui-success-100:146.2 79.78% 17.45%;--heroui-success-200:145.79 79.26% 26.47%;--heroui-success-300:146.01 79.89% 35.1%;--heroui-success-400:145.96 79.46% 43.92%;--heroui-success-500:146.01 62.45% 55.1%;--heroui-success-600:145.79 62.57% 66.47%;--heroui-success-700:146.2 61.74% 77.45%;--heroui-success-800:145.71 61.4% 88.82%;--heroui-success-900:146.67 64.29% 94.51%;--heroui-success-foreground:0 0% 0%;--heroui-success:145.96 79.46% 43.92%;--heroui-warning-50:37.14 75% 10.98%;--heroui-warning-100:37.14 75% 21.96%;--heroui-warning-200:36.96 73.96% 33.14%;--heroui-warning-300:37.01 74.22% 44.12%;--heroui-warning-400:37.03 91.27% 55.1%;--heroui-warning-500:37.01 91.26% 64.12%;--heroui-warning-600:36.96 91.24% 73.14%;--heroui-warning-700:37.14 91.3% 81.96%;--heroui-warning-800:37.14 91.3% 90.98%;--heroui-warning-900:54.55 91.67% 95.29%;--heroui-warning-foreground:0 0% 0%;--heroui-warning:37.03 91.27% 55.1%;--heroui-danger-50:340 84.91% 10.39%;--heroui-danger-100:339.33 86.54% 20.39%;--heroui-danger-200:339.11 85.99% 30.78%;--heroui-danger-300:339 86.54% 40.78%;--heroui-danger-400:339.2 90.36% 51.18%;--heroui-danger-500:339 90% 60.78%;--heroui-danger-600:339.11 90.6% 70.78%;--heroui-danger-700:339.33 90% 80.39%;--heroui-danger-800:340 91.84% 90.39%;--heroui-danger-900:339.13 92% 95.1%;--heroui-danger-foreground:0 0% 100%;--heroui-danger:339.2 90.36% 51.18%;--heroui-divider-weight:1px;--heroui-disabled-opacity:.5;--heroui-font-size-tiny:.75rem;--heroui-font-size-small:.875rem;--heroui-font-size-medium:1rem;--heroui-font-size-large:1.125rem;--heroui-line-height-tiny:1rem;--heroui-line-height-small:1.25rem;--heroui-line-height-medium:1.5rem;--heroui-line-height-large:1.75rem;--heroui-radius-small:8px;--heroui-radius-medium:12px;--heroui-radius-large:14px;--heroui-border-width-small:1px;--heroui-border-width-medium:2px;--heroui-border-width-large:3px;--heroui-box-shadow-small:0px 0px 5px 0px #0000000d,0px 2px 10px 0px #0003,inset 0px 0px 1px 0px #ffffff26;--heroui-box-shadow-medium:0px 0px 15px 0px #0000000f,0px 2px 30px 0px #00000038,inset 0px 0px 1px 0px #ffffff26;--heroui-box-shadow-large:0px 0px 30px 0px #00000012,0px 30px 60px 0px #00000042,inset 0px 0px 1px 0px #ffffff26;--heroui-hover-opacity:.9}.light{color-scheme:light;--heroui-background:0 0% 100%;--heroui-foreground-50:0 0% 98.04%;--heroui-foreground-100:240 4.76% 95.88%;--heroui-foreground-200:240 5.88% 90%;--heroui-foreground-300:240 4.88% 83.92%;--heroui-foreground-400:240 5.03% 64.9%;--heroui-foreground-500:240 3.83% 46.08%;--heroui-foreground-600:240 5.2% 33.92%;--heroui-foreground-700:240 5.26% 26.08%;--heroui-foreground-800:240 3.7% 15.88%;--heroui-foreground-900:240 5.88% 10%;--heroui-foreground:201.82 24.44% 8.82%;--heroui-divider:0 0% 6.67%;--heroui-focus:212.02 100% 46.67%;--heroui-overlay:0 0% 0%;--heroui-content1:0 0% 100%;--heroui-content1-foreground:201.82 24.44% 8.82%;--heroui-content2:240 4.76% 95.88%;--heroui-content2-foreground:240 3.7% 15.88%;--heroui-content3:240 5.88% 90%;--heroui-content3-foreground:240 5.26% 26.08%;--heroui-content4:240 4.88% 83.92%;--heroui-content4-foreground:240 5.2% 33.92%;--heroui-default-50:0 0% 98.04%;--heroui-default-100:240 4.76% 95.88%;--heroui-default-200:240 5.88% 90%;--heroui-default-300:240 4.88% 83.92%;--heroui-default-400:240 5.03% 64.9%;--heroui-default-500:240 3.83% 46.08%;--heroui-default-600:240 5.2% 33.92%;--heroui-default-700:240 5.26% 26.08%;--heroui-default-800:240 3.7% 15.88%;--heroui-default-900:240 5.88% 10%;--heroui-default-foreground:0 0% 0%;--heroui-default:240 4.88% 83.92%;--heroui-primary-50:212.5 92.31% 94.9%;--heroui-primary-100:211.84 92.45% 89.61%;--heroui-primary-200:211.84 92.45% 79.22%;--heroui-primary-300:212.24 92.45% 68.82%;--heroui-primary-400:212.14 92.45% 58.43%;--heroui-primary-500:212.02 100% 46.67%;--heroui-primary-600:212.14 100% 38.43%;--heroui-primary-700:212.24 100% 28.82%;--heroui-primary-800:211.84 100% 19.22%;--heroui-primary-900:211.84 100% 9.61%;--heroui-primary-foreground:0 0% 100%;--heroui-primary:212.02 100% 46.67%;--heroui-secondary-50:270 61.54% 94.9%;--heroui-secondary-100:270 59.26% 89.41%;--heroui-secondary-200:270 59.26% 78.82%;--heroui-secondary-300:270 59.26% 68.24%;--heroui-secondary-400:270 59.26% 57.65%;--heroui-secondary-500:270 66.67% 47.06%;--heroui-secondary-600:270 66.67% 37.65%;--heroui-secondary-700:270 66.67% 28.24%;--heroui-secondary-800:270 66.67% 18.82%;--heroui-secondary-900:270 66.67% 9.41%;--heroui-secondary-foreground:0 0% 100%;--heroui-secondary:270 66.67% 47.06%;--heroui-success-50:146.67 64.29% 94.51%;--heroui-success-100:145.71 61.4% 88.82%;--heroui-success-200:146.2 61.74% 77.45%;--heroui-success-300:145.79 62.57% 66.47%;--heroui-success-400:146.01 62.45% 55.1%;--heroui-success-500:145.96 79.46% 43.92%;--heroui-success-600:146.01 79.89% 35.1%;--heroui-success-700:145.79 79.26% 26.47%;--heroui-success-800:146.2 79.78% 17.45%;--heroui-success-900:145.71 77.78% 8.82%;--heroui-success-foreground:0 0% 0%;--heroui-success:145.96 79.46% 43.92%;--heroui-warning-50:54.55 91.67% 95.29%;--heroui-warning-100:37.14 91.3% 90.98%;--heroui-warning-200:37.14 91.3% 81.96%;--heroui-warning-300:36.96 91.24% 73.14%;--heroui-warning-400:37.01 91.26% 64.12%;--heroui-warning-500:37.03 91.27% 55.1%;--heroui-warning-600:37.01 74.22% 44.12%;--heroui-warning-700:36.96 73.96% 33.14%;--heroui-warning-800:37.14 75% 21.96%;--heroui-warning-900:37.14 75% 10.98%;--heroui-warning-foreground:0 0% 0%;--heroui-warning:37.03 91.27% 55.1%;--heroui-danger-50:339.13 92% 95.1%;--heroui-danger-100:340 91.84% 90.39%;--heroui-danger-200:339.33 90% 80.39%;--heroui-danger-300:339.11 90.6% 70.78%;--heroui-danger-400:339 90% 60.78%;--heroui-danger-500:339.2 90.36% 51.18%;--heroui-danger-600:339 86.54% 40.78%;--heroui-danger-700:339.11 85.99% 30.78%;--heroui-danger-800:339.33 86.54% 20.39%;--heroui-danger-900:340 84.91% 10.39%;--heroui-danger-foreground:0 0% 100%;--heroui-danger:339.2 90.36% 51.18%;--heroui-divider-weight:1px;--heroui-disabled-opacity:.5;--heroui-font-size-tiny:.75rem;--heroui-font-size-small:.875rem;--heroui-font-size-medium:1rem;--heroui-font-size-large:1.125rem;--heroui-line-height-tiny:1rem;--heroui-line-height-small:1.25rem;--heroui-line-height-medium:1.5rem;--heroui-line-height-large:1.75rem;--heroui-radius-small:8px;--heroui-radius-medium:12px;--heroui-radius-large:14px;--heroui-border-width-small:1px;--heroui-border-width-medium:2px;--heroui-border-width-large:3px;--heroui-box-shadow-small:0px 0px 5px 0px #00000005,0px 2px 10px 0px #0000000f,0px 0px 1px 0px #0000004d;--heroui-box-shadow-medium:0px 0px 15px 0px #00000008,0px 2px 30px 0px #00000014,0px 0px 1px 0px #0000004d;--heroui-box-shadow-large:0px 0px 30px 0px #0000000a,0px 30px 60px 0px #0000001f,0px 0px 1px 0px #0000004d;--heroui-hover-opacity:.8}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-100{opacity:1}.opacity-\[0\.0001\]{opacity:.0001}.opacity-\[value\]{opacity:value}.opacity-disabled{opacity:var(--heroui-disabled-opacity)}.\!shadow-none{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_1px_0px_0_rgba\(0\,0\,0\,0\.05\)\]{--tw-shadow:0 1px 0px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0px_20px_20px_0px_rgb\(0_0_0\/0\.05\)\]{--tw-shadow:0px 20px 20px 0px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-large{--tw-shadow:var(--heroui-box-shadow-large);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-medium{--tw-shadow:var(--heroui-box-shadow-medium);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-small{--tw-shadow:var(--heroui-box-shadow-small);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-black\/5{--tw-shadow-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.shadow-black\/5{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)5%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-danger\/40{--tw-shadow-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.shadow-danger\/40{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-danger)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-default\/50{--tw-shadow-color:hsl(var(--heroui-default)/1)}@supports (color:color-mix(in lab,red,red)){.shadow-default\/50{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-default)/1)50%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-foreground\/40{--tw-shadow-color:hsl(var(--heroui-foreground)/1)}@supports (color:color-mix(in lab,red,red)){.shadow-foreground\/40{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-foreground)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-primary\/40{--tw-shadow-color:hsl(var(--heroui-primary)/1)}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/40{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-primary)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-secondary\/40{--tw-shadow-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.shadow-secondary\/40{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-secondary)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-success\/40{--tw-shadow-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.shadow-success\/40{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-success)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-warning\/40{--tw-shadow-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.shadow-warning\/40{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-warning)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-background{--tw-ring-color:hsl(var(--heroui-background)/1)}.ring-danger{--tw-ring-color:hsl(var(--heroui-danger)/1)}.ring-default{--tw-ring-color:hsl(var(--heroui-default)/1)}.ring-focus{--tw-ring-color:hsl(var(--heroui-focus)/1)}.ring-primary{--tw-ring-color:hsl(var(--heroui-primary)/1)}.ring-secondary{--tw-ring-color:hsl(var(--heroui-secondary)/1)}.ring-success{--tw-ring-color:hsl(var(--heroui-success)/1)}.ring-transparent{--tw-ring-color:transparent}.ring-warning{--tw-ring-color:hsl(var(--heroui-warning)/1)}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.ring-offset-background{--tw-ring-offset-color:hsl(var(--heroui-background)/1)}.\!outline-hidden{--tw-outline-style:none!important;outline-style:none!important}@media(forced-colors:active){.\!outline-hidden{outline-offset:2px!important;outline:2px solid #0000!important}}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-lg{--tw-blur:blur(var(--blur-lg));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.saturate-150{--tw-saturate:saturate(150%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-opacity-disabled{--tw-backdrop-opacity:opacity(var(--heroui-disabled-opacity));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-saturate-150{--tw-backdrop-saturate:saturate(150%);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,opacity\]{transition-property:color,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,transform\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,background-color\,color\]{transition-property:transform,background-color,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,color\,left\,opacity\,translate\,scale\]{transition-property:transform,color,left,opacity,translate,scale;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-background{transition-property:background;transition-duration:.25s;transition-timing-function:ease}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors-opacity{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity;transition-duration:.25s;transition-timing-function:ease}.transition-height{transition-property:height;transition-duration:.25s;transition-timing-function:ease}.transition-left{transition-property:left;transition-duration:.25s;transition-timing-function:ease}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-size{transition-property:width,height;transition-duration:.25s;transition-timing-function:ease}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform-background{transition-property:transform,scale,background;transition-duration:.25s;transition-timing-function:ease}.transition-transform-colors{transition-property:transform,scale,color,background,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.25s;transition-timing-function:ease}.transition-transform-colors-opacity{transition-property:transform,scale,color,background,background-color,border-color,text-decoration-color,fill,stroke,opacity;transition-duration:.25s;transition-timing-function:ease}.transition-transform-opacity{transition-property:transform,scale,opacity rotate;transition-duration:.25s;transition-timing-function:ease}.transition-width{transition-property:width;transition-duration:.25s;transition-timing-function:ease}.\!transition-none{transition-property:none!important}.transition-none{transition-property:none}.\!duration-100{--tw-duration:.1s!important;transition-duration:.1s!important}.\!duration-150{--tw-duration:.15s!important;transition-duration:.15s!important}.\!duration-200{--tw-duration:.2s!important;transition-duration:.2s!important}.\!duration-250{--tw-duration:.25s!important;transition-duration:.25s!important}.\!duration-300{--tw-duration:.3s!important;transition-duration:.3s!important}.\!duration-500{--tw-duration:.5s!important;transition-duration:.5s!important}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.\!ease-out{--tw-ease:var(--ease-out)!important;transition-timing-function:var(--ease-out)!important}.\!ease-soft-spring{--tw-ease:cubic-bezier(.155,1.105,.295,1.12)!important;transition-timing-function:cubic-bezier(.155,1.105,.295,1.12)!important}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-auto{will-change:auto}.will-change-transform{will-change:transform}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[--picker-height\:224px\]{--picker-height:224px}.\[--scale-enter\:100\%\]{--scale-enter:100%}.\[--scale-exit\:100\%\]{--scale-exit:100%}.\[--scroll-shadow-size\:100px\]{--scroll-shadow-size:100px}.\[--slide-enter\:0px\]{--slide-enter:0px}.\[--slide-exit\:80px\]{--slide-exit:80px}.\[-webkit-mask\:radial-gradient\(closest-side\,rgba\(0\,0\,0\,0\.0\)calc\(100\%-3px\)\,rgba\(0\,0\,0\,1\)calc\(100\%-3px\)\)\]{-webkit-mask:radial-gradient(closest-side,#0000 calc(100% - 3px),#000 calc(100% - 3px))}.\[animation-duration\:1s\]{animation-duration:1s}.input-search-cancel-button-none::-webkit-search-cancel-button{-webkit-appearance:none}.spinner-dot-animation{animation-delay:calc(.25s*var(--dot-index))}.spinner-dot-blink-animation{animation-delay:calc(.2s*var(--dot-index))}.tap-highlight-transparent{-webkit-tap-highlight-color:transparent}.text-fill-inherit{-webkit-text-fill-color:inherit}@media(hover:hover){.group-hover\:pointer-events-auto:is(:where(.group):hover *){pointer-events:auto}.group-hover\:block:is(:where(.group):hover *){display:block}.group-hover\:hidden:is(:where(.group):hover *){display:none}.group-hover\:border-current:is(:where(.group):hover *){border-color:currentColor}.group-hover\:text-current:is(:where(.group):hover *){color:currentColor}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-data-\[copied\=true\]\:scale-50:is(:where(.group)[data-copied=true] *){--tw-scale-x:50%;--tw-scale-y:50%;--tw-scale-z:50%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-data-\[copied\=true\]\:scale-100:is(:where(.group)[data-copied=true] *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-data-\[copied\=true\]\:opacity-0:is(:where(.group)[data-copied=true] *){opacity:0}.group-data-\[copied\=true\]\:opacity-100:is(:where(.group)[data-copied=true] *){opacity:1}.group-data-\[disabled\=true\]\/tr\:cursor-not-allowed:is(:where(.group\/tr)[data-disabled=true] *){cursor:not-allowed}.group-data-\[disabled\=true\]\/tr\:text-foreground-300:is(:where(.group\/tr)[data-disabled=true] *){color:hsl(var(--heroui-foreground-300)/1)}.group-data-\[filled-within\=true\]\:pointer-events-auto:is(:where(.group)[data-filled-within=true] *){pointer-events:auto}.group-data-\[filled-within\=true\]\:start-0:is(:where(.group)[data-filled-within=true] *){inset-inline-start:calc(var(--spacing)*0)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_3\.5px\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 3.5px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_4px\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 4px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_6px\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 6px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_6px_-_var\(--heroui-border-width-medium\)\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 6px - var(--heroui-border-width-medium))*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_8px\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 8px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_8px_-_var\(--heroui-border-width-medium\)\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 8px - var(--heroui-border-width-medium))*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-tiny\)\/2_-_5px\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-tiny)/2 - 5px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-tiny\)\/2_-_8px\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-tiny)/2 - 8px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-tiny\)\/2_-_8px_-_var\(--heroui-border-width-medium\)\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-tiny)/2 - 8px - var(--heroui-border-width-medium))*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(100\%_\+_var\(--heroui-font-size-small\)\/2_\+_20px\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(100% + var(--heroui-font-size-small)/2 + 20px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(100\%_\+_var\(--heroui-font-size-small\)\/2_\+_24px\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(100% + var(--heroui-font-size-small)/2 + 24px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(100\%_\+_var\(--heroui-font-size-tiny\)\/2_\+_16px\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(100% + var(--heroui-font-size-tiny)/2 + 16px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:scale-85:is(:where(.group)[data-filled-within=true] *){--tw-scale-x:.85;--tw-scale-y:.85;--tw-scale-z:.85;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-data-\[filled-within\=true\]\:text-default-600:is(:where(.group)[data-filled-within=true] *){color:hsl(var(--heroui-default-600)/1)}.group-data-\[filled-within\=true\]\:text-foreground:is(:where(.group)[data-filled-within=true] *){color:hsl(var(--heroui-foreground)/1)}.group-data-\[filled\=true\]\:start-0:is(:where(.group)[data-filled=true] *){inset-inline-start:calc(var(--spacing)*0)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_3\.5px\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 3.5px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_4px\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 4px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_6px\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 6px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_6px_-_var\(--heroui-border-width-medium\)\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 6px - var(--heroui-border-width-medium))*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_8px\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 8px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_8px_-_var\(--heroui-border-width-medium\)\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 8px - var(--heroui-border-width-medium))*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-tiny\)\/2_-_5px\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-tiny)/2 - 5px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-tiny\)\/2_-_8px\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-tiny)/2 - 8px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-tiny\)\/2_-_8px_-_var\(--heroui-border-width-medium\)\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-tiny)/2 - 8px - var(--heroui-border-width-medium))*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(100\%_\+_var\(--heroui-font-size-small\)\/2_\+_20px\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(100% + var(--heroui-font-size-small)/2 + 20px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(100\%_\+_var\(--heroui-font-size-small\)\/2_\+_24px\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(100% + var(--heroui-font-size-small)/2 + 24px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(100\%_\+var\(--heroui-font-size-tiny\)\/2_\+_16px\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(100% + var(--heroui-font-size-tiny)/2 + 16px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:scale-85:is(:where(.group)[data-filled=true] *){--tw-scale-x:.85;--tw-scale-y:.85;--tw-scale-z:.85;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-data-\[filled\=true\]\:text-default-600:is(:where(.group)[data-filled=true] *){color:hsl(var(--heroui-default-600)/1)}.group-data-\[filled\=true\]\:text-foreground:is(:where(.group)[data-filled=true] *){color:hsl(var(--heroui-foreground)/1)}.group-data-\[focus-visible\=true\]\:z-10:is(:where(.group)[data-focus-visible=true] *){z-index:10}.group-data-\[focus-visible\=true\]\:block:is(:where(.group)[data-focus-visible=true] *){display:block}.group-data-\[focus-visible\=true\]\:hidden:is(:where(.group)[data-focus-visible=true] *){display:none}.group-data-\[focus-visible\=true\]\:ring-0:is(:where(.group)[data-focus-visible=true] *){--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[focus-visible\=true\]\:ring-2:is(:where(.group)[data-focus-visible=true] *){--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[focus-visible\=true\]\:ring-focus:is(:where(.group)[data-focus-visible=true] *){--tw-ring-color:hsl(var(--heroui-focus)/1)}.group-data-\[focus-visible\=true\]\:ring-offset-0:is(:where(.group)[data-focus-visible=true] *){--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.group-data-\[focus-visible\=true\]\:ring-offset-2:is(:where(.group)[data-focus-visible=true] *){--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.group-data-\[focus-visible\=true\]\:ring-offset-background:is(:where(.group)[data-focus-visible=true] *){--tw-ring-offset-color:hsl(var(--heroui-background)/1)}.group-data-\[focus\=true\]\:\!border-danger:is(:where(.group)[data-focus=true] *){border-color:hsl(var(--heroui-danger)/1)!important}.group-data-\[focus\=true\]\:border-danger:is(:where(.group)[data-focus=true] *){border-color:hsl(var(--heroui-danger)/1)}.group-data-\[focus\=true\]\:border-default-foreground:is(:where(.group)[data-focus=true] *){border-color:hsl(var(--heroui-default-foreground)/1)}.group-data-\[focus\=true\]\:border-primary:is(:where(.group)[data-focus=true] *){border-color:hsl(var(--heroui-primary)/1)}.group-data-\[focus\=true\]\:border-secondary:is(:where(.group)[data-focus=true] *){border-color:hsl(var(--heroui-secondary)/1)}.group-data-\[focus\=true\]\:border-success:is(:where(.group)[data-focus=true] *){border-color:hsl(var(--heroui-success)/1)}.group-data-\[focus\=true\]\:border-warning:is(:where(.group)[data-focus=true] *){border-color:hsl(var(--heroui-warning)/1)}.group-data-\[focus\=true\]\:\!bg-danger-50:is(:where(.group)[data-focus=true] *){background-color:hsl(var(--heroui-danger-50)/1)!important}.group-data-\[focus\=true\]\:bg-danger-50:is(:where(.group)[data-focus=true] *){background-color:hsl(var(--heroui-danger-50)/1)}.group-data-\[focus\=true\]\:bg-default-100:is(:where(.group)[data-focus=true] *){background-color:hsl(var(--heroui-default-100)/1)}.group-data-\[focus\=true\]\:bg-default-200:is(:where(.group)[data-focus=true] *){background-color:hsl(var(--heroui-default-200)/1)}.group-data-\[focus\=true\]\:bg-primary-50:is(:where(.group)[data-focus=true] *){background-color:hsl(var(--heroui-primary-50)/1)}.group-data-\[focus\=true\]\:bg-secondary-50:is(:where(.group)[data-focus=true] *){background-color:hsl(var(--heroui-secondary-50)/1)}.group-data-\[focus\=true\]\:bg-success-50:is(:where(.group)[data-focus=true] *){background-color:hsl(var(--heroui-success-50)/1)}.group-data-\[focus\=true\]\:bg-warning-50:is(:where(.group)[data-focus=true] *){background-color:hsl(var(--heroui-warning-50)/1)}.group-data-\[has-end-content\=true\]\:left-2:is(:where(.group)[data-has-end-content=true] *){left:calc(var(--spacing)*2)}.group-data-\[has-end-content\=true\]\:mt-4:is(:where(.group)[data-has-end-content=true] *){margin-top:calc(var(--spacing)*4)}.group-data-\[has-helper\=true\]\:flex:is(:where(.group)[data-has-helper=true] *){display:flex}.group-data-\[has-helper\=true\]\:-translate-y-\[calc\(100\%_\+_var\(--heroui-font-size-small\)\/2_\+_26px\)\]:is(:where(.group)[data-has-helper=true] *){--tw-translate-y:calc(calc(100% + var(--heroui-font-size-small)/2 + 26px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[has-helper\=true\]\:-translate-y-\[calc\(100\%_\+_var\(--heroui-font-size-small\)\/2_\+_30px\)\]:is(:where(.group)[data-has-helper=true] *){--tw-translate-y:calc(calc(100% + var(--heroui-font-size-small)/2 + 30px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[has-helper\=true\]\:-translate-y-\[calc\(100\%_\+_var\(--heroui-font-size-small\)\/2_\+_34px\)\]:is(:where(.group)[data-has-helper=true] *){--tw-translate-y:calc(calc(100% + var(--heroui-font-size-small)/2 + 34px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[has-helper\=true\]\:pt-2:is(:where(.group)[data-has-helper=true] *){padding-top:calc(var(--spacing)*2)}.group-data-\[has-helper\=true\]\:pt-3:is(:where(.group)[data-has-helper=true] *){padding-top:calc(var(--spacing)*3)}.group-data-\[has-helper\=true\]\:pt-4:is(:where(.group)[data-has-helper=true] *){padding-top:calc(var(--spacing)*4)}.group-data-\[has-label-outside\=true\]\:pointer-events-auto:is(:where(.group)[data-has-label-outside=true] *){pointer-events:auto}.group-data-\[has-label\=true\]\:items-end:is(:where(.group)[data-has-label=true] *){align-items:flex-end}.group-data-\[has-label\=true\]\:items-start:is(:where(.group)[data-has-label=true] *){align-items:flex-start}.group-data-\[has-label\=true\]\:pt-4:is(:where(.group)[data-has-label=true] *){padding-top:calc(var(--spacing)*4)}.group-data-\[has-label\=true\]\:pt-5:is(:where(.group)[data-has-label=true] *){padding-top:calc(var(--spacing)*5)}.group-data-\[has-multiple-months\=true\]\:flex-row:is(:where(.group)[data-has-multiple-months=true] *){flex-direction:row}.group-data-\[has-value\=true\]\:pointer-events-auto:is(:where(.group)[data-has-value=true] *){pointer-events:auto}.group-data-\[has-value\=true\]\:block:is(:where(.group)[data-has-value=true] *){display:block}.group-data-\[has-value\=true\]\:scale-100:is(:where(.group)[data-has-value=true] *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-data-\[has-value\=true\]\:text-default-foreground:is(:where(.group)[data-has-value=true] *){color:hsl(var(--heroui-default-foreground)/1)}.group-data-\[has-value\=true\]\:text-foreground:is(:where(.group)[data-has-value=true] *){color:hsl(var(--heroui-foreground)/1)}.group-data-\[has-value\=true\]\:opacity-70:is(:where(.group)[data-has-value=true] *){opacity:.7}.group-data-\[hover-unselected\=true\]\:bg-default-100:is(:where(.group)[data-hover-unselected=true] *){background-color:hsl(var(--heroui-default-100)/1)}.group-data-\[hover\=true\]\/th\:opacity-100:is(:where(.group\/th)[data-hover=true] *){opacity:1}.group-data-\[invalid\=true\]\:border-danger:is(:where(.group)[data-invalid=true] *){border-color:hsl(var(--heroui-danger)/1)}.group-data-\[invalid\=true\]\:bg-danger-50:is(:where(.group)[data-invalid=true] *){background-color:hsl(var(--heroui-danger-50)/1)}.group-data-\[invalid\=true\]\:text-danger:is(:where(.group)[data-invalid=true] *){color:hsl(var(--heroui-danger)/1)}.group-data-\[loaded\=true\]\:opacity-100:is(:where(.group)[data-loaded=true] *){opacity:1}.group-data-\[pressed\=true\]\:w-5:is(:where(.group)[data-pressed=true] *){width:calc(var(--spacing)*5)}.group-data-\[pressed\=true\]\:w-6:is(:where(.group)[data-pressed=true] *){width:calc(var(--spacing)*6)}.group-data-\[pressed\=true\]\:w-7:is(:where(.group)[data-pressed=true] *){width:calc(var(--spacing)*7)}.group-data-\[pressed\=true\]\:scale-95:is(:where(.group)[data-pressed=true] *){--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-data-\[pressed\=true\]\:opacity-70:is(:where(.group)[data-pressed=true] *){opacity:.7}.group-data-\[selected\]\:group-data-\[pressed\]\:ml-3:is(:where(.group)[data-selected] *):is(:where(.group)[data-pressed] *){margin-left:calc(var(--spacing)*3)}.group-data-\[selected\]\:group-data-\[pressed\]\:ml-4:is(:where(.group)[data-selected] *):is(:where(.group)[data-pressed] *){margin-left:calc(var(--spacing)*4)}.group-data-\[selected\]\:group-data-\[pressed\]\:ml-5:is(:where(.group)[data-selected] *):is(:where(.group)[data-pressed] *){margin-left:calc(var(--spacing)*5)}.group-data-\[selected\=true\]\:ms-4:is(:where(.group)[data-selected=true] *){margin-inline-start:calc(var(--spacing)*4)}.group-data-\[selected\=true\]\:ms-5:is(:where(.group)[data-selected=true] *){margin-inline-start:calc(var(--spacing)*5)}.group-data-\[selected\=true\]\:ms-6:is(:where(.group)[data-selected=true] *){margin-inline-start:calc(var(--spacing)*6)}.group-data-\[selected\=true\]\:translate-x-3:is(:where(.group)[data-selected=true] *){--tw-translate-x:calc(var(--spacing)*3);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[selected\=true\]\:scale-100:is(:where(.group)[data-selected=true] *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-data-\[selected\=true\]\:border-danger:is(:where(.group)[data-selected=true] *){border-color:hsl(var(--heroui-danger)/1)}.group-data-\[selected\=true\]\:border-default-500:is(:where(.group)[data-selected=true] *){border-color:hsl(var(--heroui-default-500)/1)}.group-data-\[selected\=true\]\:border-primary:is(:where(.group)[data-selected=true] *){border-color:hsl(var(--heroui-primary)/1)}.group-data-\[selected\=true\]\:border-secondary:is(:where(.group)[data-selected=true] *){border-color:hsl(var(--heroui-secondary)/1)}.group-data-\[selected\=true\]\:border-success:is(:where(.group)[data-selected=true] *){border-color:hsl(var(--heroui-success)/1)}.group-data-\[selected\=true\]\:border-warning:is(:where(.group)[data-selected=true] *){border-color:hsl(var(--heroui-warning)/1)}.group-data-\[selected\=true\]\:bg-danger:is(:where(.group)[data-selected=true] *){background-color:hsl(var(--heroui-danger)/1)}.group-data-\[selected\=true\]\:bg-default-400:is(:where(.group)[data-selected=true] *){background-color:hsl(var(--heroui-default-400)/1)}.group-data-\[selected\=true\]\:bg-primary:is(:where(.group)[data-selected=true] *){background-color:hsl(var(--heroui-primary)/1)}.group-data-\[selected\=true\]\:bg-secondary:is(:where(.group)[data-selected=true] *){background-color:hsl(var(--heroui-secondary)/1)}.group-data-\[selected\=true\]\:bg-success:is(:where(.group)[data-selected=true] *){background-color:hsl(var(--heroui-success)/1)}.group-data-\[selected\=true\]\:bg-warning:is(:where(.group)[data-selected=true] *){background-color:hsl(var(--heroui-warning)/1)}.group-data-\[selected\=true\]\:text-danger:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-danger)/1)}.group-data-\[selected\=true\]\:text-danger-foreground:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-danger-foreground)/1)}.group-data-\[selected\=true\]\:text-default-foreground:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-default-foreground)/1)}.group-data-\[selected\=true\]\:text-foreground:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-foreground)/1)}.group-data-\[selected\=true\]\:text-primary:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-primary)/1)}.group-data-\[selected\=true\]\:text-primary-foreground:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-primary-foreground)/1)}.group-data-\[selected\=true\]\:text-secondary:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-secondary)/1)}.group-data-\[selected\=true\]\:text-secondary-foreground:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-secondary-foreground)/1)}.group-data-\[selected\=true\]\:text-success:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-success)/1)}.group-data-\[selected\=true\]\:text-success-foreground:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-success-foreground)/1)}.group-data-\[selected\=true\]\:text-warning:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-warning)/1)}.group-data-\[selected\=true\]\:text-warning-foreground:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-warning-foreground)/1)}.group-data-\[selected\=true\]\:opacity-0:is(:where(.group)[data-selected=true] *){opacity:0}.group-data-\[selected\=true\]\:opacity-60:is(:where(.group)[data-selected=true] *){opacity:.6}.group-data-\[selected\=true\]\:opacity-100:is(:where(.group)[data-selected=true] *){opacity:1}.peer-data-\[filled\=true\]\:pointer-events-auto:is(:where(.peer)[data-filled=true]~*){pointer-events:auto}.peer-data-\[filled\=true\]\:block:is(:where(.peer)[data-filled=true]~*){display:block}.peer-data-\[filled\=true\]\:scale-100:is(:where(.peer)[data-filled=true]~*){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.peer-data-\[filled\=true\]\:opacity-70:is(:where(.peer)[data-filled=true]~*){opacity:.7}.file\:cursor-pointer::file-selector-button{cursor:pointer}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.placeholder\:text-danger::placeholder{color:hsl(var(--heroui-danger)/1)}.placeholder\:text-foreground-500::placeholder{color:hsl(var(--heroui-foreground-500)/1)}.placeholder\:text-primary::placeholder{color:hsl(var(--heroui-primary)/1)}.placeholder\:text-secondary::placeholder{color:hsl(var(--heroui-secondary)/1)}.placeholder\:text-success-600::placeholder{color:hsl(var(--heroui-success-600)/1)}.placeholder\:text-warning-600::placeholder{color:hsl(var(--heroui-warning-600)/1)}.before\:pointer-events-auto:before{content:var(--tw-content);pointer-events:auto}.before\:pointer-events-none:before{content:var(--tw-content);pointer-events:none}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-0:before{content:var(--tw-content);inset:calc(var(--spacing)*0)}.before\:right-0:before{content:var(--tw-content);right:calc(var(--spacing)*0)}.before\:left-0:before{content:var(--tw-content);left:calc(var(--spacing)*0)}.before\:z-0:before{content:var(--tw-content);z-index:0}.before\:z-\[-1\]:before{content:var(--tw-content);z-index:-1}.before\:box-border:before{content:var(--tw-content);box-sizing:border-box}.before\:block:before{content:var(--tw-content);display:block}.before\:hidden:before{content:var(--tw-content);display:none}.before\:h-0\.5:before{content:var(--tw-content);height:calc(var(--spacing)*.5)}.before\:h-2\.5:before{content:var(--tw-content);height:calc(var(--spacing)*2.5)}.before\:h-4:before{content:var(--tw-content);height:calc(var(--spacing)*4)}.before\:h-6:before{content:var(--tw-content);height:calc(var(--spacing)*6)}.before\:h-8:before{content:var(--tw-content);height:calc(var(--spacing)*8)}.before\:h-11:before{content:var(--tw-content);height:calc(var(--spacing)*11)}.before\:h-px:before{content:var(--tw-content);height:1px}.before\:w-0:before{content:var(--tw-content);width:calc(var(--spacing)*0)}.before\:w-2\.5:before{content:var(--tw-content);width:calc(var(--spacing)*2.5)}.before\:w-6:before{content:var(--tw-content);width:calc(var(--spacing)*6)}.before\:w-8:before{content:var(--tw-content);width:calc(var(--spacing)*8)}.before\:w-11:before{content:var(--tw-content);width:calc(var(--spacing)*11)}.before\:-translate-x-full:before{content:var(--tw-content);--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.before\:-translate-y-1:before{content:var(--tw-content);--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.before\:rotate-0:before{content:var(--tw-content);rotate:none}.before\:rotate-45:before{content:var(--tw-content);rotate:45deg}.before\:animate-none:before{content:var(--tw-content);animation:none}.before\:animate-shimmer:before{content:var(--tw-content);animation:2s infinite shimmer}.before\:rounded-\[calc\(var\(--heroui-radius-medium\)\*0\.5\)\]:before{content:var(--tw-content);border-radius:calc(var(--heroui-radius-medium)*.5)}.before\:rounded-\[calc\(var\(--heroui-radius-medium\)\*0\.6\)\]:before{content:var(--tw-content);border-radius:calc(var(--heroui-radius-medium)*.6)}.before\:rounded-\[calc\(var\(--heroui-radius-medium\)\*0\.7\)\]:before{content:var(--tw-content);border-radius:calc(var(--heroui-radius-medium)*.7)}.before\:rounded-full:before{content:var(--tw-content);border-radius:3.40282e38px}.before\:rounded-none:before{content:var(--tw-content);border-radius:0}.before\:rounded-sm:before{content:var(--tw-content);border-radius:var(--radius-sm)}.before\:border-2:before{content:var(--tw-content);border-style:var(--tw-border-style);border-width:2px}.before\:border-t:before{content:var(--tw-content);border-top-style:var(--tw-border-style);border-top-width:1px}.before\:border-solid:before{content:var(--tw-content);--tw-border-style:solid;border-style:solid}.before\:border-content4\/30:before{content:var(--tw-content);border-color:hsl(var(--heroui-content4)/1)}@supports (color:color-mix(in lab,red,red)){.before\:border-content4\/30:before{border-color:color-mix(in oklab,hsl(var(--heroui-content4)/1)30%,transparent)}}.before\:border-danger:before{content:var(--tw-content);border-color:hsl(var(--heroui-danger)/1)}.before\:border-default:before{content:var(--tw-content);border-color:hsl(var(--heroui-default)/1)}.before\:bg-content1:before{content:var(--tw-content);background-color:hsl(var(--heroui-content1)/1)}.before\:bg-current:before{content:var(--tw-content);background-color:currentColor}.before\:bg-danger:before,.before\:bg-danger\/20:before{content:var(--tw-content);background-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.before\:bg-danger\/20:before{background-color:color-mix(in oklab,hsl(var(--heroui-danger)/1)20%,transparent)}}.before\:bg-default\/60:before{content:var(--tw-content);background-color:hsl(var(--heroui-default)/1)}@supports (color:color-mix(in lab,red,red)){.before\:bg-default\/60:before{background-color:color-mix(in oklab,hsl(var(--heroui-default)/1)60%,transparent)}}.before\:bg-foreground:before{content:var(--tw-content);background-color:hsl(var(--heroui-foreground)/1)}.before\:bg-primary:before,.before\:bg-primary\/20:before{content:var(--tw-content);background-color:hsl(var(--heroui-primary)/1)}@supports (color:color-mix(in lab,red,red)){.before\:bg-primary\/20:before{background-color:color-mix(in oklab,hsl(var(--heroui-primary)/1)20%,transparent)}}.before\:bg-secondary:before,.before\:bg-secondary\/20:before{content:var(--tw-content);background-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.before\:bg-secondary\/20:before{background-color:color-mix(in oklab,hsl(var(--heroui-secondary)/1)20%,transparent)}}.before\:bg-success:before,.before\:bg-success\/20:before{content:var(--tw-content);background-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.before\:bg-success\/20:before{background-color:color-mix(in oklab,hsl(var(--heroui-success)/1)20%,transparent)}}.before\:bg-transparent:before{content:var(--tw-content);background-color:#0000}.before\:bg-warning:before,.before\:bg-warning\/20:before{content:var(--tw-content);background-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.before\:bg-warning\/20:before{background-color:color-mix(in oklab,hsl(var(--heroui-warning)/1)20%,transparent)}}.before\:bg-gradient-to-r:before{content:var(--tw-content);--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.before\:from-transparent:before{content:var(--tw-content);--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.before\:via-content4:before{content:var(--tw-content);--tw-gradient-via:hsl(var(--heroui-content4)/1);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.before\:to-transparent:before{content:var(--tw-content);--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.before\:opacity-0:before{content:var(--tw-content);opacity:0}.before\:opacity-100:before{content:var(--tw-content);opacity:1}.before\:shadow-small:before{content:var(--tw-content);--tw-shadow:var(--heroui-box-shadow-small);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.before\:transition-colors:before{content:var(--tw-content);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.before\:transition-transform:before{content:var(--tw-content);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.before\:transition-width:before{content:var(--tw-content);transition-property:width;transition-duration:.25s;transition-timing-function:ease}.before\:transition-none:before{content:var(--tw-content);transition-property:none}.before\:duration-150:before{content:var(--tw-content);--tw-duration:.15s;transition-duration:.15s}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}.group-data-\[hover\=true\]\:before\:bg-default-100:is(:where(.group)[data-hover=true] *):before,.group-aria-\[selected\=false\]\/tr\:group-data-\[hover\=true\]\/tr\:before\:bg-default-100:is(:where(.group\/tr)[aria-selected=false] *):is(:where(.group\/tr)[data-hover=true] *):before{content:var(--tw-content);background-color:hsl(var(--heroui-default-100)/1)}.group-aria-\[selected\=false\]\/tr\:group-data-\[hover\=true\]\/tr\:before\:opacity-70:is(:where(.group\/tr)[aria-selected=false] *):is(:where(.group\/tr)[data-hover=true] *):before{content:var(--tw-content);opacity:.7}.group-data-\[middle\=true\]\/tr\:before\:rounded-none:is(:where(.group\/tr)[data-middle=true] *):before{content:var(--tw-content);border-radius:0}.group-data-\[odd\=true\]\/tr\:before\:-z-10:is(:where(.group\/tr)[data-odd=true] *):before{content:var(--tw-content);z-index:-10}.group-data-\[odd\=true\]\/tr\:before\:bg-default-100:is(:where(.group\/tr)[data-odd=true] *):before{content:var(--tw-content);background-color:hsl(var(--heroui-default-100)/1)}.group-data-\[odd\=true\]\/tr\:before\:opacity-100:is(:where(.group\/tr)[data-odd=true] *):before{content:var(--tw-content);opacity:1}.group-data-\[open\=true\]\:before\:translate-y-px:is(:where(.group)[data-open=true] *):before{content:var(--tw-content);--tw-translate-y:1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[open\=true\]\:before\:rotate-45:is(:where(.group)[data-open=true] *):before{content:var(--tw-content);rotate:45deg}.group-data-\[selected\=true\]\:before\:w-full:is(:where(.group)[data-selected=true] *):before{content:var(--tw-content);width:100%}.after\:pointer-events-auto:after{content:var(--tw-content);pointer-events:auto}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-0:after{content:var(--tw-content);inset:calc(var(--spacing)*0)}.after\:top-0:after{content:var(--tw-content);top:calc(var(--spacing)*0)}.after\:right-0:after{content:var(--tw-content);right:calc(var(--spacing)*0)}.after\:-bottom-1:after{content:var(--tw-content);bottom:calc(var(--spacing)*-1)}.after\:-bottom-\[2px\]:after{content:var(--tw-content);bottom:-2px}.after\:bottom-0:after{content:var(--tw-content);bottom:calc(var(--spacing)*0)}.after\:left-0:after{content:var(--tw-content);left:calc(var(--spacing)*0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:-z-10:after{content:var(--tw-content);z-index:-10}.after\:z-0:after{content:var(--tw-content);z-index:0}.after\:z-\[-1\]:after{content:var(--tw-content);z-index:-1}.after\:ms-0\.5:after{content:var(--tw-content);margin-inline-start:calc(var(--spacing)*.5)}.after\:ml-0\.5:after{content:var(--tw-content);margin-left:calc(var(--spacing)*.5)}.after\:block:after{content:var(--tw-content);display:block}.after\:h-0:after{content:var(--tw-content);height:calc(var(--spacing)*0)}.after\:h-4:after{content:var(--tw-content);height:calc(var(--spacing)*4)}.after\:h-5:after{content:var(--tw-content);height:calc(var(--spacing)*5)}.after\:h-\[2px\]:after{content:var(--tw-content);height:2px}.after\:h-divider:after{content:var(--tw-content);height:var(--heroui-divider-weight)}.after\:h-full:after{content:var(--tw-content);height:100%}.after\:h-px:after{content:var(--tw-content);height:1px}.after\:w-0:after{content:var(--tw-content);width:calc(var(--spacing)*0)}.after\:w-4:after{content:var(--tw-content);width:calc(var(--spacing)*4)}.after\:w-5:after{content:var(--tw-content);width:calc(var(--spacing)*5)}.after\:w-6:after{content:var(--tw-content);width:calc(var(--spacing)*6)}.after\:w-\[80\%\]:after{content:var(--tw-content);width:80%}.after\:w-full:after{content:var(--tw-content);width:100%}.after\:origin-center:after{content:var(--tw-content);transform-origin:50%}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.after\:translate-y-1:after{content:var(--tw-content);--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.after\:scale-50:after{content:var(--tw-content);--tw-scale-x:50%;--tw-scale-y:50%;--tw-scale-z:50%;scale:var(--tw-scale-x)var(--tw-scale-y)}.after\:rotate-0:after{content:var(--tw-content);rotate:none}.after\:rounded-\[calc\(var\(--heroui-radius-large\)\/2\)\]:after{content:var(--tw-content);border-radius:calc(var(--heroui-radius-large)/2)}.after\:rounded-\[calc\(var\(--heroui-radius-medium\)\*0\.5\)\]:after{content:var(--tw-content);border-radius:calc(var(--heroui-radius-medium)*.5)}.after\:rounded-\[calc\(var\(--heroui-radius-medium\)\*0\.6\)\]:after{content:var(--tw-content);border-radius:calc(var(--heroui-radius-medium)*.6)}.after\:rounded-\[calc\(var\(--heroui-radius-medium\)\*0\.7\)\]:after{content:var(--tw-content);border-radius:calc(var(--heroui-radius-medium)*.7)}.after\:rounded-\[calc\(var\(--heroui-radius-medium\)\/3\)\]:after{content:var(--tw-content);border-radius:calc(var(--heroui-radius-medium)/3)}.after\:rounded-\[calc\(var\(--heroui-radius-small\)\/3\)\]:after{content:var(--tw-content);border-radius:calc(var(--heroui-radius-small)/3)}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:rounded-none:after{content:var(--tw-content);border-radius:0}.after\:rounded-xl:after{content:var(--tw-content);border-radius:var(--radius-xl)}.after\:\!bg-danger:after{content:var(--tw-content);background-color:hsl(var(--heroui-danger)/1)!important}.after\:bg-background:after{content:var(--tw-content);background-color:hsl(var(--heroui-background)/1)}.after\:bg-content1:after{content:var(--tw-content);background-color:hsl(var(--heroui-content1)/1)}.after\:bg-content3:after{content:var(--tw-content);background-color:hsl(var(--heroui-content3)/1)}.after\:bg-current:after{content:var(--tw-content);background-color:currentColor}.after\:bg-danger:after{content:var(--tw-content);background-color:hsl(var(--heroui-danger)/1)}.after\:bg-default:after{content:var(--tw-content);background-color:hsl(var(--heroui-default)/1)}.after\:bg-default-foreground:after{content:var(--tw-content);background-color:hsl(var(--heroui-default-foreground)/1)}.after\:bg-divider:after{content:var(--tw-content);background-color:hsl(var(--heroui-divider)/.15)}.after\:bg-foreground:after{content:var(--tw-content);background-color:hsl(var(--heroui-foreground)/1)}.after\:bg-primary:after{content:var(--tw-content);background-color:hsl(var(--heroui-primary)/1)}.after\:bg-secondary:after{content:var(--tw-content);background-color:hsl(var(--heroui-secondary)/1)}.after\:bg-success:after{content:var(--tw-content);background-color:hsl(var(--heroui-success)/1)}.after\:bg-transparent:after{content:var(--tw-content);background-color:#0000}.after\:bg-warning:after{content:var(--tw-content);background-color:hsl(var(--heroui-warning)/1)}.after\:text-danger:after{content:var(--tw-content);color:hsl(var(--heroui-danger)/1)}.after\:text-danger-foreground:after{content:var(--tw-content);color:hsl(var(--heroui-danger-foreground)/1)}.after\:text-default-foreground:after{content:var(--tw-content);color:hsl(var(--heroui-default-foreground)/1)}.after\:text-primary-foreground:after{content:var(--tw-content);color:hsl(var(--heroui-primary-foreground)/1)}.after\:text-secondary-foreground:after{content:var(--tw-content);color:hsl(var(--heroui-secondary-foreground)/1)}.after\:text-success-foreground:after{content:var(--tw-content);color:hsl(var(--heroui-success-foreground)/1)}.after\:text-warning-foreground:after{content:var(--tw-content);color:hsl(var(--heroui-warning-foreground)/1)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:opacity-100:after{content:var(--tw-content);opacity:1}.after\:shadow-\[0_1px_0px_0_rgba\(0\,0\,0\,0\.05\)\]:after{content:var(--tw-content);--tw-shadow:0 1px 0px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.after\:shadow-small:after{content:var(--tw-content);--tw-shadow:var(--heroui-box-shadow-small);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:transition-background:after{content:var(--tw-content);transition-property:background;transition-duration:.25s;transition-timing-function:ease}.after\:transition-height:after{content:var(--tw-content);transition-property:height;transition-duration:.25s;transition-timing-function:ease}.after\:transition-transform:after{content:var(--tw-content);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:transition-transform-opacity:after{content:var(--tw-content);transition-property:transform,scale,opacity rotate;transition-duration:.25s;transition-timing-function:ease}.after\:transition-width:after{content:var(--tw-content);transition-property:width;transition-duration:.25s;transition-timing-function:ease}.after\:transition-none:after{content:var(--tw-content);transition-property:none}.after\:\!duration-200:after{content:var(--tw-content);--tw-duration:.2s!important;transition-duration:.2s!important}.after\:duration-150:after{content:var(--tw-content);--tw-duration:.15s;transition-duration:.15s}.after\:\!ease-linear:after{content:var(--tw-content);--tw-ease:linear!important;transition-timing-function:linear!important}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.after\:content-\[\'\*\'\]:after{--tw-content:"*";content:var(--tw-content)}.group-data-\[focus\=true\]\:after\:w-full:is(:where(.group)[data-focus=true] *):after{content:var(--tw-content);width:100%}.group-data-\[invalid\=true\]\:after\:bg-danger:is(:where(.group)[data-invalid=true] *):after{content:var(--tw-content);background-color:hsl(var(--heroui-danger)/1)}.group-data-\[open\=true\]\:after\:translate-y-0:is(:where(.group)[data-open=true] *):after{content:var(--tw-content);--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[open\=true\]\:after\:-rotate-45:is(:where(.group)[data-open=true] *):after{content:var(--tw-content);rotate:-45deg}.group-data-\[required\=true\]\:after\:ml-0\.5:is(:where(.group)[data-required=true] *):after{content:var(--tw-content);margin-left:calc(var(--spacing)*.5)}.group-data-\[required\=true\]\:after\:text-danger:is(:where(.group)[data-required=true] *):after{content:var(--tw-content);color:hsl(var(--heroui-danger)/1)}.group-data-\[required\=true\]\:after\:content-\[\'\*\'\]:is(:where(.group)[data-required=true] *):after{--tw-content:"*";content:var(--tw-content)}.group-data-\[selected\=true\]\:after\:scale-100:is(:where(.group)[data-selected=true] *):after{content:var(--tw-content);--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-data-\[selected\=true\]\:after\:opacity-100:is(:where(.group)[data-selected=true] *):after{content:var(--tw-content);opacity:1}.first\:mt-2:first-child{margin-top:calc(var(--spacing)*2)}.first\:-ml-0\.5:first-child{margin-left:calc(var(--spacing)*-.5)}.first\:rounded-s-full:first-child{border-start-start-radius:3.40282e38px;border-end-start-radius:3.40282e38px}.first\:rounded-s-large:first-child{border-start-start-radius:var(--heroui-radius-large);border-end-start-radius:var(--heroui-radius-large)}.first\:rounded-s-lg:first-child{border-start-start-radius:var(--radius-lg);border-end-start-radius:var(--radius-lg)}.first\:rounded-s-medium:first-child{border-start-start-radius:var(--heroui-radius-medium);border-end-start-radius:var(--heroui-radius-medium)}.first\:rounded-s-none:first-child{border-start-start-radius:0;border-end-start-radius:0}.first\:rounded-s-small:first-child{border-start-start-radius:var(--heroui-radius-small);border-end-start-radius:var(--heroui-radius-small)}.first\:before\:rounded-s-lg:first-child:before{content:var(--tw-content);border-start-start-radius:var(--radius-lg);border-end-start-radius:var(--radius-lg)}.first\:before\:rounded-s-none:first-child:before{content:var(--tw-content);border-start-start-radius:0;border-end-start-radius:0}.group-data-\[first\=true\]\/tr\:first\:before\:rounded-ss-lg:is(:where(.group\/tr)[data-first=true] *):first-child:before{content:var(--tw-content);border-start-start-radius:var(--radius-lg)}.group-data-\[first\=true\]\/tr\:first\:before\:rounded-ss-none:is(:where(.group\/tr)[data-first=true] *):first-child:before{content:var(--tw-content);border-start-start-radius:0}.group-data-\[last\=true\]\/tr\:first\:before\:rounded-es-lg:is(:where(.group\/tr)[data-last=true] *):first-child:before{content:var(--tw-content);border-end-start-radius:var(--radius-lg)}.group-data-\[last\=true\]\/tr\:first\:before\:rounded-es-none:is(:where(.group\/tr)[data-last=true] *):first-child:before{content:var(--tw-content);border-end-start-radius:0}.last\:rounded-e-full:last-child{border-start-end-radius:3.40282e38px;border-end-end-radius:3.40282e38px}.last\:rounded-e-large:last-child{border-start-end-radius:var(--heroui-radius-large);border-end-end-radius:var(--heroui-radius-large)}.last\:rounded-e-lg:last-child{border-start-end-radius:var(--radius-lg);border-end-end-radius:var(--radius-lg)}.last\:rounded-e-medium:last-child{border-start-end-radius:var(--heroui-radius-medium);border-end-end-radius:var(--heroui-radius-medium)}.last\:rounded-e-none:last-child{border-start-end-radius:0;border-end-end-radius:0}.last\:rounded-e-small:last-child{border-start-end-radius:var(--heroui-radius-small);border-end-end-radius:var(--heroui-radius-small)}.last\:before\:rounded-e-lg:last-child:before{content:var(--tw-content);border-start-end-radius:var(--radius-lg);border-end-end-radius:var(--radius-lg)}.last\:before\:rounded-e-none:last-child:before{content:var(--tw-content);border-start-end-radius:0;border-end-end-radius:0}.group-data-\[first\=true\]\/tr\:last\:before\:rounded-se-lg:is(:where(.group\/tr)[data-first=true] *):last-child:before{content:var(--tw-content);border-start-end-radius:var(--radius-lg)}.group-data-\[first\=true\]\/tr\:last\:before\:rounded-se-none:is(:where(.group\/tr)[data-first=true] *):last-child:before{content:var(--tw-content);border-start-end-radius:0}.group-data-\[last\=true\]\/tr\:last\:before\:rounded-ee-lg:is(:where(.group\/tr)[data-last=true] *):last-child:before{content:var(--tw-content);border-end-end-radius:var(--radius-lg)}.group-data-\[last\=true\]\/tr\:last\:before\:rounded-ee-none:is(:where(.group\/tr)[data-last=true] *):last-child:before{content:var(--tw-content);border-end-end-radius:0}.first-of-type\:rounded-e-none:first-of-type{border-start-end-radius:0;border-end-end-radius:0}.last-of-type\:rounded-s-none:last-of-type{border-start-start-radius:0;border-end-start-radius:0}.autofill\:bg-transparent:autofill{background-color:#0000}.focus-within\:border-danger:focus-within{border-color:hsl(var(--heroui-danger)/1)}.focus-within\:border-default-400:focus-within{border-color:hsl(var(--heroui-default-400)/1)}.focus-within\:border-default-foreground:focus-within{border-color:hsl(var(--heroui-default-foreground)/1)}.focus-within\:border-primary:focus-within{border-color:hsl(var(--heroui-primary)/1)}.focus-within\:border-secondary:focus-within{border-color:hsl(var(--heroui-secondary)/1)}.focus-within\:border-success:focus-within{border-color:hsl(var(--heroui-success)/1)}.focus-within\:border-warning:focus-within{border-color:hsl(var(--heroui-warning)/1)}.focus-within\:bg-danger-50:focus-within{background-color:hsl(var(--heroui-danger-50)/1)}.focus-within\:bg-primary-50:focus-within{background-color:hsl(var(--heroui-primary-50)/1)}.focus-within\:bg-secondary-50:focus-within{background-color:hsl(var(--heroui-secondary-50)/1)}.focus-within\:bg-success-50:focus-within{background-color:hsl(var(--heroui-success-50)/1)}.focus-within\:bg-warning-50:focus-within{background-color:hsl(var(--heroui-warning-50)/1)}.focus-within\:after\:w-full:focus-within:after{content:var(--tw-content);width:100%}@media(hover:hover){.hover\:-translate-x-0:hover{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-125:hover{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:border-danger:hover{border-color:hsl(var(--heroui-danger)/1)}.hover\:border-default:hover{border-color:hsl(var(--heroui-default)/1)}.hover\:border-default-300:hover{border-color:hsl(var(--heroui-default-300)/1)}.hover\:border-default-400:hover{border-color:hsl(var(--heroui-default-400)/1)}.hover\:border-primary:hover{border-color:hsl(var(--heroui-primary)/1)}.hover\:border-secondary:hover{border-color:hsl(var(--heroui-secondary)/1)}.hover\:border-success:hover{border-color:hsl(var(--heroui-success)/1)}.hover\:border-warning:hover{border-color:hsl(var(--heroui-warning)/1)}.hover\:\!bg-foreground:hover{background-color:hsl(var(--heroui-foreground)/1)!important}.hover\:bg-danger:hover{background-color:hsl(var(--heroui-danger)/1)}.hover\:bg-danger-50:hover{background-color:hsl(var(--heroui-danger-50)/1)}.hover\:bg-default-100:hover{background-color:hsl(var(--heroui-default-100)/1)}.hover\:bg-default-200:hover{background-color:hsl(var(--heroui-default-200)/1)}.hover\:bg-primary-50:hover{background-color:hsl(var(--heroui-primary-50)/1)}.hover\:bg-secondary-50:hover{background-color:hsl(var(--heroui-secondary-50)/1)}.hover\:bg-success-50:hover{background-color:hsl(var(--heroui-success-50)/1)}.hover\:bg-warning-50:hover{background-color:hsl(var(--heroui-warning-50)/1)}.hover\:text-danger-600:hover{color:hsl(var(--heroui-danger-600)/1)}.hover\:text-default-600:hover{color:hsl(var(--heroui-default-600)/1)}.hover\:text-foreground-600:hover{color:hsl(var(--heroui-foreground-600)/1)}.hover\:text-primary-600:hover{color:hsl(var(--heroui-primary-600)/1)}.hover\:text-secondary-600:hover{color:hsl(var(--heroui-secondary-600)/1)}.hover\:text-success-600:hover{color:hsl(var(--heroui-success-600)/1)}.hover\:text-warning-600:hover{color:hsl(var(--heroui-warning-600)/1)}.hover\:underline:hover{text-decoration-line:underline}.hover\:\!opacity-100:hover{opacity:1!important}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-hover:hover{opacity:var(--heroui-hover-opacity)}.group-data-\[invalid\=true\]\:hover\:border-danger:is(:where(.group)[data-invalid=true] *):hover{border-color:hsl(var(--heroui-danger)/1)}.group-data-\[invalid\=true\]\:hover\:bg-danger-100:is(:where(.group)[data-invalid=true] *):hover{background-color:hsl(var(--heroui-danger-100)/1)}.hover\:after\:bg-danger\/20:hover:after{content:var(--tw-content);background-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.hover\:after\:bg-danger\/20:hover:after{background-color:color-mix(in oklab,hsl(var(--heroui-danger)/1)20%,transparent)}}.hover\:after\:bg-foreground\/10:hover:after{content:var(--tw-content);background-color:hsl(var(--heroui-foreground)/1)}@supports (color:color-mix(in lab,red,red)){.hover\:after\:bg-foreground\/10:hover:after{background-color:color-mix(in oklab,hsl(var(--heroui-foreground)/1)10%,transparent)}}.hover\:after\:bg-primary\/20:hover:after{content:var(--tw-content);background-color:hsl(var(--heroui-primary)/1)}@supports (color:color-mix(in lab,red,red)){.hover\:after\:bg-primary\/20:hover:after{background-color:color-mix(in oklab,hsl(var(--heroui-primary)/1)20%,transparent)}}.hover\:after\:bg-secondary\/20:hover:after{content:var(--tw-content);background-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.hover\:after\:bg-secondary\/20:hover:after{background-color:color-mix(in oklab,hsl(var(--heroui-secondary)/1)20%,transparent)}}.hover\:after\:bg-success\/20:hover:after{content:var(--tw-content);background-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.hover\:after\:bg-success\/20:hover:after{background-color:color-mix(in oklab,hsl(var(--heroui-success)/1)20%,transparent)}}.hover\:after\:bg-warning\/20:hover:after{content:var(--tw-content);background-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.hover\:after\:bg-warning\/20:hover:after{background-color:color-mix(in oklab,hsl(var(--heroui-warning)/1)20%,transparent)}}.hover\:after\:opacity-100:hover:after{content:var(--tw-content);opacity:1}.focus-within\:hover\:border-danger:focus-within:hover{border-color:hsl(var(--heroui-danger)/1)}.focus-within\:hover\:border-default-foreground:focus-within:hover{border-color:hsl(var(--heroui-default-foreground)/1)}.focus-within\:hover\:border-primary:focus-within:hover{border-color:hsl(var(--heroui-primary)/1)}.focus-within\:hover\:border-secondary:focus-within:hover{border-color:hsl(var(--heroui-secondary)/1)}.focus-within\:hover\:border-success:focus-within:hover{border-color:hsl(var(--heroui-success)/1)}.focus-within\:hover\:border-warning:focus-within:hover{border-color:hsl(var(--heroui-warning)/1)}.focus-within\:hover\:bg-default-100:focus-within:hover{background-color:hsl(var(--heroui-default-100)/1)}.group-data-\[invalid\=true\]\:focus-within\:hover\:border-danger:is(:where(.group)[data-invalid=true] *):focus-within:hover{border-color:hsl(var(--heroui-danger)/1)}.group-data-\[invalid\=true\]\:focus-within\:hover\:bg-danger-50:is(:where(.group)[data-invalid=true] *):focus-within:hover{background-color:hsl(var(--heroui-danger-50)/1)}}.focus\:bg-danger-400\/50:focus{background-color:hsl(var(--heroui-danger-400)/1)}@supports (color:color-mix(in lab,red,red)){.focus\:bg-danger-400\/50:focus{background-color:color-mix(in oklab,hsl(var(--heroui-danger-400)/1)50%,transparent)}}.focus\:bg-default-400\/50:focus{background-color:hsl(var(--heroui-default-400)/1)}@supports (color:color-mix(in lab,red,red)){.focus\:bg-default-400\/50:focus{background-color:color-mix(in oklab,hsl(var(--heroui-default-400)/1)50%,transparent)}}.focus\:bg-primary-400\/50:focus{background-color:hsl(var(--heroui-primary-400)/1)}@supports (color:color-mix(in lab,red,red)){.focus\:bg-primary-400\/50:focus{background-color:color-mix(in oklab,hsl(var(--heroui-primary-400)/1)50%,transparent)}}.focus\:bg-secondary-400\/50:focus{background-color:hsl(var(--heroui-secondary-400)/1)}@supports (color:color-mix(in lab,red,red)){.focus\:bg-secondary-400\/50:focus{background-color:color-mix(in oklab,hsl(var(--heroui-secondary-400)/1)50%,transparent)}}.focus\:bg-success-400\/50:focus{background-color:hsl(var(--heroui-success-400)/1)}@supports (color:color-mix(in lab,red,red)){.focus\:bg-success-400\/50:focus{background-color:color-mix(in oklab,hsl(var(--heroui-success-400)/1)50%,transparent)}}.focus\:bg-warning-400\/50:focus{background-color:hsl(var(--heroui-warning-400)/1)}@supports (color:color-mix(in lab,red,red)){.focus\:bg-warning-400\/50:focus{background-color:color-mix(in oklab,hsl(var(--heroui-warning-400)/1)50%,transparent)}}.focus\:underline:focus{text-decoration-line:underline}.focus\:shadow-xs:focus{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-focus:focus-visible{outline-color:hsl(var(--heroui-focus)/1)}.active\:bg-default-200:active{background-color:hsl(var(--heroui-default-200)/1)}.active\:bg-default-300:active{background-color:hsl(var(--heroui-default-300)/1)}.active\:underline:active{text-decoration-line:underline}.active\:\!opacity-70:active{opacity:.7!important}.active\:opacity-disabled:active{opacity:var(--heroui-disabled-opacity)}.disabled\:cursor-default:disabled{cursor:default}.has-\[\:disabled\]\:opacity-60:has(:disabled){opacity:.6}.aria-expanded\:scale-\[0\.97\][aria-expanded=true]{scale:.97}.aria-expanded\:opacity-70[aria-expanded=true]{opacity:.7}.data-\[active\=true\]\:scale-100[data-active=true]{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\[active\=true\]\:scale-110[data-active=true]{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\[active\=true\]\:border-danger[data-active=true]{border-color:hsl(var(--heroui-danger)/1)}.data-\[active\=true\]\:border-danger-400[data-active=true]{border-color:hsl(var(--heroui-danger-400)/1)}.data-\[active\=true\]\:border-default-300[data-active=true]{border-color:hsl(var(--heroui-default-300)/1)}.data-\[active\=true\]\:border-default-400[data-active=true]{border-color:hsl(var(--heroui-default-400)/1)}.data-\[active\=true\]\:border-foreground[data-active=true]{border-color:hsl(var(--heroui-foreground)/1)}.data-\[active\=true\]\:border-primary[data-active=true]{border-color:hsl(var(--heroui-primary)/1)}.data-\[active\=true\]\:border-secondary[data-active=true]{border-color:hsl(var(--heroui-secondary)/1)}.data-\[active\=true\]\:border-success[data-active=true]{border-color:hsl(var(--heroui-success)/1)}.data-\[active\=true\]\:border-warning[data-active=true]{border-color:hsl(var(--heroui-warning)/1)}.data-\[active\=true\]\:bg-danger[data-active=true]{background-color:hsl(var(--heroui-danger)/1)}.data-\[active\=true\]\:bg-danger-100[data-active=true]{background-color:hsl(var(--heroui-danger-100)/1)}.data-\[active\=true\]\:bg-danger-200[data-active=true]{background-color:hsl(var(--heroui-danger-200)/1)}.data-\[active\=true\]\:bg-default-200[data-active=true]{background-color:hsl(var(--heroui-default-200)/1)}.data-\[active\=true\]\:bg-default-400[data-active=true]{background-color:hsl(var(--heroui-default-400)/1)}.data-\[active\=true\]\:bg-primary[data-active=true]{background-color:hsl(var(--heroui-primary)/1)}.data-\[active\=true\]\:bg-primary-200[data-active=true]{background-color:hsl(var(--heroui-primary-200)/1)}.data-\[active\=true\]\:bg-secondary[data-active=true]{background-color:hsl(var(--heroui-secondary)/1)}.data-\[active\=true\]\:bg-secondary-200[data-active=true]{background-color:hsl(var(--heroui-secondary-200)/1)}.data-\[active\=true\]\:bg-success[data-active=true]{background-color:hsl(var(--heroui-success)/1)}.data-\[active\=true\]\:bg-success-200[data-active=true]{background-color:hsl(var(--heroui-success-200)/1)}.data-\[active\=true\]\:bg-warning[data-active=true]{background-color:hsl(var(--heroui-warning)/1)}.data-\[active\=true\]\:bg-warning-200[data-active=true]{background-color:hsl(var(--heroui-warning-200)/1)}.data-\[active\=true\]\:font-semibold[data-active=true]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.data-\[active\=true\]\:text-danger-foreground[data-active=true]{color:hsl(var(--heroui-danger-foreground)/1)}.data-\[active\=true\]\:text-default-foreground[data-active=true]{color:hsl(var(--heroui-default-foreground)/1)}.data-\[active\=true\]\:text-primary-foreground[data-active=true]{color:hsl(var(--heroui-primary-foreground)/1)}.data-\[active\=true\]\:text-secondary-foreground[data-active=true]{color:hsl(var(--heroui-secondary-foreground)/1)}.data-\[active\=true\]\:text-success-foreground[data-active=true]{color:hsl(var(--heroui-success-foreground)/1)}.data-\[active\=true\]\:text-warning-foreground[data-active=true]{color:hsl(var(--heroui-warning-foreground)/1)}.data-\[active\=true\]\:shadow-md[data-active=true]{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[active\=true\]\:shadow-danger\/40[data-active=true]{--tw-shadow-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[active\=true\]\:shadow-danger\/40[data-active=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-danger)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[active\=true\]\:shadow-default\/50[data-active=true]{--tw-shadow-color:hsl(var(--heroui-default)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[active\=true\]\:shadow-default\/50[data-active=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-default)/1)50%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[active\=true\]\:shadow-primary\/40[data-active=true]{--tw-shadow-color:hsl(var(--heroui-primary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[active\=true\]\:shadow-primary\/40[data-active=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-primary)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[active\=true\]\:shadow-secondary\/40[data-active=true]{--tw-shadow-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[active\=true\]\:shadow-secondary\/40[data-active=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-secondary)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[active\=true\]\:shadow-success\/40[data-active=true]{--tw-shadow-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[active\=true\]\:shadow-success\/40[data-active=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-success)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[active\=true\]\:shadow-warning\/40[data-active=true]{--tw-shadow-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[active\=true\]\:shadow-warning\/40[data-active=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-warning)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[active\=true\]\:after\:w-full[data-active=true]:after{content:var(--tw-content);width:100%}.data-\[active\=true\]\:after\:bg-danger-400[data-active=true]:after{content:var(--tw-content);background-color:hsl(var(--heroui-danger-400)/1)}.data-\[animation\=exiting\]\:opacity-0[data-animation=exiting]{opacity:0}.data-\[arrow\=true\]\:before\:block[data-arrow=true]:before{content:var(--tw-content);display:block}.data-\[before\=true\]\:rotate-180[data-before=true]{rotate:180deg}.data-\[bottom-scroll\=true\]\:\[mask-image\:linear-gradient\(180deg\,\#000_calc\(100\%_-_var\(--scroll-shadow-size\)\)\,transparent\)\][data-bottom-scroll=true]{-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - var(--scroll-shadow-size)),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - var(--scroll-shadow-size)),transparent)}.data-\[direction\=ascending\]\:rotate-180[data-direction=ascending]{rotate:180deg}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:cursor-default[data-disabled=true]{cursor:default}.data-\[disabled\=true\]\:cursor-not-allowed[data-disabled=true]{cursor:not-allowed}.data-\[disabled\=true\]\:text-default-300[data-disabled=true]{color:hsl(var(--heroui-default-300)/1)}.data-\[disabled\=true\]\:opacity-30[data-disabled=true]{opacity:.3}.data-\[disabled\=true\]\:transition-none[data-disabled=true]{transition-property:none}.data-\[dragging\=true\]\:cursor-grabbing[data-dragging=true]{cursor:grabbing}.data-\[dragging\=true\]\:after\:scale-80[data-dragging=true]:after{content:var(--tw-content);--tw-scale-x:.8;--tw-scale-y:.8;--tw-scale-z:.8;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\[dragging\=true\]\:after\:scale-100[data-dragging=true]:after{content:var(--tw-content);--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\[editable\=true\]\:text-danger[data-editable=true]{color:hsl(var(--heroui-danger)/1)}.data-\[editable\=true\]\:text-foreground[data-editable=true]{color:hsl(var(--heroui-foreground)/1)}.data-\[editable\=true\]\:text-primary[data-editable=true]{color:hsl(var(--heroui-primary)/1)}.data-\[editable\=true\]\:text-secondary[data-editable=true]{color:hsl(var(--heroui-secondary)/1)}.data-\[editable\=true\]\:text-success-600[data-editable=true]{color:hsl(var(--heroui-success-600)/1)}.data-\[editable\=true\]\:text-warning-600[data-editable=true]{color:hsl(var(--heroui-warning-600)/1)}.data-\[editable\=true\]\:focus\:text-danger[data-editable=true]:focus{color:hsl(var(--heroui-danger)/1)}.data-\[editable\=true\]\:focus\:text-default-foreground[data-editable=true]:focus{color:hsl(var(--heroui-default-foreground)/1)}.data-\[editable\=true\]\:focus\:text-primary[data-editable=true]:focus{color:hsl(var(--heroui-primary)/1)}.data-\[editable\=true\]\:focus\:text-secondary[data-editable=true]:focus{color:hsl(var(--heroui-secondary)/1)}.data-\[editable\=true\]\:focus\:text-success[data-editable=true]:focus{color:hsl(var(--heroui-success)/1)}.data-\[editable\=true\]\:focus\:text-success-600[data-editable=true]:focus{color:hsl(var(--heroui-success-600)/1)}.data-\[editable\=true\]\:focus\:text-warning[data-editable=true]:focus{color:hsl(var(--heroui-warning)/1)}.data-\[editable\=true\]\:focus\:text-warning-600[data-editable=true]:focus{color:hsl(var(--heroui-warning-600)/1)}.data-\[fill-end\=true\]\:border-e-danger[data-fill-end=true]{border-inline-end-color:hsl(var(--heroui-danger)/1)}.data-\[fill-end\=true\]\:border-e-foreground[data-fill-end=true]{border-inline-end-color:hsl(var(--heroui-foreground)/1)}.data-\[fill-end\=true\]\:border-e-primary[data-fill-end=true]{border-inline-end-color:hsl(var(--heroui-primary)/1)}.data-\[fill-end\=true\]\:border-e-secondary[data-fill-end=true]{border-inline-end-color:hsl(var(--heroui-secondary)/1)}.data-\[fill-end\=true\]\:border-e-success[data-fill-end=true]{border-inline-end-color:hsl(var(--heroui-success)/1)}.data-\[fill-end\=true\]\:border-e-warning[data-fill-end=true]{border-inline-end-color:hsl(var(--heroui-warning)/1)}.data-\[fill-end\=true\]\:border-t-danger[data-fill-end=true]{border-top-color:hsl(var(--heroui-danger)/1)}.data-\[fill-end\=true\]\:border-t-foreground[data-fill-end=true]{border-top-color:hsl(var(--heroui-foreground)/1)}.data-\[fill-end\=true\]\:border-t-primary[data-fill-end=true]{border-top-color:hsl(var(--heroui-primary)/1)}.data-\[fill-end\=true\]\:border-t-secondary[data-fill-end=true]{border-top-color:hsl(var(--heroui-secondary)/1)}.data-\[fill-end\=true\]\:border-t-success[data-fill-end=true]{border-top-color:hsl(var(--heroui-success)/1)}.data-\[fill-end\=true\]\:border-t-warning[data-fill-end=true]{border-top-color:hsl(var(--heroui-warning)/1)}.data-\[fill-start\=true\]\:border-s-danger[data-fill-start=true]{border-inline-start-color:hsl(var(--heroui-danger)/1)}.data-\[fill-start\=true\]\:border-s-foreground[data-fill-start=true]{border-inline-start-color:hsl(var(--heroui-foreground)/1)}.data-\[fill-start\=true\]\:border-s-primary[data-fill-start=true]{border-inline-start-color:hsl(var(--heroui-primary)/1)}.data-\[fill-start\=true\]\:border-s-secondary[data-fill-start=true]{border-inline-start-color:hsl(var(--heroui-secondary)/1)}.data-\[fill-start\=true\]\:border-s-success[data-fill-start=true]{border-inline-start-color:hsl(var(--heroui-success)/1)}.data-\[fill-start\=true\]\:border-s-warning[data-fill-start=true]{border-inline-start-color:hsl(var(--heroui-warning)/1)}.data-\[fill-start\=true\]\:border-b-danger[data-fill-start=true]{border-bottom-color:hsl(var(--heroui-danger)/1)}.data-\[fill-start\=true\]\:border-b-foreground[data-fill-start=true]{border-bottom-color:hsl(var(--heroui-foreground)/1)}.data-\[fill-start\=true\]\:border-b-primary[data-fill-start=true]{border-bottom-color:hsl(var(--heroui-primary)/1)}.data-\[fill-start\=true\]\:border-b-secondary[data-fill-start=true]{border-bottom-color:hsl(var(--heroui-secondary)/1)}.data-\[fill-start\=true\]\:border-b-success[data-fill-start=true]{border-bottom-color:hsl(var(--heroui-success)/1)}.data-\[fill-start\=true\]\:border-b-warning[data-fill-start=true]{border-bottom-color:hsl(var(--heroui-warning)/1)}.data-\[focus-visible\]\:outline-danger-foreground[data-focus-visible]{outline-color:hsl(var(--heroui-danger-foreground)/1)}.data-\[focus-visible\]\:outline-default-foreground[data-focus-visible]{outline-color:hsl(var(--heroui-default-foreground)/1)}.data-\[focus-visible\]\:outline-primary-foreground[data-focus-visible]{outline-color:hsl(var(--heroui-primary-foreground)/1)}.data-\[focus-visible\]\:outline-secondary-foreground[data-focus-visible]{outline-color:hsl(var(--heroui-secondary-foreground)/1)}.data-\[focus-visible\]\:outline-success-foreground[data-focus-visible]{outline-color:hsl(var(--heroui-success-foreground)/1)}.data-\[focus-visible\]\:outline-warning-foreground[data-focus-visible]{outline-color:hsl(var(--heroui-warning-foreground)/1)}.data-\[focus-visible\=true\]\:z-10[data-focus-visible=true]{z-index:10}.data-\[focus-visible\=true\]\:-translate-x-3[data-focus-visible=true]{--tw-translate-x:calc(var(--spacing)*-3);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[focus-visible\=true\]\:outline-2[data-focus-visible=true]{outline-style:var(--tw-outline-style);outline-width:2px}.data-\[focus-visible\=true\]\:outline-offset-2[data-focus-visible=true]{outline-offset:2px}.data-\[focus-visible\=true\]\:outline-focus[data-focus-visible=true]{outline-color:hsl(var(--heroui-focus)/1)}.data-\[focus\=true\]\:border-danger[data-focus=true]{border-color:hsl(var(--heroui-danger)/1)}.data-\[focus\=true\]\:border-default-400[data-focus=true]{border-color:hsl(var(--heroui-default-400)/1)}.data-\[focus\=true\]\:border-default-foreground[data-focus=true]{border-color:hsl(var(--heroui-default-foreground)/1)}.data-\[focus\=true\]\:border-primary[data-focus=true]{border-color:hsl(var(--heroui-primary)/1)}.data-\[focus\=true\]\:border-secondary[data-focus=true]{border-color:hsl(var(--heroui-secondary)/1)}.data-\[focus\=true\]\:border-success[data-focus=true]{border-color:hsl(var(--heroui-success)/1)}.data-\[focus\=true\]\:border-warning[data-focus=true]{border-color:hsl(var(--heroui-warning)/1)}.data-\[focus\=true\]\:after\:w-full[data-focus=true]:after{content:var(--tw-content);width:100%}.data-\[focused\=true\]\:z-10[data-focused=true]{z-index:10}.data-\[has-end-content\=true\]\:pe-1\.5[data-has-end-content=true]{padding-inline-end:calc(var(--spacing)*1.5)}.data-\[has-helper\=true\]\:items-start[data-has-helper=true]{align-items:flex-start}.data-\[has-helper\=true\]\:pb-\[calc\(var\(--heroui-font-size-tiny\)_\+8px\)\][data-has-helper=true],.data-\[has-helper\=true\]\:pb-\[calc\(var\(--heroui-font-size-tiny\)_\+_8px\)\][data-has-helper=true]{padding-bottom:calc(var(--heroui-font-size-tiny) + 8px)}.data-\[has-label\=true\]\:mt-\[calc\(var\(--heroui-font-size-small\)_\+_8px\)\][data-has-label=true]{margin-top:calc(var(--heroui-font-size-small) + 8px)}.data-\[has-label\=true\]\:mt-\[calc\(var\(--heroui-font-size-small\)_\+_10px\)\][data-has-label=true]{margin-top:calc(var(--heroui-font-size-small) + 10px)}.data-\[has-label\=true\]\:mt-\[calc\(var\(--heroui-font-size-small\)_\+_12px\)\][data-has-label=true]{margin-top:calc(var(--heroui-font-size-small) + 12px)}.data-\[has-multiple-rows\=true\]\:rounded-large[data-has-multiple-rows=true]{border-radius:var(--heroui-radius-large)}.data-\[has-start-content\=true\]\:ps-1\.5[data-has-start-content=true]{padding-inline-start:calc(var(--spacing)*1.5)}.data-\[has-title\=true\]\:pt-1[data-has-title=true]{padding-top:calc(var(--spacing)*1)}.data-\[has-value\=true\]\:text-default-foreground[data-has-value=true]{color:hsl(var(--heroui-default-foreground)/1)}.data-\[hidden\=true\]\:hidden[data-hidden=true]{display:none}.data-\[hide-scroll\=true\]\:scrollbar-hide[data-hide-scroll=true]{-ms-overflow-style:none;scrollbar-width:none}.data-\[hide-scroll\=true\]\:scrollbar-hide[data-hide-scroll=true]::-webkit-scrollbar{display:none}.data-\[hover\]\:bg-danger-50[data-hover]{background-color:hsl(var(--heroui-danger-50)/1)}.data-\[hover\]\:bg-danger-200[data-hover]{background-color:hsl(var(--heroui-danger-200)/1)}.data-\[hover\]\:bg-default-100[data-hover]{background-color:hsl(var(--heroui-default-100)/1)}.data-\[hover\]\:bg-primary-50[data-hover]{background-color:hsl(var(--heroui-primary-50)/1)}.data-\[hover\]\:bg-primary-200[data-hover]{background-color:hsl(var(--heroui-primary-200)/1)}.data-\[hover\]\:bg-secondary-50[data-hover]{background-color:hsl(var(--heroui-secondary-50)/1)}.data-\[hover\]\:bg-secondary-200[data-hover]{background-color:hsl(var(--heroui-secondary-200)/1)}.data-\[hover\]\:bg-success-50[data-hover]{background-color:hsl(var(--heroui-success-50)/1)}.data-\[hover\]\:bg-success-200[data-hover]{background-color:hsl(var(--heroui-success-200)/1)}.data-\[hover\]\:bg-warning-100[data-hover]{background-color:hsl(var(--heroui-warning-100)/1)}.data-\[hover\]\:bg-warning-200[data-hover]{background-color:hsl(var(--heroui-warning-200)/1)}.data-\[hover-unselected\=true\]\:opacity-disabled[data-hover-unselected=true]{opacity:var(--heroui-disabled-opacity)}.data-\[hover\=true\]\:-translate-x-3[data-hover=true]{--tw-translate-x:calc(var(--spacing)*-3);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[hover\=true\]\:translate-x-0[data-hover=true]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[hover\=true\]\:border-danger[data-hover=true]{border-color:hsl(var(--heroui-danger)/1)}.data-\[hover\=true\]\:border-default[data-hover=true]{border-color:hsl(var(--heroui-default)/1)}.data-\[hover\=true\]\:border-default-400[data-hover=true]{border-color:hsl(var(--heroui-default-400)/1)}.data-\[hover\=true\]\:border-primary[data-hover=true]{border-color:hsl(var(--heroui-primary)/1)}.data-\[hover\=true\]\:border-secondary[data-hover=true]{border-color:hsl(var(--heroui-secondary)/1)}.data-\[hover\=true\]\:border-success[data-hover=true]{border-color:hsl(var(--heroui-success)/1)}.data-\[hover\=true\]\:border-warning[data-hover=true]{border-color:hsl(var(--heroui-warning)/1)}.data-\[hover\=true\]\:\!bg-danger[data-hover=true]{background-color:hsl(var(--heroui-danger)/1)!important}.data-\[hover\=true\]\:\!bg-danger-100[data-hover=true]{background-color:hsl(var(--heroui-danger-100)/1)!important}.data-\[hover\=true\]\:\!bg-default[data-hover=true]{background-color:hsl(var(--heroui-default)/1)!important}.data-\[hover\=true\]\:\!bg-primary[data-hover=true]{background-color:hsl(var(--heroui-primary)/1)!important}.data-\[hover\=true\]\:\!bg-secondary[data-hover=true]{background-color:hsl(var(--heroui-secondary)/1)!important}.data-\[hover\=true\]\:\!bg-success[data-hover=true]{background-color:hsl(var(--heroui-success)/1)!important}.data-\[hover\=true\]\:\!bg-warning[data-hover=true]{background-color:hsl(var(--heroui-warning)/1)!important}.data-\[hover\=true\]\:bg-content2[data-hover=true]{background-color:hsl(var(--heroui-content2)/1)}.data-\[hover\=true\]\:bg-danger[data-hover=true]{background-color:hsl(var(--heroui-danger)/1)}.data-\[hover\=true\]\:bg-danger-50[data-hover=true]{background-color:hsl(var(--heroui-danger-50)/1)}.data-\[hover\=true\]\:bg-danger-100[data-hover=true]{background-color:hsl(var(--heroui-danger-100)/1)}.data-\[hover\=true\]\:bg-danger\/20[data-hover=true]{background-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:bg-danger\/20[data-hover=true]{background-color:color-mix(in oklab,hsl(var(--heroui-danger)/1)20%,transparent)}}.data-\[hover\=true\]\:bg-default[data-hover=true]{background-color:hsl(var(--heroui-default)/1)}.data-\[hover\=true\]\:bg-default-100[data-hover=true]{background-color:hsl(var(--heroui-default-100)/1)}.data-\[hover\=true\]\:bg-default-200[data-hover=true]{background-color:hsl(var(--heroui-default-200)/1)}.data-\[hover\=true\]\:bg-default\/40[data-hover=true]{background-color:hsl(var(--heroui-default)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:bg-default\/40[data-hover=true]{background-color:color-mix(in oklab,hsl(var(--heroui-default)/1)40%,transparent)}}.data-\[hover\=true\]\:bg-foreground-200[data-hover=true]{background-color:hsl(var(--heroui-foreground-200)/1)}.data-\[hover\=true\]\:bg-primary[data-hover=true]{background-color:hsl(var(--heroui-primary)/1)}.data-\[hover\=true\]\:bg-primary-50[data-hover=true]{background-color:hsl(var(--heroui-primary-50)/1)}.data-\[hover\=true\]\:bg-primary\/20[data-hover=true]{background-color:hsl(var(--heroui-primary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:bg-primary\/20[data-hover=true]{background-color:color-mix(in oklab,hsl(var(--heroui-primary)/1)20%,transparent)}}.data-\[hover\=true\]\:bg-secondary[data-hover=true]{background-color:hsl(var(--heroui-secondary)/1)}.data-\[hover\=true\]\:bg-secondary-50[data-hover=true]{background-color:hsl(var(--heroui-secondary-50)/1)}.data-\[hover\=true\]\:bg-secondary\/20[data-hover=true]{background-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:bg-secondary\/20[data-hover=true]{background-color:color-mix(in oklab,hsl(var(--heroui-secondary)/1)20%,transparent)}}.data-\[hover\=true\]\:bg-success[data-hover=true]{background-color:hsl(var(--heroui-success)/1)}.data-\[hover\=true\]\:bg-success-50[data-hover=true]{background-color:hsl(var(--heroui-success-50)/1)}.data-\[hover\=true\]\:bg-success-100[data-hover=true]{background-color:hsl(var(--heroui-success-100)/1)}.data-\[hover\=true\]\:bg-success\/20[data-hover=true]{background-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:bg-success\/20[data-hover=true]{background-color:color-mix(in oklab,hsl(var(--heroui-success)/1)20%,transparent)}}.data-\[hover\=true\]\:bg-transparent[data-hover=true]{background-color:#0000}.data-\[hover\=true\]\:bg-warning[data-hover=true]{background-color:hsl(var(--heroui-warning)/1)}.data-\[hover\=true\]\:bg-warning-50[data-hover=true]{background-color:hsl(var(--heroui-warning-50)/1)}.data-\[hover\=true\]\:bg-warning-100[data-hover=true]{background-color:hsl(var(--heroui-warning-100)/1)}.data-\[hover\=true\]\:bg-warning\/20[data-hover=true]{background-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:bg-warning\/20[data-hover=true]{background-color:color-mix(in oklab,hsl(var(--heroui-warning)/1)20%,transparent)}}.data-\[hover\=true\]\:\!text-danger-foreground[data-hover=true]{color:hsl(var(--heroui-danger-foreground)/1)!important}.data-\[hover\=true\]\:\!text-primary-foreground[data-hover=true]{color:hsl(var(--heroui-primary-foreground)/1)!important}.data-\[hover\=true\]\:\!text-secondary-foreground[data-hover=true]{color:hsl(var(--heroui-secondary-foreground)/1)!important}.data-\[hover\=true\]\:\!text-success-foreground[data-hover=true]{color:hsl(var(--heroui-success-foreground)/1)!important}.data-\[hover\=true\]\:\!text-warning-foreground[data-hover=true]{color:hsl(var(--heroui-warning-foreground)/1)!important}.data-\[hover\=true\]\:text-danger[data-hover=true]{color:hsl(var(--heroui-danger)/1)}.data-\[hover\=true\]\:text-danger-500[data-hover=true]{color:hsl(var(--heroui-danger-500)/1)}.data-\[hover\=true\]\:text-danger-foreground[data-hover=true]{color:hsl(var(--heroui-danger-foreground)/1)}.data-\[hover\=true\]\:text-default-500[data-hover=true]{color:hsl(var(--heroui-default-500)/1)}.data-\[hover\=true\]\:text-default-foreground[data-hover=true]{color:hsl(var(--heroui-default-foreground)/1)}.data-\[hover\=true\]\:text-foreground-400[data-hover=true]{color:hsl(var(--heroui-foreground-400)/1)}.data-\[hover\=true\]\:text-foreground-600[data-hover=true]{color:hsl(var(--heroui-foreground-600)/1)}.data-\[hover\=true\]\:text-primary[data-hover=true]{color:hsl(var(--heroui-primary)/1)}.data-\[hover\=true\]\:text-primary-400[data-hover=true]{color:hsl(var(--heroui-primary-400)/1)}.data-\[hover\=true\]\:text-primary-foreground[data-hover=true]{color:hsl(var(--heroui-primary-foreground)/1)}.data-\[hover\=true\]\:text-secondary[data-hover=true]{color:hsl(var(--heroui-secondary)/1)}.data-\[hover\=true\]\:text-secondary-400[data-hover=true]{color:hsl(var(--heroui-secondary-400)/1)}.data-\[hover\=true\]\:text-secondary-foreground[data-hover=true]{color:hsl(var(--heroui-secondary-foreground)/1)}.data-\[hover\=true\]\:text-success[data-hover=true]{color:hsl(var(--heroui-success)/1)}.data-\[hover\=true\]\:text-success-600[data-hover=true]{color:hsl(var(--heroui-success-600)/1)}.data-\[hover\=true\]\:text-success-foreground[data-hover=true]{color:hsl(var(--heroui-success-foreground)/1)}.data-\[hover\=true\]\:text-warning[data-hover=true]{color:hsl(var(--heroui-warning)/1)}.data-\[hover\=true\]\:text-warning-600[data-hover=true]{color:hsl(var(--heroui-warning-600)/1)}.data-\[hover\=true\]\:text-warning-foreground[data-hover=true]{color:hsl(var(--heroui-warning-foreground)/1)}.data-\[hover\=true\]\:opacity-70[data-hover=true]{opacity:.7}.data-\[hover\=true\]\:opacity-hover[data-hover=true]{opacity:var(--heroui-hover-opacity)}.data-\[hover\=true\]\:shadow-lg[data-hover=true]{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[hover\=true\]\:shadow-danger\/30[data-hover=true]{--tw-shadow-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:shadow-danger\/30[data-hover=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-danger)/1)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[hover\=true\]\:shadow-default\/50[data-hover=true]{--tw-shadow-color:hsl(var(--heroui-default)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:shadow-default\/50[data-hover=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-default)/1)50%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[hover\=true\]\:shadow-primary\/30[data-hover=true]{--tw-shadow-color:hsl(var(--heroui-primary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:shadow-primary\/30[data-hover=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-primary)/1)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[hover\=true\]\:shadow-secondary\/30[data-hover=true]{--tw-shadow-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:shadow-secondary\/30[data-hover=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-secondary)/1)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[hover\=true\]\:shadow-success\/30[data-hover=true]{--tw-shadow-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:shadow-success\/30[data-hover=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-success)/1)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[hover\=true\]\:shadow-warning\/30[data-hover=true]{--tw-shadow-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:shadow-warning\/30[data-hover=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-warning)/1)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[hover\=true\]\:transition-colors[data-hover=true]{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.data-\[in-range\=false\]\:bg-default-200[data-in-range=false]{background-color:hsl(var(--heroui-default-200)/1)}.data-\[in-range\=true\]\:bg-background\/50[data-in-range=true]{background-color:hsl(var(--heroui-background)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[in-range\=true\]\:bg-background\/50[data-in-range=true]{background-color:color-mix(in oklab,hsl(var(--heroui-background)/1)50%,transparent)}}.data-\[in-range\=true\]\:bg-danger[data-in-range=true]{background-color:hsl(var(--heroui-danger)/1)}.data-\[in-range\=true\]\:bg-foreground[data-in-range=true]{background-color:hsl(var(--heroui-foreground)/1)}.data-\[in-range\=true\]\:bg-primary[data-in-range=true]{background-color:hsl(var(--heroui-primary)/1)}.data-\[in-range\=true\]\:bg-secondary[data-in-range=true]{background-color:hsl(var(--heroui-secondary)/1)}.data-\[in-range\=true\]\:bg-success[data-in-range=true]{background-color:hsl(var(--heroui-success)/1)}.data-\[in-range\=true\]\:bg-warning[data-in-range=true]{background-color:hsl(var(--heroui-warning)/1)}.data-\[in-range\=true\]\:opacity-100[data-in-range=true]{opacity:1}.data-\[inert\=true\]\:hidden[data-inert=true]{display:none}.data-\[invalid\=true\]\:text-danger-300[data-invalid=true]{color:hsl(var(--heroui-danger-300)/1)}.data-\[invalid\=true\]\:focus\:bg-danger-400\/50[data-invalid=true]:focus{background-color:hsl(var(--heroui-danger-400)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[invalid\=true\]\:focus\:bg-danger-400\/50[data-invalid=true]:focus{background-color:color-mix(in oklab,hsl(var(--heroui-danger-400)/1)50%,transparent)}}.data-\[invalid\=true\]\:data-\[editable\=true\]\:text-danger[data-invalid=true][data-editable=true],.data-\[invalid\=true\]\:data-\[editable\=true\]\:focus\:text-danger[data-invalid=true][data-editable=true]:focus{color:hsl(var(--heroui-danger)/1)}.data-\[invisible\=true\]\:scale-0[data-invisible=true]{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\[invisible\=true\]\:opacity-0[data-invisible=true]{opacity:0}.data-\[justify\=center\]\:justify-center[data-justify=center]{justify-content:center}.data-\[justify\=end\]\:flex-grow[data-justify=end]{flex-grow:1}.data-\[justify\=end\]\:basis-0[data-justify=end]{flex-basis:calc(var(--spacing)*0)}.data-\[justify\=end\]\:justify-end[data-justify=end]{justify-content:flex-end}.data-\[justify\=start\]\:flex-grow[data-justify=start]{flex-grow:1}.data-\[justify\=start\]\:basis-0[data-justify=start]{flex-basis:calc(var(--spacing)*0)}.data-\[justify\=start\]\:justify-start[data-justify=start]{justify-content:flex-start}.data-\[left-right-scroll\=true\]\:\[mask-image\:linear-gradient\(to_right\,\#000\,\#000\,transparent_0\,\#000_var\(--scroll-shadow-size\)\,\#000_calc\(100\%_-_var\(--scroll-shadow-size\)\)\,transparent\)\][data-left-right-scroll=true]{-webkit-mask-image:linear-gradient(to right,#000,#000,transparent 0,#000 var(--scroll-shadow-size),#000 calc(100% - var(--scroll-shadow-size)),transparent);mask-image:linear-gradient(to right,#000,#000,transparent 0,#000 var(--scroll-shadow-size),#000 calc(100% - var(--scroll-shadow-size)),transparent)}.data-\[left-scroll\=true\]\:\[mask-image\:linear-gradient\(270deg\,\#000_calc\(100\%_-_var\(--scroll-shadow-size\)\)\,transparent\)\][data-left-scroll=true]{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - var(--scroll-shadow-size)),transparent);mask-image:linear-gradient(270deg,#000 calc(100% - var(--scroll-shadow-size)),transparent)}.data-\[loaded\=true\]\:pointer-events-auto[data-loaded=true]{pointer-events:auto}.data-\[loaded\=true\]\:overflow-visible[data-loaded=true]{overflow:visible}.data-\[loaded\=true\]\:\!bg-transparent[data-loaded=true]{background-color:#0000!important}.data-\[loaded\=true\]\:opacity-100[data-loaded=true]{opacity:1}.data-\[loaded\=true\]\:before\:-z-10[data-loaded=true]:before{content:var(--tw-content);z-index:-10}.data-\[loaded\=true\]\:before\:animate-none[data-loaded=true]:before{content:var(--tw-content);animation:none}.data-\[loaded\=true\]\:before\:opacity-0[data-loaded=true]:before,.data-\[loaded\=true\]\:after\:opacity-0[data-loaded=true]:after{content:var(--tw-content);opacity:0}.data-\[menu-open\=true\]\:border-none[data-menu-open=true]{--tw-border-style:none;border-style:none}.data-\[menu-open\=true\]\:backdrop-blur-xl[data-menu-open=true]{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.data-\[moving\]\:opacity-100[data-moving]{opacity:1}.data-\[moving\=true\]\:transition-transform[data-moving=true]{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.data-\[open\=true\]\:block[data-open=true]{display:block}.data-\[open\=true\]\:flex[data-open=true]{display:flex}.data-\[open\=true\]\:-rotate-90[data-open=true]{rotate:-90deg}.data-\[open\=true\]\:rotate-180[data-open=true]{rotate:180deg}.data-\[open\=true\]\:border-danger[data-open=true]{border-color:hsl(var(--heroui-danger)/1)}.data-\[open\=true\]\:border-default-400[data-open=true]{border-color:hsl(var(--heroui-default-400)/1)}.data-\[open\=true\]\:border-default-foreground[data-open=true]{border-color:hsl(var(--heroui-default-foreground)/1)}.data-\[open\=true\]\:border-primary[data-open=true]{border-color:hsl(var(--heroui-primary)/1)}.data-\[open\=true\]\:border-secondary[data-open=true]{border-color:hsl(var(--heroui-secondary)/1)}.data-\[open\=true\]\:border-success[data-open=true]{border-color:hsl(var(--heroui-success)/1)}.data-\[open\=true\]\:border-warning[data-open=true]{border-color:hsl(var(--heroui-warning)/1)}.data-\[open\=true\]\:after\:w-full[data-open=true]:after{content:var(--tw-content);width:100%}.data-\[orientation\=horizontal\]\:flex-row[data-orientation=horizontal]{flex-direction:row}.data-\[outside-month\=true\]\:before\:hidden[data-outside-month=true]:before{content:var(--tw-content);display:none}.data-\[disabled\=true\]\:data-\[outside-month\=true\]\:opacity-0[data-disabled=true][data-outside-month=true]{opacity:0}.data-\[editable\=true\]\:data-\[placeholder\=true\]\:text-danger-300[data-editable=true][data-placeholder=true]{color:hsl(var(--heroui-danger-300)/1)}.data-\[editable\=true\]\:data-\[placeholder\=true\]\:text-foreground-500[data-editable=true][data-placeholder=true]{color:hsl(var(--heroui-foreground-500)/1)}.data-\[editable\=true\]\:data-\[placeholder\=true\]\:text-primary-300[data-editable=true][data-placeholder=true]{color:hsl(var(--heroui-primary-300)/1)}.data-\[editable\=true\]\:data-\[placeholder\=true\]\:text-secondary-300[data-editable=true][data-placeholder=true]{color:hsl(var(--heroui-secondary-300)/1)}.data-\[editable\=true\]\:data-\[placeholder\=true\]\:text-success-400[data-editable=true][data-placeholder=true]{color:hsl(var(--heroui-success-400)/1)}.data-\[editable\=true\]\:data-\[placeholder\=true\]\:text-warning-400[data-editable=true][data-placeholder=true]{color:hsl(var(--heroui-warning-400)/1)}.data-\[placement\=bottom\]\:before\:-top-\[calc\(theme\(spacing\.5\)\/4_-_1\.5px\)\][data-placement=bottom]:before{content:var(--tw-content);top:calc(1.5px - .3125rem)}.data-\[placement\=bottom\]\:before\:left-1\/2[data-placement=bottom]:before{content:var(--tw-content);left:50%}.data-\[placement\=bottom\]\:before\:-translate-x-1\/2[data-placement=bottom]:before{content:var(--tw-content);--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[placement\=bottom-center\]\:fixed[data-placement=bottom-center]{position:fixed}.data-\[placement\=bottom-center\]\:right-0[data-placement=bottom-center]{right:calc(var(--spacing)*0)}.data-\[placement\=bottom-center\]\:bottom-0[data-placement=bottom-center]{bottom:calc(var(--spacing)*0)}.data-\[placement\=bottom-center\]\:left-0[data-placement=bottom-center]{left:calc(var(--spacing)*0)}.data-\[placement\=bottom-center\]\:left-1\/2[data-placement=bottom-center]{left:50%}.data-\[placement\=bottom-center\]\:flex[data-placement=bottom-center]{display:flex}.data-\[placement\=bottom-center\]\:-translate-x-1\/2[data-placement=bottom-center]{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[placement\=bottom-center\]\:flex-col[data-placement=bottom-center]{flex-direction:column}.data-\[placement\=bottom-center\]\:before\:top-\[calc\(-1\*var\(--top-extension\,16px\)\)\][data-placement=bottom-center]:before{content:var(--tw-content);top:calc(-1*var(--top-extension,16px))}.data-\[placement\=bottom-center\]\:before\:h-\[var\(--top-extension\,16px\)\][data-placement=bottom-center]:before{content:var(--tw-content);height:var(--top-extension,16px)}.data-\[placement\=bottom-center\]\:after\:bottom-\[calc\(-1\*var\(--bottom-extension\,16px\)\)\][data-placement=bottom-center]:after{content:var(--tw-content);bottom:calc(-1*var(--bottom-extension,16px))}.data-\[placement\=bottom-center\]\:after\:h-\[var\(--bottom-extension\,16px\)\][data-placement=bottom-center]:after{content:var(--tw-content);height:var(--bottom-extension,16px)}.data-\[placement\=bottom-end\]\:before\:-top-\[calc\(theme\(spacing\.5\)\/4_-_1\.5px\)\][data-placement=bottom-end]:before{content:var(--tw-content);top:calc(1.5px - .3125rem)}.data-\[placement\=bottom-end\]\:before\:right-3[data-placement=bottom-end]:before{content:var(--tw-content);right:calc(var(--spacing)*3)}.data-\[placement\=bottom-left\]\:fixed[data-placement=bottom-left]{position:fixed}.data-\[placement\=bottom-left\]\:bottom-0[data-placement=bottom-left]{bottom:calc(var(--spacing)*0)}.data-\[placement\=bottom-left\]\:left-0[data-placement=bottom-left]{left:calc(var(--spacing)*0)}.data-\[placement\=bottom-left\]\:mx-auto[data-placement=bottom-left]{margin-inline:auto}.data-\[placement\=bottom-left\]\:flex[data-placement=bottom-left]{display:flex}.data-\[placement\=bottom-left\]\:flex-col[data-placement=bottom-left]{flex-direction:column}.data-\[placement\=bottom-left\]\:before\:top-\[calc\(-1\*var\(--top-extension\,16px\)\)\][data-placement=bottom-left]:before{content:var(--tw-content);top:calc(-1*var(--top-extension,16px))}.data-\[placement\=bottom-left\]\:before\:h-\[var\(--top-extension\,16px\)\][data-placement=bottom-left]:before{content:var(--tw-content);height:var(--top-extension,16px)}.data-\[placement\=bottom-left\]\:after\:bottom-\[calc\(-1\*var\(--bottom-extension\,16px\)\)\][data-placement=bottom-left]:after{content:var(--tw-content);bottom:calc(-1*var(--bottom-extension,16px))}.data-\[placement\=bottom-left\]\:after\:h-\[var\(--bottom-extension\,16px\)\][data-placement=bottom-left]:after{content:var(--tw-content);height:var(--bottom-extension,16px)}.data-\[placement\=bottom-right\]\:fixed[data-placement=bottom-right]{position:fixed}.data-\[placement\=bottom-right\]\:right-0[data-placement=bottom-right]{right:calc(var(--spacing)*0)}.data-\[placement\=bottom-right\]\:bottom-0[data-placement=bottom-right]{bottom:calc(var(--spacing)*0)}.data-\[placement\=bottom-right\]\:mx-auto[data-placement=bottom-right]{margin-inline:auto}.data-\[placement\=bottom-right\]\:flex[data-placement=bottom-right]{display:flex}.data-\[placement\=bottom-right\]\:flex-col[data-placement=bottom-right]{flex-direction:column}.data-\[placement\=bottom-right\]\:before\:top-\[calc\(-1\*var\(--top-extension\,16px\)\)\][data-placement=bottom-right]:before{content:var(--tw-content);top:calc(-1*var(--top-extension,16px))}.data-\[placement\=bottom-right\]\:before\:h-\[var\(--top-extension\,16px\)\][data-placement=bottom-right]:before{content:var(--tw-content);height:var(--top-extension,16px)}.data-\[placement\=bottom-right\]\:after\:bottom-\[calc\(-1\*var\(--bottom-extension\,16px\)\)\][data-placement=bottom-right]:after{content:var(--tw-content);bottom:calc(-1*var(--bottom-extension,16px))}.data-\[placement\=bottom-right\]\:after\:h-\[var\(--bottom-extension\,16px\)\][data-placement=bottom-right]:after{content:var(--tw-content);height:var(--bottom-extension,16px)}.data-\[placement\=bottom-start\]\:before\:-top-\[calc\(theme\(spacing\.5\)\/4_-_1\.5px\)\][data-placement=bottom-start]:before{content:var(--tw-content);top:calc(1.5px - .3125rem)}.data-\[placement\=bottom-start\]\:before\:left-3[data-placement=bottom-start]:before{content:var(--tw-content);left:calc(var(--spacing)*3)}.data-\[placement\=left\]\:before\:top-1\/2[data-placement=left]:before{content:var(--tw-content);top:50%}.data-\[placement\=left\]\:before\:-right-\[calc\(theme\(spacing\.5\)\/4_-_2px\)\][data-placement=left]:before{content:var(--tw-content);right:calc(2px - .3125rem)}.data-\[placement\=left\]\:before\:-translate-y-1\/2[data-placement=left]:before{content:var(--tw-content);--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[placement\=left-end\]\:before\:-right-\[calc\(theme\(spacing\.5\)\/4_-_3px\)\][data-placement=left-end]:before{content:var(--tw-content);right:calc(3px - .3125rem)}.data-\[placement\=left-end\]\:before\:bottom-1\/4[data-placement=left-end]:before{content:var(--tw-content);bottom:25%}.data-\[placement\=left-start\]\:before\:top-1\/4[data-placement=left-start]:before{content:var(--tw-content);top:25%}.data-\[placement\=left-start\]\:before\:-right-\[calc\(theme\(spacing\.5\)\/4_-_3px\)\][data-placement=left-start]:before{content:var(--tw-content);right:calc(3px - .3125rem)}.data-\[placement\=right\]\:before\:top-1\/2[data-placement=right]:before{content:var(--tw-content);top:50%}.data-\[placement\=right\]\:before\:-left-\[calc\(theme\(spacing\.5\)\/4_-_2px\)\][data-placement=right]:before{content:var(--tw-content);left:calc(2px - .3125rem)}.data-\[placement\=right\]\:before\:-translate-y-1\/2[data-placement=right]:before{content:var(--tw-content);--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[placement\=right-end\]\:before\:bottom-1\/4[data-placement=right-end]:before{content:var(--tw-content);bottom:25%}.data-\[placement\=right-end\]\:before\:-left-\[calc\(theme\(spacing\.5\)\/4_-_3px\)\][data-placement=right-end]:before{content:var(--tw-content);left:calc(3px - .3125rem)}.data-\[placement\=right-start\]\:before\:top-1\/4[data-placement=right-start]:before{content:var(--tw-content);top:25%}.data-\[placement\=right-start\]\:before\:-left-\[calc\(theme\(spacing\.5\)\/4_-_3px\)\][data-placement=right-start]:before{content:var(--tw-content);left:calc(3px - .3125rem)}.data-\[placement\=top\]\:before\:-bottom-\[calc\(theme\(spacing\.5\)\/4_-_1\.5px\)\][data-placement=top]:before{content:var(--tw-content);bottom:calc(1.5px - .3125rem)}.data-\[placement\=top\]\:before\:left-1\/2[data-placement=top]:before{content:var(--tw-content);left:50%}.data-\[placement\=top\]\:before\:-translate-x-1\/2[data-placement=top]:before{content:var(--tw-content);--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[placement\=top-center\]\:fixed[data-placement=top-center]{position:fixed}.data-\[placement\=top-center\]\:top-0[data-placement=top-center]{top:calc(var(--spacing)*0)}.data-\[placement\=top-center\]\:right-0[data-placement=top-center]{right:calc(var(--spacing)*0)}.data-\[placement\=top-center\]\:left-0[data-placement=top-center]{left:calc(var(--spacing)*0)}.data-\[placement\=top-center\]\:left-1\/2[data-placement=top-center]{left:50%}.data-\[placement\=top-center\]\:flex[data-placement=top-center]{display:flex}.data-\[placement\=top-center\]\:-translate-x-1\/2[data-placement=top-center]{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[placement\=top-center\]\:flex-col[data-placement=top-center]{flex-direction:column}.data-\[placement\=top-end\]\:before\:right-3[data-placement=top-end]:before{content:var(--tw-content);right:calc(var(--spacing)*3)}.data-\[placement\=top-end\]\:before\:-bottom-\[calc\(theme\(spacing\.5\)\/4_-_1\.5px\)\][data-placement=top-end]:before{content:var(--tw-content);bottom:calc(1.5px - .3125rem)}.data-\[placement\=top-left\]\:fixed[data-placement=top-left]{position:fixed}.data-\[placement\=top-left\]\:top-0[data-placement=top-left]{top:calc(var(--spacing)*0)}.data-\[placement\=top-left\]\:left-0[data-placement=top-left]{left:calc(var(--spacing)*0)}.data-\[placement\=top-left\]\:mx-auto[data-placement=top-left]{margin-inline:auto}.data-\[placement\=top-left\]\:flex[data-placement=top-left]{display:flex}.data-\[placement\=top-left\]\:flex-col[data-placement=top-left]{flex-direction:column}.data-\[placement\=top-right\]\:fixed[data-placement=top-right]{position:fixed}.data-\[placement\=top-right\]\:top-0[data-placement=top-right]{top:calc(var(--spacing)*0)}.data-\[placement\=top-right\]\:right-0[data-placement=top-right]{right:calc(var(--spacing)*0)}.data-\[placement\=top-right\]\:mx-auto[data-placement=top-right]{margin-inline:auto}.data-\[placement\=top-right\]\:flex[data-placement=top-right]{display:flex}.data-\[placement\=top-right\]\:flex-col[data-placement=top-right]{flex-direction:column}.data-\[placement\=top-start\]\:before\:-bottom-\[calc\(theme\(spacing\.5\)\/4_-_1\.5px\)\][data-placement=top-start]:before{content:var(--tw-content);bottom:calc(1.5px - .3125rem)}.data-\[placement\=top-start\]\:before\:left-3[data-placement=top-start]:before{content:var(--tw-content);left:calc(var(--spacing)*3)}.data-\[pressed\=true\]\:scale-100[data-pressed=true]{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\[pressed\=true\]\:scale-\[0\.97\][data-pressed=true]{scale:.97}.data-\[pressed\=true\]\:opacity-50[data-pressed=true]{opacity:.5}.data-\[pressed\=true\]\:opacity-70[data-pressed=true]{opacity:.7}.data-\[pressed\=true\]\:opacity-disabled[data-pressed=true]{opacity:var(--heroui-disabled-opacity)}.data-\[range-end\=true\]\:before\:rounded-e-full[data-range-end=true]:before{content:var(--tw-content);border-start-end-radius:3.40282e38px;border-end-end-radius:3.40282e38px}.data-\[range-start\=true\]\:before\:rounded-s-full[data-range-start=true]:before{content:var(--tw-content);border-start-start-radius:3.40282e38px;border-end-start-radius:3.40282e38px}.data-\[readonly\=true\]\:cursor-default[data-readonly=true]{cursor:default}.data-\[right-scroll\=true\]\:\[mask-image\:linear-gradient\(90deg\,\#000_calc\(100\%_-_var\(--scroll-shadow-size\)\)\,transparent\)\][data-right-scroll=true]{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - var(--scroll-shadow-size)),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - var(--scroll-shadow-size)),transparent)}.data-\[selectable\=true\]\:focus\:border-danger[data-selectable=true]:focus{border-color:hsl(var(--heroui-danger)/1)}.data-\[selectable\=true\]\:focus\:border-default[data-selectable=true]:focus{border-color:hsl(var(--heroui-default)/1)}.data-\[selectable\=true\]\:focus\:border-primary[data-selectable=true]:focus{border-color:hsl(var(--heroui-primary)/1)}.data-\[selectable\=true\]\:focus\:border-secondary[data-selectable=true]:focus{border-color:hsl(var(--heroui-secondary)/1)}.data-\[selectable\=true\]\:focus\:border-success[data-selectable=true]:focus{border-color:hsl(var(--heroui-success)/1)}.data-\[selectable\=true\]\:focus\:border-warning[data-selectable=true]:focus{border-color:hsl(var(--heroui-warning)/1)}.data-\[selectable\=true\]\:focus\:bg-danger[data-selectable=true]:focus,.data-\[selectable\=true\]\:focus\:bg-danger\/20[data-selectable=true]:focus{background-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:bg-danger\/20[data-selectable=true]:focus{background-color:color-mix(in oklab,hsl(var(--heroui-danger)/1)20%,transparent)}}.data-\[selectable\=true\]\:focus\:bg-default[data-selectable=true]:focus{background-color:hsl(var(--heroui-default)/1)}.data-\[selectable\=true\]\:focus\:bg-default-100[data-selectable=true]:focus{background-color:hsl(var(--heroui-default-100)/1)}.data-\[selectable\=true\]\:focus\:bg-default\/40[data-selectable=true]:focus{background-color:hsl(var(--heroui-default)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:bg-default\/40[data-selectable=true]:focus{background-color:color-mix(in oklab,hsl(var(--heroui-default)/1)40%,transparent)}}.data-\[selectable\=true\]\:focus\:bg-primary[data-selectable=true]:focus,.data-\[selectable\=true\]\:focus\:bg-primary\/20[data-selectable=true]:focus{background-color:hsl(var(--heroui-primary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:bg-primary\/20[data-selectable=true]:focus{background-color:color-mix(in oklab,hsl(var(--heroui-primary)/1)20%,transparent)}}.data-\[selectable\=true\]\:focus\:bg-secondary[data-selectable=true]:focus,.data-\[selectable\=true\]\:focus\:bg-secondary\/20[data-selectable=true]:focus{background-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:bg-secondary\/20[data-selectable=true]:focus{background-color:color-mix(in oklab,hsl(var(--heroui-secondary)/1)20%,transparent)}}.data-\[selectable\=true\]\:focus\:bg-success[data-selectable=true]:focus,.data-\[selectable\=true\]\:focus\:bg-success\/20[data-selectable=true]:focus{background-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:bg-success\/20[data-selectable=true]:focus{background-color:color-mix(in oklab,hsl(var(--heroui-success)/1)20%,transparent)}}.data-\[selectable\=true\]\:focus\:bg-warning[data-selectable=true]:focus,.data-\[selectable\=true\]\:focus\:bg-warning\/20[data-selectable=true]:focus{background-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:bg-warning\/20[data-selectable=true]:focus{background-color:color-mix(in oklab,hsl(var(--heroui-warning)/1)20%,transparent)}}.data-\[selectable\=true\]\:focus\:text-danger[data-selectable=true]:focus{color:hsl(var(--heroui-danger)/1)}.data-\[selectable\=true\]\:focus\:text-danger-foreground[data-selectable=true]:focus{color:hsl(var(--heroui-danger-foreground)/1)}.data-\[selectable\=true\]\:focus\:text-default-500[data-selectable=true]:focus{color:hsl(var(--heroui-default-500)/1)}.data-\[selectable\=true\]\:focus\:text-default-foreground[data-selectable=true]:focus{color:hsl(var(--heroui-default-foreground)/1)}.data-\[selectable\=true\]\:focus\:text-primary[data-selectable=true]:focus{color:hsl(var(--heroui-primary)/1)}.data-\[selectable\=true\]\:focus\:text-primary-foreground[data-selectable=true]:focus{color:hsl(var(--heroui-primary-foreground)/1)}.data-\[selectable\=true\]\:focus\:text-secondary[data-selectable=true]:focus{color:hsl(var(--heroui-secondary)/1)}.data-\[selectable\=true\]\:focus\:text-secondary-foreground[data-selectable=true]:focus{color:hsl(var(--heroui-secondary-foreground)/1)}.data-\[selectable\=true\]\:focus\:text-success[data-selectable=true]:focus{color:hsl(var(--heroui-success)/1)}.data-\[selectable\=true\]\:focus\:text-success-foreground[data-selectable=true]:focus{color:hsl(var(--heroui-success-foreground)/1)}.data-\[selectable\=true\]\:focus\:text-warning[data-selectable=true]:focus{color:hsl(var(--heroui-warning)/1)}.data-\[selectable\=true\]\:focus\:text-warning-foreground[data-selectable=true]:focus{color:hsl(var(--heroui-warning-foreground)/1)}.data-\[selectable\=true\]\:focus\:shadow-danger\/30[data-selectable=true]:focus{--tw-shadow-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:shadow-danger\/30[data-selectable=true]:focus{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-danger)/1)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selectable\=true\]\:focus\:shadow-default\/50[data-selectable=true]:focus{--tw-shadow-color:hsl(var(--heroui-default)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:shadow-default\/50[data-selectable=true]:focus{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-default)/1)50%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selectable\=true\]\:focus\:shadow-primary\/30[data-selectable=true]:focus{--tw-shadow-color:hsl(var(--heroui-primary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:shadow-primary\/30[data-selectable=true]:focus{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-primary)/1)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selectable\=true\]\:focus\:shadow-secondary\/30[data-selectable=true]:focus{--tw-shadow-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:shadow-secondary\/30[data-selectable=true]:focus{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-secondary)/1)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selectable\=true\]\:focus\:shadow-success\/30[data-selectable=true]:focus{--tw-shadow-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:shadow-success\/30[data-selectable=true]:focus{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-success)/1)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selectable\=true\]\:focus\:shadow-warning\/30[data-selectable=true]:focus{--tw-shadow-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:shadow-warning\/30[data-selectable=true]:focus{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-warning)/1)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selected\=true\]\:bg-danger[data-selected=true]{background-color:hsl(var(--heroui-danger)/1)}.data-\[selected\=true\]\:bg-default[data-selected=true]{background-color:hsl(var(--heroui-default)/1)}.data-\[selected\=true\]\:bg-foreground[data-selected=true]{background-color:hsl(var(--heroui-foreground)/1)}.data-\[selected\=true\]\:bg-primary[data-selected=true]{background-color:hsl(var(--heroui-primary)/1)}.data-\[selected\=true\]\:bg-secondary[data-selected=true]{background-color:hsl(var(--heroui-secondary)/1)}.data-\[selected\=true\]\:bg-success[data-selected=true]{background-color:hsl(var(--heroui-success)/1)}.data-\[selected\=true\]\:bg-warning[data-selected=true]{background-color:hsl(var(--heroui-warning)/1)}.data-\[selected\=true\]\:text-background[data-selected=true]{color:hsl(var(--heroui-background)/1)}.data-\[selected\=true\]\:text-danger[data-selected=true]{color:hsl(var(--heroui-danger)/1)}.data-\[selected\=true\]\:text-danger-foreground[data-selected=true]{color:hsl(var(--heroui-danger-foreground)/1)}.data-\[selected\=true\]\:text-default-foreground[data-selected=true]{color:hsl(var(--heroui-default-foreground)/1)}.data-\[selected\=true\]\:text-primary[data-selected=true]{color:hsl(var(--heroui-primary)/1)}.data-\[selected\=true\]\:text-primary-foreground[data-selected=true]{color:hsl(var(--heroui-primary-foreground)/1)}.data-\[selected\=true\]\:text-secondary[data-selected=true]{color:hsl(var(--heroui-secondary)/1)}.data-\[selected\=true\]\:text-secondary-foreground[data-selected=true]{color:hsl(var(--heroui-secondary-foreground)/1)}.data-\[selected\=true\]\:text-success-600[data-selected=true]{color:hsl(var(--heroui-success-600)/1)}.data-\[selected\=true\]\:text-success-foreground[data-selected=true]{color:hsl(var(--heroui-success-foreground)/1)}.data-\[selected\=true\]\:text-warning-600[data-selected=true]{color:hsl(var(--heroui-warning-600)/1)}.data-\[selected\=true\]\:text-warning-foreground[data-selected=true]{color:hsl(var(--heroui-warning-foreground)/1)}.data-\[selected\=true\]\:shadow-md[data-selected=true]{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[selected\=true\]\:shadow-none[data-selected=true]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[selected\=true\]\:shadow-danger\/40[data-selected=true]{--tw-shadow-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selected\=true\]\:shadow-danger\/40[data-selected=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-danger)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selected\=true\]\:shadow-foreground\/40[data-selected=true]{--tw-shadow-color:hsl(var(--heroui-foreground)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selected\=true\]\:shadow-foreground\/40[data-selected=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-foreground)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selected\=true\]\:shadow-primary\/40[data-selected=true]{--tw-shadow-color:hsl(var(--heroui-primary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selected\=true\]\:shadow-primary\/40[data-selected=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-primary)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selected\=true\]\:shadow-secondary\/40[data-selected=true]{--tw-shadow-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selected\=true\]\:shadow-secondary\/40[data-selected=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-secondary)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selected\=true\]\:shadow-success\/40[data-selected=true]{--tw-shadow-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selected\=true\]\:shadow-success\/40[data-selected=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-success)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selected\=true\]\:shadow-warning\/40[data-selected=true]{--tw-shadow-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selected\=true\]\:shadow-warning\/40[data-selected=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-warning)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selected\=true\]\:before\:opacity-100[data-selected=true]:before{content:var(--tw-content);opacity:1}.data-\[selected\=true\]\:after\:bg-danger[data-selected=true]:after{content:var(--tw-content);background-color:hsl(var(--heroui-danger)/1)}.data-\[selected\=true\]\:after\:bg-foreground[data-selected=true]:after{content:var(--tw-content);background-color:hsl(var(--heroui-foreground)/1)}.data-\[selected\=true\]\:after\:bg-primary[data-selected=true]:after{content:var(--tw-content);background-color:hsl(var(--heroui-primary)/1)}.data-\[selected\=true\]\:after\:bg-secondary[data-selected=true]:after{content:var(--tw-content);background-color:hsl(var(--heroui-secondary)/1)}.data-\[selected\=true\]\:after\:bg-success[data-selected=true]:after{content:var(--tw-content);background-color:hsl(var(--heroui-success)/1)}.data-\[selected\=true\]\:after\:bg-warning[data-selected=true]:after{content:var(--tw-content);background-color:hsl(var(--heroui-warning)/1)}.data-\[selected\=true\]\:after\:opacity-100[data-selected=true]:after{content:var(--tw-content);opacity:1}.data-\[selected\=true\]\:data-\[hover\=true\]\:bg-danger[data-selected=true][data-hover=true]{background-color:hsl(var(--heroui-danger)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:bg-foreground[data-selected=true][data-hover=true]{background-color:hsl(var(--heroui-foreground)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:bg-primary[data-selected=true][data-hover=true]{background-color:hsl(var(--heroui-primary)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:bg-secondary[data-selected=true][data-hover=true]{background-color:hsl(var(--heroui-secondary)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:bg-success[data-selected=true][data-hover=true]{background-color:hsl(var(--heroui-success)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:bg-warning[data-selected=true][data-hover=true]{background-color:hsl(var(--heroui-warning)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:text-background[data-selected=true][data-hover=true]{color:hsl(var(--heroui-background)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:text-danger-foreground[data-selected=true][data-hover=true]{color:hsl(var(--heroui-danger-foreground)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:text-primary-foreground[data-selected=true][data-hover=true]{color:hsl(var(--heroui-primary-foreground)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:text-secondary-foreground[data-selected=true][data-hover=true]{color:hsl(var(--heroui-secondary-foreground)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:text-success-foreground[data-selected=true][data-hover=true]{color:hsl(var(--heroui-success-foreground)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:text-warning-foreground[data-selected=true][data-hover=true]{color:hsl(var(--heroui-warning-foreground)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:bg-transparent[data-selected=true][data-range-selection=true]{background-color:#0000}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:text-danger-500[data-selected=true][data-range-selection=true]{color:hsl(var(--heroui-danger-500)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:text-foreground[data-selected=true][data-range-selection=true]{color:hsl(var(--heroui-foreground)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:text-primary[data-selected=true][data-range-selection=true]{color:hsl(var(--heroui-primary)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:text-secondary[data-selected=true][data-range-selection=true]{color:hsl(var(--heroui-secondary)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:text-success-600[data-selected=true][data-range-selection=true]{color:hsl(var(--heroui-success-600)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:text-warning-500[data-selected=true][data-range-selection=true]{color:hsl(var(--heroui-warning-500)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:before\:bg-danger-50[data-selected=true][data-range-selection=true]:before{content:var(--tw-content);background-color:hsl(var(--heroui-danger-50)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:before\:bg-foreground\/10[data-selected=true][data-range-selection=true]:before{content:var(--tw-content);background-color:hsl(var(--heroui-foreground)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selected\=true\]\:data-\[range-selection\=true\]\:before\:bg-foreground\/10[data-selected=true][data-range-selection=true]:before{background-color:color-mix(in oklab,hsl(var(--heroui-foreground)/1)10%,transparent)}}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:before\:bg-primary-50[data-selected=true][data-range-selection=true]:before{content:var(--tw-content);background-color:hsl(var(--heroui-primary-50)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:before\:bg-secondary-50[data-selected=true][data-range-selection=true]:before{content:var(--tw-content);background-color:hsl(var(--heroui-secondary-50)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:before\:bg-success-100[data-selected=true][data-range-selection=true]:before{content:var(--tw-content);background-color:hsl(var(--heroui-success-100)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:before\:bg-warning-100[data-selected=true][data-range-selection=true]:before{content:var(--tw-content);background-color:hsl(var(--heroui-warning-100)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:data-\[outside-month\=true\]\:bg-transparent[data-selected=true][data-range-selection=true][data-outside-month=true]{background-color:#0000}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:data-\[outside-month\=true\]\:text-default-300[data-selected=true][data-range-selection=true][data-outside-month=true]{color:hsl(var(--heroui-default-300)/1)}.data-\[selection-end\=true\]\:before\:rounded-e-full[data-selection-end=true]:before{content:var(--tw-content);border-start-end-radius:3.40282e38px;border-end-end-radius:3.40282e38px}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:shadow-md[data-selected=true][data-selection-end=true]{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:rounded-full[data-selected=true][data-selection-end=true][data-range-selection=true]{border-radius:3.40282e38px}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:bg-danger[data-selected=true][data-selection-end=true][data-range-selection=true]{background-color:hsl(var(--heroui-danger)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:bg-foreground[data-selected=true][data-selection-end=true][data-range-selection=true]{background-color:hsl(var(--heroui-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:bg-primary[data-selected=true][data-selection-end=true][data-range-selection=true]{background-color:hsl(var(--heroui-primary)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:bg-secondary[data-selected=true][data-selection-end=true][data-range-selection=true]{background-color:hsl(var(--heroui-secondary)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:bg-success[data-selected=true][data-selection-end=true][data-range-selection=true]{background-color:hsl(var(--heroui-success)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:bg-warning[data-selected=true][data-selection-end=true][data-range-selection=true]{background-color:hsl(var(--heroui-warning)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:text-background[data-selected=true][data-selection-end=true][data-range-selection=true]{color:hsl(var(--heroui-background)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:text-danger-foreground[data-selected=true][data-selection-end=true][data-range-selection=true]{color:hsl(var(--heroui-danger-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:text-primary-foreground[data-selected=true][data-selection-end=true][data-range-selection=true]{color:hsl(var(--heroui-primary-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:text-secondary-foreground[data-selected=true][data-selection-end=true][data-range-selection=true]{color:hsl(var(--heroui-secondary-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:text-success-foreground[data-selected=true][data-selection-end=true][data-range-selection=true]{color:hsl(var(--heroui-success-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:text-warning-foreground[data-selected=true][data-selection-end=true][data-range-selection=true]{color:hsl(var(--heroui-warning-foreground)/1)}.data-\[selection-start\=true\]\:before\:rounded-s-full[data-selection-start=true]:before{content:var(--tw-content);border-start-start-radius:3.40282e38px;border-end-start-radius:3.40282e38px}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:shadow-md[data-selected=true][data-selection-start=true]{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:rounded-full[data-selected=true][data-selection-start=true][data-range-selection=true]{border-radius:3.40282e38px}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:bg-danger[data-selected=true][data-selection-start=true][data-range-selection=true]{background-color:hsl(var(--heroui-danger)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:bg-foreground[data-selected=true][data-selection-start=true][data-range-selection=true]{background-color:hsl(var(--heroui-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:bg-primary[data-selected=true][data-selection-start=true][data-range-selection=true]{background-color:hsl(var(--heroui-primary)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:bg-secondary[data-selected=true][data-selection-start=true][data-range-selection=true]{background-color:hsl(var(--heroui-secondary)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:bg-success[data-selected=true][data-selection-start=true][data-range-selection=true]{background-color:hsl(var(--heroui-success)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:bg-warning[data-selected=true][data-selection-start=true][data-range-selection=true]{background-color:hsl(var(--heroui-warning)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:text-background[data-selected=true][data-selection-start=true][data-range-selection=true]{color:hsl(var(--heroui-background)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:text-danger-foreground[data-selected=true][data-selection-start=true][data-range-selection=true]{color:hsl(var(--heroui-danger-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:text-primary-foreground[data-selected=true][data-selection-start=true][data-range-selection=true]{color:hsl(var(--heroui-primary-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:text-secondary-foreground[data-selected=true][data-selection-start=true][data-range-selection=true]{color:hsl(var(--heroui-secondary-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:text-success-foreground[data-selected=true][data-selection-start=true][data-range-selection=true]{color:hsl(var(--heroui-success-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:text-warning-foreground[data-selected=true][data-selection-start=true][data-range-selection=true]{color:hsl(var(--heroui-warning-foreground)/1)}.data-\[sortable\=true\]\:cursor-pointer[data-sortable=true]{cursor:pointer}.data-\[toast-exiting\=true\]\:transform-gpu[data-toast-exiting=true]{transform:translateZ(0)var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.data-\[toast-exiting\=true\]\:opacity-0[data-toast-exiting=true]{opacity:0}.data-\[toast-exiting\=true\]\:transition-all[data-toast-exiting=true]{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.data-\[toast-exiting\=true\]\:duration-300[data-toast-exiting=true]{--tw-duration:.3s;transition-duration:.3s}.data-\[toast-exiting\=true\]\:ease-out[data-toast-exiting=true]{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.data-\[toast-exiting\=true\]\:will-change-transform[data-toast-exiting=true]{will-change:transform}.data-\[toast-exiting\=true\]\:data-\[placement\=bottom-center\]\:translate-y-full[data-toast-exiting=true][data-placement=bottom-center]{--tw-translate-y:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[toast-exiting\=true\]\:data-\[placement\=bottom-left\]\:-translate-x-full[data-toast-exiting=true][data-placement=bottom-left]{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[toast-exiting\=true\]\:data-\[placement\=bottom-right\]\:translate-x-full[data-toast-exiting=true][data-placement=bottom-right]{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[toast-exiting\=true\]\:data-\[placement\=top-center\]\:-translate-y-full[data-toast-exiting=true][data-placement=top-center]{--tw-translate-y:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[toast-exiting\=true\]\:data-\[placement\=top-left\]\:-translate-x-full[data-toast-exiting=true][data-placement=top-left]{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[toast-exiting\=true\]\:data-\[placement\=top-right\]\:translate-x-full[data-toast-exiting=true][data-placement=top-right]{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[top-bottom-scroll\=true\]\:\[mask-image\:linear-gradient\(\#000\,\#000\,transparent_0\,\#000_var\(--scroll-shadow-size\)\,\#000_calc\(100\%_-_var\(--scroll-shadow-size\)\)\,transparent\)\][data-top-bottom-scroll=true]{-webkit-mask-image:linear-gradient(#000,#000,transparent 0,#000 var(--scroll-shadow-size),#000 calc(100% - var(--scroll-shadow-size)),transparent);mask-image:linear-gradient(#000,#000,transparent 0,#000 var(--scroll-shadow-size),#000 calc(100% - var(--scroll-shadow-size)),transparent)}.data-\[top-scroll\=true\]\:\[mask-image\:linear-gradient\(0deg\,\#000_calc\(100\%_-_var\(--scroll-shadow-size\)\)\,transparent\)\][data-top-scroll=true]{-webkit-mask-image:linear-gradient(0deg,#000 calc(100% - var(--scroll-shadow-size)),transparent);mask-image:linear-gradient(0deg,#000 calc(100% - var(--scroll-shadow-size)),transparent)}.data-\[type\=color\]\:rounded-none[data-type=color]{border-radius:0}.data-\[unavailable\=true\]\:cursor-default[data-unavailable=true]{cursor:default}.data-\[unavailable\=true\]\:text-default-300[data-unavailable=true]{color:hsl(var(--heroui-default-300)/1)}.data-\[unavailable\=true\]\:line-through[data-unavailable=true]{text-decoration-line:line-through}.data-\[visible\=true\]\:pointer-events-auto[data-visible=true]{pointer-events:auto}.data-\[visible\=true\]\:cursor-pointer[data-visible=true]{cursor:pointer}.data-\[visible\=true\]\:opacity-100[data-visible=true]{opacity:1}@media(prefers-reduced-motion:no-preference){.motion-safe\:animate-pop-in{animation:var(--animate-pop-in)}}@media(prefers-reduced-motion:reduce){.motion-reduce\:scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.motion-reduce\:transition-none{transition-property:none}.motion-reduce\:after\:transition-none:after{content:var(--tw-content);transition-property:none}}@media(min-width:28rem){.xs\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:40rem){.sm\:m-0{margin:calc(var(--spacing)*0)}.sm\:mx-0{margin-inline:calc(var(--spacing)*0)}.sm\:mx-1{margin-inline:calc(var(--spacing)*1)}.sm\:mx-6{margin-inline:calc(var(--spacing)*6)}.sm\:my-0{margin-block:calc(var(--spacing)*0)}.sm\:my-16{margin-block:calc(var(--spacing)*16)}.sm\:w-\[356px\]{width:356px}.sm\:w-auto{width:auto}.sm\:max-w-\[1200px\]{max-width:1200px}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:items-start{align-items:flex-start}.sm\:px-0{padding-inline:calc(var(--spacing)*0)}.sm\:\[--scale-enter\:100\%\]{--scale-enter:100%}.sm\:\[--scale-exit\:103\%\]{--scale-exit:103%}.sm\:\[--slide-enter\:0px\]{--slide-enter:0px}.sm\:\[--slide-exit\:0px\]{--slide-exit:0px}.sm\:data-\[placement\=bottom-center\]\:mx-auto[data-placement=bottom-center]{margin-inline:auto}.sm\:data-\[placement\=bottom-center\]\:w-max[data-placement=bottom-center]{width:max-content}.sm\:data-\[placement\=bottom-left\]\:ml-2[data-placement=bottom-left]{margin-left:calc(var(--spacing)*2)}.sm\:data-\[placement\=bottom-left\]\:w-max[data-placement=bottom-left]{width:max-content}.sm\:data-\[placement\=bottom-right\]\:mr-2[data-placement=bottom-right]{margin-right:calc(var(--spacing)*2)}.sm\:data-\[placement\=bottom-right\]\:w-max[data-placement=bottom-right]{width:max-content}.sm\:data-\[placement\=top-center\]\:mx-auto[data-placement=top-center]{margin-inline:auto}.sm\:data-\[placement\=top-center\]\:w-max[data-placement=top-center]{width:max-content}.sm\:data-\[placement\=top-left\]\:ml-2[data-placement=top-left]{margin-left:calc(var(--spacing)*2)}.sm\:data-\[placement\=top-left\]\:w-max[data-placement=top-left]{width:max-content}.sm\:data-\[placement\=top-right\]\:mr-2[data-placement=top-right]{margin-right:calc(var(--spacing)*2)}.sm\:data-\[placement\=top-right\]\:w-max[data-placement=top-right]{width:max-content}.sm\:data-\[visible\=true\]\:pointer-events-none[data-visible=true]{pointer-events:none}.sm\:data-\[visible\=true\]\:opacity-0[data-visible=true]{opacity:0}.sm\:group-data-\[hover\=true\]\:data-\[visible\=true\]\:pointer-events-auto:is(:where(.group)[data-hover=true] *)[data-visible=true]{pointer-events:auto}.sm\:group-data-\[hover\=true\]\:data-\[visible\=true\]\:opacity-100:is(:where(.group)[data-hover=true] *)[data-visible=true]{opacity:1}}@media(min-width:48rem){.md\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}}@media(min-width:64rem){.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}.rtl\:right-auto:where(:dir(rtl),[dir=rtl],[dir=rtl] *){right:auto}.rtl\:left-2:where(:dir(rtl),[dir=rtl],[dir=rtl] *){left:calc(var(--spacing)*2)}.rtl\:origin-top-right:where(:dir(rtl),[dir=rtl],[dir=rtl] *){transform-origin:100% 0}.rtl\:-rotate-180:where(:dir(rtl),[dir=rtl],[dir=rtl] *){rotate:-180deg}.rtl\:rotate-180:where(:dir(rtl),[dir=rtl],[dir=rtl] *){rotate:180deg}.rtl\:flex-row-reverse:where(:dir(rtl),[dir=rtl],[dir=rtl] *){flex-direction:row-reverse}:where(.rtl\:space-x-reverse:where(:dir(rtl),[dir=rtl],[dir=rtl] *)>:not(:last-child)){--tw-space-x-reverse:1}.rtl\:data-\[focus-visible\=true\]\:translate-x-3:where(:dir(rtl),[dir=rtl],[dir=rtl] *)[data-focus-visible=true],.rtl\:data-\[hover\=true\]\:translate-x-3:where(:dir(rtl),[dir=rtl],[dir=rtl] *)[data-hover=true]{--tw-translate-x:calc(var(--spacing)*3);translate:var(--tw-translate-x)var(--tw-translate-y)}.rtl\:data-\[open\=true\]\:-rotate-90:where(:dir(rtl),[dir=rtl],[dir=rtl] *)[data-open=true]{rotate:-90deg}.dark\:border-danger-100:is(.dark *){border-color:hsl(var(--heroui-danger-100)/1)}.dark\:border-default-200:is(.dark *){border-color:hsl(var(--heroui-default-200)/1)}.dark\:border-primary-100:is(.dark *){border-color:hsl(var(--heroui-primary-100)/1)}.dark\:border-success-100:is(.dark *){border-color:hsl(var(--heroui-success-100)/1)}.dark\:border-warning-100:is(.dark *){border-color:hsl(var(--heroui-warning-100)/1)}.dark\:bg-background:is(.dark *),.dark\:bg-background\/20:is(.dark *){background-color:hsl(var(--heroui-background)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-background\/20:is(.dark *){background-color:color-mix(in oklab,hsl(var(--heroui-background)/1)20%,transparent)}}.dark\:bg-content2:is(.dark *){background-color:hsl(var(--heroui-content2)/1)}.dark\:bg-danger-50:is(.dark *),.dark\:bg-danger-50\/50:is(.dark *){background-color:hsl(var(--heroui-danger-50)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-danger-50\/50:is(.dark *){background-color:color-mix(in oklab,hsl(var(--heroui-danger-50)/1)50%,transparent)}}.dark\:bg-danger-100:is(.dark *){background-color:hsl(var(--heroui-danger-100)/1)}.dark\:bg-default:is(.dark *){background-color:hsl(var(--heroui-default)/1)}.dark\:bg-default-50\/50:is(.dark *){background-color:hsl(var(--heroui-default-50)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-default-50\/50:is(.dark *){background-color:color-mix(in oklab,hsl(var(--heroui-default-50)/1)50%,transparent)}}.dark\:bg-default-100:is(.dark *){background-color:hsl(var(--heroui-default-100)/1)}.dark\:bg-primary-50:is(.dark *),.dark\:bg-primary-50\/50:is(.dark *){background-color:hsl(var(--heroui-primary-50)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-primary-50\/50:is(.dark *){background-color:color-mix(in oklab,hsl(var(--heroui-primary-50)/1)50%,transparent)}}.dark\:bg-primary-100:is(.dark *){background-color:hsl(var(--heroui-primary-100)/1)}.dark\:bg-secondary-50:is(.dark *),.dark\:bg-secondary-50\/50:is(.dark *){background-color:hsl(var(--heroui-secondary-50)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-secondary-50\/50:is(.dark *){background-color:color-mix(in oklab,hsl(var(--heroui-secondary-50)/1)50%,transparent)}}.dark\:bg-secondary-100:is(.dark *){background-color:hsl(var(--heroui-secondary-100)/1)}.dark\:bg-success-50:is(.dark *),.dark\:bg-success-50\/50:is(.dark *){background-color:hsl(var(--heroui-success-50)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-success-50\/50:is(.dark *){background-color:color-mix(in oklab,hsl(var(--heroui-success-50)/1)50%,transparent)}}.dark\:bg-success-100:is(.dark *){background-color:hsl(var(--heroui-success-100)/1)}.dark\:bg-transparent:is(.dark *){background-color:#0000}.dark\:bg-warning-50:is(.dark *),.dark\:bg-warning-50\/50:is(.dark *){background-color:hsl(var(--heroui-warning-50)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-warning-50\/50:is(.dark *){background-color:color-mix(in oklab,hsl(var(--heroui-warning-50)/1)50%,transparent)}}.dark\:bg-warning-100:is(.dark *){background-color:hsl(var(--heroui-warning-100)/1)}.dark\:text-danger-500:is(.dark *){color:hsl(var(--heroui-danger-500)/1)}.dark\:text-success:is(.dark *){color:hsl(var(--heroui-success)/1)}.dark\:text-warning:is(.dark *){color:hsl(var(--heroui-warning)/1)}.dark\:prose-invert:is(.dark *){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}.dark\:placeholder\:text-danger-500:is(.dark *)::placeholder{color:hsl(var(--heroui-danger-500)/1)}.dark\:placeholder\:text-success:is(.dark *)::placeholder{color:hsl(var(--heroui-success)/1)}.dark\:placeholder\:text-warning:is(.dark *)::placeholder{color:hsl(var(--heroui-warning)/1)}.dark\:before\:via-default-700\/10:is(.dark *):before{content:var(--tw-content);--tw-gradient-via:hsl(var(--heroui-default-700)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:before\:via-default-700\/10:is(.dark *):before{--tw-gradient-via:color-mix(in oklab,hsl(var(--heroui-default-700)/1)10%,transparent)}}.dark\:before\:via-default-700\/10:is(.dark *):before{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.dark\:after\:bg-content2:is(.dark *):after{content:var(--tw-content);background-color:hsl(var(--heroui-content2)/1)}.dark\:focus\:bg-danger-400\/20:is(.dark *):focus{background-color:hsl(var(--heroui-danger-400)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:focus\:bg-danger-400\/20:is(.dark *):focus{background-color:color-mix(in oklab,hsl(var(--heroui-danger-400)/1)20%,transparent)}}.dark\:focus\:bg-success-400\/20:is(.dark *):focus{background-color:hsl(var(--heroui-success-400)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:focus\:bg-success-400\/20:is(.dark *):focus{background-color:color-mix(in oklab,hsl(var(--heroui-success-400)/1)20%,transparent)}}.dark\:focus\:bg-warning-400\/20:is(.dark *):focus{background-color:hsl(var(--heroui-warning-400)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:focus\:bg-warning-400\/20:is(.dark *):focus{background-color:color-mix(in oklab,hsl(var(--heroui-warning-400)/1)20%,transparent)}}.dark\:data-\[hover\=true\]\:bg-content2:is(.dark *)[data-hover=true]{background-color:hsl(var(--heroui-content2)/1)}.dark\:data-\[hover\=true\]\:bg-danger-50:is(.dark *)[data-hover=true]{background-color:hsl(var(--heroui-danger-50)/1)}.dark\:data-\[hover\=true\]\:bg-success-50:is(.dark *)[data-hover=true]{background-color:hsl(var(--heroui-success-50)/1)}.dark\:data-\[hover\=true\]\:bg-warning-50:is(.dark *)[data-hover=true]{background-color:hsl(var(--heroui-warning-50)/1)}.dark\:data-\[hover\=true\]\:text-danger-500:is(.dark *)[data-hover=true]{color:hsl(var(--heroui-danger-500)/1)}.dark\:data-\[hover\=true\]\:text-success-500:is(.dark *)[data-hover=true]{color:hsl(var(--heroui-success-500)/1)}.dark\:data-\[hover\=true\]\:text-warning-500:is(.dark *)[data-hover=true]{color:hsl(var(--heroui-warning-500)/1)}.dark\:data-\[invalid\=true\]\:focus\:bg-danger-400\/20:is(.dark *)[data-invalid=true]:focus{background-color:hsl(var(--heroui-danger-400)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[invalid\=true\]\:focus\:bg-danger-400\/20:is(.dark *)[data-invalid=true]:focus{background-color:color-mix(in oklab,hsl(var(--heroui-danger-400)/1)20%,transparent)}}.dark\:data-\[selected\=true\]\:text-danger-500:is(.dark *)[data-selected=true]{color:hsl(var(--heroui-danger-500)/1)}.dark\:data-\[selected\=true\]\:text-success:is(.dark *)[data-selected=true]{color:hsl(var(--heroui-success)/1)}.dark\:data-\[selected\=true\]\:text-warning:is(.dark *)[data-selected=true]{color:hsl(var(--heroui-warning)/1)}.dark\:data-\[selected\=true\]\:data-\[hover\=true\]\:bg-danger:is(.dark *)[data-selected=true][data-hover=true]{background-color:hsl(var(--heroui-danger)/1)}.dark\:data-\[selected\=true\]\:data-\[hover\=true\]\:bg-success:is(.dark *)[data-selected=true][data-hover=true]{background-color:hsl(var(--heroui-success)/1)}.dark\:data-\[selected\=true\]\:data-\[hover\=true\]\:bg-warning:is(.dark *)[data-selected=true][data-hover=true]{background-color:hsl(var(--heroui-warning)/1)}.dark\:data-\[selected\=true\]\:data-\[hover\=true\]\:text-danger-foreground:is(.dark *)[data-selected=true][data-hover=true]{color:hsl(var(--heroui-danger-foreground)/1)}.dark\:data-\[selected\=true\]\:data-\[hover\=true\]\:text-success-foreground:is(.dark *)[data-selected=true][data-hover=true]{color:hsl(var(--heroui-success-foreground)/1)}.dark\:data-\[selected\=true\]\:data-\[hover\=true\]\:text-warning-foreground:is(.dark *)[data-selected=true][data-hover=true]{color:hsl(var(--heroui-warning-foreground)/1)}.dark\:data-\[selected\=true\]\:data-\[range-selection\=true\]\:text-success-500:is(.dark *)[data-selected=true][data-range-selection=true]{color:hsl(var(--heroui-success-500)/1)}.dark\:data-\[selected\=true\]\:data-\[range-selection\=true\]\:before\:bg-success-50:is(.dark *)[data-selected=true][data-range-selection=true]:before{content:var(--tw-content);background-color:hsl(var(--heroui-success-50)/1)}.dark\:data-\[selected\=true\]\:data-\[range-selection\=true\]\:before\:bg-warning-50:is(.dark *)[data-selected=true][data-range-selection=true]:before{content:var(--tw-content);background-color:hsl(var(--heroui-warning-50)/1)}.dark\:data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:text-success-foreground:is(.dark *)[data-selected=true][data-selection-end=true][data-range-selection=true],.dark\:data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:text-success-foreground:is(.dark *)[data-selected=true][data-selection-start=true][data-range-selection=true]{color:hsl(var(--heroui-success-foreground)/1)}.\[\&_\.chevron-icon\]\:flex-none .chevron-icon{flex:none}.\[\&_\.chevron-icon\]\:rotate-180 .chevron-icon{rotate:180deg}.\[\&_\.chevron-icon\]\:transition-transform .chevron-icon{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.\[\&\+\.border-medium\.border-danger\]\:ms-\[calc\(var\(--heroui-border-width-medium\)\*-1\)\]+.border-medium.border-danger,.\[\&\+\.border-medium\.border-default\]\:ms-\[calc\(var\(--heroui-border-width-medium\)\*-1\)\]+.border-medium.border-default,.\[\&\+\.border-medium\.border-primary\]\:ms-\[calc\(var\(--heroui-border-width-medium\)\*-1\)\]+.border-medium.border-primary,.\[\&\+\.border-medium\.border-secondary\]\:ms-\[calc\(var\(--heroui-border-width-medium\)\*-1\)\]+.border-medium.border-secondary,.\[\&\+\.border-medium\.border-success\]\:ms-\[calc\(var\(--heroui-border-width-medium\)\*-1\)\]+.border-medium.border-success,.\[\&\+\.border-medium\.border-warning\]\:ms-\[calc\(var\(--heroui-border-width-medium\)\*-1\)\]+.border-medium.border-warning{margin-inline-start:calc(var(--heroui-border-width-medium)*-1)}.\[\&\:not\(\:first-child\)\]\:-ml-1:not(:first-child){margin-left:calc(var(--spacing)*-1)}.\[\&\:not\(\:first-child\)\:not\(\:last-child\)\]\:rounded-none:not(:first-child):not(:last-child){border-radius:0}.\[\&\:not\(\:first-of-type\)\]\:ms-\[calc\(theme\(borderWidth\.2\)\*-1\)\]:not(:first-of-type){margin-inline-start:-2px}.\[\&\:not\(\:first-of-type\)\:not\(\:last-of-type\)\]\:rounded-none:not(:first-of-type):not(:last-of-type){border-radius:0}.\[\&\>\*\]\:relative>*{position:relative}.\[\&\>\*\]\:z-1>*{z-index:1}.\[\&\>svg\]\:max-w-\[theme\(spacing\.8\)\]>svg{max-width:2rem}.\[\&\>tr\]\:first\:rounded-lg>tr:first-child{border-radius:var(--radius-lg)}.\[\&\>tr\]\:first\:shadow-small>tr:first-child{--tw-shadow:var(--heroui-box-shadow-small);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.\[\&\[data-hover\=true\]\:not\(\[data-active\=true\]\)\]\:bg-default-100[data-hover=true]:not([data-active=true]){background-color:hsl(var(--heroui-default-100)/1)}.\[\&\[data-hover\=true\]\:not\(\[data-active\=true\]\)\]\:bg-default-200[data-hover=true]:not([data-active=true]){background-color:hsl(var(--heroui-default-200)/1)}}.markdown-container code:before,.markdown-container code:after{content:none}.prose{overflow-wrap:break-word}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pop-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{to{transform:translate(200%)}}@keyframes spinner-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes drip-expand{0%{opacity:.2;transform:scale(0)}to{opacity:0;transform:scale(2)}}@keyframes appearance-in{0%{opacity:0;transform:translateZ(0)scale(.95)}60%{opacity:.75;backface-visibility:hidden;webkit-font-smoothing:antialiased;transform:translateZ(0)scale(1.05)}to{opacity:1;transform:translateZ(0)scale(1)}}@keyframes indeterminate-bar{0%{transform:translate(-50%)scaleX(.2)}to{transform:translate(100%)scaleX(1)}}@keyframes sway{0%{transform:translate(0)}50%{transform:translateY(-150%)}to{transform:translate(0)}}@keyframes blink{0%{opacity:.2}20%{opacity:1}to{opacity:.2}}@keyframes fade-out{0%{opacity:1}to{opacity:.15}}._GzYRV{line-height:1.2;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}._3eOF8{margin-right:5px;font-weight:700}._3eOF8+._3eOF8{margin-left:-5px}._1MFti{cursor:pointer}._f10Tu{font-size:1.2em;margin-right:5px;-webkit-user-select:none;-moz-user-select:none;user-select:none}._1UmXx:after{content:"▸"}._1LId0:after{content:"▾"}._1pNG9{margin-right:5px}._1pNG9:after{content:"...";font-size:.8em}._2IvMF{background:#eee}._2bkNM{margin:0;padding:0 10px}._1BXBN{margin:0;padding:0}._1MGIk{font-weight:600;margin-right:5px;color:#000}._3uHL6{color:#000}._2T6PJ,._1Gho6{color:#df113a}._vGjyY{color:#2a3f3c}._1bQdo{color:#0b75f5}._3zQKs{color:#469038}._1xvuR{color:#43413d}._oLqym,._2AXVT,._2KJWg{color:#000}._11RoI{background:#002b36}._17H2C,._3QHg2,._3fDAz{color:#fdf6e3}._2bSDX{font-weight:bolder;margin-right:5px;color:#fdf6e3}._gsbQL{color:#fdf6e3}._LaAZe,._GTKgm{color:#81b5ac}._Chy1W{color:#cb4b16}._2bveF{color:#d33682}._2vRm-{color:#ae81ff}._1prJR{color:#268bd2} diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/index-CCp8MAsk.css b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/index-CCp8MAsk.css new file mode 100644 index 000000000..d8a534cdf --- /dev/null +++ b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/index-CCp8MAsk.css @@ -0,0 +1 @@ +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scroll-snap-strictness:proximity;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-yellow-600:oklch(68.1% .162 75.834);--color-green-600:oklch(62.7% .194 149.214);--color-purple-500:oklch(62.7% .265 303.9);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-extralight:200;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--animate-spin:spin 1s linear infinite;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--breakpoint-xs:28rem;--animate-pop-in:pop-in .2s ease-out forwards}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root,[data-theme]{color:hsl(var(--heroui-foreground));background-color:hsl(var(--heroui-background))}:root,[data-theme=light]{color-scheme:light;--heroui-background:0 0% 100%;--heroui-foreground-50:0 0% 98.04%;--heroui-foreground-100:240 4.76% 95.88%;--heroui-foreground-200:240 5.88% 90%;--heroui-foreground-300:240 4.88% 83.92%;--heroui-foreground-400:240 5.03% 64.9%;--heroui-foreground-500:240 3.83% 46.08%;--heroui-foreground-600:240 5.2% 33.92%;--heroui-foreground-700:240 5.26% 26.08%;--heroui-foreground-800:240 3.7% 15.88%;--heroui-foreground-900:240 5.88% 10%;--heroui-foreground:201.82 24.44% 8.82%;--heroui-divider:0 0% 6.67%;--heroui-focus:212.02 100% 46.67%;--heroui-overlay:0 0% 0%;--heroui-content1:0 0% 100%;--heroui-content1-foreground:201.82 24.44% 8.82%;--heroui-content2:240 4.76% 95.88%;--heroui-content2-foreground:240 3.7% 15.88%;--heroui-content3:240 5.88% 90%;--heroui-content3-foreground:240 5.26% 26.08%;--heroui-content4:240 4.88% 83.92%;--heroui-content4-foreground:240 5.2% 33.92%;--heroui-default-50:0 0% 98.04%;--heroui-default-100:240 4.76% 95.88%;--heroui-default-200:240 5.88% 90%;--heroui-default-300:240 4.88% 83.92%;--heroui-default-400:240 5.03% 64.9%;--heroui-default-500:240 3.83% 46.08%;--heroui-default-600:240 5.2% 33.92%;--heroui-default-700:240 5.26% 26.08%;--heroui-default-800:240 3.7% 15.88%;--heroui-default-900:240 5.88% 10%;--heroui-default-foreground:0 0% 0%;--heroui-default:240 4.88% 83.92%;--heroui-primary-50:212.5 92.31% 94.9%;--heroui-primary-100:211.84 92.45% 89.61%;--heroui-primary-200:211.84 92.45% 79.22%;--heroui-primary-300:212.24 92.45% 68.82%;--heroui-primary-400:212.14 92.45% 58.43%;--heroui-primary-500:212.02 100% 46.67%;--heroui-primary-600:212.14 100% 38.43%;--heroui-primary-700:212.24 100% 28.82%;--heroui-primary-800:211.84 100% 19.22%;--heroui-primary-900:211.84 100% 9.61%;--heroui-primary-foreground:0 0% 100%;--heroui-primary:212.02 100% 46.67%;--heroui-secondary-50:270 61.54% 94.9%;--heroui-secondary-100:270 59.26% 89.41%;--heroui-secondary-200:270 59.26% 78.82%;--heroui-secondary-300:270 59.26% 68.24%;--heroui-secondary-400:270 59.26% 57.65%;--heroui-secondary-500:270 66.67% 47.06%;--heroui-secondary-600:270 66.67% 37.65%;--heroui-secondary-700:270 66.67% 28.24%;--heroui-secondary-800:270 66.67% 18.82%;--heroui-secondary-900:270 66.67% 9.41%;--heroui-secondary-foreground:0 0% 100%;--heroui-secondary:270 66.67% 47.06%;--heroui-success-50:146.67 64.29% 94.51%;--heroui-success-100:145.71 61.4% 88.82%;--heroui-success-200:146.2 61.74% 77.45%;--heroui-success-300:145.79 62.57% 66.47%;--heroui-success-400:146.01 62.45% 55.1%;--heroui-success-500:145.96 79.46% 43.92%;--heroui-success-600:146.01 79.89% 35.1%;--heroui-success-700:145.79 79.26% 26.47%;--heroui-success-800:146.2 79.78% 17.45%;--heroui-success-900:145.71 77.78% 8.82%;--heroui-success-foreground:0 0% 0%;--heroui-success:145.96 79.46% 43.92%;--heroui-warning-50:54.55 91.67% 95.29%;--heroui-warning-100:37.14 91.3% 90.98%;--heroui-warning-200:37.14 91.3% 81.96%;--heroui-warning-300:36.96 91.24% 73.14%;--heroui-warning-400:37.01 91.26% 64.12%;--heroui-warning-500:37.03 91.27% 55.1%;--heroui-warning-600:37.01 74.22% 44.12%;--heroui-warning-700:36.96 73.96% 33.14%;--heroui-warning-800:37.14 75% 21.96%;--heroui-warning-900:37.14 75% 10.98%;--heroui-warning-foreground:0 0% 0%;--heroui-warning:37.03 91.27% 55.1%;--heroui-danger-50:339.13 92% 95.1%;--heroui-danger-100:340 91.84% 90.39%;--heroui-danger-200:339.33 90% 80.39%;--heroui-danger-300:339.11 90.6% 70.78%;--heroui-danger-400:339 90% 60.78%;--heroui-danger-500:339.2 90.36% 51.18%;--heroui-danger-600:339 86.54% 40.78%;--heroui-danger-700:339.11 85.99% 30.78%;--heroui-danger-800:339.33 86.54% 20.39%;--heroui-danger-900:340 84.91% 10.39%;--heroui-danger-foreground:0 0% 100%;--heroui-danger:339.2 90.36% 51.18%;--heroui-divider-weight:1px;--heroui-disabled-opacity:.5;--heroui-font-size-tiny:.75rem;--heroui-font-size-small:.875rem;--heroui-font-size-medium:1rem;--heroui-font-size-large:1.125rem;--heroui-line-height-tiny:1rem;--heroui-line-height-small:1.25rem;--heroui-line-height-medium:1.5rem;--heroui-line-height-large:1.75rem;--heroui-radius-small:8px;--heroui-radius-medium:12px;--heroui-radius-large:14px;--heroui-border-width-small:1px;--heroui-border-width-medium:2px;--heroui-border-width-large:3px;--heroui-box-shadow-small:0px 0px 5px 0px #00000005,0px 2px 10px 0px #0000000f,0px 0px 1px 0px #0000004d;--heroui-box-shadow-medium:0px 0px 15px 0px #00000008,0px 2px 30px 0px #00000014,0px 0px 1px 0px #0000004d;--heroui-box-shadow-large:0px 0px 30px 0px #0000000a,0px 30px 60px 0px #0000001f,0px 0px 1px 0px #0000004d;--heroui-hover-opacity:.8}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.start-0{inset-inline-start:calc(var(--spacing)*0)}.start-1\.5{inset-inline-start:calc(var(--spacing)*1.5)}.start-2{inset-inline-start:calc(var(--spacing)*2)}.start-3{inset-inline-start:calc(var(--spacing)*3)}.start-auto{inset-inline-start:auto}.end-1{inset-inline-end:calc(var(--spacing)*1)}.end-1\.5{inset-inline-end:calc(var(--spacing)*1.5)}.end-3{inset-inline-end:calc(var(--spacing)*3)}.end-18{inset-inline-end:calc(var(--spacing)*18)}.end-auto{inset-inline-end:auto}.-top-2{top:calc(var(--spacing)*-2)}.-top-16{top:calc(var(--spacing)*-16)}.-top-px{top:-1px}.top-0{top:calc(var(--spacing)*0)}.top-1{top:calc(var(--spacing)*1)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.top-\[5\%\]{top:5%}.top-\[10\%\]{top:10%}.top-\[calc\(46\%\)\]{top:46%}.top-\[calc\(100\%_\+_2px\)\]{top:calc(100% + 2px)}.top-\[var\(--navbar-height\)\]{top:var(--navbar-height)}.-right-2{right:calc(var(--spacing)*-2)}.-right-px{right:-1px}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.right-\[5\%\]{right:5%}.right-\[10\%\]{right:10%}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-16{bottom:calc(var(--spacing)*16)}.bottom-\[5\%\]{bottom:5%}.bottom-\[10\%\]{bottom:10%}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-4{left:calc(var(--spacing)*4)}.left-\[5\%\]{left:5%}.left-\[10\%\]{left:10%}.left-\[calc\(37\.5\%\)\]{left:37.5%}.-z-30{z-index:-30}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[100\]{z-index:100}.order-1{order:1}.order-2{order:2}.order-3{order:3}.container{width:100%}@media(min-width:28rem){.container{max-width:28rem}}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-m-2{margin:calc(var(--spacing)*-2)}.-m-2\.5{margin:calc(var(--spacing)*-2.5)}.m-0{margin:calc(var(--spacing)*0)}.m-auto{margin:auto}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.-mx-2{margin-inline:calc(var(--spacing)*-2)}.mx-0{margin-inline:calc(var(--spacing)*0)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-\[calc\(\(theme\(spacing\.5\)-theme\(spacing\.1\)\)\/2\)\]{margin-inline:.5rem}.mx-\[calc\(\(theme\(spacing\.6\)-theme\(spacing\.3\)\)\/2\)\]{margin-inline:.375rem}.mx-\[calc\(\(theme\(spacing\.7\)-theme\(spacing\.5\)\)\/2\)\]{margin-inline:.25rem}.mx-auto{margin-inline:auto}.my-0{margin-block:calc(var(--spacing)*0)}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.my-16{margin-block:calc(var(--spacing)*16)}.my-\[calc\(\(theme\(spacing\.5\)-theme\(spacing\.1\)\)\/2\)\]{margin-block:.5rem}.my-\[calc\(\(theme\(spacing\.6\)-theme\(spacing\.3\)\)\/2\)\]{margin-block:.375rem}.my-\[calc\(\(theme\(spacing\.7\)-theme\(spacing\.5\)\)\/2\)\]{margin-block:.25rem}.my-auto{margin-block:auto}.-ms-2{margin-inline-start:calc(var(--spacing)*-2)}.ms-2{margin-inline-start:calc(var(--spacing)*2)}.ms-3{margin-inline-start:calc(var(--spacing)*3)}.me-2{margin-inline-end:calc(var(--spacing)*2)}.me-4{margin-inline-end:calc(var(--spacing)*4)}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px rgb(var(--tw-prose-kbd-shadows)/10%);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:NaN NaN NaN;--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-auto{margin-top:auto}.-mr-2{margin-right:calc(var(--spacing)*-2)}.mr-4{margin-right:calc(var(--spacing)*4)}.mr-auto{margin-right:auto}.mb-0{margin-bottom:calc(var(--spacing)*0)}.mb-0\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-px{margin-bottom:1px}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.box-content{box-sizing:content-box}.scrollbar-default{-ms-overflow-style:auto;scrollbar-width:auto}.scrollbar-default::-webkit-scrollbar{display:block}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.aspect-square{aspect-ratio:1}.size-1{width:calc(var(--spacing)*1);height:calc(var(--spacing)*1)}.size-1\.5{width:calc(var(--spacing)*1.5);height:calc(var(--spacing)*1.5)}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.\!h-auto{height:auto!important}.h-0\.5{height:calc(var(--spacing)*.5)}.h-1{height:calc(var(--spacing)*1)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-40{height:calc(var(--spacing)*40)}.h-\[--visual-viewport-height\]{height:--visual-viewport-height}.h-\[2px\]{height:2px}.h-\[8\%\]{height:8%}.h-\[50\%\]{height:50%}.h-\[100dvh\]{height:100dvh}.h-\[calc\(100dvh_-_var\(--navbar-height\)\)\]{height:calc(100dvh - var(--navbar-height))}.h-\[var\(--navbar-height\)\]{height:var(--navbar-height)}.h-\[var\(--picker-height\)\]{height:var(--picker-height)}.h-auto{height:auto}.h-divider{height:var(--heroui-divider-weight)}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\[20rem\]{max-height:20rem}.max-h-\[24rem\]{max-height:24rem}.max-h-\[28rem\]{max-height:28rem}.max-h-\[32rem\]{max-height:32rem}.max-h-\[36rem\]{max-height:36rem}.max-h-\[42rem\]{max-height:42rem}.max-h-\[48rem\]{max-height:48rem}.max-h-\[56rem\]{max-height:56rem}.max-h-\[64rem\]{max-height:64rem}.max-h-\[90vh\]{max-height:90vh}.max-h-\[400px\]{max-height:400px}.max-h-\[664px\]{max-height:664px}.max-h-\[calc\(100\%_-_8rem\)\]{max-height:calc(100% - 8rem)}.max-h-\[none\]{max-height:none}.max-h-full{max-height:100%}.min-h-3{min-height:calc(var(--spacing)*3)}.min-h-3\.5{min-height:calc(var(--spacing)*3.5)}.min-h-4{min-height:calc(var(--spacing)*4)}.min-h-5{min-height:calc(var(--spacing)*5)}.min-h-6{min-height:calc(var(--spacing)*6)}.min-h-7{min-height:calc(var(--spacing)*7)}.min-h-8{min-height:calc(var(--spacing)*8)}.min-h-10{min-height:calc(var(--spacing)*10)}.min-h-12{min-height:calc(var(--spacing)*12)}.min-h-14{min-height:calc(var(--spacing)*14)}.min-h-16{min-height:calc(var(--spacing)*16)}.min-h-\[32px\]{min-height:32px}.min-h-\[48rem\]{min-height:48rem}.min-h-\[50px\]{min-height:50px}.min-h-\[100dvh\]{min-height:100dvh}.min-h-screen{min-height:100vh}.w-1{width:calc(var(--spacing)*1)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-14{width:calc(var(--spacing)*14)}.w-\[25\%\]{width:25%}.w-\[80\%\]{width:80%}.w-\[calc\(100\%_-_16px\)\]{width:calc(100% - 16px)}.w-\[calc\(100\%_-theme\(spacing\.6\)\)\]{width:calc(100% - 1.5rem)}.w-\[calc\(var\(--visible-months\)_\*_var\(--calendar-width\)\)\]{width:calc(var(--visible-months)*var(--calendar-width))}.w-auto{width:auto}.w-divider{width:var(--heroui-divider-weight)}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.w-screen{width:100vw}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[33\%\]{max-width:33%}.max-w-\[75\%\]{max-width:75%}.max-w-\[90vw\]{max-width:90vw}.max-w-\[270px\]{max-width:270px}.max-w-\[600px\]{max-width:600px}.max-w-\[640px\]{max-width:640px}.max-w-\[768px\]{max-width:768px}.max-w-\[1024px\]{max-width:1024px}.max-w-\[1280px\]{max-width:1280px}.max-w-\[1536px\]{max-width:1536px}.max-w-\[none\]{max-width:none}.max-w-fit{max-width:fit-content}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-3{min-width:calc(var(--spacing)*3)}.min-w-3\.5{min-width:calc(var(--spacing)*3.5)}.min-w-4{min-width:calc(var(--spacing)*4)}.min-w-5{min-width:calc(var(--spacing)*5)}.min-w-6{min-width:calc(var(--spacing)*6)}.min-w-7{min-width:calc(var(--spacing)*7)}.min-w-8{min-width:calc(var(--spacing)*8)}.min-w-9{min-width:calc(var(--spacing)*9)}.min-w-10{min-width:calc(var(--spacing)*10)}.min-w-12{min-width:calc(var(--spacing)*12)}.min-w-16{min-width:calc(var(--spacing)*16)}.min-w-20{min-width:calc(var(--spacing)*20)}.min-w-24{min-width:calc(var(--spacing)*24)}.min-w-40{min-width:calc(var(--spacing)*40)}.min-w-\[4\.5rem\]{min-width:4.5rem}.min-w-\[120px\]{min-width:120px}.min-w-\[200px\]{min-width:200px}.min-w-full{min-width:100%}.min-w-max{min-width:max-content}.min-w-min{min-width:min-content}.flex-1{flex:1}.flex-auto{flex:auto}.flex-initial{flex:0 auto}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.basis-0{flex-basis:calc(var(--spacing)*0)}.table-auto{table-layout:auto}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.origin-center{transform-origin:50%}.origin-left{transform-origin:0}.origin-right{transform-origin:100%}.origin-top{transform-origin:top}.origin-top-left{transform-origin:0 0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-1{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-1\/2{--tw-translate-x: 50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-1{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-1\/2,.translate-y-2\/4{--tw-translate-y: 50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-3\/4{--tw-translate-y: 75% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-50{--tw-scale-x:50%;--tw-scale-y:50%;--tw-scale-z:50%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-90{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-125{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x)var(--tw-scale-y)}.-rotate-45{rotate:-45deg}.rotate-0{rotate:none}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.spinner-bar-animation{animation-delay:calc(-1.2s + (.1s*var(--bar-index)));transform:rotate(calc(30deg*var(--bar-index)))translate(140%)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.transform-gpu{transform:translateZ(0)var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-\[appearance-in_1s_infinite\]{animation:1s infinite appearance-in}.animate-blink{animation:1.4s infinite both blink}.animate-drip-expand{animation:.42s linear drip-expand}.animate-fade-out{animation:1.2s linear infinite fade-out}.animate-indeterminate-bar{animation:1.5s cubic-bezier(.65,.815,.735,.395) infinite indeterminate-bar}.animate-none{animation:none}.animate-spin{animation:var(--animate-spin)}.animate-spinner-ease-spin{animation:.8s infinite spinner-spin}.animate-spinner-linear-spin{animation:.8s linear infinite spinner-spin}.animate-sway{animation:.75s infinite sway}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.touch-none{touch-action:none}.resize-none{resize:none}.snap-y{scroll-snap-type:y var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.snap-center{scroll-snap-align:center}.scroll-py-6{scroll-padding-block:calc(var(--spacing)*6)}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{appearance:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.\!gap-0{gap:calc(var(--spacing)*0)!important}.gap-0{gap:calc(var(--spacing)*0)}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-0{column-gap:calc(var(--spacing)*0)}.gap-x-0\.5{column-gap:calc(var(--spacing)*.5)}.gap-x-1{column-gap:calc(var(--spacing)*1)}.gap-x-2{column-gap:calc(var(--spacing)*2)}.gap-x-4{column-gap:calc(var(--spacing)*4)}.gap-x-6{column-gap:calc(var(--spacing)*6)}:where(.space-x-0\.5>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*.5)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-x-reverse)))}.gap-y-0{row-gap:calc(var(--spacing)*0)}.gap-y-1\.5{row-gap:calc(var(--spacing)*1.5)}.gap-y-2{row-gap:calc(var(--spacing)*2)}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-y-scroll{overflow-y:scroll}.\!rounded-none{border-radius:0!important}.rounded{border-radius:.25rem}.rounded-\[calc\(var\(--heroui-radius-large\)\/1\.5\)\]{border-radius:calc(var(--heroui-radius-large)/1.5)}.rounded-\[calc\(var\(--heroui-radius-medium\)\*0\.5\)\]{border-radius:calc(var(--heroui-radius-medium)*.5)}.rounded-\[calc\(var\(--heroui-radius-medium\)\*0\.6\)\]{border-radius:calc(var(--heroui-radius-medium)*.6)}.rounded-\[calc\(var\(--heroui-radius-medium\)\*0\.7\)\]{border-radius:calc(var(--heroui-radius-medium)*.7)}.rounded-\[calc\(var\(--heroui-radius-medium\)\/2\)\]{border-radius:calc(var(--heroui-radius-medium)/2)}.rounded-\[calc\(var\(--heroui-radius-small\)\/2\)\]{border-radius:calc(var(--heroui-radius-small)/2)}.rounded-full{border-radius:3.40282e38px}.rounded-large{border-radius:var(--heroui-radius-large)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-medium{border-radius:var(--heroui-radius-medium)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-small{border-radius:var(--heroui-radius-small)}.\!rounded-s-none{border-start-start-radius:0!important;border-end-start-radius:0!important}.\!rounded-e-none{border-start-end-radius:0!important;border-end-end-radius:0!important}.rounded-t-large{border-top-left-radius:var(--heroui-radius-large);border-top-right-radius:var(--heroui-radius-large)}.rounded-t-medium{border-top-left-radius:var(--heroui-radius-medium);border-top-right-radius:var(--heroui-radius-medium)}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-t-small{border-top-left-radius:var(--heroui-radius-small);border-top-right-radius:var(--heroui-radius-small)}.rounded-l-medium{border-top-left-radius:var(--heroui-radius-medium);border-bottom-left-radius:var(--heroui-radius-medium)}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-tr-medium{border-top-right-radius:var(--heroui-radius-medium)}.rounded-b-large{border-bottom-right-radius:var(--heroui-radius-large);border-bottom-left-radius:var(--heroui-radius-large)}.rounded-b-medium{border-bottom-right-radius:var(--heroui-radius-medium);border-bottom-left-radius:var(--heroui-radius-medium)}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-b-small{border-bottom-right-radius:var(--heroui-radius-small);border-bottom-left-radius:var(--heroui-radius-small)}.rounded-br-medium{border-bottom-right-radius:var(--heroui-radius-medium)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-1{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-3{border-style:var(--tw-border-style);border-width:3px}.border-medium{border-style:var(--tw-border-style);border-width:var(--heroui-border-width-medium)}.border-small{border-style:var(--tw-border-style);border-width:var(--heroui-border-width-small)}.border-x-\[calc\(theme\(spacing\.5\)\/2\)\]{border-inline-style:var(--tw-border-style);border-inline-width:.625rem}.border-x-\[calc\(theme\(spacing\.6\)\/2\)\]{border-inline-style:var(--tw-border-style);border-inline-width:.75rem}.border-x-\[calc\(theme\(spacing\.7\)\/2\)\]{border-inline-style:var(--tw-border-style);border-inline-width:.875rem}.border-y-\[calc\(theme\(spacing\.5\)\/2\)\]{border-block-style:var(--tw-border-style);border-block-width:.625rem}.border-y-\[calc\(theme\(spacing\.6\)\/2\)\]{border-block-style:var(--tw-border-style);border-block-width:.75rem}.border-y-\[calc\(theme\(spacing\.7\)\/2\)\]{border-block-style:var(--tw-border-style);border-block-width:.875rem}.border-t,.border-t-1{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-medium{border-bottom-style:var(--tw-border-style);border-bottom-width:var(--heroui-border-width-medium)}.border-b-small{border-bottom-style:var(--tw-border-style);border-bottom-width:var(--heroui-border-width-small)}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.\!border-none{--tw-border-style:none!important;border-style:none!important}.border-dotted{--tw-border-style:dotted;border-style:dotted}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.\!border-danger{border-color:hsl(var(--heroui-danger)/1)!important}.border-background{border-color:hsl(var(--heroui-background)/1)}.border-danger{border-color:hsl(var(--heroui-danger)/1)}.border-danger-100{border-color:hsl(var(--heroui-danger-100)/1)}.border-danger-200{border-color:hsl(var(--heroui-danger-200)/1)}.border-danger-400{border-color:hsl(var(--heroui-danger-400)/1)}.border-default{border-color:hsl(var(--heroui-default)/1)}.border-default-100{border-color:hsl(var(--heroui-default-100)/1)}.border-default-200{border-color:hsl(var(--heroui-default-200)/1)}.border-default-300{border-color:hsl(var(--heroui-default-300)/1)}.border-default-400{border-color:hsl(var(--heroui-default-400)/1)}.border-divider{border-color:hsl(var(--heroui-divider)/.15)}.border-foreground{border-color:hsl(var(--heroui-foreground)/1)}.border-foreground-400{border-color:hsl(var(--heroui-foreground-400)/1)}.border-primary{border-color:hsl(var(--heroui-primary)/1)}.border-primary-100{border-color:hsl(var(--heroui-primary-100)/1)}.border-primary-200{border-color:hsl(var(--heroui-primary-200)/1)}.border-primary-400{border-color:hsl(var(--heroui-primary-400)/1)}.border-secondary{border-color:hsl(var(--heroui-secondary)/1)}.border-secondary-100{border-color:hsl(var(--heroui-secondary-100)/1)}.border-secondary-200{border-color:hsl(var(--heroui-secondary-200)/1)}.border-secondary-400{border-color:hsl(var(--heroui-secondary-400)/1)}.border-success{border-color:hsl(var(--heroui-success)/1)}.border-success-100{border-color:hsl(var(--heroui-success-100)/1)}.border-success-200{border-color:hsl(var(--heroui-success-200)/1)}.border-success-300{border-color:hsl(var(--heroui-success-300)/1)}.border-success-400{border-color:hsl(var(--heroui-success-400)/1)}.border-transparent{border-color:#0000}.border-warning{border-color:hsl(var(--heroui-warning)/1)}.border-warning-100{border-color:hsl(var(--heroui-warning-100)/1)}.border-warning-200{border-color:hsl(var(--heroui-warning-200)/1)}.border-warning-300{border-color:hsl(var(--heroui-warning-300)/1)}.border-warning-400{border-color:hsl(var(--heroui-warning-400)/1)}.border-x-transparent{border-inline-color:#0000}.border-y-transparent{border-block-color:#0000}.border-t-transparent{border-top-color:#0000}.border-r-transparent{border-right-color:#0000}.border-b-current{border-bottom-color:currentColor}.border-b-danger{border-bottom-color:hsl(var(--heroui-danger)/1)}.border-b-default{border-bottom-color:hsl(var(--heroui-default)/1)}.border-b-primary{border-bottom-color:hsl(var(--heroui-primary)/1)}.border-b-secondary{border-bottom-color:hsl(var(--heroui-secondary)/1)}.border-b-success{border-bottom-color:hsl(var(--heroui-success)/1)}.border-b-warning{border-bottom-color:hsl(var(--heroui-warning)/1)}.border-b-white{border-bottom-color:var(--color-white)}.border-l-transparent{border-left-color:#0000}.\!bg-danger-50{background-color:hsl(var(--heroui-danger-50)/1)!important}.\!bg-transparent{background-color:#0000!important}.bg-background,.bg-background\/10{background-color:hsl(var(--heroui-background)/1)}@supports (color:color-mix(in lab,red,red)){.bg-background\/10{background-color:color-mix(in oklab,hsl(var(--heroui-background)/1)10%,transparent)}}.bg-background\/70{background-color:hsl(var(--heroui-background)/1)}@supports (color:color-mix(in lab,red,red)){.bg-background\/70{background-color:color-mix(in oklab,hsl(var(--heroui-background)/1)70%,transparent)}}.bg-background\/80{background-color:hsl(var(--heroui-background)/1)}@supports (color:color-mix(in lab,red,red)){.bg-background\/80{background-color:color-mix(in oklab,hsl(var(--heroui-background)/1)80%,transparent)}}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\/90{background-color:#000000e6}@supports (color:color-mix(in lab,red,red)){.bg-black\/90{background-color:color-mix(in oklab,var(--color-black)90%,transparent)}}.bg-content1{background-color:hsl(var(--heroui-content1)/1)}.bg-content3{background-color:hsl(var(--heroui-content3)/1)}.bg-current{background-color:currentColor}.bg-danger{background-color:hsl(var(--heroui-danger)/1)}.bg-danger-50,.bg-danger-50\/50{background-color:hsl(var(--heroui-danger-50)/1)}@supports (color:color-mix(in lab,red,red)){.bg-danger-50\/50{background-color:color-mix(in oklab,hsl(var(--heroui-danger-50)/1)50%,transparent)}}.bg-danger-100{background-color:hsl(var(--heroui-danger-100)/1)}.bg-danger-400{background-color:hsl(var(--heroui-danger-400)/1)}.bg-danger\/20{background-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.bg-danger\/20{background-color:color-mix(in oklab,hsl(var(--heroui-danger)/1)20%,transparent)}}.bg-default{background-color:hsl(var(--heroui-default)/1)}.bg-default-50{background-color:hsl(var(--heroui-default-50)/1)}.bg-default-100,.bg-default-100\/50{background-color:hsl(var(--heroui-default-100)/1)}@supports (color:color-mix(in lab,red,red)){.bg-default-100\/50{background-color:color-mix(in oklab,hsl(var(--heroui-default-100)/1)50%,transparent)}}.bg-default-200{background-color:hsl(var(--heroui-default-200)/1)}.bg-default-300\/50{background-color:hsl(var(--heroui-default-300)/1)}@supports (color:color-mix(in lab,red,red)){.bg-default-300\/50{background-color:color-mix(in oklab,hsl(var(--heroui-default-300)/1)50%,transparent)}}.bg-default-400{background-color:hsl(var(--heroui-default-400)/1)}.bg-default-500{background-color:hsl(var(--heroui-default-500)/1)}.bg-default-800{background-color:hsl(var(--heroui-default-800)/1)}.bg-default\/40{background-color:hsl(var(--heroui-default)/1)}@supports (color:color-mix(in lab,red,red)){.bg-default\/40{background-color:color-mix(in oklab,hsl(var(--heroui-default)/1)40%,transparent)}}.bg-divider{background-color:hsl(var(--heroui-divider)/.15)}.bg-foreground{background-color:hsl(var(--heroui-foreground)/1)}.bg-foreground-100{background-color:hsl(var(--heroui-foreground-100)/1)}.bg-foreground-400{background-color:hsl(var(--heroui-foreground-400)/1)}.bg-foreground\/10{background-color:hsl(var(--heroui-foreground)/1)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\/10{background-color:color-mix(in oklab,hsl(var(--heroui-foreground)/1)10%,transparent)}}.bg-overlay\/30{background-color:hsl(var(--heroui-overlay)/1)}@supports (color:color-mix(in lab,red,red)){.bg-overlay\/30{background-color:color-mix(in oklab,hsl(var(--heroui-overlay)/1)30%,transparent)}}.bg-overlay\/50{background-color:hsl(var(--heroui-overlay)/1)}@supports (color:color-mix(in lab,red,red)){.bg-overlay\/50{background-color:color-mix(in oklab,hsl(var(--heroui-overlay)/1)50%,transparent)}}.bg-primary{background-color:hsl(var(--heroui-primary)/1)}.bg-primary-50{background-color:hsl(var(--heroui-primary-50)/1)}.bg-primary-100{background-color:hsl(var(--heroui-primary-100)/1)}.bg-primary-400{background-color:hsl(var(--heroui-primary-400)/1)}.bg-primary\/20{background-color:hsl(var(--heroui-primary)/1)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/20{background-color:color-mix(in oklab,hsl(var(--heroui-primary)/1)20%,transparent)}}.bg-secondary{background-color:hsl(var(--heroui-secondary)/1)}.bg-secondary-50{background-color:hsl(var(--heroui-secondary-50)/1)}.bg-secondary-100{background-color:hsl(var(--heroui-secondary-100)/1)}.bg-secondary-400{background-color:hsl(var(--heroui-secondary-400)/1)}.bg-secondary\/20{background-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.bg-secondary\/20{background-color:color-mix(in oklab,hsl(var(--heroui-secondary)/1)20%,transparent)}}.bg-success{background-color:hsl(var(--heroui-success)/1)}.bg-success-50,.bg-success-50\/50{background-color:hsl(var(--heroui-success-50)/1)}@supports (color:color-mix(in lab,red,red)){.bg-success-50\/50{background-color:color-mix(in oklab,hsl(var(--heroui-success-50)/1)50%,transparent)}}.bg-success-100{background-color:hsl(var(--heroui-success-100)/1)}.bg-success-400{background-color:hsl(var(--heroui-success-400)/1)}.bg-success\/20{background-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.bg-success\/20{background-color:color-mix(in oklab,hsl(var(--heroui-success)/1)20%,transparent)}}.bg-transparent{background-color:#0000}.bg-warning{background-color:hsl(var(--heroui-warning)/1)}.bg-warning-50,.bg-warning-50\/50{background-color:hsl(var(--heroui-warning-50)/1)}@supports (color:color-mix(in lab,red,red)){.bg-warning-50\/50{background-color:color-mix(in oklab,hsl(var(--heroui-warning-50)/1)50%,transparent)}}.bg-warning-100{background-color:hsl(var(--heroui-warning-100)/1)}.bg-warning-400{background-color:hsl(var(--heroui-warning-400)/1)}.bg-warning\/20{background-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.bg-warning\/20{background-color:color-mix(in oklab,hsl(var(--heroui-warning)/1)20%,transparent)}}.bg-white{background-color:var(--color-white)}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-img-inherit{background-image:inherit}.bg-stripe-gradient-danger{background-image:linear-gradient(45deg,hsl(var(--heroui-danger-200))25%,hsl(var(--heroui-danger))25%50%,hsl(var(--heroui-danger-200))50%75%,hsl(var(--heroui-danger))75%,hsl(var(--heroui-danger)))}.bg-stripe-gradient-default{background-image:linear-gradient(45deg,hsl(var(--heroui-default-200))25%,hsl(var(--heroui-default-400))25%50%,hsl(var(--heroui-default-200))50%75%,hsl(var(--heroui-default-400))75%,hsl(var(--heroui-default-400)))}.bg-stripe-gradient-primary{background-image:linear-gradient(45deg,hsl(var(--heroui-primary-200))25%,hsl(var(--heroui-primary))25%50%,hsl(var(--heroui-primary-200))50%75%,hsl(var(--heroui-primary))75%,hsl(var(--heroui-primary)))}.bg-stripe-gradient-secondary{background-image:linear-gradient(45deg,hsl(var(--heroui-secondary-200))25%,hsl(var(--heroui-secondary))25%50%,hsl(var(--heroui-secondary-200))50%75%,hsl(var(--heroui-secondary))75%,hsl(var(--heroui-secondary)))}.bg-stripe-gradient-success{background-image:linear-gradient(45deg,hsl(var(--heroui-success-200))25%,hsl(var(--heroui-success))25%50%,hsl(var(--heroui-success-200))50%75%,hsl(var(--heroui-success))75%,hsl(var(--heroui-success)))}.bg-stripe-gradient-warning{background-image:linear-gradient(45deg,hsl(var(--heroui-warning-200))25%,hsl(var(--heroui-warning))25%50%,hsl(var(--heroui-warning-200))50%75%,hsl(var(--heroui-warning))75%,hsl(var(--heroui-warning)))}.from-default-600{--tw-gradient-from:hsl(var(--heroui-default-600)/1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-default-200{--tw-gradient-via:hsl(var(--heroui-default-200)/1);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-transparent{--tw-gradient-via:transparent;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-current{--tw-gradient-to:currentcolor;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-danger{--tw-gradient-to:hsl(var(--heroui-danger)/1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-default{--tw-gradient-to:hsl(var(--heroui-default)/1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-default-600{--tw-gradient-to:hsl(var(--heroui-default-600)/1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-primary{--tw-gradient-to:hsl(var(--heroui-primary)/1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-secondary{--tw-gradient-to:hsl(var(--heroui-secondary)/1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-success{--tw-gradient-to:hsl(var(--heroui-success)/1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-warning{--tw-gradient-to:hsl(var(--heroui-warning)/1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-white{--tw-gradient-to:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.\[mask-image\:linear-gradient\(\#000\,\#000\,transparent_0\,\#000_var\(--scroll-shadow-size\)\,\#000_calc\(100\%_-_var\(--scroll-shadow-size\)\)\,transparent\)\]{-webkit-mask-image:linear-gradient(#000,#000,transparent 0,#000 var(--scroll-shadow-size),#000 calc(100% - var(--scroll-shadow-size)),transparent);mask-image:linear-gradient(#000,#000,transparent 0,#000 var(--scroll-shadow-size),#000 calc(100% - var(--scroll-shadow-size)),transparent)}.bg-clip-inherit{background-clip:inherit}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-current{fill:currentColor}.stroke-current{stroke:currentColor}.stroke-default-300\/50{stroke:hsl(var(--heroui-default-300)/1)}@supports (color:color-mix(in lab,red,red)){.stroke-default-300\/50{stroke:color-mix(in oklab,hsl(var(--heroui-default-300)/1)50%,transparent)}}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-2\.5{padding:calc(var(--spacing)*2.5)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.\!px-1{padding-inline:calc(var(--spacing)*1)!important}.px-0{padding-inline:calc(var(--spacing)*0)}.px-0\.5{padding-inline:calc(var(--spacing)*.5)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0{padding-block:calc(var(--spacing)*0)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.ps-1{padding-inline-start:calc(var(--spacing)*1)}.ps-2{padding-inline-start:calc(var(--spacing)*2)}.pe-2{padding-inline-end:calc(var(--spacing)*2)}.pe-6{padding-inline-end:calc(var(--spacing)*6)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-2{padding-top:calc(var(--spacing)*2)}.pr-0\.5{padding-right:calc(var(--spacing)*.5)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.\!pb-0{padding-bottom:calc(var(--spacing)*0)!important}.pb-0{padding-bottom:calc(var(--spacing)*0)}.pb-0\.5{padding-bottom:calc(var(--spacing)*.5)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-1\.5{padding-bottom:calc(var(--spacing)*1.5)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.pl-0{padding-left:calc(var(--spacing)*0)}.pl-0\.5{padding-left:calc(var(--spacing)*.5)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-\[1px\]{padding-left:1px}.text-center{text-align:center}.text-end{text-align:end}.text-left{text-align:left}.text-start{text-align:start}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-large{font-size:var(--heroui-font-size-large);line-height:var(--heroui-line-height-large)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-medium{font-size:var(--heroui-font-size-medium);line-height:var(--heroui-line-height-medium)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-small{font-size:var(--heroui-font-size-small);line-height:var(--heroui-line-height-small)}.text-tiny{font-size:var(--heroui-font-size-tiny);line-height:var(--heroui-line-height-tiny)}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.5rem\]{font-size:.5rem}.text-\[0\.6rem\]{font-size:.6rem}.text-\[0\.55rem\]{font-size:.55rem}.text-\[85\%\]{font-size:85%}.text-\[90\%\]{font-size:90%}.text-\[100\%\]{font-size:100%}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.leading-\[1\.15\]{--tw-leading:1.15;line-height:1.15}.leading-\[32px\]{--tw-leading:32px;line-height:32px}.leading-inherit{line-height:inherit}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extralight{--tw-font-weight:var(--font-weight-extralight);font-weight:var(--font-weight-extralight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.break-words{overflow-wrap:break-word}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.\!text-danger{color:hsl(var(--heroui-danger)/1)!important}.\!text-default-900{color:hsl(var(--heroui-default-900)/1)!important}.\!text-green-600{color:var(--color-green-600)!important}.\!text-purple-500{color:var(--color-purple-500)!important}.\!text-yellow-600{color:var(--color-yellow-600)!important}.text-background{color:hsl(var(--heroui-background)/1)}.text-black{color:var(--color-black)}.text-current{color:currentColor}.text-danger{color:hsl(var(--heroui-danger)/1)}.text-danger-300{color:hsl(var(--heroui-danger-300)/1)}.text-danger-400{color:hsl(var(--heroui-danger-400)/1)}.text-danger-500{color:hsl(var(--heroui-danger-500)/1)}.text-danger-600{color:hsl(var(--heroui-danger-600)/1)}.text-danger-700{color:hsl(var(--heroui-danger-700)/1)}.text-danger-foreground{color:hsl(var(--heroui-danger-foreground)/1)}.text-danger\/80{color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.text-danger\/80{color:color-mix(in oklab,hsl(var(--heroui-danger)/1)80%,transparent)}}.text-default{color:hsl(var(--heroui-default)/1)}.text-default-400{color:hsl(var(--heroui-default-400)/1)}.text-default-500{color:hsl(var(--heroui-default-500)/1)}.text-default-600{color:hsl(var(--heroui-default-600)/1)}.text-default-700{color:hsl(var(--heroui-default-700)/1)}.text-default-900{color:hsl(var(--heroui-default-900)/1)}.text-default-foreground{color:hsl(var(--heroui-default-foreground)/1)}.text-foreground{color:hsl(var(--heroui-foreground)/1)}.text-foreground-400{color:hsl(var(--heroui-foreground-400)/1)}.text-foreground-500{color:hsl(var(--heroui-foreground-500)/1)}.text-foreground-600{color:hsl(var(--heroui-foreground-600)/1)}.text-foreground\/50{color:hsl(var(--heroui-foreground)/1)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/50{color:color-mix(in oklab,hsl(var(--heroui-foreground)/1)50%,transparent)}}.text-inherit{color:inherit}.text-primary{color:hsl(var(--heroui-primary)/1)}.text-primary-300{color:hsl(var(--heroui-primary-300)/1)}.text-primary-400{color:hsl(var(--heroui-primary-400)/1)}.text-primary-500{color:hsl(var(--heroui-primary-500)/1)}.text-primary-600{color:hsl(var(--heroui-primary-600)/1)}.text-primary-foreground{color:hsl(var(--heroui-primary-foreground)/1)}.text-primary\/80{color:hsl(var(--heroui-primary)/1)}@supports (color:color-mix(in lab,red,red)){.text-primary\/80{color:color-mix(in oklab,hsl(var(--heroui-primary)/1)80%,transparent)}}.text-secondary{color:hsl(var(--heroui-secondary)/1)}.text-secondary-300{color:hsl(var(--heroui-secondary-300)/1)}.text-secondary-400{color:hsl(var(--heroui-secondary-400)/1)}.text-secondary-500{color:hsl(var(--heroui-secondary-500)/1)}.text-secondary-600{color:hsl(var(--heroui-secondary-600)/1)}.text-secondary-foreground{color:hsl(var(--heroui-secondary-foreground)/1)}.text-secondary\/80{color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.text-secondary\/80{color:color-mix(in oklab,hsl(var(--heroui-secondary)/1)80%,transparent)}}.text-success{color:hsl(var(--heroui-success)/1)}.text-success-400{color:hsl(var(--heroui-success-400)/1)}.text-success-500{color:hsl(var(--heroui-success-500)/1)}.text-success-600{color:hsl(var(--heroui-success-600)/1)}.text-success-700{color:hsl(var(--heroui-success-700)/1)}.text-success-foreground{color:hsl(var(--heroui-success-foreground)/1)}.text-success\/80{color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.text-success\/80{color:color-mix(in oklab,hsl(var(--heroui-success)/1)80%,transparent)}}.text-transparent{color:#0000}.text-warning{color:hsl(var(--heroui-warning)/1)}.text-warning-400{color:hsl(var(--heroui-warning-400)/1)}.text-warning-500{color:hsl(var(--heroui-warning-500)/1)}.text-warning-600{color:hsl(var(--heroui-warning-600)/1)}.text-warning-700{color:hsl(var(--heroui-warning-700)/1)}.text-warning-foreground{color:hsl(var(--heroui-warning-foreground)/1)}.text-warning\/80{color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.text-warning\/80{color:color-mix(in oklab,hsl(var(--heroui-warning)/1)80%,transparent)}}.text-white{color:var(--color-white)}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.dark{color-scheme:dark;--heroui-background:0 0% 0%;--heroui-foreground-50:240 5.88% 10%;--heroui-foreground-100:240 3.7% 15.88%;--heroui-foreground-200:240 5.26% 26.08%;--heroui-foreground-300:240 5.2% 33.92%;--heroui-foreground-400:240 3.83% 46.08%;--heroui-foreground-500:240 5.03% 64.9%;--heroui-foreground-600:240 4.88% 83.92%;--heroui-foreground-700:240 5.88% 90%;--heroui-foreground-800:240 4.76% 95.88%;--heroui-foreground-900:0 0% 98.04%;--heroui-foreground:210 5.56% 92.94%;--heroui-focus:212.02 100% 46.67%;--heroui-overlay:0 0% 0%;--heroui-divider:0 0% 100%;--heroui-content1:240 5.88% 10%;--heroui-content1-foreground:0 0% 98.04%;--heroui-content2:240 3.7% 15.88%;--heroui-content2-foreground:240 4.76% 95.88%;--heroui-content3:240 5.26% 26.08%;--heroui-content3-foreground:240 5.88% 90%;--heroui-content4:240 5.2% 33.92%;--heroui-content4-foreground:240 4.88% 83.92%;--heroui-default-50:240 5.88% 10%;--heroui-default-100:240 3.7% 15.88%;--heroui-default-200:240 5.26% 26.08%;--heroui-default-300:240 5.2% 33.92%;--heroui-default-400:240 3.83% 46.08%;--heroui-default-500:240 5.03% 64.9%;--heroui-default-600:240 4.88% 83.92%;--heroui-default-700:240 5.88% 90%;--heroui-default-800:240 4.76% 95.88%;--heroui-default-900:0 0% 98.04%;--heroui-default-foreground:0 0% 100%;--heroui-default:240 5.26% 26.08%;--heroui-primary-50:211.84 100% 9.61%;--heroui-primary-100:211.84 100% 19.22%;--heroui-primary-200:212.24 100% 28.82%;--heroui-primary-300:212.14 100% 38.43%;--heroui-primary-400:212.02 100% 46.67%;--heroui-primary-500:212.14 92.45% 58.43%;--heroui-primary-600:212.24 92.45% 68.82%;--heroui-primary-700:211.84 92.45% 79.22%;--heroui-primary-800:211.84 92.45% 89.61%;--heroui-primary-900:212.5 92.31% 94.9%;--heroui-primary-foreground:0 0% 100%;--heroui-primary:212.02 100% 46.67%;--heroui-secondary-50:270 66.67% 9.41%;--heroui-secondary-100:270 66.67% 18.82%;--heroui-secondary-200:270 66.67% 28.24%;--heroui-secondary-300:270 66.67% 37.65%;--heroui-secondary-400:270 66.67% 47.06%;--heroui-secondary-500:270 59.26% 57.65%;--heroui-secondary-600:270 59.26% 68.24%;--heroui-secondary-700:270 59.26% 78.82%;--heroui-secondary-800:270 59.26% 89.41%;--heroui-secondary-900:270 61.54% 94.9%;--heroui-secondary-foreground:0 0% 100%;--heroui-secondary:270 59.26% 57.65%;--heroui-success-50:145.71 77.78% 8.82%;--heroui-success-100:146.2 79.78% 17.45%;--heroui-success-200:145.79 79.26% 26.47%;--heroui-success-300:146.01 79.89% 35.1%;--heroui-success-400:145.96 79.46% 43.92%;--heroui-success-500:146.01 62.45% 55.1%;--heroui-success-600:145.79 62.57% 66.47%;--heroui-success-700:146.2 61.74% 77.45%;--heroui-success-800:145.71 61.4% 88.82%;--heroui-success-900:146.67 64.29% 94.51%;--heroui-success-foreground:0 0% 0%;--heroui-success:145.96 79.46% 43.92%;--heroui-warning-50:37.14 75% 10.98%;--heroui-warning-100:37.14 75% 21.96%;--heroui-warning-200:36.96 73.96% 33.14%;--heroui-warning-300:37.01 74.22% 44.12%;--heroui-warning-400:37.03 91.27% 55.1%;--heroui-warning-500:37.01 91.26% 64.12%;--heroui-warning-600:36.96 91.24% 73.14%;--heroui-warning-700:37.14 91.3% 81.96%;--heroui-warning-800:37.14 91.3% 90.98%;--heroui-warning-900:54.55 91.67% 95.29%;--heroui-warning-foreground:0 0% 0%;--heroui-warning:37.03 91.27% 55.1%;--heroui-danger-50:340 84.91% 10.39%;--heroui-danger-100:339.33 86.54% 20.39%;--heroui-danger-200:339.11 85.99% 30.78%;--heroui-danger-300:339 86.54% 40.78%;--heroui-danger-400:339.2 90.36% 51.18%;--heroui-danger-500:339 90% 60.78%;--heroui-danger-600:339.11 90.6% 70.78%;--heroui-danger-700:339.33 90% 80.39%;--heroui-danger-800:340 91.84% 90.39%;--heroui-danger-900:339.13 92% 95.1%;--heroui-danger-foreground:0 0% 100%;--heroui-danger:339.2 90.36% 51.18%;--heroui-divider-weight:1px;--heroui-disabled-opacity:.5;--heroui-font-size-tiny:.75rem;--heroui-font-size-small:.875rem;--heroui-font-size-medium:1rem;--heroui-font-size-large:1.125rem;--heroui-line-height-tiny:1rem;--heroui-line-height-small:1.25rem;--heroui-line-height-medium:1.5rem;--heroui-line-height-large:1.75rem;--heroui-radius-small:8px;--heroui-radius-medium:12px;--heroui-radius-large:14px;--heroui-border-width-small:1px;--heroui-border-width-medium:2px;--heroui-border-width-large:3px;--heroui-box-shadow-small:0px 0px 5px 0px #0000000d,0px 2px 10px 0px #0003,inset 0px 0px 1px 0px #ffffff26;--heroui-box-shadow-medium:0px 0px 15px 0px #0000000f,0px 2px 30px 0px #00000038,inset 0px 0px 1px 0px #ffffff26;--heroui-box-shadow-large:0px 0px 30px 0px #00000012,0px 30px 60px 0px #00000042,inset 0px 0px 1px 0px #ffffff26;--heroui-hover-opacity:.9}.light{color-scheme:light;--heroui-background:0 0% 100%;--heroui-foreground-50:0 0% 98.04%;--heroui-foreground-100:240 4.76% 95.88%;--heroui-foreground-200:240 5.88% 90%;--heroui-foreground-300:240 4.88% 83.92%;--heroui-foreground-400:240 5.03% 64.9%;--heroui-foreground-500:240 3.83% 46.08%;--heroui-foreground-600:240 5.2% 33.92%;--heroui-foreground-700:240 5.26% 26.08%;--heroui-foreground-800:240 3.7% 15.88%;--heroui-foreground-900:240 5.88% 10%;--heroui-foreground:201.82 24.44% 8.82%;--heroui-divider:0 0% 6.67%;--heroui-focus:212.02 100% 46.67%;--heroui-overlay:0 0% 0%;--heroui-content1:0 0% 100%;--heroui-content1-foreground:201.82 24.44% 8.82%;--heroui-content2:240 4.76% 95.88%;--heroui-content2-foreground:240 3.7% 15.88%;--heroui-content3:240 5.88% 90%;--heroui-content3-foreground:240 5.26% 26.08%;--heroui-content4:240 4.88% 83.92%;--heroui-content4-foreground:240 5.2% 33.92%;--heroui-default-50:0 0% 98.04%;--heroui-default-100:240 4.76% 95.88%;--heroui-default-200:240 5.88% 90%;--heroui-default-300:240 4.88% 83.92%;--heroui-default-400:240 5.03% 64.9%;--heroui-default-500:240 3.83% 46.08%;--heroui-default-600:240 5.2% 33.92%;--heroui-default-700:240 5.26% 26.08%;--heroui-default-800:240 3.7% 15.88%;--heroui-default-900:240 5.88% 10%;--heroui-default-foreground:0 0% 0%;--heroui-default:240 4.88% 83.92%;--heroui-primary-50:212.5 92.31% 94.9%;--heroui-primary-100:211.84 92.45% 89.61%;--heroui-primary-200:211.84 92.45% 79.22%;--heroui-primary-300:212.24 92.45% 68.82%;--heroui-primary-400:212.14 92.45% 58.43%;--heroui-primary-500:212.02 100% 46.67%;--heroui-primary-600:212.14 100% 38.43%;--heroui-primary-700:212.24 100% 28.82%;--heroui-primary-800:211.84 100% 19.22%;--heroui-primary-900:211.84 100% 9.61%;--heroui-primary-foreground:0 0% 100%;--heroui-primary:212.02 100% 46.67%;--heroui-secondary-50:270 61.54% 94.9%;--heroui-secondary-100:270 59.26% 89.41%;--heroui-secondary-200:270 59.26% 78.82%;--heroui-secondary-300:270 59.26% 68.24%;--heroui-secondary-400:270 59.26% 57.65%;--heroui-secondary-500:270 66.67% 47.06%;--heroui-secondary-600:270 66.67% 37.65%;--heroui-secondary-700:270 66.67% 28.24%;--heroui-secondary-800:270 66.67% 18.82%;--heroui-secondary-900:270 66.67% 9.41%;--heroui-secondary-foreground:0 0% 100%;--heroui-secondary:270 66.67% 47.06%;--heroui-success-50:146.67 64.29% 94.51%;--heroui-success-100:145.71 61.4% 88.82%;--heroui-success-200:146.2 61.74% 77.45%;--heroui-success-300:145.79 62.57% 66.47%;--heroui-success-400:146.01 62.45% 55.1%;--heroui-success-500:145.96 79.46% 43.92%;--heroui-success-600:146.01 79.89% 35.1%;--heroui-success-700:145.79 79.26% 26.47%;--heroui-success-800:146.2 79.78% 17.45%;--heroui-success-900:145.71 77.78% 8.82%;--heroui-success-foreground:0 0% 0%;--heroui-success:145.96 79.46% 43.92%;--heroui-warning-50:54.55 91.67% 95.29%;--heroui-warning-100:37.14 91.3% 90.98%;--heroui-warning-200:37.14 91.3% 81.96%;--heroui-warning-300:36.96 91.24% 73.14%;--heroui-warning-400:37.01 91.26% 64.12%;--heroui-warning-500:37.03 91.27% 55.1%;--heroui-warning-600:37.01 74.22% 44.12%;--heroui-warning-700:36.96 73.96% 33.14%;--heroui-warning-800:37.14 75% 21.96%;--heroui-warning-900:37.14 75% 10.98%;--heroui-warning-foreground:0 0% 0%;--heroui-warning:37.03 91.27% 55.1%;--heroui-danger-50:339.13 92% 95.1%;--heroui-danger-100:340 91.84% 90.39%;--heroui-danger-200:339.33 90% 80.39%;--heroui-danger-300:339.11 90.6% 70.78%;--heroui-danger-400:339 90% 60.78%;--heroui-danger-500:339.2 90.36% 51.18%;--heroui-danger-600:339 86.54% 40.78%;--heroui-danger-700:339.11 85.99% 30.78%;--heroui-danger-800:339.33 86.54% 20.39%;--heroui-danger-900:340 84.91% 10.39%;--heroui-danger-foreground:0 0% 100%;--heroui-danger:339.2 90.36% 51.18%;--heroui-divider-weight:1px;--heroui-disabled-opacity:.5;--heroui-font-size-tiny:.75rem;--heroui-font-size-small:.875rem;--heroui-font-size-medium:1rem;--heroui-font-size-large:1.125rem;--heroui-line-height-tiny:1rem;--heroui-line-height-small:1.25rem;--heroui-line-height-medium:1.5rem;--heroui-line-height-large:1.75rem;--heroui-radius-small:8px;--heroui-radius-medium:12px;--heroui-radius-large:14px;--heroui-border-width-small:1px;--heroui-border-width-medium:2px;--heroui-border-width-large:3px;--heroui-box-shadow-small:0px 0px 5px 0px #00000005,0px 2px 10px 0px #0000000f,0px 0px 1px 0px #0000004d;--heroui-box-shadow-medium:0px 0px 15px 0px #00000008,0px 2px 30px 0px #00000014,0px 0px 1px 0px #0000004d;--heroui-box-shadow-large:0px 0px 30px 0px #0000000a,0px 30px 60px 0px #0000001f,0px 0px 1px 0px #0000004d;--heroui-hover-opacity:.8}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-100{opacity:1}.opacity-\[0\.0001\]{opacity:.0001}.opacity-\[value\]{opacity:value}.opacity-disabled{opacity:var(--heroui-disabled-opacity)}.\!shadow-none{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_1px_0px_0_rgba\(0\,0\,0\,0\.05\)\]{--tw-shadow:0 1px 0px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0px_20px_20px_0px_rgb\(0_0_0\/0\.05\)\]{--tw-shadow:0px 20px 20px 0px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-large{--tw-shadow:var(--heroui-box-shadow-large);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-medium{--tw-shadow:var(--heroui-box-shadow-medium);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-small{--tw-shadow:var(--heroui-box-shadow-small);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-black\/5{--tw-shadow-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.shadow-black\/5{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)5%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-danger\/40{--tw-shadow-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.shadow-danger\/40{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-danger)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-default\/50{--tw-shadow-color:hsl(var(--heroui-default)/1)}@supports (color:color-mix(in lab,red,red)){.shadow-default\/50{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-default)/1)50%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-foreground\/40{--tw-shadow-color:hsl(var(--heroui-foreground)/1)}@supports (color:color-mix(in lab,red,red)){.shadow-foreground\/40{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-foreground)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-primary\/40{--tw-shadow-color:hsl(var(--heroui-primary)/1)}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/40{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-primary)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-secondary\/40{--tw-shadow-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.shadow-secondary\/40{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-secondary)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-success\/40{--tw-shadow-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.shadow-success\/40{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-success)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-warning\/40{--tw-shadow-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.shadow-warning\/40{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-warning)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-background{--tw-ring-color:hsl(var(--heroui-background)/1)}.ring-danger{--tw-ring-color:hsl(var(--heroui-danger)/1)}.ring-default{--tw-ring-color:hsl(var(--heroui-default)/1)}.ring-focus{--tw-ring-color:hsl(var(--heroui-focus)/1)}.ring-primary{--tw-ring-color:hsl(var(--heroui-primary)/1)}.ring-secondary{--tw-ring-color:hsl(var(--heroui-secondary)/1)}.ring-success{--tw-ring-color:hsl(var(--heroui-success)/1)}.ring-transparent{--tw-ring-color:transparent}.ring-warning{--tw-ring-color:hsl(var(--heroui-warning)/1)}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.ring-offset-background{--tw-ring-offset-color:hsl(var(--heroui-background)/1)}.\!outline-hidden{--tw-outline-style:none!important;outline-style:none!important}@media(forced-colors:active){.\!outline-hidden{outline-offset:2px!important;outline:2px solid #0000!important}}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-lg{--tw-blur:blur(var(--blur-lg));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.saturate-150{--tw-saturate:saturate(150%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-opacity-disabled{--tw-backdrop-opacity:opacity(var(--heroui-disabled-opacity));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-saturate-150{--tw-backdrop-saturate:saturate(150%);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,opacity\]{transition-property:color,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,transform\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,background-color\,color\]{transition-property:transform,background-color,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,color\,left\,opacity\,translate\,scale\]{transition-property:transform,color,left,opacity,translate,scale;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-background{transition-property:background;transition-duration:.25s;transition-timing-function:ease}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors-opacity{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity;transition-duration:.25s;transition-timing-function:ease}.transition-height{transition-property:height;transition-duration:.25s;transition-timing-function:ease}.transition-left{transition-property:left;transition-duration:.25s;transition-timing-function:ease}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-size{transition-property:width,height;transition-duration:.25s;transition-timing-function:ease}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform-background{transition-property:transform,scale,background;transition-duration:.25s;transition-timing-function:ease}.transition-transform-colors{transition-property:transform,scale,color,background,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.25s;transition-timing-function:ease}.transition-transform-colors-opacity{transition-property:transform,scale,color,background,background-color,border-color,text-decoration-color,fill,stroke,opacity;transition-duration:.25s;transition-timing-function:ease}.transition-transform-opacity{transition-property:transform,scale,opacity rotate;transition-duration:.25s;transition-timing-function:ease}.transition-width{transition-property:width;transition-duration:.25s;transition-timing-function:ease}.\!transition-none{transition-property:none!important}.transition-none{transition-property:none}.\!duration-100{--tw-duration:.1s!important;transition-duration:.1s!important}.\!duration-150{--tw-duration:.15s!important;transition-duration:.15s!important}.\!duration-200{--tw-duration:.2s!important;transition-duration:.2s!important}.\!duration-250{--tw-duration:.25s!important;transition-duration:.25s!important}.\!duration-300{--tw-duration:.3s!important;transition-duration:.3s!important}.\!duration-500{--tw-duration:.5s!important;transition-duration:.5s!important}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.\!ease-out{--tw-ease:var(--ease-out)!important;transition-timing-function:var(--ease-out)!important}.\!ease-soft-spring{--tw-ease:cubic-bezier(.155,1.105,.295,1.12)!important;transition-timing-function:cubic-bezier(.155,1.105,.295,1.12)!important}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-auto{will-change:auto}.will-change-transform{will-change:transform}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[--picker-height\:224px\]{--picker-height:224px}.\[--scale-enter\:100\%\]{--scale-enter:100%}.\[--scale-exit\:100\%\]{--scale-exit:100%}.\[--scroll-shadow-size\:100px\]{--scroll-shadow-size:100px}.\[--slide-enter\:0px\]{--slide-enter:0px}.\[--slide-exit\:80px\]{--slide-exit:80px}.\[-webkit-mask\:radial-gradient\(closest-side\,rgba\(0\,0\,0\,0\.0\)calc\(100\%-3px\)\,rgba\(0\,0\,0\,1\)calc\(100\%-3px\)\)\]{-webkit-mask:radial-gradient(closest-side,#0000 calc(100% - 3px),#000 calc(100% - 3px))}.\[animation-duration\:1s\]{animation-duration:1s}.input-search-cancel-button-none::-webkit-search-cancel-button{-webkit-appearance:none}.spinner-dot-animation{animation-delay:calc(.25s*var(--dot-index))}.spinner-dot-blink-animation{animation-delay:calc(.2s*var(--dot-index))}.tap-highlight-transparent{-webkit-tap-highlight-color:transparent}.text-fill-inherit{-webkit-text-fill-color:inherit}@media(hover:hover){.group-hover\:pointer-events-auto:is(:where(.group):hover *){pointer-events:auto}.group-hover\:block:is(:where(.group):hover *){display:block}.group-hover\:hidden:is(:where(.group):hover *){display:none}.group-hover\:border-current:is(:where(.group):hover *){border-color:currentColor}.group-hover\:text-current:is(:where(.group):hover *){color:currentColor}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-data-\[copied\=true\]\:scale-50:is(:where(.group)[data-copied=true] *){--tw-scale-x:50%;--tw-scale-y:50%;--tw-scale-z:50%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-data-\[copied\=true\]\:scale-100:is(:where(.group)[data-copied=true] *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-data-\[copied\=true\]\:opacity-0:is(:where(.group)[data-copied=true] *){opacity:0}.group-data-\[copied\=true\]\:opacity-100:is(:where(.group)[data-copied=true] *){opacity:1}.group-data-\[disabled\=true\]\/tr\:cursor-not-allowed:is(:where(.group\/tr)[data-disabled=true] *){cursor:not-allowed}.group-data-\[disabled\=true\]\/tr\:text-foreground-300:is(:where(.group\/tr)[data-disabled=true] *){color:hsl(var(--heroui-foreground-300)/1)}.group-data-\[filled-within\=true\]\:pointer-events-auto:is(:where(.group)[data-filled-within=true] *){pointer-events:auto}.group-data-\[filled-within\=true\]\:start-0:is(:where(.group)[data-filled-within=true] *){inset-inline-start:calc(var(--spacing)*0)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_3\.5px\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 3.5px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_4px\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 4px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_6px\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 6px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_6px_-_var\(--heroui-border-width-medium\)\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 6px - var(--heroui-border-width-medium))*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_8px\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 8px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_8px_-_var\(--heroui-border-width-medium\)\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 8px - var(--heroui-border-width-medium))*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-tiny\)\/2_-_5px\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-tiny)/2 - 5px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-tiny\)\/2_-_8px\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-tiny)/2 - 8px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-tiny\)\/2_-_8px_-_var\(--heroui-border-width-medium\)\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-tiny)/2 - 8px - var(--heroui-border-width-medium))*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(100\%_\+_var\(--heroui-font-size-small\)\/2_\+_20px\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(100% + var(--heroui-font-size-small)/2 + 20px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(100\%_\+_var\(--heroui-font-size-small\)\/2_\+_24px\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(100% + var(--heroui-font-size-small)/2 + 24px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:-translate-y-\[calc\(100\%_\+_var\(--heroui-font-size-tiny\)\/2_\+_16px\)\]:is(:where(.group)[data-filled-within=true] *){--tw-translate-y:calc(calc(100% + var(--heroui-font-size-tiny)/2 + 16px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled-within\=true\]\:scale-85:is(:where(.group)[data-filled-within=true] *){--tw-scale-x:.85;--tw-scale-y:.85;--tw-scale-z:.85;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-data-\[filled-within\=true\]\:text-default-600:is(:where(.group)[data-filled-within=true] *){color:hsl(var(--heroui-default-600)/1)}.group-data-\[filled-within\=true\]\:text-foreground:is(:where(.group)[data-filled-within=true] *){color:hsl(var(--heroui-foreground)/1)}.group-data-\[filled\=true\]\:start-0:is(:where(.group)[data-filled=true] *){inset-inline-start:calc(var(--spacing)*0)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_3\.5px\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 3.5px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_4px\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 4px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_6px\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 6px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_6px_-_var\(--heroui-border-width-medium\)\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 6px - var(--heroui-border-width-medium))*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_8px\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 8px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-small\)\/2_-_8px_-_var\(--heroui-border-width-medium\)\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-small)/2 - 8px - var(--heroui-border-width-medium))*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-tiny\)\/2_-_5px\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-tiny)/2 - 5px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-tiny\)\/2_-_8px\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-tiny)/2 - 8px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(50\%_\+_var\(--heroui-font-size-tiny\)\/2_-_8px_-_var\(--heroui-border-width-medium\)\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(50% + var(--heroui-font-size-tiny)/2 - 8px - var(--heroui-border-width-medium))*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(100\%_\+_var\(--heroui-font-size-small\)\/2_\+_20px\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(100% + var(--heroui-font-size-small)/2 + 20px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(100\%_\+_var\(--heroui-font-size-small\)\/2_\+_24px\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(100% + var(--heroui-font-size-small)/2 + 24px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:-translate-y-\[calc\(100\%_\+var\(--heroui-font-size-tiny\)\/2_\+_16px\)\]:is(:where(.group)[data-filled=true] *){--tw-translate-y:calc(calc(100% + var(--heroui-font-size-tiny)/2 + 16px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[filled\=true\]\:scale-85:is(:where(.group)[data-filled=true] *){--tw-scale-x:.85;--tw-scale-y:.85;--tw-scale-z:.85;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-data-\[filled\=true\]\:text-default-600:is(:where(.group)[data-filled=true] *){color:hsl(var(--heroui-default-600)/1)}.group-data-\[filled\=true\]\:text-foreground:is(:where(.group)[data-filled=true] *){color:hsl(var(--heroui-foreground)/1)}.group-data-\[focus-visible\=true\]\:z-10:is(:where(.group)[data-focus-visible=true] *){z-index:10}.group-data-\[focus-visible\=true\]\:block:is(:where(.group)[data-focus-visible=true] *){display:block}.group-data-\[focus-visible\=true\]\:hidden:is(:where(.group)[data-focus-visible=true] *){display:none}.group-data-\[focus-visible\=true\]\:ring-0:is(:where(.group)[data-focus-visible=true] *){--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[focus-visible\=true\]\:ring-2:is(:where(.group)[data-focus-visible=true] *){--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[focus-visible\=true\]\:ring-focus:is(:where(.group)[data-focus-visible=true] *){--tw-ring-color:hsl(var(--heroui-focus)/1)}.group-data-\[focus-visible\=true\]\:ring-offset-0:is(:where(.group)[data-focus-visible=true] *){--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.group-data-\[focus-visible\=true\]\:ring-offset-2:is(:where(.group)[data-focus-visible=true] *){--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.group-data-\[focus-visible\=true\]\:ring-offset-background:is(:where(.group)[data-focus-visible=true] *){--tw-ring-offset-color:hsl(var(--heroui-background)/1)}.group-data-\[focus\=true\]\:\!border-danger:is(:where(.group)[data-focus=true] *){border-color:hsl(var(--heroui-danger)/1)!important}.group-data-\[focus\=true\]\:border-danger:is(:where(.group)[data-focus=true] *){border-color:hsl(var(--heroui-danger)/1)}.group-data-\[focus\=true\]\:border-default-foreground:is(:where(.group)[data-focus=true] *){border-color:hsl(var(--heroui-default-foreground)/1)}.group-data-\[focus\=true\]\:border-primary:is(:where(.group)[data-focus=true] *){border-color:hsl(var(--heroui-primary)/1)}.group-data-\[focus\=true\]\:border-secondary:is(:where(.group)[data-focus=true] *){border-color:hsl(var(--heroui-secondary)/1)}.group-data-\[focus\=true\]\:border-success:is(:where(.group)[data-focus=true] *){border-color:hsl(var(--heroui-success)/1)}.group-data-\[focus\=true\]\:border-warning:is(:where(.group)[data-focus=true] *){border-color:hsl(var(--heroui-warning)/1)}.group-data-\[focus\=true\]\:\!bg-danger-50:is(:where(.group)[data-focus=true] *){background-color:hsl(var(--heroui-danger-50)/1)!important}.group-data-\[focus\=true\]\:bg-danger-50:is(:where(.group)[data-focus=true] *){background-color:hsl(var(--heroui-danger-50)/1)}.group-data-\[focus\=true\]\:bg-default-100:is(:where(.group)[data-focus=true] *){background-color:hsl(var(--heroui-default-100)/1)}.group-data-\[focus\=true\]\:bg-default-200:is(:where(.group)[data-focus=true] *){background-color:hsl(var(--heroui-default-200)/1)}.group-data-\[focus\=true\]\:bg-primary-50:is(:where(.group)[data-focus=true] *){background-color:hsl(var(--heroui-primary-50)/1)}.group-data-\[focus\=true\]\:bg-secondary-50:is(:where(.group)[data-focus=true] *){background-color:hsl(var(--heroui-secondary-50)/1)}.group-data-\[focus\=true\]\:bg-success-50:is(:where(.group)[data-focus=true] *){background-color:hsl(var(--heroui-success-50)/1)}.group-data-\[focus\=true\]\:bg-warning-50:is(:where(.group)[data-focus=true] *){background-color:hsl(var(--heroui-warning-50)/1)}.group-data-\[has-end-content\=true\]\:left-2:is(:where(.group)[data-has-end-content=true] *){left:calc(var(--spacing)*2)}.group-data-\[has-end-content\=true\]\:mt-4:is(:where(.group)[data-has-end-content=true] *){margin-top:calc(var(--spacing)*4)}.group-data-\[has-helper\=true\]\:flex:is(:where(.group)[data-has-helper=true] *){display:flex}.group-data-\[has-helper\=true\]\:-translate-y-\[calc\(100\%_\+_var\(--heroui-font-size-small\)\/2_\+_26px\)\]:is(:where(.group)[data-has-helper=true] *){--tw-translate-y:calc(calc(100% + var(--heroui-font-size-small)/2 + 26px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[has-helper\=true\]\:-translate-y-\[calc\(100\%_\+_var\(--heroui-font-size-small\)\/2_\+_30px\)\]:is(:where(.group)[data-has-helper=true] *){--tw-translate-y:calc(calc(100% + var(--heroui-font-size-small)/2 + 30px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[has-helper\=true\]\:-translate-y-\[calc\(100\%_\+_var\(--heroui-font-size-small\)\/2_\+_34px\)\]:is(:where(.group)[data-has-helper=true] *){--tw-translate-y:calc(calc(100% + var(--heroui-font-size-small)/2 + 34px)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[has-helper\=true\]\:pt-2:is(:where(.group)[data-has-helper=true] *){padding-top:calc(var(--spacing)*2)}.group-data-\[has-helper\=true\]\:pt-3:is(:where(.group)[data-has-helper=true] *){padding-top:calc(var(--spacing)*3)}.group-data-\[has-helper\=true\]\:pt-4:is(:where(.group)[data-has-helper=true] *){padding-top:calc(var(--spacing)*4)}.group-data-\[has-label-outside\=true\]\:pointer-events-auto:is(:where(.group)[data-has-label-outside=true] *){pointer-events:auto}.group-data-\[has-label\=true\]\:items-end:is(:where(.group)[data-has-label=true] *){align-items:flex-end}.group-data-\[has-label\=true\]\:items-start:is(:where(.group)[data-has-label=true] *){align-items:flex-start}.group-data-\[has-label\=true\]\:pt-4:is(:where(.group)[data-has-label=true] *){padding-top:calc(var(--spacing)*4)}.group-data-\[has-label\=true\]\:pt-5:is(:where(.group)[data-has-label=true] *){padding-top:calc(var(--spacing)*5)}.group-data-\[has-multiple-months\=true\]\:flex-row:is(:where(.group)[data-has-multiple-months=true] *){flex-direction:row}.group-data-\[has-value\=true\]\:pointer-events-auto:is(:where(.group)[data-has-value=true] *){pointer-events:auto}.group-data-\[has-value\=true\]\:block:is(:where(.group)[data-has-value=true] *){display:block}.group-data-\[has-value\=true\]\:scale-100:is(:where(.group)[data-has-value=true] *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-data-\[has-value\=true\]\:text-default-foreground:is(:where(.group)[data-has-value=true] *){color:hsl(var(--heroui-default-foreground)/1)}.group-data-\[has-value\=true\]\:text-foreground:is(:where(.group)[data-has-value=true] *){color:hsl(var(--heroui-foreground)/1)}.group-data-\[has-value\=true\]\:opacity-70:is(:where(.group)[data-has-value=true] *){opacity:.7}.group-data-\[hover-unselected\=true\]\:bg-default-100:is(:where(.group)[data-hover-unselected=true] *){background-color:hsl(var(--heroui-default-100)/1)}.group-data-\[hover\=true\]\/th\:opacity-100:is(:where(.group\/th)[data-hover=true] *){opacity:1}.group-data-\[invalid\=true\]\:border-danger:is(:where(.group)[data-invalid=true] *){border-color:hsl(var(--heroui-danger)/1)}.group-data-\[invalid\=true\]\:bg-danger-50:is(:where(.group)[data-invalid=true] *){background-color:hsl(var(--heroui-danger-50)/1)}.group-data-\[invalid\=true\]\:text-danger:is(:where(.group)[data-invalid=true] *){color:hsl(var(--heroui-danger)/1)}.group-data-\[loaded\=true\]\:opacity-100:is(:where(.group)[data-loaded=true] *){opacity:1}.group-data-\[pressed\=true\]\:w-5:is(:where(.group)[data-pressed=true] *){width:calc(var(--spacing)*5)}.group-data-\[pressed\=true\]\:w-6:is(:where(.group)[data-pressed=true] *){width:calc(var(--spacing)*6)}.group-data-\[pressed\=true\]\:w-7:is(:where(.group)[data-pressed=true] *){width:calc(var(--spacing)*7)}.group-data-\[pressed\=true\]\:scale-95:is(:where(.group)[data-pressed=true] *){--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-data-\[pressed\=true\]\:opacity-70:is(:where(.group)[data-pressed=true] *){opacity:.7}.group-data-\[selected\]\:group-data-\[pressed\]\:ml-3:is(:where(.group)[data-selected] *):is(:where(.group)[data-pressed] *){margin-left:calc(var(--spacing)*3)}.group-data-\[selected\]\:group-data-\[pressed\]\:ml-4:is(:where(.group)[data-selected] *):is(:where(.group)[data-pressed] *){margin-left:calc(var(--spacing)*4)}.group-data-\[selected\]\:group-data-\[pressed\]\:ml-5:is(:where(.group)[data-selected] *):is(:where(.group)[data-pressed] *){margin-left:calc(var(--spacing)*5)}.group-data-\[selected\=true\]\:ms-4:is(:where(.group)[data-selected=true] *){margin-inline-start:calc(var(--spacing)*4)}.group-data-\[selected\=true\]\:ms-5:is(:where(.group)[data-selected=true] *){margin-inline-start:calc(var(--spacing)*5)}.group-data-\[selected\=true\]\:ms-6:is(:where(.group)[data-selected=true] *){margin-inline-start:calc(var(--spacing)*6)}.group-data-\[selected\=true\]\:translate-x-3:is(:where(.group)[data-selected=true] *){--tw-translate-x:calc(var(--spacing)*3);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[selected\=true\]\:scale-100:is(:where(.group)[data-selected=true] *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-data-\[selected\=true\]\:border-danger:is(:where(.group)[data-selected=true] *){border-color:hsl(var(--heroui-danger)/1)}.group-data-\[selected\=true\]\:border-default-500:is(:where(.group)[data-selected=true] *){border-color:hsl(var(--heroui-default-500)/1)}.group-data-\[selected\=true\]\:border-primary:is(:where(.group)[data-selected=true] *){border-color:hsl(var(--heroui-primary)/1)}.group-data-\[selected\=true\]\:border-secondary:is(:where(.group)[data-selected=true] *){border-color:hsl(var(--heroui-secondary)/1)}.group-data-\[selected\=true\]\:border-success:is(:where(.group)[data-selected=true] *){border-color:hsl(var(--heroui-success)/1)}.group-data-\[selected\=true\]\:border-warning:is(:where(.group)[data-selected=true] *){border-color:hsl(var(--heroui-warning)/1)}.group-data-\[selected\=true\]\:bg-danger:is(:where(.group)[data-selected=true] *){background-color:hsl(var(--heroui-danger)/1)}.group-data-\[selected\=true\]\:bg-default-400:is(:where(.group)[data-selected=true] *){background-color:hsl(var(--heroui-default-400)/1)}.group-data-\[selected\=true\]\:bg-primary:is(:where(.group)[data-selected=true] *){background-color:hsl(var(--heroui-primary)/1)}.group-data-\[selected\=true\]\:bg-secondary:is(:where(.group)[data-selected=true] *){background-color:hsl(var(--heroui-secondary)/1)}.group-data-\[selected\=true\]\:bg-success:is(:where(.group)[data-selected=true] *){background-color:hsl(var(--heroui-success)/1)}.group-data-\[selected\=true\]\:bg-warning:is(:where(.group)[data-selected=true] *){background-color:hsl(var(--heroui-warning)/1)}.group-data-\[selected\=true\]\:text-danger:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-danger)/1)}.group-data-\[selected\=true\]\:text-danger-foreground:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-danger-foreground)/1)}.group-data-\[selected\=true\]\:text-default-foreground:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-default-foreground)/1)}.group-data-\[selected\=true\]\:text-foreground:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-foreground)/1)}.group-data-\[selected\=true\]\:text-primary:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-primary)/1)}.group-data-\[selected\=true\]\:text-primary-foreground:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-primary-foreground)/1)}.group-data-\[selected\=true\]\:text-secondary:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-secondary)/1)}.group-data-\[selected\=true\]\:text-secondary-foreground:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-secondary-foreground)/1)}.group-data-\[selected\=true\]\:text-success:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-success)/1)}.group-data-\[selected\=true\]\:text-success-foreground:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-success-foreground)/1)}.group-data-\[selected\=true\]\:text-warning:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-warning)/1)}.group-data-\[selected\=true\]\:text-warning-foreground:is(:where(.group)[data-selected=true] *){color:hsl(var(--heroui-warning-foreground)/1)}.group-data-\[selected\=true\]\:opacity-0:is(:where(.group)[data-selected=true] *){opacity:0}.group-data-\[selected\=true\]\:opacity-60:is(:where(.group)[data-selected=true] *){opacity:.6}.group-data-\[selected\=true\]\:opacity-100:is(:where(.group)[data-selected=true] *){opacity:1}.peer-data-\[filled\=true\]\:pointer-events-auto:is(:where(.peer)[data-filled=true]~*){pointer-events:auto}.peer-data-\[filled\=true\]\:block:is(:where(.peer)[data-filled=true]~*){display:block}.peer-data-\[filled\=true\]\:scale-100:is(:where(.peer)[data-filled=true]~*){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.peer-data-\[filled\=true\]\:opacity-70:is(:where(.peer)[data-filled=true]~*){opacity:.7}.file\:cursor-pointer::file-selector-button{cursor:pointer}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.placeholder\:text-danger::placeholder{color:hsl(var(--heroui-danger)/1)}.placeholder\:text-foreground-500::placeholder{color:hsl(var(--heroui-foreground-500)/1)}.placeholder\:text-primary::placeholder{color:hsl(var(--heroui-primary)/1)}.placeholder\:text-secondary::placeholder{color:hsl(var(--heroui-secondary)/1)}.placeholder\:text-success-600::placeholder{color:hsl(var(--heroui-success-600)/1)}.placeholder\:text-warning-600::placeholder{color:hsl(var(--heroui-warning-600)/1)}.before\:pointer-events-auto:before{content:var(--tw-content);pointer-events:auto}.before\:pointer-events-none:before{content:var(--tw-content);pointer-events:none}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-0:before{content:var(--tw-content);inset:calc(var(--spacing)*0)}.before\:right-0:before{content:var(--tw-content);right:calc(var(--spacing)*0)}.before\:left-0:before{content:var(--tw-content);left:calc(var(--spacing)*0)}.before\:z-0:before{content:var(--tw-content);z-index:0}.before\:z-\[-1\]:before{content:var(--tw-content);z-index:-1}.before\:box-border:before{content:var(--tw-content);box-sizing:border-box}.before\:block:before{content:var(--tw-content);display:block}.before\:hidden:before{content:var(--tw-content);display:none}.before\:h-0\.5:before{content:var(--tw-content);height:calc(var(--spacing)*.5)}.before\:h-2\.5:before{content:var(--tw-content);height:calc(var(--spacing)*2.5)}.before\:h-4:before{content:var(--tw-content);height:calc(var(--spacing)*4)}.before\:h-6:before{content:var(--tw-content);height:calc(var(--spacing)*6)}.before\:h-8:before{content:var(--tw-content);height:calc(var(--spacing)*8)}.before\:h-11:before{content:var(--tw-content);height:calc(var(--spacing)*11)}.before\:h-px:before{content:var(--tw-content);height:1px}.before\:w-0:before{content:var(--tw-content);width:calc(var(--spacing)*0)}.before\:w-2\.5:before{content:var(--tw-content);width:calc(var(--spacing)*2.5)}.before\:w-6:before{content:var(--tw-content);width:calc(var(--spacing)*6)}.before\:w-8:before{content:var(--tw-content);width:calc(var(--spacing)*8)}.before\:w-11:before{content:var(--tw-content);width:calc(var(--spacing)*11)}.before\:-translate-x-full:before{content:var(--tw-content);--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.before\:-translate-y-1:before{content:var(--tw-content);--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.before\:rotate-0:before{content:var(--tw-content);rotate:none}.before\:rotate-45:before{content:var(--tw-content);rotate:45deg}.before\:animate-none:before{content:var(--tw-content);animation:none}.before\:animate-shimmer:before{content:var(--tw-content);animation:2s infinite shimmer}.before\:rounded-\[calc\(var\(--heroui-radius-medium\)\*0\.5\)\]:before{content:var(--tw-content);border-radius:calc(var(--heroui-radius-medium)*.5)}.before\:rounded-\[calc\(var\(--heroui-radius-medium\)\*0\.6\)\]:before{content:var(--tw-content);border-radius:calc(var(--heroui-radius-medium)*.6)}.before\:rounded-\[calc\(var\(--heroui-radius-medium\)\*0\.7\)\]:before{content:var(--tw-content);border-radius:calc(var(--heroui-radius-medium)*.7)}.before\:rounded-full:before{content:var(--tw-content);border-radius:3.40282e38px}.before\:rounded-none:before{content:var(--tw-content);border-radius:0}.before\:rounded-sm:before{content:var(--tw-content);border-radius:var(--radius-sm)}.before\:border-2:before{content:var(--tw-content);border-style:var(--tw-border-style);border-width:2px}.before\:border-t:before{content:var(--tw-content);border-top-style:var(--tw-border-style);border-top-width:1px}.before\:border-solid:before{content:var(--tw-content);--tw-border-style:solid;border-style:solid}.before\:border-content4\/30:before{content:var(--tw-content);border-color:hsl(var(--heroui-content4)/1)}@supports (color:color-mix(in lab,red,red)){.before\:border-content4\/30:before{border-color:color-mix(in oklab,hsl(var(--heroui-content4)/1)30%,transparent)}}.before\:border-danger:before{content:var(--tw-content);border-color:hsl(var(--heroui-danger)/1)}.before\:border-default:before{content:var(--tw-content);border-color:hsl(var(--heroui-default)/1)}.before\:bg-content1:before{content:var(--tw-content);background-color:hsl(var(--heroui-content1)/1)}.before\:bg-current:before{content:var(--tw-content);background-color:currentColor}.before\:bg-danger:before,.before\:bg-danger\/20:before{content:var(--tw-content);background-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.before\:bg-danger\/20:before{background-color:color-mix(in oklab,hsl(var(--heroui-danger)/1)20%,transparent)}}.before\:bg-default\/60:before{content:var(--tw-content);background-color:hsl(var(--heroui-default)/1)}@supports (color:color-mix(in lab,red,red)){.before\:bg-default\/60:before{background-color:color-mix(in oklab,hsl(var(--heroui-default)/1)60%,transparent)}}.before\:bg-foreground:before{content:var(--tw-content);background-color:hsl(var(--heroui-foreground)/1)}.before\:bg-primary:before,.before\:bg-primary\/20:before{content:var(--tw-content);background-color:hsl(var(--heroui-primary)/1)}@supports (color:color-mix(in lab,red,red)){.before\:bg-primary\/20:before{background-color:color-mix(in oklab,hsl(var(--heroui-primary)/1)20%,transparent)}}.before\:bg-secondary:before,.before\:bg-secondary\/20:before{content:var(--tw-content);background-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.before\:bg-secondary\/20:before{background-color:color-mix(in oklab,hsl(var(--heroui-secondary)/1)20%,transparent)}}.before\:bg-success:before,.before\:bg-success\/20:before{content:var(--tw-content);background-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.before\:bg-success\/20:before{background-color:color-mix(in oklab,hsl(var(--heroui-success)/1)20%,transparent)}}.before\:bg-transparent:before{content:var(--tw-content);background-color:#0000}.before\:bg-warning:before,.before\:bg-warning\/20:before{content:var(--tw-content);background-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.before\:bg-warning\/20:before{background-color:color-mix(in oklab,hsl(var(--heroui-warning)/1)20%,transparent)}}.before\:bg-gradient-to-r:before{content:var(--tw-content);--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.before\:from-transparent:before{content:var(--tw-content);--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.before\:via-content4:before{content:var(--tw-content);--tw-gradient-via:hsl(var(--heroui-content4)/1);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.before\:to-transparent:before{content:var(--tw-content);--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.before\:opacity-0:before{content:var(--tw-content);opacity:0}.before\:opacity-100:before{content:var(--tw-content);opacity:1}.before\:shadow-small:before{content:var(--tw-content);--tw-shadow:var(--heroui-box-shadow-small);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.before\:transition-colors:before{content:var(--tw-content);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.before\:transition-transform:before{content:var(--tw-content);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.before\:transition-width:before{content:var(--tw-content);transition-property:width;transition-duration:.25s;transition-timing-function:ease}.before\:transition-none:before{content:var(--tw-content);transition-property:none}.before\:duration-150:before{content:var(--tw-content);--tw-duration:.15s;transition-duration:.15s}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}.group-data-\[hover\=true\]\:before\:bg-default-100:is(:where(.group)[data-hover=true] *):before,.group-aria-\[selected\=false\]\/tr\:group-data-\[hover\=true\]\/tr\:before\:bg-default-100:is(:where(.group\/tr)[aria-selected=false] *):is(:where(.group\/tr)[data-hover=true] *):before{content:var(--tw-content);background-color:hsl(var(--heroui-default-100)/1)}.group-aria-\[selected\=false\]\/tr\:group-data-\[hover\=true\]\/tr\:before\:opacity-70:is(:where(.group\/tr)[aria-selected=false] *):is(:where(.group\/tr)[data-hover=true] *):before{content:var(--tw-content);opacity:.7}.group-data-\[middle\=true\]\/tr\:before\:rounded-none:is(:where(.group\/tr)[data-middle=true] *):before{content:var(--tw-content);border-radius:0}.group-data-\[odd\=true\]\/tr\:before\:-z-10:is(:where(.group\/tr)[data-odd=true] *):before{content:var(--tw-content);z-index:-10}.group-data-\[odd\=true\]\/tr\:before\:bg-default-100:is(:where(.group\/tr)[data-odd=true] *):before{content:var(--tw-content);background-color:hsl(var(--heroui-default-100)/1)}.group-data-\[odd\=true\]\/tr\:before\:opacity-100:is(:where(.group\/tr)[data-odd=true] *):before{content:var(--tw-content);opacity:1}.group-data-\[open\=true\]\:before\:translate-y-px:is(:where(.group)[data-open=true] *):before{content:var(--tw-content);--tw-translate-y:1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[open\=true\]\:before\:rotate-45:is(:where(.group)[data-open=true] *):before{content:var(--tw-content);rotate:45deg}.group-data-\[selected\=true\]\:before\:w-full:is(:where(.group)[data-selected=true] *):before{content:var(--tw-content);width:100%}.after\:pointer-events-auto:after{content:var(--tw-content);pointer-events:auto}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-0:after{content:var(--tw-content);inset:calc(var(--spacing)*0)}.after\:top-0:after{content:var(--tw-content);top:calc(var(--spacing)*0)}.after\:right-0:after{content:var(--tw-content);right:calc(var(--spacing)*0)}.after\:-bottom-1:after{content:var(--tw-content);bottom:calc(var(--spacing)*-1)}.after\:-bottom-\[2px\]:after{content:var(--tw-content);bottom:-2px}.after\:bottom-0:after{content:var(--tw-content);bottom:calc(var(--spacing)*0)}.after\:left-0:after{content:var(--tw-content);left:calc(var(--spacing)*0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:-z-10:after{content:var(--tw-content);z-index:-10}.after\:z-0:after{content:var(--tw-content);z-index:0}.after\:z-\[-1\]:after{content:var(--tw-content);z-index:-1}.after\:ms-0\.5:after{content:var(--tw-content);margin-inline-start:calc(var(--spacing)*.5)}.after\:ml-0\.5:after{content:var(--tw-content);margin-left:calc(var(--spacing)*.5)}.after\:block:after{content:var(--tw-content);display:block}.after\:h-0:after{content:var(--tw-content);height:calc(var(--spacing)*0)}.after\:h-4:after{content:var(--tw-content);height:calc(var(--spacing)*4)}.after\:h-5:after{content:var(--tw-content);height:calc(var(--spacing)*5)}.after\:h-\[2px\]:after{content:var(--tw-content);height:2px}.after\:h-divider:after{content:var(--tw-content);height:var(--heroui-divider-weight)}.after\:h-full:after{content:var(--tw-content);height:100%}.after\:h-px:after{content:var(--tw-content);height:1px}.after\:w-0:after{content:var(--tw-content);width:calc(var(--spacing)*0)}.after\:w-4:after{content:var(--tw-content);width:calc(var(--spacing)*4)}.after\:w-5:after{content:var(--tw-content);width:calc(var(--spacing)*5)}.after\:w-6:after{content:var(--tw-content);width:calc(var(--spacing)*6)}.after\:w-\[80\%\]:after{content:var(--tw-content);width:80%}.after\:w-full:after{content:var(--tw-content);width:100%}.after\:origin-center:after{content:var(--tw-content);transform-origin:50%}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.after\:translate-y-1:after{content:var(--tw-content);--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.after\:scale-50:after{content:var(--tw-content);--tw-scale-x:50%;--tw-scale-y:50%;--tw-scale-z:50%;scale:var(--tw-scale-x)var(--tw-scale-y)}.after\:rotate-0:after{content:var(--tw-content);rotate:none}.after\:rounded-\[calc\(var\(--heroui-radius-large\)\/2\)\]:after{content:var(--tw-content);border-radius:calc(var(--heroui-radius-large)/2)}.after\:rounded-\[calc\(var\(--heroui-radius-medium\)\*0\.5\)\]:after{content:var(--tw-content);border-radius:calc(var(--heroui-radius-medium)*.5)}.after\:rounded-\[calc\(var\(--heroui-radius-medium\)\*0\.6\)\]:after{content:var(--tw-content);border-radius:calc(var(--heroui-radius-medium)*.6)}.after\:rounded-\[calc\(var\(--heroui-radius-medium\)\*0\.7\)\]:after{content:var(--tw-content);border-radius:calc(var(--heroui-radius-medium)*.7)}.after\:rounded-\[calc\(var\(--heroui-radius-medium\)\/3\)\]:after{content:var(--tw-content);border-radius:calc(var(--heroui-radius-medium)/3)}.after\:rounded-\[calc\(var\(--heroui-radius-small\)\/3\)\]:after{content:var(--tw-content);border-radius:calc(var(--heroui-radius-small)/3)}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:rounded-none:after{content:var(--tw-content);border-radius:0}.after\:rounded-xl:after{content:var(--tw-content);border-radius:var(--radius-xl)}.after\:\!bg-danger:after{content:var(--tw-content);background-color:hsl(var(--heroui-danger)/1)!important}.after\:bg-background:after{content:var(--tw-content);background-color:hsl(var(--heroui-background)/1)}.after\:bg-content1:after{content:var(--tw-content);background-color:hsl(var(--heroui-content1)/1)}.after\:bg-content3:after{content:var(--tw-content);background-color:hsl(var(--heroui-content3)/1)}.after\:bg-current:after{content:var(--tw-content);background-color:currentColor}.after\:bg-danger:after{content:var(--tw-content);background-color:hsl(var(--heroui-danger)/1)}.after\:bg-default:after{content:var(--tw-content);background-color:hsl(var(--heroui-default)/1)}.after\:bg-default-foreground:after{content:var(--tw-content);background-color:hsl(var(--heroui-default-foreground)/1)}.after\:bg-divider:after{content:var(--tw-content);background-color:hsl(var(--heroui-divider)/.15)}.after\:bg-foreground:after{content:var(--tw-content);background-color:hsl(var(--heroui-foreground)/1)}.after\:bg-primary:after{content:var(--tw-content);background-color:hsl(var(--heroui-primary)/1)}.after\:bg-secondary:after{content:var(--tw-content);background-color:hsl(var(--heroui-secondary)/1)}.after\:bg-success:after{content:var(--tw-content);background-color:hsl(var(--heroui-success)/1)}.after\:bg-transparent:after{content:var(--tw-content);background-color:#0000}.after\:bg-warning:after{content:var(--tw-content);background-color:hsl(var(--heroui-warning)/1)}.after\:text-danger:after{content:var(--tw-content);color:hsl(var(--heroui-danger)/1)}.after\:text-danger-foreground:after{content:var(--tw-content);color:hsl(var(--heroui-danger-foreground)/1)}.after\:text-default-foreground:after{content:var(--tw-content);color:hsl(var(--heroui-default-foreground)/1)}.after\:text-primary-foreground:after{content:var(--tw-content);color:hsl(var(--heroui-primary-foreground)/1)}.after\:text-secondary-foreground:after{content:var(--tw-content);color:hsl(var(--heroui-secondary-foreground)/1)}.after\:text-success-foreground:after{content:var(--tw-content);color:hsl(var(--heroui-success-foreground)/1)}.after\:text-warning-foreground:after{content:var(--tw-content);color:hsl(var(--heroui-warning-foreground)/1)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:opacity-100:after{content:var(--tw-content);opacity:1}.after\:shadow-\[0_1px_0px_0_rgba\(0\,0\,0\,0\.05\)\]:after{content:var(--tw-content);--tw-shadow:0 1px 0px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.after\:shadow-small:after{content:var(--tw-content);--tw-shadow:var(--heroui-box-shadow-small);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:transition-background:after{content:var(--tw-content);transition-property:background;transition-duration:.25s;transition-timing-function:ease}.after\:transition-height:after{content:var(--tw-content);transition-property:height;transition-duration:.25s;transition-timing-function:ease}.after\:transition-transform:after{content:var(--tw-content);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:transition-transform-opacity:after{content:var(--tw-content);transition-property:transform,scale,opacity rotate;transition-duration:.25s;transition-timing-function:ease}.after\:transition-width:after{content:var(--tw-content);transition-property:width;transition-duration:.25s;transition-timing-function:ease}.after\:transition-none:after{content:var(--tw-content);transition-property:none}.after\:\!duration-200:after{content:var(--tw-content);--tw-duration:.2s!important;transition-duration:.2s!important}.after\:duration-150:after{content:var(--tw-content);--tw-duration:.15s;transition-duration:.15s}.after\:\!ease-linear:after{content:var(--tw-content);--tw-ease:linear!important;transition-timing-function:linear!important}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.after\:content-\[\'\*\'\]:after{--tw-content:"*";content:var(--tw-content)}.group-data-\[focus\=true\]\:after\:w-full:is(:where(.group)[data-focus=true] *):after{content:var(--tw-content);width:100%}.group-data-\[invalid\=true\]\:after\:bg-danger:is(:where(.group)[data-invalid=true] *):after{content:var(--tw-content);background-color:hsl(var(--heroui-danger)/1)}.group-data-\[open\=true\]\:after\:translate-y-0:is(:where(.group)[data-open=true] *):after{content:var(--tw-content);--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[open\=true\]\:after\:-rotate-45:is(:where(.group)[data-open=true] *):after{content:var(--tw-content);rotate:-45deg}.group-data-\[required\=true\]\:after\:ml-0\.5:is(:where(.group)[data-required=true] *):after{content:var(--tw-content);margin-left:calc(var(--spacing)*.5)}.group-data-\[required\=true\]\:after\:text-danger:is(:where(.group)[data-required=true] *):after{content:var(--tw-content);color:hsl(var(--heroui-danger)/1)}.group-data-\[required\=true\]\:after\:content-\[\'\*\'\]:is(:where(.group)[data-required=true] *):after{--tw-content:"*";content:var(--tw-content)}.group-data-\[selected\=true\]\:after\:scale-100:is(:where(.group)[data-selected=true] *):after{content:var(--tw-content);--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-data-\[selected\=true\]\:after\:opacity-100:is(:where(.group)[data-selected=true] *):after{content:var(--tw-content);opacity:1}.first\:mt-2:first-child{margin-top:calc(var(--spacing)*2)}.first\:-ml-0\.5:first-child{margin-left:calc(var(--spacing)*-.5)}.first\:rounded-s-full:first-child{border-start-start-radius:3.40282e38px;border-end-start-radius:3.40282e38px}.first\:rounded-s-large:first-child{border-start-start-radius:var(--heroui-radius-large);border-end-start-radius:var(--heroui-radius-large)}.first\:rounded-s-lg:first-child{border-start-start-radius:var(--radius-lg);border-end-start-radius:var(--radius-lg)}.first\:rounded-s-medium:first-child{border-start-start-radius:var(--heroui-radius-medium);border-end-start-radius:var(--heroui-radius-medium)}.first\:rounded-s-none:first-child{border-start-start-radius:0;border-end-start-radius:0}.first\:rounded-s-small:first-child{border-start-start-radius:var(--heroui-radius-small);border-end-start-radius:var(--heroui-radius-small)}.first\:before\:rounded-s-lg:first-child:before{content:var(--tw-content);border-start-start-radius:var(--radius-lg);border-end-start-radius:var(--radius-lg)}.first\:before\:rounded-s-none:first-child:before{content:var(--tw-content);border-start-start-radius:0;border-end-start-radius:0}.group-data-\[first\=true\]\/tr\:first\:before\:rounded-ss-lg:is(:where(.group\/tr)[data-first=true] *):first-child:before{content:var(--tw-content);border-start-start-radius:var(--radius-lg)}.group-data-\[first\=true\]\/tr\:first\:before\:rounded-ss-none:is(:where(.group\/tr)[data-first=true] *):first-child:before{content:var(--tw-content);border-start-start-radius:0}.group-data-\[last\=true\]\/tr\:first\:before\:rounded-es-lg:is(:where(.group\/tr)[data-last=true] *):first-child:before{content:var(--tw-content);border-end-start-radius:var(--radius-lg)}.group-data-\[last\=true\]\/tr\:first\:before\:rounded-es-none:is(:where(.group\/tr)[data-last=true] *):first-child:before{content:var(--tw-content);border-end-start-radius:0}.last\:rounded-e-full:last-child{border-start-end-radius:3.40282e38px;border-end-end-radius:3.40282e38px}.last\:rounded-e-large:last-child{border-start-end-radius:var(--heroui-radius-large);border-end-end-radius:var(--heroui-radius-large)}.last\:rounded-e-lg:last-child{border-start-end-radius:var(--radius-lg);border-end-end-radius:var(--radius-lg)}.last\:rounded-e-medium:last-child{border-start-end-radius:var(--heroui-radius-medium);border-end-end-radius:var(--heroui-radius-medium)}.last\:rounded-e-none:last-child{border-start-end-radius:0;border-end-end-radius:0}.last\:rounded-e-small:last-child{border-start-end-radius:var(--heroui-radius-small);border-end-end-radius:var(--heroui-radius-small)}.last\:before\:rounded-e-lg:last-child:before{content:var(--tw-content);border-start-end-radius:var(--radius-lg);border-end-end-radius:var(--radius-lg)}.last\:before\:rounded-e-none:last-child:before{content:var(--tw-content);border-start-end-radius:0;border-end-end-radius:0}.group-data-\[first\=true\]\/tr\:last\:before\:rounded-se-lg:is(:where(.group\/tr)[data-first=true] *):last-child:before{content:var(--tw-content);border-start-end-radius:var(--radius-lg)}.group-data-\[first\=true\]\/tr\:last\:before\:rounded-se-none:is(:where(.group\/tr)[data-first=true] *):last-child:before{content:var(--tw-content);border-start-end-radius:0}.group-data-\[last\=true\]\/tr\:last\:before\:rounded-ee-lg:is(:where(.group\/tr)[data-last=true] *):last-child:before{content:var(--tw-content);border-end-end-radius:var(--radius-lg)}.group-data-\[last\=true\]\/tr\:last\:before\:rounded-ee-none:is(:where(.group\/tr)[data-last=true] *):last-child:before{content:var(--tw-content);border-end-end-radius:0}.first-of-type\:rounded-e-none:first-of-type{border-start-end-radius:0;border-end-end-radius:0}.last-of-type\:rounded-s-none:last-of-type{border-start-start-radius:0;border-end-start-radius:0}.autofill\:bg-transparent:autofill{background-color:#0000}.focus-within\:border-danger:focus-within{border-color:hsl(var(--heroui-danger)/1)}.focus-within\:border-default-400:focus-within{border-color:hsl(var(--heroui-default-400)/1)}.focus-within\:border-default-foreground:focus-within{border-color:hsl(var(--heroui-default-foreground)/1)}.focus-within\:border-primary:focus-within{border-color:hsl(var(--heroui-primary)/1)}.focus-within\:border-secondary:focus-within{border-color:hsl(var(--heroui-secondary)/1)}.focus-within\:border-success:focus-within{border-color:hsl(var(--heroui-success)/1)}.focus-within\:border-warning:focus-within{border-color:hsl(var(--heroui-warning)/1)}.focus-within\:bg-danger-50:focus-within{background-color:hsl(var(--heroui-danger-50)/1)}.focus-within\:bg-primary-50:focus-within{background-color:hsl(var(--heroui-primary-50)/1)}.focus-within\:bg-secondary-50:focus-within{background-color:hsl(var(--heroui-secondary-50)/1)}.focus-within\:bg-success-50:focus-within{background-color:hsl(var(--heroui-success-50)/1)}.focus-within\:bg-warning-50:focus-within{background-color:hsl(var(--heroui-warning-50)/1)}.focus-within\:after\:w-full:focus-within:after{content:var(--tw-content);width:100%}@media(hover:hover){.hover\:-translate-x-0:hover{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-125:hover{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:border-danger:hover{border-color:hsl(var(--heroui-danger)/1)}.hover\:border-default:hover{border-color:hsl(var(--heroui-default)/1)}.hover\:border-default-300:hover{border-color:hsl(var(--heroui-default-300)/1)}.hover\:border-default-400:hover{border-color:hsl(var(--heroui-default-400)/1)}.hover\:border-primary:hover{border-color:hsl(var(--heroui-primary)/1)}.hover\:border-secondary:hover{border-color:hsl(var(--heroui-secondary)/1)}.hover\:border-success:hover{border-color:hsl(var(--heroui-success)/1)}.hover\:border-warning:hover{border-color:hsl(var(--heroui-warning)/1)}.hover\:\!bg-foreground:hover{background-color:hsl(var(--heroui-foreground)/1)!important}.hover\:bg-danger:hover{background-color:hsl(var(--heroui-danger)/1)}.hover\:bg-danger-50:hover{background-color:hsl(var(--heroui-danger-50)/1)}.hover\:bg-default-100:hover{background-color:hsl(var(--heroui-default-100)/1)}.hover\:bg-default-200:hover{background-color:hsl(var(--heroui-default-200)/1)}.hover\:bg-primary-50:hover{background-color:hsl(var(--heroui-primary-50)/1)}.hover\:bg-secondary-50:hover{background-color:hsl(var(--heroui-secondary-50)/1)}.hover\:bg-success-50:hover{background-color:hsl(var(--heroui-success-50)/1)}.hover\:bg-warning-50:hover{background-color:hsl(var(--heroui-warning-50)/1)}.hover\:text-danger-600:hover{color:hsl(var(--heroui-danger-600)/1)}.hover\:text-default-600:hover{color:hsl(var(--heroui-default-600)/1)}.hover\:text-foreground-600:hover{color:hsl(var(--heroui-foreground-600)/1)}.hover\:text-primary-600:hover{color:hsl(var(--heroui-primary-600)/1)}.hover\:text-secondary-600:hover{color:hsl(var(--heroui-secondary-600)/1)}.hover\:text-success-600:hover{color:hsl(var(--heroui-success-600)/1)}.hover\:text-warning-600:hover{color:hsl(var(--heroui-warning-600)/1)}.hover\:underline:hover{text-decoration-line:underline}.hover\:\!opacity-100:hover{opacity:1!important}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-hover:hover{opacity:var(--heroui-hover-opacity)}.group-data-\[invalid\=true\]\:hover\:border-danger:is(:where(.group)[data-invalid=true] *):hover{border-color:hsl(var(--heroui-danger)/1)}.group-data-\[invalid\=true\]\:hover\:bg-danger-100:is(:where(.group)[data-invalid=true] *):hover{background-color:hsl(var(--heroui-danger-100)/1)}.hover\:after\:bg-danger\/20:hover:after{content:var(--tw-content);background-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.hover\:after\:bg-danger\/20:hover:after{background-color:color-mix(in oklab,hsl(var(--heroui-danger)/1)20%,transparent)}}.hover\:after\:bg-foreground\/10:hover:after{content:var(--tw-content);background-color:hsl(var(--heroui-foreground)/1)}@supports (color:color-mix(in lab,red,red)){.hover\:after\:bg-foreground\/10:hover:after{background-color:color-mix(in oklab,hsl(var(--heroui-foreground)/1)10%,transparent)}}.hover\:after\:bg-primary\/20:hover:after{content:var(--tw-content);background-color:hsl(var(--heroui-primary)/1)}@supports (color:color-mix(in lab,red,red)){.hover\:after\:bg-primary\/20:hover:after{background-color:color-mix(in oklab,hsl(var(--heroui-primary)/1)20%,transparent)}}.hover\:after\:bg-secondary\/20:hover:after{content:var(--tw-content);background-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.hover\:after\:bg-secondary\/20:hover:after{background-color:color-mix(in oklab,hsl(var(--heroui-secondary)/1)20%,transparent)}}.hover\:after\:bg-success\/20:hover:after{content:var(--tw-content);background-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.hover\:after\:bg-success\/20:hover:after{background-color:color-mix(in oklab,hsl(var(--heroui-success)/1)20%,transparent)}}.hover\:after\:bg-warning\/20:hover:after{content:var(--tw-content);background-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.hover\:after\:bg-warning\/20:hover:after{background-color:color-mix(in oklab,hsl(var(--heroui-warning)/1)20%,transparent)}}.hover\:after\:opacity-100:hover:after{content:var(--tw-content);opacity:1}.focus-within\:hover\:border-danger:focus-within:hover{border-color:hsl(var(--heroui-danger)/1)}.focus-within\:hover\:border-default-foreground:focus-within:hover{border-color:hsl(var(--heroui-default-foreground)/1)}.focus-within\:hover\:border-primary:focus-within:hover{border-color:hsl(var(--heroui-primary)/1)}.focus-within\:hover\:border-secondary:focus-within:hover{border-color:hsl(var(--heroui-secondary)/1)}.focus-within\:hover\:border-success:focus-within:hover{border-color:hsl(var(--heroui-success)/1)}.focus-within\:hover\:border-warning:focus-within:hover{border-color:hsl(var(--heroui-warning)/1)}.focus-within\:hover\:bg-default-100:focus-within:hover{background-color:hsl(var(--heroui-default-100)/1)}.group-data-\[invalid\=true\]\:focus-within\:hover\:border-danger:is(:where(.group)[data-invalid=true] *):focus-within:hover{border-color:hsl(var(--heroui-danger)/1)}.group-data-\[invalid\=true\]\:focus-within\:hover\:bg-danger-50:is(:where(.group)[data-invalid=true] *):focus-within:hover{background-color:hsl(var(--heroui-danger-50)/1)}}.focus\:bg-danger-400\/50:focus{background-color:hsl(var(--heroui-danger-400)/1)}@supports (color:color-mix(in lab,red,red)){.focus\:bg-danger-400\/50:focus{background-color:color-mix(in oklab,hsl(var(--heroui-danger-400)/1)50%,transparent)}}.focus\:bg-default-400\/50:focus{background-color:hsl(var(--heroui-default-400)/1)}@supports (color:color-mix(in lab,red,red)){.focus\:bg-default-400\/50:focus{background-color:color-mix(in oklab,hsl(var(--heroui-default-400)/1)50%,transparent)}}.focus\:bg-primary-400\/50:focus{background-color:hsl(var(--heroui-primary-400)/1)}@supports (color:color-mix(in lab,red,red)){.focus\:bg-primary-400\/50:focus{background-color:color-mix(in oklab,hsl(var(--heroui-primary-400)/1)50%,transparent)}}.focus\:bg-secondary-400\/50:focus{background-color:hsl(var(--heroui-secondary-400)/1)}@supports (color:color-mix(in lab,red,red)){.focus\:bg-secondary-400\/50:focus{background-color:color-mix(in oklab,hsl(var(--heroui-secondary-400)/1)50%,transparent)}}.focus\:bg-success-400\/50:focus{background-color:hsl(var(--heroui-success-400)/1)}@supports (color:color-mix(in lab,red,red)){.focus\:bg-success-400\/50:focus{background-color:color-mix(in oklab,hsl(var(--heroui-success-400)/1)50%,transparent)}}.focus\:bg-warning-400\/50:focus{background-color:hsl(var(--heroui-warning-400)/1)}@supports (color:color-mix(in lab,red,red)){.focus\:bg-warning-400\/50:focus{background-color:color-mix(in oklab,hsl(var(--heroui-warning-400)/1)50%,transparent)}}.focus\:underline:focus{text-decoration-line:underline}.focus\:shadow-xs:focus{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-focus:focus-visible{outline-color:hsl(var(--heroui-focus)/1)}.active\:bg-default-200:active{background-color:hsl(var(--heroui-default-200)/1)}.active\:bg-default-300:active{background-color:hsl(var(--heroui-default-300)/1)}.active\:underline:active{text-decoration-line:underline}.active\:\!opacity-70:active{opacity:.7!important}.active\:opacity-disabled:active{opacity:var(--heroui-disabled-opacity)}.disabled\:cursor-default:disabled{cursor:default}.has-\[\:disabled\]\:opacity-60:has(:disabled){opacity:.6}.aria-expanded\:scale-\[0\.97\][aria-expanded=true]{scale:.97}.aria-expanded\:opacity-70[aria-expanded=true]{opacity:.7}.data-\[active\=true\]\:scale-100[data-active=true]{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\[active\=true\]\:scale-110[data-active=true]{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\[active\=true\]\:border-danger[data-active=true]{border-color:hsl(var(--heroui-danger)/1)}.data-\[active\=true\]\:border-danger-400[data-active=true]{border-color:hsl(var(--heroui-danger-400)/1)}.data-\[active\=true\]\:border-default-300[data-active=true]{border-color:hsl(var(--heroui-default-300)/1)}.data-\[active\=true\]\:border-default-400[data-active=true]{border-color:hsl(var(--heroui-default-400)/1)}.data-\[active\=true\]\:border-foreground[data-active=true]{border-color:hsl(var(--heroui-foreground)/1)}.data-\[active\=true\]\:border-primary[data-active=true]{border-color:hsl(var(--heroui-primary)/1)}.data-\[active\=true\]\:border-secondary[data-active=true]{border-color:hsl(var(--heroui-secondary)/1)}.data-\[active\=true\]\:border-success[data-active=true]{border-color:hsl(var(--heroui-success)/1)}.data-\[active\=true\]\:border-warning[data-active=true]{border-color:hsl(var(--heroui-warning)/1)}.data-\[active\=true\]\:bg-danger[data-active=true]{background-color:hsl(var(--heroui-danger)/1)}.data-\[active\=true\]\:bg-danger-100[data-active=true]{background-color:hsl(var(--heroui-danger-100)/1)}.data-\[active\=true\]\:bg-danger-200[data-active=true]{background-color:hsl(var(--heroui-danger-200)/1)}.data-\[active\=true\]\:bg-default-200[data-active=true]{background-color:hsl(var(--heroui-default-200)/1)}.data-\[active\=true\]\:bg-default-400[data-active=true]{background-color:hsl(var(--heroui-default-400)/1)}.data-\[active\=true\]\:bg-primary[data-active=true]{background-color:hsl(var(--heroui-primary)/1)}.data-\[active\=true\]\:bg-primary-200[data-active=true]{background-color:hsl(var(--heroui-primary-200)/1)}.data-\[active\=true\]\:bg-secondary[data-active=true]{background-color:hsl(var(--heroui-secondary)/1)}.data-\[active\=true\]\:bg-secondary-200[data-active=true]{background-color:hsl(var(--heroui-secondary-200)/1)}.data-\[active\=true\]\:bg-success[data-active=true]{background-color:hsl(var(--heroui-success)/1)}.data-\[active\=true\]\:bg-success-200[data-active=true]{background-color:hsl(var(--heroui-success-200)/1)}.data-\[active\=true\]\:bg-warning[data-active=true]{background-color:hsl(var(--heroui-warning)/1)}.data-\[active\=true\]\:bg-warning-200[data-active=true]{background-color:hsl(var(--heroui-warning-200)/1)}.data-\[active\=true\]\:font-semibold[data-active=true]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.data-\[active\=true\]\:text-danger-foreground[data-active=true]{color:hsl(var(--heroui-danger-foreground)/1)}.data-\[active\=true\]\:text-default-foreground[data-active=true]{color:hsl(var(--heroui-default-foreground)/1)}.data-\[active\=true\]\:text-primary-foreground[data-active=true]{color:hsl(var(--heroui-primary-foreground)/1)}.data-\[active\=true\]\:text-secondary-foreground[data-active=true]{color:hsl(var(--heroui-secondary-foreground)/1)}.data-\[active\=true\]\:text-success-foreground[data-active=true]{color:hsl(var(--heroui-success-foreground)/1)}.data-\[active\=true\]\:text-warning-foreground[data-active=true]{color:hsl(var(--heroui-warning-foreground)/1)}.data-\[active\=true\]\:shadow-md[data-active=true]{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[active\=true\]\:shadow-danger\/40[data-active=true]{--tw-shadow-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[active\=true\]\:shadow-danger\/40[data-active=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-danger)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[active\=true\]\:shadow-default\/50[data-active=true]{--tw-shadow-color:hsl(var(--heroui-default)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[active\=true\]\:shadow-default\/50[data-active=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-default)/1)50%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[active\=true\]\:shadow-primary\/40[data-active=true]{--tw-shadow-color:hsl(var(--heroui-primary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[active\=true\]\:shadow-primary\/40[data-active=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-primary)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[active\=true\]\:shadow-secondary\/40[data-active=true]{--tw-shadow-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[active\=true\]\:shadow-secondary\/40[data-active=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-secondary)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[active\=true\]\:shadow-success\/40[data-active=true]{--tw-shadow-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[active\=true\]\:shadow-success\/40[data-active=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-success)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[active\=true\]\:shadow-warning\/40[data-active=true]{--tw-shadow-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[active\=true\]\:shadow-warning\/40[data-active=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-warning)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[active\=true\]\:after\:w-full[data-active=true]:after{content:var(--tw-content);width:100%}.data-\[active\=true\]\:after\:bg-danger-400[data-active=true]:after{content:var(--tw-content);background-color:hsl(var(--heroui-danger-400)/1)}.data-\[animation\=exiting\]\:opacity-0[data-animation=exiting]{opacity:0}.data-\[arrow\=true\]\:before\:block[data-arrow=true]:before{content:var(--tw-content);display:block}.data-\[before\=true\]\:rotate-180[data-before=true]{rotate:180deg}.data-\[bottom-scroll\=true\]\:\[mask-image\:linear-gradient\(180deg\,\#000_calc\(100\%_-_var\(--scroll-shadow-size\)\)\,transparent\)\][data-bottom-scroll=true]{-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - var(--scroll-shadow-size)),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - var(--scroll-shadow-size)),transparent)}.data-\[direction\=ascending\]\:rotate-180[data-direction=ascending]{rotate:180deg}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:cursor-default[data-disabled=true]{cursor:default}.data-\[disabled\=true\]\:cursor-not-allowed[data-disabled=true]{cursor:not-allowed}.data-\[disabled\=true\]\:text-default-300[data-disabled=true]{color:hsl(var(--heroui-default-300)/1)}.data-\[disabled\=true\]\:opacity-30[data-disabled=true]{opacity:.3}.data-\[disabled\=true\]\:transition-none[data-disabled=true]{transition-property:none}.data-\[dragging\=true\]\:cursor-grabbing[data-dragging=true]{cursor:grabbing}.data-\[dragging\=true\]\:after\:scale-80[data-dragging=true]:after{content:var(--tw-content);--tw-scale-x:.8;--tw-scale-y:.8;--tw-scale-z:.8;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\[dragging\=true\]\:after\:scale-100[data-dragging=true]:after{content:var(--tw-content);--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\[editable\=true\]\:text-danger[data-editable=true]{color:hsl(var(--heroui-danger)/1)}.data-\[editable\=true\]\:text-foreground[data-editable=true]{color:hsl(var(--heroui-foreground)/1)}.data-\[editable\=true\]\:text-primary[data-editable=true]{color:hsl(var(--heroui-primary)/1)}.data-\[editable\=true\]\:text-secondary[data-editable=true]{color:hsl(var(--heroui-secondary)/1)}.data-\[editable\=true\]\:text-success-600[data-editable=true]{color:hsl(var(--heroui-success-600)/1)}.data-\[editable\=true\]\:text-warning-600[data-editable=true]{color:hsl(var(--heroui-warning-600)/1)}.data-\[editable\=true\]\:focus\:text-danger[data-editable=true]:focus{color:hsl(var(--heroui-danger)/1)}.data-\[editable\=true\]\:focus\:text-default-foreground[data-editable=true]:focus{color:hsl(var(--heroui-default-foreground)/1)}.data-\[editable\=true\]\:focus\:text-primary[data-editable=true]:focus{color:hsl(var(--heroui-primary)/1)}.data-\[editable\=true\]\:focus\:text-secondary[data-editable=true]:focus{color:hsl(var(--heroui-secondary)/1)}.data-\[editable\=true\]\:focus\:text-success[data-editable=true]:focus{color:hsl(var(--heroui-success)/1)}.data-\[editable\=true\]\:focus\:text-success-600[data-editable=true]:focus{color:hsl(var(--heroui-success-600)/1)}.data-\[editable\=true\]\:focus\:text-warning[data-editable=true]:focus{color:hsl(var(--heroui-warning)/1)}.data-\[editable\=true\]\:focus\:text-warning-600[data-editable=true]:focus{color:hsl(var(--heroui-warning-600)/1)}.data-\[fill-end\=true\]\:border-e-danger[data-fill-end=true]{border-inline-end-color:hsl(var(--heroui-danger)/1)}.data-\[fill-end\=true\]\:border-e-foreground[data-fill-end=true]{border-inline-end-color:hsl(var(--heroui-foreground)/1)}.data-\[fill-end\=true\]\:border-e-primary[data-fill-end=true]{border-inline-end-color:hsl(var(--heroui-primary)/1)}.data-\[fill-end\=true\]\:border-e-secondary[data-fill-end=true]{border-inline-end-color:hsl(var(--heroui-secondary)/1)}.data-\[fill-end\=true\]\:border-e-success[data-fill-end=true]{border-inline-end-color:hsl(var(--heroui-success)/1)}.data-\[fill-end\=true\]\:border-e-warning[data-fill-end=true]{border-inline-end-color:hsl(var(--heroui-warning)/1)}.data-\[fill-end\=true\]\:border-t-danger[data-fill-end=true]{border-top-color:hsl(var(--heroui-danger)/1)}.data-\[fill-end\=true\]\:border-t-foreground[data-fill-end=true]{border-top-color:hsl(var(--heroui-foreground)/1)}.data-\[fill-end\=true\]\:border-t-primary[data-fill-end=true]{border-top-color:hsl(var(--heroui-primary)/1)}.data-\[fill-end\=true\]\:border-t-secondary[data-fill-end=true]{border-top-color:hsl(var(--heroui-secondary)/1)}.data-\[fill-end\=true\]\:border-t-success[data-fill-end=true]{border-top-color:hsl(var(--heroui-success)/1)}.data-\[fill-end\=true\]\:border-t-warning[data-fill-end=true]{border-top-color:hsl(var(--heroui-warning)/1)}.data-\[fill-start\=true\]\:border-s-danger[data-fill-start=true]{border-inline-start-color:hsl(var(--heroui-danger)/1)}.data-\[fill-start\=true\]\:border-s-foreground[data-fill-start=true]{border-inline-start-color:hsl(var(--heroui-foreground)/1)}.data-\[fill-start\=true\]\:border-s-primary[data-fill-start=true]{border-inline-start-color:hsl(var(--heroui-primary)/1)}.data-\[fill-start\=true\]\:border-s-secondary[data-fill-start=true]{border-inline-start-color:hsl(var(--heroui-secondary)/1)}.data-\[fill-start\=true\]\:border-s-success[data-fill-start=true]{border-inline-start-color:hsl(var(--heroui-success)/1)}.data-\[fill-start\=true\]\:border-s-warning[data-fill-start=true]{border-inline-start-color:hsl(var(--heroui-warning)/1)}.data-\[fill-start\=true\]\:border-b-danger[data-fill-start=true]{border-bottom-color:hsl(var(--heroui-danger)/1)}.data-\[fill-start\=true\]\:border-b-foreground[data-fill-start=true]{border-bottom-color:hsl(var(--heroui-foreground)/1)}.data-\[fill-start\=true\]\:border-b-primary[data-fill-start=true]{border-bottom-color:hsl(var(--heroui-primary)/1)}.data-\[fill-start\=true\]\:border-b-secondary[data-fill-start=true]{border-bottom-color:hsl(var(--heroui-secondary)/1)}.data-\[fill-start\=true\]\:border-b-success[data-fill-start=true]{border-bottom-color:hsl(var(--heroui-success)/1)}.data-\[fill-start\=true\]\:border-b-warning[data-fill-start=true]{border-bottom-color:hsl(var(--heroui-warning)/1)}.data-\[focus-visible\]\:outline-danger-foreground[data-focus-visible]{outline-color:hsl(var(--heroui-danger-foreground)/1)}.data-\[focus-visible\]\:outline-default-foreground[data-focus-visible]{outline-color:hsl(var(--heroui-default-foreground)/1)}.data-\[focus-visible\]\:outline-primary-foreground[data-focus-visible]{outline-color:hsl(var(--heroui-primary-foreground)/1)}.data-\[focus-visible\]\:outline-secondary-foreground[data-focus-visible]{outline-color:hsl(var(--heroui-secondary-foreground)/1)}.data-\[focus-visible\]\:outline-success-foreground[data-focus-visible]{outline-color:hsl(var(--heroui-success-foreground)/1)}.data-\[focus-visible\]\:outline-warning-foreground[data-focus-visible]{outline-color:hsl(var(--heroui-warning-foreground)/1)}.data-\[focus-visible\=true\]\:z-10[data-focus-visible=true]{z-index:10}.data-\[focus-visible\=true\]\:-translate-x-3[data-focus-visible=true]{--tw-translate-x:calc(var(--spacing)*-3);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[focus-visible\=true\]\:outline-2[data-focus-visible=true]{outline-style:var(--tw-outline-style);outline-width:2px}.data-\[focus-visible\=true\]\:outline-offset-2[data-focus-visible=true]{outline-offset:2px}.data-\[focus-visible\=true\]\:outline-focus[data-focus-visible=true]{outline-color:hsl(var(--heroui-focus)/1)}.data-\[focus\=true\]\:border-danger[data-focus=true]{border-color:hsl(var(--heroui-danger)/1)}.data-\[focus\=true\]\:border-default-400[data-focus=true]{border-color:hsl(var(--heroui-default-400)/1)}.data-\[focus\=true\]\:border-default-foreground[data-focus=true]{border-color:hsl(var(--heroui-default-foreground)/1)}.data-\[focus\=true\]\:border-primary[data-focus=true]{border-color:hsl(var(--heroui-primary)/1)}.data-\[focus\=true\]\:border-secondary[data-focus=true]{border-color:hsl(var(--heroui-secondary)/1)}.data-\[focus\=true\]\:border-success[data-focus=true]{border-color:hsl(var(--heroui-success)/1)}.data-\[focus\=true\]\:border-warning[data-focus=true]{border-color:hsl(var(--heroui-warning)/1)}.data-\[focus\=true\]\:after\:w-full[data-focus=true]:after{content:var(--tw-content);width:100%}.data-\[focused\=true\]\:z-10[data-focused=true]{z-index:10}.data-\[has-end-content\=true\]\:pe-1\.5[data-has-end-content=true]{padding-inline-end:calc(var(--spacing)*1.5)}.data-\[has-helper\=true\]\:items-start[data-has-helper=true]{align-items:flex-start}.data-\[has-helper\=true\]\:pb-\[calc\(var\(--heroui-font-size-tiny\)_\+8px\)\][data-has-helper=true],.data-\[has-helper\=true\]\:pb-\[calc\(var\(--heroui-font-size-tiny\)_\+_8px\)\][data-has-helper=true]{padding-bottom:calc(var(--heroui-font-size-tiny) + 8px)}.data-\[has-label\=true\]\:mt-\[calc\(var\(--heroui-font-size-small\)_\+_8px\)\][data-has-label=true]{margin-top:calc(var(--heroui-font-size-small) + 8px)}.data-\[has-label\=true\]\:mt-\[calc\(var\(--heroui-font-size-small\)_\+_10px\)\][data-has-label=true]{margin-top:calc(var(--heroui-font-size-small) + 10px)}.data-\[has-label\=true\]\:mt-\[calc\(var\(--heroui-font-size-small\)_\+_12px\)\][data-has-label=true]{margin-top:calc(var(--heroui-font-size-small) + 12px)}.data-\[has-multiple-rows\=true\]\:rounded-large[data-has-multiple-rows=true]{border-radius:var(--heroui-radius-large)}.data-\[has-start-content\=true\]\:ps-1\.5[data-has-start-content=true]{padding-inline-start:calc(var(--spacing)*1.5)}.data-\[has-title\=true\]\:pt-1[data-has-title=true]{padding-top:calc(var(--spacing)*1)}.data-\[has-value\=true\]\:text-default-foreground[data-has-value=true]{color:hsl(var(--heroui-default-foreground)/1)}.data-\[hidden\=true\]\:hidden[data-hidden=true]{display:none}.data-\[hide-scroll\=true\]\:scrollbar-hide[data-hide-scroll=true]{-ms-overflow-style:none;scrollbar-width:none}.data-\[hide-scroll\=true\]\:scrollbar-hide[data-hide-scroll=true]::-webkit-scrollbar{display:none}.data-\[hover\]\:bg-danger-50[data-hover]{background-color:hsl(var(--heroui-danger-50)/1)}.data-\[hover\]\:bg-danger-200[data-hover]{background-color:hsl(var(--heroui-danger-200)/1)}.data-\[hover\]\:bg-default-100[data-hover]{background-color:hsl(var(--heroui-default-100)/1)}.data-\[hover\]\:bg-primary-50[data-hover]{background-color:hsl(var(--heroui-primary-50)/1)}.data-\[hover\]\:bg-primary-200[data-hover]{background-color:hsl(var(--heroui-primary-200)/1)}.data-\[hover\]\:bg-secondary-50[data-hover]{background-color:hsl(var(--heroui-secondary-50)/1)}.data-\[hover\]\:bg-secondary-200[data-hover]{background-color:hsl(var(--heroui-secondary-200)/1)}.data-\[hover\]\:bg-success-50[data-hover]{background-color:hsl(var(--heroui-success-50)/1)}.data-\[hover\]\:bg-success-200[data-hover]{background-color:hsl(var(--heroui-success-200)/1)}.data-\[hover\]\:bg-warning-100[data-hover]{background-color:hsl(var(--heroui-warning-100)/1)}.data-\[hover\]\:bg-warning-200[data-hover]{background-color:hsl(var(--heroui-warning-200)/1)}.data-\[hover-unselected\=true\]\:opacity-disabled[data-hover-unselected=true]{opacity:var(--heroui-disabled-opacity)}.data-\[hover\=true\]\:-translate-x-3[data-hover=true]{--tw-translate-x:calc(var(--spacing)*-3);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[hover\=true\]\:translate-x-0[data-hover=true]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[hover\=true\]\:border-danger[data-hover=true]{border-color:hsl(var(--heroui-danger)/1)}.data-\[hover\=true\]\:border-default[data-hover=true]{border-color:hsl(var(--heroui-default)/1)}.data-\[hover\=true\]\:border-default-400[data-hover=true]{border-color:hsl(var(--heroui-default-400)/1)}.data-\[hover\=true\]\:border-primary[data-hover=true]{border-color:hsl(var(--heroui-primary)/1)}.data-\[hover\=true\]\:border-secondary[data-hover=true]{border-color:hsl(var(--heroui-secondary)/1)}.data-\[hover\=true\]\:border-success[data-hover=true]{border-color:hsl(var(--heroui-success)/1)}.data-\[hover\=true\]\:border-warning[data-hover=true]{border-color:hsl(var(--heroui-warning)/1)}.data-\[hover\=true\]\:\!bg-danger[data-hover=true]{background-color:hsl(var(--heroui-danger)/1)!important}.data-\[hover\=true\]\:\!bg-danger-100[data-hover=true]{background-color:hsl(var(--heroui-danger-100)/1)!important}.data-\[hover\=true\]\:\!bg-default[data-hover=true]{background-color:hsl(var(--heroui-default)/1)!important}.data-\[hover\=true\]\:\!bg-primary[data-hover=true]{background-color:hsl(var(--heroui-primary)/1)!important}.data-\[hover\=true\]\:\!bg-secondary[data-hover=true]{background-color:hsl(var(--heroui-secondary)/1)!important}.data-\[hover\=true\]\:\!bg-success[data-hover=true]{background-color:hsl(var(--heroui-success)/1)!important}.data-\[hover\=true\]\:\!bg-warning[data-hover=true]{background-color:hsl(var(--heroui-warning)/1)!important}.data-\[hover\=true\]\:bg-content2[data-hover=true]{background-color:hsl(var(--heroui-content2)/1)}.data-\[hover\=true\]\:bg-danger[data-hover=true]{background-color:hsl(var(--heroui-danger)/1)}.data-\[hover\=true\]\:bg-danger-50[data-hover=true]{background-color:hsl(var(--heroui-danger-50)/1)}.data-\[hover\=true\]\:bg-danger-100[data-hover=true]{background-color:hsl(var(--heroui-danger-100)/1)}.data-\[hover\=true\]\:bg-danger\/20[data-hover=true]{background-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:bg-danger\/20[data-hover=true]{background-color:color-mix(in oklab,hsl(var(--heroui-danger)/1)20%,transparent)}}.data-\[hover\=true\]\:bg-default[data-hover=true]{background-color:hsl(var(--heroui-default)/1)}.data-\[hover\=true\]\:bg-default-100[data-hover=true]{background-color:hsl(var(--heroui-default-100)/1)}.data-\[hover\=true\]\:bg-default-200[data-hover=true]{background-color:hsl(var(--heroui-default-200)/1)}.data-\[hover\=true\]\:bg-default\/40[data-hover=true]{background-color:hsl(var(--heroui-default)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:bg-default\/40[data-hover=true]{background-color:color-mix(in oklab,hsl(var(--heroui-default)/1)40%,transparent)}}.data-\[hover\=true\]\:bg-foreground-200[data-hover=true]{background-color:hsl(var(--heroui-foreground-200)/1)}.data-\[hover\=true\]\:bg-primary[data-hover=true]{background-color:hsl(var(--heroui-primary)/1)}.data-\[hover\=true\]\:bg-primary-50[data-hover=true]{background-color:hsl(var(--heroui-primary-50)/1)}.data-\[hover\=true\]\:bg-primary\/20[data-hover=true]{background-color:hsl(var(--heroui-primary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:bg-primary\/20[data-hover=true]{background-color:color-mix(in oklab,hsl(var(--heroui-primary)/1)20%,transparent)}}.data-\[hover\=true\]\:bg-secondary[data-hover=true]{background-color:hsl(var(--heroui-secondary)/1)}.data-\[hover\=true\]\:bg-secondary-50[data-hover=true]{background-color:hsl(var(--heroui-secondary-50)/1)}.data-\[hover\=true\]\:bg-secondary\/20[data-hover=true]{background-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:bg-secondary\/20[data-hover=true]{background-color:color-mix(in oklab,hsl(var(--heroui-secondary)/1)20%,transparent)}}.data-\[hover\=true\]\:bg-success[data-hover=true]{background-color:hsl(var(--heroui-success)/1)}.data-\[hover\=true\]\:bg-success-50[data-hover=true]{background-color:hsl(var(--heroui-success-50)/1)}.data-\[hover\=true\]\:bg-success-100[data-hover=true]{background-color:hsl(var(--heroui-success-100)/1)}.data-\[hover\=true\]\:bg-success\/20[data-hover=true]{background-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:bg-success\/20[data-hover=true]{background-color:color-mix(in oklab,hsl(var(--heroui-success)/1)20%,transparent)}}.data-\[hover\=true\]\:bg-transparent[data-hover=true]{background-color:#0000}.data-\[hover\=true\]\:bg-warning[data-hover=true]{background-color:hsl(var(--heroui-warning)/1)}.data-\[hover\=true\]\:bg-warning-50[data-hover=true]{background-color:hsl(var(--heroui-warning-50)/1)}.data-\[hover\=true\]\:bg-warning-100[data-hover=true]{background-color:hsl(var(--heroui-warning-100)/1)}.data-\[hover\=true\]\:bg-warning\/20[data-hover=true]{background-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:bg-warning\/20[data-hover=true]{background-color:color-mix(in oklab,hsl(var(--heroui-warning)/1)20%,transparent)}}.data-\[hover\=true\]\:\!text-danger-foreground[data-hover=true]{color:hsl(var(--heroui-danger-foreground)/1)!important}.data-\[hover\=true\]\:\!text-primary-foreground[data-hover=true]{color:hsl(var(--heroui-primary-foreground)/1)!important}.data-\[hover\=true\]\:\!text-secondary-foreground[data-hover=true]{color:hsl(var(--heroui-secondary-foreground)/1)!important}.data-\[hover\=true\]\:\!text-success-foreground[data-hover=true]{color:hsl(var(--heroui-success-foreground)/1)!important}.data-\[hover\=true\]\:\!text-warning-foreground[data-hover=true]{color:hsl(var(--heroui-warning-foreground)/1)!important}.data-\[hover\=true\]\:text-danger[data-hover=true]{color:hsl(var(--heroui-danger)/1)}.data-\[hover\=true\]\:text-danger-500[data-hover=true]{color:hsl(var(--heroui-danger-500)/1)}.data-\[hover\=true\]\:text-danger-foreground[data-hover=true]{color:hsl(var(--heroui-danger-foreground)/1)}.data-\[hover\=true\]\:text-default-500[data-hover=true]{color:hsl(var(--heroui-default-500)/1)}.data-\[hover\=true\]\:text-default-foreground[data-hover=true]{color:hsl(var(--heroui-default-foreground)/1)}.data-\[hover\=true\]\:text-foreground-400[data-hover=true]{color:hsl(var(--heroui-foreground-400)/1)}.data-\[hover\=true\]\:text-foreground-600[data-hover=true]{color:hsl(var(--heroui-foreground-600)/1)}.data-\[hover\=true\]\:text-primary[data-hover=true]{color:hsl(var(--heroui-primary)/1)}.data-\[hover\=true\]\:text-primary-400[data-hover=true]{color:hsl(var(--heroui-primary-400)/1)}.data-\[hover\=true\]\:text-primary-foreground[data-hover=true]{color:hsl(var(--heroui-primary-foreground)/1)}.data-\[hover\=true\]\:text-secondary[data-hover=true]{color:hsl(var(--heroui-secondary)/1)}.data-\[hover\=true\]\:text-secondary-400[data-hover=true]{color:hsl(var(--heroui-secondary-400)/1)}.data-\[hover\=true\]\:text-secondary-foreground[data-hover=true]{color:hsl(var(--heroui-secondary-foreground)/1)}.data-\[hover\=true\]\:text-success[data-hover=true]{color:hsl(var(--heroui-success)/1)}.data-\[hover\=true\]\:text-success-600[data-hover=true]{color:hsl(var(--heroui-success-600)/1)}.data-\[hover\=true\]\:text-success-foreground[data-hover=true]{color:hsl(var(--heroui-success-foreground)/1)}.data-\[hover\=true\]\:text-warning[data-hover=true]{color:hsl(var(--heroui-warning)/1)}.data-\[hover\=true\]\:text-warning-600[data-hover=true]{color:hsl(var(--heroui-warning-600)/1)}.data-\[hover\=true\]\:text-warning-foreground[data-hover=true]{color:hsl(var(--heroui-warning-foreground)/1)}.data-\[hover\=true\]\:opacity-70[data-hover=true]{opacity:.7}.data-\[hover\=true\]\:opacity-hover[data-hover=true]{opacity:var(--heroui-hover-opacity)}.data-\[hover\=true\]\:shadow-lg[data-hover=true]{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[hover\=true\]\:shadow-danger\/30[data-hover=true]{--tw-shadow-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:shadow-danger\/30[data-hover=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-danger)/1)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[hover\=true\]\:shadow-default\/50[data-hover=true]{--tw-shadow-color:hsl(var(--heroui-default)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:shadow-default\/50[data-hover=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-default)/1)50%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[hover\=true\]\:shadow-primary\/30[data-hover=true]{--tw-shadow-color:hsl(var(--heroui-primary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:shadow-primary\/30[data-hover=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-primary)/1)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[hover\=true\]\:shadow-secondary\/30[data-hover=true]{--tw-shadow-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:shadow-secondary\/30[data-hover=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-secondary)/1)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[hover\=true\]\:shadow-success\/30[data-hover=true]{--tw-shadow-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:shadow-success\/30[data-hover=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-success)/1)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[hover\=true\]\:shadow-warning\/30[data-hover=true]{--tw-shadow-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[hover\=true\]\:shadow-warning\/30[data-hover=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-warning)/1)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[hover\=true\]\:transition-colors[data-hover=true]{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.data-\[in-range\=false\]\:bg-default-200[data-in-range=false]{background-color:hsl(var(--heroui-default-200)/1)}.data-\[in-range\=true\]\:bg-background\/50[data-in-range=true]{background-color:hsl(var(--heroui-background)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[in-range\=true\]\:bg-background\/50[data-in-range=true]{background-color:color-mix(in oklab,hsl(var(--heroui-background)/1)50%,transparent)}}.data-\[in-range\=true\]\:bg-danger[data-in-range=true]{background-color:hsl(var(--heroui-danger)/1)}.data-\[in-range\=true\]\:bg-foreground[data-in-range=true]{background-color:hsl(var(--heroui-foreground)/1)}.data-\[in-range\=true\]\:bg-primary[data-in-range=true]{background-color:hsl(var(--heroui-primary)/1)}.data-\[in-range\=true\]\:bg-secondary[data-in-range=true]{background-color:hsl(var(--heroui-secondary)/1)}.data-\[in-range\=true\]\:bg-success[data-in-range=true]{background-color:hsl(var(--heroui-success)/1)}.data-\[in-range\=true\]\:bg-warning[data-in-range=true]{background-color:hsl(var(--heroui-warning)/1)}.data-\[in-range\=true\]\:opacity-100[data-in-range=true]{opacity:1}.data-\[inert\=true\]\:hidden[data-inert=true]{display:none}.data-\[invalid\=true\]\:text-danger-300[data-invalid=true]{color:hsl(var(--heroui-danger-300)/1)}.data-\[invalid\=true\]\:focus\:bg-danger-400\/50[data-invalid=true]:focus{background-color:hsl(var(--heroui-danger-400)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[invalid\=true\]\:focus\:bg-danger-400\/50[data-invalid=true]:focus{background-color:color-mix(in oklab,hsl(var(--heroui-danger-400)/1)50%,transparent)}}.data-\[invalid\=true\]\:data-\[editable\=true\]\:text-danger[data-invalid=true][data-editable=true],.data-\[invalid\=true\]\:data-\[editable\=true\]\:focus\:text-danger[data-invalid=true][data-editable=true]:focus{color:hsl(var(--heroui-danger)/1)}.data-\[invisible\=true\]\:scale-0[data-invisible=true]{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\[invisible\=true\]\:opacity-0[data-invisible=true]{opacity:0}.data-\[justify\=center\]\:justify-center[data-justify=center]{justify-content:center}.data-\[justify\=end\]\:flex-grow[data-justify=end]{flex-grow:1}.data-\[justify\=end\]\:basis-0[data-justify=end]{flex-basis:calc(var(--spacing)*0)}.data-\[justify\=end\]\:justify-end[data-justify=end]{justify-content:flex-end}.data-\[justify\=start\]\:flex-grow[data-justify=start]{flex-grow:1}.data-\[justify\=start\]\:basis-0[data-justify=start]{flex-basis:calc(var(--spacing)*0)}.data-\[justify\=start\]\:justify-start[data-justify=start]{justify-content:flex-start}.data-\[left-right-scroll\=true\]\:\[mask-image\:linear-gradient\(to_right\,\#000\,\#000\,transparent_0\,\#000_var\(--scroll-shadow-size\)\,\#000_calc\(100\%_-_var\(--scroll-shadow-size\)\)\,transparent\)\][data-left-right-scroll=true]{-webkit-mask-image:linear-gradient(to right,#000,#000,transparent 0,#000 var(--scroll-shadow-size),#000 calc(100% - var(--scroll-shadow-size)),transparent);mask-image:linear-gradient(to right,#000,#000,transparent 0,#000 var(--scroll-shadow-size),#000 calc(100% - var(--scroll-shadow-size)),transparent)}.data-\[left-scroll\=true\]\:\[mask-image\:linear-gradient\(270deg\,\#000_calc\(100\%_-_var\(--scroll-shadow-size\)\)\,transparent\)\][data-left-scroll=true]{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - var(--scroll-shadow-size)),transparent);mask-image:linear-gradient(270deg,#000 calc(100% - var(--scroll-shadow-size)),transparent)}.data-\[loaded\=true\]\:pointer-events-auto[data-loaded=true]{pointer-events:auto}.data-\[loaded\=true\]\:overflow-visible[data-loaded=true]{overflow:visible}.data-\[loaded\=true\]\:\!bg-transparent[data-loaded=true]{background-color:#0000!important}.data-\[loaded\=true\]\:opacity-100[data-loaded=true]{opacity:1}.data-\[loaded\=true\]\:before\:-z-10[data-loaded=true]:before{content:var(--tw-content);z-index:-10}.data-\[loaded\=true\]\:before\:animate-none[data-loaded=true]:before{content:var(--tw-content);animation:none}.data-\[loaded\=true\]\:before\:opacity-0[data-loaded=true]:before,.data-\[loaded\=true\]\:after\:opacity-0[data-loaded=true]:after{content:var(--tw-content);opacity:0}.data-\[menu-open\=true\]\:border-none[data-menu-open=true]{--tw-border-style:none;border-style:none}.data-\[menu-open\=true\]\:backdrop-blur-xl[data-menu-open=true]{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.data-\[moving\]\:opacity-100[data-moving]{opacity:1}.data-\[moving\=true\]\:transition-transform[data-moving=true]{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.data-\[open\=true\]\:block[data-open=true]{display:block}.data-\[open\=true\]\:flex[data-open=true]{display:flex}.data-\[open\=true\]\:-rotate-90[data-open=true]{rotate:-90deg}.data-\[open\=true\]\:rotate-180[data-open=true]{rotate:180deg}.data-\[open\=true\]\:border-danger[data-open=true]{border-color:hsl(var(--heroui-danger)/1)}.data-\[open\=true\]\:border-default-400[data-open=true]{border-color:hsl(var(--heroui-default-400)/1)}.data-\[open\=true\]\:border-default-foreground[data-open=true]{border-color:hsl(var(--heroui-default-foreground)/1)}.data-\[open\=true\]\:border-primary[data-open=true]{border-color:hsl(var(--heroui-primary)/1)}.data-\[open\=true\]\:border-secondary[data-open=true]{border-color:hsl(var(--heroui-secondary)/1)}.data-\[open\=true\]\:border-success[data-open=true]{border-color:hsl(var(--heroui-success)/1)}.data-\[open\=true\]\:border-warning[data-open=true]{border-color:hsl(var(--heroui-warning)/1)}.data-\[open\=true\]\:after\:w-full[data-open=true]:after{content:var(--tw-content);width:100%}.data-\[orientation\=horizontal\]\:flex-row[data-orientation=horizontal]{flex-direction:row}.data-\[outside-month\=true\]\:before\:hidden[data-outside-month=true]:before{content:var(--tw-content);display:none}.data-\[disabled\=true\]\:data-\[outside-month\=true\]\:opacity-0[data-disabled=true][data-outside-month=true]{opacity:0}.data-\[editable\=true\]\:data-\[placeholder\=true\]\:text-danger-300[data-editable=true][data-placeholder=true]{color:hsl(var(--heroui-danger-300)/1)}.data-\[editable\=true\]\:data-\[placeholder\=true\]\:text-foreground-500[data-editable=true][data-placeholder=true]{color:hsl(var(--heroui-foreground-500)/1)}.data-\[editable\=true\]\:data-\[placeholder\=true\]\:text-primary-300[data-editable=true][data-placeholder=true]{color:hsl(var(--heroui-primary-300)/1)}.data-\[editable\=true\]\:data-\[placeholder\=true\]\:text-secondary-300[data-editable=true][data-placeholder=true]{color:hsl(var(--heroui-secondary-300)/1)}.data-\[editable\=true\]\:data-\[placeholder\=true\]\:text-success-400[data-editable=true][data-placeholder=true]{color:hsl(var(--heroui-success-400)/1)}.data-\[editable\=true\]\:data-\[placeholder\=true\]\:text-warning-400[data-editable=true][data-placeholder=true]{color:hsl(var(--heroui-warning-400)/1)}.data-\[placement\=bottom\]\:before\:-top-\[calc\(theme\(spacing\.5\)\/4_-_1\.5px\)\][data-placement=bottom]:before{content:var(--tw-content);top:calc(1.5px - .3125rem)}.data-\[placement\=bottom\]\:before\:left-1\/2[data-placement=bottom]:before{content:var(--tw-content);left:50%}.data-\[placement\=bottom\]\:before\:-translate-x-1\/2[data-placement=bottom]:before{content:var(--tw-content);--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[placement\=bottom-center\]\:fixed[data-placement=bottom-center]{position:fixed}.data-\[placement\=bottom-center\]\:right-0[data-placement=bottom-center]{right:calc(var(--spacing)*0)}.data-\[placement\=bottom-center\]\:bottom-0[data-placement=bottom-center]{bottom:calc(var(--spacing)*0)}.data-\[placement\=bottom-center\]\:left-0[data-placement=bottom-center]{left:calc(var(--spacing)*0)}.data-\[placement\=bottom-center\]\:left-1\/2[data-placement=bottom-center]{left:50%}.data-\[placement\=bottom-center\]\:flex[data-placement=bottom-center]{display:flex}.data-\[placement\=bottom-center\]\:-translate-x-1\/2[data-placement=bottom-center]{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[placement\=bottom-center\]\:flex-col[data-placement=bottom-center]{flex-direction:column}.data-\[placement\=bottom-center\]\:before\:top-\[calc\(-1\*var\(--top-extension\,16px\)\)\][data-placement=bottom-center]:before{content:var(--tw-content);top:calc(-1*var(--top-extension,16px))}.data-\[placement\=bottom-center\]\:before\:h-\[var\(--top-extension\,16px\)\][data-placement=bottom-center]:before{content:var(--tw-content);height:var(--top-extension,16px)}.data-\[placement\=bottom-center\]\:after\:bottom-\[calc\(-1\*var\(--bottom-extension\,16px\)\)\][data-placement=bottom-center]:after{content:var(--tw-content);bottom:calc(-1*var(--bottom-extension,16px))}.data-\[placement\=bottom-center\]\:after\:h-\[var\(--bottom-extension\,16px\)\][data-placement=bottom-center]:after{content:var(--tw-content);height:var(--bottom-extension,16px)}.data-\[placement\=bottom-end\]\:before\:-top-\[calc\(theme\(spacing\.5\)\/4_-_1\.5px\)\][data-placement=bottom-end]:before{content:var(--tw-content);top:calc(1.5px - .3125rem)}.data-\[placement\=bottom-end\]\:before\:right-3[data-placement=bottom-end]:before{content:var(--tw-content);right:calc(var(--spacing)*3)}.data-\[placement\=bottom-left\]\:fixed[data-placement=bottom-left]{position:fixed}.data-\[placement\=bottom-left\]\:bottom-0[data-placement=bottom-left]{bottom:calc(var(--spacing)*0)}.data-\[placement\=bottom-left\]\:left-0[data-placement=bottom-left]{left:calc(var(--spacing)*0)}.data-\[placement\=bottom-left\]\:mx-auto[data-placement=bottom-left]{margin-inline:auto}.data-\[placement\=bottom-left\]\:flex[data-placement=bottom-left]{display:flex}.data-\[placement\=bottom-left\]\:flex-col[data-placement=bottom-left]{flex-direction:column}.data-\[placement\=bottom-left\]\:before\:top-\[calc\(-1\*var\(--top-extension\,16px\)\)\][data-placement=bottom-left]:before{content:var(--tw-content);top:calc(-1*var(--top-extension,16px))}.data-\[placement\=bottom-left\]\:before\:h-\[var\(--top-extension\,16px\)\][data-placement=bottom-left]:before{content:var(--tw-content);height:var(--top-extension,16px)}.data-\[placement\=bottom-left\]\:after\:bottom-\[calc\(-1\*var\(--bottom-extension\,16px\)\)\][data-placement=bottom-left]:after{content:var(--tw-content);bottom:calc(-1*var(--bottom-extension,16px))}.data-\[placement\=bottom-left\]\:after\:h-\[var\(--bottom-extension\,16px\)\][data-placement=bottom-left]:after{content:var(--tw-content);height:var(--bottom-extension,16px)}.data-\[placement\=bottom-right\]\:fixed[data-placement=bottom-right]{position:fixed}.data-\[placement\=bottom-right\]\:right-0[data-placement=bottom-right]{right:calc(var(--spacing)*0)}.data-\[placement\=bottom-right\]\:bottom-0[data-placement=bottom-right]{bottom:calc(var(--spacing)*0)}.data-\[placement\=bottom-right\]\:mx-auto[data-placement=bottom-right]{margin-inline:auto}.data-\[placement\=bottom-right\]\:flex[data-placement=bottom-right]{display:flex}.data-\[placement\=bottom-right\]\:flex-col[data-placement=bottom-right]{flex-direction:column}.data-\[placement\=bottom-right\]\:before\:top-\[calc\(-1\*var\(--top-extension\,16px\)\)\][data-placement=bottom-right]:before{content:var(--tw-content);top:calc(-1*var(--top-extension,16px))}.data-\[placement\=bottom-right\]\:before\:h-\[var\(--top-extension\,16px\)\][data-placement=bottom-right]:before{content:var(--tw-content);height:var(--top-extension,16px)}.data-\[placement\=bottom-right\]\:after\:bottom-\[calc\(-1\*var\(--bottom-extension\,16px\)\)\][data-placement=bottom-right]:after{content:var(--tw-content);bottom:calc(-1*var(--bottom-extension,16px))}.data-\[placement\=bottom-right\]\:after\:h-\[var\(--bottom-extension\,16px\)\][data-placement=bottom-right]:after{content:var(--tw-content);height:var(--bottom-extension,16px)}.data-\[placement\=bottom-start\]\:before\:-top-\[calc\(theme\(spacing\.5\)\/4_-_1\.5px\)\][data-placement=bottom-start]:before{content:var(--tw-content);top:calc(1.5px - .3125rem)}.data-\[placement\=bottom-start\]\:before\:left-3[data-placement=bottom-start]:before{content:var(--tw-content);left:calc(var(--spacing)*3)}.data-\[placement\=left\]\:before\:top-1\/2[data-placement=left]:before{content:var(--tw-content);top:50%}.data-\[placement\=left\]\:before\:-right-\[calc\(theme\(spacing\.5\)\/4_-_2px\)\][data-placement=left]:before{content:var(--tw-content);right:calc(2px - .3125rem)}.data-\[placement\=left\]\:before\:-translate-y-1\/2[data-placement=left]:before{content:var(--tw-content);--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[placement\=left-end\]\:before\:-right-\[calc\(theme\(spacing\.5\)\/4_-_3px\)\][data-placement=left-end]:before{content:var(--tw-content);right:calc(3px - .3125rem)}.data-\[placement\=left-end\]\:before\:bottom-1\/4[data-placement=left-end]:before{content:var(--tw-content);bottom:25%}.data-\[placement\=left-start\]\:before\:top-1\/4[data-placement=left-start]:before{content:var(--tw-content);top:25%}.data-\[placement\=left-start\]\:before\:-right-\[calc\(theme\(spacing\.5\)\/4_-_3px\)\][data-placement=left-start]:before{content:var(--tw-content);right:calc(3px - .3125rem)}.data-\[placement\=right\]\:before\:top-1\/2[data-placement=right]:before{content:var(--tw-content);top:50%}.data-\[placement\=right\]\:before\:-left-\[calc\(theme\(spacing\.5\)\/4_-_2px\)\][data-placement=right]:before{content:var(--tw-content);left:calc(2px - .3125rem)}.data-\[placement\=right\]\:before\:-translate-y-1\/2[data-placement=right]:before{content:var(--tw-content);--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[placement\=right-end\]\:before\:bottom-1\/4[data-placement=right-end]:before{content:var(--tw-content);bottom:25%}.data-\[placement\=right-end\]\:before\:-left-\[calc\(theme\(spacing\.5\)\/4_-_3px\)\][data-placement=right-end]:before{content:var(--tw-content);left:calc(3px - .3125rem)}.data-\[placement\=right-start\]\:before\:top-1\/4[data-placement=right-start]:before{content:var(--tw-content);top:25%}.data-\[placement\=right-start\]\:before\:-left-\[calc\(theme\(spacing\.5\)\/4_-_3px\)\][data-placement=right-start]:before{content:var(--tw-content);left:calc(3px - .3125rem)}.data-\[placement\=top\]\:before\:-bottom-\[calc\(theme\(spacing\.5\)\/4_-_1\.5px\)\][data-placement=top]:before{content:var(--tw-content);bottom:calc(1.5px - .3125rem)}.data-\[placement\=top\]\:before\:left-1\/2[data-placement=top]:before{content:var(--tw-content);left:50%}.data-\[placement\=top\]\:before\:-translate-x-1\/2[data-placement=top]:before{content:var(--tw-content);--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[placement\=top-center\]\:fixed[data-placement=top-center]{position:fixed}.data-\[placement\=top-center\]\:top-0[data-placement=top-center]{top:calc(var(--spacing)*0)}.data-\[placement\=top-center\]\:right-0[data-placement=top-center]{right:calc(var(--spacing)*0)}.data-\[placement\=top-center\]\:left-0[data-placement=top-center]{left:calc(var(--spacing)*0)}.data-\[placement\=top-center\]\:left-1\/2[data-placement=top-center]{left:50%}.data-\[placement\=top-center\]\:flex[data-placement=top-center]{display:flex}.data-\[placement\=top-center\]\:-translate-x-1\/2[data-placement=top-center]{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[placement\=top-center\]\:flex-col[data-placement=top-center]{flex-direction:column}.data-\[placement\=top-end\]\:before\:right-3[data-placement=top-end]:before{content:var(--tw-content);right:calc(var(--spacing)*3)}.data-\[placement\=top-end\]\:before\:-bottom-\[calc\(theme\(spacing\.5\)\/4_-_1\.5px\)\][data-placement=top-end]:before{content:var(--tw-content);bottom:calc(1.5px - .3125rem)}.data-\[placement\=top-left\]\:fixed[data-placement=top-left]{position:fixed}.data-\[placement\=top-left\]\:top-0[data-placement=top-left]{top:calc(var(--spacing)*0)}.data-\[placement\=top-left\]\:left-0[data-placement=top-left]{left:calc(var(--spacing)*0)}.data-\[placement\=top-left\]\:mx-auto[data-placement=top-left]{margin-inline:auto}.data-\[placement\=top-left\]\:flex[data-placement=top-left]{display:flex}.data-\[placement\=top-left\]\:flex-col[data-placement=top-left]{flex-direction:column}.data-\[placement\=top-right\]\:fixed[data-placement=top-right]{position:fixed}.data-\[placement\=top-right\]\:top-0[data-placement=top-right]{top:calc(var(--spacing)*0)}.data-\[placement\=top-right\]\:right-0[data-placement=top-right]{right:calc(var(--spacing)*0)}.data-\[placement\=top-right\]\:mx-auto[data-placement=top-right]{margin-inline:auto}.data-\[placement\=top-right\]\:flex[data-placement=top-right]{display:flex}.data-\[placement\=top-right\]\:flex-col[data-placement=top-right]{flex-direction:column}.data-\[placement\=top-start\]\:before\:-bottom-\[calc\(theme\(spacing\.5\)\/4_-_1\.5px\)\][data-placement=top-start]:before{content:var(--tw-content);bottom:calc(1.5px - .3125rem)}.data-\[placement\=top-start\]\:before\:left-3[data-placement=top-start]:before{content:var(--tw-content);left:calc(var(--spacing)*3)}.data-\[pressed\=true\]\:scale-100[data-pressed=true]{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\[pressed\=true\]\:scale-\[0\.97\][data-pressed=true]{scale:.97}.data-\[pressed\=true\]\:opacity-50[data-pressed=true]{opacity:.5}.data-\[pressed\=true\]\:opacity-70[data-pressed=true]{opacity:.7}.data-\[pressed\=true\]\:opacity-disabled[data-pressed=true]{opacity:var(--heroui-disabled-opacity)}.data-\[range-end\=true\]\:before\:rounded-e-full[data-range-end=true]:before{content:var(--tw-content);border-start-end-radius:3.40282e38px;border-end-end-radius:3.40282e38px}.data-\[range-start\=true\]\:before\:rounded-s-full[data-range-start=true]:before{content:var(--tw-content);border-start-start-radius:3.40282e38px;border-end-start-radius:3.40282e38px}.data-\[readonly\=true\]\:cursor-default[data-readonly=true]{cursor:default}.data-\[right-scroll\=true\]\:\[mask-image\:linear-gradient\(90deg\,\#000_calc\(100\%_-_var\(--scroll-shadow-size\)\)\,transparent\)\][data-right-scroll=true]{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - var(--scroll-shadow-size)),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - var(--scroll-shadow-size)),transparent)}.data-\[selectable\=true\]\:focus\:border-danger[data-selectable=true]:focus{border-color:hsl(var(--heroui-danger)/1)}.data-\[selectable\=true\]\:focus\:border-default[data-selectable=true]:focus{border-color:hsl(var(--heroui-default)/1)}.data-\[selectable\=true\]\:focus\:border-primary[data-selectable=true]:focus{border-color:hsl(var(--heroui-primary)/1)}.data-\[selectable\=true\]\:focus\:border-secondary[data-selectable=true]:focus{border-color:hsl(var(--heroui-secondary)/1)}.data-\[selectable\=true\]\:focus\:border-success[data-selectable=true]:focus{border-color:hsl(var(--heroui-success)/1)}.data-\[selectable\=true\]\:focus\:border-warning[data-selectable=true]:focus{border-color:hsl(var(--heroui-warning)/1)}.data-\[selectable\=true\]\:focus\:bg-danger[data-selectable=true]:focus,.data-\[selectable\=true\]\:focus\:bg-danger\/20[data-selectable=true]:focus{background-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:bg-danger\/20[data-selectable=true]:focus{background-color:color-mix(in oklab,hsl(var(--heroui-danger)/1)20%,transparent)}}.data-\[selectable\=true\]\:focus\:bg-default[data-selectable=true]:focus{background-color:hsl(var(--heroui-default)/1)}.data-\[selectable\=true\]\:focus\:bg-default-100[data-selectable=true]:focus{background-color:hsl(var(--heroui-default-100)/1)}.data-\[selectable\=true\]\:focus\:bg-default\/40[data-selectable=true]:focus{background-color:hsl(var(--heroui-default)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:bg-default\/40[data-selectable=true]:focus{background-color:color-mix(in oklab,hsl(var(--heroui-default)/1)40%,transparent)}}.data-\[selectable\=true\]\:focus\:bg-primary[data-selectable=true]:focus,.data-\[selectable\=true\]\:focus\:bg-primary\/20[data-selectable=true]:focus{background-color:hsl(var(--heroui-primary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:bg-primary\/20[data-selectable=true]:focus{background-color:color-mix(in oklab,hsl(var(--heroui-primary)/1)20%,transparent)}}.data-\[selectable\=true\]\:focus\:bg-secondary[data-selectable=true]:focus,.data-\[selectable\=true\]\:focus\:bg-secondary\/20[data-selectable=true]:focus{background-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:bg-secondary\/20[data-selectable=true]:focus{background-color:color-mix(in oklab,hsl(var(--heroui-secondary)/1)20%,transparent)}}.data-\[selectable\=true\]\:focus\:bg-success[data-selectable=true]:focus,.data-\[selectable\=true\]\:focus\:bg-success\/20[data-selectable=true]:focus{background-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:bg-success\/20[data-selectable=true]:focus{background-color:color-mix(in oklab,hsl(var(--heroui-success)/1)20%,transparent)}}.data-\[selectable\=true\]\:focus\:bg-warning[data-selectable=true]:focus,.data-\[selectable\=true\]\:focus\:bg-warning\/20[data-selectable=true]:focus{background-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:bg-warning\/20[data-selectable=true]:focus{background-color:color-mix(in oklab,hsl(var(--heroui-warning)/1)20%,transparent)}}.data-\[selectable\=true\]\:focus\:text-danger[data-selectable=true]:focus{color:hsl(var(--heroui-danger)/1)}.data-\[selectable\=true\]\:focus\:text-danger-foreground[data-selectable=true]:focus{color:hsl(var(--heroui-danger-foreground)/1)}.data-\[selectable\=true\]\:focus\:text-default-500[data-selectable=true]:focus{color:hsl(var(--heroui-default-500)/1)}.data-\[selectable\=true\]\:focus\:text-default-foreground[data-selectable=true]:focus{color:hsl(var(--heroui-default-foreground)/1)}.data-\[selectable\=true\]\:focus\:text-primary[data-selectable=true]:focus{color:hsl(var(--heroui-primary)/1)}.data-\[selectable\=true\]\:focus\:text-primary-foreground[data-selectable=true]:focus{color:hsl(var(--heroui-primary-foreground)/1)}.data-\[selectable\=true\]\:focus\:text-secondary[data-selectable=true]:focus{color:hsl(var(--heroui-secondary)/1)}.data-\[selectable\=true\]\:focus\:text-secondary-foreground[data-selectable=true]:focus{color:hsl(var(--heroui-secondary-foreground)/1)}.data-\[selectable\=true\]\:focus\:text-success[data-selectable=true]:focus{color:hsl(var(--heroui-success)/1)}.data-\[selectable\=true\]\:focus\:text-success-foreground[data-selectable=true]:focus{color:hsl(var(--heroui-success-foreground)/1)}.data-\[selectable\=true\]\:focus\:text-warning[data-selectable=true]:focus{color:hsl(var(--heroui-warning)/1)}.data-\[selectable\=true\]\:focus\:text-warning-foreground[data-selectable=true]:focus{color:hsl(var(--heroui-warning-foreground)/1)}.data-\[selectable\=true\]\:focus\:shadow-danger\/30[data-selectable=true]:focus{--tw-shadow-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:shadow-danger\/30[data-selectable=true]:focus{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-danger)/1)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selectable\=true\]\:focus\:shadow-default\/50[data-selectable=true]:focus{--tw-shadow-color:hsl(var(--heroui-default)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:shadow-default\/50[data-selectable=true]:focus{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-default)/1)50%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selectable\=true\]\:focus\:shadow-primary\/30[data-selectable=true]:focus{--tw-shadow-color:hsl(var(--heroui-primary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:shadow-primary\/30[data-selectable=true]:focus{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-primary)/1)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selectable\=true\]\:focus\:shadow-secondary\/30[data-selectable=true]:focus{--tw-shadow-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:shadow-secondary\/30[data-selectable=true]:focus{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-secondary)/1)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selectable\=true\]\:focus\:shadow-success\/30[data-selectable=true]:focus{--tw-shadow-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:shadow-success\/30[data-selectable=true]:focus{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-success)/1)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selectable\=true\]\:focus\:shadow-warning\/30[data-selectable=true]:focus{--tw-shadow-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selectable\=true\]\:focus\:shadow-warning\/30[data-selectable=true]:focus{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-warning)/1)30%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selected\=true\]\:bg-danger[data-selected=true]{background-color:hsl(var(--heroui-danger)/1)}.data-\[selected\=true\]\:bg-default[data-selected=true]{background-color:hsl(var(--heroui-default)/1)}.data-\[selected\=true\]\:bg-foreground[data-selected=true]{background-color:hsl(var(--heroui-foreground)/1)}.data-\[selected\=true\]\:bg-primary[data-selected=true]{background-color:hsl(var(--heroui-primary)/1)}.data-\[selected\=true\]\:bg-secondary[data-selected=true]{background-color:hsl(var(--heroui-secondary)/1)}.data-\[selected\=true\]\:bg-success[data-selected=true]{background-color:hsl(var(--heroui-success)/1)}.data-\[selected\=true\]\:bg-warning[data-selected=true]{background-color:hsl(var(--heroui-warning)/1)}.data-\[selected\=true\]\:text-background[data-selected=true]{color:hsl(var(--heroui-background)/1)}.data-\[selected\=true\]\:text-danger[data-selected=true]{color:hsl(var(--heroui-danger)/1)}.data-\[selected\=true\]\:text-danger-foreground[data-selected=true]{color:hsl(var(--heroui-danger-foreground)/1)}.data-\[selected\=true\]\:text-default-foreground[data-selected=true]{color:hsl(var(--heroui-default-foreground)/1)}.data-\[selected\=true\]\:text-primary[data-selected=true]{color:hsl(var(--heroui-primary)/1)}.data-\[selected\=true\]\:text-primary-foreground[data-selected=true]{color:hsl(var(--heroui-primary-foreground)/1)}.data-\[selected\=true\]\:text-secondary[data-selected=true]{color:hsl(var(--heroui-secondary)/1)}.data-\[selected\=true\]\:text-secondary-foreground[data-selected=true]{color:hsl(var(--heroui-secondary-foreground)/1)}.data-\[selected\=true\]\:text-success-600[data-selected=true]{color:hsl(var(--heroui-success-600)/1)}.data-\[selected\=true\]\:text-success-foreground[data-selected=true]{color:hsl(var(--heroui-success-foreground)/1)}.data-\[selected\=true\]\:text-warning-600[data-selected=true]{color:hsl(var(--heroui-warning-600)/1)}.data-\[selected\=true\]\:text-warning-foreground[data-selected=true]{color:hsl(var(--heroui-warning-foreground)/1)}.data-\[selected\=true\]\:shadow-md[data-selected=true]{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[selected\=true\]\:shadow-none[data-selected=true]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[selected\=true\]\:shadow-danger\/40[data-selected=true]{--tw-shadow-color:hsl(var(--heroui-danger)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selected\=true\]\:shadow-danger\/40[data-selected=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-danger)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selected\=true\]\:shadow-foreground\/40[data-selected=true]{--tw-shadow-color:hsl(var(--heroui-foreground)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selected\=true\]\:shadow-foreground\/40[data-selected=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-foreground)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selected\=true\]\:shadow-primary\/40[data-selected=true]{--tw-shadow-color:hsl(var(--heroui-primary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selected\=true\]\:shadow-primary\/40[data-selected=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-primary)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selected\=true\]\:shadow-secondary\/40[data-selected=true]{--tw-shadow-color:hsl(var(--heroui-secondary)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selected\=true\]\:shadow-secondary\/40[data-selected=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-secondary)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selected\=true\]\:shadow-success\/40[data-selected=true]{--tw-shadow-color:hsl(var(--heroui-success)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selected\=true\]\:shadow-success\/40[data-selected=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-success)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selected\=true\]\:shadow-warning\/40[data-selected=true]{--tw-shadow-color:hsl(var(--heroui-warning)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selected\=true\]\:shadow-warning\/40[data-selected=true]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--heroui-warning)/1)40%,transparent)var(--tw-shadow-alpha),transparent)}}.data-\[selected\=true\]\:before\:opacity-100[data-selected=true]:before{content:var(--tw-content);opacity:1}.data-\[selected\=true\]\:after\:bg-danger[data-selected=true]:after{content:var(--tw-content);background-color:hsl(var(--heroui-danger)/1)}.data-\[selected\=true\]\:after\:bg-foreground[data-selected=true]:after{content:var(--tw-content);background-color:hsl(var(--heroui-foreground)/1)}.data-\[selected\=true\]\:after\:bg-primary[data-selected=true]:after{content:var(--tw-content);background-color:hsl(var(--heroui-primary)/1)}.data-\[selected\=true\]\:after\:bg-secondary[data-selected=true]:after{content:var(--tw-content);background-color:hsl(var(--heroui-secondary)/1)}.data-\[selected\=true\]\:after\:bg-success[data-selected=true]:after{content:var(--tw-content);background-color:hsl(var(--heroui-success)/1)}.data-\[selected\=true\]\:after\:bg-warning[data-selected=true]:after{content:var(--tw-content);background-color:hsl(var(--heroui-warning)/1)}.data-\[selected\=true\]\:after\:opacity-100[data-selected=true]:after{content:var(--tw-content);opacity:1}.data-\[selected\=true\]\:data-\[hover\=true\]\:bg-danger[data-selected=true][data-hover=true]{background-color:hsl(var(--heroui-danger)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:bg-foreground[data-selected=true][data-hover=true]{background-color:hsl(var(--heroui-foreground)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:bg-primary[data-selected=true][data-hover=true]{background-color:hsl(var(--heroui-primary)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:bg-secondary[data-selected=true][data-hover=true]{background-color:hsl(var(--heroui-secondary)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:bg-success[data-selected=true][data-hover=true]{background-color:hsl(var(--heroui-success)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:bg-warning[data-selected=true][data-hover=true]{background-color:hsl(var(--heroui-warning)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:text-background[data-selected=true][data-hover=true]{color:hsl(var(--heroui-background)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:text-danger-foreground[data-selected=true][data-hover=true]{color:hsl(var(--heroui-danger-foreground)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:text-primary-foreground[data-selected=true][data-hover=true]{color:hsl(var(--heroui-primary-foreground)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:text-secondary-foreground[data-selected=true][data-hover=true]{color:hsl(var(--heroui-secondary-foreground)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:text-success-foreground[data-selected=true][data-hover=true]{color:hsl(var(--heroui-success-foreground)/1)}.data-\[selected\=true\]\:data-\[hover\=true\]\:text-warning-foreground[data-selected=true][data-hover=true]{color:hsl(var(--heroui-warning-foreground)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:bg-transparent[data-selected=true][data-range-selection=true]{background-color:#0000}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:text-danger-500[data-selected=true][data-range-selection=true]{color:hsl(var(--heroui-danger-500)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:text-foreground[data-selected=true][data-range-selection=true]{color:hsl(var(--heroui-foreground)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:text-primary[data-selected=true][data-range-selection=true]{color:hsl(var(--heroui-primary)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:text-secondary[data-selected=true][data-range-selection=true]{color:hsl(var(--heroui-secondary)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:text-success-600[data-selected=true][data-range-selection=true]{color:hsl(var(--heroui-success-600)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:text-warning-500[data-selected=true][data-range-selection=true]{color:hsl(var(--heroui-warning-500)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:before\:bg-danger-50[data-selected=true][data-range-selection=true]:before{content:var(--tw-content);background-color:hsl(var(--heroui-danger-50)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:before\:bg-foreground\/10[data-selected=true][data-range-selection=true]:before{content:var(--tw-content);background-color:hsl(var(--heroui-foreground)/1)}@supports (color:color-mix(in lab,red,red)){.data-\[selected\=true\]\:data-\[range-selection\=true\]\:before\:bg-foreground\/10[data-selected=true][data-range-selection=true]:before{background-color:color-mix(in oklab,hsl(var(--heroui-foreground)/1)10%,transparent)}}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:before\:bg-primary-50[data-selected=true][data-range-selection=true]:before{content:var(--tw-content);background-color:hsl(var(--heroui-primary-50)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:before\:bg-secondary-50[data-selected=true][data-range-selection=true]:before{content:var(--tw-content);background-color:hsl(var(--heroui-secondary-50)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:before\:bg-success-100[data-selected=true][data-range-selection=true]:before{content:var(--tw-content);background-color:hsl(var(--heroui-success-100)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:before\:bg-warning-100[data-selected=true][data-range-selection=true]:before{content:var(--tw-content);background-color:hsl(var(--heroui-warning-100)/1)}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:data-\[outside-month\=true\]\:bg-transparent[data-selected=true][data-range-selection=true][data-outside-month=true]{background-color:#0000}.data-\[selected\=true\]\:data-\[range-selection\=true\]\:data-\[outside-month\=true\]\:text-default-300[data-selected=true][data-range-selection=true][data-outside-month=true]{color:hsl(var(--heroui-default-300)/1)}.data-\[selection-end\=true\]\:before\:rounded-e-full[data-selection-end=true]:before{content:var(--tw-content);border-start-end-radius:3.40282e38px;border-end-end-radius:3.40282e38px}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:shadow-md[data-selected=true][data-selection-end=true]{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:rounded-full[data-selected=true][data-selection-end=true][data-range-selection=true]{border-radius:3.40282e38px}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:bg-danger[data-selected=true][data-selection-end=true][data-range-selection=true]{background-color:hsl(var(--heroui-danger)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:bg-foreground[data-selected=true][data-selection-end=true][data-range-selection=true]{background-color:hsl(var(--heroui-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:bg-primary[data-selected=true][data-selection-end=true][data-range-selection=true]{background-color:hsl(var(--heroui-primary)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:bg-secondary[data-selected=true][data-selection-end=true][data-range-selection=true]{background-color:hsl(var(--heroui-secondary)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:bg-success[data-selected=true][data-selection-end=true][data-range-selection=true]{background-color:hsl(var(--heroui-success)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:bg-warning[data-selected=true][data-selection-end=true][data-range-selection=true]{background-color:hsl(var(--heroui-warning)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:text-background[data-selected=true][data-selection-end=true][data-range-selection=true]{color:hsl(var(--heroui-background)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:text-danger-foreground[data-selected=true][data-selection-end=true][data-range-selection=true]{color:hsl(var(--heroui-danger-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:text-primary-foreground[data-selected=true][data-selection-end=true][data-range-selection=true]{color:hsl(var(--heroui-primary-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:text-secondary-foreground[data-selected=true][data-selection-end=true][data-range-selection=true]{color:hsl(var(--heroui-secondary-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:text-success-foreground[data-selected=true][data-selection-end=true][data-range-selection=true]{color:hsl(var(--heroui-success-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:text-warning-foreground[data-selected=true][data-selection-end=true][data-range-selection=true]{color:hsl(var(--heroui-warning-foreground)/1)}.data-\[selection-start\=true\]\:before\:rounded-s-full[data-selection-start=true]:before{content:var(--tw-content);border-start-start-radius:3.40282e38px;border-end-start-radius:3.40282e38px}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:shadow-md[data-selected=true][data-selection-start=true]{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:rounded-full[data-selected=true][data-selection-start=true][data-range-selection=true]{border-radius:3.40282e38px}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:bg-danger[data-selected=true][data-selection-start=true][data-range-selection=true]{background-color:hsl(var(--heroui-danger)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:bg-foreground[data-selected=true][data-selection-start=true][data-range-selection=true]{background-color:hsl(var(--heroui-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:bg-primary[data-selected=true][data-selection-start=true][data-range-selection=true]{background-color:hsl(var(--heroui-primary)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:bg-secondary[data-selected=true][data-selection-start=true][data-range-selection=true]{background-color:hsl(var(--heroui-secondary)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:bg-success[data-selected=true][data-selection-start=true][data-range-selection=true]{background-color:hsl(var(--heroui-success)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:bg-warning[data-selected=true][data-selection-start=true][data-range-selection=true]{background-color:hsl(var(--heroui-warning)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:text-background[data-selected=true][data-selection-start=true][data-range-selection=true]{color:hsl(var(--heroui-background)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:text-danger-foreground[data-selected=true][data-selection-start=true][data-range-selection=true]{color:hsl(var(--heroui-danger-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:text-primary-foreground[data-selected=true][data-selection-start=true][data-range-selection=true]{color:hsl(var(--heroui-primary-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:text-secondary-foreground[data-selected=true][data-selection-start=true][data-range-selection=true]{color:hsl(var(--heroui-secondary-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:text-success-foreground[data-selected=true][data-selection-start=true][data-range-selection=true]{color:hsl(var(--heroui-success-foreground)/1)}.data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:text-warning-foreground[data-selected=true][data-selection-start=true][data-range-selection=true]{color:hsl(var(--heroui-warning-foreground)/1)}.data-\[sortable\=true\]\:cursor-pointer[data-sortable=true]{cursor:pointer}.data-\[toast-exiting\=true\]\:transform-gpu[data-toast-exiting=true]{transform:translateZ(0)var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.data-\[toast-exiting\=true\]\:opacity-0[data-toast-exiting=true]{opacity:0}.data-\[toast-exiting\=true\]\:transition-all[data-toast-exiting=true]{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.data-\[toast-exiting\=true\]\:duration-300[data-toast-exiting=true]{--tw-duration:.3s;transition-duration:.3s}.data-\[toast-exiting\=true\]\:ease-out[data-toast-exiting=true]{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.data-\[toast-exiting\=true\]\:will-change-transform[data-toast-exiting=true]{will-change:transform}.data-\[toast-exiting\=true\]\:data-\[placement\=bottom-center\]\:translate-y-full[data-toast-exiting=true][data-placement=bottom-center]{--tw-translate-y:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[toast-exiting\=true\]\:data-\[placement\=bottom-left\]\:-translate-x-full[data-toast-exiting=true][data-placement=bottom-left]{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[toast-exiting\=true\]\:data-\[placement\=bottom-right\]\:translate-x-full[data-toast-exiting=true][data-placement=bottom-right]{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[toast-exiting\=true\]\:data-\[placement\=top-center\]\:-translate-y-full[data-toast-exiting=true][data-placement=top-center]{--tw-translate-y:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[toast-exiting\=true\]\:data-\[placement\=top-left\]\:-translate-x-full[data-toast-exiting=true][data-placement=top-left]{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[toast-exiting\=true\]\:data-\[placement\=top-right\]\:translate-x-full[data-toast-exiting=true][data-placement=top-right]{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[top-bottom-scroll\=true\]\:\[mask-image\:linear-gradient\(\#000\,\#000\,transparent_0\,\#000_var\(--scroll-shadow-size\)\,\#000_calc\(100\%_-_var\(--scroll-shadow-size\)\)\,transparent\)\][data-top-bottom-scroll=true]{-webkit-mask-image:linear-gradient(#000,#000,transparent 0,#000 var(--scroll-shadow-size),#000 calc(100% - var(--scroll-shadow-size)),transparent);mask-image:linear-gradient(#000,#000,transparent 0,#000 var(--scroll-shadow-size),#000 calc(100% - var(--scroll-shadow-size)),transparent)}.data-\[top-scroll\=true\]\:\[mask-image\:linear-gradient\(0deg\,\#000_calc\(100\%_-_var\(--scroll-shadow-size\)\)\,transparent\)\][data-top-scroll=true]{-webkit-mask-image:linear-gradient(0deg,#000 calc(100% - var(--scroll-shadow-size)),transparent);mask-image:linear-gradient(0deg,#000 calc(100% - var(--scroll-shadow-size)),transparent)}.data-\[type\=color\]\:rounded-none[data-type=color]{border-radius:0}.data-\[unavailable\=true\]\:cursor-default[data-unavailable=true]{cursor:default}.data-\[unavailable\=true\]\:text-default-300[data-unavailable=true]{color:hsl(var(--heroui-default-300)/1)}.data-\[unavailable\=true\]\:line-through[data-unavailable=true]{text-decoration-line:line-through}.data-\[visible\=true\]\:pointer-events-auto[data-visible=true]{pointer-events:auto}.data-\[visible\=true\]\:cursor-pointer[data-visible=true]{cursor:pointer}.data-\[visible\=true\]\:opacity-100[data-visible=true]{opacity:1}@media(prefers-reduced-motion:no-preference){.motion-safe\:animate-pop-in{animation:var(--animate-pop-in)}}@media(prefers-reduced-motion:reduce){.motion-reduce\:scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.motion-reduce\:transition-none{transition-property:none}.motion-reduce\:after\:transition-none:after{content:var(--tw-content);transition-property:none}}@media(min-width:28rem){.xs\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:40rem){.sm\:m-0{margin:calc(var(--spacing)*0)}.sm\:mx-0{margin-inline:calc(var(--spacing)*0)}.sm\:mx-1{margin-inline:calc(var(--spacing)*1)}.sm\:mx-6{margin-inline:calc(var(--spacing)*6)}.sm\:my-0{margin-block:calc(var(--spacing)*0)}.sm\:my-16{margin-block:calc(var(--spacing)*16)}.sm\:w-\[356px\]{width:356px}.sm\:w-auto{width:auto}.sm\:max-w-\[1200px\]{max-width:1200px}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:items-start{align-items:flex-start}.sm\:px-0{padding-inline:calc(var(--spacing)*0)}.sm\:\[--scale-enter\:100\%\]{--scale-enter:100%}.sm\:\[--scale-exit\:103\%\]{--scale-exit:103%}.sm\:\[--slide-enter\:0px\]{--slide-enter:0px}.sm\:\[--slide-exit\:0px\]{--slide-exit:0px}.sm\:data-\[placement\=bottom-center\]\:mx-auto[data-placement=bottom-center]{margin-inline:auto}.sm\:data-\[placement\=bottom-center\]\:w-max[data-placement=bottom-center]{width:max-content}.sm\:data-\[placement\=bottom-left\]\:ml-2[data-placement=bottom-left]{margin-left:calc(var(--spacing)*2)}.sm\:data-\[placement\=bottom-left\]\:w-max[data-placement=bottom-left]{width:max-content}.sm\:data-\[placement\=bottom-right\]\:mr-2[data-placement=bottom-right]{margin-right:calc(var(--spacing)*2)}.sm\:data-\[placement\=bottom-right\]\:w-max[data-placement=bottom-right]{width:max-content}.sm\:data-\[placement\=top-center\]\:mx-auto[data-placement=top-center]{margin-inline:auto}.sm\:data-\[placement\=top-center\]\:w-max[data-placement=top-center]{width:max-content}.sm\:data-\[placement\=top-left\]\:ml-2[data-placement=top-left]{margin-left:calc(var(--spacing)*2)}.sm\:data-\[placement\=top-left\]\:w-max[data-placement=top-left]{width:max-content}.sm\:data-\[placement\=top-right\]\:mr-2[data-placement=top-right]{margin-right:calc(var(--spacing)*2)}.sm\:data-\[placement\=top-right\]\:w-max[data-placement=top-right]{width:max-content}.sm\:data-\[visible\=true\]\:pointer-events-none[data-visible=true]{pointer-events:none}.sm\:data-\[visible\=true\]\:opacity-0[data-visible=true]{opacity:0}.sm\:group-data-\[hover\=true\]\:data-\[visible\=true\]\:pointer-events-auto:is(:where(.group)[data-hover=true] *)[data-visible=true]{pointer-events:auto}.sm\:group-data-\[hover\=true\]\:data-\[visible\=true\]\:opacity-100:is(:where(.group)[data-hover=true] *)[data-visible=true]{opacity:1}}@media(min-width:48rem){.md\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}}@media(min-width:64rem){.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}.rtl\:right-auto:where(:dir(rtl),[dir=rtl],[dir=rtl] *){right:auto}.rtl\:left-2:where(:dir(rtl),[dir=rtl],[dir=rtl] *){left:calc(var(--spacing)*2)}.rtl\:origin-top-right:where(:dir(rtl),[dir=rtl],[dir=rtl] *){transform-origin:100% 0}.rtl\:-rotate-180:where(:dir(rtl),[dir=rtl],[dir=rtl] *){rotate:-180deg}.rtl\:rotate-180:where(:dir(rtl),[dir=rtl],[dir=rtl] *){rotate:180deg}.rtl\:flex-row-reverse:where(:dir(rtl),[dir=rtl],[dir=rtl] *){flex-direction:row-reverse}:where(.rtl\:space-x-reverse:where(:dir(rtl),[dir=rtl],[dir=rtl] *)>:not(:last-child)){--tw-space-x-reverse:1}.rtl\:data-\[focus-visible\=true\]\:translate-x-3:where(:dir(rtl),[dir=rtl],[dir=rtl] *)[data-focus-visible=true],.rtl\:data-\[hover\=true\]\:translate-x-3:where(:dir(rtl),[dir=rtl],[dir=rtl] *)[data-hover=true]{--tw-translate-x:calc(var(--spacing)*3);translate:var(--tw-translate-x)var(--tw-translate-y)}.rtl\:data-\[open\=true\]\:-rotate-90:where(:dir(rtl),[dir=rtl],[dir=rtl] *)[data-open=true]{rotate:-90deg}.dark\:border-danger-100:is(.dark *){border-color:hsl(var(--heroui-danger-100)/1)}.dark\:border-default-200:is(.dark *){border-color:hsl(var(--heroui-default-200)/1)}.dark\:border-primary-100:is(.dark *){border-color:hsl(var(--heroui-primary-100)/1)}.dark\:border-success-100:is(.dark *){border-color:hsl(var(--heroui-success-100)/1)}.dark\:border-warning-100:is(.dark *){border-color:hsl(var(--heroui-warning-100)/1)}.dark\:bg-background:is(.dark *),.dark\:bg-background\/20:is(.dark *){background-color:hsl(var(--heroui-background)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-background\/20:is(.dark *){background-color:color-mix(in oklab,hsl(var(--heroui-background)/1)20%,transparent)}}.dark\:bg-content2:is(.dark *){background-color:hsl(var(--heroui-content2)/1)}.dark\:bg-danger-50:is(.dark *),.dark\:bg-danger-50\/50:is(.dark *){background-color:hsl(var(--heroui-danger-50)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-danger-50\/50:is(.dark *){background-color:color-mix(in oklab,hsl(var(--heroui-danger-50)/1)50%,transparent)}}.dark\:bg-danger-100:is(.dark *){background-color:hsl(var(--heroui-danger-100)/1)}.dark\:bg-default:is(.dark *){background-color:hsl(var(--heroui-default)/1)}.dark\:bg-default-50\/50:is(.dark *){background-color:hsl(var(--heroui-default-50)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-default-50\/50:is(.dark *){background-color:color-mix(in oklab,hsl(var(--heroui-default-50)/1)50%,transparent)}}.dark\:bg-default-100:is(.dark *){background-color:hsl(var(--heroui-default-100)/1)}.dark\:bg-primary-50:is(.dark *),.dark\:bg-primary-50\/50:is(.dark *){background-color:hsl(var(--heroui-primary-50)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-primary-50\/50:is(.dark *){background-color:color-mix(in oklab,hsl(var(--heroui-primary-50)/1)50%,transparent)}}.dark\:bg-primary-100:is(.dark *){background-color:hsl(var(--heroui-primary-100)/1)}.dark\:bg-secondary-50:is(.dark *),.dark\:bg-secondary-50\/50:is(.dark *){background-color:hsl(var(--heroui-secondary-50)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-secondary-50\/50:is(.dark *){background-color:color-mix(in oklab,hsl(var(--heroui-secondary-50)/1)50%,transparent)}}.dark\:bg-secondary-100:is(.dark *){background-color:hsl(var(--heroui-secondary-100)/1)}.dark\:bg-success-50:is(.dark *),.dark\:bg-success-50\/50:is(.dark *){background-color:hsl(var(--heroui-success-50)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-success-50\/50:is(.dark *){background-color:color-mix(in oklab,hsl(var(--heroui-success-50)/1)50%,transparent)}}.dark\:bg-success-100:is(.dark *){background-color:hsl(var(--heroui-success-100)/1)}.dark\:bg-transparent:is(.dark *){background-color:#0000}.dark\:bg-warning-50:is(.dark *),.dark\:bg-warning-50\/50:is(.dark *){background-color:hsl(var(--heroui-warning-50)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-warning-50\/50:is(.dark *){background-color:color-mix(in oklab,hsl(var(--heroui-warning-50)/1)50%,transparent)}}.dark\:bg-warning-100:is(.dark *){background-color:hsl(var(--heroui-warning-100)/1)}.dark\:text-danger-500:is(.dark *){color:hsl(var(--heroui-danger-500)/1)}.dark\:text-success:is(.dark *){color:hsl(var(--heroui-success)/1)}.dark\:text-warning:is(.dark *){color:hsl(var(--heroui-warning)/1)}.dark\:prose-invert:is(.dark *){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}.dark\:placeholder\:text-danger-500:is(.dark *)::placeholder{color:hsl(var(--heroui-danger-500)/1)}.dark\:placeholder\:text-success:is(.dark *)::placeholder{color:hsl(var(--heroui-success)/1)}.dark\:placeholder\:text-warning:is(.dark *)::placeholder{color:hsl(var(--heroui-warning)/1)}.dark\:before\:via-default-700\/10:is(.dark *):before{content:var(--tw-content);--tw-gradient-via:hsl(var(--heroui-default-700)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:before\:via-default-700\/10:is(.dark *):before{--tw-gradient-via:color-mix(in oklab,hsl(var(--heroui-default-700)/1)10%,transparent)}}.dark\:before\:via-default-700\/10:is(.dark *):before{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.dark\:after\:bg-content2:is(.dark *):after{content:var(--tw-content);background-color:hsl(var(--heroui-content2)/1)}.dark\:focus\:bg-danger-400\/20:is(.dark *):focus{background-color:hsl(var(--heroui-danger-400)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:focus\:bg-danger-400\/20:is(.dark *):focus{background-color:color-mix(in oklab,hsl(var(--heroui-danger-400)/1)20%,transparent)}}.dark\:focus\:bg-success-400\/20:is(.dark *):focus{background-color:hsl(var(--heroui-success-400)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:focus\:bg-success-400\/20:is(.dark *):focus{background-color:color-mix(in oklab,hsl(var(--heroui-success-400)/1)20%,transparent)}}.dark\:focus\:bg-warning-400\/20:is(.dark *):focus{background-color:hsl(var(--heroui-warning-400)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:focus\:bg-warning-400\/20:is(.dark *):focus{background-color:color-mix(in oklab,hsl(var(--heroui-warning-400)/1)20%,transparent)}}.dark\:data-\[hover\=true\]\:bg-content2:is(.dark *)[data-hover=true]{background-color:hsl(var(--heroui-content2)/1)}.dark\:data-\[hover\=true\]\:bg-danger-50:is(.dark *)[data-hover=true]{background-color:hsl(var(--heroui-danger-50)/1)}.dark\:data-\[hover\=true\]\:bg-success-50:is(.dark *)[data-hover=true]{background-color:hsl(var(--heroui-success-50)/1)}.dark\:data-\[hover\=true\]\:bg-warning-50:is(.dark *)[data-hover=true]{background-color:hsl(var(--heroui-warning-50)/1)}.dark\:data-\[hover\=true\]\:text-danger-500:is(.dark *)[data-hover=true]{color:hsl(var(--heroui-danger-500)/1)}.dark\:data-\[hover\=true\]\:text-success-500:is(.dark *)[data-hover=true]{color:hsl(var(--heroui-success-500)/1)}.dark\:data-\[hover\=true\]\:text-warning-500:is(.dark *)[data-hover=true]{color:hsl(var(--heroui-warning-500)/1)}.dark\:data-\[invalid\=true\]\:focus\:bg-danger-400\/20:is(.dark *)[data-invalid=true]:focus{background-color:hsl(var(--heroui-danger-400)/1)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[invalid\=true\]\:focus\:bg-danger-400\/20:is(.dark *)[data-invalid=true]:focus{background-color:color-mix(in oklab,hsl(var(--heroui-danger-400)/1)20%,transparent)}}.dark\:data-\[selected\=true\]\:text-danger-500:is(.dark *)[data-selected=true]{color:hsl(var(--heroui-danger-500)/1)}.dark\:data-\[selected\=true\]\:text-success:is(.dark *)[data-selected=true]{color:hsl(var(--heroui-success)/1)}.dark\:data-\[selected\=true\]\:text-warning:is(.dark *)[data-selected=true]{color:hsl(var(--heroui-warning)/1)}.dark\:data-\[selected\=true\]\:data-\[hover\=true\]\:bg-danger:is(.dark *)[data-selected=true][data-hover=true]{background-color:hsl(var(--heroui-danger)/1)}.dark\:data-\[selected\=true\]\:data-\[hover\=true\]\:bg-success:is(.dark *)[data-selected=true][data-hover=true]{background-color:hsl(var(--heroui-success)/1)}.dark\:data-\[selected\=true\]\:data-\[hover\=true\]\:bg-warning:is(.dark *)[data-selected=true][data-hover=true]{background-color:hsl(var(--heroui-warning)/1)}.dark\:data-\[selected\=true\]\:data-\[hover\=true\]\:text-danger-foreground:is(.dark *)[data-selected=true][data-hover=true]{color:hsl(var(--heroui-danger-foreground)/1)}.dark\:data-\[selected\=true\]\:data-\[hover\=true\]\:text-success-foreground:is(.dark *)[data-selected=true][data-hover=true]{color:hsl(var(--heroui-success-foreground)/1)}.dark\:data-\[selected\=true\]\:data-\[hover\=true\]\:text-warning-foreground:is(.dark *)[data-selected=true][data-hover=true]{color:hsl(var(--heroui-warning-foreground)/1)}.dark\:data-\[selected\=true\]\:data-\[range-selection\=true\]\:text-success-500:is(.dark *)[data-selected=true][data-range-selection=true]{color:hsl(var(--heroui-success-500)/1)}.dark\:data-\[selected\=true\]\:data-\[range-selection\=true\]\:before\:bg-success-50:is(.dark *)[data-selected=true][data-range-selection=true]:before{content:var(--tw-content);background-color:hsl(var(--heroui-success-50)/1)}.dark\:data-\[selected\=true\]\:data-\[range-selection\=true\]\:before\:bg-warning-50:is(.dark *)[data-selected=true][data-range-selection=true]:before{content:var(--tw-content);background-color:hsl(var(--heroui-warning-50)/1)}.dark\:data-\[selected\=true\]\:data-\[selection-end\=true\]\:data-\[range-selection\=true\]\:text-success-foreground:is(.dark *)[data-selected=true][data-selection-end=true][data-range-selection=true],.dark\:data-\[selected\=true\]\:data-\[selection-start\=true\]\:data-\[range-selection\=true\]\:text-success-foreground:is(.dark *)[data-selected=true][data-selection-start=true][data-range-selection=true]{color:hsl(var(--heroui-success-foreground)/1)}.\[\&_\.chevron-icon\]\:flex-none .chevron-icon{flex:none}.\[\&_\.chevron-icon\]\:rotate-180 .chevron-icon{rotate:180deg}.\[\&_\.chevron-icon\]\:transition-transform .chevron-icon{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.\[\&\+\.border-medium\.border-danger\]\:ms-\[calc\(var\(--heroui-border-width-medium\)\*-1\)\]+.border-medium.border-danger,.\[\&\+\.border-medium\.border-default\]\:ms-\[calc\(var\(--heroui-border-width-medium\)\*-1\)\]+.border-medium.border-default,.\[\&\+\.border-medium\.border-primary\]\:ms-\[calc\(var\(--heroui-border-width-medium\)\*-1\)\]+.border-medium.border-primary,.\[\&\+\.border-medium\.border-secondary\]\:ms-\[calc\(var\(--heroui-border-width-medium\)\*-1\)\]+.border-medium.border-secondary,.\[\&\+\.border-medium\.border-success\]\:ms-\[calc\(var\(--heroui-border-width-medium\)\*-1\)\]+.border-medium.border-success,.\[\&\+\.border-medium\.border-warning\]\:ms-\[calc\(var\(--heroui-border-width-medium\)\*-1\)\]+.border-medium.border-warning{margin-inline-start:calc(var(--heroui-border-width-medium)*-1)}.\[\&\:not\(\:first-child\)\]\:-ml-1:not(:first-child){margin-left:calc(var(--spacing)*-1)}.\[\&\:not\(\:first-child\)\:not\(\:last-child\)\]\:rounded-none:not(:first-child):not(:last-child){border-radius:0}.\[\&\:not\(\:first-of-type\)\]\:ms-\[calc\(theme\(borderWidth\.2\)\*-1\)\]:not(:first-of-type){margin-inline-start:-2px}.\[\&\:not\(\:first-of-type\)\:not\(\:last-of-type\)\]\:rounded-none:not(:first-of-type):not(:last-of-type){border-radius:0}.\[\&\>\*\]\:relative>*{position:relative}.\[\&\>\*\]\:z-1>*{z-index:1}.\[\&\>svg\]\:max-w-\[theme\(spacing\.8\)\]>svg{max-width:2rem}.\[\&\>tr\]\:first\:rounded-lg>tr:first-child{border-radius:var(--radius-lg)}.\[\&\>tr\]\:first\:shadow-small>tr:first-child{--tw-shadow:var(--heroui-box-shadow-small);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.\[\&\[data-hover\=true\]\:not\(\[data-active\=true\]\)\]\:bg-default-100[data-hover=true]:not([data-active=true]){background-color:hsl(var(--heroui-default-100)/1)}.\[\&\[data-hover\=true\]\:not\(\[data-active\=true\]\)\]\:bg-default-200[data-hover=true]:not([data-active=true]){background-color:hsl(var(--heroui-default-200)/1)}}.markdown-container code:before,.markdown-container code:after{content:none}.prose{overflow-wrap:break-word}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pop-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{to{transform:translate(200%)}}@keyframes spinner-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes drip-expand{0%{opacity:.2;transform:scale(0)}to{opacity:0;transform:scale(2)}}@keyframes appearance-in{0%{opacity:0;transform:translateZ(0)scale(.95)}60%{opacity:.75;backface-visibility:hidden;webkit-font-smoothing:antialiased;transform:translateZ(0)scale(1.05)}to{opacity:1;transform:translateZ(0)scale(1)}}@keyframes indeterminate-bar{0%{transform:translate(-50%)scaleX(.2)}to{transform:translate(100%)scaleX(1)}}@keyframes sway{0%{transform:translate(0)}50%{transform:translateY(-150%)}to{transform:translate(0)}}@keyframes blink{0%{opacity:.2}20%{opacity:1}to{opacity:.2}}@keyframes fade-out{0%{opacity:1}to{opacity:.15}}._GzYRV{line-height:1.2;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}._3eOF8{margin-right:5px;font-weight:700}._3eOF8+._3eOF8{margin-left:-5px}._1MFti{cursor:pointer}._f10Tu{font-size:1.2em;margin-right:5px;-webkit-user-select:none;-moz-user-select:none;user-select:none}._1UmXx:after{content:"▸"}._1LId0:after{content:"▾"}._1pNG9{margin-right:5px}._1pNG9:after{content:"...";font-size:.8em}._2IvMF{background:#eee}._2bkNM{margin:0;padding:0 10px}._1BXBN{margin:0;padding:0}._1MGIk{font-weight:600;margin-right:5px;color:#000}._3uHL6{color:#000}._2T6PJ,._1Gho6{color:#df113a}._vGjyY{color:#2a3f3c}._1bQdo{color:#0b75f5}._3zQKs{color:#469038}._1xvuR{color:#43413d}._oLqym,._2AXVT,._2KJWg{color:#000}._11RoI{background:#002b36}._17H2C,._3QHg2,._3fDAz{color:#fdf6e3}._2bSDX{font-weight:bolder;margin-right:5px;color:#fdf6e3}._gsbQL{color:#fdf6e3}._LaAZe,._GTKgm{color:#81b5ac}._Chy1W{color:#cb4b16}._2bveF{color:#d33682}._2vRm-{color:#ae81ff}._1prJR{color:#268bd2} diff --git a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/index-Ci_ePHVC.js b/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/index-Ci_ePHVC.js deleted file mode 100644 index c36393935..000000000 --- a/packages/ragbits-chat/src/ragbits/chat/ui-build/assets/index-Ci_ePHVC.js +++ /dev/null @@ -1,79 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/FeedbackForm-Vbmy7JJP.js","assets/index-Tw3ZTClg.js","assets/chunk-SSA7SXE4-D40yC7h_.js","assets/useMenuTriggerState-Bwuv-o1-.js","assets/useSelectableItem-7F1UMn-T.js","assets/index-BPYsLlVK.js","assets/chunk-IGSAU2ZA-DjYyfgzO.js","assets/ChatOptionsForm-BEC_XLbA.js","assets/ShareButton-DgsQmHSv.js","assets/ChatHistory-DToDxWtY.js","assets/CredentialsLogin-CpN5um5k.js","assets/authStore-Bmpxc0WJ.js","assets/useInitializeUserStore-4OnvEn5p.js","assets/AuthGuard-CqkKvK5x.js","assets/LogoutButton-h5TcCUqa.js","assets/UsageButton-DsxyzqJC.js"])))=>i.map(i=>d[i]); -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const l of s.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&r(l)}).observe(document,{childList:!0,subtree:!0});function n(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(i){if(i.ep)return;i.ep=!0;const s=n(i);fetch(i.href,s)}})();var eg=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function sv(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ny={exports:{}},up={},Fy={exports:{}},dt={};var Jw;function WR(){if(Jw)return dt;Jw=1;var e=Symbol.for("react.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),g=Symbol.iterator;function b(V){return V===null||typeof V!="object"?null:(V=g&&V[g]||V["@@iterator"],typeof V=="function"?V:null)}var x={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},k=Object.assign,P={};function _(V,oe,O){this.props=V,this.context=oe,this.refs=P,this.updater=O||x}_.prototype.isReactComponent={},_.prototype.setState=function(V,oe){if(typeof V!="object"&&typeof V!="function"&&V!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,V,oe,"setState")},_.prototype.forceUpdate=function(V){this.updater.enqueueForceUpdate(this,V,"forceUpdate")};function T(){}T.prototype=_.prototype;function A(V,oe,O){this.props=V,this.context=oe,this.refs=P,this.updater=O||x}var L=A.prototype=new T;L.constructor=A,k(L,_.prototype),L.isPureReactComponent=!0;var z=Array.isArray,K=Object.prototype.hasOwnProperty,M={current:null},J={key:!0,ref:!0,__self:!0,__source:!0};function re(V,oe,O){var me,Ee={},we=null,je=null;if(oe!=null)for(me in oe.ref!==void 0&&(je=oe.ref),oe.key!==void 0&&(we=""+oe.key),oe)K.call(oe,me)&&!J.hasOwnProperty(me)&&(Ee[me]=oe[me]);var Oe=arguments.length-2;if(Oe===1)Ee.children=O;else if(1>>1,oe=W[V];if(0>>1;Vi(Ee,R))wei(je,Ee)?(W[V]=je,W[we]=R,V=we):(W[V]=Ee,W[me]=R,V=me);else if(wei(je,R))W[V]=je,W[we]=R,V=we;else break e}}return se}function i(W,se){var R=W.sortIndex-se.sortIndex;return R!==0?R:W.id-se.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var l=Date,c=l.now();e.unstable_now=function(){return l.now()-c}}var d=[],h=[],m=1,g=null,b=3,x=!1,k=!1,P=!1,_=typeof setTimeout=="function"?setTimeout:null,T=typeof clearTimeout=="function"?clearTimeout:null,A=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function L(W){for(var se=n(h);se!==null;){if(se.callback===null)r(h);else if(se.startTime<=W)r(h),se.sortIndex=se.expirationTime,t(d,se);else break;se=n(h)}}function z(W){if(P=!1,L(W),!k)if(n(d)!==null)k=!0,Z(K);else{var se=n(h);se!==null&&q(z,se.startTime-W)}}function K(W,se){k=!1,P&&(P=!1,T(re),re=-1),x=!0;var R=b;try{for(L(se),g=n(d);g!==null&&(!(g.expirationTime>se)||W&&!B());){var V=g.callback;if(typeof V=="function"){g.callback=null,b=g.priorityLevel;var oe=V(g.expirationTime<=se);se=e.unstable_now(),typeof oe=="function"?g.callback=oe:g===n(d)&&r(d),L(se)}else r(d);g=n(d)}if(g!==null)var O=!0;else{var me=n(h);me!==null&&q(z,me.startTime-se),O=!1}return O}finally{g=null,b=R,x=!1}}var M=!1,J=null,re=-1,ae=5,j=-1;function B(){return!(e.unstable_now()-jW||125V?(W.sortIndex=R,t(h,W),n(d)===null&&W===n(h)&&(P?(T(re),re=-1):P=!0,q(z,R-V))):(W.sortIndex=oe,t(d,W),k||x||(k=!0,Z(K))),W},e.unstable_shouldYield=B,e.unstable_wrapCallback=function(W){var se=b;return function(){var R=b;b=se;try{return W.apply(this,arguments)}finally{b=R}}}})(jy)),jy}var r1;function YR(){return r1||(r1=1,zy.exports=qR()),zy.exports}var i1;function XR(){if(i1)return ti;i1=1;var e=tx(),t=YR();function n(o){for(var a="https://reactjs.org/docs/error-decoder.html?invariant="+o,p=1;p"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),d=Object.prototype.hasOwnProperty,h=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,m={},g={};function b(o){return d.call(g,o)?!0:d.call(m,o)?!1:h.test(o)?g[o]=!0:(m[o]=!0,!1)}function x(o,a,p,v){if(p!==null&&p.type===0)return!1;switch(typeof a){case"function":case"symbol":return!0;case"boolean":return v?!1:p!==null?!p.acceptsBooleans:(o=o.toLowerCase().slice(0,5),o!=="data-"&&o!=="aria-");default:return!1}}function k(o,a,p,v){if(a===null||typeof a>"u"||x(o,a,p,v))return!0;if(v)return!1;if(p!==null)switch(p.type){case 3:return!a;case 4:return a===!1;case 5:return isNaN(a);case 6:return isNaN(a)||1>a}return!1}function P(o,a,p,v,w,C,I){this.acceptsBooleans=a===2||a===3||a===4,this.attributeName=v,this.attributeNamespace=w,this.mustUseProperty=p,this.propertyName=o,this.type=a,this.sanitizeURL=C,this.removeEmptyString=I}var _={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(o){_[o]=new P(o,0,!1,o,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(o){var a=o[0];_[a]=new P(a,1,!1,o[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(o){_[o]=new P(o,2,!1,o.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(o){_[o]=new P(o,2,!1,o,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(o){_[o]=new P(o,3,!1,o.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(o){_[o]=new P(o,3,!0,o,null,!1,!1)}),["capture","download"].forEach(function(o){_[o]=new P(o,4,!1,o,null,!1,!1)}),["cols","rows","size","span"].forEach(function(o){_[o]=new P(o,6,!1,o,null,!1,!1)}),["rowSpan","start"].forEach(function(o){_[o]=new P(o,5,!1,o.toLowerCase(),null,!1,!1)});var T=/[\-:]([a-z])/g;function A(o){return o[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(o){var a=o.replace(T,A);_[a]=new P(a,1,!1,o,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(o){var a=o.replace(T,A);_[a]=new P(a,1,!1,o,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(o){var a=o.replace(T,A);_[a]=new P(a,1,!1,o,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(o){_[o]=new P(o,1,!1,o.toLowerCase(),null,!1,!1)}),_.xlinkHref=new P("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(o){_[o]=new P(o,1,!1,o.toLowerCase(),null,!0,!0)});function L(o,a,p,v){var w=_.hasOwnProperty(a)?_[a]:null;(w!==null?w.type!==0:v||!(2U||w[I]!==C[U]){var X=` -`+w[I].replace(" at new "," at ");return o.displayName&&X.includes("")&&(X=X.replace("",o.displayName)),X}while(1<=I&&0<=U);break}}}finally{O=!1,Error.prepareStackTrace=p}return(o=o?o.displayName||o.name:"")?oe(o):""}function Ee(o){switch(o.tag){case 5:return oe(o.type);case 16:return oe("Lazy");case 13:return oe("Suspense");case 19:return oe("SuspenseList");case 0:case 2:case 15:return o=me(o.type,!1),o;case 11:return o=me(o.type.render,!1),o;case 1:return o=me(o.type,!0),o;default:return""}}function we(o){if(o==null)return null;if(typeof o=="function")return o.displayName||o.name||null;if(typeof o=="string")return o;switch(o){case J:return"Fragment";case M:return"Portal";case ae:return"Profiler";case re:return"StrictMode";case te:return"Suspense";case G:return"SuspenseList"}if(typeof o=="object")switch(o.$$typeof){case B:return(o.displayName||"Context")+".Consumer";case j:return(o._context.displayName||"Context")+".Provider";case Y:var a=o.render;return o=o.displayName,o||(o=a.displayName||a.name||"",o=o!==""?"ForwardRef("+o+")":"ForwardRef"),o;case fe:return a=o.displayName||null,a!==null?a:we(o.type)||"Memo";case Z:a=o._payload,o=o._init;try{return we(o(a))}catch{}}return null}function je(o){var a=o.type;switch(o.tag){case 24:return"Cache";case 9:return(a.displayName||"Context")+".Consumer";case 10:return(a._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return o=a.render,o=o.displayName||o.name||"",a.displayName||(o!==""?"ForwardRef("+o+")":"ForwardRef");case 7:return"Fragment";case 5:return a;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return we(a);case 8:return a===re?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof a=="function")return a.displayName||a.name||null;if(typeof a=="string")return a}return null}function Oe(o){switch(typeof o){case"boolean":case"number":case"string":case"undefined":return o;case"object":return o;default:return""}}function Te(o){var a=o.type;return(o=o.nodeName)&&o.toLowerCase()==="input"&&(a==="checkbox"||a==="radio")}function tt(o){var a=Te(o)?"checked":"value",p=Object.getOwnPropertyDescriptor(o.constructor.prototype,a),v=""+o[a];if(!o.hasOwnProperty(a)&&typeof p<"u"&&typeof p.get=="function"&&typeof p.set=="function"){var w=p.get,C=p.set;return Object.defineProperty(o,a,{configurable:!0,get:function(){return w.call(this)},set:function(I){v=""+I,C.call(this,I)}}),Object.defineProperty(o,a,{enumerable:p.enumerable}),{getValue:function(){return v},setValue:function(I){v=""+I},stopTracking:function(){o._valueTracker=null,delete o[a]}}}}function yt(o){o._valueTracker||(o._valueTracker=tt(o))}function $e(o){if(!o)return!1;var a=o._valueTracker;if(!a)return!0;var p=a.getValue(),v="";return o&&(v=Te(o)?o.checked?"true":"false":o.value),o=v,o!==p?(a.setValue(o),!0):!1}function Rt(o){if(o=o||(typeof document<"u"?document:void 0),typeof o>"u")return null;try{return o.activeElement||o.body}catch{return o.body}}function bt(o,a){var p=a.checked;return R({},a,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:p??o._wrapperState.initialChecked})}function Qt(o,a){var p=a.defaultValue==null?"":a.defaultValue,v=a.checked!=null?a.checked:a.defaultChecked;p=Oe(a.value!=null?a.value:p),o._wrapperState={initialChecked:v,initialValue:p,controlled:a.type==="checkbox"||a.type==="radio"?a.checked!=null:a.value!=null}}function Ue(o,a){a=a.checked,a!=null&&L(o,"checked",a,!1)}function st(o,a){Ue(o,a);var p=Oe(a.value),v=a.type;if(p!=null)v==="number"?(p===0&&o.value===""||o.value!=p)&&(o.value=""+p):o.value!==""+p&&(o.value=""+p);else if(v==="submit"||v==="reset"){o.removeAttribute("value");return}a.hasOwnProperty("value")?Or(o,a.type,p):a.hasOwnProperty("defaultValue")&&Or(o,a.type,Oe(a.defaultValue)),a.checked==null&&a.defaultChecked!=null&&(o.defaultChecked=!!a.defaultChecked)}function Rn(o,a,p){if(a.hasOwnProperty("value")||a.hasOwnProperty("defaultValue")){var v=a.type;if(!(v!=="submit"&&v!=="reset"||a.value!==void 0&&a.value!==null))return;a=""+o._wrapperState.initialValue,p||a===o.value||(o.value=a),o.defaultValue=a}p=o.name,p!==""&&(o.name=""),o.defaultChecked=!!o._wrapperState.initialChecked,p!==""&&(o.name=p)}function Or(o,a,p){(a!=="number"||Rt(o.ownerDocument)!==o)&&(p==null?o.defaultValue=""+o._wrapperState.initialValue:o.defaultValue!==""+p&&(o.defaultValue=""+p))}var kn=Array.isArray;function Lt(o,a,p,v){if(o=o.options,a){a={};for(var w=0;w"+a.valueOf().toString()+"",a=Be.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;a.firstChild;)o.appendChild(a.firstChild)}});function ct(o,a){if(a){var p=o.firstChild;if(p&&p===o.lastChild&&p.nodeType===3){p.nodeValue=a;return}}o.textContent=a}var Jt={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},cr=["Webkit","ms","Moz","O"];Object.keys(Jt).forEach(function(o){cr.forEach(function(a){a=a+o.charAt(0).toUpperCase()+o.substring(1),Jt[a]=Jt[o]})});function tn(o,a,p){return a==null||typeof a=="boolean"||a===""?"":p||typeof a!="number"||a===0||Jt.hasOwnProperty(o)&&Jt[o]?(""+a).trim():a+"px"}function an(o,a){o=o.style;for(var p in a)if(a.hasOwnProperty(p)){var v=p.indexOf("--")===0,w=tn(p,a[p],v);p==="float"&&(p="cssFloat"),v?o.setProperty(p,w):o[p]=w}}var Sr=R({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Mt(o,a){if(a){if(Sr[o]&&(a.children!=null||a.dangerouslySetInnerHTML!=null))throw Error(n(137,o));if(a.dangerouslySetInnerHTML!=null){if(a.children!=null)throw Error(n(60));if(typeof a.dangerouslySetInnerHTML!="object"||!("__html"in a.dangerouslySetInnerHTML))throw Error(n(61))}if(a.style!=null&&typeof a.style!="object")throw Error(n(62))}}function Qn(o,a){if(o.indexOf("-")===-1)return typeof a.is=="string";switch(o){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var nn=null;function il(o){return o=o.target||o.srcElement||window,o.correspondingUseElement&&(o=o.correspondingUseElement),o.nodeType===3?o.parentNode:o}var ps=null,ai=null,ui=null;function oa(o){if(o=Bn(o)){if(typeof ps!="function")throw Error(n(280));var a=o.stateNode;a&&(a=nc(a),ps(o.stateNode,o.type,a))}}function Tu(o){ai?ui?ui.push(o):ui=[o]:ai=o}function hs(){if(ai){var o=ai,a=ui;if(ui=ai=null,oa(o),a)for(o=0;o>>=0,o===0?32:31-(Lh(o)/Mh|0)|0}var ll=64,Iu=4194304;function al(o){switch(o&-o){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return o&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return o&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return o}}function ys(o,a){var p=o.pendingLanes;if(p===0)return 0;var v=0,w=o.suspendedLanes,C=o.pingedLanes,I=p&268435455;if(I!==0){var U=I&~w;U!==0?v=al(U):(C&=I,C!==0&&(v=al(C)))}else I=p&~w,I!==0?v=al(I):C!==0&&(v=al(C));if(v===0)return 0;if(a!==0&&a!==v&&(a&w)===0&&(w=v&-v,C=a&-a,w>=C||w===16&&(C&4194240)!==0))return a;if((v&4)!==0&&(v|=p&16),a=o.entangledLanes,a!==0)for(o=o.entanglements,a&=v;0p;p++)a.push(o);return a}function da(o,a,p){o.pendingLanes|=a,a!==536870912&&(o.suspendedLanes=0,o.pingedLanes=0),o=o.eventTimes,a=31-ci(a),o[a]=p}function Fh(o,a){var p=o.pendingLanes&~a;o.pendingLanes=a,o.suspendedLanes=0,o.pingedLanes=0,o.expiredLanes&=a,o.mutableReadLanes&=a,o.entangledLanes&=a,a=o.entanglements;var v=o.eventTimes;for(o=o.expirationTimes;0=oo),Qh=" ",Jh=!1;function Zh(o,a){switch(o){case"keyup":return kr.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function em(o){return o=o.detail,typeof o=="object"&&"data"in o?o.data:null}var hl=!1;function ml(o,a){switch(o){case"compositionend":return em(a);case"keypress":return a.which!==32?null:(Jh=!0,Qh);case"textInput":return o=a.data,o===Qh&&Jh?null:o;default:return null}}function Xv(o,a){if(hl)return o==="compositionend"||!va&&Zh(o,a)?(o=Xf(),Ai=ga=Vt=null,hl=!1,o):null;switch(o){case"paste":return null;case"keypress":if(!(a.ctrlKey||a.altKey||a.metaKey)||a.ctrlKey&&a.altKey){if(a.char&&1=a)return{node:p,offset:a-o};o=v}e:{for(;p;){if(p.nextSibling){p=p.nextSibling;break e}p=p.parentNode}p=void 0}p=nt(p)}}function un(o,a){return o&&a?o===a?!0:o&&o.nodeType===3?!1:a&&a.nodeType===3?un(o,a.parentNode):"contains"in o?o.contains(a):o.compareDocumentPosition?!!(o.compareDocumentPosition(a)&16):!1:!1}function Tt(){for(var o=window,a=Rt();a instanceof o.HTMLIFrameElement;){try{var p=typeof a.contentWindow.location.href=="string"}catch{p=!1}if(p)o=a.contentWindow;else break;a=Rt(o.document)}return a}function ya(o){var a=o&&o.nodeName&&o.nodeName.toLowerCase();return a&&(a==="input"&&(o.type==="text"||o.type==="search"||o.type==="tel"||o.type==="url"||o.type==="password")||a==="textarea"||o.contentEditable==="true")}function ny(o){var a=Tt(),p=o.focusedElem,v=o.selectionRange;if(a!==p&&p&&p.ownerDocument&&un(p.ownerDocument.documentElement,p)){if(v!==null&&ya(p)){if(a=v.start,o=v.end,o===void 0&&(o=a),"selectionStart"in p)p.selectionStart=a,p.selectionEnd=Math.min(o,p.value.length);else if(o=(a=p.ownerDocument||document)&&a.defaultView||window,o.getSelection){o=o.getSelection();var w=p.textContent.length,C=Math.min(v.start,w);v=v.end===void 0?C:Math.min(v.end,w),!o.extend&&C>v&&(w=v,v=C,C=w),w=xt(p,C);var I=xt(p,v);w&&I&&(o.rangeCount!==1||o.anchorNode!==w.node||o.anchorOffset!==w.offset||o.focusNode!==I.node||o.focusOffset!==I.offset)&&(a=a.createRange(),a.setStart(w.node,w.offset),o.removeAllRanges(),C>v?(o.addRange(a),o.extend(I.node,I.offset)):(a.setEnd(I.node,I.offset),o.addRange(a)))}}for(a=[],o=p;o=o.parentNode;)o.nodeType===1&&a.push({element:o,left:o.scrollLeft,top:o.scrollTop});for(typeof p.focus=="function"&&p.focus(),p=0;p=document.documentMode,so=null,ud=null,Ri=null,vl=!1;function ba(o,a,p){var v=p.window===p?p.document:p.nodeType===9?p:p.ownerDocument;vl||so==null||so!==Rt(v)||(v=so,"selectionStart"in v&&ya(v)?v={start:v.selectionStart,end:v.selectionEnd}:(v=(v.ownerDocument&&v.ownerDocument.defaultView||window).getSelection(),v={anchorNode:v.anchorNode,anchorOffset:v.anchorOffset,focusNode:v.focusNode,focusOffset:v.focusOffset}),Ri&&Ie(Ri,v)||(Ri=v,v=Ju(ud,"onSelect"),0El||(o.current=hd[El],hd[El]=null,El--)}function It(o,a){El++,hd[El]=o.current,o.current=a}var Uo={},Vn=dr(Uo),pr=dr(!1),er=Uo;function Pl(o,a){var p=o.type.contextTypes;if(!p)return Uo;var v=o.stateNode;if(v&&v.__reactInternalMemoizedUnmaskedChildContext===a)return v.__reactInternalMemoizedMaskedChildContext;var w={},C;for(C in p)w[C]=a[C];return v&&(o=o.stateNode,o.__reactInternalMemoizedUnmaskedChildContext=a,o.__reactInternalMemoizedMaskedChildContext=w),w}function hr(o){return o=o.childContextTypes,o!=null}function rc(){Nt(pr),Nt(Vn)}function cm(o,a,p){if(Vn.current!==Uo)throw Error(n(168));It(Vn,a),It(pr,p)}function fm(o,a,p){var v=o.stateNode;if(a=a.childContextTypes,typeof v.getChildContext!="function")return p;v=v.getChildContext();for(var w in v)if(!(w in a))throw Error(n(108,je(o)||"Unknown",w));return R({},p,v)}function Vr(o){return o=(o=o.stateNode)&&o.__reactInternalMemoizedMergedChildContext||Uo,er=Vn.current,It(Vn,o),It(pr,pr.current),!0}function dm(o,a,p){var v=o.stateNode;if(!v)throw Error(n(169));p?(o=fm(o,a,er),v.__reactInternalMemoizedMergedChildContext=o,Nt(pr),Nt(Vn),It(Vn,o)):Nt(pr),It(pr,p)}var uo=null,ic=!1,md=!1;function pm(o){uo===null?uo=[o]:uo.push(o)}function Ps(o){ic=!0,pm(o)}function Ko(){if(!md&&uo!==null){md=!0;var o=0,a=Ct;try{var p=uo;for(Ct=1;o>=I,w-=I,Di=1<<32-ci(a)+w|p<Xe?(Pn=Ke,Ke=null):Pn=Ke.sibling;var St=ye(le,Ke,ue[Xe],Ce);if(St===null){Ke===null&&(Ke=Pn);break}o&&Ke&&St.alternate===null&&a(le,Ke),ee=C(St,ee,Xe),He===null?ze=St:He.sibling=St,He=St,Ke=Pn}if(Xe===ue.length)return p(le,Ke),Ft&&_s(le,Xe),ze;if(Ke===null){for(;XeXe?(Pn=Ke,Ke=null):Pn=Ke.sibling;var ns=ye(le,Ke,St.value,Ce);if(ns===null){Ke===null&&(Ke=Pn);break}o&&Ke&&ns.alternate===null&&a(le,Ke),ee=C(ns,ee,Xe),He===null?ze=ns:He.sibling=ns,He=ns,Ke=Pn}if(St.done)return p(le,Ke),Ft&&_s(le,Xe),ze;if(Ke===null){for(;!St.done;Xe++,St=ue.next())St=Se(le,St.value,Ce),St!==null&&(ee=C(St,ee,Xe),He===null?ze=St:He.sibling=St,He=St);return Ft&&_s(le,Xe),ze}for(Ke=v(le,Ke);!St.done;Xe++,St=ue.next())St=Ae(Ke,le,Xe,St.value,Ce),St!==null&&(o&&St.alternate!==null&&Ke.delete(St.key===null?Xe:St.key),ee=C(St,ee,Xe),He===null?ze=St:He.sibling=St,He=St);return o&&Ke.forEach(function(Cy){return a(le,Cy)}),Ft&&_s(le,Xe),ze}function on(le,ee,ue,Ce){if(typeof ue=="object"&&ue!==null&&ue.type===J&&ue.key===null&&(ue=ue.props.children),typeof ue=="object"&&ue!==null){switch(ue.$$typeof){case K:e:{for(var ze=ue.key,He=ee;He!==null;){if(He.key===ze){if(ze=ue.type,ze===J){if(He.tag===7){p(le,He.sibling),ee=w(He,ue.props.children),ee.return=le,le=ee;break e}}else if(He.elementType===ze||typeof ze=="object"&&ze!==null&&ze.$$typeof===Z&&vm(ze)===He.type){p(le,He.sibling),ee=w(He,ue.props),ee.ref=Ia(le,He,ue),ee.return=le,le=ee;break e}p(le,He);break}else a(le,He);He=He.sibling}ue.type===J?(ee=Bs(ue.props.children,le.mode,Ce,ue.key),ee.return=le,le=ee):(Ce=Vc(ue.type,ue.key,ue.props,null,le.mode,Ce),Ce.ref=Ia(le,ee,ue),Ce.return=le,le=Ce)}return I(le);case M:e:{for(He=ue.key;ee!==null;){if(ee.key===He)if(ee.tag===4&&ee.stateNode.containerInfo===ue.containerInfo&&ee.stateNode.implementation===ue.implementation){p(le,ee.sibling),ee=w(ee,ue.children||[]),ee.return=le,le=ee;break e}else{p(le,ee);break}else a(le,ee);ee=ee.sibling}ee=ip(ue,le.mode,Ce),ee.return=le,le=ee}return I(le);case Z:return He=ue._init,on(le,ee,He(ue._payload),Ce)}if(kn(ue))return Le(le,ee,ue,Ce);if(se(ue))return De(le,ee,ue,Ce);Is(le,ue)}return typeof ue=="string"&&ue!==""||typeof ue=="number"?(ue=""+ue,ee!==null&&ee.tag===6?(p(le,ee.sibling),ee=w(ee,ue),ee.return=le,le=ee):(p(le,ee),ee=rp(ue,le.mode,Ce),ee.return=le,le=ee),I(le)):p(le,ee)}return on}var Zt=vd(!0),ac=vd(!1),Aa=dr(null),Tr=null,Wo=null,_l=null;function fo(){_l=Wo=Tr=null}function uc(o){var a=Aa.current;Nt(Aa),o._currentValue=a}function Ln(o,a,p){for(;o!==null;){var v=o.alternate;if((o.childLanes&a)!==a?(o.childLanes|=a,v!==null&&(v.childLanes|=a)):v!==null&&(v.childLanes&a)!==a&&(v.childLanes|=a),o===p)break;o=o.return}}function Ho(o,a){Tr=o,_l=Wo=null,o=o.dependencies,o!==null&&o.firstContext!==null&&((o.lanes&a)!==0&&(nr=!0),o.firstContext=null)}function Wr(o){var a=o._currentValue;if(_l!==o)if(o={context:o,memoizedValue:a,next:null},Wo===null){if(Tr===null)throw Error(n(308));Wo=o,Tr.dependencies={lanes:0,firstContext:o}}else Wo=Wo.next=o;return a}var As=null;function yd(o){As===null?As=[o]:As.push(o)}function cc(o,a,p,v){var w=a.interleaved;return w===null?(p.next=p,yd(a)):(p.next=w.next,w.next=p),a.interleaved=p,po(o,v)}function po(o,a){o.lanes|=a;var p=o.alternate;for(p!==null&&(p.lanes|=a),p=o,o=o.return;o!==null;)o.childLanes|=a,p=o.alternate,p!==null&&(p.childLanes|=a),p=o,o=o.return;return p.tag===3?p.stateNode:null}var Hr=!1;function fc(o){o.updateQueue={baseState:o.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function ym(o,a){o=o.updateQueue,a.updateQueue===o&&(a.updateQueue={baseState:o.baseState,firstBaseUpdate:o.firstBaseUpdate,lastBaseUpdate:o.lastBaseUpdate,shared:o.shared,effects:o.effects})}function ho(o,a){return{eventTime:o,lane:a,tag:0,payload:null,callback:null,next:null}}function Gr(o,a,p){var v=o.updateQueue;if(v===null)return null;if(v=v.shared,(gt&2)!==0){var w=v.pending;return w===null?a.next=a:(a.next=w.next,w.next=a),v.pending=a,po(o,p)}return w=v.interleaved,w===null?(a.next=a,yd(v)):(a.next=w.next,w.next=a),v.interleaved=a,po(o,p)}function dc(o,a,p){if(a=a.updateQueue,a!==null&&(a=a.shared,(p&4194240)!==0)){var v=a.lanes;v&=o.pendingLanes,p|=v,a.lanes=p,pa(o,p)}}function bm(o,a){var p=o.updateQueue,v=o.alternate;if(v!==null&&(v=v.updateQueue,p===v)){var w=null,C=null;if(p=p.firstBaseUpdate,p!==null){do{var I={eventTime:p.eventTime,lane:p.lane,tag:p.tag,payload:p.payload,callback:p.callback,next:null};C===null?w=C=I:C=C.next=I,p=p.next}while(p!==null);C===null?w=C=a:C=C.next=a}else w=C=a;p={baseState:v.baseState,firstBaseUpdate:w,lastBaseUpdate:C,shared:v.shared,effects:v.effects},o.updateQueue=p;return}o=p.lastBaseUpdate,o===null?p.firstBaseUpdate=a:o.next=a,p.lastBaseUpdate=a}function $l(o,a,p,v){var w=o.updateQueue;Hr=!1;var C=w.firstBaseUpdate,I=w.lastBaseUpdate,U=w.shared.pending;if(U!==null){w.shared.pending=null;var X=U,de=X.next;X.next=null,I===null?C=de:I.next=de,I=X;var be=o.alternate;be!==null&&(be=be.updateQueue,U=be.lastBaseUpdate,U!==I&&(U===null?be.firstBaseUpdate=de:U.next=de,be.lastBaseUpdate=X))}if(C!==null){var Se=w.baseState;I=0,be=de=X=null,U=C;do{var ye=U.lane,Ae=U.eventTime;if((v&ye)===ye){be!==null&&(be=be.next={eventTime:Ae,lane:0,tag:U.tag,payload:U.payload,callback:U.callback,next:null});e:{var Le=o,De=U;switch(ye=a,Ae=p,De.tag){case 1:if(Le=De.payload,typeof Le=="function"){Se=Le.call(Ae,Se,ye);break e}Se=Le;break e;case 3:Le.flags=Le.flags&-65537|128;case 0:if(Le=De.payload,ye=typeof Le=="function"?Le.call(Ae,Se,ye):Le,ye==null)break e;Se=R({},Se,ye);break e;case 2:Hr=!0}}U.callback!==null&&U.lane!==0&&(o.flags|=64,ye=w.effects,ye===null?w.effects=[U]:ye.push(U))}else Ae={eventTime:Ae,lane:ye,tag:U.tag,payload:U.payload,callback:U.callback,next:null},be===null?(de=be=Ae,X=Se):be=be.next=Ae,I|=ye;if(U=U.next,U===null){if(U=w.shared.pending,U===null)break;ye=U,U=ye.next,ye.next=null,w.lastBaseUpdate=ye,w.shared.pending=null}}while(!0);if(be===null&&(X=Se),w.baseState=X,w.firstBaseUpdate=de,w.lastBaseUpdate=be,a=w.shared.interleaved,a!==null){w=a;do I|=w.lane,w=w.next;while(w!==a)}else C===null&&(w.shared.lanes=0);Qo|=I,o.lanes=I,o.memoizedState=Se}}function bd(o,a,p){if(o=a.effects,a.effects=null,o!==null)for(a=0;ap?p:4,o(!0);var v=kd.transition;kd.transition={};try{o(!1),a()}finally{Ct=p,kd.transition=v}}function Ad(){return qr().memoizedState}function iy(o,a,p){var v=es(o);if(p={lane:v,action:p,hasEagerState:!1,eagerState:null,next:null},Rd(o))tr(a,p);else if(p=cc(o,a,p,v),p!==null){var w=or();yi(p,o,v,w),pi(p,a,v)}}function Em(o,a,p){var v=es(o),w={lane:v,action:p,hasEagerState:!1,eagerState:null,next:null};if(Rd(o))tr(a,w);else{var C=o.alternate;if(o.lanes===0&&(C===null||C.lanes===0)&&(C=a.lastRenderedReducer,C!==null))try{var I=a.lastRenderedState,U=C(I,p);if(w.hasEagerState=!0,w.eagerState=U,ce(U,I)){var X=a.interleaved;X===null?(w.next=w,yd(a)):(w.next=X.next,X.next=w),a.interleaved=w;return}}catch{}p=cc(o,a,w,v),p!==null&&(w=or(),yi(p,o,v,w),pi(p,a,v))}}function Rd(o){var a=o.alternate;return o===qt||a!==null&&a===qt}function tr(o,a){Da=Al=!0;var p=o.pending;p===null?a.next=a:(a.next=p.next,p.next=a),o.pending=a}function pi(o,a,p){if((p&4194240)!==0){var v=a.lanes;v&=o.pendingLanes,p|=v,a.lanes=p,pa(o,p)}}var xc={readContext:Wr,useCallback:Wn,useContext:Wn,useEffect:Wn,useImperativeHandle:Wn,useInsertionEffect:Wn,useLayoutEffect:Wn,useMemo:Wn,useReducer:Wn,useRef:Wn,useState:Wn,useDebugValue:Wn,useDeferredValue:Wn,useTransition:Wn,useMutableSource:Wn,useSyncExternalStore:Wn,useId:Wn,unstable_isNewReconciler:!1},oy={readContext:Wr,useCallback:function(o,a){return Bi().memoizedState=[o,a===void 0?null:a],o},useContext:Wr,useEffect:bc,useImperativeHandle:function(o,a,p){return p=p!=null?p.concat([o]):null,Fa(4194308,4,$d.bind(null,a,o),p)},useLayoutEffect:function(o,a){return Fa(4194308,4,o,a)},useInsertionEffect:function(o,a){return Fa(4,2,o,a)},useMemo:function(o,a){var p=Bi();return a=a===void 0?null:a,o=o(),p.memoizedState=[o,a],o},useReducer:function(o,a,p){var v=Bi();return a=p!==void 0?p(a):a,v.memoizedState=v.baseState=a,o={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:o,lastRenderedState:a},v.queue=o,o=o.dispatch=iy.bind(null,qt,o),[v.memoizedState,o]},useRef:function(o){var a=Bi();return o={current:o},a.memoizedState=o},useState:Na,useDebugValue:Oa,useDeferredValue:function(o){return Bi().memoizedState=o},useTransition:function(){var o=Na(!1),a=o[0];return o=Cm.bind(null,o[1]),Bi().memoizedState=o,[a,o]},useMutableSource:function(){},useSyncExternalStore:function(o,a,p){var v=qt,w=Bi();if(Ft){if(p===void 0)throw Error(n(407));p=p()}else{if(p=a(),En===null)throw Error(n(349));(qo&30)!==0||Td(v,a,p)}w.memoizedState=p;var C={value:p,getSnapshot:a};return w.queue=C,bc(go.bind(null,v,C,o),[o]),v.flags|=2048,Ll(9,gr.bind(null,v,C,p,a),void 0,null),p},useId:function(){var o=Bi(),a=En.identifierPrefix;if(Ft){var p=Ni,v=Di;p=(v&~(1<<32-ci(v)-1)).toString(32)+p,a=":"+a+"R"+p,p=Ls++,0<\/script>",o=o.removeChild(o.firstChild)):typeof v.is=="string"?o=I.createElement(p,{is:v.is}):(o=I.createElement(p),p==="select"&&(I=o,v.multiple?I.multiple=!0:v.size&&(I.size=v.size))):o=I.createElementNS(o,p),o[Li]=a,o[Vo]=v,Dn(o,a,!1,!1),a.stateNode=o;e:{switch(I=Qn(p,v),p){case"dialog":Dt("cancel",o),Dt("close",o),w=v;break;case"iframe":case"object":case"embed":Dt("load",o),w=v;break;case"video":case"audio":for(w=0;wFs&&(a.flags|=128,v=!0,Wa(C,!1),a.lanes=4194304)}else{if(!v)if(o=Rs(I),o!==null){if(a.flags|=128,v=!0,p=o.updateQueue,p!==null&&(a.updateQueue=p,a.flags|=4),Wa(C,!0),C.tail===null&&C.tailMode==="hidden"&&!I.alternate&&!Ft)return Nn(a),null}else 2*Bt()-C.renderingStartTime>Fs&&p!==1073741824&&(a.flags|=128,v=!0,Wa(C,!1),a.lanes=4194304);C.isBackwards?(I.sibling=a.child,a.child=I):(p=C.last,p!==null?p.sibling=I:a.child=I,C.last=I)}return C.tail!==null?(a=C.tail,C.rendering=a,C.tail=a.sibling,C.renderingStartTime=Bt(),a.sibling=null,p=Ut.current,It(Ut,v?p&1|2:p&1),a):(Nn(a),null);case 22:case 23:return tp(),v=a.memoizedState!==null,o!==null&&o.memoizedState!==null!==v&&(a.flags|=8192),v&&(a.mode&1)!==0?($r&1073741824)!==0&&(Nn(a),a.subtreeFlags&6&&(a.flags|=8192)):Nn(a),null;case 24:return null;case 25:return null}throw Error(n(156,a.tag))}function ly(o,a){switch($s(a),a.tag){case 1:return hr(a.type)&&rc(),o=a.flags,o&65536?(a.flags=o&-65537|128,a):null;case 3:return Go(),Nt(pr),Nt(Vn),hc(),o=a.flags,(o&65536)!==0&&(o&128)===0?(a.flags=o&-65537|128,a):null;case 5:return pc(a),null;case 13:if(Nt(Ut),o=a.memoizedState,o!==null&&o.dehydrated!==null){if(a.alternate===null)throw Error(n(340));Oi()}return o=a.flags,o&65536?(a.flags=o&-65537|128,a):null;case 19:return Nt(Ut),null;case 4:return Go(),null;case 10:return uc(a.type._context),null;case 22:case 23:return tp(),null;case 24:return null;default:return null}}var $c=!1,Kt=!1,rr=typeof WeakSet=="function"?WeakSet:Set,Re=null;function zl(o,a){var p=o.ref;if(p!==null)if(typeof p=="function")try{p(null)}catch(v){Yt(o,a,v)}else p.current=null}function Ha(o,a,p){try{p()}catch(v){Yt(o,a,v)}}var Rm=!1;function ay(o,a){if(Ea=Du,o=Tt(),ya(o)){if("selectionStart"in o)var p={start:o.selectionStart,end:o.selectionEnd};else e:{p=(p=o.ownerDocument)&&p.defaultView||window;var v=p.getSelection&&p.getSelection();if(v&&v.rangeCount!==0){p=v.anchorNode;var w=v.anchorOffset,C=v.focusNode;v=v.focusOffset;try{p.nodeType,C.nodeType}catch{p=null;break e}var I=0,U=-1,X=-1,de=0,be=0,Se=o,ye=null;t:for(;;){for(var Ae;Se!==p||w!==0&&Se.nodeType!==3||(U=I+w),Se!==C||v!==0&&Se.nodeType!==3||(X=I+v),Se.nodeType===3&&(I+=Se.nodeValue.length),(Ae=Se.firstChild)!==null;)ye=Se,Se=Ae;for(;;){if(Se===o)break t;if(ye===p&&++de===w&&(U=I),ye===C&&++be===v&&(X=I),(Ae=Se.nextSibling)!==null)break;Se=ye,ye=Se.parentNode}Se=Ae}p=U===-1||X===-1?null:{start:U,end:X}}else p=null}p=p||{start:0,end:0}}else p=null;for(Es={focusedElem:o,selectionRange:p},Du=!1,Re=a;Re!==null;)if(a=Re,o=a.child,(a.subtreeFlags&1028)!==0&&o!==null)o.return=a,Re=o;else for(;Re!==null;){a=Re;try{var Le=a.alternate;if((a.flags&1024)!==0)switch(a.tag){case 0:case 11:case 15:break;case 1:if(Le!==null){var De=Le.memoizedProps,on=Le.memoizedState,le=a.stateNode,ee=le.getSnapshotBeforeUpdate(a.elementType===a.type?De:Yr(a.type,De),on);le.__reactInternalSnapshotBeforeUpdate=ee}break;case 3:var ue=a.stateNode.containerInfo;ue.nodeType===1?ue.textContent="":ue.nodeType===9&&ue.documentElement&&ue.removeChild(ue.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(n(163))}}catch(Ce){Yt(a,a.return,Ce)}if(o=a.sibling,o!==null){o.return=a.return,Re=o;break}Re=a.return}return Le=Rm,Rm=!1,Le}function bo(o,a,p){var v=a.updateQueue;if(v=v!==null?v.lastEffect:null,v!==null){var w=v=v.next;do{if((w.tag&o)===o){var C=w.destroy;w.destroy=void 0,C!==void 0&&Ha(a,p,C)}w=w.next}while(w!==v)}}function Ga(o,a){if(a=a.updateQueue,a=a!==null?a.lastEffect:null,a!==null){var p=a=a.next;do{if((p.tag&o)===o){var v=p.create;p.destroy=v()}p=p.next}while(p!==a)}}function Ic(o){var a=o.ref;if(a!==null){var p=o.stateNode;o.tag,o=p,typeof a=="function"?a(o):a.current=o}}function Lm(o){var a=o.alternate;a!==null&&(o.alternate=null,Lm(a)),o.child=null,o.deletions=null,o.sibling=null,o.tag===5&&(a=o.stateNode,a!==null&&(delete a[Li],delete a[Vo],delete a[tc],delete a[D],delete a[Cl])),o.stateNode=null,o.return=null,o.dependencies=null,o.memoizedProps=null,o.memoizedState=null,o.pendingProps=null,o.stateNode=null,o.updateQueue=null}function Mm(o){return o.tag===5||o.tag===3||o.tag===4}function Dm(o){e:for(;;){for(;o.sibling===null;){if(o.return===null||Mm(o.return))return null;o=o.return}for(o.sibling.return=o.return,o=o.sibling;o.tag!==5&&o.tag!==6&&o.tag!==18;){if(o.flags&2||o.child===null||o.tag===4)continue e;o.child.return=o,o=o.child}if(!(o.flags&2))return o.stateNode}}function Kd(o,a,p){var v=o.tag;if(v===5||v===6)o=o.stateNode,a?p.nodeType===8?p.parentNode.insertBefore(o,a):p.insertBefore(o,a):(p.nodeType===8?(a=p.parentNode,a.insertBefore(o,p)):(a=p,a.appendChild(o)),p=p._reactRootContainer,p!=null||a.onclick!==null||(a.onclick=Zu));else if(v!==4&&(o=o.child,o!==null))for(Kd(o,a,p),o=o.sibling;o!==null;)Kd(o,a,p),o=o.sibling}function Ac(o,a,p){var v=o.tag;if(v===5||v===6)o=o.stateNode,a?p.insertBefore(o,a):p.appendChild(o);else if(v!==4&&(o=o.child,o!==null))for(Ac(o,a,p),o=o.sibling;o!==null;)Ac(o,a,p),o=o.sibling}var Cn=null,mi=!1;function Wi(o,a,p){for(p=p.child;p!==null;)Wd(o,a,p),p=p.sibling}function Wd(o,a,p){if(Ii&&typeof Ii.onCommitFiberUnmount=="function")try{Ii.onCommitFiberUnmount($u,p)}catch{}switch(p.tag){case 5:Kt||zl(p,a);case 6:var v=Cn,w=mi;Cn=null,Wi(o,a,p),Cn=v,mi=w,Cn!==null&&(mi?(o=Cn,p=p.stateNode,o.nodeType===8?o.parentNode.removeChild(p):o.removeChild(p)):Cn.removeChild(p.stateNode));break;case 18:Cn!==null&&(mi?(o=Cn,p=p.stateNode,o.nodeType===8?pd(o.parentNode,p):o.nodeType===1&&pd(o,p),Et(o)):pd(Cn,p.stateNode));break;case 4:v=Cn,w=mi,Cn=p.stateNode.containerInfo,mi=!0,Wi(o,a,p),Cn=v,mi=w;break;case 0:case 11:case 14:case 15:if(!Kt&&(v=p.updateQueue,v!==null&&(v=v.lastEffect,v!==null))){w=v=v.next;do{var C=w,I=C.destroy;C=C.tag,I!==void 0&&((C&2)!==0||(C&4)!==0)&&Ha(p,a,I),w=w.next}while(w!==v)}Wi(o,a,p);break;case 1:if(!Kt&&(zl(p,a),v=p.stateNode,typeof v.componentWillUnmount=="function"))try{v.props=p.memoizedProps,v.state=p.memoizedState,v.componentWillUnmount()}catch(U){Yt(p,a,U)}Wi(o,a,p);break;case 21:Wi(o,a,p);break;case 22:p.mode&1?(Kt=(v=Kt)||p.memoizedState!==null,Wi(o,a,p),Kt=v):Wi(o,a,p);break;default:Wi(o,a,p)}}function jl(o){var a=o.updateQueue;if(a!==null){o.updateQueue=null;var p=o.stateNode;p===null&&(p=o.stateNode=new rr),a.forEach(function(v){var w=my.bind(null,o,v);p.has(v)||(p.add(v),v.then(w,w))})}}function _r(o,a){var p=a.deletions;if(p!==null)for(var v=0;vw&&(w=I),v&=~C}if(v=w,v=Bt()-v,v=(120>v?120:480>v?480:1080>v?1080:1920>v?1920:3e3>v?3e3:4320>v?4320:1960*Fm(v/1960))-v,10o?16:o,Zo===null)var v=!1;else{if(o=Zo,Zo=null,ir=0,(gt&6)!==0)throw Error(n(331));var w=gt;for(gt|=4,Re=o.current;Re!==null;){var C=Re,I=C.child;if((Re.flags&16)!==0){var U=C.deletions;if(U!==null){for(var X=0;XBt()-Yd?zs(o,0):Mc|=p),yr(o,a)}function Um(o,a){a===0&&((o.mode&1)===0?a=1:(a=Iu,Iu<<=1,(Iu&130023424)===0&&(Iu=4194304)));var p=or();o=po(o,a),o!==null&&(da(o,a,p),yr(o,p))}function hy(o){var a=o.memoizedState,p=0;a!==null&&(p=a.retryLane),Um(o,p)}function my(o,a){var p=0;switch(o.tag){case 13:var v=o.stateNode,w=o.memoizedState;w!==null&&(p=w.retryLane);break;case 19:v=o.stateNode;break;default:throw Error(n(314))}v!==null&&v.delete(a),Um(o,p)}var Km;Km=function(o,a,p){if(o!==null)if(o.memoizedProps!==a.pendingProps||pr.current)nr=!0;else{if((o.lanes&p)===0&&(a.flags&128)===0)return nr=!1,Im(o,a,p);nr=(o.flags&131072)!==0}else nr=!1,Ft&&(a.flags&1048576)!==0&&hm(a,sc,a.index);switch(a.lanes=0,a.tag){case 2:var v=a.type;_c(o,a),o=a.pendingProps;var w=Pl(a,Vn.current);Ho(a,p),w=Ms(null,a,v,o,w,p);var C=mc();return a.flags|=1,typeof w=="object"&&w!==null&&typeof w.render=="function"&&w.$$typeof===void 0?(a.tag=1,a.memoizedState=null,a.updateQueue=null,hr(v)?(C=!0,Vr(a)):C=!1,a.memoizedState=w.state!==null&&w.state!==void 0?w.state:null,fc(a),w.updater=kc,a.stateNode=w,w._reactInternals=a,Md(a,v,o,p),a=Bd(null,a,v,!0,C,p)):(a.tag=0,Ft&&C&&_a(a),Mn(null,a,w,p),a=a.child),a;case 16:v=a.elementType;e:{switch(_c(o,a),o=a.pendingProps,w=v._init,v=w(v._payload),a.type=v,w=a.tag=vy(v),o=Yr(v,o),w){case 0:a=zd(null,a,v,o,p);break e;case 1:a=jd(null,a,v,o,p);break e;case 11:a=_m(null,a,v,o,p);break e;case 14:a=Nd(null,a,v,Yr(v.type,o),p);break e}throw Error(n(306,v,""))}return a;case 0:return v=a.type,w=a.pendingProps,w=a.elementType===v?w:Yr(v,w),zd(o,a,v,w,p);case 1:return v=a.type,w=a.pendingProps,w=a.elementType===v?w:Yr(v,w),jd(o,a,v,w,p);case 3:e:{if($m(a),o===null)throw Error(n(387));v=a.pendingProps,C=a.memoizedState,w=C.element,ym(o,a),$l(a,v,null,p);var I=a.memoizedState;if(v=I.element,C.isDehydrated)if(C={element:v,isDehydrated:!1,cache:I.cache,pendingSuspenseBoundaries:I.pendingSuspenseBoundaries,transitions:I.transitions},a.updateQueue.baseState=C,a.memoizedState=C,a.flags&256){w=Ns(Error(n(423)),a),a=Ki(o,a,v,p,w);break e}else if(v!==w){w=Ns(Error(n(424)),a),a=Ki(o,a,v,p,w);break e}else for(Pr=Bo(a.stateNode.containerInfo.firstChild),Kn=a,Ft=!0,di=null,p=ac(a,null,v,p),a.child=p;p;)p.flags=p.flags&-3|4096,p=p.sibling;else{if(Oi(),v===w){a=hi(o,a,p);break e}Mn(o,a,v,p)}a=a.child}return a;case 5:return wd(a),o===null&&mr(a),v=a.type,w=a.pendingProps,C=o!==null?o.memoizedProps:null,I=w.children,Pa(v,w)?I=null:C!==null&&Pa(v,C)&&(a.flags|=32),Od(o,a),Mn(o,a,I,p),a.child;case 6:return o===null&&mr(a),null;case 13:return Tc(o,a,p);case 4:return xd(a,a.stateNode.containerInfo),v=a.pendingProps,o===null?a.child=Zt(a,null,v,p):Mn(o,a,v,p),a.child;case 11:return v=a.type,w=a.pendingProps,w=a.elementType===v?w:Yr(v,w),_m(o,a,v,w,p);case 7:return Mn(o,a,a.pendingProps,p),a.child;case 8:return Mn(o,a,a.pendingProps.children,p),a.child;case 12:return Mn(o,a,a.pendingProps.children,p),a.child;case 10:e:{if(v=a.type._context,w=a.pendingProps,C=a.memoizedProps,I=w.value,It(Aa,v._currentValue),v._currentValue=I,C!==null)if(ce(C.value,I)){if(C.children===w.children&&!pr.current){a=hi(o,a,p);break e}}else for(C=a.child,C!==null&&(C.return=a);C!==null;){var U=C.dependencies;if(U!==null){I=C.child;for(var X=U.firstContext;X!==null;){if(X.context===v){if(C.tag===1){X=ho(-1,p&-p),X.tag=2;var de=C.updateQueue;if(de!==null){de=de.shared;var be=de.pending;be===null?X.next=X:(X.next=be.next,be.next=X),de.pending=X}}C.lanes|=p,X=C.alternate,X!==null&&(X.lanes|=p),Ln(C.return,p,a),U.lanes|=p;break}X=X.next}}else if(C.tag===10)I=C.type===a.type?null:C.child;else if(C.tag===18){if(I=C.return,I===null)throw Error(n(341));I.lanes|=p,U=I.alternate,U!==null&&(U.lanes|=p),Ln(I,p,a),I=C.sibling}else I=C.child;if(I!==null)I.return=C;else for(I=C;I!==null;){if(I===a){I=null;break}if(C=I.sibling,C!==null){C.return=I.return,I=C;break}I=I.return}C=I}Mn(o,a,w.children,p),a=a.child}return a;case 9:return w=a.type,v=a.pendingProps.children,Ho(a,p),w=Wr(w),v=v(w),a.flags|=1,Mn(o,a,v,p),a.child;case 14:return v=a.type,w=Yr(v,a.pendingProps),w=Yr(v.type,w),Nd(o,a,v,w,p);case 15:return Ui(o,a,a.type,a.pendingProps,p);case 17:return v=a.type,w=a.pendingProps,w=a.elementType===v?w:Yr(v,w),_c(o,a),a.tag=1,hr(v)?(o=!0,Vr(a)):o=!1,Ho(a,p),Ds(a,v,w),Md(a,v,w,p),Bd(null,a,v,!0,o,p);case 19:return Yo(o,a,p);case 22:return Fd(o,a,p)}throw Error(n(156,a.tag))};function Wm(o,a){return $h(o,a)}function gy(o,a,p,v){this.tag=o,this.key=p,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=a,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=v,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Qr(o,a,p,v){return new gy(o,a,p,v)}function Bc(o){return o=o.prototype,!(!o||!o.isReactComponent)}function vy(o){if(typeof o=="function")return Bc(o)?1:0;if(o!=null){if(o=o.$$typeof,o===Y)return 11;if(o===fe)return 14}return 2}function bi(o,a){var p=o.alternate;return p===null?(p=Qr(o.tag,a,o.key,o.mode),p.elementType=o.elementType,p.type=o.type,p.stateNode=o.stateNode,p.alternate=o,o.alternate=p):(p.pendingProps=a,p.type=o.type,p.flags=0,p.subtreeFlags=0,p.deletions=null),p.flags=o.flags&14680064,p.childLanes=o.childLanes,p.lanes=o.lanes,p.child=o.child,p.memoizedProps=o.memoizedProps,p.memoizedState=o.memoizedState,p.updateQueue=o.updateQueue,a=o.dependencies,p.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext},p.sibling=o.sibling,p.index=o.index,p.ref=o.ref,p}function Vc(o,a,p,v,w,C){var I=2;if(v=o,typeof o=="function")Bc(o)&&(I=1);else if(typeof o=="string")I=5;else e:switch(o){case J:return Bs(p.children,w,C,a);case re:I=8,w|=8;break;case ae:return o=Qr(12,p,a,w|2),o.elementType=ae,o.lanes=C,o;case te:return o=Qr(13,p,a,w),o.elementType=te,o.lanes=C,o;case G:return o=Qr(19,p,a,w),o.elementType=G,o.lanes=C,o;case q:return Uc(p,w,C,a);default:if(typeof o=="object"&&o!==null)switch(o.$$typeof){case j:I=10;break e;case B:I=9;break e;case Y:I=11;break e;case fe:I=14;break e;case Z:I=16,v=null;break e}throw Error(n(130,o==null?o:typeof o,""))}return a=Qr(I,p,a,w),a.elementType=o,a.type=v,a.lanes=C,a}function Bs(o,a,p,v){return o=Qr(7,o,v,a),o.lanes=p,o}function Uc(o,a,p,v){return o=Qr(22,o,v,a),o.elementType=q,o.lanes=p,o.stateNode={isHidden:!1},o}function rp(o,a,p){return o=Qr(6,o,null,a),o.lanes=p,o}function ip(o,a,p){return a=Qr(4,o.children!==null?o.children:[],o.key,a),a.lanes=p,a.stateNode={containerInfo:o.containerInfo,pendingChildren:null,implementation:o.implementation},a}function yy(o,a,p,v,w){this.tag=a,this.containerInfo=o,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=fa(0),this.expirationTimes=fa(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=fa(0),this.identifierPrefix=v,this.onRecoverableError=w,this.mutableSourceEagerHydrationData=null}function op(o,a,p,v,w,C,I,U,X){return o=new yy(o,a,p,U,X),a===1?(a=1,C===!0&&(a|=8)):a=0,C=Qr(3,null,null,a),o.current=C,C.stateNode=o,C.memoizedState={element:v,isDehydrated:p,cache:null,transitions:null,pendingSuspenseBoundaries:null},fc(C),o}function by(o,a,p){var v=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Oy.exports=XR(),Oy.exports}var s1;function QR(){if(s1)return tg;s1=1;var e=gE();return tg.createRoot=e.createRoot,tg.hydrateRoot=e.hydrateRoot,tg}var JR=QR();function nx(e={}){const{strict:t=!0,errorMessage:n="useContext: `context` is undefined. Seems you forgot to wrap component within the Provider",name:r}=e,i=S.createContext(void 0);i.displayName=r;function s(){var l;const c=S.useContext(i);if(!c&&t){const d=new Error(n);throw d.name="ContextError",(l=Error.captureStackTrace)==null||l.call(Error,d,s),d}return c}return[i.Provider,s,i]}function ZR(e){return{UNSAFE_getDOMNode(){return e.current}}}function Ji(e){const t=S.useRef(null);return S.useImperativeHandle(e,()=>t.current),t}function rx(e){return Array.isArray(e)}function eL(e){return rx(e)&&e.length===0}function ix(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!rx(e)}function tL(e){return ix(e)&&Object.keys(e).length===0}function nL(e){return rx(e)?eL(e):ix(e)?tL(e):e==null||e===""}function rL(e){return typeof e=="function"}var Me=e=>e?"true":void 0;function vE(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;tix(e)?e instanceof Array?[...e]:e[t]:e,iL=(...e)=>{let t=" ";for(const n of e)if(typeof n=="string"&&n.length>0){t=n;break}return t},oL=e=>e?e.charAt(0).toUpperCase()+e.slice(1).toLowerCase():"";function l1(...e){return function(n){e.some(r=>(r?.(n),n?.defaultPrevented))}}function sL(e){return`${e}-${Math.floor(Math.random()*1e6)}`}function LG(e){for(const t in e)t.startsWith("on")&&delete e[t];return e}function tl(e){if(!e||typeof e!="object")return"";try{return JSON.stringify(e)}catch{return""}}function lL(e,t,n){return Math.min(Math.max(e,t),n)}function aL(e,t=100){return Math.min(Math.max(e,0),t)}var a1={};function uL(e,t,...n){const i=`[Hero UI] : ${e}`;typeof console>"u"||a1[i]||(a1[i]=!0)}function gf(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}var u1=new Map;function cL(e,t){if(e===t)return e;let n=u1.get(e);if(n)return n.forEach(i=>i.current=t),t;let r=u1.get(t);return r?(r.forEach(i=>i.current=e),e):t}function mn(...e){let t={...e[0]};for(let n=1;n=65&&i.charCodeAt(2)<=90?t[i]=gf(s,l):(i==="className"||i==="UNSAFE_className")&&typeof s=="string"&&typeof l=="string"?t[i]=hn(s,l):i==="id"&&s&&l?t.id=cL(s,l):t[i]=l!==void 0?l:s}}return t}function yE(...e){return e.length===1&&e[0]?e[0]:t=>{let n=!1;const r=e.map(i=>{const s=c1(i,t);return n||(n=typeof s=="function"),s});if(n)return()=>{r.forEach((i,s)=>{typeof i=="function"?i?.():c1(e[s],null)})}}}function c1(e,t){if(typeof e=="function")return()=>e(t);e!=null&&"current"in e&&(e.current=t)}function fL(e,t){if(e!=null){if(rL(e)){e(t);return}try{e.current=t}catch{throw new Error(`Cannot assign value '${t}' to ref '${e}'`)}}}function dL(...e){return t=>{e.forEach(n=>fL(n,t))}}function pL(){const e=()=>()=>{};return S.useSyncExternalStore(e,()=>!0,()=>!1)}var hL=new Set(["id","type","style","title","role","tabIndex","htmlFor","width","height","abbr","accept","acceptCharset","accessKey","action","allowFullScreen","allowTransparency","alt","async","autoComplete","autoFocus","autoPlay","cellPadding","cellSpacing","challenge","charset","checked","cite","class","className","cols","colSpan","command","content","contentEditable","contextMenu","controls","coords","crossOrigin","data","dateTime","default","defer","dir","disabled","download","draggable","dropzone","encType","enterKeyHint","for","form","formAction","formEncType","formMethod","formNoValidate","formTarget","frameBorder","headers","hidden","high","href","hrefLang","httpEquiv","icon","inputMode","isMap","itemId","itemProp","itemRef","itemScope","itemType","kind","label","lang","list","loop","manifest","max","maxLength","media","mediaGroup","method","min","minLength","multiple","muted","name","noValidate","open","optimum","pattern","ping","placeholder","poster","preload","radioGroup","referrerPolicy","readOnly","rel","required","rows","rowSpan","sandbox","scope","scoped","scrolling","seamless","selected","shape","size","sizes","slot","sortable","span","spellCheck","src","srcDoc","srcSet","start","step","target","translate","typeMustMatch","useMap","value","wmode","wrap"]),mL=new Set(["onCopy","onCut","onPaste","onLoad","onError","onWheel","onScroll","onCompositionEnd","onCompositionStart","onCompositionUpdate","onKeyDown","onKeyPress","onKeyUp","onFocus","onBlur","onChange","onInput","onSubmit","onClick","onContextMenu","onDoubleClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onPointerDown","onPointerEnter","onPointerLeave","onPointerUp","onSelect","onTouchCancel","onTouchEnd","onTouchMove","onTouchStart","onAnimationStart","onAnimationEnd","onAnimationIteration","onTransitionEnd"]),f1=/^(data-.*)$/,gL=/^(aria-.*)$/,ng=/^(on[A-Z].*)$/;function vf(e,t={}){let{labelable:n=!0,enabled:r=!0,propNames:i,omitPropNames:s,omitEventNames:l,omitDataProps:c,omitEventProps:d}=t,h={};if(!r)return e;for(const m in e)s?.has(m)||l?.has(m)&&ng.test(m)||ng.test(m)&&!mL.has(m)||c&&f1.test(m)||d&&ng.test(m)||(Object.prototype.hasOwnProperty.call(e,m)&&(hL.has(m)||n&&gL.test(m)||i?.has(m)||f1.test(m))||ng.test(m))&&(h[m]=e[m]);return h}var[vL,Ti]=nx({name:"ProviderContext",strict:!1});const yL=new Set(["Arab","Syrc","Samr","Mand","Thaa","Mend","Nkoo","Adlm","Rohg","Hebr"]),bL=new Set(["ae","ar","arc","bcc","bqi","ckb","dv","fa","glk","he","ku","mzn","nqo","pnb","ps","sd","ug","ur","yi"]);function bE(e){if(Intl.Locale){let n=new Intl.Locale(e).maximize(),r=typeof n.getTextInfo=="function"?n.getTextInfo():n.textInfo;if(r)return r.direction==="rtl";if(n.script)return yL.has(n.script)}let t=e.split("-")[0];return bL.has(t)}const xE={prefix:String(Math.round(Math.random()*1e10)),current:0},wE=We.createContext(xE),xL=We.createContext(!1);let By=new WeakMap;function wL(e=!1){let t=S.useContext(wE),n=S.useRef(null);if(n.current===null&&!e){var r,i;let s=(i=We.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)===null||i===void 0||(r=i.ReactCurrentOwner)===null||r===void 0?void 0:r.current;if(s){let l=By.get(s);l==null?By.set(s,{id:t.current,state:s.memoizedState}):s.memoizedState!==l.state&&(t.current=l.id,By.delete(s))}n.current=++t.current}return n.current}function SL(e){let t=S.useContext(wE),n=wL(!!e),r=`react-aria${t.prefix}`;return e||`${r}-${n}`}function kL(e){let t=We.useId(),[n]=S.useState(fh()),r=n?"react-aria":`react-aria${xE.prefix}`;return e||`${r}-${t}`}const CL=typeof We.useId=="function"?kL:SL;function EL(){return!1}function PL(){return!0}function TL(e){return()=>{}}function fh(){return typeof We.useSyncExternalStore=="function"?We.useSyncExternalStore(TL,EL,PL):S.useContext(xL)}const _L=Symbol.for("react-aria.i18n.locale");function SE(){let e=typeof window<"u"&&window[_L]||typeof navigator<"u"&&(navigator.language||navigator.userLanguage)||"en-US";try{Intl.DateTimeFormat.supportedLocalesOf([e])}catch{e="en-US"}return{locale:e,direction:bE(e)?"rtl":"ltr"}}let B0=SE(),Ep=new Set;function d1(){B0=SE();for(let e of Ep)e(B0)}function kE(){let e=fh(),[t,n]=S.useState(B0);return S.useEffect(()=>(Ep.size===0&&window.addEventListener("languagechange",d1),Ep.add(n),()=>{Ep.delete(n),Ep.size===0&&window.removeEventListener("languagechange",d1)}),[]),e?{locale:"en-US",direction:"ltr"}:t}const CE=We.createContext(null);function $L(e){let{locale:t,children:n}=e,r=kE(),i=We.useMemo(()=>t?{locale:t,direction:bE(t)?"rtl":"ltr"}:r,[r,t]);return We.createElement(CE.Provider,{value:i},n)}function dh(){let e=kE();return S.useContext(CE)||e}const IL=Symbol.for("react-aria.i18n.locale"),AL=Symbol.for("react-aria.i18n.strings");let Qc;class lv{getStringForLocale(t,n){let i=this.getStringsForLocale(n)[t];if(!i)throw new Error(`Could not find intl message ${t} in ${n} locale`);return i}getStringsForLocale(t){let n=this.strings[t];return n||(n=RL(t,this.strings,this.defaultLocale),this.strings[t]=n),n}static getGlobalDictionaryForPackage(t){if(typeof window>"u")return null;let n=window[IL];if(Qc===void 0){let i=window[AL];if(!i)return null;Qc={};for(let s in i)Qc[s]=new lv({[n]:i[s]},n)}let r=Qc?.[t];if(!r)throw new Error(`Strings for package "${t}" were not included by LocalizedStringProvider. Please add it to the list passed to createLocalizedStringDictionary.`);return r}constructor(t,n="en-US"){this.strings=Object.fromEntries(Object.entries(t).filter(([,r])=>r)),this.defaultLocale=n}}function RL(e,t,n="en-US"){if(t[e])return t[e];let r=LL(e);if(t[r])return t[r];for(let i in t)if(i.startsWith(r+"-"))return t[i];return t[n]}function LL(e){return Intl.Locale?new Intl.Locale(e).language:e.split("-")[0]}const p1=new Map,h1=new Map;class ML{format(t,n){let r=this.strings.getStringForLocale(t,this.locale);return typeof r=="function"?r(n,this):r}plural(t,n,r="cardinal"){let i=n["="+t];if(i)return typeof i=="function"?i():i;let s=this.locale+":"+r,l=p1.get(s);l||(l=new Intl.PluralRules(this.locale,{type:r}),p1.set(s,l));let c=l.select(t);return i=n[c]||n.other,typeof i=="function"?i():i}number(t){let n=h1.get(this.locale);return n||(n=new Intl.NumberFormat(this.locale),h1.set(this.locale,n)),n.format(t)}select(t,n){let r=t[n]||t.other;return typeof r=="function"?r():r}constructor(t,n){this.locale=t,this.strings=n}}const m1=new WeakMap;function DL(e){let t=m1.get(e);return t||(t=new lv(e),m1.set(e,t)),t}function NL(e,t){return t&&lv.getGlobalDictionaryForPackage(t)||DL(e)}function FL(e,t){let{locale:n}=dh(),r=NL(e,t);return S.useMemo(()=>new ML(n,r),[n,r])}function OL(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function zL(e,t,n){OL(e,t),t.set(e,n)}const en=typeof document<"u"?We.useLayoutEffect:()=>{};function On(e){const t=S.useRef(null);return en(()=>{t.current=e},[e]),S.useCallback((...n)=>{const r=t.current;return r?.(...n)},[])}function jL(e){let[t,n]=S.useState(e),r=S.useRef(null),i=On(()=>{if(!r.current)return;let l=r.current.next();if(l.done){r.current=null;return}t===l.value?i():n(l.value)});en(()=>{r.current&&i()});let s=On(l=>{r.current=l(t),i()});return[t,s]}let BL=!!(typeof window<"u"&&window.document&&window.document.createElement),cf=new Map,Pp;typeof FinalizationRegistry<"u"&&(Pp=new FinalizationRegistry(e=>{cf.delete(e)}));function yf(e){let[t,n]=S.useState(e),r=S.useRef(null),i=CL(t),s=S.useRef(null);if(Pp&&Pp.register(s,i),BL){const l=cf.get(i);l&&!l.includes(r)?l.push(r):cf.set(i,[r])}return en(()=>{let l=i;return()=>{Pp&&Pp.unregister(s),cf.delete(l)}},[i]),S.useEffect(()=>{let l=r.current;return l&&n(l),()=>{l&&(r.current=null)}}),i}function VL(e,t){if(e===t)return e;let n=cf.get(e);if(n)return n.forEach(i=>i.current=t),t;let r=cf.get(t);return r?(r.forEach(i=>i.current=e),e):t}function V0(e=[]){let t=yf(),[n,r]=jL(t),i=S.useCallback(()=>{r(function*(){yield t,yield document.getElementById(t)?t:void 0})},[t,r]);return en(i,[t,i,...e]),n}function bf(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}const At=e=>{var t;return(t=e?.ownerDocument)!==null&&t!==void 0?t:document},Zi=e=>e&&"window"in e&&e.window===e?e:At(e).defaultView||window;function UL(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&typeof e.nodeType=="number"}function KL(e){return UL(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in e}let WL=!1,HL=!1;function MG(){return WL}function av(){return HL}function ii(e,t){if(!av())return t&&e?e.contains(t):!1;if(!e||!t)return!1;let n=t;for(;n!==null;){if(n===e)return!0;n.tagName==="SLOT"&&n.assignedSlot?n=n.assignedSlot.parentNode:KL(n)?n=n.host:n=n.parentNode}return!1}const Dr=(e=document)=>{var t;if(!av())return e.activeElement;let n=e.activeElement;for(;n&&"shadowRoot"in n&&(!((t=n.shadowRoot)===null||t===void 0)&&t.activeElement);)n=n.shadowRoot.activeElement;return n};function Sn(e){return av()&&e.target.shadowRoot&&e.composedPath?e.composedPath()[0]:e.target}class GL{get currentNode(){return this._currentNode}set currentNode(t){if(!ii(this.root,t))throw new Error("Cannot set currentNode to a node that is not contained by the root node.");const n=[];let r=t,i=t;for(this._currentNode=t;r&&r!==this.root;)if(r.nodeType===Node.DOCUMENT_FRAGMENT_NODE){const l=r,c=this._doc.createTreeWalker(l,this.whatToShow,{acceptNode:this._acceptNode});n.push(c),c.currentNode=i,this._currentSetFor.add(c),r=i=l.host}else r=r.parentNode;const s=this._doc.createTreeWalker(this.root,this.whatToShow,{acceptNode:this._acceptNode});n.push(s),s.currentNode=i,this._currentSetFor.add(s),this._walkerStack=n}get doc(){return this._doc}firstChild(){let t=this.currentNode,n=this.nextNode();return ii(t,n)?(n&&(this.currentNode=n),n):(this.currentNode=t,null)}lastChild(){let n=this._walkerStack[0].lastChild();return n&&(this.currentNode=n),n}nextNode(){const t=this._walkerStack[0].nextNode();if(t){if(t.shadowRoot){var n;let i;if(typeof this.filter=="function"?i=this.filter(t):!((n=this.filter)===null||n===void 0)&&n.acceptNode&&(i=this.filter.acceptNode(t)),i===NodeFilter.FILTER_ACCEPT)return this.currentNode=t,t;let s=this.nextNode();return s&&(this.currentNode=s),s}return t&&(this.currentNode=t),t}else if(this._walkerStack.length>1){this._walkerStack.shift();let r=this.nextNode();return r&&(this.currentNode=r),r}else return null}previousNode(){const t=this._walkerStack[0];if(t.currentNode===t.root){if(this._currentSetFor.has(t))if(this._currentSetFor.delete(t),this._walkerStack.length>1){this._walkerStack.shift();let i=this.previousNode();return i&&(this.currentNode=i),i}else return null;return null}const n=t.previousNode();if(n){if(n.shadowRoot){var r;let s;if(typeof this.filter=="function"?s=this.filter(n):!((r=this.filter)===null||r===void 0)&&r.acceptNode&&(s=this.filter.acceptNode(n)),s===NodeFilter.FILTER_ACCEPT)return n&&(this.currentNode=n),n;let l=this.lastChild();return l&&(this.currentNode=l),l}return n&&(this.currentNode=n),n}else if(this._walkerStack.length>1){this._walkerStack.shift();let i=this.previousNode();return i&&(this.currentNode=i),i}else return null}nextSibling(){return null}previousSibling(){return null}parentNode(){return null}constructor(t,n,r,i){this._walkerStack=[],this._currentSetFor=new Set,this._acceptNode=l=>{if(l.nodeType===Node.ELEMENT_NODE){const d=l.shadowRoot;if(d){const h=this._doc.createTreeWalker(d,this.whatToShow,{acceptNode:this._acceptNode});return this._walkerStack.unshift(h),NodeFilter.FILTER_ACCEPT}else{var c;if(typeof this.filter=="function")return this.filter(l);if(!((c=this.filter)===null||c===void 0)&&c.acceptNode)return this.filter.acceptNode(l);if(this.filter===null)return NodeFilter.FILTER_ACCEPT}}return NodeFilter.FILTER_SKIP},this._doc=t,this.root=n,this.filter=i??null,this.whatToShow=r??NodeFilter.SHOW_ALL,this._currentNode=n,this._walkerStack.unshift(t.createTreeWalker(n,r,this._acceptNode));const s=n.shadowRoot;if(s){const l=this._doc.createTreeWalker(s,this.whatToShow,{acceptNode:this._acceptNode});this._walkerStack.unshift(l)}}}function qL(e,t,n,r){return av()?new GL(e,t,n,r):e.createTreeWalker(t,n,r)}function EE(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t=65&&i.charCodeAt(2)<=90?t[i]=bf(s,l):(i==="className"||i==="UNSAFE_className")&&typeof s=="string"&&typeof l=="string"?t[i]=YL(s,l):i==="id"&&s&&l?t.id=VL(s,l):t[i]=l!==void 0?l:s}}return t}const XL=new Set(["id"]),QL=new Set(["aria-label","aria-labelledby","aria-describedby","aria-details"]),JL=new Set(["href","hrefLang","target","rel","download","ping","referrerPolicy"]),ZL=/^(data-.*)$/;function $f(e,t={}){let{labelable:n,isLink:r,propNames:i}=t,s={};for(const l in e)Object.prototype.hasOwnProperty.call(e,l)&&(XL.has(l)||n&&QL.has(l)||r&&JL.has(l)||i?.has(l)||ZL.test(l))&&(s[l]=e[l]);return s}function Ql(e){if(eM())e.focus({preventScroll:!0});else{let t=tM(e);e.focus(),nM(t)}}let rg=null;function eM(){if(rg==null){rg=!1;try{document.createElement("div").focus({get preventScroll(){return rg=!0,!0}})}catch{}}return rg}function tM(e){let t=e.parentNode,n=[],r=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==r;)(t.offsetHeight"u"||window.navigator==null?!1:((t=window.navigator.userAgentData)===null||t===void 0?void 0:t.brands.some(n=>e.test(n.brand)))||e.test(window.navigator.userAgent)}function ox(e){var t;return typeof window<"u"&&window.navigator!=null?e.test(((t=window.navigator.userAgentData)===null||t===void 0?void 0:t.platform)||window.navigator.platform):!1}function nl(e){let t=null;return()=>(t==null&&(t=e()),t)}const vu=nl(function(){return ox(/^Mac/i)}),rM=nl(function(){return ox(/^iPhone/i)}),PE=nl(function(){return ox(/^iPad/i)||vu()&&navigator.maxTouchPoints>1}),cv=nl(function(){return rM()||PE()}),iM=nl(function(){return vu()||cv()}),TE=nl(function(){return uv(/AppleWebKit/i)&&!_E()}),_E=nl(function(){return uv(/Chrome/i)}),sx=nl(function(){return uv(/Android/i)}),oM=nl(function(){return uv(/Firefox/i)}),$E=S.createContext({isNative:!0,open:aM,useHref:e=>e});function sM(e){let{children:t,navigate:n,useHref:r}=e,i=S.useMemo(()=>({isNative:!1,open:(s,l,c,d)=>{IE(s,h=>{lM(h,l)?n(c,d):yu(h,l)})},useHref:r||(s=>s)}),[n,r]);return We.createElement($E.Provider,{value:i},t)}function lx(){return S.useContext($E)}function lM(e,t){let n=e.getAttribute("target");return(!n||n==="_self")&&e.origin===location.origin&&!e.hasAttribute("download")&&!t.metaKey&&!t.ctrlKey&&!t.altKey&&!t.shiftKey}function yu(e,t,n=!0){var r,i;let{metaKey:s,ctrlKey:l,altKey:c,shiftKey:d}=t;oM()&&(!((i=window.event)===null||i===void 0||(r=i.type)===null||r===void 0)&&r.startsWith("key"))&&e.target==="_blank"&&(vu()?s=!0:l=!0);let h=TE()&&vu()&&!PE()?new KeyboardEvent("keydown",{keyIdentifier:"Enter",metaKey:s,ctrlKey:l,altKey:c,shiftKey:d}):new MouseEvent("click",{metaKey:s,ctrlKey:l,altKey:c,shiftKey:d,bubbles:!0,cancelable:!0});yu.isOpening=n,Ql(e),e.dispatchEvent(h),yu.isOpening=!1}yu.isOpening=!1;function IE(e,t){if(e instanceof HTMLAnchorElement)t(e);else if(e.hasAttribute("data-href")){let n=document.createElement("a");n.href=e.getAttribute("data-href"),e.hasAttribute("data-target")&&(n.target=e.getAttribute("data-target")),e.hasAttribute("data-rel")&&(n.rel=e.getAttribute("data-rel")),e.hasAttribute("data-download")&&(n.download=e.getAttribute("data-download")),e.hasAttribute("data-ping")&&(n.ping=e.getAttribute("data-ping")),e.hasAttribute("data-referrer-policy")&&(n.referrerPolicy=e.getAttribute("data-referrer-policy")),e.appendChild(n),t(n),e.removeChild(n)}}function aM(e,t){IE(e,n=>yu(n,t))}function DG(e){let t=lx();var n;const r=t.useHref((n=e.href)!==null&&n!==void 0?n:"");return{"data-href":e.href?r:void 0,"data-target":e.target,"data-rel":e.rel,"data-download":e.download,"data-ping":e.ping,"data-referrer-policy":e.referrerPolicy}}function NG(e){let t=lx();var n;const r=t.useHref((n=e?.href)!==null&&n!==void 0?n:"");return{href:e?.href?r:void 0,target:e?.target,rel:e?.rel,download:e?.download,ping:e?.ping,referrerPolicy:e?.referrerPolicy}}let Gl=new Map,U0=new Set;function g1(){if(typeof window>"u")return;function e(r){return"propertyName"in r}let t=r=>{if(!e(r)||!r.target)return;let i=Gl.get(r.target);i||(i=new Set,Gl.set(r.target,i),r.target.addEventListener("transitioncancel",n,{once:!0})),i.add(r.propertyName)},n=r=>{if(!e(r)||!r.target)return;let i=Gl.get(r.target);if(i&&(i.delete(r.propertyName),i.size===0&&(r.target.removeEventListener("transitioncancel",n),Gl.delete(r.target)),Gl.size===0)){for(let s of U0)s();U0.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",n)}typeof document<"u"&&(document.readyState!=="loading"?g1():document.addEventListener("DOMContentLoaded",g1));function uM(){for(const[e]of Gl)"isConnected"in e&&!e.isConnected&&Gl.delete(e)}function AE(e){requestAnimationFrame(()=>{uM(),Gl.size===0?e():U0.add(e)})}function ax(){let e=S.useRef(new Map),t=S.useCallback((i,s,l,c)=>{let d=c?.once?(...h)=>{e.current.delete(l),l(...h)}:l;e.current.set(l,{type:s,eventTarget:i,fn:d,options:c}),i.addEventListener(s,d,c)},[]),n=S.useCallback((i,s,l,c)=>{var d;let h=((d=e.current.get(l))===null||d===void 0?void 0:d.fn)||l;i.removeEventListener(s,h,c),e.current.delete(l)},[]),r=S.useCallback(()=>{e.current.forEach((i,s)=>{n(i.eventTarget,i.type,s,i.options)})},[n]);return S.useEffect(()=>r,[r]),{addGlobalListener:t,removeGlobalListener:n,removeAllGlobalListeners:r}}function RE(e,t){let{id:n,"aria-label":r,"aria-labelledby":i}=e;return n=yf(n),i&&r?i=[...new Set([n,...i.trim().split(/\s+/)])].join(" "):i&&(i=i.trim().split(/\s+/).join(" ")),!r&&!i&&t&&(r=t),{id:n,"aria-label":r,"aria-labelledby":i}}function v1(e,t){const n=S.useRef(!0),r=S.useRef(null);en(()=>(n.current=!0,()=>{n.current=!1}),[]),en(()=>{n.current?n.current=!1:(!r.current||t.some((i,s)=>!Object.is(i,r[s])))&&e(),r.current=t},t)}function cM(){return typeof window.ResizeObserver<"u"}function y1(e){const{ref:t,box:n,onResize:r}=e;S.useEffect(()=>{let i=t?.current;if(i)if(cM()){const s=new window.ResizeObserver(l=>{l.length&&r()});return s.observe(i,{box:n}),()=>{i&&s.unobserve(i)}}else return window.addEventListener("resize",r,!1),()=>{window.removeEventListener("resize",r,!1)}},[r,t,n])}function LE(e,t){en(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref&&(e.ref.current=null)}})}function Wp(e,t){if(!e)return!1;let n=window.getComputedStyle(e),r=/(auto|scroll)/.test(n.overflow+n.overflowX+n.overflowY);return r&&t&&(r=e.scrollHeight!==e.clientHeight||e.scrollWidth!==e.clientWidth),r}function ME(e,t){let n=e;for(Wp(n,t)&&(n=n.parentElement);n&&!Wp(n,t);)n=n.parentElement;return n||document.scrollingElement||document.documentElement}function fM(e,t){const n=[];for(;e&&e!==document.documentElement;)Wp(e,t)&&n.push(e),e=e.parentElement;return n}function ig(e,t,n,r){let i=On(n),s=n==null;S.useEffect(()=>{if(s||!e.current)return;let l=e.current;return l.addEventListener(t,i,r),()=>{l.removeEventListener(t,i,r)}},[e,t,r,s,i])}function DE(e,t){let n=b1(e,t,"left"),r=b1(e,t,"top"),i=t.offsetWidth,s=t.offsetHeight,l=e.scrollLeft,c=e.scrollTop,{borderTopWidth:d,borderLeftWidth:h,scrollPaddingTop:m,scrollPaddingRight:g,scrollPaddingBottom:b,scrollPaddingLeft:x}=getComputedStyle(e),k=l+parseInt(h,10),P=c+parseInt(d,10),_=k+e.clientWidth,T=P+e.clientHeight,A=parseInt(m,10)||0,L=parseInt(b,10)||0,z=parseInt(g,10)||0,K=parseInt(x,10)||0;n<=l+K?l=n-parseInt(h,10)-K:n+i>_-z&&(l+=n+i-_+z),r<=P+A?c=r-parseInt(d,10)-A:r+s>T-L&&(c+=r+s-T+L),e.scrollLeft=l,e.scrollTop=c}function b1(e,t,n){const r=n==="left"?"offsetLeft":"offsetTop";let i=0;for(;t.offsetParent&&(i+=t[r],t.offsetParent!==e);){if(t.offsetParent.contains(e)){i-=e[r];break}t=t.offsetParent}return i}function x1(e,t){if(e&&document.contains(e)){let l=document.scrollingElement||document.documentElement;if(window.getComputedStyle(l).overflow==="hidden"){let d=fM(e);for(let h of d)DE(h,e)}else{var n;let{left:d,top:h}=e.getBoundingClientRect();e==null||(n=e.scrollIntoView)===null||n===void 0||n.call(e,{block:"nearest"});let{left:m,top:g}=e.getBoundingClientRect();if(Math.abs(d-m)>1||Math.abs(h-g)>1){var r,i,s;t==null||(i=t.containingElement)===null||i===void 0||(r=i.scrollIntoView)===null||r===void 0||r.call(i,{block:"center",inline:"center"}),(s=e.scrollIntoView)===null||s===void 0||s.call(e,{block:"nearest"})}}}}function NE(e){return e.mozInputSource===0&&e.isTrusted?!0:sx()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function dM(e){return!sx()&&e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"}function pM(e,t,n){let r=S.useRef(t),i=On(()=>{n&&n(r.current)});S.useEffect(()=>{var s;let l=e==null||(s=e.current)===null||s===void 0?void 0:s.form;return l?.addEventListener("reset",i),()=>{l?.removeEventListener("reset",i)}},[e,i])}const hM="react-aria-clear-focus",mM="react-aria-focus";function cp(e){return vu()?e.metaKey:e.ctrlKey}var FE=gE();const OE=sv(FE),ux=["input:not([disabled]):not([type=hidden])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable^="false"])'],gM=ux.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";ux.push('[tabindex]:not([tabindex="-1"]):not([disabled])');const vM=ux.join(':not([hidden]):not([tabindex="-1"]),');function zE(e){return e.matches(gM)}function yM(e){return e.matches(vM)}function If(e,t,n){let[r,i]=S.useState(e||t),s=S.useRef(e!==void 0),l=e!==void 0;S.useEffect(()=>{s.current,s.current=l},[l]);let c=l?e:r,d=S.useCallback((h,...m)=>{let g=(b,...x)=>{n&&(Object.is(c,b)||n(b,...x)),l||(c=b)};typeof h=="function"?i((x,...k)=>{let P=h(l?c:x,...k);return g(P,...m),l?x:P}):(l||i(h),g(h,...m))},[l,c,n]);return[c,d]}function Ng(e,t=-1/0,n=1/0){return Math.min(Math.max(e,t),n)}let Vy=new Map,K0=!1;try{K0=new Intl.NumberFormat("de-DE",{signDisplay:"exceptZero"}).resolvedOptions().signDisplay==="exceptZero"}catch{}let Fg=!1;try{Fg=new Intl.NumberFormat("de-DE",{style:"unit",unit:"degree"}).resolvedOptions().style==="unit"}catch{}const jE={degree:{narrow:{default:"°","ja-JP":" 度","zh-TW":"度","sl-SI":" °"}}};class bM{format(t){let n="";if(!K0&&this.options.signDisplay!=null?n=wM(this.numberFormatter,this.options.signDisplay,t):n=this.numberFormatter.format(t),this.options.style==="unit"&&!Fg){var r;let{unit:i,unitDisplay:s="short",locale:l}=this.resolvedOptions();if(!i)return n;let c=(r=jE[i])===null||r===void 0?void 0:r[s];n+=c[l]||c.default}return n}formatToParts(t){return this.numberFormatter.formatToParts(t)}formatRange(t,n){if(typeof this.numberFormatter.formatRange=="function")return this.numberFormatter.formatRange(t,n);if(n= start date");return`${this.format(t)} – ${this.format(n)}`}formatRangeToParts(t,n){if(typeof this.numberFormatter.formatRangeToParts=="function")return this.numberFormatter.formatRangeToParts(t,n);if(n= start date");let r=this.numberFormatter.formatToParts(t),i=this.numberFormatter.formatToParts(n);return[...r.map(s=>({...s,source:"startRange"})),{type:"literal",value:" – ",source:"shared"},...i.map(s=>({...s,source:"endRange"}))]}resolvedOptions(){let t=this.numberFormatter.resolvedOptions();return!K0&&this.options.signDisplay!=null&&(t={...t,signDisplay:this.options.signDisplay}),!Fg&&this.options.style==="unit"&&(t={...t,style:"unit",unit:this.options.unit,unitDisplay:this.options.unitDisplay}),t}constructor(t,n={}){this.numberFormatter=xM(t,n),this.options=n}}function xM(e,t={}){let{numberingSystem:n}=t;if(n&&e.includes("-nu-")&&(e.includes("-u-")||(e+="-u-"),e+=`-nu-${n}`),t.style==="unit"&&!Fg){var r;let{unit:l,unitDisplay:c="short"}=t;if(!l)throw new Error('unit option must be provided with style: "unit"');if(!(!((r=jE[l])===null||r===void 0)&&r[c]))throw new Error(`Unsupported unit ${l} with unitDisplay = ${c}`);t={...t,style:"decimal"}}let i=e+(t?Object.entries(t).sort((l,c)=>l[0]0||Object.is(n,0):t==="exceptZero"&&(Object.is(n,-0)||Object.is(n,0)?n=Math.abs(n):r=n>0),r){let i=e.format(-n),s=e.format(n),l=i.replace(s,"").replace(/\u200e|\u061C/,"");return[...l].length!==1&&console.warn("@react-aria/i18n polyfill for NumberFormat signDisplay: Unsupported case"),i.replace(s,"!!!").replace(l,"+").replace("!!!",s)}else return e.format(n)}}function SM(e={}){let{locale:t}=dh();return S.useMemo(()=>new bM(t,e),[t,e])}let Uy=new Map;function kM(e){let{locale:t}=dh(),n=t+(e?Object.entries(e).sort((i,s)=>i[0]-1&&e.splice(n,1)}const Js=(e,t,n)=>n>t?t:n{};const fs={},BE=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e);function VE(e){return typeof e=="object"&&e!==null}const UE=e=>/^0[^.\s]+$/u.test(e);function mx(e){let t;return()=>(t===void 0&&(t=e()),t)}const eo=e=>e,CM=(e,t)=>n=>t(e(n)),hh=(...e)=>e.reduce(CM),Gp=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r};class gx{constructor(){this.subscriptions=[]}add(t){return dx(this.subscriptions,t),()=>px(this.subscriptions,t)}notify(t,n,r){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](t,n,r);else for(let s=0;se*1e3,us=e=>e/1e3;function KE(e,t){return t?e*(1e3/t):0}const WE=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,EM=1e-7,PM=12;function TM(e,t,n,r,i){let s,l,c=0;do l=t+(n-t)/2,s=WE(l,r,i)-e,s>0?n=l:t=l;while(Math.abs(s)>EM&&++cTM(s,0,1,e,n);return s=>s===0||s===1?s:WE(i(s),t,r)}const HE=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,GE=e=>t=>1-e(1-t),qE=mh(.33,1.53,.69,.99),vx=GE(qE),YE=HE(vx),XE=e=>(e*=2)<1?.5*vx(e):.5*(2-Math.pow(2,-10*(e-1))),yx=e=>1-Math.sin(Math.acos(e)),QE=GE(yx),JE=HE(yx),_M=mh(.42,0,1,1),$M=mh(0,0,.58,1),ZE=mh(.42,0,.58,1),IM=e=>Array.isArray(e)&&typeof e[0]!="number",eP=e=>Array.isArray(e)&&typeof e[0]=="number",AM={linear:eo,easeIn:_M,easeInOut:ZE,easeOut:$M,circIn:yx,circInOut:JE,circOut:QE,backIn:vx,backInOut:YE,backOut:qE,anticipate:XE},RM=e=>typeof e=="string",w1=e=>{if(eP(e)){hx(e.length===4);const[t,n,r,i]=e;return mh(t,n,r,i)}else if(RM(e))return AM[e];return e},og=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function LM(e,t){let n=new Set,r=new Set,i=!1,s=!1;const l=new WeakSet;let c={delta:0,timestamp:0,isProcessing:!1};function d(m){l.has(m)&&(h.schedule(m),e()),m(c)}const h={schedule:(m,g=!1,b=!1)=>{const k=b&&i?n:r;return g&&l.add(m),k.has(m)||k.add(m),m},cancel:m=>{r.delete(m),l.delete(m)},process:m=>{if(c=m,i){s=!0;return}i=!0,[n,r]=[r,n],n.forEach(d),n.clear(),i=!1,s&&(s=!1,h.process(m))}};return h}const MM=40;function tP(e,t){let n=!1,r=!0;const i={delta:0,timestamp:0,isProcessing:!1},s=()=>n=!0,l=og.reduce((L,z)=>(L[z]=LM(s),L),{}),{setup:c,read:d,resolveKeyframes:h,preUpdate:m,update:g,preRender:b,render:x,postRender:k}=l,P=()=>{const L=fs.useManualTiming?i.timestamp:performance.now();n=!1,fs.useManualTiming||(i.delta=r?1e3/60:Math.max(Math.min(L-i.timestamp,MM),1)),i.timestamp=L,i.isProcessing=!0,c.process(i),d.process(i),h.process(i),m.process(i),g.process(i),b.process(i),x.process(i),k.process(i),i.isProcessing=!1,n&&t&&(r=!1,e(P))},_=()=>{n=!0,r=!0,i.isProcessing||e(P)};return{schedule:og.reduce((L,z)=>{const K=l[z];return L[z]=(M,J=!1,re=!1)=>(n||_(),K.schedule(M,J,re)),L},{}),cancel:L=>{for(let z=0;z(Cg===void 0&&oi.set(lr.isProcessing||fs.useManualTiming?lr.timestamp:performance.now()),Cg),set:e=>{Cg=e,queueMicrotask(DM)}},nP=e=>t=>typeof t=="string"&&t.startsWith(e),bx=nP("--"),NM=nP("var(--"),xx=e=>NM(e)?FM.test(e.split("/*")[0].trim()):!1,FM=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,Af={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},qp={...Af,transform:e=>Js(0,1,e)},sg={...Af,default:1},Rp=e=>Math.round(e*1e5)/1e5,wx=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function OM(e){return e==null}const zM=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,Sx=(e,t)=>n=>!!(typeof n=="string"&&zM.test(n)&&n.startsWith(e)||t&&!OM(n)&&Object.prototype.hasOwnProperty.call(n,t)),rP=(e,t,n)=>r=>{if(typeof r!="string")return r;const[i,s,l,c]=r.match(wx);return{[e]:parseFloat(i),[t]:parseFloat(s),[n]:parseFloat(l),alpha:c!==void 0?parseFloat(c):1}},jM=e=>Js(0,255,e),Wy={...Af,transform:e=>Math.round(jM(e))},fu={test:Sx("rgb","red"),parse:rP("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+Wy.transform(e)+", "+Wy.transform(t)+", "+Wy.transform(n)+", "+Rp(qp.transform(r))+")"};function BM(e){let t="",n="",r="",i="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}const W0={test:Sx("#"),parse:BM,transform:fu.transform},gh=e=>({test:t=>typeof t=="string"&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),Hl=gh("deg"),cs=gh("%"),et=gh("px"),VM=gh("vh"),UM=gh("vw"),S1={...cs,parse:e=>cs.parse(e)/100,transform:e=>cs.transform(e*100)},rf={test:Sx("hsl","hue"),parse:rP("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+cs.transform(Rp(t))+", "+cs.transform(Rp(n))+", "+Rp(qp.transform(r))+")"},_n={test:e=>fu.test(e)||W0.test(e)||rf.test(e),parse:e=>fu.test(e)?fu.parse(e):rf.test(e)?rf.parse(e):W0.parse(e),transform:e=>typeof e=="string"?e:e.hasOwnProperty("red")?fu.transform(e):rf.transform(e),getAnimatableNone:e=>{const t=_n.parse(e);return t.alpha=0,_n.transform(t)}},KM=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function WM(e){return isNaN(e)&&typeof e=="string"&&(e.match(wx)?.length||0)+(e.match(KM)?.length||0)>0}const iP="number",oP="color",HM="var",GM="var(",k1="${}",qM=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function Yp(e){const t=e.toString(),n=[],r={color:[],number:[],var:[]},i=[];let s=0;const c=t.replace(qM,d=>(_n.test(d)?(r.color.push(s),i.push(oP),n.push(_n.parse(d))):d.startsWith(GM)?(r.var.push(s),i.push(HM),n.push(d)):(r.number.push(s),i.push(iP),n.push(parseFloat(d))),++s,k1)).split(k1);return{values:n,split:c,indexes:r,types:i}}function sP(e){return Yp(e).values}function lP(e){const{split:t,types:n}=Yp(e),r=t.length;return i=>{let s="";for(let l=0;ltypeof e=="number"?0:_n.test(e)?_n.getAnimatableNone(e):e;function XM(e){const t=sP(e);return lP(e)(t.map(YM))}const Zl={test:WM,parse:sP,createTransformer:lP,getAnimatableNone:XM};function Hy(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function QM({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,s=0,l=0;if(!t)i=s=l=n;else{const c=n<.5?n*(1+t):n+t-n*t,d=2*n-c;i=Hy(d,c,e+1/3),s=Hy(d,c,e),l=Hy(d,c,e-1/3)}return{red:Math.round(i*255),green:Math.round(s*255),blue:Math.round(l*255),alpha:r}}function Og(e,t){return n=>n>0?t:e}const ln=(e,t,n)=>e+(t-e)*n,Gy=(e,t,n)=>{const r=e*e,i=n*(t*t-r)+r;return i<0?0:Math.sqrt(i)},JM=[W0,fu,rf],ZM=e=>JM.find(t=>t.test(e));function C1(e){const t=ZM(e);if(!t)return!1;let n=t.parse(e);return t===rf&&(n=QM(n)),n}const E1=(e,t)=>{const n=C1(e),r=C1(t);if(!n||!r)return Og(e,t);const i={...n};return s=>(i.red=Gy(n.red,r.red,s),i.green=Gy(n.green,r.green,s),i.blue=Gy(n.blue,r.blue,s),i.alpha=ln(n.alpha,r.alpha,s),fu.transform(i))},H0=new Set(["none","hidden"]);function eD(e,t){return H0.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function tD(e,t){return n=>ln(e,t,n)}function kx(e){return typeof e=="number"?tD:typeof e=="string"?xx(e)?Og:_n.test(e)?E1:iD:Array.isArray(e)?aP:typeof e=="object"?_n.test(e)?E1:nD:Og}function aP(e,t){const n=[...e],r=n.length,i=e.map((s,l)=>kx(s)(s,t[l]));return s=>{for(let l=0;l{for(const s in r)n[s]=r[s](i);return n}}function rD(e,t){const n=[],r={color:0,var:0,number:0};for(let i=0;i{const n=Zl.createTransformer(t),r=Yp(e),i=Yp(t);return r.indexes.var.length===i.indexes.var.length&&r.indexes.color.length===i.indexes.color.length&&r.indexes.number.length>=i.indexes.number.length?H0.has(e)&&!i.values.length||H0.has(t)&&!r.values.length?eD(e,t):hh(aP(rD(r,i),i.values),n):Og(e,t)};function uP(e,t,n){return typeof e=="number"&&typeof t=="number"&&typeof n=="number"?ln(e,t,n):kx(e)(e,t)}const oD=e=>{const t=({timestamp:n})=>e(n);return{start:(n=!0)=>Xt.update(t,n),stop:()=>Jl(t),now:()=>lr.isProcessing?lr.timestamp:oi.now()}},cP=(e,t,n=10)=>{let r="";const i=Math.max(Math.round(t/n),2);for(let s=0;s=zg?1/0:t}function sD(e,t=100,n){const r=n({...e,keyframes:[0,t]}),i=Math.min(Cx(r),zg);return{type:"keyframes",ease:s=>r.next(i*s).value/t,duration:us(i)}}const lD=5;function fP(e,t,n){const r=Math.max(t-lD,0);return KE(n-e(r),t-r)}const pn={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1},qy=.001;function aD({duration:e=pn.duration,bounce:t=pn.bounce,velocity:n=pn.velocity,mass:r=pn.mass}){let i,s,l=1-t;l=Js(pn.minDamping,pn.maxDamping,l),e=Js(pn.minDuration,pn.maxDuration,us(e)),l<1?(i=h=>{const m=h*l,g=m*e,b=m-n,x=G0(h,l),k=Math.exp(-g);return qy-b/x*k},s=h=>{const g=h*l*e,b=g*n+n,x=Math.pow(l,2)*Math.pow(h,2)*e,k=Math.exp(-g),P=G0(Math.pow(h,2),l);return(-i(h)+qy>0?-1:1)*((b-x)*k)/P}):(i=h=>{const m=Math.exp(-h*e),g=(h-n)*e+1;return-qy+m*g},s=h=>{const m=Math.exp(-h*e),g=(n-h)*(e*e);return m*g});const c=5/e,d=cD(i,s,c);if(e=as(e),isNaN(d))return{stiffness:pn.stiffness,damping:pn.damping,duration:e};{const h=Math.pow(d,2)*r;return{stiffness:h,damping:l*2*Math.sqrt(r*h),duration:e}}}const uD=12;function cD(e,t,n){let r=n;for(let i=1;ie[n]!==void 0)}function pD(e){let t={velocity:pn.velocity,stiffness:pn.stiffness,damping:pn.damping,mass:pn.mass,isResolvedFromDuration:!1,...e};if(!P1(e,dD)&&P1(e,fD))if(e.visualDuration){const n=e.visualDuration,r=2*Math.PI/(n*1.2),i=r*r,s=2*Js(.05,1,1-(e.bounce||0))*Math.sqrt(i);t={...t,mass:pn.mass,stiffness:i,damping:s}}else{const n=aD(e);t={...t,...n,mass:pn.mass},t.isResolvedFromDuration=!0}return t}function jg(e=pn.visualDuration,t=pn.bounce){const n=typeof e!="object"?{visualDuration:e,keyframes:[0,1],bounce:t}:e;let{restSpeed:r,restDelta:i}=n;const s=n.keyframes[0],l=n.keyframes[n.keyframes.length-1],c={done:!1,value:s},{stiffness:d,damping:h,mass:m,duration:g,velocity:b,isResolvedFromDuration:x}=pD({...n,velocity:-us(n.velocity||0)}),k=b||0,P=h/(2*Math.sqrt(d*m)),_=l-s,T=us(Math.sqrt(d/m)),A=Math.abs(_)<5;r||(r=A?pn.restSpeed.granular:pn.restSpeed.default),i||(i=A?pn.restDelta.granular:pn.restDelta.default);let L;if(P<1){const K=G0(T,P);L=M=>{const J=Math.exp(-P*T*M);return l-J*((k+P*T*_)/K*Math.sin(K*M)+_*Math.cos(K*M))}}else if(P===1)L=K=>l-Math.exp(-T*K)*(_+(k+T*_)*K);else{const K=T*Math.sqrt(P*P-1);L=M=>{const J=Math.exp(-P*T*M),re=Math.min(K*M,300);return l-J*((k+P*T*_)*Math.sinh(re)+K*_*Math.cosh(re))/K}}const z={calculatedDuration:x&&g||null,next:K=>{const M=L(K);if(x)c.done=K>=g;else{let J=K===0?k:0;P<1&&(J=K===0?as(k):fP(L,K,M));const re=Math.abs(J)<=r,ae=Math.abs(l-M)<=i;c.done=re&&ae}return c.value=c.done?l:M,c},toString:()=>{const K=Math.min(Cx(z),zg),M=cP(J=>z.next(K*J).value,K,30);return K+"ms "+M},toTransition:()=>{}};return z}jg.applyToOptions=e=>{const t=sD(e,100,jg);return e.ease=t.ease,e.duration=as(t.duration),e.type="keyframes",e};function q0({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:s=500,modifyTarget:l,min:c,max:d,restDelta:h=.5,restSpeed:m}){const g=e[0],b={done:!1,value:g},x=re=>c!==void 0&&red,k=re=>c===void 0?d:d===void 0||Math.abs(c-re)-P*Math.exp(-re/r),L=re=>T+A(re),z=re=>{const ae=A(re),j=L(re);b.done=Math.abs(ae)<=h,b.value=b.done?T:j};let K,M;const J=re=>{x(b.value)&&(K=re,M=jg({keyframes:[b.value,k(b.value)],velocity:fP(L,re,b.value),damping:i,stiffness:s,restDelta:h,restSpeed:m}))};return J(0),{calculatedDuration:null,next:re=>{let ae=!1;return!M&&K===void 0&&(ae=!0,z(re),J(re)),K!==void 0&&re>=K?M.next(re-K):(!ae&&z(re),b)}}}function hD(e,t,n){const r=[],i=n||fs.mix||uP,s=e.length-1;for(let l=0;lt[0];if(s===2&&t[0]===t[1])return()=>t[1];const l=e[0]===e[1];e[0]>e[s-1]&&(e=[...e].reverse(),t=[...t].reverse());const c=hD(t,r,i),d=c.length,h=m=>{if(l&&m1)for(;gh(Js(e[0],e[s-1],m)):h}function gD(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const i=Gp(0,t,r);e.push(ln(n,1,i))}}function vD(e){const t=[0];return gD(t,e.length-1),t}function yD(e,t){return e.map(n=>n*t)}function bD(e,t){return e.map(()=>t||ZE).splice(0,e.length-1)}function Lp({duration:e=300,keyframes:t,times:n,ease:r="easeInOut"}){const i=IM(r)?r.map(w1):w1(r),s={done:!1,value:t[0]},l=yD(n&&n.length===t.length?n:vD(t),e),c=mD(l,t,{ease:Array.isArray(i)?i:bD(t,i)});return{calculatedDuration:e,next:d=>(s.value=c(d),s.done=d>=e,s)}}const xD=e=>e!==null;function Ex(e,{repeat:t,repeatType:n="loop"},r,i=1){const s=e.filter(xD),c=i<0||t&&n!=="loop"&&t%2===1?0:s.length-1;return!c||r===void 0?s[c]:r}const wD={decay:q0,inertia:q0,tween:Lp,keyframes:Lp,spring:jg};function dP(e){typeof e.type=="string"&&(e.type=wD[e.type])}class Px{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(t=>{this.resolve=t})}notifyFinished(){this.resolve()}then(t,n){return this.finished.then(t,n)}}const SD=e=>e/100;class Tx extends Px{constructor(t){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.stop=()=>{const{motionValue:n}=this.options;n&&n.updatedAt!==oi.now()&&this.tick(oi.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),this.options.onStop?.())},this.options=t,this.initAnimation(),this.play(),t.autoplay===!1&&this.pause()}initAnimation(){const{options:t}=this;dP(t);const{type:n=Lp,repeat:r=0,repeatDelay:i=0,repeatType:s,velocity:l=0}=t;let{keyframes:c}=t;const d=n||Lp;d!==Lp&&typeof c[0]!="number"&&(this.mixKeyframes=hh(SD,uP(c[0],c[1])),c=[0,100]);const h=d({...t,keyframes:c});s==="mirror"&&(this.mirroredGenerator=d({...t,keyframes:[...c].reverse(),velocity:-l})),h.calculatedDuration===null&&(h.calculatedDuration=Cx(h));const{calculatedDuration:m}=h;this.calculatedDuration=m,this.resolvedDuration=m+i,this.totalDuration=this.resolvedDuration*(r+1)-i,this.generator=h}updateTime(t){const n=Math.round(t-this.startTime)*this.playbackSpeed;this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=n}tick(t,n=!1){const{generator:r,totalDuration:i,mixKeyframes:s,mirroredGenerator:l,resolvedDuration:c,calculatedDuration:d}=this;if(this.startTime===null)return r.next(0);const{delay:h=0,keyframes:m,repeat:g,repeatType:b,repeatDelay:x,type:k,onUpdate:P,finalKeyframe:_}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-i/this.speed,this.startTime)),n?this.currentTime=t:this.updateTime(t);const T=this.currentTime-h*(this.playbackSpeed>=0?1:-1),A=this.playbackSpeed>=0?T<0:T>i;this.currentTime=Math.max(T,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=i);let L=this.currentTime,z=r;if(g){const re=Math.min(this.currentTime,i)/c;let ae=Math.floor(re),j=re%1;!j&&re>=1&&(j=1),j===1&&ae--,ae=Math.min(ae,g+1),ae%2&&(b==="reverse"?(j=1-j,x&&(j-=x/c)):b==="mirror"&&(z=l)),L=Js(0,1,j)*c}const K=A?{done:!1,value:m[0]}:z.next(L);s&&(K.value=s(K.value));let{done:M}=K;!A&&d!==null&&(M=this.playbackSpeed>=0?this.currentTime>=i:this.currentTime<=0);const J=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&M);return J&&k!==q0&&(K.value=Ex(m,this.options,_,this.speed)),P&&P(K.value),J&&this.finish(),K}then(t,n){return this.finished.then(t,n)}get duration(){return us(this.calculatedDuration)}get time(){return us(this.currentTime)}set time(t){t=as(t),this.currentTime=t,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=t:this.driver&&(this.startTime=this.driver.now()-t/this.playbackSpeed),this.driver?.start(!1)}get speed(){return this.playbackSpeed}set speed(t){this.updateTime(oi.now());const n=this.playbackSpeed!==t;this.playbackSpeed=t,n&&(this.time=us(this.currentTime))}play(){if(this.isStopped)return;const{driver:t=oD,startTime:n}=this.options;this.driver||(this.driver=t(i=>this.tick(i))),this.options.onPlay?.();const r=this.driver.now();this.state==="finished"?(this.updateFinished(),this.startTime=r):this.holdTime!==null?this.startTime=r-this.holdTime:this.startTime||(this.startTime=n??r),this.state==="finished"&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(oi.now()),this.holdTime=this.currentTime}complete(){this.state!=="running"&&this.play(),this.state="finished",this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state="finished",this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(t){return this.startTime=0,this.tick(t,!0)}attachTimeline(t){return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),this.driver?.stop(),t.observe(this)}}function kD(e){for(let t=1;te*180/Math.PI,Y0=e=>{const t=du(Math.atan2(e[1],e[0]));return X0(t)},CD={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:Y0,rotateZ:Y0,skewX:e=>du(Math.atan(e[1])),skewY:e=>du(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},X0=e=>(e=e%360,e<0&&(e+=360),e),T1=Y0,_1=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),$1=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),ED={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:_1,scaleY:$1,scale:e=>(_1(e)+$1(e))/2,rotateX:e=>X0(du(Math.atan2(e[6],e[5]))),rotateY:e=>X0(du(Math.atan2(-e[2],e[0]))),rotateZ:T1,rotate:T1,skewX:e=>du(Math.atan(e[4])),skewY:e=>du(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function Q0(e){return e.includes("scale")?1:0}function J0(e,t){if(!e||e==="none")return Q0(t);const n=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let r,i;if(n)r=ED,i=n;else{const c=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);r=CD,i=c}if(!i)return Q0(t);const s=r[t],l=i[1].split(",").map(TD);return typeof s=="function"?s(l):l[s]}const PD=(e,t)=>{const{transform:n="none"}=getComputedStyle(e);return J0(n,t)};function TD(e){return parseFloat(e.trim())}const Rf=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Cu=new Set(Rf),I1=e=>e===Af||e===et,_D=new Set(["x","y","z"]),$D=Rf.filter(e=>!_D.has(e));function ID(e){const t=[];return $D.forEach(n=>{const r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))}),t}const mu={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:(e,{transform:t})=>J0(t,"x"),y:(e,{transform:t})=>J0(t,"y")};mu.translateX=mu.x;mu.translateY=mu.y;const gu=new Set;let Z0=!1,eb=!1,tb=!1;function pP(){if(eb){const e=Array.from(gu).filter(r=>r.needsMeasurement),t=new Set(e.map(r=>r.element)),n=new Map;t.forEach(r=>{const i=ID(r);i.length&&(n.set(r,i),r.render())}),e.forEach(r=>r.measureInitialState()),t.forEach(r=>{r.render();const i=n.get(r);i&&i.forEach(([s,l])=>{r.getValue(s)?.set(l)})}),e.forEach(r=>r.measureEndState()),e.forEach(r=>{r.suspendedScrollY!==void 0&&window.scrollTo(0,r.suspendedScrollY)})}eb=!1,Z0=!1,gu.forEach(e=>e.complete(tb)),gu.clear()}function hP(){gu.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(eb=!0)})}function AD(){tb=!0,hP(),pP(),tb=!1}class _x{constructor(t,n,r,i,s,l=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...t],this.onComplete=n,this.name=r,this.motionValue=i,this.element=s,this.isAsync=l}scheduleResolve(){this.state="scheduled",this.isAsync?(gu.add(this),Z0||(Z0=!0,Xt.read(hP),Xt.resolveKeyframes(pP))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:n,element:r,motionValue:i}=this;if(t[0]===null){const s=i?.get(),l=t[t.length-1];if(s!==void 0)t[0]=s;else if(r&&n){const c=r.readValue(n,l);c!=null&&(t[0]=c)}t[0]===void 0&&(t[0]=l),i&&s===void 0&&i.set(t[0])}kD(t)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(t=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,t),gu.delete(this)}cancel(){this.state==="scheduled"&&(gu.delete(this),this.state="pending")}resume(){this.state==="pending"&&this.scheduleResolve()}}const RD=e=>e.startsWith("--");function LD(e,t,n){RD(t)?e.style.setProperty(t,n):e.style[t]=n}const MD=mx(()=>window.ScrollTimeline!==void 0),DD={};function ND(e,t){const n=mx(e);return()=>DD[t]??n()}const mP=ND(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),Tp=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,A1={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:Tp([0,.65,.55,1]),circOut:Tp([.55,0,1,.45]),backIn:Tp([.31,.01,.66,-.59]),backOut:Tp([.33,1.53,.69,.99])};function gP(e,t){if(e)return typeof e=="function"?mP()?cP(e,t):"ease-out":eP(e)?Tp(e):Array.isArray(e)?e.map(n=>gP(n,t)||A1.easeOut):A1[e]}function FD(e,t,n,{delay:r=0,duration:i=300,repeat:s=0,repeatType:l="loop",ease:c="easeOut",times:d}={},h=void 0){const m={[t]:n};d&&(m.offset=d);const g=gP(c,i);Array.isArray(g)&&(m.easing=g);const b={delay:r,duration:i,easing:Array.isArray(g)?"linear":g,fill:"both",iterations:s+1,direction:l==="reverse"?"alternate":"normal"};return h&&(b.pseudoElement=h),e.animate(m,b)}function vP(e){return typeof e=="function"&&"applyToOptions"in e}function OD({type:e,...t}){return vP(e)&&mP()?e.applyToOptions(t):(t.duration??(t.duration=300),t.ease??(t.ease="easeOut"),t)}class zD extends Px{constructor(t){if(super(),this.finishedTime=null,this.isStopped=!1,!t)return;const{element:n,name:r,keyframes:i,pseudoElement:s,allowFlatten:l=!1,finalKeyframe:c,onComplete:d}=t;this.isPseudoElement=!!s,this.allowFlatten=l,this.options=t,hx(typeof t.type!="string");const h=OD(t);this.animation=FD(n,r,i,h,s),h.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!s){const m=Ex(i,this.options,c,this.speed);this.updateMotionValue?this.updateMotionValue(m):LD(n,r,m),this.animation.cancel()}d?.(),this.notifyFinished()}}play(){this.isStopped||(this.animation.play(),this.state==="finished"&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;const{state:t}=this;t==="idle"||t==="finished"||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){this.isPseudoElement||this.animation.commitStyles?.()}get duration(){const t=this.animation.effect?.getComputedTiming?.().duration||0;return us(Number(t))}get time(){return us(Number(this.animation.currentTime)||0)}set time(t){this.finishedTime=null,this.animation.currentTime=as(t)}get speed(){return this.animation.playbackRate}set speed(t){t<0&&(this.finishedTime=null),this.animation.playbackRate=t}get state(){return this.finishedTime!==null?"finished":this.animation.playState}get startTime(){return Number(this.animation.startTime)}set startTime(t){this.animation.startTime=t}attachTimeline({timeline:t,observe:n}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:"linear"}),this.animation.onfinish=null,t&&MD()?(this.animation.timeline=t,eo):n(this)}}const yP={anticipate:XE,backInOut:YE,circInOut:JE};function jD(e){return e in yP}function BD(e){typeof e.ease=="string"&&jD(e.ease)&&(e.ease=yP[e.ease])}const R1=10;class VD extends zD{constructor(t){BD(t),dP(t),super(t),t.startTime&&(this.startTime=t.startTime),this.options=t}updateMotionValue(t){const{motionValue:n,onUpdate:r,onComplete:i,element:s,...l}=this.options;if(!n)return;if(t!==void 0){n.set(t);return}const c=new Tx({...l,autoplay:!1}),d=as(this.finishedTime??this.time);n.setWithVelocity(c.sample(d-R1).value,c.sample(d).value,R1),c.stop()}}const L1=(e,t)=>t==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(Zl.test(e)||e==="0")&&!e.startsWith("url("));function UD(e){const t=e[0];if(e.length===1)return!0;for(let n=0;nObject.hasOwnProperty.call(Element.prototype,"animate"));function GD(e){const{motionValue:t,name:n,repeatDelay:r,repeatType:i,damping:s,type:l}=e;if(!(t?.owner?.current instanceof HTMLElement))return!1;const{onUpdate:d,transformTemplate:h}=t.owner.getProps();return HD()&&n&&WD.has(n)&&(n!=="transform"||!h)&&!d&&!r&&i!=="mirror"&&s!==0&&l!=="inertia"}const qD=40;class YD extends Px{constructor({autoplay:t=!0,delay:n=0,type:r="keyframes",repeat:i=0,repeatDelay:s=0,repeatType:l="loop",keyframes:c,name:d,motionValue:h,element:m,...g}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=oi.now();const b={autoplay:t,delay:n,type:r,repeat:i,repeatDelay:s,repeatType:l,name:d,motionValue:h,element:m,...g},x=m?.KeyframeResolver||_x;this.keyframeResolver=new x(c,(k,P,_)=>this.onKeyframesResolved(k,P,b,!_),d,h,m),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(t,n,r,i){this.keyframeResolver=void 0;const{name:s,type:l,velocity:c,delay:d,isHandoff:h,onUpdate:m}=r;this.resolvedAt=oi.now(),KD(t,s,l,c)||((fs.instantAnimations||!d)&&m?.(Ex(t,r,n)),t[0]=t[t.length-1],r.duration=0,r.repeat=0);const b={startTime:i?this.resolvedAt?this.resolvedAt-this.createdAt>qD?this.resolvedAt:this.createdAt:this.createdAt:void 0,finalKeyframe:n,...r,keyframes:t},x=!h&&GD(b)?new VD({...b,element:b.motionValue.owner.current}):new Tx(b);x.finished.then(()=>this.notifyFinished()).catch(eo),this.pendingTimeline&&(this.stopTimeline=x.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=x}get finished(){return this._animation?this.animation.finished:this._finished}then(t,n){return this.finished.finally(t).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),AD()),this._animation}get duration(){return this.animation.duration}get time(){return this.animation.time}set time(t){this.animation.time=t}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(t){this.animation.speed=t}get startTime(){return this.animation.startTime}attachTimeline(t){return this._animation?this.stopTimeline=this.animation.attachTimeline(t):this.pendingTimeline=t,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}}const XD=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function QD(e){const t=XD.exec(e);if(!t)return[,];const[,n,r,i]=t;return[`--${n??r}`,i]}function bP(e,t,n=1){const[r,i]=QD(e);if(!r)return;const s=window.getComputedStyle(t).getPropertyValue(r);if(s){const l=s.trim();return BE(l)?parseFloat(l):l}return xx(i)?bP(i,t,n+1):i}function $x(e,t){return e?.[t]??e?.default??e}const xP=new Set(["width","height","top","left","right","bottom",...Rf]),JD={test:e=>e==="auto",parse:e=>e},wP=e=>t=>t.test(e),SP=[Af,et,cs,Hl,UM,VM,JD],M1=e=>SP.find(wP(e));function ZD(e){return typeof e=="number"?e===0:e!==null?e==="none"||e==="0"||UE(e):!0}const e3=new Set(["brightness","contrast","saturate","opacity"]);function t3(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(wx)||[];if(!r)return e;const i=n.replace(r,"");let s=e3.has(t)?1:0;return r!==n&&(s*=100),t+"("+s+i+")"}const n3=/\b([a-z-]*)\(.*?\)/gu,nb={...Zl,getAnimatableNone:e=>{const t=e.match(n3);return t?t.map(t3).join(" "):e}},D1={...Af,transform:Math.round},r3={rotate:Hl,rotateX:Hl,rotateY:Hl,rotateZ:Hl,scale:sg,scaleX:sg,scaleY:sg,scaleZ:sg,skew:Hl,skewX:Hl,skewY:Hl,distance:et,translateX:et,translateY:et,translateZ:et,x:et,y:et,z:et,perspective:et,transformPerspective:et,opacity:qp,originX:S1,originY:S1,originZ:et},Ix={borderWidth:et,borderTopWidth:et,borderRightWidth:et,borderBottomWidth:et,borderLeftWidth:et,borderRadius:et,radius:et,borderTopLeftRadius:et,borderTopRightRadius:et,borderBottomRightRadius:et,borderBottomLeftRadius:et,width:et,maxWidth:et,height:et,maxHeight:et,top:et,right:et,bottom:et,left:et,padding:et,paddingTop:et,paddingRight:et,paddingBottom:et,paddingLeft:et,margin:et,marginTop:et,marginRight:et,marginBottom:et,marginLeft:et,backgroundPositionX:et,backgroundPositionY:et,...r3,zIndex:D1,fillOpacity:qp,strokeOpacity:qp,numOctaves:D1},i3={...Ix,color:_n,backgroundColor:_n,outlineColor:_n,fill:_n,stroke:_n,borderColor:_n,borderTopColor:_n,borderRightColor:_n,borderBottomColor:_n,borderLeftColor:_n,filter:nb,WebkitFilter:nb},kP=e=>i3[e];function CP(e,t){let n=kP(e);return n!==nb&&(n=Zl),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const o3=new Set(["auto","none","0"]);function s3(e,t,n){let r=0,i;for(;r{t.getValue(c).set(d)}),this.resolveNoneKeyframes()}}const a3=new Set(["opacity","clipPath","filter","transform"]);function u3(e,t,n){if(e instanceof EventTarget)return[e];if(typeof e=="string"){let r=document;const i=n?.[e]??r.querySelectorAll(e);return i?Array.from(i):[]}return Array.from(e)}const EP=(e,t)=>t&&typeof e=="number"?t.transform(e):e;function PP(e){return VE(e)&&"offsetHeight"in e}const N1=30,c3=e=>!isNaN(parseFloat(e));class TP{constructor(t,n={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=(r,i=!0)=>{const s=oi.now();if(this.updatedAt!==s&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(r),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(const l of this.dependents)l.dirty();i&&this.events.renderRequest?.notify(this.current)},this.hasAnimated=!1,this.setCurrent(t),this.owner=n.owner}setCurrent(t){this.current=t,this.updatedAt=oi.now(),this.canTrackVelocity===null&&t!==void 0&&(this.canTrackVelocity=c3(this.current))}setPrevFrameValue(t=this.current){this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new gx);const r=this.events[t].add(n);return t==="change"?()=>{r(),Xt.read(()=>{this.events.change.getSize()||this.stop()})}:r}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t,n=!0){!n||!this.passiveEffect?this.updateAndNotify(t,n):this.passiveEffect(t,this.updateAndNotify)}setWithVelocity(t,n,r){this.set(n),this.prev=void 0,this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt-r}jump(t,n=!0){this.updateAndNotify(t),this.prev=t,this.prevUpdatedAt=this.prevFrameValue=void 0,n&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(t){this.dependents||(this.dependents=new Set),this.dependents.add(t)}removeDependent(t){this.dependents&&this.dependents.delete(t)}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const t=oi.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||t-this.updatedAt>N1)return 0;const n=Math.min(this.updatedAt-this.prevUpdatedAt,N1);return KE(parseFloat(this.current)-parseFloat(this.prevFrameValue),n)}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function xf(e,t){return new TP(e,t)}const{schedule:Ax}=tP(queueMicrotask,!1),ko={x:!1,y:!1};function _P(){return ko.x||ko.y}function f3(e){return e==="x"||e==="y"?ko[e]?null:(ko[e]=!0,()=>{ko[e]=!1}):ko.x||ko.y?null:(ko.x=ko.y=!0,()=>{ko.x=ko.y=!1})}function $P(e,t){const n=u3(e),r=new AbortController,i={passive:!0,...t,signal:r.signal};return[n,i,()=>r.abort()]}function F1(e){return!(e.pointerType==="touch"||_P())}function d3(e,t,n={}){const[r,i,s]=$P(e,n),l=c=>{if(!F1(c))return;const{target:d}=c,h=t(d,c);if(typeof h!="function"||!d)return;const m=g=>{F1(g)&&(h(g),d.removeEventListener("pointerleave",m))};d.addEventListener("pointerleave",m,i)};return r.forEach(c=>{c.addEventListener("pointerenter",l,i)}),s}const IP=(e,t)=>t?e===t?!0:IP(e,t.parentElement):!1,Rx=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1,p3=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function h3(e){return p3.has(e.tagName)||e.tabIndex!==-1}const Eg=new WeakSet;function O1(e){return t=>{t.key==="Enter"&&e(t)}}function Yy(e,t){e.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}const m3=(e,t)=>{const n=e.currentTarget;if(!n)return;const r=O1(()=>{if(Eg.has(n))return;Yy(n,"down");const i=O1(()=>{Yy(n,"up")}),s=()=>Yy(n,"cancel");n.addEventListener("keyup",i,t),n.addEventListener("blur",s,t)});n.addEventListener("keydown",r,t),n.addEventListener("blur",()=>n.removeEventListener("keydown",r),t)};function z1(e){return Rx(e)&&!_P()}function g3(e,t,n={}){const[r,i,s]=$P(e,n),l=c=>{const d=c.currentTarget;if(!z1(c))return;Eg.add(d);const h=t(d,c),m=(x,k)=>{window.removeEventListener("pointerup",g),window.removeEventListener("pointercancel",b),Eg.has(d)&&Eg.delete(d),z1(x)&&typeof h=="function"&&h(x,{success:k})},g=x=>{m(x,d===window||d===document||n.useGlobalTarget||IP(d,x.target))},b=x=>{m(x,!1)};window.addEventListener("pointerup",g,i),window.addEventListener("pointercancel",b,i)};return r.forEach(c=>{(n.useGlobalTarget?window:c).addEventListener("pointerdown",l,i),PP(c)&&(c.addEventListener("focus",h=>m3(h,i)),!h3(c)&&!c.hasAttribute("tabindex")&&(c.tabIndex=0))}),s}function AP(e){return VE(e)&&"ownerSVGElement"in e}function v3(e){return AP(e)&&e.tagName==="svg"}const br=e=>!!(e&&e.getVelocity),y3=[...SP,_n,Zl],b3=e=>y3.find(wP(e)),Xp=S.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"});class x3 extends S.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const r=n.offsetParent,i=PP(r)&&r.offsetWidth||0,s=this.props.sizeRef.current;s.height=n.offsetHeight||0,s.width=n.offsetWidth||0,s.top=n.offsetTop,s.left=n.offsetLeft,s.right=i-s.width-s.left}return null}componentDidUpdate(){}render(){return this.props.children}}function w3({children:e,isPresent:t,anchorX:n,root:r}){const i=S.useId(),s=S.useRef(null),l=S.useRef({width:0,height:0,top:0,left:0,right:0}),{nonce:c}=S.useContext(Xp);return S.useInsertionEffect(()=>{const{width:d,height:h,top:m,left:g,right:b}=l.current;if(t||!s.current||!d||!h)return;const x=n==="left"?`left: ${g}`:`right: ${b}`;s.current.dataset.motionPopId=i;const k=document.createElement("style");c&&(k.nonce=c);const P=r??document.head;return P.appendChild(k),k.sheet&&k.sheet.insertRule(` - [data-motion-pop-id="${i}"] { - position: absolute !important; - width: ${d}px !important; - height: ${h}px !important; - ${x}px !important; - top: ${m}px !important; - } - `),()=>{P.removeChild(k),P.contains(k)&&P.removeChild(k)}},[t]),N.jsx(x3,{isPresent:t,childRef:s,sizeRef:l,children:S.cloneElement(e,{ref:s})})}const S3=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:s,mode:l,anchorX:c,root:d})=>{const h=ph(k3),m=S.useId();let g=!0,b=S.useMemo(()=>(g=!1,{id:m,initial:t,isPresent:n,custom:i,onExitComplete:x=>{h.set(x,!0);for(const k of h.values())if(!k)return;r&&r()},register:x=>(h.set(x,!1),()=>h.delete(x))}),[n,h,r]);return s&&g&&(b={...b}),S.useMemo(()=>{h.forEach((x,k)=>h.set(k,!1))},[n]),S.useEffect(()=>{!n&&!h.size&&r&&r()},[n]),l==="popLayout"&&(e=N.jsx(w3,{isPresent:n,anchorX:c,root:d,children:e})),N.jsx(fv.Provider,{value:b,children:e})};function k3(){return new Map}function RP(e=!0){const t=S.useContext(fv);if(t===null)return[!0,null];const{isPresent:n,onExitComplete:r,register:i}=t,s=S.useId();S.useEffect(()=>{if(e)return i(s)},[e]);const l=S.useCallback(()=>e&&r&&r(s),[s,r,e]);return!n&&r?[!1,l]:[!0]}const lg=e=>e.key||"";function j1(e){const t=[];return S.Children.forEach(e,n=>{S.isValidElement(n)&&t.push(n)}),t}const Lf=({children:e,custom:t,initial:n=!0,onExitComplete:r,presenceAffectsLayout:i=!0,mode:s="sync",propagate:l=!1,anchorX:c="left",root:d})=>{const[h,m]=RP(l),g=S.useMemo(()=>j1(e),[e]),b=l&&!h?[]:g.map(lg),x=S.useRef(!0),k=S.useRef(g),P=ph(()=>new Map),[_,T]=S.useState(g),[A,L]=S.useState(g);fx(()=>{x.current=!1,k.current=g;for(let M=0;M{const J=lg(M),re=l&&!h?!1:g===A||b.includes(J),ae=()=>{if(P.has(J))P.set(J,!0);else return;let j=!0;P.forEach(B=>{B||(j=!1)}),j&&(K?.(),L(k.current),l&&m?.(),r&&r())};return N.jsx(S3,{isPresent:re,initial:!x.current||n?void 0:!1,custom:t,presenceAffectsLayout:i,mode:s,root:d,onExitComplete:re?void 0:ae,anchorX:c,children:M},J)})})},C3=S.createContext(null);function E3(){const e=S.useRef(!1);return fx(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function P3(){const e=E3(),[t,n]=S.useState(0),r=S.useCallback(()=>{e.current&&n(t+1)},[t]);return[S.useCallback(()=>Xt.postRender(r),[r]),t]}const T3=e=>!e.isLayoutDirty&&e.willUpdate(!1);function B1(){const e=new Set,t=new WeakMap,n=()=>e.forEach(T3);return{add:r=>{e.add(r),t.set(r,r.addEventListener("willUpdate",n))},remove:r=>{e.delete(r);const i=t.get(r);i&&(i(),t.delete(r)),n()},dirty:n}}const LP=e=>e===!0,_3=e=>LP(e===!0)||e==="id",$3=({children:e,id:t,inherit:n=!0})=>{const r=S.useContext(Hp),i=S.useContext(C3),[s,l]=P3(),c=S.useRef(null),d=r.id||i;c.current===null&&(_3(n)&&d&&(t=t?d+"-"+t:d),c.current={id:t,group:LP(n)&&r.group||B1()});const h=S.useMemo(()=>({...c.current,forceRender:s}),[l]);return N.jsx(Hp.Provider,{value:h,children:e})},Lx=S.createContext({strict:!1}),V1={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},wf={};for(const e in V1)wf[e]={isEnabled:t=>V1[e].some(n=>!!t[n])};function rb(e){for(const t in e)wf[t]={...wf[t],...e[t]}}function Sf({children:e,features:t,strict:n=!1}){const[,r]=S.useState(!Xy(t)),i=S.useRef(void 0);if(!Xy(t)){const{renderer:s,...l}=t;i.current=s,rb(l)}return S.useEffect(()=>{Xy(t)&&t().then(({renderer:s,...l})=>{rb(l),i.current=s,r(!0)})},[]),N.jsx(Lx.Provider,{value:{renderer:i.current,strict:n},children:e})}function Xy(e){return typeof e=="function"}const I3=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","ignoreStrict","viewport"]);function Bg(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||I3.has(e)}let MP=e=>!Bg(e);function DP(e){typeof e=="function"&&(MP=t=>t.startsWith("on")?!Bg(t):e(t))}try{DP(require("@emotion/is-prop-valid").default)}catch{}function A3(e,t,n){const r={};for(const i in e)i==="values"&&typeof e.values=="object"||(MP(i)||n===!0&&Bg(i)||!t&&!Bg(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}function R3({children:e,isValidProp:t,...n}){t&&DP(t),n={...S.useContext(Xp),...n},n.isStatic=ph(()=>n.isStatic);const r=S.useMemo(()=>n,[JSON.stringify(n.transition),n.transformPagePoint,n.reducedMotion]);return N.jsx(Xp.Provider,{value:r,children:e})}const dv=S.createContext({});function pv(e){return e!==null&&typeof e=="object"&&typeof e.start=="function"}function Qp(e){return typeof e=="string"||Array.isArray(e)}const Mx=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],Dx=["initial",...Mx];function hv(e){return pv(e.animate)||Dx.some(t=>Qp(e[t]))}function NP(e){return!!(hv(e)||e.variants)}function L3(e,t){if(hv(e)){const{initial:n,animate:r}=e;return{initial:n===!1||Qp(n)?n:void 0,animate:Qp(r)?r:void 0}}return e.inherit!==!1?t:{}}function M3(e){const{initial:t,animate:n}=L3(e,S.useContext(dv));return S.useMemo(()=>({initial:t,animate:n}),[U1(t),U1(n)])}function U1(e){return Array.isArray(e)?e.join(" "):e}const Jp={};function D3(e){for(const t in e)Jp[t]=e[t],bx(t)&&(Jp[t].isCSSVariable=!0)}function FP(e,{layout:t,layoutId:n}){return Cu.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!Jp[e]||e==="opacity")}const N3={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},F3=Rf.length;function O3(e,t,n){let r="",i=!0;for(let s=0;s({style:{},transform:{},transformOrigin:{},vars:{}});function OP(e,t,n){for(const r in t)!br(t[r])&&!FP(r,n)&&(e[r]=t[r])}function z3({transformTemplate:e},t){return S.useMemo(()=>{const n=Fx();return Nx(n,t,e),Object.assign({},n.vars,n.style)},[t])}function j3(e,t){const n=e.style||{},r={};return OP(r,n,e),Object.assign(r,z3(e,t)),r}function B3(e,t){const n={},r=j3(e,t);return e.drag&&e.dragListener!==!1&&(n.draggable=!1,r.userSelect=r.WebkitUserSelect=r.WebkitTouchCallout="none",r.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(n.tabIndex=0),n.style=r,n}const V3={offset:"stroke-dashoffset",array:"stroke-dasharray"},U3={offset:"strokeDashoffset",array:"strokeDasharray"};function K3(e,t,n=1,r=0,i=!0){e.pathLength=1;const s=i?V3:U3;e[s.offset]=et.transform(-r);const l=et.transform(t),c=et.transform(n);e[s.array]=`${l} ${c}`}function zP(e,{attrX:t,attrY:n,attrScale:r,pathLength:i,pathSpacing:s=1,pathOffset:l=0,...c},d,h,m){if(Nx(e,c,h),d){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:g,style:b}=e;g.transform&&(b.transform=g.transform,delete g.transform),(b.transform||g.transformOrigin)&&(b.transformOrigin=g.transformOrigin??"50% 50%",delete g.transformOrigin),b.transform&&(b.transformBox=m?.transformBox??"fill-box",delete g.transformBox),t!==void 0&&(g.x=t),n!==void 0&&(g.y=n),r!==void 0&&(g.scale=r),i!==void 0&&K3(g,i,s,l,!1)}const jP=()=>({...Fx(),attrs:{}}),BP=e=>typeof e=="string"&&e.toLowerCase()==="svg";function W3(e,t,n,r){const i=S.useMemo(()=>{const s=jP();return zP(s,t,BP(r),e.transformTemplate,e.style),{...s.attrs,style:{...s.style}}},[t]);if(e.style){const s={};OP(s,e.style,e),i.style={...s,...i.style}}return i}const H3=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function Ox(e){return typeof e!="string"||e.includes("-")?!1:!!(H3.indexOf(e)>-1||/[A-Z]/u.test(e))}function G3(e,t,n,{latestValues:r},i,s=!1){const c=(Ox(e)?W3:B3)(t,r,i,e),d=A3(t,typeof e=="string",s),h=e!==S.Fragment?{...d,...c,ref:n}:{},{children:m}=t,g=S.useMemo(()=>br(m)?m.get():m,[m]);return S.createElement(e,{...h,children:g})}function K1(e){const t=[{},{}];return e?.values.forEach((n,r)=>{t[0][r]=n.get(),t[1][r]=n.getVelocity()}),t}function zx(e,t,n,r){if(typeof t=="function"){const[i,s]=K1(r);t=t(n!==void 0?n:e.custom,i,s)}if(typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"){const[i,s]=K1(r);t=t(n!==void 0?n:e.custom,i,s)}return t}function Pg(e){return br(e)?e.get():e}function q3({scrapeMotionValuesFromProps:e,createRenderState:t},n,r,i){return{latestValues:Y3(n,r,i,e),renderState:t()}}function Y3(e,t,n,r){const i={},s=r(e,{});for(const b in s)i[b]=Pg(s[b]);let{initial:l,animate:c}=e;const d=hv(e),h=NP(e);t&&h&&!d&&e.inherit!==!1&&(l===void 0&&(l=t.initial),c===void 0&&(c=t.animate));let m=n?n.initial===!1:!1;m=m||l===!1;const g=m?c:l;if(g&&typeof g!="boolean"&&!pv(g)){const b=Array.isArray(g)?g:[g];for(let x=0;x(t,n)=>{const r=S.useContext(dv),i=S.useContext(fv),s=()=>q3(e,t,r,i);return n?s():ph(s)};function jx(e,t,n){const{style:r}=e,i={};for(const s in r)(br(r[s])||t.style&&br(t.style[s])||FP(s,e)||n?.getValue(s)?.liveStyle!==void 0)&&(i[s]=r[s]);return i}const X3=VP({scrapeMotionValuesFromProps:jx,createRenderState:Fx});function UP(e,t,n){const r=jx(e,t,n);for(const i in e)if(br(e[i])||br(t[i])){const s=Rf.indexOf(i)!==-1?"attr"+i.charAt(0).toUpperCase()+i.substring(1):i;r[s]=e[i]}return r}const Q3=VP({scrapeMotionValuesFromProps:UP,createRenderState:jP}),J3=Symbol.for("motionComponentSymbol");function of(e){return e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function Z3(e,t,n){return S.useCallback(r=>{r&&e.onMount&&e.onMount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n=="function"?n(r):of(n)&&(n.current=r))},[t])}const Bx=e=>e.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),e4="framerAppearId",KP="data-"+Bx(e4),WP=S.createContext({});function t4(e,t,n,r,i){const{visualElement:s}=S.useContext(dv),l=S.useContext(Lx),c=S.useContext(fv),d=S.useContext(Xp).reducedMotion,h=S.useRef(null);r=r||l.renderer,!h.current&&r&&(h.current=r(e,{visualState:t,parent:s,props:n,presenceContext:c,blockInitialAnimation:c?c.initial===!1:!1,reducedMotionConfig:d}));const m=h.current,g=S.useContext(WP);m&&!m.projection&&i&&(m.type==="html"||m.type==="svg")&&n4(h.current,n,i,g);const b=S.useRef(!1);S.useInsertionEffect(()=>{m&&b.current&&m.update(n,c)});const x=n[KP],k=S.useRef(!!x&&!window.MotionHandoffIsComplete?.(x)&&window.MotionHasOptimisedAnimation?.(x));return fx(()=>{m&&(b.current=!0,window.MotionIsMounted=!0,m.updateFeatures(),m.scheduleRenderMicrotask(),k.current&&m.animationState&&m.animationState.animateChanges())}),S.useEffect(()=>{m&&(!k.current&&m.animationState&&m.animationState.animateChanges(),k.current&&(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(x)}),k.current=!1))}),m}function n4(e,t,n,r){const{layoutId:i,layout:s,drag:l,dragConstraints:c,layoutScroll:d,layoutRoot:h,layoutCrossfade:m}=t;e.projection=new n(e.latestValues,t["data-framer-portal-id"]?void 0:HP(e.parent)),e.projection.setOptions({layoutId:i,layout:s,alwaysMeasureLayout:!!l||c&&of(c),visualElement:e,animationType:typeof s=="string"?s:"both",initialPromotionConfig:r,crossfade:m,layoutScroll:d,layoutRoot:h})}function HP(e){if(e)return e.options.allowProjection!==!1?e.projection:HP(e.parent)}function Qy(e,{forwardMotionProps:t=!1}={},n,r){n&&rb(n);const i=Ox(e)?Q3:X3;function s(c,d){let h;const m={...S.useContext(Xp),...c,layoutId:r4(c)},{isStatic:g}=m,b=M3(c),x=i(c,g);if(!g&&cx){i4();const k=o4(m);h=k.MeasureLayout,b.visualElement=t4(e,x,m,r,k.ProjectionNode)}return N.jsxs(dv.Provider,{value:b,children:[h&&b.visualElement?N.jsx(h,{visualElement:b.visualElement,...m}):null,G3(e,c,Z3(x,b.visualElement,d),x,g,t)]})}s.displayName=`motion.${typeof e=="string"?e:`create(${e.displayName??e.name??""})`}`;const l=S.forwardRef(s);return l[J3]=e,l}function r4({layoutId:e}){const t=S.useContext(Hp).id;return t&&e!==void 0?t+"-"+e:e}function i4(e,t){S.useContext(Lx).strict}function o4(e){const{drag:t,layout:n}=wf;if(!t&&!n)return{};const r={...t,...n};return{MeasureLayout:t?.isEnabled(e)||n?.isEnabled(e)?r.MeasureLayout:void 0,ProjectionNode:r.ProjectionNode}}function GP(e,t){if(typeof Proxy>"u")return Qy;const n=new Map,r=(s,l)=>Qy(s,l,e,t),i=(s,l)=>r(s,l);return new Proxy(i,{get:(s,l)=>l==="create"?r:(n.has(l)||n.set(l,Qy(l,void 0,e,t)),n.get(l))})}const kf=GP();function qP({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function s4({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function l4(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function Jy(e){return e===void 0||e===1}function ib({scale:e,scaleX:t,scaleY:n}){return!Jy(e)||!Jy(t)||!Jy(n)}function uu(e){return ib(e)||YP(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function YP(e){return W1(e.x)||W1(e.y)}function W1(e){return e&&e!=="0%"}function Vg(e,t,n){const r=e-n,i=t*r;return n+i}function H1(e,t,n,r,i){return i!==void 0&&(e=Vg(e,i,r)),Vg(e,n,r)+t}function ob(e,t=0,n=1,r,i){e.min=H1(e.min,t,n,r,i),e.max=H1(e.max,t,n,r,i)}function XP(e,{x:t,y:n}){ob(e.x,t.translate,t.scale,t.originPoint),ob(e.y,n.translate,n.scale,n.originPoint)}const G1=.999999999999,q1=1.0000000000001;function a4(e,t,n,r=!1){const i=n.length;if(!i)return;t.x=t.y=1;let s,l;for(let c=0;cG1&&(t.x=1),t.yG1&&(t.y=1)}function sf(e,t){e.min=e.min+t,e.max=e.max+t}function Y1(e,t,n,r,i=.5){const s=ln(e.min,e.max,i);ob(e,t,n,s,r)}function lf(e,t){Y1(e.x,t.x,t.scaleX,t.scale,t.originX),Y1(e.y,t.y,t.scaleY,t.scale,t.originY)}function QP(e,t){return qP(l4(e.getBoundingClientRect(),t))}function u4(e,t,n){const r=QP(e,n),{scroll:i}=t;return i&&(sf(r.x,i.offset.x),sf(r.y,i.offset.y)),r}const X1=()=>({translate:0,scale:1,origin:0,originPoint:0}),af=()=>({x:X1(),y:X1()}),Q1=()=>({min:0,max:0}),wn=()=>({x:Q1(),y:Q1()}),sb={current:null},JP={current:!1};function c4(){if(JP.current=!0,!!cx)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>sb.current=e.matches;e.addEventListener("change",t),t()}else sb.current=!1}const f4=new WeakMap;function d4(e,t,n){for(const r in t){const i=t[r],s=n[r];if(br(i))e.addValue(r,i);else if(br(s))e.addValue(r,xf(i,{owner:e}));else if(s!==i)if(e.hasValue(r)){const l=e.getValue(r);l.liveStyle===!0?l.jump(i):l.hasAnimated||l.set(i)}else{const l=e.getStaticValue(r);e.addValue(r,xf(l!==void 0?l:i,{owner:e}))}}for(const r in n)t[r]===void 0&&e.removeValue(r);return t}const J1=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class p4{scrapeMotionValuesFromProps(t,n,r){return{}}constructor({parent:t,props:n,presenceContext:r,reducedMotionConfig:i,blockInitialAnimation:s,visualState:l},c={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=_x,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const b=oi.now();this.renderScheduledAtthis.bindToMotionValue(r,n)),JP.current||c4(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:sb.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){this.projection&&this.projection.unmount(),Jl(this.notifyUpdate),Jl(this.render),this.valueSubscriptions.forEach(t=>t()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const t in this.events)this.events[t].clear();for(const t in this.features){const n=this.features[t];n&&(n.unmount(),n.isMounted=!1)}this.current=null}bindToMotionValue(t,n){this.valueSubscriptions.has(t)&&this.valueSubscriptions.get(t)();const r=Cu.has(t);r&&this.onBindTransform&&this.onBindTransform();const i=n.on("change",c=>{this.latestValues[t]=c,this.props.onUpdate&&Xt.preRender(this.notifyUpdate),r&&this.projection&&(this.projection.isTransformDirty=!0)}),s=n.on("renderRequest",this.scheduleRender);let l;window.MotionCheckAppearSync&&(l=window.MotionCheckAppearSync(this,t,n)),this.valueSubscriptions.set(t,()=>{i(),s(),l&&l(),n.owner&&n.stop()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}updateFeatures(){let t="animation";for(t in wf){const n=wf[t];if(!n)continue;const{isEnabled:r,Feature:i}=n;if(!this.features[t]&&i&&r(this.props)&&(this.features[t]=new i(this)),this.features[t]){const s=this.features[t];s.isMounted?s.update():(s.mount(),s.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):wn()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let r=0;rn.variantChildren.delete(t)}addValue(t,n){const r=this.values.get(t);n!==r&&(r&&this.removeValue(t),this.bindToMotionValue(t,n),this.values.set(t,n),this.latestValues[t]=n.get())}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let r=this.values.get(t);return r===void 0&&n!==void 0&&(r=xf(n===null?void 0:n,{owner:this}),this.addValue(t,r)),r}readValue(t,n){let r=this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:this.getBaseTargetFromProps(this.props,t)??this.readValueFromInstance(this.current,t,this.options);return r!=null&&(typeof r=="string"&&(BE(r)||UE(r))?r=parseFloat(r):!b3(r)&&Zl.test(n)&&(r=CP(t,n)),this.setBaseTarget(t,br(r)?r.get():r)),br(r)?r.get():r}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){const{initial:n}=this.props;let r;if(typeof n=="string"||typeof n=="object"){const s=zx(this.props,n,this.presenceContext?.custom);s&&(r=s[t])}if(n&&r!==void 0)return r;const i=this.getBaseTargetFromProps(this.props,t);return i!==void 0&&!br(i)?i:this.initialValues[t]!==void 0&&r===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new gx),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}scheduleRenderMicrotask(){Ax.render(this.render)}}class ZP extends p4{constructor(){super(...arguments),this.KeyframeResolver=l3}sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){return t.style?t.style[n]:void 0}removeValueFromRenderState(t,{vars:n,style:r}){delete n[t],delete r[t]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;br(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}}function eT(e,{style:t,vars:n},r,i){const s=e.style;let l;for(l in t)s[l]=t[l];i?.applyProjectionStyles(s,r);for(l in n)s.setProperty(l,n[l])}function h4(e){return window.getComputedStyle(e)}class m4 extends ZP{constructor(){super(...arguments),this.type="html",this.renderInstance=eT}readValueFromInstance(t,n){if(Cu.has(n))return this.projection?.isProjecting?Q0(n):PD(t,n);{const r=h4(t),i=(bx(n)?r.getPropertyValue(n):r[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return QP(t,n)}build(t,n,r){Nx(t,n,r.transformTemplate)}scrapeMotionValuesFromProps(t,n,r){return jx(t,n,r)}}const tT=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function g4(e,t,n,r){eT(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(tT.has(i)?i:Bx(i),t.attrs[i])}class v4 extends ZP{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=wn}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(Cu.has(n)){const r=kP(n);return r&&r.default||0}return n=tT.has(n)?n:Bx(n),t.getAttribute(n)}scrapeMotionValuesFromProps(t,n,r){return UP(t,n,r)}build(t,n,r){zP(t,n,this.isSVGTag,r.transformTemplate,r.style)}renderInstance(t,n,r,i){g4(t,n,r,i)}mount(t){this.isSVGTag=BP(t.tagName),super.mount(t)}}const y4=(e,t)=>Ox(e)?new v4(t):new m4(t,{allowProjection:e!==S.Fragment});function Zp(e,t,n){const r=e.getProps();return zx(r,t,n!==void 0?n:r.custom,e)}const lb=e=>Array.isArray(e);function b4(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,xf(n))}function x4(e){return lb(e)?e[e.length-1]||0:e}function w4(e,t){const n=Zp(e,t);let{transitionEnd:r={},transition:i={},...s}=n||{};s={...s,...r};for(const l in s){const c=x4(s[l]);b4(e,l,c)}}function S4(e){return!!(br(e)&&e.add)}function ab(e,t){const n=e.getValue("willChange");if(S4(n))return n.add(t);if(!n&&fs.WillChange){const r=new fs.WillChange("auto");e.addValue("willChange",r),r.add(t)}}function nT(e){return e.props[KP]}const k4=e=>e!==null;function C4(e,{repeat:t,repeatType:n="loop"},r){const i=e.filter(k4),s=t&&n!=="loop"&&t%2===1?0:i.length-1;return i[s]}const E4={type:"spring",stiffness:500,damping:25,restSpeed:10},P4=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),T4={type:"keyframes",duration:.8},_4={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},$4=(e,{keyframes:t})=>t.length>2?T4:Cu.has(e)?e.startsWith("scale")?P4(t[1]):E4:_4;function I4({when:e,delay:t,delayChildren:n,staggerChildren:r,staggerDirection:i,repeat:s,repeatType:l,repeatDelay:c,from:d,elapsed:h,...m}){return!!Object.keys(m).length}const Vx=(e,t,n,r={},i,s)=>l=>{const c=$x(r,e)||{},d=c.delay||r.delay||0;let{elapsed:h=0}=r;h=h-as(d);const m={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:t.getVelocity(),...c,delay:-h,onUpdate:b=>{t.set(b),c.onUpdate&&c.onUpdate(b)},onComplete:()=>{l(),c.onComplete&&c.onComplete()},name:e,motionValue:t,element:s?void 0:i};I4(c)||Object.assign(m,$4(e,m)),m.duration&&(m.duration=as(m.duration)),m.repeatDelay&&(m.repeatDelay=as(m.repeatDelay)),m.from!==void 0&&(m.keyframes[0]=m.from);let g=!1;if((m.type===!1||m.duration===0&&!m.repeatDelay)&&(m.duration=0,m.delay===0&&(g=!0)),(fs.instantAnimations||fs.skipAnimations)&&(g=!0,m.duration=0,m.delay=0),m.allowFlatten=!c.type&&!c.ease,g&&!s&&t.get()!==void 0){const b=C4(m.keyframes,c);if(b!==void 0){Xt.update(()=>{m.onUpdate(b),m.onComplete()});return}}return c.isSync?new Tx(m):new YD(m)};function A4({protectedKeys:e,needsAnimating:t},n){const r=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,r}function rT(e,t,{delay:n=0,transitionOverride:r,type:i}={}){let{transition:s=e.getDefaultTransition(),transitionEnd:l,...c}=t;r&&(s=r);const d=[],h=i&&e.animationState&&e.animationState.getState()[i];for(const m in c){const g=e.getValue(m,e.latestValues[m]??null),b=c[m];if(b===void 0||h&&A4(h,m))continue;const x={delay:n,...$x(s||{},m)},k=g.get();if(k!==void 0&&!g.isAnimating&&!Array.isArray(b)&&b===k&&!x.velocity)continue;let P=!1;if(window.MotionHandoffAnimation){const T=nT(e);if(T){const A=window.MotionHandoffAnimation(T,m,Xt);A!==null&&(x.startTime=A,P=!0)}}ab(e,m),g.start(Vx(m,g,b,e.shouldReduceMotion&&xP.has(m)?{type:!1}:x,e,P));const _=g.animation;_&&d.push(_)}return l&&Promise.all(d).then(()=>{Xt.update(()=>{l&&w4(e,l)})}),d}function ub(e,t,n={}){const r=Zp(e,t,n.type==="exit"?e.presenceContext?.custom:void 0);let{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);const s=r?()=>Promise.all(rT(e,r,n)):()=>Promise.resolve(),l=e.variantChildren&&e.variantChildren.size?(d=0)=>{const{delayChildren:h=0,staggerChildren:m,staggerDirection:g}=i;return R4(e,t,d,h,m,g,n)}:()=>Promise.resolve(),{when:c}=i;if(c){const[d,h]=c==="beforeChildren"?[s,l]:[l,s];return d().then(()=>h())}else return Promise.all([s(),l(n.delay)])}function R4(e,t,n=0,r=0,i=0,s=1,l){const c=[],d=e.variantChildren.size,h=(d-1)*i,m=typeof r=="function",g=m?b=>r(b,d):s===1?(b=0)=>b*i:(b=0)=>h-b*i;return Array.from(e.variantChildren).sort(L4).forEach((b,x)=>{b.notify("AnimationStart",t),c.push(ub(b,t,{...l,delay:n+(m?0:r)+g(x)}).then(()=>b.notify("AnimationComplete",t)))}),Promise.all(c)}function L4(e,t){return e.sortNodePosition(t)}function M4(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const i=t.map(s=>ub(e,s,n));r=Promise.all(i)}else if(typeof t=="string")r=ub(e,t,n);else{const i=typeof t=="function"?Zp(e,t,n.custom):t;r=Promise.all(rT(e,i,n))}return r.then(()=>{e.notify("AnimationComplete",t)})}function iT(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;rPromise.all(t.map(({animation:n,options:r})=>M4(e,n,r)))}function z4(e){let t=O4(e),n=Z1(),r=!0;const i=d=>(h,m)=>{const g=Zp(e,m,d==="exit"?e.presenceContext?.custom:void 0);if(g){const{transition:b,transitionEnd:x,...k}=g;h={...h,...k,...x}}return h};function s(d){t=d(e)}function l(d){const{props:h}=e,m=oT(e.parent)||{},g=[],b=new Set;let x={},k=1/0;for(let _=0;_k&&z,ae=!1;const j=Array.isArray(L)?L:[L];let B=j.reduce(i(T),{});K===!1&&(B={});const{prevResolvedValues:Y={}}=A,te={...Y,...B},G=q=>{re=!0,b.has(q)&&(ae=!0,b.delete(q)),A.needsAnimating[q]=!0;const W=e.getValue(q);W&&(W.liveStyle=!1)};for(const q in te){const W=B[q],se=Y[q];if(x.hasOwnProperty(q))continue;let R=!1;lb(W)&&lb(se)?R=!iT(W,se):R=W!==se,R?W!=null?G(q):b.add(q):W!==void 0&&b.has(q)?G(q):A.protectedKeys[q]=!0}A.prevProp=L,A.prevResolvedValues=B,A.isActive&&(x={...x,...B}),r&&e.blockInitialAnimation&&(re=!1),re&&(!(M&&J)||ae)&&g.push(...j.map(q=>({animation:q,options:{type:T}})))}if(b.size){const _={};if(typeof h.initial!="boolean"){const T=Zp(e,Array.isArray(h.initial)?h.initial[0]:h.initial);T&&T.transition&&(_.transition=T.transition)}b.forEach(T=>{const A=e.getBaseTarget(T),L=e.getValue(T);L&&(L.liveStyle=!0),_[T]=A??null}),g.push({animation:_})}let P=!!g.length;return r&&(h.initial===!1||h.initial===h.animate)&&!e.manuallyAnimateOnMount&&(P=!1),r=!1,P?t(g):Promise.resolve()}function c(d,h){if(n[d].isActive===h)return Promise.resolve();e.variantChildren?.forEach(g=>g.animationState?.setActive(d,h)),n[d].isActive=h;const m=l(d);for(const g in n)n[g].protectedKeys={};return m}return{animateChanges:l,setActive:c,setAnimateFunction:s,getState:()=>n,reset:()=>{n=Z1(),r=!0}}}function j4(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!iT(t,e):!1}function nu(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function Z1(){return{animate:nu(!0),whileInView:nu(),whileHover:nu(),whileTap:nu(),whileDrag:nu(),whileFocus:nu(),exit:nu()}}class ea{constructor(t){this.isMounted=!1,this.node=t}update(){}}class B4 extends ea{constructor(t){super(t),t.animationState||(t.animationState=z4(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();pv(t)&&(this.unmountControls=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}let V4=0;class U4 extends ea{constructor(){super(...arguments),this.id=V4++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n}=this.node.presenceContext,{isPresent:r}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===r)return;const i=this.node.animationState.setActive("exit",!t);n&&!t&&i.then(()=>{n(this.id)})}mount(){const{register:t,onExitComplete:n}=this.node.presenceContext||{};n&&n(this.id),t&&(this.unmount=t(this.id))}unmount(){}}const K4={animation:{Feature:B4},exit:{Feature:U4}};function eh(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}function vh(e){return{point:{x:e.pageX,y:e.pageY}}}const W4=e=>t=>Rx(t)&&e(t,vh(t));function Mp(e,t,n,r){return eh(e,t,W4(n),r)}const sT=1e-4,H4=1-sT,G4=1+sT,lT=.01,q4=0-lT,Y4=0+lT;function Mr(e){return e.max-e.min}function X4(e,t,n){return Math.abs(e-t)<=n}function eS(e,t,n,r=.5){e.origin=r,e.originPoint=ln(t.min,t.max,e.origin),e.scale=Mr(n)/Mr(t),e.translate=ln(n.min,n.max,e.origin)-e.originPoint,(e.scale>=H4&&e.scale<=G4||isNaN(e.scale))&&(e.scale=1),(e.translate>=q4&&e.translate<=Y4||isNaN(e.translate))&&(e.translate=0)}function Dp(e,t,n,r){eS(e.x,t.x,n.x,r?r.originX:void 0),eS(e.y,t.y,n.y,r?r.originY:void 0)}function tS(e,t,n){e.min=n.min+t.min,e.max=e.min+Mr(t)}function Q4(e,t,n){tS(e.x,t.x,n.x),tS(e.y,t.y,n.y)}function nS(e,t,n){e.min=t.min-n.min,e.max=e.min+Mr(t)}function Np(e,t,n){nS(e.x,t.x,n.x),nS(e.y,t.y,n.y)}function Yi(e){return[e("x"),e("y")]}const aT=({current:e})=>e?e.ownerDocument.defaultView:null,rS=(e,t)=>Math.abs(e-t);function J4(e,t){const n=rS(e.x,t.x),r=rS(e.y,t.y);return Math.sqrt(n**2+r**2)}class uT{constructor(t,n,{transformPagePoint:r,contextWindow:i=window,dragSnapToOrigin:s=!1,distanceThreshold:l=3}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const b=e0(this.lastMoveEventInfo,this.history),x=this.startEvent!==null,k=J4(b.offset,{x:0,y:0})>=this.distanceThreshold;if(!x&&!k)return;const{point:P}=b,{timestamp:_}=lr;this.history.push({...P,timestamp:_});const{onStart:T,onMove:A}=this.handlers;x||(T&&T(this.lastMoveEvent,b),this.startEvent=this.lastMoveEvent),A&&A(this.lastMoveEvent,b)},this.handlePointerMove=(b,x)=>{this.lastMoveEvent=b,this.lastMoveEventInfo=Zy(x,this.transformPagePoint),Xt.update(this.updatePoint,!0)},this.handlePointerUp=(b,x)=>{this.end();const{onEnd:k,onSessionEnd:P,resumeAnimation:_}=this.handlers;if(this.dragSnapToOrigin&&_&&_(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const T=e0(b.type==="pointercancel"?this.lastMoveEventInfo:Zy(x,this.transformPagePoint),this.history);this.startEvent&&k&&k(b,T),P&&P(b,T)},!Rx(t))return;this.dragSnapToOrigin=s,this.handlers=n,this.transformPagePoint=r,this.distanceThreshold=l,this.contextWindow=i||window;const c=vh(t),d=Zy(c,this.transformPagePoint),{point:h}=d,{timestamp:m}=lr;this.history=[{...h,timestamp:m}];const{onSessionStart:g}=n;g&&g(t,e0(d,this.history)),this.removeListeners=hh(Mp(this.contextWindow,"pointermove",this.handlePointerMove),Mp(this.contextWindow,"pointerup",this.handlePointerUp),Mp(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),Jl(this.updatePoint)}}function Zy(e,t){return t?{point:t(e.point)}:e}function iS(e,t){return{x:e.x-t.x,y:e.y-t.y}}function e0({point:e},t){return{point:e,delta:iS(e,cT(t)),offset:iS(e,Z4(t)),velocity:eN(t,.1)}}function Z4(e){return e[0]}function cT(e){return e[e.length-1]}function eN(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=cT(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>as(t)));)n--;if(!r)return{x:0,y:0};const s=us(i.timestamp-r.timestamp);if(s===0)return{x:0,y:0};const l={x:(i.x-r.x)/s,y:(i.y-r.y)/s};return l.x===1/0&&(l.x=0),l.y===1/0&&(l.y=0),l}function tN(e,{min:t,max:n},r){return t!==void 0&&en&&(e=r?ln(n,e,r.max):Math.min(e,n)),e}function oS(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function nN(e,{top:t,left:n,bottom:r,right:i}){return{x:oS(e.x,n,i),y:oS(e.y,t,r)}}function sS(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.minr?n=Gp(t.min,t.max-r,e.min):r>i&&(n=Gp(e.min,e.max-i,t.min)),Js(0,1,n)}function oN(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const cb=.35;function sN(e=cb){return e===!1?e=0:e===!0&&(e=cb),{x:lS(e,"left","right"),y:lS(e,"top","bottom")}}function lS(e,t,n){return{min:aS(e,t),max:aS(e,n)}}function aS(e,t){return typeof e=="number"?e:e[t]||0}const lN=new WeakMap;class aN{constructor(t){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=wn(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=t}start(t,{snapToCursor:n=!1,distanceThreshold:r}={}){const{presenceContext:i}=this.visualElement;if(i&&i.isPresent===!1)return;const s=g=>{const{dragSnapToOrigin:b}=this.getProps();b?this.pauseAnimation():this.stopAnimation(),n&&this.snapToCursor(vh(g).point)},l=(g,b)=>{const{drag:x,dragPropagation:k,onDragStart:P}=this.getProps();if(x&&!k&&(this.openDragLock&&this.openDragLock(),this.openDragLock=f3(x),!this.openDragLock))return;this.latestPointerEvent=g,this.latestPanInfo=b,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Yi(T=>{let A=this.getAxisMotionValue(T).get()||0;if(cs.test(A)){const{projection:L}=this.visualElement;if(L&&L.layout){const z=L.layout.layoutBox[T];z&&(A=Mr(z)*(parseFloat(A)/100))}}this.originPoint[T]=A}),P&&Xt.postRender(()=>P(g,b)),ab(this.visualElement,"transform");const{animationState:_}=this.visualElement;_&&_.setActive("whileDrag",!0)},c=(g,b)=>{this.latestPointerEvent=g,this.latestPanInfo=b;const{dragPropagation:x,dragDirectionLock:k,onDirectionLock:P,onDrag:_}=this.getProps();if(!x&&!this.openDragLock)return;const{offset:T}=b;if(k&&this.currentDirection===null){this.currentDirection=uN(T),this.currentDirection!==null&&P&&P(this.currentDirection);return}this.updateAxis("x",b.point,T),this.updateAxis("y",b.point,T),this.visualElement.render(),_&&_(g,b)},d=(g,b)=>{this.latestPointerEvent=g,this.latestPanInfo=b,this.stop(g,b),this.latestPointerEvent=null,this.latestPanInfo=null},h=()=>Yi(g=>this.getAnimationState(g)==="paused"&&this.getAxisMotionValue(g).animation?.play()),{dragSnapToOrigin:m}=this.getProps();this.panSession=new uT(t,{onSessionStart:s,onStart:l,onMove:c,onSessionEnd:d,resumeAnimation:h},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:m,distanceThreshold:r,contextWindow:aT(this.visualElement)})}stop(t,n){const r=t||this.latestPointerEvent,i=n||this.latestPanInfo,s=this.isDragging;if(this.cancel(),!s||!i||!r)return;const{velocity:l}=i;this.startAnimation(l);const{onDragEnd:c}=this.getProps();c&&Xt.postRender(()=>c(r,i))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:r}=this.getProps();!r&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(t,n,r){const{drag:i}=this.getProps();if(!r||!ag(t,i,this.currentDirection))return;const s=this.getAxisMotionValue(t);let l=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(l=tN(l,this.constraints[t],this.elastic[t])),s.set(l)}resolveConstraints(){const{dragConstraints:t,dragElastic:n}=this.getProps(),r=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,i=this.constraints;t&&of(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=nN(r.layoutBox,t):this.constraints=!1,this.elastic=sN(n),i!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&Yi(s=>{this.constraints!==!1&&this.getAxisMotionValue(s)&&(this.constraints[s]=oN(r.layoutBox[s],this.constraints[s]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!of(t))return!1;const r=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const s=u4(r,i.root,this.visualElement.getTransformPagePoint());let l=rN(i.layout.layoutBox,s);if(n){const c=n(s4(l));this.hasMutatedConstraints=!!c,c&&(l=qP(c))}return l}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:i,dragTransition:s,dragSnapToOrigin:l,onDragTransitionEnd:c}=this.getProps(),d=this.constraints||{},h=Yi(m=>{if(!ag(m,n,this.currentDirection))return;let g=d&&d[m]||{};l&&(g={min:0,max:0});const b=i?200:1e6,x=i?40:1e7,k={type:"inertia",velocity:r?t[m]:0,bounceStiffness:b,bounceDamping:x,timeConstant:750,restDelta:1,restSpeed:10,...s,...g};return this.startAxisValueAnimation(m,k)});return Promise.all(h).then(c)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return ab(this.visualElement,t),r.start(Vx(t,r,0,n,this.visualElement,!1))}stopAnimation(){Yi(t=>this.getAxisMotionValue(t).stop())}pauseAnimation(){Yi(t=>this.getAxisMotionValue(t).animation?.pause())}getAnimationState(t){return this.getAxisMotionValue(t).animation?.state}getAxisMotionValue(t){const n=`_drag${t.toUpperCase()}`,r=this.visualElement.getProps(),i=r[n];return i||this.visualElement.getValue(t,(r.initial?r.initial[t]:void 0)||0)}snapToCursor(t){Yi(n=>{const{drag:r}=this.getProps();if(!ag(n,r,this.currentDirection))return;const{projection:i}=this.visualElement,s=this.getAxisMotionValue(n);if(i&&i.layout){const{min:l,max:c}=i.layout.layoutBox[n];s.set(t[n]-ln(l,c,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!of(n)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};Yi(l=>{const c=this.getAxisMotionValue(l);if(c&&this.constraints!==!1){const d=c.get();i[l]=iN({min:d,max:d},this.constraints[l])}});const{transformTemplate:s}=this.visualElement.getProps();this.visualElement.current.style.transform=s?s({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),Yi(l=>{if(!ag(l,t,null))return;const c=this.getAxisMotionValue(l),{min:d,max:h}=this.constraints[l];c.set(ln(d,h,i[l]))})}addListeners(){if(!this.visualElement.current)return;lN.set(this.visualElement,this);const t=this.visualElement.current,n=Mp(t,"pointerdown",d=>{const{drag:h,dragListener:m=!0}=this.getProps();h&&m&&this.start(d)}),r=()=>{const{dragConstraints:d}=this.getProps();of(d)&&d.current&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,s=i.addEventListener("measure",r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),Xt.read(r);const l=eh(window,"resize",()=>this.scalePositionWithinConstraints()),c=i.addEventListener("didUpdate",(({delta:d,hasLayoutChanged:h})=>{this.isDragging&&h&&(Yi(m=>{const g=this.getAxisMotionValue(m);g&&(this.originPoint[m]+=d[m].translate,g.set(g.get()+d[m].translate))}),this.visualElement.render())}));return()=>{l(),n(),s(),c&&c()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:r=!1,dragPropagation:i=!1,dragConstraints:s=!1,dragElastic:l=cb,dragMomentum:c=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:i,dragConstraints:s,dragElastic:l,dragMomentum:c}}}function ag(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function uN(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class cN extends ea{constructor(t){super(t),this.removeGroupControls=eo,this.removeListeners=eo,this.controls=new aN(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||eo}unmount(){this.removeGroupControls(),this.removeListeners()}}const uS=e=>(t,n)=>{e&&Xt.postRender(()=>e(t,n))};class fN extends ea{constructor(){super(...arguments),this.removePointerDownListener=eo}onPointerDown(t){this.session=new uT(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:aT(this.node)})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:uS(t),onStart:uS(n),onMove:r,onEnd:(s,l)=>{delete this.session,i&&Xt.postRender(()=>i(s,l))}}}mount(){this.removePointerDownListener=Mp(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}const Tg={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function cS(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const fp={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(et.test(e))e=parseFloat(e);else return e;const n=cS(e,t.target.x),r=cS(e,t.target.y);return`${n}% ${r}%`}},dN={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,i=Zl.parse(e);if(i.length>5)return r;const s=Zl.createTransformer(e),l=typeof i[0]!="number"?1:0,c=n.x.scale*t.x,d=n.y.scale*t.y;i[0+l]/=c,i[1+l]/=d;const h=ln(c,d,.5);return typeof i[2+l]=="number"&&(i[2+l]/=h),typeof i[3+l]=="number"&&(i[3+l]/=h),s(i)}};let fS=!1;class pN extends S.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:i}=this.props,{projection:s}=t;D3(hN),s&&(n.group&&n.group.add(s),r&&r.register&&i&&r.register(s),fS&&s.root.didUpdate(),s.addEventListener("animationComplete",()=>{this.safeToRemove()}),s.setOptions({...s.options,onExitComplete:()=>this.safeToRemove()})),Tg.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:r,drag:i,isPresent:s}=this.props,{projection:l}=r;return l&&(l.isPresent=s,fS=!0,i||t.layoutDependency!==n||n===void 0||t.isPresent!==s?l.willUpdate():this.safeToRemove(),t.isPresent!==s&&(s?l.promote():l.relegate()||Xt.postRender(()=>{const c=l.getStack();(!c||!c.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),Ax.postRender(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r}=this.props,{projection:i}=t;i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),r&&r.deregister&&r.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function fT(e){const[t,n]=RP(),r=S.useContext(Hp);return N.jsx(pN,{...e,layoutGroup:r,switchLayoutGroup:S.useContext(WP),isPresent:t,safeToRemove:n})}const hN={borderRadius:{...fp,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:fp,borderTopRightRadius:fp,borderBottomLeftRadius:fp,borderBottomRightRadius:fp,boxShadow:dN};function mN(e,t,n){const r=br(e)?e:xf(e);return r.start(Vx("",r,t,n)),r.animation}const gN=(e,t)=>e.depth-t.depth;class vN{constructor(){this.children=[],this.isDirty=!1}add(t){dx(this.children,t),this.isDirty=!0}remove(t){px(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(gN),this.isDirty=!1,this.children.forEach(t)}}function yN(e,t){const n=oi.now(),r=({timestamp:i})=>{const s=i-n;s>=t&&(Jl(r),e(s-t))};return Xt.setup(r,!0),()=>Jl(r)}const dT=["TopLeft","TopRight","BottomLeft","BottomRight"],bN=dT.length,dS=e=>typeof e=="string"?parseFloat(e):e,pS=e=>typeof e=="number"||et.test(e);function xN(e,t,n,r,i,s){i?(e.opacity=ln(0,n.opacity??1,wN(r)),e.opacityExit=ln(t.opacity??1,0,SN(r))):s&&(e.opacity=ln(t.opacity??1,n.opacity??1,r));for(let l=0;lrt?1:n(Gp(e,t,r))}function mS(e,t){e.min=t.min,e.max=t.max}function Gi(e,t){mS(e.x,t.x),mS(e.y,t.y)}function gS(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}function vS(e,t,n,r,i){return e-=t,e=Vg(e,1/n,r),i!==void 0&&(e=Vg(e,1/i,r)),e}function kN(e,t=0,n=1,r=.5,i,s=e,l=e){if(cs.test(t)&&(t=parseFloat(t),t=ln(l.min,l.max,t/100)-l.min),typeof t!="number")return;let c=ln(s.min,s.max,r);e===s&&(c-=t),e.min=vS(e.min,t,n,c,i),e.max=vS(e.max,t,n,c,i)}function yS(e,t,[n,r,i],s,l){kN(e,t[n],t[r],t[i],t.scale,s,l)}const CN=["x","scaleX","originX"],EN=["y","scaleY","originY"];function bS(e,t,n,r){yS(e.x,t,CN,n?n.x:void 0,r?r.x:void 0),yS(e.y,t,EN,n?n.y:void 0,r?r.y:void 0)}function xS(e){return e.translate===0&&e.scale===1}function hT(e){return xS(e.x)&&xS(e.y)}function wS(e,t){return e.min===t.min&&e.max===t.max}function PN(e,t){return wS(e.x,t.x)&&wS(e.y,t.y)}function SS(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function mT(e,t){return SS(e.x,t.x)&&SS(e.y,t.y)}function kS(e){return Mr(e.x)/Mr(e.y)}function CS(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}class TN{constructor(){this.members=[]}add(t){dx(this.members,t),t.scheduleRender()}remove(t){if(px(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(i=>t===i);if(n===0)return!1;let r;for(let i=n;i>=0;i--){const s=this.members[i];if(s.isPresent!==!1){r=s;break}}return r?(this.promote(r),!0):!1}promote(t,n){const r=this.lead;if(t!==r&&(this.prevLead=r,this.lead=t,t.show(),r)){r.instance&&r.scheduleRender(),t.scheduleRender(),t.resumeFrom=r,n&&(t.resumeFrom.preserveOpacity=!0),r.snapshot&&(t.snapshot=r.snapshot,t.snapshot.latestValues=r.animationValues||r.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:i}=t.options;i===!1&&r.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:r}=t;n.onExitComplete&&n.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function _N(e,t,n){let r="";const i=e.x.translate/t.x,s=e.y.translate/t.y,l=n?.z||0;if((i||s||l)&&(r=`translate3d(${i}px, ${s}px, ${l}px) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){const{transformPerspective:h,rotate:m,rotateX:g,rotateY:b,skewX:x,skewY:k}=n;h&&(r=`perspective(${h}px) ${r}`),m&&(r+=`rotate(${m}deg) `),g&&(r+=`rotateX(${g}deg) `),b&&(r+=`rotateY(${b}deg) `),x&&(r+=`skewX(${x}deg) `),k&&(r+=`skewY(${k}deg) `)}const c=e.x.scale*t.x,d=e.y.scale*t.y;return(c!==1||d!==1)&&(r+=`scale(${c}, ${d})`),r||"none"}const t0=["","X","Y","Z"],$N=1e3;let IN=0;function n0(e,t,n,r){const{latestValues:i}=t;i[e]&&(n[e]=i[e],t.setStaticValue(e,0),r&&(r[e]=0))}function gT(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;const{visualElement:t}=e.options;if(!t)return;const n=nT(t);if(window.MotionHasOptimisedAnimation(n,"transform")){const{layout:i,layoutId:s}=e.options;window.MotionCancelOptimisedAnimation(n,"transform",Xt,!(i||s))}const{parent:r}=e;r&&!r.hasCheckedOptimisedAppear&&gT(r)}function vT({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(l={},c=t?.()){this.id=IN++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,this.nodes.forEach(LN),this.nodes.forEach(FN),this.nodes.forEach(ON),this.nodes.forEach(MN)},this.resolvedRelativeTargetAt=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=l,this.root=c?c.root||c:this,this.path=c?[...c.path,c]:[],this.parent=c,this.depth=c?c.depth+1:0;for(let d=0;dthis.root.updateBlockedByResize=!1;Xt.read(()=>{g=window.innerWidth}),e(l,()=>{const x=window.innerWidth;x!==g&&(g=x,this.root.updateBlockedByResize=!0,m&&m(),m=yN(b,250),Tg.hasAnimatedSinceResize&&(Tg.hasAnimatedSinceResize=!1,this.nodes.forEach(TS)))})}c&&this.root.registerSharedNode(c,this),this.options.animate!==!1&&h&&(c||d)&&this.addEventListener("didUpdate",({delta:m,hasLayoutChanged:g,hasRelativeLayoutChanged:b,layout:x})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const k=this.options.transition||h.getDefaultTransition()||UN,{onLayoutAnimationStart:P,onLayoutAnimationComplete:_}=h.getProps(),T=!this.targetLayout||!mT(this.targetLayout,x),A=!g&&b;if(this.options.layoutRoot||this.resumeFrom||A||g&&(T||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const L={...$x(k,"layout"),onPlay:P,onComplete:_};(h.shouldReduceMotion||this.options.layoutRoot)&&(L.delay=0,L.type=!1),this.startAnimation(L),this.setAnimationOrigin(m,A)}else g||TS(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=x})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const l=this.getStack();l&&l.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),Jl(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(zN),this.animationId++)}getTransformTemplate(){const{visualElement:l}=this.options;return l&&l.getProps().transformTemplate}willUpdate(l=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&gT(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let m=0;m{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!Mr(this.snapshot.measuredBox.x)&&!Mr(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let d=0;d{const K=z/1e3;_S(g.x,l.x,K),_S(g.y,l.y,K),this.setTargetDelta(g),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Np(b,this.layout.layoutBox,this.relativeParent.layout.layoutBox),BN(this.relativeTarget,this.relativeTargetOrigin,b,K),L&&PN(this.relativeTarget,L)&&(this.isProjectionDirty=!1),L||(L=wn()),Gi(L,this.relativeTarget)),P&&(this.animationValues=m,xN(m,h,this.latestValues,K,A,T)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=K},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(l){this.notifyListeners("animationStart"),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&(Jl(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=Xt.update(()=>{Tg.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=xf(0)),this.currentAnimation=mN(this.motionValue,[0,1e3],{...l,velocity:0,isSync:!0,onUpdate:c=>{this.mixTargetDelta(c),l.onUpdate&&l.onUpdate(c)},onStop:()=>{},onComplete:()=>{l.onComplete&&l.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const l=this.getStack();l&&l.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta($N),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const l=this.getLead();let{targetWithTransforms:c,target:d,layout:h,latestValues:m}=l;if(!(!c||!d||!h)){if(this!==l&&this.layout&&h&&yT(this.options.animationType,this.layout.layoutBox,h.layoutBox)){d=this.target||wn();const g=Mr(this.layout.layoutBox.x);d.x.min=l.target.x.min,d.x.max=d.x.min+g;const b=Mr(this.layout.layoutBox.y);d.y.min=l.target.y.min,d.y.max=d.y.min+b}Gi(c,d),lf(c,m),Dp(this.projectionDeltaWithTransform,this.layoutCorrected,c,m)}}registerSharedNode(l,c){this.sharedNodes.has(l)||this.sharedNodes.set(l,new TN),this.sharedNodes.get(l).add(c);const h=c.options.initialPromotionConfig;c.promote({transition:h?h.transition:void 0,preserveFollowOpacity:h&&h.shouldPreserveFollowOpacity?h.shouldPreserveFollowOpacity(c):void 0})}isLead(){const l=this.getStack();return l?l.lead===this:!0}getLead(){const{layoutId:l}=this.options;return l?this.getStack()?.lead||this:this}getPrevLead(){const{layoutId:l}=this.options;return l?this.getStack()?.prevLead:void 0}getStack(){const{layoutId:l}=this.options;if(l)return this.root.sharedNodes.get(l)}promote({needsReset:l,transition:c,preserveFollowOpacity:d}={}){const h=this.getStack();h&&h.promote(this,d),l&&(this.projectionDelta=void 0,this.needsReset=!0),c&&this.setOptions({transition:c})}relegate(){const l=this.getStack();return l?l.relegate(this):!1}resetSkewAndRotation(){const{visualElement:l}=this.options;if(!l)return;let c=!1;const{latestValues:d}=l;if((d.z||d.rotate||d.rotateX||d.rotateY||d.rotateZ||d.skewX||d.skewY)&&(c=!0),!c)return;const h={};d.z&&n0("z",l,h,this.animationValues);for(let m=0;ml.currentAnimation?.stop()),this.root.nodes.forEach(ES),this.root.sharedNodes.clear()}}}function AN(e){e.updateLayout()}function RN(e){const t=e.resumeFrom?.snapshot||e.snapshot;if(e.isLead()&&e.layout&&t&&e.hasListeners("didUpdate")){const{layoutBox:n,measuredBox:r}=e.layout,{animationType:i}=e.options,s=t.source!==e.layout.source;i==="size"?Yi(m=>{const g=s?t.measuredBox[m]:t.layoutBox[m],b=Mr(g);g.min=n[m].min,g.max=g.min+b}):yT(i,t.layoutBox,n)&&Yi(m=>{const g=s?t.measuredBox[m]:t.layoutBox[m],b=Mr(n[m]);g.max=g.min+b,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[m].max=e.relativeTarget[m].min+b)});const l=af();Dp(l,n,t.layoutBox);const c=af();s?Dp(c,e.applyTransform(r,!0),t.measuredBox):Dp(c,n,t.layoutBox);const d=!hT(l);let h=!1;if(!e.resumeFrom){const m=e.getClosestProjectingParent();if(m&&!m.resumeFrom){const{snapshot:g,layout:b}=m;if(g&&b){const x=wn();Np(x,t.layoutBox,g.layoutBox);const k=wn();Np(k,n,b.layoutBox),mT(x,k)||(h=!0),m.options.layoutRoot&&(e.relativeTarget=k,e.relativeTargetOrigin=x,e.relativeParent=m)}}}e.notifyListeners("didUpdate",{layout:n,snapshot:t,delta:c,layoutDelta:l,hasLayoutChanged:d,hasRelativeLayoutChanged:h})}else if(e.isLead()){const{onExitComplete:n}=e.options;n&&n()}e.options.transition=void 0}function LN(e){e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function MN(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function DN(e){e.clearSnapshot()}function ES(e){e.clearMeasurements()}function PS(e){e.isLayoutDirty=!1}function NN(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function TS(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function FN(e){e.resolveTargetDelta()}function ON(e){e.calcProjection()}function zN(e){e.resetSkewAndRotation()}function jN(e){e.removeLeadSnapshot()}function _S(e,t,n){e.translate=ln(t.translate,0,n),e.scale=ln(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function $S(e,t,n,r){e.min=ln(t.min,n.min,r),e.max=ln(t.max,n.max,r)}function BN(e,t,n,r){$S(e.x,t.x,n.x,r),$S(e.y,t.y,n.y,r)}function VN(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const UN={duration:.45,ease:[.4,0,.1,1]},IS=e=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),AS=IS("applewebkit/")&&!IS("chrome/")?Math.round:eo;function RS(e){e.min=AS(e.min),e.max=AS(e.max)}function KN(e){RS(e.x),RS(e.y)}function yT(e,t,n){return e==="position"||e==="preserve-aspect"&&!X4(kS(t),kS(n),.2)}function WN(e){return e!==e.root&&e.scroll?.wasRoot}const HN=vT({attachResizeListener:(e,t)=>eh(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),r0={current:void 0},bT=vT({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!r0.current){const e=new HN({});e.mount(window),e.setOptions({layoutScroll:!0}),r0.current=e}return r0.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),GN={pan:{Feature:fN},drag:{Feature:cN,ProjectionNode:bT,MeasureLayout:fT}};function LS(e,t,n){const{props:r}=e;e.animationState&&r.whileHover&&e.animationState.setActive("whileHover",n==="Start");const i="onHover"+n,s=r[i];s&&Xt.postRender(()=>s(t,vh(t)))}class qN extends ea{mount(){const{current:t}=this.node;t&&(this.unmount=d3(t,(n,r)=>(LS(this.node,r,"Start"),i=>LS(this.node,i,"End"))))}unmount(){}}class YN extends ea{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=hh(eh(this.node.current,"focus",()=>this.onFocus()),eh(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function MS(e,t,n){const{props:r}=e;if(e.current instanceof HTMLButtonElement&&e.current.disabled)return;e.animationState&&r.whileTap&&e.animationState.setActive("whileTap",n==="Start");const i="onTap"+(n==="End"?"":n),s=r[i];s&&Xt.postRender(()=>s(t,vh(t)))}class XN extends ea{mount(){const{current:t}=this.node;t&&(this.unmount=g3(t,(n,r)=>(MS(this.node,r,"Start"),(i,{success:s})=>MS(this.node,i,s?"End":"Cancel")),{useGlobalTarget:this.node.props.globalTapTarget}))}unmount(){}}const fb=new WeakMap,i0=new WeakMap,QN=e=>{const t=fb.get(e.target);t&&t(e)},JN=e=>{e.forEach(QN)};function ZN({root:e,...t}){const n=e||document;i0.has(n)||i0.set(n,{});const r=i0.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(JN,{root:e,...t})),r[i]}function eF(e,t,n){const r=ZN(t);return fb.set(e,n),r.observe(e),()=>{fb.delete(e),r.unobserve(e)}}const tF={some:0,all:1};class nF extends ea{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:r,amount:i="some",once:s}=t,l={root:n?n.current:void 0,rootMargin:r,threshold:typeof i=="number"?i:tF[i]},c=d=>{const{isIntersecting:h}=d;if(this.isInView===h||(this.isInView=h,s&&!h&&this.hasEnteredView))return;h&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",h);const{onViewportEnter:m,onViewportLeave:g}=this.node.getProps(),b=h?m:g;b&&b(d)};return eF(this.node.current,l,c)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(rF(t,n))&&this.startObserver()}unmount(){}}function rF({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const iF={inView:{Feature:nF},tap:{Feature:XN},focus:{Feature:YN},hover:{Feature:qN}},oF={layout:{ProjectionNode:bT,MeasureLayout:fT}},sF={...K4,...iF,...GN,...oF},ff=GP(sF,y4);class lF extends TP{constructor(){super(...arguments),this.isEnabled=!1}add(t){(Cu.has(t)||a3.has(t))&&(this.isEnabled=!0,this.update())}update(){this.set(this.isEnabled?"transform":"auto")}}function aF(){return ph(()=>new lF("auto"))}const ls={top:"top",bottom:"top",left:"left",right:"left"},Ug={top:"bottom",bottom:"top",left:"right",right:"left"},uF={top:"left",left:"top"},db={top:"height",left:"width"},xT={width:"totalWidth",height:"totalHeight"},ug={};let qn=typeof document<"u"?window.visualViewport:null;function DS(e){let t=0,n=0,r=0,i=0,s=0,l=0,c={};var d;let h=((d=qn?.scale)!==null&&d!==void 0?d:1)>1;if(e.tagName==="BODY"){let k=document.documentElement;r=k.clientWidth,i=k.clientHeight;var m;t=(m=qn?.width)!==null&&m!==void 0?m:r;var g;n=(g=qn?.height)!==null&&g!==void 0?g:i,c.top=k.scrollTop||e.scrollTop,c.left=k.scrollLeft||e.scrollLeft,qn&&(s=qn.offsetTop,l=qn.offsetLeft)}else({width:t,height:n,top:s,left:l}=df(e)),c.top=e.scrollTop,c.left=e.scrollLeft,r=t,i=n;if(TE()&&(e.tagName==="BODY"||e.tagName==="HTML")&&h){c.top=0,c.left=0;var b;s=(b=qn?.pageTop)!==null&&b!==void 0?b:0;var x;l=(x=qn?.pageLeft)!==null&&x!==void 0?x:0}return{width:t,height:n,totalWidth:r,totalHeight:i,scroll:c,top:s,left:l}}function cF(e){return{top:e.scrollTop,left:e.scrollLeft,width:e.scrollWidth,height:e.scrollHeight}}function NS(e,t,n,r,i,s,l){var c;let d=(c=i.scroll[e])!==null&&c!==void 0?c:0,h=r[db[e]],m=r.scroll[ls[e]]+s,g=h+r.scroll[ls[e]]-s,b=t-d+l[e]-r[ls[e]],x=t-d+n+l[e]-r[ls[e]];return bg?Math.max(g-x,m-b):0}function fF(e){let t=window.getComputedStyle(e);return{top:parseInt(t.marginTop,10)||0,bottom:parseInt(t.marginBottom,10)||0,left:parseInt(t.marginLeft,10)||0,right:parseInt(t.marginRight,10)||0}}function FS(e){if(ug[e])return ug[e];let[t,n]=e.split(" "),r=ls[t]||"right",i=uF[r];ls[n]||(n="center");let s=db[r],l=db[i];return ug[e]={placement:t,crossPlacement:n,axis:r,crossAxis:i,size:s,crossSize:l},ug[e]}function o0(e,t,n,r,i,s,l,c,d,h){let{placement:m,crossPlacement:g,axis:b,crossAxis:x,size:k,crossSize:P}=r,_={};var T;_[x]=(T=e[x])!==null&&T!==void 0?T:0;var A,L,z,K;g==="center"?_[x]+=(((A=e[P])!==null&&A!==void 0?A:0)-((L=n[P])!==null&&L!==void 0?L:0))/2:g!==x&&(_[x]+=((z=e[P])!==null&&z!==void 0?z:0)-((K=n[P])!==null&&K!==void 0?K:0)),_[x]+=s;const M=e[x]-n[P]+d+h,J=e[x]+e[P]-d-h;if(_[x]=Ng(_[x],M,J),m===b){const re=c?l[k]:t[xT[k]];_[Ug[b]]=Math.floor(re-e[b]+i)}else _[b]=Math.floor(e[b]+e[k]+i);return _}function dF(e,t,n,r,i,s,l,c){const d=r?n.height:t[xT.height];var h;let m=e.top!=null?n.top+e.top:n.top+(d-((h=e.bottom)!==null&&h!==void 0?h:0)-l);var g,b,x,k,P,_;let T=c!=="top"?Math.max(0,t.height+t.top+((g=t.scroll.top)!==null&&g!==void 0?g:0)-m-(((b=i.top)!==null&&b!==void 0?b:0)+((x=i.bottom)!==null&&x!==void 0?x:0)+s)):Math.max(0,m+l-(t.top+((k=t.scroll.top)!==null&&k!==void 0?k:0))-(((P=i.top)!==null&&P!==void 0?P:0)+((_=i.bottom)!==null&&_!==void 0?_:0)+s));return Math.min(t.height-s*2,T)}function OS(e,t,n,r,i,s){let{placement:l,axis:c,size:d}=s;var h,m;if(l===c)return Math.max(0,n[c]-e[c]-((h=e.scroll[c])!==null&&h!==void 0?h:0)+t[c]-((m=r[c])!==null&&m!==void 0?m:0)-r[Ug[c]]-i);var g;return Math.max(0,e[d]+e[c]+e.scroll[c]-t[c]-n[c]-n[d]-((g=r[c])!==null&&g!==void 0?g:0)-r[Ug[c]]-i)}function pF(e,t,n,r,i,s,l,c,d,h,m,g,b,x,k,P){let _=FS(e),{size:T,crossAxis:A,crossSize:L,placement:z,crossPlacement:K}=_,M=o0(t,c,n,_,m,g,h,b,k,P),J=m,re=OS(c,h,t,i,s+m,_);if(l&&r[T]>re){let me=FS(`${Ug[z]} ${K}`),Ee=o0(t,c,n,me,m,g,h,b,k,P);OS(c,h,t,i,s+m,me)>re&&(_=me,M=Ee,J=m)}let ae="bottom";_.axis==="top"?_.placement==="top"?ae="top":_.placement==="bottom"&&(ae="bottom"):_.crossAxis==="top"&&(_.crossPlacement==="top"?ae="bottom":_.crossPlacement==="bottom"&&(ae="top"));let j=NS(A,M[A],n[L],c,d,s,h);M[A]+=j;let B=dF(M,c,h,b,i,s,n.height,ae);x&&x{if(!n||r===null)return;let i=s=>{let l=s.target;if(!t.current||l instanceof Node&&!l.contains(t.current)||s.target instanceof HTMLInputElement||s.target instanceof HTMLTextAreaElement)return;let c=r||gF.get(t.current);c&&c()};return window.addEventListener("scroll",i,!0),()=>{window.removeEventListener("scroll",i,!0)}},[n,r,t])}let xn=typeof document<"u"?window.visualViewport:null;function yF(e){let{direction:t}=dh(),{arrowSize:n=0,targetRef:r,overlayRef:i,scrollRef:s=i,placement:l="bottom",containerPadding:c=12,shouldFlip:d=!0,boundaryElement:h=typeof document<"u"?document.body:null,offset:m=0,crossOffset:g=0,shouldUpdatePosition:b=!0,isOpen:x=!0,onClose:k,maxHeight:P,arrowBoundaryOffset:_=0}=e,[T,A]=S.useState(null),L=[b,l,i.current,r.current,s.current,c,d,h,m,g,x,t,P,_,n],z=S.useRef(xn?.scale);S.useEffect(()=>{x&&(z.current=xn?.scale)},[x]);let K=S.useCallback(()=>{if(b===!1||!x||!i.current||!r.current||!h||xn?.scale!==z.current)return;let j=null;if(s.current&&s.current.contains(document.activeElement)){var B;let W=(B=document.activeElement)===null||B===void 0?void 0:B.getBoundingClientRect(),se=s.current.getBoundingClientRect();var Y;if(j={type:"top",offset:((Y=W?.top)!==null&&Y!==void 0?Y:0)-se.top},j.offset>se.height/2){j.type="bottom";var te;j.offset=((te=W?.bottom)!==null&&te!==void 0?te:0)-se.bottom}}let G=i.current;if(!P&&i.current){var fe;G.style.top="0px",G.style.bottom="";var Z;G.style.maxHeight=((Z=(fe=window.visualViewport)===null||fe===void 0?void 0:fe.height)!==null&&Z!==void 0?Z:window.innerHeight)+"px"}let q=hF({placement:xF(l,t),overlayNode:i.current,targetNode:r.current,scrollNode:s.current||i.current,padding:c,shouldFlip:d,boundaryElement:h,offset:m,crossOffset:g,maxHeight:P,arrowSize:n,arrowBoundaryOffset:_});if(q.position){if(G.style.top="",G.style.bottom="",G.style.left="",G.style.right="",Object.keys(q.position).forEach(W=>G.style[W]=q.position[W]+"px"),G.style.maxHeight=q.maxHeight!=null?q.maxHeight+"px":"",j&&document.activeElement&&s.current){let W=document.activeElement.getBoundingClientRect(),se=s.current.getBoundingClientRect(),R=W[j.type]-se[j.type];s.current.scrollTop+=R-j.offset}A(q)}},L);en(K,L),bF(K),y1({ref:i,onResize:K}),y1({ref:r,onResize:K});let M=S.useRef(!1);en(()=>{let j,B=()=>{M.current=!0,clearTimeout(j),j=setTimeout(()=>{M.current=!1},500),K()},Y=()=>{M.current&&B()};return xn?.addEventListener("resize",B),xn?.addEventListener("scroll",Y),()=>{xn?.removeEventListener("resize",B),xn?.removeEventListener("scroll",Y)}},[K]);let J=S.useCallback(()=>{M.current||k?.()},[k,M]);vF({triggerRef:r,isOpen:x,onClose:k&&J});var re,ae;return{overlayProps:{style:{position:"absolute",zIndex:1e5,...T?.position,maxHeight:(re=T?.maxHeight)!==null&&re!==void 0?re:"100vh"}},placement:(ae=T?.placement)!==null&&ae!==void 0?ae:null,arrowProps:{"aria-hidden":"true",role:"presentation",style:{left:T?.arrowOffsetLeft,top:T?.arrowOffsetTop}},updatePosition:K}}function bF(e){en(()=>(window.addEventListener("resize",e,!1),()=>{window.removeEventListener("resize",e,!1)}),[e])}function xF(e,t){return t==="rtl"?e.replace("start","right").replace("end","left"):e.replace("start","left").replace("end","right")}function wF(e){const t=Zi(e);if(!(e instanceof t.HTMLElement)&&!(e instanceof t.SVGElement))return!1;let{display:n,visibility:r}=e.style,i=n!=="none"&&r!=="hidden"&&r!=="collapse";if(i){const{getComputedStyle:s}=e.ownerDocument.defaultView;let{display:l,visibility:c}=s(e);i=l!=="none"&&c!=="hidden"&&c!=="collapse"}return i}function SF(e,t){return!e.hasAttribute("hidden")&&!e.hasAttribute("data-react-aria-prevent-focus")&&(e.nodeName==="DETAILS"&&t&&t.nodeName!=="SUMMARY"?e.hasAttribute("open"):!0)}function wT(e,t){return e.nodeName!=="#comment"&&wF(e)&&SF(e,t)&&(!e.parentElement||wT(e.parentElement,e))}function Ux(e){let t=e;return t.nativeEvent=e,t.isDefaultPrevented=()=>t.defaultPrevented,t.isPropagationStopped=()=>t.cancelBubble,t.persist=()=>{},t}function ST(e,t){Object.defineProperty(e,"target",{value:t}),Object.defineProperty(e,"currentTarget",{value:t})}function kT(e){let t=S.useRef({isFocused:!1,observer:null});en(()=>{const r=t.current;return()=>{r.observer&&(r.observer.disconnect(),r.observer=null)}},[]);let n=On(r=>{e?.(r)});return S.useCallback(r=>{if(r.target instanceof HTMLButtonElement||r.target instanceof HTMLInputElement||r.target instanceof HTMLTextAreaElement||r.target instanceof HTMLSelectElement){t.current.isFocused=!0;let i=r.target,s=l=>{if(t.current.isFocused=!1,i.disabled){let c=Ux(l);n(c)}t.current.observer&&(t.current.observer.disconnect(),t.current.observer=null)};i.addEventListener("focusout",s,{once:!0}),t.current.observer=new MutationObserver(()=>{if(t.current.isFocused&&i.disabled){var l;(l=t.current.observer)===null||l===void 0||l.disconnect();let c=i===document.activeElement?null:document.activeElement;i.dispatchEvent(new FocusEvent("blur",{relatedTarget:c})),i.dispatchEvent(new FocusEvent("focusout",{bubbles:!0,relatedTarget:c}))}}),t.current.observer.observe(i,{attributes:!0,attributeFilter:["disabled"]})}},[n])}let Kg=!1;function kF(e){for(;e&&!zE(e);)e=e.parentElement;let t=Zi(e),n=t.document.activeElement;if(!n||n===e)return;Kg=!0;let r=!1,i=m=>{(m.target===n||r)&&m.stopImmediatePropagation()},s=m=>{(m.target===n||r)&&(m.stopImmediatePropagation(),!e&&!r&&(r=!0,Ql(n),d()))},l=m=>{(m.target===e||r)&&m.stopImmediatePropagation()},c=m=>{(m.target===e||r)&&(m.stopImmediatePropagation(),r||(r=!0,Ql(n),d()))};t.addEventListener("blur",i,!0),t.addEventListener("focusout",s,!0),t.addEventListener("focusin",c,!0),t.addEventListener("focus",l,!0);let d=()=>{cancelAnimationFrame(h),t.removeEventListener("blur",i,!0),t.removeEventListener("focusout",s,!0),t.removeEventListener("focusin",c,!0),t.removeEventListener("focus",l,!0),Kg=!1,r=!1},h=requestAnimationFrame(d);return d}let uf="default",pb="",_g=new WeakMap;function CF(e){if(cv()){if(uf==="default"){const t=At(e);pb=t.documentElement.style.webkitUserSelect,t.documentElement.style.webkitUserSelect="none"}uf="disabled"}else if(e instanceof HTMLElement||e instanceof SVGElement){let t="userSelect"in e.style?"userSelect":"webkitUserSelect";_g.set(e,e.style[t]),e.style[t]="none"}}function BS(e){if(cv()){if(uf!=="disabled")return;uf="restoring",setTimeout(()=>{AE(()=>{if(uf==="restoring"){const t=At(e);t.documentElement.style.webkitUserSelect==="none"&&(t.documentElement.style.webkitUserSelect=pb||""),pb="",uf="default"}})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&_g.has(e)){let t=_g.get(e),n="userSelect"in e.style?"userSelect":"webkitUserSelect";e.style[n]==="none"&&(e.style[n]=t),e.getAttribute("style")===""&&e.removeAttribute("style"),_g.delete(e)}}const Kx=We.createContext({register:()=>{}});Kx.displayName="PressResponderContext";function EF(e,t){return t.get?t.get.call(e):t.value}function CT(e,t,n){if(!t.has(e))throw new TypeError("attempted to "+n+" private field on non-instance");return t.get(e)}function PF(e,t){var n=CT(e,t,"get");return EF(e,n)}function TF(e,t,n){if(t.set)t.set.call(e,n);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=n}}function VS(e,t,n){var r=CT(e,t,"set");return TF(e,r,n),n}function _F(e){let t=S.useContext(Kx);if(t){let{register:n,...r}=t;e=ar(r,e),n()}return LE(t,e.ref),e}var cg=new WeakMap;class fg{continuePropagation(){VS(this,cg,!1)}get shouldStopPropagation(){return PF(this,cg)}constructor(t,n,r,i){zL(this,cg,{writable:!0,value:void 0}),VS(this,cg,!0);var s;let l=(s=i?.target)!==null&&s!==void 0?s:r.currentTarget;const c=l?.getBoundingClientRect();let d,h=0,m,g=null;r.clientX!=null&&r.clientY!=null&&(m=r.clientX,g=r.clientY),c&&(m!=null&&g!=null?(d=m-c.left,h=g-c.top):(d=c.width/2,h=c.height/2)),this.type=t,this.pointerType=n,this.target=r.currentTarget,this.shiftKey=r.shiftKey,this.metaKey=r.metaKey,this.ctrlKey=r.ctrlKey,this.altKey=r.altKey,this.x=d,this.y=h}}const US=Symbol("linkClicked"),KS="react-aria-pressable-style",WS="data-react-aria-pressable";function mv(e){let{onPress:t,onPressChange:n,onPressStart:r,onPressEnd:i,onPressUp:s,onClick:l,isDisabled:c,isPressed:d,preventFocusOnPress:h,shouldCancelOnPointerExit:m,allowTextSelectionOnPress:g,ref:b,...x}=_F(e),[k,P]=S.useState(!1),_=S.useRef({isPressed:!1,ignoreEmulatedMouseEvents:!1,didFirePressStart:!1,isTriggeringEvent:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null,disposables:[]}),{addGlobalListener:T,removeAllGlobalListeners:A}=ax(),L=On((B,Y)=>{let te=_.current;if(c||te.didFirePressStart)return!1;let G=!0;if(te.isTriggeringEvent=!0,r){let fe=new fg("pressstart",Y,B);r(fe),G=fe.shouldStopPropagation}return n&&n(!0),te.isTriggeringEvent=!1,te.didFirePressStart=!0,P(!0),G}),z=On((B,Y,te=!0)=>{let G=_.current;if(!G.didFirePressStart)return!1;G.didFirePressStart=!1,G.isTriggeringEvent=!0;let fe=!0;if(i){let Z=new fg("pressend",Y,B);i(Z),fe=Z.shouldStopPropagation}if(n&&n(!1),P(!1),t&&te&&!c){let Z=new fg("press",Y,B);t(Z),fe&&(fe=Z.shouldStopPropagation)}return G.isTriggeringEvent=!1,fe}),K=On((B,Y)=>{let te=_.current;if(c)return!1;if(s){te.isTriggeringEvent=!0;let G=new fg("pressup",Y,B);return s(G),te.isTriggeringEvent=!1,G.shouldStopPropagation}return!0}),M=On(B=>{let Y=_.current;if(Y.isPressed&&Y.target){Y.didFirePressStart&&Y.pointerType!=null&&z(ru(Y.target,B),Y.pointerType,!1),Y.isPressed=!1,Y.isOverTarget=!1,Y.activePointerId=null,Y.pointerType=null,A(),g||BS(Y.target);for(let te of Y.disposables)te();Y.disposables=[]}}),J=On(B=>{m&&M(B)}),re=On(B=>{l?.(B)}),ae=On((B,Y)=>{if(l){let te=new MouseEvent("click",B);ST(te,Y),l(Ux(te))}}),j=S.useMemo(()=>{let B=_.current,Y={onKeyDown(G){if(s0(G.nativeEvent,G.currentTarget)&&ii(G.currentTarget,Sn(G.nativeEvent))){var fe;HS(Sn(G.nativeEvent),G.key)&&G.preventDefault();let Z=!0;if(!B.isPressed&&!G.repeat){B.target=G.currentTarget,B.isPressed=!0,B.pointerType="keyboard",Z=L(G,"keyboard");let q=G.currentTarget,W=se=>{s0(se,q)&&!se.repeat&&ii(q,Sn(se))&&B.target&&K(ru(B.target,se),"keyboard")};T(At(G.currentTarget),"keyup",bf(W,te),!0)}Z&&G.stopPropagation(),G.metaKey&&vu()&&((fe=B.metaKeyEvents)===null||fe===void 0||fe.set(G.key,G.nativeEvent))}else G.key==="Meta"&&(B.metaKeyEvents=new Map)},onClick(G){if(!(G&&!ii(G.currentTarget,Sn(G.nativeEvent)))&&G&&G.button===0&&!B.isTriggeringEvent&&!yu.isOpening){let fe=!0;if(c&&G.preventDefault(),!B.ignoreEmulatedMouseEvents&&!B.isPressed&&(B.pointerType==="virtual"||NE(G.nativeEvent))){let Z=L(G,"virtual"),q=K(G,"virtual"),W=z(G,"virtual");re(G),fe=Z&&q&&W}else if(B.isPressed&&B.pointerType!=="keyboard"){let Z=B.pointerType||G.nativeEvent.pointerType||"virtual",q=K(ru(G.currentTarget,G),Z),W=z(ru(G.currentTarget,G),Z,!0);fe=q&&W,B.isOverTarget=!1,re(G),M(G)}B.ignoreEmulatedMouseEvents=!1,fe&&G.stopPropagation()}}},te=G=>{var fe;if(B.isPressed&&B.target&&s0(G,B.target)){var Z;HS(Sn(G),G.key)&&G.preventDefault();let W=Sn(G),se=ii(B.target,Sn(G));z(ru(B.target,G),"keyboard",se),se&&ae(G,B.target),A(),G.key!=="Enter"&&Wx(B.target)&&ii(B.target,W)&&!G[US]&&(G[US]=!0,yu(B.target,G,!1)),B.isPressed=!1,(Z=B.metaKeyEvents)===null||Z===void 0||Z.delete(G.key)}else if(G.key==="Meta"&&(!((fe=B.metaKeyEvents)===null||fe===void 0)&&fe.size)){var q;let W=B.metaKeyEvents;B.metaKeyEvents=void 0;for(let se of W.values())(q=B.target)===null||q===void 0||q.dispatchEvent(new KeyboardEvent("keyup",se))}};if(typeof PointerEvent<"u"){Y.onPointerDown=Z=>{if(Z.button!==0||!ii(Z.currentTarget,Sn(Z.nativeEvent)))return;if(dM(Z.nativeEvent)){B.pointerType="virtual";return}B.pointerType=Z.pointerType;let q=!0;if(!B.isPressed){B.isPressed=!0,B.isOverTarget=!0,B.activePointerId=Z.pointerId,B.target=Z.currentTarget,g||CF(B.target),q=L(Z,B.pointerType);let W=Sn(Z.nativeEvent);"releasePointerCapture"in W&&W.releasePointerCapture(Z.pointerId),T(At(Z.currentTarget),"pointerup",G,!1),T(At(Z.currentTarget),"pointercancel",fe,!1)}q&&Z.stopPropagation()},Y.onMouseDown=Z=>{if(ii(Z.currentTarget,Sn(Z.nativeEvent))&&Z.button===0){if(h){let q=kF(Z.target);q&&B.disposables.push(q)}Z.stopPropagation()}},Y.onPointerUp=Z=>{!ii(Z.currentTarget,Sn(Z.nativeEvent))||B.pointerType==="virtual"||Z.button===0&&!B.isPressed&&K(Z,B.pointerType||Z.pointerType)},Y.onPointerEnter=Z=>{Z.pointerId===B.activePointerId&&B.target&&!B.isOverTarget&&B.pointerType!=null&&(B.isOverTarget=!0,L(ru(B.target,Z),B.pointerType))},Y.onPointerLeave=Z=>{Z.pointerId===B.activePointerId&&B.target&&B.isOverTarget&&B.pointerType!=null&&(B.isOverTarget=!1,z(ru(B.target,Z),B.pointerType,!1),J(Z))};let G=Z=>{if(Z.pointerId===B.activePointerId&&B.isPressed&&Z.button===0&&B.target){if(ii(B.target,Sn(Z))&&B.pointerType!=null){let q=!1,W=setTimeout(()=>{B.isPressed&&B.target instanceof HTMLElement&&(q?M(Z):(Ql(B.target),B.target.click()))},80);T(Z.currentTarget,"click",()=>q=!0,!0),B.disposables.push(()=>clearTimeout(W))}else M(Z);B.isOverTarget=!1}},fe=Z=>{M(Z)};Y.onDragStart=Z=>{ii(Z.currentTarget,Sn(Z.nativeEvent))&&M(Z)}}return Y},[T,c,h,A,g,M,J,z,L,K,re,ae]);return S.useEffect(()=>{if(!b)return;const B=At(b.current);if(!B||!B.head||B.getElementById(KS))return;const Y=B.createElement("style");Y.id=KS,Y.textContent=` -@layer { - [${WS}] { - touch-action: pan-x pan-y pinch-zoom; - } -} - `.trim(),B.head.prepend(Y)},[b]),S.useEffect(()=>{let B=_.current;return()=>{var Y;g||BS((Y=B.target)!==null&&Y!==void 0?Y:void 0);for(let te of B.disposables)te();B.disposables=[]}},[g]),{isPressed:d||k,pressProps:ar(x,j,{[WS]:!0})}}function Wx(e){return e.tagName==="A"&&e.hasAttribute("href")}function s0(e,t){const{key:n,code:r}=e,i=t,s=i.getAttribute("role");return(n==="Enter"||n===" "||n==="Spacebar"||r==="Space")&&!(i instanceof Zi(i).HTMLInputElement&&!ET(i,n)||i instanceof Zi(i).HTMLTextAreaElement||i.isContentEditable)&&!((s==="link"||!s&&Wx(i))&&n!=="Enter")}function ru(e,t){let n=t.clientX,r=t.clientY;return{currentTarget:e,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,altKey:t.altKey,clientX:n,clientY:r}}function $F(e){return e instanceof HTMLInputElement?!1:e instanceof HTMLButtonElement?e.type!=="submit"&&e.type!=="reset":!Wx(e)}function HS(e,t){return e instanceof HTMLInputElement?!ET(e,t):$F(e)}const IF=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function ET(e,t){return e.type==="checkbox"||e.type==="radio"?t===" ":IF.has(e.type)}let Zs=null,th=new Set,Fp=new Map,bu=!1,hb=!1;const AF={Tab:!0,Escape:!0};function gv(e,t){for(let n of th)n(e,t)}function RF(e){return!(e.metaKey||!vu()&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function Wg(e){bu=!0,RF(e)&&(Zs="keyboard",gv("keyboard",e))}function pf(e){Zs="pointer",(e.type==="mousedown"||e.type==="pointerdown")&&(bu=!0,gv("pointer",e))}function PT(e){NE(e)&&(bu=!0,Zs="virtual")}function TT(e){e.target===window||e.target===document||Kg||!e.isTrusted||(!bu&&!hb&&(Zs="virtual",gv("virtual",e)),bu=!1,hb=!1)}function _T(){Kg||(bu=!1,hb=!0)}function Hg(e){if(typeof window>"u"||typeof document>"u"||Fp.get(Zi(e)))return;const t=Zi(e),n=At(e);let r=t.HTMLElement.prototype.focus;t.HTMLElement.prototype.focus=function(){bu=!0,r.apply(this,arguments)},n.addEventListener("keydown",Wg,!0),n.addEventListener("keyup",Wg,!0),n.addEventListener("click",PT,!0),t.addEventListener("focus",TT,!0),t.addEventListener("blur",_T,!1),typeof PointerEvent<"u"&&(n.addEventListener("pointerdown",pf,!0),n.addEventListener("pointermove",pf,!0),n.addEventListener("pointerup",pf,!0)),t.addEventListener("beforeunload",()=>{$T(e)},{once:!0}),Fp.set(t,{focus:r})}const $T=(e,t)=>{const n=Zi(e),r=At(e);t&&r.removeEventListener("DOMContentLoaded",t),Fp.has(n)&&(n.HTMLElement.prototype.focus=Fp.get(n).focus,r.removeEventListener("keydown",Wg,!0),r.removeEventListener("keyup",Wg,!0),r.removeEventListener("click",PT,!0),n.removeEventListener("focus",TT,!0),n.removeEventListener("blur",_T,!1),typeof PointerEvent<"u"&&(r.removeEventListener("pointerdown",pf,!0),r.removeEventListener("pointermove",pf,!0),r.removeEventListener("pointerup",pf,!0)),Fp.delete(n))};function LF(e){const t=At(e);let n;return t.readyState!=="loading"?Hg(e):(n=()=>{Hg(e)},t.addEventListener("DOMContentLoaded",n)),()=>$T(e,n)}typeof document<"u"&&LF();function Hx(){return Zs!=="pointer"}function nh(){return Zs}function MF(e){Zs=e,gv(e,null)}function OG(){Hg();let[e,t]=S.useState(Zs);return S.useEffect(()=>{let n=()=>{t(Zs)};return th.add(n),()=>{th.delete(n)}},[]),fh()?null:e}const DF=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function NF(e,t,n){let r=At(n?.target);const i=typeof window<"u"?Zi(n?.target).HTMLInputElement:HTMLInputElement,s=typeof window<"u"?Zi(n?.target).HTMLTextAreaElement:HTMLTextAreaElement,l=typeof window<"u"?Zi(n?.target).HTMLElement:HTMLElement,c=typeof window<"u"?Zi(n?.target).KeyboardEvent:KeyboardEvent;return e=e||r.activeElement instanceof i&&!DF.has(r.activeElement.type)||r.activeElement instanceof s||r.activeElement instanceof l&&r.activeElement.isContentEditable,!(e&&t==="keyboard"&&n instanceof c&&!AF[n.key])}function FF(e,t,n){Hg(),S.useEffect(()=>{let r=(i,s)=>{NF(!!n?.isTextInput,i,s)&&e(Hx())};return th.add(r),()=>{th.delete(r)}},t)}function xu(e){const t=At(e),n=Dr(t);if(nh()==="virtual"){let r=n;AE(()=>{Dr(t)===r&&e.isConnected&&Ql(e)})}else Ql(e)}function IT(e){let{isDisabled:t,onFocus:n,onBlur:r,onFocusChange:i}=e;const s=S.useCallback(d=>{if(d.target===d.currentTarget)return r&&r(d),i&&i(!1),!0},[r,i]),l=kT(s),c=S.useCallback(d=>{const h=At(d.target),m=h?Dr(h):Dr();d.target===d.currentTarget&&m===Sn(d.nativeEvent)&&(n&&n(d),i&&i(!0),l(d))},[i,n,l]);return{focusProps:{onFocus:!t&&(n||i||r)?c:void 0,onBlur:!t&&(r||i)?s:void 0}}}function GS(e){if(!e)return;let t=!0;return n=>{let r={...n,preventDefault(){n.preventDefault()},isDefaultPrevented(){return n.isDefaultPrevented()},stopPropagation(){t=!0},continuePropagation(){t=!1},isPropagationStopped(){return t}};e(r),t&&n.stopPropagation()}}function OF(e){return{keyboardProps:e.isDisabled?{}:{onKeyDown:GS(e.onKeyDown),onKeyUp:GS(e.onKeyUp)}}}let zF=We.createContext(null);function jF(e){let t=S.useContext(zF)||{};LE(t,e);let{ref:n,...r}=t;return r}function vv(e,t){let{focusProps:n}=IT(e),{keyboardProps:r}=OF(e),i=ar(n,r),s=jF(t),l=e.isDisabled?{}:s,c=S.useRef(e.autoFocus);S.useEffect(()=>{c.current&&t.current&&xu(t.current),c.current=!1},[t]);let d=e.excludeFromTabOrder?-1:0;return e.isDisabled&&(d=void 0),{focusableProps:ar({...i,tabIndex:d},l)}}function BF({children:e}){let t=S.useMemo(()=>({register:()=>{}}),[]);return We.createElement(Kx.Provider,{value:t},e)}function yv(e){let{isDisabled:t,onBlurWithin:n,onFocusWithin:r,onFocusWithinChange:i}=e,s=S.useRef({isFocusWithin:!1}),{addGlobalListener:l,removeAllGlobalListeners:c}=ax(),d=S.useCallback(g=>{g.currentTarget.contains(g.target)&&s.current.isFocusWithin&&!g.currentTarget.contains(g.relatedTarget)&&(s.current.isFocusWithin=!1,c(),n&&n(g),i&&i(!1))},[n,i,s,c]),h=kT(d),m=S.useCallback(g=>{if(!g.currentTarget.contains(g.target))return;const b=At(g.target),x=Dr(b);if(!s.current.isFocusWithin&&x===Sn(g.nativeEvent)){r&&r(g),i&&i(!0),s.current.isFocusWithin=!0,h(g);let k=g.currentTarget;l(b,"focus",P=>{if(s.current.isFocusWithin&&!ii(k,P.target)){let _=new b.defaultView.FocusEvent("blur",{relatedTarget:P.target});ST(_,k);let T=Ux(_);d(T)}},{capture:!0})}},[r,i,h,l,d]);return t?{focusWithinProps:{onFocus:void 0,onBlur:void 0}}:{focusWithinProps:{onFocus:m,onBlur:d}}}let mb=!1,l0=0;function VF(){mb=!0,setTimeout(()=>{mb=!1},50)}function qS(e){e.pointerType==="touch"&&VF()}function UF(){if(!(typeof document>"u"))return typeof PointerEvent<"u"&&document.addEventListener("pointerup",qS),l0++,()=>{l0--,!(l0>0)&&typeof PointerEvent<"u"&&document.removeEventListener("pointerup",qS)}}function Cf(e){let{onHoverStart:t,onHoverChange:n,onHoverEnd:r,isDisabled:i}=e,[s,l]=S.useState(!1),c=S.useRef({isHovered:!1,ignoreEmulatedMouseEvents:!1,pointerType:"",target:null}).current;S.useEffect(UF,[]);let{addGlobalListener:d,removeAllGlobalListeners:h}=ax(),{hoverProps:m,triggerHoverEnd:g}=S.useMemo(()=>{let b=(P,_)=>{if(c.pointerType=_,i||_==="touch"||c.isHovered||!P.currentTarget.contains(P.target))return;c.isHovered=!0;let T=P.currentTarget;c.target=T,d(At(P.target),"pointerover",A=>{c.isHovered&&c.target&&!ii(c.target,A.target)&&x(A,A.pointerType)},{capture:!0}),t&&t({type:"hoverstart",target:T,pointerType:_}),n&&n(!0),l(!0)},x=(P,_)=>{let T=c.target;c.pointerType="",c.target=null,!(_==="touch"||!c.isHovered||!T)&&(c.isHovered=!1,h(),r&&r({type:"hoverend",target:T,pointerType:_}),n&&n(!1),l(!1))},k={};return typeof PointerEvent<"u"&&(k.onPointerEnter=P=>{mb&&P.pointerType==="mouse"||b(P,P.pointerType)},k.onPointerLeave=P=>{!i&&P.currentTarget.contains(P.target)&&x(P,P.pointerType)}),{hoverProps:k,triggerHoverEnd:x}},[t,n,r,i,c,d,h]);return S.useEffect(()=>{i&&g({currentTarget:c.target},c.pointerType)},[i]),{hoverProps:m,isHovered:s}}function KF(e){let{ref:t,onInteractOutside:n,isDisabled:r,onInteractOutsideStart:i}=e,s=S.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}),l=On(d=>{n&&YS(d,t)&&(i&&i(d),s.current.isPointerDown=!0)}),c=On(d=>{n&&n(d)});S.useEffect(()=>{let d=s.current;if(r)return;const h=t.current,m=At(h);if(typeof PointerEvent<"u"){let g=b=>{d.isPointerDown&&YS(b,t)&&c(b),d.isPointerDown=!1};return m.addEventListener("pointerdown",l,!0),m.addEventListener("click",g,!0),()=>{m.removeEventListener("pointerdown",l,!0),m.removeEventListener("click",g,!0)}}},[t,r,l,c])}function YS(e,t){if(e.button>0)return!1;if(e.target){const n=e.target.ownerDocument;if(!n||!n.documentElement.contains(e.target)||e.target.closest("[data-react-aria-top-layer]"))return!1}return t.current?!e.composedPath().includes(t.current):!1}const XS=We.createContext(null),gb="react-aria-focus-scope-restore";let Ht=null;function WF(e){let{children:t,contain:n,restoreFocus:r,autoFocus:i}=e,s=S.useRef(null),l=S.useRef(null),c=S.useRef([]),{parentNode:d}=S.useContext(XS)||{},h=S.useMemo(()=>new yb({scopeRef:c}),[c]);en(()=>{let b=d||$n.root;if($n.getTreeNode(b.scopeRef)&&Ht&&!Gg(Ht,b.scopeRef)){let x=$n.getTreeNode(Ht);x&&(b=x)}b.addChild(h),$n.addNode(h)},[h,d]),en(()=>{let b=$n.getTreeNode(c);b&&(b.contain=!!n)},[n]),en(()=>{var b;let x=(b=s.current)===null||b===void 0?void 0:b.nextSibling,k=[],P=_=>_.stopPropagation();for(;x&&x!==l.current;)k.push(x),x.addEventListener(gb,P),x=x.nextSibling;return c.current=k,()=>{for(let _ of k)_.removeEventListener(gb,P)}},[t]),XF(c,r,n),GF(c,n),QF(c,r,n),YF(c,i),S.useEffect(()=>{const b=Dr(At(c.current?c.current[0]:void 0));let x=null;if(to(b,c.current)){for(let k of $n.traverse())k.scopeRef&&to(b,k.scopeRef.current)&&(x=k);x===$n.getTreeNode(c)&&(Ht=x.scopeRef)}},[c]),en(()=>()=>{var b,x,k;let P=(k=(x=$n.getTreeNode(c))===null||x===void 0||(b=x.parent)===null||b===void 0?void 0:b.scopeRef)!==null&&k!==void 0?k:null;(c===Ht||Gg(c,Ht))&&(!P||$n.getTreeNode(P))&&(Ht=P),$n.removeTreeNode(c)},[c]);let m=S.useMemo(()=>HF(c),[]),g=S.useMemo(()=>({focusManager:m,parentNode:h}),[h,m]);return We.createElement(XS.Provider,{value:g},We.createElement("span",{"data-focus-scope-start":!0,hidden:!0,ref:s}),t,We.createElement("span",{"data-focus-scope-end":!0,hidden:!0,ref:l}))}function HF(e){return{focusNext(t={}){let n=e.current,{from:r,tabbable:i,wrap:s,accept:l}=t;var c;let d=r||Dr(At((c=n[0])!==null&&c!==void 0?c:void 0)),h=n[0].previousElementSibling,m=pu(n),g=Xs(m,{tabbable:i,accept:l},n);g.currentNode=to(d,n)?d:h;let b=g.nextNode();return!b&&s&&(g.currentNode=h,b=g.nextNode()),b&&Ys(b,!0),b},focusPrevious(t={}){let n=e.current,{from:r,tabbable:i,wrap:s,accept:l}=t;var c;let d=r||Dr(At((c=n[0])!==null&&c!==void 0?c:void 0)),h=n[n.length-1].nextElementSibling,m=pu(n),g=Xs(m,{tabbable:i,accept:l},n);g.currentNode=to(d,n)?d:h;let b=g.previousNode();return!b&&s&&(g.currentNode=h,b=g.previousNode()),b&&Ys(b,!0),b},focusFirst(t={}){let n=e.current,{tabbable:r,accept:i}=t,s=pu(n),l=Xs(s,{tabbable:r,accept:i},n);l.currentNode=n[0].previousElementSibling;let c=l.nextNode();return c&&Ys(c,!0),c},focusLast(t={}){let n=e.current,{tabbable:r,accept:i}=t,s=pu(n),l=Xs(s,{tabbable:r,accept:i},n);l.currentNode=n[n.length-1].nextElementSibling;let c=l.previousNode();return c&&Ys(c,!0),c}}}function pu(e){return e[0].parentElement}function _p(e){let t=$n.getTreeNode(Ht);for(;t&&t.scopeRef!==e;){if(t.contain)return!1;t=t.parent}return!0}function GF(e,t){let n=S.useRef(void 0),r=S.useRef(void 0);en(()=>{let i=e.current;if(!t){r.current&&(cancelAnimationFrame(r.current),r.current=void 0);return}const s=At(i?i[0]:void 0);let l=h=>{if(h.key!=="Tab"||h.altKey||h.ctrlKey||h.metaKey||!_p(e)||h.isComposing)return;let m=Dr(s),g=e.current;if(!g||!to(m,g))return;let b=pu(g),x=Xs(b,{tabbable:!0},g);if(!m)return;x.currentNode=m;let k=h.shiftKey?x.previousNode():x.nextNode();k||(x.currentNode=h.shiftKey?g[g.length-1].nextElementSibling:g[0].previousElementSibling,k=h.shiftKey?x.previousNode():x.nextNode()),h.preventDefault(),k&&Ys(k,!0)},c=h=>{(!Ht||Gg(Ht,e))&&to(Sn(h),e.current)?(Ht=e,n.current=Sn(h)):_p(e)&&!ql(Sn(h),e)?n.current?n.current.focus():Ht&&Ht.current&&vb(Ht.current):_p(e)&&(n.current=Sn(h))},d=h=>{r.current&&cancelAnimationFrame(r.current),r.current=requestAnimationFrame(()=>{let m=nh(),g=(m==="virtual"||m===null)&&sx()&&_E(),b=Dr(s);if(!g&&b&&_p(e)&&!ql(b,e)){Ht=e;let k=Sn(h);if(k&&k.isConnected){var x;n.current=k,(x=n.current)===null||x===void 0||x.focus()}else Ht.current&&vb(Ht.current)}})};return s.addEventListener("keydown",l,!1),s.addEventListener("focusin",c,!1),i?.forEach(h=>h.addEventListener("focusin",c,!1)),i?.forEach(h=>h.addEventListener("focusout",d,!1)),()=>{s.removeEventListener("keydown",l,!1),s.removeEventListener("focusin",c,!1),i?.forEach(h=>h.removeEventListener("focusin",c,!1)),i?.forEach(h=>h.removeEventListener("focusout",d,!1))}},[e,t]),en(()=>()=>{r.current&&cancelAnimationFrame(r.current)},[r])}function AT(e){return ql(e)}function to(e,t){return!e||!t?!1:t.some(n=>n.contains(e))}function ql(e,t=null){if(e instanceof Element&&e.closest("[data-react-aria-top-layer]"))return!0;for(let{scopeRef:n}of $n.traverse($n.getTreeNode(t)))if(n&&to(e,n.current))return!0;return!1}function qF(e){return ql(e,Ht)}function Gg(e,t){var n;let r=(n=$n.getTreeNode(t))===null||n===void 0?void 0:n.parent;for(;r;){if(r.scopeRef===e)return!0;r=r.parent}return!1}function Ys(e,t=!1){if(e!=null&&!t)try{xu(e)}catch{}else if(e!=null)try{e.focus()}catch{}}function RT(e,t=!0){let n=e[0].previousElementSibling,r=pu(e),i=Xs(r,{tabbable:t},e);i.currentNode=n;let s=i.nextNode();return t&&!s&&(r=pu(e),i=Xs(r,{tabbable:!1},e),i.currentNode=n,s=i.nextNode()),s}function vb(e,t=!0){Ys(RT(e,t))}function YF(e,t){const n=We.useRef(t);S.useEffect(()=>{if(n.current){Ht=e;const r=At(e.current?e.current[0]:void 0);!to(Dr(r),Ht.current)&&e.current&&vb(e.current)}n.current=!1},[e])}function XF(e,t,n){en(()=>{if(t||n)return;let r=e.current;const i=At(r?r[0]:void 0);let s=l=>{let c=Sn(l);to(c,e.current)?Ht=e:AT(c)||(Ht=null)};return i.addEventListener("focusin",s,!1),r?.forEach(l=>l.addEventListener("focusin",s,!1)),()=>{i.removeEventListener("focusin",s,!1),r?.forEach(l=>l.removeEventListener("focusin",s,!1))}},[e,t,n])}function QS(e){let t=$n.getTreeNode(Ht);for(;t&&t.scopeRef!==e;){if(t.nodeToRestore)return!1;t=t.parent}return t?.scopeRef===e}function QF(e,t,n){const r=S.useRef(typeof document<"u"?Dr(At(e.current?e.current[0]:void 0)):null);en(()=>{let i=e.current;const s=At(i?i[0]:void 0);if(!t||n)return;let l=()=>{(!Ht||Gg(Ht,e))&&to(Dr(s),e.current)&&(Ht=e)};return s.addEventListener("focusin",l,!1),i?.forEach(c=>c.addEventListener("focusin",l,!1)),()=>{s.removeEventListener("focusin",l,!1),i?.forEach(c=>c.removeEventListener("focusin",l,!1))}},[e,n]),en(()=>{const i=At(e.current?e.current[0]:void 0);if(!t)return;let s=l=>{if(l.key!=="Tab"||l.altKey||l.ctrlKey||l.metaKey||!_p(e)||l.isComposing)return;let c=i.activeElement;if(!ql(c,e)||!QS(e))return;let d=$n.getTreeNode(e);if(!d)return;let h=d.nodeToRestore,m=Xs(i.body,{tabbable:!0});m.currentNode=c;let g=l.shiftKey?m.previousNode():m.nextNode();if((!h||!h.isConnected||h===i.body)&&(h=void 0,d.nodeToRestore=void 0),(!g||!ql(g,e))&&h){m.currentNode=h;do g=l.shiftKey?m.previousNode():m.nextNode();while(ql(g,e));l.preventDefault(),l.stopPropagation(),g?Ys(g,!0):AT(h)?Ys(h,!0):c.blur()}};return n||i.addEventListener("keydown",s,!0),()=>{n||i.removeEventListener("keydown",s,!0)}},[e,t,n]),en(()=>{const i=At(e.current?e.current[0]:void 0);if(!t)return;let s=$n.getTreeNode(e);if(s){var l;return s.nodeToRestore=(l=r.current)!==null&&l!==void 0?l:void 0,()=>{let c=$n.getTreeNode(e);if(!c)return;let d=c.nodeToRestore,h=Dr(i);if(t&&d&&(h&&ql(h,e)||h===i.body&&QS(e))){let m=$n.clone();requestAnimationFrame(()=>{if(i.activeElement===i.body){let g=m.getTreeNode(e);for(;g;){if(g.nodeToRestore&&g.nodeToRestore.isConnected){JS(g.nodeToRestore);return}g=g.parent}for(g=m.getTreeNode(e);g;){if(g.scopeRef&&g.scopeRef.current&&$n.getTreeNode(g.scopeRef)){let b=RT(g.scopeRef.current,!0);JS(b);return}g=g.parent}}})}}}},[e,t])}function JS(e){e.dispatchEvent(new CustomEvent(gb,{bubbles:!0,cancelable:!0}))&&Ys(e)}function Xs(e,t,n){let r=t?.tabbable?yM:zE,i=e?.nodeType===Node.ELEMENT_NODE?e:null,s=At(i),l=qL(s,e||s,NodeFilter.SHOW_ELEMENT,{acceptNode(c){var d;return!(t==null||(d=t.from)===null||d===void 0)&&d.contains(c)?NodeFilter.FILTER_REJECT:r(c)&&wT(c)&&(!n||to(c,n))&&(!t?.accept||t.accept(c))?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});return t?.from&&(l.currentNode=t.from),l}class Gx{get size(){return this.fastMap.size}getTreeNode(t){return this.fastMap.get(t)}addTreeNode(t,n,r){let i=this.fastMap.get(n??null);if(!i)return;let s=new yb({scopeRef:t});i.addChild(s),s.parent=i,this.fastMap.set(t,s),r&&(s.nodeToRestore=r)}addNode(t){this.fastMap.set(t.scopeRef,t)}removeTreeNode(t){if(t===null)return;let n=this.fastMap.get(t);if(!n)return;let r=n.parent;for(let s of this.traverse())s!==n&&n.nodeToRestore&&s.nodeToRestore&&n.scopeRef&&n.scopeRef.current&&to(s.nodeToRestore,n.scopeRef.current)&&(s.nodeToRestore=n.nodeToRestore);let i=n.children;r&&(r.removeChild(n),i.size>0&&i.forEach(s=>r&&r.addChild(s))),this.fastMap.delete(n.scopeRef)}*traverse(t=this.root){if(t.scopeRef!=null&&(yield t),t.children.size>0)for(let n of t.children)yield*this.traverse(n)}clone(){var t;let n=new Gx;var r;for(let i of this.traverse())n.addTreeNode(i.scopeRef,(r=(t=i.parent)===null||t===void 0?void 0:t.scopeRef)!==null&&r!==void 0?r:null,i.nodeToRestore);return n}constructor(){this.fastMap=new Map,this.root=new yb({scopeRef:null}),this.fastMap.set(null,this.root)}}class yb{addChild(t){this.children.add(t),t.parent=this}removeChild(t){this.children.delete(t),t.parent=void 0}constructor(t){this.children=new Set,this.contain=!1,this.scopeRef=t.scopeRef}}let $n=new Gx;function rh(e={}){let{autoFocus:t=!1,isTextInput:n,within:r}=e,i=S.useRef({isFocused:!1,isFocusVisible:t||Hx()}),[s,l]=S.useState(!1),[c,d]=S.useState(()=>i.current.isFocused&&i.current.isFocusVisible),h=S.useCallback(()=>d(i.current.isFocused&&i.current.isFocusVisible),[]),m=S.useCallback(x=>{i.current.isFocused=x,l(x),h()},[h]);FF(x=>{i.current.isFocusVisible=x,h()},[],{isTextInput:n});let{focusProps:g}=IT({isDisabled:r,onFocusChange:m}),{focusWithinProps:b}=yv({isDisabled:!r,onFocusWithinChange:m});return{isFocused:s,isFocusVisible:c,focusProps:r?b:g}}function JF(e){let t=t5(At(e));t!==e&&(t&&ZF(t,e),e&&e5(e,t))}function ZF(e,t){e.dispatchEvent(new FocusEvent("blur",{relatedTarget:t})),e.dispatchEvent(new FocusEvent("focusout",{bubbles:!0,relatedTarget:t}))}function e5(e,t){e.dispatchEvent(new FocusEvent("focus",{relatedTarget:t})),e.dispatchEvent(new FocusEvent("focusin",{bubbles:!0,relatedTarget:t}))}function t5(e){let t=Dr(e),n=t?.getAttribute("aria-activedescendant");return n&&e.getElementById(n)||t}const a0=typeof document<"u"&&window.visualViewport,n5=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);let dg=0,u0;function r5(e={}){let{isDisabled:t}=e;en(()=>{if(!t)return dg++,dg===1&&(cv()?u0=o5():u0=i5()),()=>{dg--,dg===0&&u0()}},[t])}function i5(){let e=window.innerWidth-document.documentElement.clientWidth;return bf(e>0&&("scrollbarGutter"in document.documentElement.style?hu(document.documentElement,"scrollbarGutter","stable"):hu(document.documentElement,"paddingRight",`${e}px`)),hu(document.documentElement,"overflow","hidden"))}function o5(){let e,t,n=h=>{e=ME(h.target,!0),!(e===document.documentElement&&e===document.body)&&e instanceof HTMLElement&&window.getComputedStyle(e).overscrollBehavior==="auto"&&(t=hu(e,"overscrollBehavior","contain"))},r=h=>{if(!e||e===document.documentElement||e===document.body){h.preventDefault();return}e.scrollHeight===e.clientHeight&&e.scrollWidth===e.clientWidth&&h.preventDefault()},i=()=>{t&&t()},s=h=>{let m=h.target;s5(m)&&(c(),m.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{m.style.transform="",a0&&(a0.height{ZS(m)}):a0.addEventListener("resize",()=>ZS(m),{once:!0}))}))},l=null,c=()=>{if(l)return;let h=()=>{window.scrollTo(0,0)},m=window.pageXOffset,g=window.pageYOffset;l=bf(dp(window,"scroll",h),hu(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),hu(document.documentElement,"overflow","hidden"),hu(document.body,"marginTop",`-${g}px`),()=>{window.scrollTo(m,g)}),window.scrollTo(0,0)},d=bf(dp(document,"touchstart",n,{passive:!1,capture:!0}),dp(document,"touchmove",r,{passive:!1,capture:!0}),dp(document,"touchend",i,{passive:!1,capture:!0}),dp(document,"focus",s,!0));return()=>{t?.(),l?.(),d()}}function hu(e,t,n){let r=e.style[t];return e.style[t]=n,()=>{e.style[t]=r}}function dp(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function ZS(e){let t=document.scrollingElement||document.documentElement,n=e;for(;n&&n!==t;){let r=ME(n);if(r!==document.documentElement&&r!==document.body&&r!==n){let i=r.getBoundingClientRect().top,s=n.getBoundingClientRect().top;s>i+n.clientHeight&&(r.scrollTop+=s-i)}n=r.parentElement}}function s5(e){return e instanceof HTMLInputElement&&!n5.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}const l5=S.createContext({});function LT(){var e;return(e=S.useContext(l5))!==null&&e!==void 0?e:{}}const bb=We.createContext(null);function a5(e){let{children:t}=e,n=S.useContext(bb),[r,i]=S.useState(0),s=S.useMemo(()=>({parent:n,modalCount:r,addModal(){i(l=>l+1),n&&n.addModal()},removeModal(){i(l=>l-1),n&&n.removeModal()}}),[n,r]);return We.createElement(bb.Provider,{value:s},t)}function u5(){let e=S.useContext(bb);return{modalProviderProps:{"aria-hidden":e&&e.modalCount>0?!0:void 0}}}function c5(e){let{modalProviderProps:t}=u5();return We.createElement("div",{"data-overlay-container":!0,...e,...t})}function MT(e){return We.createElement(a5,null,We.createElement(c5,e))}function ek(e){let t=fh(),{portalContainer:n=t?null:document.body,...r}=e,{getContainer:i}=LT();if(!e.portalContainer&&i&&(n=i()),We.useEffect(()=>{if(n?.closest("[data-overlay-container]"))throw new Error("An OverlayContainer must not be inside another container. Please change the portalContainer prop.")},[n]),!n)return null;let s=We.createElement(MT,r);return OE.createPortal(s,n)}var DT={};DT={dismiss:"تجاهل"};var NT={};NT={dismiss:"Отхвърляне"};var FT={};FT={dismiss:"Odstranit"};var OT={};OT={dismiss:"Luk"};var zT={};zT={dismiss:"Schließen"};var jT={};jT={dismiss:"Απόρριψη"};var BT={};BT={dismiss:"Dismiss"};var VT={};VT={dismiss:"Descartar"};var UT={};UT={dismiss:"Lõpeta"};var KT={};KT={dismiss:"Hylkää"};var WT={};WT={dismiss:"Rejeter"};var HT={};HT={dismiss:"התעלם"};var GT={};GT={dismiss:"Odbaci"};var qT={};qT={dismiss:"Elutasítás"};var YT={};YT={dismiss:"Ignora"};var XT={};XT={dismiss:"閉じる"};var QT={};QT={dismiss:"무시"};var JT={};JT={dismiss:"Atmesti"};var ZT={};ZT={dismiss:"Nerādīt"};var e_={};e_={dismiss:"Lukk"};var t_={};t_={dismiss:"Negeren"};var n_={};n_={dismiss:"Zignoruj"};var r_={};r_={dismiss:"Descartar"};var i_={};i_={dismiss:"Dispensar"};var o_={};o_={dismiss:"Revocare"};var s_={};s_={dismiss:"Пропустить"};var l_={};l_={dismiss:"Zrušiť"};var a_={};a_={dismiss:"Opusti"};var u_={};u_={dismiss:"Odbaci"};var c_={};c_={dismiss:"Avvisa"};var f_={};f_={dismiss:"Kapat"};var d_={};d_={dismiss:"Скасувати"};var p_={};p_={dismiss:"取消"};var h_={};h_={dismiss:"關閉"};var m_={};m_={"ar-AE":DT,"bg-BG":NT,"cs-CZ":FT,"da-DK":OT,"de-DE":zT,"el-GR":jT,"en-US":BT,"es-ES":VT,"et-EE":UT,"fi-FI":KT,"fr-FR":WT,"he-IL":HT,"hr-HR":GT,"hu-HU":qT,"it-IT":YT,"ja-JP":XT,"ko-KR":QT,"lt-LT":JT,"lv-LV":ZT,"nb-NO":e_,"nl-NL":t_,"pl-PL":n_,"pt-BR":r_,"pt-PT":i_,"ro-RO":o_,"ru-RU":s_,"sk-SK":l_,"sl-SI":a_,"sr-SP":u_,"sv-SE":c_,"tr-TR":f_,"uk-UA":d_,"zh-CN":p_,"zh-TW":h_};const tk={border:0,clip:"rect(0 0 0 0)",clipPath:"inset(50%)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap"};function f5(e={}){let{style:t,isFocusable:n}=e,[r,i]=S.useState(!1),{focusWithinProps:s}=yv({isDisabled:!n,onFocusWithinChange:c=>i(c)}),l=S.useMemo(()=>r?t:t?{...tk,...t}:tk,[r]);return{visuallyHiddenProps:{...s,style:l}}}function d5(e){let{children:t,elementType:n="div",isFocusable:r,style:i,...s}=e,{visuallyHiddenProps:l}=f5(e);return We.createElement(n,ar(s,l),t)}function p5(e){return e&&e.__esModule?e.default:e}function nk(e){let{onDismiss:t,...n}=e,r=FL(p5(m_),"@react-aria/overlays"),i=RE(n,r.format("dismiss")),s=()=>{t&&t()};return We.createElement(d5,null,We.createElement("button",{...i,tabIndex:-1,onClick:s,style:{width:1,height:1}}))}let pp=new WeakMap,qi=[];function h5(e,t=document.body){let n=new Set(e),r=new Set,i=d=>{for(let b of d.querySelectorAll("[data-live-announcer], [data-react-aria-top-layer]"))n.add(b);let h=b=>{if(n.has(b)||b.parentElement&&r.has(b.parentElement)&&b.parentElement.getAttribute("role")!=="row")return NodeFilter.FILTER_REJECT;for(let x of n)if(b.contains(x))return NodeFilter.FILTER_SKIP;return NodeFilter.FILTER_ACCEPT},m=document.createTreeWalker(d,NodeFilter.SHOW_ELEMENT,{acceptNode:h}),g=h(d);if(g===NodeFilter.FILTER_ACCEPT&&s(d),g!==NodeFilter.FILTER_REJECT){let b=m.nextNode();for(;b!=null;)s(b),b=m.nextNode()}},s=d=>{var h;let m=(h=pp.get(d))!==null&&h!==void 0?h:0;d.getAttribute("aria-hidden")==="true"&&m===0||(m===0&&d.setAttribute("aria-hidden","true"),r.add(d),pp.set(d,m+1))};qi.length&&qi[qi.length-1].disconnect(),i(t);let l=new MutationObserver(d=>{for(let h of d)if(!(h.type!=="childList"||h.addedNodes.length===0)&&![...n,...r].some(m=>m.contains(h.target))){for(let m of h.removedNodes)m instanceof Element&&(n.delete(m),r.delete(m));for(let m of h.addedNodes)(m instanceof HTMLElement||m instanceof SVGElement)&&(m.dataset.liveAnnouncer==="true"||m.dataset.reactAriaTopLayer==="true")?n.add(m):m instanceof Element&&i(m)}});l.observe(t,{childList:!0,subtree:!0});let c={visibleNodes:n,hiddenNodes:r,observe(){l.observe(t,{childList:!0,subtree:!0})},disconnect(){l.disconnect()}};return qi.push(c),()=>{l.disconnect();for(let d of r){let h=pp.get(d);h!=null&&(h===1?(d.removeAttribute("aria-hidden"),pp.delete(d)):pp.set(d,h-1))}c===qi[qi.length-1]?(qi.pop(),qi.length&&qi[qi.length-1].observe()):qi.splice(qi.indexOf(c),1)}}const g_=We.createContext(null);function m5(e){let t=fh(),{portalContainer:n=t?null:document.body,isExiting:r}=e,[i,s]=S.useState(!1),l=S.useMemo(()=>({contain:i,setContain:s}),[i,s]),{getContainer:c}=LT();if(!e.portalContainer&&c&&(n=c()),!n)return null;let d=e.children;return e.disableFocusManagement||(d=We.createElement(WF,{restoreFocus:!0,contain:(e.shouldContainFocus||i)&&!r},d)),d=We.createElement(g_.Provider,{value:l},We.createElement(BF,null,d)),OE.createPortal(d,n)}function v_(){let e=S.useContext(g_),t=e?.setContain;en(()=>{t?.(!0)},[t])}var g5=({children:e,navigate:t,disableAnimation:n,useHref:r,disableRipple:i=!1,skipFramerMotionAnimations:s=n,reducedMotion:l="never",validationBehavior:c,locale:d="en-US",labelPlacement:h,defaultDates:m,createCalendar:g,spinnerVariant:b,...x})=>{let k=e;t&&(k=N.jsx(sM,{navigate:t,useHref:r,children:k}));const P=S.useMemo(()=>(n&&s&&(fs.skipAnimations=!0),{createCalendar:g,defaultDates:m,disableAnimation:n,disableRipple:i,validationBehavior:c,labelPlacement:h,spinnerVariant:b}),[g,m?.maxDate,m?.minDate,n,i,c,h,b]);return N.jsx(vL,{value:P,children:N.jsx($L,{locale:d,children:N.jsx(R3,{reducedMotion:l,children:N.jsx(MT,{...x,children:k})})})})};function zG(e){const t=Ti(),n=t?.labelPlacement;return S.useMemo(()=>{var r,i;const s=(i=(r=e.labelPlacement)!=null?r:n)!=null?i:"inside";return s==="inside"&&!e.label?"outside":s},[e.labelPlacement,n,e.label])}function v5(e){const t=Ti(),n=t?.labelPlacement;return S.useMemo(()=>{var r,i;const s=(i=(r=e.labelPlacement)!=null?r:n)!=null?i:"inside";return s==="inside"&&!e.label?"outside":s},[e.labelPlacement,n,e.label])}function _i(e){return S.forwardRef(e)}var ta=(e,t,n=!0)=>{if(!t)return[e,{}];const r=t.reduce((i,s)=>s in e?{...i,[s]:e[s]}:i,{});return n?[Object.keys(e).filter(s=>!t.includes(s)).reduce((s,l)=>({...s,[l]:e[l]}),{}),r]:[e,r]},y5={default:"bg-default text-default-foreground",primary:"bg-primary text-primary-foreground",secondary:"bg-secondary text-secondary-foreground",success:"bg-success text-success-foreground",warning:"bg-warning text-warning-foreground",danger:"bg-danger text-danger-foreground",foreground:"bg-foreground text-background"},b5={default:"shadow-lg shadow-default/50 bg-default text-default-foreground",primary:"shadow-lg shadow-primary/40 bg-primary text-primary-foreground",secondary:"shadow-lg shadow-secondary/40 bg-secondary text-secondary-foreground",success:"shadow-lg shadow-success/40 bg-success text-success-foreground",warning:"shadow-lg shadow-warning/40 bg-warning text-warning-foreground",danger:"shadow-lg shadow-danger/40 bg-danger text-danger-foreground"},x5={default:"bg-transparent border-default text-foreground",primary:"bg-transparent border-primary text-primary",secondary:"bg-transparent border-secondary text-secondary",success:"bg-transparent border-success text-success",warning:"bg-transparent border-warning text-warning",danger:"bg-transparent border-danger text-danger"},w5={default:"bg-default/40 text-default-700",primary:"bg-primary/20 text-primary-600",secondary:"bg-secondary/20 text-secondary-600",success:"bg-success/20 text-success-700 dark:text-success",warning:"bg-warning/20 text-warning-700 dark:text-warning",danger:"bg-danger/20 text-danger-600 dark:text-danger-500"},S5={default:"border-default bg-default-100 text-default-foreground",primary:"border-default bg-default-100 text-primary",secondary:"border-default bg-default-100 text-secondary",success:"border-default bg-default-100 text-success",warning:"border-default bg-default-100 text-warning",danger:"border-default bg-default-100 text-danger"},k5={default:"bg-transparent text-default-foreground",primary:"bg-transparent text-primary",secondary:"bg-transparent text-secondary",success:"bg-transparent text-success",warning:"bg-transparent text-warning",danger:"bg-transparent text-danger"},C5={default:"border-default text-default-foreground",primary:"border-primary text-primary",secondary:"border-secondary text-secondary",success:"border-success text-success",warning:"border-warning text-warning",danger:"border-danger text-danger"},Ze={solid:y5,shadow:b5,bordered:x5,flat:w5,faded:S5,light:k5,ghost:C5},E5={".spinner-bar-animation":{"animation-delay":"calc(-1.2s + (0.1s * var(--bar-index)))",transform:"rotate(calc(30deg * var(--bar-index)))translate(140%)"},".spinner-dot-animation":{"animation-delay":"calc(250ms * var(--dot-index))"},".spinner-dot-blink-animation":{"animation-delay":"calc(200ms * var(--dot-index))"}},P5={".leading-inherit":{"line-height":"inherit"},".bg-img-inherit":{"background-image":"inherit"},".bg-clip-inherit":{"background-clip":"inherit"},".text-fill-inherit":{"-webkit-text-fill-color":"inherit"},".tap-highlight-transparent":{"-webkit-tap-highlight-color":"transparent"},".input-search-cancel-button-none":{"&::-webkit-search-cancel-button":{"-webkit-appearance":"none"}}},T5={".scrollbar-hide":{"-ms-overflow-style":"none","scrollbar-width":"none","&::-webkit-scrollbar":{display:"none"}},".scrollbar-default":{"-ms-overflow-style":"auto","scrollbar-width":"auto","&::-webkit-scrollbar":{display:"block"}}},_5={".text-tiny":{"font-size":"var(--heroui-font-size-tiny)","line-height":"var(--heroui-line-height-tiny)"},".text-small":{"font-size":"var(--heroui-font-size-small)","line-height":"var(--heroui-line-height-small)"},".text-medium":{"font-size":"var(--heroui-font-size-medium)","line-height":"var(--heroui-line-height-medium)"},".text-large":{"font-size":"var(--heroui-font-size-large)","line-height":"var(--heroui-line-height-large)"}},rs="250ms",$5={".transition-background":{"transition-property":"background","transition-timing-function":"ease","transition-duration":rs},".transition-colors-opacity":{"transition-property":"color, background-color, border-color, text-decoration-color, fill, stroke, opacity","transition-timing-function":"ease","transition-duration":rs},".transition-width":{"transition-property":"width","transition-timing-function":"ease","transition-duration":rs},".transition-height":{"transition-property":"height","transition-timing-function":"ease","transition-duration":rs},".transition-size":{"transition-property":"width, height","transition-timing-function":"ease","transition-duration":rs},".transition-left":{"transition-property":"left","transition-timing-function":"ease","transition-duration":rs},".transition-transform-opacity":{"transition-property":"transform, scale, opacity rotate","transition-timing-function":"ease","transition-duration":rs},".transition-transform-background":{"transition-property":"transform, scale, background","transition-timing-function":"ease","transition-duration":rs},".transition-transform-colors":{"transition-property":"transform, scale, color, background, background-color, border-color, text-decoration-color, fill, stroke","transition-timing-function":"ease","transition-duration":rs},".transition-transform-colors-opacity":{"transition-property":"transform, scale, color, background, background-color, border-color, text-decoration-color, fill, stroke, opacity","transition-timing-function":"ease","transition-duration":rs}},I5={...P5,...$5,...T5,..._5,...E5},pg=["small","medium","large"],xb={theme:{spacing:["divider"],radius:pg},classGroups:{shadow:[{shadow:pg}],opacity:[{opacity:["disabled"]}],"font-size":[{text:["tiny",...pg]}],"border-w":[{border:pg}],"bg-image":["bg-stripe-gradient-default","bg-stripe-gradient-primary","bg-stripe-gradient-secondary","bg-stripe-gradient-success","bg-stripe-gradient-warning","bg-stripe-gradient-danger"],transition:Object.keys(I5).filter(e=>e.includes(".transition")).map(e=>e.replace(".",""))}},rk=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,ni=e=>!e||typeof e!="object"||Object.keys(e).length===0,A5=(e,t)=>JSON.stringify(e)===JSON.stringify(t);function y_(e,t){e.forEach(function(n){Array.isArray(n)?y_(n,t):t.push(n)})}function b_(e){let t=[];return y_(e,t),t}var x_=(...e)=>b_(e).filter(Boolean),w_=(e,t)=>{let n={},r=Object.keys(e),i=Object.keys(t);for(let s of r)if(i.includes(s)){let l=e[s],c=t[s];Array.isArray(l)||Array.isArray(c)?n[s]=x_(c,l):typeof l=="object"&&typeof c=="object"?n[s]=w_(l,c):n[s]=c+" "+l}else n[s]=e[s];for(let s of i)r.includes(s)||(n[s]=t[s]);return n},ik=e=>!e||typeof e!="string"?e:e.replace(/\s+/g," ").trim();const qx="-",R5=e=>{const t=M5(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:l=>{const c=l.split(qx);return c[0]===""&&c.length!==1&&c.shift(),S_(c,t)||L5(l)},getConflictingClassGroupIds:(l,c)=>{const d=n[l]||[];return c&&r[l]?[...d,...r[l]]:d}}},S_=(e,t)=>{if(e.length===0)return t.classGroupId;const n=e[0],r=t.nextPart.get(n),i=r?S_(e.slice(1),r):void 0;if(i)return i;if(t.validators.length===0)return;const s=e.join(qx);return t.validators.find(({validator:l})=>l(s))?.classGroupId},ok=/^\[(.+)\]$/,L5=e=>{if(ok.test(e)){const t=ok.exec(e)[1],n=t?.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}},M5=e=>{const{theme:t,classGroups:n}=e,r={nextPart:new Map,validators:[]};for(const i in n)wb(n[i],r,i,t);return r},wb=(e,t,n,r)=>{e.forEach(i=>{if(typeof i=="string"){const s=i===""?t:sk(t,i);s.classGroupId=n;return}if(typeof i=="function"){if(D5(i)){wb(i(r),t,n,r);return}t.validators.push({validator:i,classGroupId:n});return}Object.entries(i).forEach(([s,l])=>{wb(l,sk(t,s),n,r)})})},sk=(e,t)=>{let n=e;return t.split(qx).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n},D5=e=>e.isThemeGetter,N5=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,r=new Map;const i=(s,l)=>{n.set(s,l),t++,t>e&&(t=0,r=n,n=new Map)};return{get(s){let l=n.get(s);if(l!==void 0)return l;if((l=r.get(s))!==void 0)return i(s,l),l},set(s,l){n.has(s)?n.set(s,l):i(s,l)}}},Sb="!",kb=":",F5=kb.length,O5=e=>{const{prefix:t,experimentalParseClassName:n}=e;let r=i=>{const s=[];let l=0,c=0,d=0,h;for(let k=0;kd?h-d:void 0;return{modifiers:s,hasImportantModifier:b,baseClassName:g,maybePostfixModifierPosition:x}};if(t){const i=t+kb,s=r;r=l=>l.startsWith(i)?s(l.substring(i.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:l,maybePostfixModifierPosition:void 0}}if(n){const i=r;r=s=>n({className:s,parseClassName:i})}return r},z5=e=>e.endsWith(Sb)?e.substring(0,e.length-1):e.startsWith(Sb)?e.substring(1):e,j5=e=>{const t=Object.fromEntries(e.orderSensitiveModifiers.map(r=>[r,!0]));return r=>{if(r.length<=1)return r;const i=[];let s=[];return r.forEach(l=>{l[0]==="["||t[l]?(i.push(...s.sort(),l),s=[]):s.push(l)}),i.push(...s.sort()),i}},B5=e=>({cache:N5(e.cacheSize),parseClassName:O5(e),sortModifiers:j5(e),...R5(e)}),V5=/\s+/,U5=(e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:s}=t,l=[],c=e.trim().split(V5);let d="";for(let h=c.length-1;h>=0;h-=1){const m=c[h],{isExternal:g,modifiers:b,hasImportantModifier:x,baseClassName:k,maybePostfixModifierPosition:P}=n(m);if(g){d=m+(d.length>0?" "+d:d);continue}let _=!!P,T=r(_?k.substring(0,P):k);if(!T){if(!_){d=m+(d.length>0?" "+d:d);continue}if(T=r(k),!T){d=m+(d.length>0?" "+d:d);continue}_=!1}const A=s(b).join(":"),L=x?A+Sb:A,z=L+T;if(l.includes(z))continue;l.push(z);const K=i(T,_);for(let M=0;M0?" "+d:d)}return d};function K5(){let e=0,t,n,r="";for(;e{if(typeof e=="string")return e;let t,n="";for(let r=0;rg(m),e());return n=B5(h),r=n.cache.get,i=n.cache.set,s=c,c(d)}function c(d){const h=r(d);if(h)return h;const m=U5(d,n);return i(d,m),m}return function(){return s(K5.apply(null,arguments))}}const Yn=e=>{const t=n=>n[e]||[];return t.isThemeGetter=!0,t},C_=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,E_=/^\((?:(\w[\w-]*):)?(.+)\)$/i,W5=/^\d+\/\d+$/,H5=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,G5=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,q5=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,Y5=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,X5=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Jc=e=>W5.test(e),mt=e=>!!e&&!Number.isNaN(Number(e)),iu=e=>!!e&&Number.isInteger(Number(e)),lk=e=>e.endsWith("%")&&mt(e.slice(0,-1)),Kl=e=>H5.test(e),Q5=()=>!0,J5=e=>G5.test(e)&&!q5.test(e),Yx=()=>!1,Z5=e=>Y5.test(e),eO=e=>X5.test(e),tO=e=>!Ne(e)&&!Fe(e),nO=e=>Mf(e,__,Yx),Ne=e=>C_.test(e),ou=e=>Mf(e,$_,J5),c0=e=>Mf(e,pO,mt),rO=e=>Mf(e,P_,Yx),iO=e=>Mf(e,T_,eO),oO=e=>Mf(e,Yx,Z5),Fe=e=>E_.test(e),hg=e=>Df(e,$_),sO=e=>Df(e,hO),lO=e=>Df(e,P_),aO=e=>Df(e,__),uO=e=>Df(e,T_),cO=e=>Df(e,mO,!0),Mf=(e,t,n)=>{const r=C_.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Df=(e,t,n=!1)=>{const r=E_.exec(e);return r?r[1]?t(r[1]):n:!1},P_=e=>e==="position",fO=new Set(["image","url"]),T_=e=>fO.has(e),dO=new Set(["length","size","percentage"]),__=e=>dO.has(e),$_=e=>e==="length",pO=e=>e==="number",hO=e=>e==="family-name",mO=e=>e==="shadow",Eb=()=>{const e=Yn("color"),t=Yn("font"),n=Yn("text"),r=Yn("font-weight"),i=Yn("tracking"),s=Yn("leading"),l=Yn("breakpoint"),c=Yn("container"),d=Yn("spacing"),h=Yn("radius"),m=Yn("shadow"),g=Yn("inset-shadow"),b=Yn("drop-shadow"),x=Yn("blur"),k=Yn("perspective"),P=Yn("aspect"),_=Yn("ease"),T=Yn("animate"),A=()=>["auto","avoid","all","avoid-page","page","left","right","column"],L=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],z=()=>["auto","hidden","clip","visible","scroll"],K=()=>["auto","contain","none"],M=()=>[Fe,Ne,d],J=()=>[Jc,"full","auto",...M()],re=()=>[iu,"none","subgrid",Fe,Ne],ae=()=>["auto",{span:["full",iu,Fe,Ne]},Fe,Ne],j=()=>[iu,"auto",Fe,Ne],B=()=>["auto","min","max","fr",Fe,Ne],Y=()=>["start","end","center","between","around","evenly","stretch","baseline"],te=()=>["start","end","center","stretch"],G=()=>["auto",...M()],fe=()=>[Jc,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...M()],Z=()=>[e,Fe,Ne],q=()=>[lk,ou],W=()=>["","none","full",h,Fe,Ne],se=()=>["",mt,hg,ou],R=()=>["solid","dashed","dotted","double"],V=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],oe=()=>["","none",x,Fe,Ne],O=()=>["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",Fe,Ne],me=()=>["none",mt,Fe,Ne],Ee=()=>["none",mt,Fe,Ne],we=()=>[mt,Fe,Ne],je=()=>[Jc,"full",...M()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Kl],breakpoint:[Kl],color:[Q5],container:[Kl],"drop-shadow":[Kl],ease:["in","out","in-out"],font:[tO],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Kl],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Kl],shadow:[Kl],spacing:["px",mt],text:[Kl],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Jc,Ne,Fe,P]}],container:["container"],columns:[{columns:[mt,Ne,Fe,c]}],"break-after":[{"break-after":A()}],"break-before":[{"break-before":A()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...L(),Ne,Fe]}],overflow:[{overflow:z()}],"overflow-x":[{"overflow-x":z()}],"overflow-y":[{"overflow-y":z()}],overscroll:[{overscroll:K()}],"overscroll-x":[{"overscroll-x":K()}],"overscroll-y":[{"overscroll-y":K()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:J()}],"inset-x":[{"inset-x":J()}],"inset-y":[{"inset-y":J()}],start:[{start:J()}],end:[{end:J()}],top:[{top:J()}],right:[{right:J()}],bottom:[{bottom:J()}],left:[{left:J()}],visibility:["visible","invisible","collapse"],z:[{z:[iu,"auto",Fe,Ne]}],basis:[{basis:[Jc,"full","auto",c,...M()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[mt,Jc,"auto","initial","none",Ne]}],grow:[{grow:["",mt,Fe,Ne]}],shrink:[{shrink:["",mt,Fe,Ne]}],order:[{order:[iu,"first","last","none",Fe,Ne]}],"grid-cols":[{"grid-cols":re()}],"col-start-end":[{col:ae()}],"col-start":[{"col-start":j()}],"col-end":[{"col-end":j()}],"grid-rows":[{"grid-rows":re()}],"row-start-end":[{row:ae()}],"row-start":[{"row-start":j()}],"row-end":[{"row-end":j()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":B()}],"auto-rows":[{"auto-rows":B()}],gap:[{gap:M()}],"gap-x":[{"gap-x":M()}],"gap-y":[{"gap-y":M()}],"justify-content":[{justify:[...Y(),"normal"]}],"justify-items":[{"justify-items":[...te(),"normal"]}],"justify-self":[{"justify-self":["auto",...te()]}],"align-content":[{content:["normal",...Y()]}],"align-items":[{items:[...te(),"baseline"]}],"align-self":[{self:["auto",...te(),"baseline"]}],"place-content":[{"place-content":Y()}],"place-items":[{"place-items":[...te(),"baseline"]}],"place-self":[{"place-self":["auto",...te()]}],p:[{p:M()}],px:[{px:M()}],py:[{py:M()}],ps:[{ps:M()}],pe:[{pe:M()}],pt:[{pt:M()}],pr:[{pr:M()}],pb:[{pb:M()}],pl:[{pl:M()}],m:[{m:G()}],mx:[{mx:G()}],my:[{my:G()}],ms:[{ms:G()}],me:[{me:G()}],mt:[{mt:G()}],mr:[{mr:G()}],mb:[{mb:G()}],ml:[{ml:G()}],"space-x":[{"space-x":M()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":M()}],"space-y-reverse":["space-y-reverse"],size:[{size:fe()}],w:[{w:[c,"screen",...fe()]}],"min-w":[{"min-w":[c,"screen","none",...fe()]}],"max-w":[{"max-w":[c,"screen","none","prose",{screen:[l]},...fe()]}],h:[{h:["screen",...fe()]}],"min-h":[{"min-h":["screen","none",...fe()]}],"max-h":[{"max-h":["screen",...fe()]}],"font-size":[{text:["base",n,hg,ou]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,Fe,c0]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",lk,Ne]}],"font-family":[{font:[sO,Ne,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[i,Fe,Ne]}],"line-clamp":[{"line-clamp":[mt,"none",Fe,c0]}],leading:[{leading:[s,...M()]}],"list-image":[{"list-image":["none",Fe,Ne]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Fe,Ne]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:Z()}],"text-color":[{text:Z()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...R(),"wavy"]}],"text-decoration-thickness":[{decoration:[mt,"from-font","auto",Fe,ou]}],"text-decoration-color":[{decoration:Z()}],"underline-offset":[{"underline-offset":[mt,"auto",Fe,Ne]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:M()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Fe,Ne]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Fe,Ne]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...L(),lO,rO]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","space","round"]}]}],"bg-size":[{bg:["auto","cover","contain",aO,nO]}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},iu,Fe,Ne],radial:["",Fe,Ne],conic:[iu,Fe,Ne]},uO,iO]}],"bg-color":[{bg:Z()}],"gradient-from-pos":[{from:q()}],"gradient-via-pos":[{via:q()}],"gradient-to-pos":[{to:q()}],"gradient-from":[{from:Z()}],"gradient-via":[{via:Z()}],"gradient-to":[{to:Z()}],rounded:[{rounded:W()}],"rounded-s":[{"rounded-s":W()}],"rounded-e":[{"rounded-e":W()}],"rounded-t":[{"rounded-t":W()}],"rounded-r":[{"rounded-r":W()}],"rounded-b":[{"rounded-b":W()}],"rounded-l":[{"rounded-l":W()}],"rounded-ss":[{"rounded-ss":W()}],"rounded-se":[{"rounded-se":W()}],"rounded-ee":[{"rounded-ee":W()}],"rounded-es":[{"rounded-es":W()}],"rounded-tl":[{"rounded-tl":W()}],"rounded-tr":[{"rounded-tr":W()}],"rounded-br":[{"rounded-br":W()}],"rounded-bl":[{"rounded-bl":W()}],"border-w":[{border:se()}],"border-w-x":[{"border-x":se()}],"border-w-y":[{"border-y":se()}],"border-w-s":[{"border-s":se()}],"border-w-e":[{"border-e":se()}],"border-w-t":[{"border-t":se()}],"border-w-r":[{"border-r":se()}],"border-w-b":[{"border-b":se()}],"border-w-l":[{"border-l":se()}],"divide-x":[{"divide-x":se()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":se()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...R(),"hidden","none"]}],"divide-style":[{divide:[...R(),"hidden","none"]}],"border-color":[{border:Z()}],"border-color-x":[{"border-x":Z()}],"border-color-y":[{"border-y":Z()}],"border-color-s":[{"border-s":Z()}],"border-color-e":[{"border-e":Z()}],"border-color-t":[{"border-t":Z()}],"border-color-r":[{"border-r":Z()}],"border-color-b":[{"border-b":Z()}],"border-color-l":[{"border-l":Z()}],"divide-color":[{divide:Z()}],"outline-style":[{outline:[...R(),"none","hidden"]}],"outline-offset":[{"outline-offset":[mt,Fe,Ne]}],"outline-w":[{outline:["",mt,hg,ou]}],"outline-color":[{outline:[e]}],shadow:[{shadow:["","none",m,cO,oO]}],"shadow-color":[{shadow:Z()}],"inset-shadow":[{"inset-shadow":["none",Fe,Ne,g]}],"inset-shadow-color":[{"inset-shadow":Z()}],"ring-w":[{ring:se()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:Z()}],"ring-offset-w":[{"ring-offset":[mt,ou]}],"ring-offset-color":[{"ring-offset":Z()}],"inset-ring-w":[{"inset-ring":se()}],"inset-ring-color":[{"inset-ring":Z()}],opacity:[{opacity:[mt,Fe,Ne]}],"mix-blend":[{"mix-blend":[...V(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":V()}],filter:[{filter:["","none",Fe,Ne]}],blur:[{blur:oe()}],brightness:[{brightness:[mt,Fe,Ne]}],contrast:[{contrast:[mt,Fe,Ne]}],"drop-shadow":[{"drop-shadow":["","none",b,Fe,Ne]}],grayscale:[{grayscale:["",mt,Fe,Ne]}],"hue-rotate":[{"hue-rotate":[mt,Fe,Ne]}],invert:[{invert:["",mt,Fe,Ne]}],saturate:[{saturate:[mt,Fe,Ne]}],sepia:[{sepia:["",mt,Fe,Ne]}],"backdrop-filter":[{"backdrop-filter":["","none",Fe,Ne]}],"backdrop-blur":[{"backdrop-blur":oe()}],"backdrop-brightness":[{"backdrop-brightness":[mt,Fe,Ne]}],"backdrop-contrast":[{"backdrop-contrast":[mt,Fe,Ne]}],"backdrop-grayscale":[{"backdrop-grayscale":["",mt,Fe,Ne]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[mt,Fe,Ne]}],"backdrop-invert":[{"backdrop-invert":["",mt,Fe,Ne]}],"backdrop-opacity":[{"backdrop-opacity":[mt,Fe,Ne]}],"backdrop-saturate":[{"backdrop-saturate":[mt,Fe,Ne]}],"backdrop-sepia":[{"backdrop-sepia":["",mt,Fe,Ne]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":M()}],"border-spacing-x":[{"border-spacing-x":M()}],"border-spacing-y":[{"border-spacing-y":M()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Fe,Ne]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[mt,"initial",Fe,Ne]}],ease:[{ease:["linear","initial",_,Fe,Ne]}],delay:[{delay:[mt,Fe,Ne]}],animate:[{animate:["none",T,Fe,Ne]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[k,Fe,Ne]}],"perspective-origin":[{"perspective-origin":O()}],rotate:[{rotate:me()}],"rotate-x":[{"rotate-x":me()}],"rotate-y":[{"rotate-y":me()}],"rotate-z":[{"rotate-z":me()}],scale:[{scale:Ee()}],"scale-x":[{"scale-x":Ee()}],"scale-y":[{"scale-y":Ee()}],"scale-z":[{"scale-z":Ee()}],"scale-3d":["scale-3d"],skew:[{skew:we()}],"skew-x":[{"skew-x":we()}],"skew-y":[{"skew-y":we()}],transform:[{transform:[Fe,Ne,"","none","gpu","cpu"]}],"transform-origin":[{origin:O()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:je()}],"translate-x":[{"translate-x":je()}],"translate-y":[{"translate-y":je()}],"translate-z":[{"translate-z":je()}],"translate-none":["translate-none"],accent:[{accent:Z()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:Z()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Fe,Ne]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":M()}],"scroll-mx":[{"scroll-mx":M()}],"scroll-my":[{"scroll-my":M()}],"scroll-ms":[{"scroll-ms":M()}],"scroll-me":[{"scroll-me":M()}],"scroll-mt":[{"scroll-mt":M()}],"scroll-mr":[{"scroll-mr":M()}],"scroll-mb":[{"scroll-mb":M()}],"scroll-ml":[{"scroll-ml":M()}],"scroll-p":[{"scroll-p":M()}],"scroll-px":[{"scroll-px":M()}],"scroll-py":[{"scroll-py":M()}],"scroll-ps":[{"scroll-ps":M()}],"scroll-pe":[{"scroll-pe":M()}],"scroll-pt":[{"scroll-pt":M()}],"scroll-pr":[{"scroll-pr":M()}],"scroll-pb":[{"scroll-pb":M()}],"scroll-pl":[{"scroll-pl":M()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Fe,Ne]}],fill:[{fill:["none",...Z()]}],"stroke-w":[{stroke:[mt,hg,ou,c0]}],stroke:[{stroke:["none",...Z()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["before","after","placeholder","file","marker","selection","first-line","first-letter","backdrop","*","**"]}},gO=(e,{cacheSize:t,prefix:n,experimentalParseClassName:r,extend:i={},override:s={}})=>($p(e,"cacheSize",t),$p(e,"prefix",n),$p(e,"experimentalParseClassName",r),mg(e.theme,s.theme),mg(e.classGroups,s.classGroups),mg(e.conflictingClassGroups,s.conflictingClassGroups),mg(e.conflictingClassGroupModifiers,s.conflictingClassGroupModifiers),$p(e,"orderSensitiveModifiers",s.orderSensitiveModifiers),gg(e.theme,i.theme),gg(e.classGroups,i.classGroups),gg(e.conflictingClassGroups,i.conflictingClassGroups),gg(e.conflictingClassGroupModifiers,i.conflictingClassGroupModifiers),I_(e,i,"orderSensitiveModifiers"),e),$p=(e,t,n)=>{n!==void 0&&(e[t]=n)},mg=(e,t)=>{if(t)for(const n in t)$p(e,n,t[n])},gg=(e,t)=>{if(t)for(const n in t)I_(e,t,n)},I_=(e,t,n)=>{const r=t[n];r!==void 0&&(e[n]=e[n]?e[n].concat(r):r)},A_=(e,...t)=>typeof e=="function"?Cb(Eb,e,...t):Cb(()=>gO(Eb(),e),...t),vO=Cb(Eb);var yO={twMerge:!0,twMergeConfig:{},responsiveVariants:!1},R_=e=>e||void 0,ih=(...e)=>R_(b_(e).filter(Boolean).join(" ")),f0=null,qs={},Pb=!1,hp=(...e)=>t=>t.twMerge?((!f0||Pb)&&(Pb=!1,f0=ni(qs)?vO:A_({...qs,extend:{theme:qs.theme,classGroups:qs.classGroups,conflictingClassGroupModifiers:qs.conflictingClassGroupModifiers,conflictingClassGroups:qs.conflictingClassGroups,...qs.extend}})),R_(f0(ih(e)))):ih(e),ak=(e,t)=>{for(let n in t)e.hasOwnProperty(n)?e[n]=ih(e[n],t[n]):e[n]=t[n];return e},bO=(e,t)=>{let{extend:n=null,slots:r={},variants:i={},compoundVariants:s=[],compoundSlots:l=[],defaultVariants:c={}}=e,d={...yO,...t},h=n!=null&&n.base?ih(n.base,e?.base):e?.base,m=n!=null&&n.variants&&!ni(n.variants)?w_(i,n.variants):i,g=n!=null&&n.defaultVariants&&!ni(n.defaultVariants)?{...n.defaultVariants,...c}:c;!ni(d.twMergeConfig)&&!A5(d.twMergeConfig,qs)&&(Pb=!0,qs=d.twMergeConfig);let b=ni(n?.slots),x=ni(r)?{}:{base:ih(e?.base,b&&n?.base),...r},k=b?x:ak({...n?.slots},ni(x)?{base:e?.base}:x),P=ni(n?.compoundVariants)?s:x_(n?.compoundVariants,s),_=A=>{if(ni(m)&&ni(r)&&b)return hp(h,A?.class,A?.className)(d);if(P&&!Array.isArray(P))throw new TypeError(`The "compoundVariants" prop must be an array. Received: ${typeof P}`);if(l&&!Array.isArray(l))throw new TypeError(`The "compoundSlots" prop must be an array. Received: ${typeof l}`);let L=(Y,te,G=[],fe)=>{let Z=G;if(typeof te=="string")Z=Z.concat(ik(te).split(" ").map(q=>`${Y}:${q}`));else if(Array.isArray(te))Z=Z.concat(te.reduce((q,W)=>q.concat(`${Y}:${W}`),[]));else if(typeof te=="object"&&typeof fe=="string"){for(let q in te)if(te.hasOwnProperty(q)&&q===fe){let W=te[q];if(W&&typeof W=="string"){let se=ik(W);Z[fe]?Z[fe]=Z[fe].concat(se.split(" ").map(R=>`${Y}:${R}`)):Z[fe]=se.split(" ").map(R=>`${Y}:${R}`)}else Array.isArray(W)&&W.length>0&&(Z[fe]=W.reduce((se,R)=>se.concat(`${Y}:${R}`),[]))}}return Z},z=(Y,te=m,G=null,fe=null)=>{var Z;let q=te[Y];if(!q||ni(q))return null;let W=(Z=fe?.[Y])!=null?Z:A?.[Y];if(W===null)return null;let se=rk(W),R=Array.isArray(d.responsiveVariants)&&d.responsiveVariants.length>0||d.responsiveVariants===!0,V=g?.[Y],oe=[];if(typeof se=="object"&&R)for(let[Ee,we]of Object.entries(se)){let je=q[we];if(Ee==="initial"){V=we;continue}Array.isArray(d.responsiveVariants)&&!d.responsiveVariants.includes(Ee)||(oe=L(Ee,je,oe,G))}let O=se!=null&&typeof se!="object"?se:rk(V),me=q[O||"false"];return typeof oe=="object"&&typeof G=="string"&&oe[G]?ak(oe,me):oe.length>0?(oe.push(me),G==="base"?oe.join(" "):oe):me},K=()=>m?Object.keys(m).map(Y=>z(Y,m)):null,M=(Y,te)=>{if(!m||typeof m!="object")return null;let G=new Array;for(let fe in m){let Z=z(fe,m,Y,te),q=Y==="base"&&typeof Z=="string"?Z:Z&&Z[Y];q&&(G[G.length]=q)}return G},J={};for(let Y in A)A[Y]!==void 0&&(J[Y]=A[Y]);let re=(Y,te)=>{var G;let fe=typeof A?.[Y]=="object"?{[Y]:(G=A[Y])==null?void 0:G.initial}:{};return{...g,...J,...fe,...te}},ae=(Y=[],te)=>{let G=[];for(let{class:fe,className:Z,...q}of Y){let W=!0;for(let[se,R]of Object.entries(q)){let V=re(se,te)[se];if(Array.isArray(R)){if(!R.includes(V)){W=!1;break}}else{let oe=O=>O==null||O===!1;if(oe(R)&&oe(V))continue;if(V!==R){W=!1;break}}}W&&(fe&&G.push(fe),Z&&G.push(Z))}return G},j=Y=>{let te=ae(P,Y);if(!Array.isArray(te))return te;let G={};for(let fe of te)if(typeof fe=="string"&&(G.base=hp(G.base,fe)(d)),typeof fe=="object")for(let[Z,q]of Object.entries(fe))G[Z]=hp(G[Z],q)(d);return G},B=Y=>{if(l.length<1)return null;let te={};for(let{slots:G=[],class:fe,className:Z,...q}of l){if(!ni(q)){let W=!0;for(let se of Object.keys(q)){let R=re(se,Y)[se];if(R===void 0||(Array.isArray(q[se])?!q[se].includes(R):q[se]!==R)){W=!1;break}}if(!W)continue}for(let W of G)te[W]=te[W]||[],te[W].push([fe,Z])}return te};if(!ni(r)||!b){let Y={};if(typeof k=="object"&&!ni(k))for(let te of Object.keys(k))Y[te]=G=>{var fe,Z;return hp(k[te],M(te,G),((fe=j(G))!=null?fe:[])[te],((Z=B(G))!=null?Z:[])[te],G?.class,G?.className)(d)};return Y}return hp(h,K(),ae(P),A?.class,A?.className)(d)},T=()=>{if(!(!m||typeof m!="object"))return Object.keys(m)};return _.variantKeys=T(),_.extend=n,_.base=h,_.slots=k,_.variants=m,_.defaultVariants=g,_.compoundSlots=l,_.compoundVariants=P,_},Nr=(e,t)=>{var n,r,i;return bO(e,{...t,twMerge:(n=t?.twMerge)!=null?n:!0,twMergeConfig:{...t?.twMergeConfig,theme:{...(r=t?.twMergeConfig)==null?void 0:r.theme,...xb.theme},classGroups:{...(i=t?.twMergeConfig)==null?void 0:i.classGroups,...xb.classGroups}}})},uk=Nr({slots:{base:"relative inline-flex flex-col gap-2 items-center justify-center",wrapper:"relative flex",label:"text-foreground dark:text-foreground-dark font-regular",circle1:"absolute w-full h-full rounded-full",circle2:"absolute w-full h-full rounded-full",dots:"relative rounded-full mx-auto",spinnerBars:["absolute","animate-fade-out","rounded-full","w-[25%]","h-[8%]","left-[calc(37.5%)]","top-[calc(46%)]","spinner-bar-animation"]},variants:{size:{sm:{wrapper:"w-5 h-5",circle1:"border-2",circle2:"border-2",dots:"size-1",label:"text-small"},md:{wrapper:"w-8 h-8",circle1:"border-3",circle2:"border-3",dots:"size-1.5",label:"text-medium"},lg:{wrapper:"w-10 h-10",circle1:"border-3",circle2:"border-3",dots:"size-2",label:"text-large"}},color:{current:{circle1:"border-b-current",circle2:"border-b-current",dots:"bg-current",spinnerBars:"bg-current"},white:{circle1:"border-b-white",circle2:"border-b-white",dots:"bg-white",spinnerBars:"bg-white"},default:{circle1:"border-b-default",circle2:"border-b-default",dots:"bg-default",spinnerBars:"bg-default"},primary:{circle1:"border-b-primary",circle2:"border-b-primary",dots:"bg-primary",spinnerBars:"bg-primary"},secondary:{circle1:"border-b-secondary",circle2:"border-b-secondary",dots:"bg-secondary",spinnerBars:"bg-secondary"},success:{circle1:"border-b-success",circle2:"border-b-success",dots:"bg-success",spinnerBars:"bg-success"},warning:{circle1:"border-b-warning",circle2:"border-b-warning",dots:"bg-warning",spinnerBars:"bg-warning"},danger:{circle1:"border-b-danger",circle2:"border-b-danger",dots:"bg-danger",spinnerBars:"bg-danger"}},labelColor:{foreground:{label:"text-foreground"},primary:{label:"text-primary"},secondary:{label:"text-secondary"},success:{label:"text-success"},warning:{label:"text-warning"},danger:{label:"text-danger"}},variant:{default:{circle1:["animate-spinner-ease-spin","border-solid","border-t-transparent","border-l-transparent","border-r-transparent"],circle2:["opacity-75","animate-spinner-linear-spin","border-dotted","border-t-transparent","border-l-transparent","border-r-transparent"]},gradient:{circle1:["border-0","bg-gradient-to-b","from-transparent","via-transparent","to-primary","animate-spinner-linear-spin","[animation-duration:1s]","[-webkit-mask:radial-gradient(closest-side,rgba(0,0,0,0.0)calc(100%-3px),rgba(0,0,0,1)calc(100%-3px))]"],circle2:["hidden"]},wave:{wrapper:"translate-y-3/4",dots:["animate-sway","spinner-dot-animation"]},dots:{wrapper:"translate-y-2/4",dots:["animate-blink","spinner-dot-blink-animation"]},spinner:{},simple:{wrapper:"text-foreground h-5 w-5 animate-spin",circle1:"opacity-25",circle2:"opacity-75"}}},defaultVariants:{size:"md",color:"primary",labelColor:"foreground",variant:"default"},compoundVariants:[{variant:"gradient",color:"current",class:{circle1:"to-current"}},{variant:"gradient",color:"white",class:{circle1:"to-white"}},{variant:"gradient",color:"default",class:{circle1:"to-default"}},{variant:"gradient",color:"primary",class:{circle1:"to-primary"}},{variant:"gradient",color:"secondary",class:{circle1:"to-secondary"}},{variant:"gradient",color:"success",class:{circle1:"to-success"}},{variant:"gradient",color:"warning",class:{circle1:"to-warning"}},{variant:"gradient",color:"danger",class:{circle1:"to-danger"}},{variant:"wave",size:"sm",class:{wrapper:"w-5 h-5"}},{variant:"wave",size:"md",class:{wrapper:"w-8 h-8"}},{variant:"wave",size:"lg",class:{wrapper:"w-12 h-12"}},{variant:"dots",size:"sm",class:{wrapper:"w-5 h-5"}},{variant:"dots",size:"md",class:{wrapper:"w-8 h-8"}},{variant:"dots",size:"lg",class:{wrapper:"w-12 h-12"}},{variant:"simple",size:"sm",class:{wrapper:"w-5 h-5"}},{variant:"simple",size:"md",class:{wrapper:"w-8 h-8"}},{variant:"simple",size:"lg",class:{wrapper:"w-12 h-12"}},{variant:"simple",color:"current",class:{wrapper:"text-current"}},{variant:"simple",color:"white",class:{wrapper:"text-white"}},{variant:"simple",color:"default",class:{wrapper:"text-default"}},{variant:"simple",color:"primary",class:{wrapper:"text-primary"}},{variant:"simple",color:"secondary",class:{wrapper:"text-secondary"}},{variant:"simple",color:"success",class:{wrapper:"text-success"}},{variant:"simple",color:"warning",class:{wrapper:"text-warning"}},{variant:"simple",color:"danger",class:{wrapper:"text-danger"}}]}),yh=["outline-hidden","data-[focus-visible=true]:z-10","data-[focus-visible=true]:outline-2","data-[focus-visible=true]:outline-focus","data-[focus-visible=true]:outline-offset-2"],xO=["outline-hidden","group-data-[focus-visible=true]:z-10","group-data-[focus-visible=true]:ring-2","group-data-[focus-visible=true]:ring-focus","group-data-[focus-visible=true]:ring-offset-2","group-data-[focus-visible=true]:ring-offset-background"],Zc={default:["[&+.border-medium.border-default]:ms-[calc(var(--heroui-border-width-medium)*-1)]"],primary:["[&+.border-medium.border-primary]:ms-[calc(var(--heroui-border-width-medium)*-1)]"],secondary:["[&+.border-medium.border-secondary]:ms-[calc(var(--heroui-border-width-medium)*-1)]"],success:["[&+.border-medium.border-success]:ms-[calc(var(--heroui-border-width-medium)*-1)]"],warning:["[&+.border-medium.border-warning]:ms-[calc(var(--heroui-border-width-medium)*-1)]"],danger:["[&+.border-medium.border-danger]:ms-[calc(var(--heroui-border-width-medium)*-1)]"]},jG=["font-inherit","text-[100%]","leading-[1.15]","m-0","p-0","overflow-visible","box-border","absolute","top-0","w-full","h-full","opacity-[0.0001]","z-[1]","cursor-pointer","disabled:cursor-default"],ck=Nr({slots:{base:["z-0","relative","bg-transparent","before:content-['']","before:hidden","before:z-[-1]","before:absolute","before:rotate-45","before:w-2.5","before:h-2.5","before:rounded-sm","data-[arrow=true]:before:block","data-[placement=top]:before:-bottom-[calc(theme(spacing.5)/4_-_1.5px)]","data-[placement=top]:before:left-1/2","data-[placement=top]:before:-translate-x-1/2","data-[placement=top-start]:before:-bottom-[calc(theme(spacing.5)/4_-_1.5px)]","data-[placement=top-start]:before:left-3","data-[placement=top-end]:before:-bottom-[calc(theme(spacing.5)/4_-_1.5px)]","data-[placement=top-end]:before:right-3","data-[placement=bottom]:before:-top-[calc(theme(spacing.5)/4_-_1.5px)]","data-[placement=bottom]:before:left-1/2","data-[placement=bottom]:before:-translate-x-1/2","data-[placement=bottom-start]:before:-top-[calc(theme(spacing.5)/4_-_1.5px)]","data-[placement=bottom-start]:before:left-3","data-[placement=bottom-end]:before:-top-[calc(theme(spacing.5)/4_-_1.5px)]","data-[placement=bottom-end]:before:right-3","data-[placement=left]:before:-right-[calc(theme(spacing.5)/4_-_2px)]","data-[placement=left]:before:top-1/2","data-[placement=left]:before:-translate-y-1/2","data-[placement=left-start]:before:-right-[calc(theme(spacing.5)/4_-_3px)]","data-[placement=left-start]:before:top-1/4","data-[placement=left-end]:before:-right-[calc(theme(spacing.5)/4_-_3px)]","data-[placement=left-end]:before:bottom-1/4","data-[placement=right]:before:-left-[calc(theme(spacing.5)/4_-_2px)]","data-[placement=right]:before:top-1/2","data-[placement=right]:before:-translate-y-1/2","data-[placement=right-start]:before:-left-[calc(theme(spacing.5)/4_-_3px)]","data-[placement=right-start]:before:top-1/4","data-[placement=right-end]:before:-left-[calc(theme(spacing.5)/4_-_3px)]","data-[placement=right-end]:before:bottom-1/4",...yh],content:["z-10","px-2.5","py-1","w-full","inline-flex","flex-col","items-center","justify-center","box-border","subpixel-antialiased","outline-hidden","box-border"],trigger:["z-10"],backdrop:["hidden"],arrow:[]},variants:{size:{sm:{content:"text-tiny"},md:{content:"text-small"},lg:{content:"text-medium"}},color:{default:{base:"before:bg-content1 before:shadow-small",content:"bg-content1"},foreground:{base:"before:bg-foreground",content:Ze.solid.foreground},primary:{base:"before:bg-primary",content:Ze.solid.primary},secondary:{base:"before:bg-secondary",content:Ze.solid.secondary},success:{base:"before:bg-success",content:Ze.solid.success},warning:{base:"before:bg-warning",content:Ze.solid.warning},danger:{base:"before:bg-danger",content:Ze.solid.danger}},radius:{none:{content:"rounded-none"},sm:{content:"rounded-small"},md:{content:"rounded-medium"},lg:{content:"rounded-large"},full:{content:"rounded-full"}},shadow:{none:{content:"shadow-none"},sm:{content:"shadow-small"},md:{content:"shadow-medium"},lg:{content:"shadow-large"}},backdrop:{transparent:{},opaque:{backdrop:"bg-overlay/50 backdrop-opacity-disabled"},blur:{backdrop:"backdrop-blur-sm backdrop-saturate-150 bg-overlay/30"}},triggerScaleOnOpen:{true:{trigger:["aria-expanded:scale-[0.97]","aria-expanded:opacity-70","subpixel-antialiased"]},false:{}},disableAnimation:{true:{base:"animate-none"}},isTriggerDisabled:{true:{trigger:"opacity-disabled pointer-events-none"},false:{}}},defaultVariants:{color:"default",radius:"lg",size:"md",shadow:"md",backdrop:"transparent",triggerScaleOnOpen:!0},compoundVariants:[{backdrop:["opaque","blur"],class:{backdrop:"block w-full h-full fixed inset-0 -z-30"}}]});Nr({slots:{base:"flex flex-col gap-2 w-full",label:"",labelWrapper:"flex justify-between",value:"",track:"z-0 relative bg-default-300/50 overflow-hidden rtl:rotate-180",indicator:"h-full"},variants:{color:{default:{indicator:"bg-default-400"},primary:{indicator:"bg-primary"},secondary:{indicator:"bg-secondary"},success:{indicator:"bg-success"},warning:{indicator:"bg-warning"},danger:{indicator:"bg-danger"}},size:{sm:{label:"text-small",value:"text-small",track:"h-1"},md:{label:"text-medium",value:"text-medium",track:"h-3"},lg:{label:"text-large",value:"text-large",track:"h-5"}},radius:{none:{track:"rounded-none",indicator:"rounded-none"},sm:{track:"rounded-small",indicator:"rounded-small"},md:{track:"rounded-medium",indicator:"rounded-medium"},lg:{track:"rounded-large",indicator:"rounded-large"},full:{track:"rounded-full",indicator:"rounded-full"}},isStriped:{true:{indicator:"bg-stripe-gradient-default bg-stripe-size"}},isIndeterminate:{true:{indicator:["absolute","w-full","origin-left","animate-indeterminate-bar"]}},isDisabled:{true:{base:"opacity-disabled cursor-not-allowed"}},disableAnimation:{true:{},false:{indicator:"transition-transform !duration-500"}}},defaultVariants:{color:"primary",size:"md",radius:"full",isStriped:!1,isIndeterminate:!1,isDisabled:!1},compoundVariants:[{disableAnimation:!0,isIndeterminate:!1,class:{indicator:"!transition-none motion-reduce:transition-none"}},{color:"primary",isStriped:!0,class:{indicator:"bg-stripe-gradient-primary bg-stripe-size"}},{color:"secondary",isStriped:!0,class:{indicator:"bg-stripe-gradient-secondary bg-stripe-size"}},{color:"success",isStriped:!0,class:{indicator:"bg-stripe-gradient-success bg-stripe-size"}},{color:"warning",isStriped:!0,class:{indicator:"bg-stripe-gradient-warning bg-stripe-size"}},{color:"danger",isStriped:!0,class:{indicator:"bg-stripe-gradient-danger bg-stripe-size"}}]},{twMerge:!0});var fk=Nr({slots:{base:"flex flex-col justify-center gap-1 max-w-fit items-center",label:"",svgWrapper:"relative block",svg:"z-0 relative overflow-hidden",track:"h-full stroke-default-300/50",indicator:"h-full stroke-current",value:"absolute font-normal inset-0 flex items-center justify-center"},variants:{color:{default:{svg:"text-default-400"},primary:{svg:"text-primary"},secondary:{svg:"text-secondary"},success:{svg:"text-success"},warning:{svg:"text-warning"},danger:{svg:"text-danger"}},size:{sm:{svg:"w-8 h-8",label:"text-small",value:"text-[0.5rem]"},md:{svg:"w-10 h-10",label:"text-small",value:"text-[0.55rem]"},lg:{svg:"w-12 h-12",label:"text-medium",value:"text-[0.6rem]"}},isIndeterminate:{true:{svg:"animate-spinner-ease-spin"}},isDisabled:{true:{base:"opacity-disabled cursor-not-allowed"}},disableAnimation:{true:{},false:{indicator:"transition-all !duration-500"}}},defaultVariants:{color:"primary",size:"md",isDisabled:!1},compoundVariants:[{disableAnimation:!0,isIndeterminate:!1,class:{svg:"!transition-none motion-reduce:transition-none"}}]}),wO=["data-[top-scroll=true]:[mask-image:linear-gradient(0deg,#000_calc(100%_-_var(--scroll-shadow-size)),transparent)]","data-[bottom-scroll=true]:[mask-image:linear-gradient(180deg,#000_calc(100%_-_var(--scroll-shadow-size)),transparent)]","data-[top-bottom-scroll=true]:[mask-image:linear-gradient(#000,#000,transparent_0,#000_var(--scroll-shadow-size),#000_calc(100%_-_var(--scroll-shadow-size)),transparent)]"],SO=["data-[left-scroll=true]:[mask-image:linear-gradient(270deg,#000_calc(100%_-_var(--scroll-shadow-size)),transparent)]","data-[right-scroll=true]:[mask-image:linear-gradient(90deg,#000_calc(100%_-_var(--scroll-shadow-size)),transparent)]","data-[left-right-scroll=true]:[mask-image:linear-gradient(to_right,#000,#000,transparent_0,#000_var(--scroll-shadow-size),#000_calc(100%_-_var(--scroll-shadow-size)),transparent)]"],dk=Nr({base:[],variants:{orientation:{vertical:["overflow-y-auto",...wO],horizontal:["overflow-x-auto",...SO]},hideScrollBar:{true:"scrollbar-hide",false:""}},defaultVariants:{orientation:"vertical",hideScrollBar:!1}}),pk=Nr({slots:{base:["group","relative","overflow-hidden","bg-content3 dark:bg-content2","pointer-events-none","before:opacity-100","before:absolute","before:inset-0","before:-translate-x-full","before:animate-shimmer","before:border-t","before:border-content4/30","before:bg-gradient-to-r","before:from-transparent","before:via-content4","dark:before:via-default-700/10","before:to-transparent","after:opacity-100","after:absolute","after:inset-0","after:-z-10","after:bg-content3","dark:after:bg-content2","data-[loaded=true]:pointer-events-auto","data-[loaded=true]:overflow-visible","data-[loaded=true]:!bg-transparent","data-[loaded=true]:before:opacity-0 data-[loaded=true]:before:-z-10 data-[loaded=true]:before:animate-none","data-[loaded=true]:after:opacity-0"],content:["opacity-0","group-data-[loaded=true]:opacity-100"]},variants:{disableAnimation:{true:{base:"before:animate-none before:transition-none after:transition-none",content:"transition-none"},false:{base:"transition-background !duration-300",content:"transition-opacity motion-reduce:transition-none !duration-300"}}},defaultVariants:{}}),hk=Nr({slots:{base:"group flex flex-col data-[hidden=true]:hidden",label:["absolute","z-10","pointer-events-none","origin-top-left","shrink-0","rtl:origin-top-right","subpixel-antialiased","block","text-small","text-foreground-500"],mainWrapper:"h-full",inputWrapper:"relative w-full inline-flex tap-highlight-transparent flex-row items-center shadow-xs px-3 gap-3",innerWrapper:"inline-flex w-full items-center h-full box-border",input:["w-full font-normal bg-transparent !outline-hidden placeholder:text-foreground-500 focus-visible:outline-hidden","data-[has-start-content=true]:ps-1.5","data-[has-end-content=true]:pe-1.5","data-[type=color]:rounded-none","file:cursor-pointer file:bg-transparent file:border-0","autofill:bg-transparent bg-clip-text"],clearButton:["p-2","-m-2","z-10","absolute","end-3","start-auto","pointer-events-none","appearance-none","outline-hidden","select-none","opacity-0","cursor-pointer","active:!opacity-70","rounded-full",...yh],helperWrapper:"hidden group-data-[has-helper=true]:flex p-1 relative flex-col gap-1.5",description:"text-tiny text-foreground-400",errorMessage:"text-tiny text-danger"},variants:{variant:{flat:{inputWrapper:["bg-default-100","data-[hover=true]:bg-default-200","group-data-[focus=true]:bg-default-100"]},faded:{inputWrapper:["bg-default-100","border-medium","border-default-200","data-[hover=true]:border-default-400 focus-within:border-default-400"],value:"group-data-[has-value=true]:text-default-foreground"},bordered:{inputWrapper:["border-medium","border-default-200","data-[hover=true]:border-default-400","group-data-[focus=true]:border-default-foreground"]},underlined:{inputWrapper:["!px-1","!pb-0","!gap-0","relative","box-border","border-b-medium","shadow-[0_1px_0px_0_rgba(0,0,0,0.05)]","border-default-200","!rounded-none","hover:border-default-300","after:content-['']","after:w-0","after:origin-center","after:bg-default-foreground","after:absolute","after:left-1/2","after:-translate-x-1/2","after:-bottom-[2px]","after:h-[2px]","group-data-[focus=true]:after:w-full"],innerWrapper:"pb-1",label:"group-data-[filled-within=true]:text-foreground"}},color:{default:{},primary:{},secondary:{},success:{},warning:{},danger:{}},size:{sm:{label:"text-tiny",inputWrapper:"h-8 min-h-8 px-2 rounded-small",input:"text-small",clearButton:"text-medium"},md:{inputWrapper:"h-10 min-h-10 rounded-medium",input:"text-small",clearButton:"text-large hover:!opacity-100"},lg:{label:"text-medium",inputWrapper:"h-12 min-h-12 rounded-large",input:"text-medium",clearButton:"text-large hover:!opacity-100"}},radius:{none:{inputWrapper:"rounded-none"},sm:{inputWrapper:"rounded-small"},md:{inputWrapper:"rounded-medium"},lg:{inputWrapper:"rounded-large"},full:{inputWrapper:"rounded-full"}},labelPlacement:{outside:{mainWrapper:"flex flex-col"},"outside-left":{base:"flex-row items-center flex-nowrap data-[has-helper=true]:items-start",inputWrapper:"flex-1",mainWrapper:"flex flex-col",label:"relative text-foreground pe-2 ps-2 pointer-events-auto"},"outside-top":{mainWrapper:"flex flex-col",label:"relative text-foreground pb-2 pointer-events-auto"},inside:{label:"cursor-text",inputWrapper:"flex-col items-start justify-center gap-0",innerWrapper:"group-data-[has-label=true]:items-end"}},fullWidth:{true:{base:"w-full"},false:{}},isClearable:{true:{input:"peer pe-6 input-search-cancel-button-none",clearButton:["peer-data-[filled=true]:pointer-events-auto","peer-data-[filled=true]:opacity-70 peer-data-[filled=true]:block","peer-data-[filled=true]:scale-100"]}},isDisabled:{true:{base:"opacity-disabled pointer-events-none",inputWrapper:"pointer-events-none",label:"pointer-events-none"}},isInvalid:{true:{label:"!text-danger",input:"!placeholder:text-danger !text-danger"}},isRequired:{true:{label:"after:content-['*'] after:text-danger after:ms-0.5"}},isMultiline:{true:{label:"relative",inputWrapper:"!h-auto",innerWrapper:"items-start group-data-[has-label=true]:items-start",input:"resize-none data-[hide-scroll=true]:scrollbar-hide",clearButton:"absolute top-2 right-2 rtl:right-auto rtl:left-2 z-10"}},disableAnimation:{true:{input:"transition-none",inputWrapper:"transition-none",label:"transition-none"},false:{inputWrapper:"transition-background motion-reduce:transition-none !duration-150",label:["will-change-auto","!duration-200","!ease-out","motion-reduce:transition-none","transition-[transform,color,left,opacity,translate,scale]"],clearButton:["scale-90","ease-out","duration-150","transition-[opacity,transform]","motion-reduce:transition-none","motion-reduce:scale-100"]}}},defaultVariants:{variant:"flat",color:"default",size:"md",fullWidth:!0,isDisabled:!1,isMultiline:!1},compoundVariants:[{variant:"flat",color:"default",class:{input:"group-data-[has-value=true]:text-default-foreground"}},{variant:"flat",color:"primary",class:{inputWrapper:["bg-primary-100","data-[hover=true]:bg-primary-50","text-primary","group-data-[focus=true]:bg-primary-50","placeholder:text-primary"],input:"placeholder:text-primary",label:"text-primary"}},{variant:"flat",color:"secondary",class:{inputWrapper:["bg-secondary-100","text-secondary","data-[hover=true]:bg-secondary-50","group-data-[focus=true]:bg-secondary-50","placeholder:text-secondary"],input:"placeholder:text-secondary",label:"text-secondary"}},{variant:"flat",color:"success",class:{inputWrapper:["bg-success-100","text-success-600","dark:text-success","placeholder:text-success-600","dark:placeholder:text-success","data-[hover=true]:bg-success-50","group-data-[focus=true]:bg-success-50"],input:"placeholder:text-success-600 dark:placeholder:text-success",label:"text-success-600 dark:text-success"}},{variant:"flat",color:"warning",class:{inputWrapper:["bg-warning-100","text-warning-600","dark:text-warning","placeholder:text-warning-600","dark:placeholder:text-warning","data-[hover=true]:bg-warning-50","group-data-[focus=true]:bg-warning-50"],input:"placeholder:text-warning-600 dark:placeholder:text-warning",label:"text-warning-600 dark:text-warning"}},{variant:"flat",color:"danger",class:{inputWrapper:["bg-danger-100","text-danger","dark:text-danger-500","placeholder:text-danger","dark:placeholder:text-danger-500","data-[hover=true]:bg-danger-50","group-data-[focus=true]:bg-danger-50"],input:"placeholder:text-danger dark:placeholder:text-danger-500",label:"text-danger dark:text-danger-500"}},{variant:"faded",color:"primary",class:{label:"text-primary",inputWrapper:"data-[hover=true]:border-primary focus-within:border-primary"}},{variant:"faded",color:"secondary",class:{label:"text-secondary",inputWrapper:"data-[hover=true]:border-secondary focus-within:border-secondary"}},{variant:"faded",color:"success",class:{label:"text-success",inputWrapper:"data-[hover=true]:border-success focus-within:border-success"}},{variant:"faded",color:"warning",class:{label:"text-warning",inputWrapper:"data-[hover=true]:border-warning focus-within:border-warning"}},{variant:"faded",color:"danger",class:{label:"text-danger",inputWrapper:"data-[hover=true]:border-danger focus-within:border-danger"}},{variant:"underlined",color:"default",class:{input:"group-data-[has-value=true]:text-foreground"}},{variant:"underlined",color:"primary",class:{inputWrapper:"after:bg-primary",label:"text-primary"}},{variant:"underlined",color:"secondary",class:{inputWrapper:"after:bg-secondary",label:"text-secondary"}},{variant:"underlined",color:"success",class:{inputWrapper:"after:bg-success",label:"text-success"}},{variant:"underlined",color:"warning",class:{inputWrapper:"after:bg-warning",label:"text-warning"}},{variant:"underlined",color:"danger",class:{inputWrapper:"after:bg-danger",label:"text-danger"}},{variant:"bordered",color:"primary",class:{inputWrapper:"group-data-[focus=true]:border-primary",label:"text-primary"}},{variant:"bordered",color:"secondary",class:{inputWrapper:"group-data-[focus=true]:border-secondary",label:"text-secondary"}},{variant:"bordered",color:"success",class:{inputWrapper:"group-data-[focus=true]:border-success",label:"text-success"}},{variant:"bordered",color:"warning",class:{inputWrapper:"group-data-[focus=true]:border-warning",label:"text-warning"}},{variant:"bordered",color:"danger",class:{inputWrapper:"group-data-[focus=true]:border-danger",label:"text-danger"}},{labelPlacement:"inside",color:"default",class:{label:"group-data-[filled-within=true]:text-default-600"}},{labelPlacement:"outside",color:"default",class:{label:"group-data-[filled-within=true]:text-foreground"}},{radius:"full",size:["sm"],class:{inputWrapper:"px-3"}},{radius:"full",size:"md",class:{inputWrapper:"px-4"}},{radius:"full",size:"lg",class:{inputWrapper:"px-5"}},{disableAnimation:!1,variant:["faded","bordered"],class:{inputWrapper:"transition-colors motion-reduce:transition-none"}},{disableAnimation:!1,variant:"underlined",class:{inputWrapper:"after:transition-width motion-reduce:after:transition-none"}},{variant:["flat","faded"],class:{inputWrapper:[...xO]}},{isInvalid:!0,variant:"flat",class:{inputWrapper:["!bg-danger-50","data-[hover=true]:!bg-danger-100","group-data-[focus=true]:!bg-danger-50"]}},{isInvalid:!0,variant:"bordered",class:{inputWrapper:"!border-danger group-data-[focus=true]:!border-danger"}},{isInvalid:!0,variant:"underlined",class:{inputWrapper:"after:!bg-danger"}},{labelPlacement:"inside",size:"sm",class:{inputWrapper:"h-12 py-1.5 px-3"}},{labelPlacement:"inside",size:"md",class:{inputWrapper:"h-14 py-2"}},{labelPlacement:"inside",size:"lg",class:{inputWrapper:"h-16 py-2.5 gap-0"}},{labelPlacement:"inside",size:"sm",variant:["bordered","faded"],class:{inputWrapper:"py-1"}},{labelPlacement:["inside","outside"],class:{label:["group-data-[filled-within=true]:pointer-events-auto"]}},{labelPlacement:"outside",isMultiline:!1,class:{base:"relative justify-end",label:["pb-0","z-20","top-1/2","-translate-y-1/2","group-data-[filled-within=true]:start-0"]}},{labelPlacement:["inside"],class:{label:["group-data-[filled-within=true]:scale-85"]}},{labelPlacement:["inside"],variant:"flat",class:{innerWrapper:"pb-0.5"}},{variant:"underlined",size:"sm",class:{innerWrapper:"pb-1"}},{variant:"underlined",size:["md","lg"],class:{innerWrapper:"pb-1.5"}},{labelPlacement:"inside",size:["sm","md"],class:{label:"text-small"}},{labelPlacement:"inside",isMultiline:!1,size:"sm",class:{label:["group-data-[filled-within=true]:-translate-y-[calc(50%_+_var(--heroui-font-size-tiny)/2_-_8px)]"]}},{labelPlacement:"inside",isMultiline:!1,size:"md",class:{label:["group-data-[filled-within=true]:-translate-y-[calc(50%_+_var(--heroui-font-size-small)/2_-_6px)]"]}},{labelPlacement:"inside",isMultiline:!1,size:"lg",class:{label:["text-medium","group-data-[filled-within=true]:-translate-y-[calc(50%_+_var(--heroui-font-size-small)/2_-_8px)]"]}},{labelPlacement:"inside",variant:["faded","bordered"],isMultiline:!1,size:"sm",class:{label:["group-data-[filled-within=true]:-translate-y-[calc(50%_+_var(--heroui-font-size-tiny)/2_-_8px_-_var(--heroui-border-width-medium))]"]}},{labelPlacement:"inside",variant:["faded","bordered"],isMultiline:!1,size:"md",class:{label:["group-data-[filled-within=true]:-translate-y-[calc(50%_+_var(--heroui-font-size-small)/2_-_6px_-_var(--heroui-border-width-medium))]"]}},{labelPlacement:"inside",variant:["faded","bordered"],isMultiline:!1,size:"lg",class:{label:["text-medium","group-data-[filled-within=true]:-translate-y-[calc(50%_+_var(--heroui-font-size-small)/2_-_8px_-_var(--heroui-border-width-medium))]"]}},{labelPlacement:"inside",variant:"underlined",isMultiline:!1,size:"sm",class:{label:["group-data-[filled-within=true]:-translate-y-[calc(50%_+_var(--heroui-font-size-tiny)/2_-_5px)]"]}},{labelPlacement:"inside",variant:"underlined",isMultiline:!1,size:"md",class:{label:["group-data-[filled-within=true]:-translate-y-[calc(50%_+_var(--heroui-font-size-small)/2_-_3.5px)]"]}},{labelPlacement:"inside",variant:"underlined",size:"lg",isMultiline:!1,class:{label:["text-medium","group-data-[filled-within=true]:-translate-y-[calc(50%_+_var(--heroui-font-size-small)/2_-_4px)]"]}},{labelPlacement:"outside",size:"sm",isMultiline:!1,class:{label:["start-2","text-tiny","group-data-[filled-within=true]:-translate-y-[calc(100%_+_var(--heroui-font-size-tiny)/2_+_16px)]"],base:"data-[has-label=true]:mt-[calc(var(--heroui-font-size-small)_+_8px)]"}},{labelPlacement:"outside",size:"md",isMultiline:!1,class:{label:["start-3","end-auto","text-small","group-data-[filled-within=true]:-translate-y-[calc(100%_+_var(--heroui-font-size-small)/2_+_20px)]"],base:"data-[has-label=true]:mt-[calc(var(--heroui-font-size-small)_+_10px)]"}},{labelPlacement:"outside",size:"lg",isMultiline:!1,class:{label:["start-3","end-auto","text-medium","group-data-[filled-within=true]:-translate-y-[calc(100%_+_var(--heroui-font-size-small)/2_+_24px)]"],base:"data-[has-label=true]:mt-[calc(var(--heroui-font-size-small)_+_12px)]"}},{labelPlacement:"outside-left",size:"sm",class:{label:"group-data-[has-helper=true]:pt-2"}},{labelPlacement:"outside-left",size:"md",class:{label:"group-data-[has-helper=true]:pt-3"}},{labelPlacement:"outside-left",size:"lg",class:{label:"group-data-[has-helper=true]:pt-4"}},{labelPlacement:["outside","outside-left"],isMultiline:!0,class:{inputWrapper:"py-2"}},{labelPlacement:"outside",isMultiline:!0,class:{label:"pb-1.5"}},{labelPlacement:"inside",isMultiline:!0,class:{label:"pb-0.5",input:"pt-0"}},{isMultiline:!0,disableAnimation:!1,class:{input:"transition-height !duration-100 motion-reduce:transition-none"}},{labelPlacement:["inside","outside"],class:{label:["pe-2","max-w-full","text-ellipsis","overflow-hidden"]}},{isMultiline:!0,radius:"full",class:{inputWrapper:"data-[has-multiple-rows=true]:rounded-large"}},{isClearable:!0,isMultiline:!0,class:{clearButton:["group-data-[has-value=true]:opacity-70 group-data-[has-value=true]:block","group-data-[has-value=true]:scale-100","group-data-[has-value=true]:pointer-events-auto"]}}]}),mk=Nr({slots:{wrapper:["flex","w-screen","h-[100dvh]","fixed","inset-0","z-50","overflow-x-auto","justify-center","h-[--visual-viewport-height]"],base:["flex","flex-col","relative","bg-white","z-50","w-full","box-border","bg-content1","outline-hidden","mx-1","my-1","sm:mx-6","sm:my-16"],backdrop:"z-50",header:"flex py-4 px-6 flex-initial text-large font-semibold",body:"flex flex-1 flex-col gap-3 px-6 py-2",footer:"flex flex-row gap-2 px-6 py-4 justify-end",closeButton:["absolute","appearance-none","outline-hidden","select-none","top-1","end-1","p-2","text-foreground-500","rounded-full","hover:bg-default-100","active:bg-default-200","tap-highlight-transparent",...yh]},variants:{size:{xs:{base:"max-w-xs"},sm:{base:"max-w-sm"},md:{base:"max-w-md"},lg:{base:"max-w-lg"},xl:{base:"max-w-xl"},"2xl":{base:"max-w-2xl"},"3xl":{base:"max-w-3xl"},"4xl":{base:"max-w-4xl"},"5xl":{base:"max-w-5xl"},full:{base:"my-0 mx-0 sm:mx-0 sm:my-0 max-w-full h-[100dvh] min-h-[100dvh] !rounded-none"}},radius:{none:{base:"rounded-none"},sm:{base:"rounded-small"},md:{base:"rounded-medium"},lg:{base:"rounded-large"}},placement:{auto:{wrapper:"items-end sm:items-center"},center:{wrapper:"items-center sm:items-center"},top:{wrapper:"items-start sm:items-start"},"top-center":{wrapper:"items-start sm:items-center"},bottom:{wrapper:"items-end sm:items-end"},"bottom-center":{wrapper:"items-end sm:items-center"}},shadow:{none:{base:"shadow-none"},sm:{base:"shadow-small"},md:{base:"shadow-medium"},lg:{base:"shadow-large"}},backdrop:{transparent:{backdrop:"hidden"},opaque:{backdrop:"bg-overlay/50 backdrop-opacity-disabled"},blur:{backdrop:"backdrop-blur-md backdrop-saturate-150 bg-overlay/30"}},scrollBehavior:{normal:{base:"overflow-y-hidden"},inside:{base:"max-h-[calc(100%_-_8rem)]",body:"overflow-y-auto"},outside:{wrapper:"items-start sm:items-start overflow-y-auto",base:"my-16"}},disableAnimation:{false:{wrapper:["[--scale-enter:100%]","[--scale-exit:100%]","[--slide-enter:0px]","[--slide-exit:80px]","sm:[--scale-enter:100%]","sm:[--scale-exit:103%]","sm:[--slide-enter:0px]","sm:[--slide-exit:0px]"]}}},defaultVariants:{size:"md",radius:"lg",shadow:"sm",placement:"auto",backdrop:"opaque",scrollBehavior:"normal"},compoundVariants:[{backdrop:["opaque","blur"],class:{backdrop:"w-screen h-screen fixed inset-0"}}]}),kO=Nr({base:"shrink-0 bg-divider border-none",variants:{orientation:{horizontal:"w-full h-divider",vertical:"h-full w-divider"}},defaultVariants:{orientation:"horizontal"}}),CO=Nr({base:"flex flex-col gap-2 items-start"}),gk=Nr({slots:{wrapper:"relative shadow-black/5",zoomedWrapper:"relative overflow-hidden rounded-inherit",img:"relative z-10 opacity-0 shadow-black/5 data-[loaded=true]:opacity-100",blurredImg:["absolute","z-0","inset-0","w-full","h-full","object-cover","filter","blur-lg","scale-105","saturate-150","opacity-30","translate-y-1"]},variants:{radius:{none:{},sm:{},md:{},lg:{},full:{}},shadow:{none:{wrapper:"shadow-none",img:"shadow-none"},sm:{wrapper:"shadow-small",img:"shadow-small"},md:{wrapper:"shadow-medium",img:"shadow-medium"},lg:{wrapper:"shadow-large",img:"shadow-large"}},isZoomed:{true:{img:["object-cover","transform","hover:scale-125"]}},showSkeleton:{true:{wrapper:["group","relative","overflow-hidden","bg-content3 dark:bg-content2"],img:"opacity-0"}},disableAnimation:{true:{img:"transition-none"},false:{img:"transition-transform-opacity motion-reduce:transition-none !duration-300"}}},defaultVariants:{radius:"lg",shadow:"none",isZoomed:!1,isBlurred:!1,showSkeleton:!1},compoundVariants:[{showSkeleton:!0,disableAnimation:!1,class:{wrapper:["before:opacity-100","before:absolute","before:inset-0","before:-translate-x-full","before:animate-shimmer","before:border-t","before:border-content4/30","before:bg-gradient-to-r","before:from-transparent","before:via-content4","dark:before:via-default-700/10","before:to-transparent","after:opacity-100","after:absolute","after:inset-0","after:-z-10","after:bg-content3","dark:after:bg-content2"]}}],compoundSlots:[{slots:["wrapper","img","blurredImg","zoomedWrapper"],radius:"none",class:"rounded-none"},{slots:["wrapper","img","blurredImg","zoomedWrapper"],radius:"full",class:"rounded-full"},{slots:["wrapper","img","blurredImg","zoomedWrapper"],radius:"sm",class:"rounded-small"},{slots:["wrapper","img","blurredImg","zoomedWrapper"],radius:"md",class:"rounded-md"},{slots:["wrapper","img","blurredImg","zoomedWrapper"],radius:"lg",class:"rounded-large"}]}),EO=Nr({base:["z-0","group","relative","inline-flex","items-center","justify-center","box-border","appearance-none","outline-hidden","select-none","whitespace-nowrap","min-w-max","font-normal","subpixel-antialiased","overflow-hidden","tap-highlight-transparent","transform-gpu data-[pressed=true]:scale-[0.97]","cursor-pointer",...yh],variants:{variant:{solid:"",bordered:"border-medium bg-transparent",light:"bg-transparent",flat:"",faded:"border-medium",shadow:"",ghost:"border-medium bg-transparent"},size:{sm:"px-3 min-w-16 h-8 text-tiny gap-2 rounded-small",md:"px-4 min-w-20 h-10 text-small gap-2 rounded-medium",lg:"px-6 min-w-24 h-12 text-medium gap-3 rounded-large"},color:{default:"",primary:"",secondary:"",success:"",warning:"",danger:""},radius:{none:"rounded-none",sm:"rounded-small",md:"rounded-medium",lg:"rounded-large",full:"rounded-full"},fullWidth:{true:"w-full"},isDisabled:{true:"opacity-disabled pointer-events-none"},isInGroup:{true:"[&:not(:first-child):not(:last-child)]:rounded-none"},isIconOnly:{true:"px-0 !gap-0",false:"[&>svg]:max-w-[theme(spacing.8)]"},disableAnimation:{true:"!transition-none data-[pressed=true]:scale-100",false:"transition-transform-colors-opacity motion-reduce:transition-none"}},defaultVariants:{size:"md",variant:"solid",color:"default",fullWidth:!1,isDisabled:!1,isInGroup:!1},compoundVariants:[{variant:"solid",color:"default",class:Ze.solid.default},{variant:"solid",color:"primary",class:Ze.solid.primary},{variant:"solid",color:"secondary",class:Ze.solid.secondary},{variant:"solid",color:"success",class:Ze.solid.success},{variant:"solid",color:"warning",class:Ze.solid.warning},{variant:"solid",color:"danger",class:Ze.solid.danger},{variant:"shadow",color:"default",class:Ze.shadow.default},{variant:"shadow",color:"primary",class:Ze.shadow.primary},{variant:"shadow",color:"secondary",class:Ze.shadow.secondary},{variant:"shadow",color:"success",class:Ze.shadow.success},{variant:"shadow",color:"warning",class:Ze.shadow.warning},{variant:"shadow",color:"danger",class:Ze.shadow.danger},{variant:"bordered",color:"default",class:Ze.bordered.default},{variant:"bordered",color:"primary",class:Ze.bordered.primary},{variant:"bordered",color:"secondary",class:Ze.bordered.secondary},{variant:"bordered",color:"success",class:Ze.bordered.success},{variant:"bordered",color:"warning",class:Ze.bordered.warning},{variant:"bordered",color:"danger",class:Ze.bordered.danger},{variant:"flat",color:"default",class:Ze.flat.default},{variant:"flat",color:"primary",class:Ze.flat.primary},{variant:"flat",color:"secondary",class:Ze.flat.secondary},{variant:"flat",color:"success",class:Ze.flat.success},{variant:"flat",color:"warning",class:Ze.flat.warning},{variant:"flat",color:"danger",class:Ze.flat.danger},{variant:"faded",color:"default",class:Ze.faded.default},{variant:"faded",color:"primary",class:Ze.faded.primary},{variant:"faded",color:"secondary",class:Ze.faded.secondary},{variant:"faded",color:"success",class:Ze.faded.success},{variant:"faded",color:"warning",class:Ze.faded.warning},{variant:"faded",color:"danger",class:Ze.faded.danger},{variant:"light",color:"default",class:[Ze.light.default,"data-[hover=true]:bg-default/40"]},{variant:"light",color:"primary",class:[Ze.light.primary,"data-[hover=true]:bg-primary/20"]},{variant:"light",color:"secondary",class:[Ze.light.secondary,"data-[hover=true]:bg-secondary/20"]},{variant:"light",color:"success",class:[Ze.light.success,"data-[hover=true]:bg-success/20"]},{variant:"light",color:"warning",class:[Ze.light.warning,"data-[hover=true]:bg-warning/20"]},{variant:"light",color:"danger",class:[Ze.light.danger,"data-[hover=true]:bg-danger/20"]},{variant:"ghost",color:"default",class:[Ze.ghost.default,"data-[hover=true]:!bg-default"]},{variant:"ghost",color:"primary",class:[Ze.ghost.primary,"data-[hover=true]:!bg-primary data-[hover=true]:!text-primary-foreground"]},{variant:"ghost",color:"secondary",class:[Ze.ghost.secondary,"data-[hover=true]:!bg-secondary data-[hover=true]:!text-secondary-foreground"]},{variant:"ghost",color:"success",class:[Ze.ghost.success,"data-[hover=true]:!bg-success data-[hover=true]:!text-success-foreground"]},{variant:"ghost",color:"warning",class:[Ze.ghost.warning,"data-[hover=true]:!bg-warning data-[hover=true]:!text-warning-foreground"]},{variant:"ghost",color:"danger",class:[Ze.ghost.danger,"data-[hover=true]:!bg-danger data-[hover=true]:!text-danger-foreground"]},{isInGroup:!0,class:"rounded-none first:rounded-s-medium last:rounded-e-medium"},{isInGroup:!0,size:"sm",class:"rounded-none first:rounded-s-small last:rounded-e-small"},{isInGroup:!0,size:"md",class:"rounded-none first:rounded-s-medium last:rounded-e-medium"},{isInGroup:!0,size:"lg",class:"rounded-none first:rounded-s-large last:rounded-e-large"},{isInGroup:!0,isRounded:!0,class:"rounded-none first:rounded-s-full last:rounded-e-full"},{isInGroup:!0,radius:"none",class:"rounded-none first:rounded-s-none last:rounded-e-none"},{isInGroup:!0,radius:"sm",class:"rounded-none first:rounded-s-small last:rounded-e-small"},{isInGroup:!0,radius:"md",class:"rounded-none first:rounded-s-medium last:rounded-e-medium"},{isInGroup:!0,radius:"lg",class:"rounded-none first:rounded-s-large last:rounded-e-large"},{isInGroup:!0,radius:"full",class:"rounded-none first:rounded-s-full last:rounded-e-full"},{isInGroup:!0,variant:["ghost","bordered"],color:"default",className:Zc.default},{isInGroup:!0,variant:["ghost","bordered"],color:"primary",className:Zc.primary},{isInGroup:!0,variant:["ghost","bordered"],color:"secondary",className:Zc.secondary},{isInGroup:!0,variant:["ghost","bordered"],color:"success",className:Zc.success},{isInGroup:!0,variant:["ghost","bordered"],color:"warning",className:Zc.warning},{isInGroup:!0,variant:["ghost","bordered"],color:"danger",className:Zc.danger},{isIconOnly:!0,size:"sm",class:"min-w-8 w-8 h-8"},{isIconOnly:!0,size:"md",class:"min-w-10 w-10 h-10"},{isIconOnly:!0,size:"lg",class:"min-w-12 w-12 h-12"},{variant:["solid","faded","flat","bordered","shadow"],class:"data-[hover=true]:opacity-hover"}]});Nr({base:"inline-flex items-center justify-center h-auto",variants:{fullWidth:{true:"w-full"}},defaultVariants:{fullWidth:!1}});var PO=Nr({base:"px-2",variants:{variant:{light:"",shadow:"px-4 shadow-medium rounded-medium bg-content1",bordered:"px-4 border-medium border-divider rounded-medium",splitted:"flex flex-col gap-2"},fullWidth:{true:"w-full"}},defaultVariants:{variant:"light",fullWidth:!0}}),TO=Nr({slots:{base:"",heading:"",trigger:["flex py-4 w-full h-full gap-3 outline-hidden items-center tap-highlight-transparent",...yh],startContent:"shrink-0",indicator:"text-default-400",titleWrapper:"flex-1 flex flex-col text-start",title:"text-foreground text-medium",subtitle:"text-small text-foreground-500 font-normal",content:"py-2"},variants:{variant:{splitted:{base:"px-4 bg-content1 shadow-medium rounded-medium"}},isCompact:{true:{trigger:"py-2",title:"text-medium",subtitle:"text-small",indicator:"text-medium",content:"py-1"}},isDisabled:{true:{base:"opacity-disabled pointer-events-none"}},hideIndicator:{true:{indicator:"hidden"}},disableAnimation:{true:{content:"hidden data-[open=true]:block"},false:{indicator:"transition-transform",trigger:"transition-opacity"}},disableIndicatorAnimation:{true:{indicator:"transition-none"},false:{indicator:"rotate-0 data-[open=true]:-rotate-90 rtl:-rotate-180 rtl:data-[open=true]:-rotate-90"}}},defaultVariants:{size:"md",radius:"lg",isDisabled:!1,hideIndicator:!1,disableIndicatorAnimation:!1}});function L_(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;t0){let d=function(h){return Promise.all(h.map(m=>Promise.resolve(m).then(g=>({status:"fulfilled",value:g}),g=>({status:"rejected",reason:g}))))};document.getElementsByTagName("link");const l=document.querySelector("meta[property=csp-nonce]"),c=l?.nonce||l?.getAttribute("nonce");i=d(n.map(h=>{if(h=AO(h),h in vk)return;vk[h]=!0;const m=h.endsWith(".css"),g=m?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${g}`))return;const b=document.createElement("link");if(b.rel=m?"stylesheet":IO,m||(b.as="script"),b.crossOrigin="",b.href=h,c&&b.setAttribute("nonce",c),document.head.appendChild(b),m)return new Promise((x,k)=>{b.addEventListener("load",x),b.addEventListener("error",()=>k(new Error(`Unable to preload CSS for ${h}`)))})}))}function s(l){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=l,window.dispatchEvent(c),!c.defaultPrevented)throw l}return i.then(l=>{for(const c of l||[])c.status==="rejected"&&s(c.reason);return t().catch(s)})};function RO(e,t){let{elementType:n="button",isDisabled:r,onPress:i,onPressStart:s,onPressEnd:l,onPressUp:c,onPressChange:d,preventFocusOnPress:h,allowFocusWhenDisabled:m,onClick:g,href:b,target:x,rel:k,type:P="button"}=e,_;n==="button"?_={type:P,disabled:r}:_={role:"button",href:n==="a"&&!r?b:void 0,target:n==="a"?x:void 0,type:n==="input"?P:void 0,disabled:n==="input"?r:void 0,"aria-disabled":!r||n==="input"?void 0:r,rel:n==="a"?k:void 0};let{pressProps:T,isPressed:A}=mv({onPressStart:s,onPressEnd:l,onPressChange:d,onPress:i,onPressUp:c,onClick:g,isDisabled:r,preventFocusOnPress:h,ref:t}),{focusableProps:L}=vv(e,t);m&&(L.tabIndex=r?-1:L.tabIndex);let z=ar(L,T,$f(e,{labelable:!0}));return{isPressed:A,buttonProps:ar(_,z,{"aria-haspopup":e["aria-haspopup"],"aria-expanded":e["aria-expanded"],"aria-controls":e["aria-controls"],"aria-pressed":e["aria-pressed"],"aria-current":e["aria-current"]})}}function LO(e,t,n){let{item:r,isDisabled:i}=e,s=r.key,l=t.selectionManager,c=S.useId(),d=S.useId(),h=t.disabledKeys.has(r.key)||i;S.useEffect(()=>{s===t.focusedKey&&document.activeElement!==n.current&&n.current&&xu(n.current)},[n,s,t.focusedKey]);let m=S.useCallback(P=>{l.canSelectItem(s)&&(l.select(s,P),t.toggleKey(s))},[s,l]);const g=S.useCallback(P=>{l.selectionBehavior==="replace"&&l.extendSelection(P),l.setFocusedKey(P)},[l]),b=S.useCallback(P=>{const T={ArrowDown:()=>{const A=t.collection.getKeyAfter(s);if(A&&t.disabledKeys.has(A)){const L=t.collection.getKeyAfter(A);L&&g(L)}else A&&g(A)},ArrowUp:()=>{const A=t.collection.getKeyBefore(s);if(A&&t.disabledKeys.has(A)){const L=t.collection.getKeyBefore(A);L&&g(L)}else A&&g(A)},Home:()=>{const A=t.collection.getFirstKey();A&&g(A)},End:()=>{const A=t.collection.getLastKey();A&&g(A)}}[P.key];T&&(P.preventDefault(),l.canSelectItem(s)&&T(P))},[s,l]);let{buttonProps:x}=RO({id:c,elementType:"button",isDisabled:h,onKeyDown:b,onPress:m},n),k=t.selectionManager.isSelected(r.key);return{buttonProps:{...x,"aria-expanded":k,"aria-controls":k?d:void 0},regionProps:{id:d,role:"region","aria-labelledby":c}}}function yk(e){return iM()?e.altKey:e.ctrlKey}function $g(e,t){var n,r;let i=`[data-key="${CSS.escape(String(t))}"]`,s=(n=e.current)===null||n===void 0?void 0:n.dataset.collection;return s&&(i=`[data-collection="${CSS.escape(s)}"]${i}`),(r=e.current)===null||r===void 0?void 0:r.querySelector(i)}const M_=new WeakMap;function MO(e){let t=yf();return M_.set(e,t),t}function BG(e){return M_.get(e)}const DO=1e3;function NO(e){let{keyboardDelegate:t,selectionManager:n,onTypeSelect:r}=e,i=S.useRef({search:"",timeout:void 0}).current,s=l=>{let c=FO(l.key);if(!(!c||l.ctrlKey||l.metaKey||!l.currentTarget.contains(l.target))){if(c===" "&&i.search.trim().length>0&&(l.preventDefault(),"continuePropagation"in l||l.stopPropagation()),i.search+=c,t.getKeyForSearch!=null){let d=t.getKeyForSearch(i.search,n.focusedKey);d==null&&(d=t.getKeyForSearch(i.search)),d!=null&&(n.setFocusedKey(d),r&&r(d))}clearTimeout(i.timeout),i.timeout=setTimeout(()=>{i.search=""},DO)}};return{typeSelectProps:{onKeyDownCapture:t.getKeyForSearch?s:void 0}}}function FO(e){return e.length===1||!/^[A-Z]/i.test(e)?e:""}function OO(e){let{selectionManager:t,keyboardDelegate:n,ref:r,autoFocus:i=!1,shouldFocusWrap:s=!1,disallowEmptySelection:l=!1,disallowSelectAll:c=!1,escapeKeyBehavior:d="clearSelection",selectOnFocus:h=t.selectionBehavior==="replace",disallowTypeAhead:m=!1,shouldUseVirtualFocus:g,allowsTabNavigation:b=!1,isVirtualized:x,scrollRef:k=r,linkBehavior:P="action"}=e,{direction:_}=dh(),T=lx(),A=q=>{var W;if(q.altKey&&q.key==="Tab"&&q.preventDefault(),!(!((W=r.current)===null||W===void 0)&&W.contains(q.target)))return;const se=($e,Rt)=>{if($e!=null){if(t.isLink($e)&&P==="selection"&&h&&!yk(q)){FE.flushSync(()=>{t.setFocusedKey($e,Rt)});let bt=$g(r,$e),Qt=t.getItemProps($e);bt&&T.open(bt,q,Qt.href,Qt.routerOptions);return}if(t.setFocusedKey($e,Rt),t.isLink($e)&&P==="override")return;q.shiftKey&&t.selectionMode==="multiple"?t.extendSelection($e):h&&!yk(q)&&t.replaceSelection($e)}};switch(q.key){case"ArrowDown":if(n.getKeyBelow){var R,V,oe;let $e=t.focusedKey!=null?(R=n.getKeyBelow)===null||R===void 0?void 0:R.call(n,t.focusedKey):(V=n.getFirstKey)===null||V===void 0?void 0:V.call(n);$e==null&&s&&($e=(oe=n.getFirstKey)===null||oe===void 0?void 0:oe.call(n,t.focusedKey)),$e!=null&&(q.preventDefault(),se($e))}break;case"ArrowUp":if(n.getKeyAbove){var O,me,Ee;let $e=t.focusedKey!=null?(O=n.getKeyAbove)===null||O===void 0?void 0:O.call(n,t.focusedKey):(me=n.getLastKey)===null||me===void 0?void 0:me.call(n);$e==null&&s&&($e=(Ee=n.getLastKey)===null||Ee===void 0?void 0:Ee.call(n,t.focusedKey)),$e!=null&&(q.preventDefault(),se($e))}break;case"ArrowLeft":if(n.getKeyLeftOf){var we,je,Oe;let $e=t.focusedKey!=null?(we=n.getKeyLeftOf)===null||we===void 0?void 0:we.call(n,t.focusedKey):null;$e==null&&s&&($e=_==="rtl"?(je=n.getFirstKey)===null||je===void 0?void 0:je.call(n,t.focusedKey):(Oe=n.getLastKey)===null||Oe===void 0?void 0:Oe.call(n,t.focusedKey)),$e!=null&&(q.preventDefault(),se($e,_==="rtl"?"first":"last"))}break;case"ArrowRight":if(n.getKeyRightOf){var Te,tt,yt;let $e=t.focusedKey!=null?(Te=n.getKeyRightOf)===null||Te===void 0?void 0:Te.call(n,t.focusedKey):null;$e==null&&s&&($e=_==="rtl"?(tt=n.getLastKey)===null||tt===void 0?void 0:tt.call(n,t.focusedKey):(yt=n.getFirstKey)===null||yt===void 0?void 0:yt.call(n,t.focusedKey)),$e!=null&&(q.preventDefault(),se($e,_==="rtl"?"last":"first"))}break;case"Home":if(n.getFirstKey){if(t.focusedKey===null&&q.shiftKey)return;q.preventDefault();let $e=n.getFirstKey(t.focusedKey,cp(q));t.setFocusedKey($e),$e!=null&&(cp(q)&&q.shiftKey&&t.selectionMode==="multiple"?t.extendSelection($e):h&&t.replaceSelection($e))}break;case"End":if(n.getLastKey){if(t.focusedKey===null&&q.shiftKey)return;q.preventDefault();let $e=n.getLastKey(t.focusedKey,cp(q));t.setFocusedKey($e),$e!=null&&(cp(q)&&q.shiftKey&&t.selectionMode==="multiple"?t.extendSelection($e):h&&t.replaceSelection($e))}break;case"PageDown":if(n.getKeyPageBelow&&t.focusedKey!=null){let $e=n.getKeyPageBelow(t.focusedKey);$e!=null&&(q.preventDefault(),se($e))}break;case"PageUp":if(n.getKeyPageAbove&&t.focusedKey!=null){let $e=n.getKeyPageAbove(t.focusedKey);$e!=null&&(q.preventDefault(),se($e))}break;case"a":cp(q)&&t.selectionMode==="multiple"&&c!==!0&&(q.preventDefault(),t.selectAll());break;case"Escape":d==="clearSelection"&&!l&&t.selectedKeys.size!==0&&(q.stopPropagation(),q.preventDefault(),t.clearSelection());break;case"Tab":if(!b){if(q.shiftKey)r.current.focus();else{let $e=Xs(r.current,{tabbable:!0}),Rt,bt;do bt=$e.lastChild(),bt&&(Rt=bt);while(bt);Rt&&!Rt.contains(document.activeElement)&&Ql(Rt)}break}}},L=S.useRef({top:0,left:0});ig(k,"scroll",x?void 0:()=>{var q,W,se,R;L.current={top:(se=(q=k.current)===null||q===void 0?void 0:q.scrollTop)!==null&&se!==void 0?se:0,left:(R=(W=k.current)===null||W===void 0?void 0:W.scrollLeft)!==null&&R!==void 0?R:0}});let z=q=>{if(t.isFocused){q.currentTarget.contains(q.target)||t.setFocused(!1);return}if(q.currentTarget.contains(q.target)){if(t.setFocused(!0),t.focusedKey==null){var W,se;let oe=me=>{me!=null&&(t.setFocusedKey(me),h&&!t.isSelected(me)&&t.replaceSelection(me))},O=q.relatedTarget;var R,V;O&&q.currentTarget.compareDocumentPosition(O)&Node.DOCUMENT_POSITION_FOLLOWING?oe((R=t.lastSelectedKey)!==null&&R!==void 0?R:(W=n.getLastKey)===null||W===void 0?void 0:W.call(n)):oe((V=t.firstSelectedKey)!==null&&V!==void 0?V:(se=n.getFirstKey)===null||se===void 0?void 0:se.call(n))}else!x&&k.current&&(k.current.scrollTop=L.current.top,k.current.scrollLeft=L.current.left);if(t.focusedKey!=null&&k.current){let oe=$g(r,t.focusedKey);oe instanceof HTMLElement&&(!oe.contains(document.activeElement)&&!g&&Ql(oe),nh()==="keyboard"&&x1(oe,{containingElement:r.current}))}}},K=q=>{q.currentTarget.contains(q.relatedTarget)||t.setFocused(!1)},M=S.useRef(!1);ig(r,mM,g?q=>{let{detail:W}=q;q.stopPropagation(),t.setFocused(!0),W?.focusStrategy==="first"&&(M.current=!0)}:void 0);let J=On(()=>{var q,W;let se=(W=(q=n.getFirstKey)===null||q===void 0?void 0:q.call(n))!==null&&W!==void 0?W:null;se==null?(JF(r.current),t.collection.size>0&&(M.current=!1)):(t.setFocusedKey(se),M.current=!1)});v1(()=>{M.current&&J()},[t.collection,J]);let re=On(()=>{t.collection.size>0&&(M.current=!1)});v1(()=>{re()},[t.focusedKey,re]),ig(r,hM,g?q=>{var W;q.stopPropagation(),t.setFocused(!1),!((W=q.detail)===null||W===void 0)&&W.clearFocusKey&&t.setFocusedKey(null)}:void 0);const ae=S.useRef(i),j=S.useRef(!1);S.useEffect(()=>{if(ae.current){var q,W;let V=null;var se;i==="first"&&(V=(se=(q=n.getFirstKey)===null||q===void 0?void 0:q.call(n))!==null&&se!==void 0?se:null);var R;i==="last"&&(V=(R=(W=n.getLastKey)===null||W===void 0?void 0:W.call(n))!==null&&R!==void 0?R:null);let oe=t.selectedKeys;if(oe.size){for(let O of oe)if(t.canSelectItem(O)){V=O;break}}t.setFocused(!0),t.setFocusedKey(V),V==null&&!g&&r.current&&xu(r.current),t.collection.size>0&&(ae.current=!1,j.current=!0)}});let B=S.useRef(t.focusedKey),Y=S.useRef(null);S.useEffect(()=>{if(t.isFocused&&t.focusedKey!=null&&(t.focusedKey!==B.current||j.current)&&k.current&&r.current){let q=nh(),W=$g(r,t.focusedKey);if(!(W instanceof HTMLElement))return;(q==="keyboard"||j.current)&&(Y.current&&cancelAnimationFrame(Y.current),Y.current=requestAnimationFrame(()=>{k.current&&(DE(k.current,W),q!=="virtual"&&x1(W,{containingElement:r.current}))}))}!g&&t.isFocused&&t.focusedKey==null&&B.current!=null&&r.current&&xu(r.current),B.current=t.focusedKey,j.current=!1}),S.useEffect(()=>()=>{Y.current&&cancelAnimationFrame(Y.current)},[]),ig(r,"react-aria-focus-scope-restore",q=>{q.preventDefault(),t.setFocused(!0)});let te={onKeyDown:A,onFocus:z,onBlur:K,onMouseDown(q){k.current===q.target&&q.preventDefault()}},{typeSelectProps:G}=NO({keyboardDelegate:n,selectionManager:t});m||(te=ar(G,te));let fe;g||(fe=t.focusedKey==null?0:-1);let Z=MO(t.collection);return{collectionProps:ar(te,{tabIndex:fe,"data-collection":Z})}}class bk{getItemRect(t){let n=this.ref.current;if(!n)return null;let r=t!=null?$g(this.ref,t):null;if(!r)return null;let i=n.getBoundingClientRect(),s=r.getBoundingClientRect();return{x:s.left-i.left+n.scrollLeft,y:s.top-i.top+n.scrollTop,width:s.width,height:s.height}}getContentSize(){let t=this.ref.current;var n,r;return{width:(n=t?.scrollWidth)!==null&&n!==void 0?n:0,height:(r=t?.scrollHeight)!==null&&r!==void 0?r:0}}getVisibleRect(){let t=this.ref.current;var n,r,i,s;return{x:(n=t?.scrollLeft)!==null&&n!==void 0?n:0,y:(r=t?.scrollTop)!==null&&r!==void 0?r:0,width:(i=t?.offsetWidth)!==null&&i!==void 0?i:0,height:(s=t?.offsetHeight)!==null&&s!==void 0?s:0}}constructor(t){this.ref=t}}class zO{isDisabled(t){var n;return this.disabledBehavior==="all"&&(((n=t.props)===null||n===void 0?void 0:n.isDisabled)||this.disabledKeys.has(t.key))}findNextNonDisabled(t,n){let r=t;for(;r!=null;){let i=this.collection.getItem(r);if(i?.type==="item"&&!this.isDisabled(i))return r;r=n(r)}return null}getNextKey(t){let n=t;return n=this.collection.getKeyAfter(n),this.findNextNonDisabled(n,r=>this.collection.getKeyAfter(r))}getPreviousKey(t){let n=t;return n=this.collection.getKeyBefore(n),this.findNextNonDisabled(n,r=>this.collection.getKeyBefore(r))}findKey(t,n,r){let i=t,s=this.layoutDelegate.getItemRect(i);if(!s||i==null)return null;let l=s;do{if(i=n(i),i==null)break;s=this.layoutDelegate.getItemRect(i)}while(s&&r(l,s)&&i!=null);return i}isSameRow(t,n){return t.y===n.y||t.x!==n.x}isSameColumn(t,n){return t.x===n.x||t.y!==n.y}getKeyBelow(t){return this.layout==="grid"&&this.orientation==="vertical"?this.findKey(t,n=>this.getNextKey(n),this.isSameRow):this.getNextKey(t)}getKeyAbove(t){return this.layout==="grid"&&this.orientation==="vertical"?this.findKey(t,n=>this.getPreviousKey(n),this.isSameRow):this.getPreviousKey(t)}getNextColumn(t,n){return n?this.getPreviousKey(t):this.getNextKey(t)}getKeyRightOf(t){let n=this.direction==="ltr"?"getKeyRightOf":"getKeyLeftOf";return this.layoutDelegate[n]?(t=this.layoutDelegate[n](t),this.findNextNonDisabled(t,r=>this.layoutDelegate[n](r))):this.layout==="grid"?this.orientation==="vertical"?this.getNextColumn(t,this.direction==="rtl"):this.findKey(t,r=>this.getNextColumn(r,this.direction==="rtl"),this.isSameColumn):this.orientation==="horizontal"?this.getNextColumn(t,this.direction==="rtl"):null}getKeyLeftOf(t){let n=this.direction==="ltr"?"getKeyLeftOf":"getKeyRightOf";return this.layoutDelegate[n]?(t=this.layoutDelegate[n](t),this.findNextNonDisabled(t,r=>this.layoutDelegate[n](r))):this.layout==="grid"?this.orientation==="vertical"?this.getNextColumn(t,this.direction==="ltr"):this.findKey(t,r=>this.getNextColumn(r,this.direction==="ltr"),this.isSameColumn):this.orientation==="horizontal"?this.getNextColumn(t,this.direction==="ltr"):null}getFirstKey(){let t=this.collection.getFirstKey();return this.findNextNonDisabled(t,n=>this.collection.getKeyAfter(n))}getLastKey(){let t=this.collection.getLastKey();return this.findNextNonDisabled(t,n=>this.collection.getKeyBefore(n))}getKeyPageAbove(t){let n=this.ref.current,r=this.layoutDelegate.getItemRect(t);if(!r)return null;if(n&&!Wp(n))return this.getFirstKey();let i=t;if(this.orientation==="horizontal"){let s=Math.max(0,r.x+r.width-this.layoutDelegate.getVisibleRect().width);for(;r&&r.x>s&&i!=null;)i=this.getKeyAbove(i),r=i==null?null:this.layoutDelegate.getItemRect(i)}else{let s=Math.max(0,r.y+r.height-this.layoutDelegate.getVisibleRect().height);for(;r&&r.y>s&&i!=null;)i=this.getKeyAbove(i),r=i==null?null:this.layoutDelegate.getItemRect(i)}return i??this.getFirstKey()}getKeyPageBelow(t){let n=this.ref.current,r=this.layoutDelegate.getItemRect(t);if(!r)return null;if(n&&!Wp(n))return this.getLastKey();let i=t;if(this.orientation==="horizontal"){let s=Math.min(this.layoutDelegate.getContentSize().width,r.y-r.width+this.layoutDelegate.getVisibleRect().width);for(;r&&r.xs||new zO({collection:n,disabledKeys:r,disabledBehavior:d,ref:i,collator:c,layoutDelegate:l}),[s,l,n,r,i,c,d]),{collectionProps:m}=OO({...e,ref:i,selectionManager:t,keyboardDelegate:h});return{listProps:m}}function BO(e,t,n){let{listProps:r}=jO({...e,...t,allowsTabNavigation:!0,disallowSelectAll:!0,ref:n});return delete r.onKeyDownCapture,{accordionProps:{...r,tabIndex:void 0}}}function VO(e){var t,n;const r=Ti(),{ref:i,as:s,item:l,onFocusChange:c}=e,{state:d,className:h,indicator:m,children:g,title:b,subtitle:x,startContent:k,motionProps:P,focusedKey:_,variant:T,isCompact:A=!1,classNames:L={},isDisabled:z=!1,hideIndicator:K=!1,disableAnimation:M=(t=r?.disableAnimation)!=null?t:!1,keepContentMounted:J=!1,disableIndicatorAnimation:re=!1,HeadingComponent:ae=s||"h2",onPress:j,onPressStart:B,onPressEnd:Y,onPressChange:te,onPressUp:G,onClick:fe,...Z}=e,q=s||"div",W=typeof q=="string",se=Ji(i),R=d.disabledKeys.has(l.key)||z,V=d.selectionManager.isSelected(l.key),{buttonProps:oe,regionProps:O}=LO({item:l,isDisabled:R},{...d,focusedKey:_},se),{onFocus:me,onBlur:Ee,...we}=oe,{isFocused:je,isFocusVisible:Oe,focusProps:Te}=rh({autoFocus:(n=l.props)==null?void 0:n.autoFocus}),{isHovered:tt,hoverProps:yt}=Cf({isDisabled:R}),{pressProps:$e,isPressed:Rt}=mv({ref:se,isDisabled:R,onPress:j,onPressStart:B,onPressEnd:Y,onPressChange:te,onPressUp:G}),bt=S.useCallback(()=>{c?.(!0,l.key)},[]),Qt=S.useCallback(()=>{c?.(!1,l.key)},[]),Ue=S.useMemo(()=>({...L}),[tl(L)]),st=S.useMemo(()=>TO({isCompact:A,isDisabled:R,hideIndicator:K,disableAnimation:M,disableIndicatorAnimation:re,variant:T}),[A,R,K,M,re,T]),Rn=hn(Ue?.base,h),Or=S.useCallback((pe={})=>({"data-open":Me(V),"data-disabled":Me(R),"data-slot":"base",className:st.base({class:Rn}),...mn(vf(Z,{enabled:W}),pe)}),[Rn,W,Z,st,l.props,V,R]),kn=(pe={})=>{var ke,Be;return{ref:se,"data-open":Me(V),"data-focus":Me(je),"data-focus-visible":Me(Oe),"data-disabled":Me(R),"data-hover":Me(tt),"data-pressed":Me(Rt),"data-slot":"trigger",className:st.trigger({class:Ue?.trigger}),onFocus:l1(bt,me,Te.onFocus,Z.onFocus,(ke=l.props)==null?void 0:ke.onFocus),onBlur:l1(Qt,Ee,Te.onBlur,Z.onBlur,(Be=l.props)==null?void 0:Be.onBlur),...mn(we,yt,$e,pe,{onClick:gf($e.onClick,fe)})}},Lt=S.useCallback((pe={})=>({"data-open":Me(V),"data-disabled":Me(R),"data-slot":"content",className:st.content({class:Ue?.content}),...mn(O,pe)}),[st,Ue,O,V,R,Ue?.content]),jt=S.useCallback((pe={})=>({"aria-hidden":Me(!0),"data-open":Me(V),"data-disabled":Me(R),"data-slot":"indicator",className:st.indicator({class:Ue?.indicator}),...pe}),[st,Ue?.indicator,V,R,Ue?.indicator]),ur=S.useCallback((pe={})=>({"data-open":Me(V),"data-disabled":Me(R),"data-slot":"heading",className:st.heading({class:Ue?.heading}),...pe}),[st,Ue?.heading,V,R,Ue?.heading]),ro=S.useCallback((pe={})=>({"data-open":Me(V),"data-disabled":Me(R),"data-slot":"title",className:st.title({class:Ue?.title}),...pe}),[st,Ue?.title,V,R,Ue?.title]),Xn=S.useCallback((pe={})=>({"data-open":Me(V),"data-disabled":Me(R),"data-slot":"subtitle",className:st.subtitle({class:Ue?.subtitle}),...pe}),[st,Ue,V,R,Ue?.subtitle]);return{Component:q,HeadingComponent:ae,item:l,slots:st,classNames:Ue,domRef:se,indicator:m,children:g,title:b,subtitle:x,startContent:k,isOpen:V,isDisabled:R,hideIndicator:K,keepContentMounted:J,disableAnimation:M,motionProps:P,getBaseProps:Or,getHeadingProps:ur,getButtonProps:kn,getContentProps:Lt,getIndicatorProps:jt,getTitleProps:ro,getSubtitleProps:Xn}}var xk=e=>N.jsx("svg",{"aria-hidden":"true",fill:"none",focusable:"false",height:"1em",role:"presentation",viewBox:"0 0 24 24",width:"1em",...e,children:N.jsx("path",{d:"M15.5 19l-7-7 7-7",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5"})}),UO=e=>N.jsx("svg",{"aria-hidden":"true",focusable:"false",height:"1em",role:"presentation",viewBox:"0 0 24 24",width:"1em",...e,children:N.jsx("path",{d:"M12 2a10 10 0 1010 10A10.016 10.016 0 0012 2zm3.36 12.3a.754.754 0 010 1.06.748.748 0 01-1.06 0l-2.3-2.3-2.3 2.3a.748.748 0 01-1.06 0 .754.754 0 010-1.06l2.3-2.3-2.3-2.3A.75.75 0 019.7 8.64l2.3 2.3 2.3-2.3a.75.75 0 011.06 1.06l-2.3 2.3z",fill:"currentColor"})}),KO=e=>{const{isSelected:t,isIndeterminate:n,disableAnimation:r,...i}=e;return N.jsx("svg",{"aria-hidden":"true",className:"fill-current",fill:"none",focusable:"false",height:"1em",role:"presentation",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,viewBox:"0 0 24 24",width:"1em",...i,children:N.jsx("path",{d:"M18 6L6 18M6 6l12 12"})})},Op={ease:[.36,.66,.4,1]},qg={scaleSpring:{enter:{transform:"scale(1)",opacity:1,transition:{type:"spring",bounce:0,duration:.2}},exit:{transform:"scale(0.85)",opacity:0,transition:{type:"easeOut",duration:.15}}},scaleSpringOpacity:{initial:{opacity:0,transform:"scale(0.8)"},enter:{opacity:1,transform:"scale(1)",transition:{type:"spring",bounce:0,duration:.3}},exit:{opacity:0,transform:"scale(0.96)",transition:{type:"easeOut",bounce:0,duration:.15}}},fade:{enter:{opacity:1,transition:{duration:.4,ease:Op.ease}},exit:{opacity:0,transition:{duration:.3,ease:Op.ease}}},collapse:{enter:{opacity:1,height:"auto",transition:{height:{type:"spring",bounce:0,duration:.3},opacity:{easings:"ease",duration:.4}}},exit:{opacity:0,height:0,transition:{easings:"ease",duration:.3}}}},wk=()=>Fr(()=>import("./index-BDLYWa-3.js"),[]).then(e=>e.default),D_=_i((e,t)=>{const{Component:n,HeadingComponent:r,classNames:i,slots:s,indicator:l,children:c,title:d,subtitle:h,startContent:m,isOpen:g,isDisabled:b,hideIndicator:x,keepContentMounted:k,disableAnimation:P,motionProps:_,getBaseProps:T,getHeadingProps:A,getButtonProps:L,getTitleProps:z,getSubtitleProps:K,getContentProps:M,getIndicatorProps:J}=VO({...e,ref:t}),re=aF(),j=S.useMemo(()=>typeof l=="function"?l({indicator:N.jsx(xk,{}),isOpen:g,isDisabled:b}):l||null,[l,g,b])||N.jsx(xk,{}),B=S.useMemo(()=>{if(P)return k?N.jsx("div",{...M(),children:c}):g&&N.jsx("div",{...M(),children:c});const Y={exit:{...qg.collapse.exit,overflowY:"hidden"},enter:{...qg.collapse.enter,overflowY:"unset"}};return k?N.jsx(Sf,{features:wk,children:N.jsx(kf.section,{animate:g?"enter":"exit",exit:"exit",initial:"exit",style:{willChange:re},variants:Y,onKeyDown:te=>{te.stopPropagation()},..._,children:N.jsx("div",{...M(),children:c})},"accordion-content")}):N.jsx(Lf,{initial:!1,children:g&&N.jsx(Sf,{features:wk,children:N.jsx(kf.section,{animate:"enter",exit:"exit",initial:"exit",style:{willChange:re},variants:Y,onKeyDown:te=>{te.stopPropagation()},..._,children:N.jsx("div",{...M(),children:c})},"accordion-content")})})},[g,P,k,c,_]);return N.jsxs(n,{...T(),children:[N.jsx(r,{...A(),children:N.jsxs("button",{...L(),children:[m&&N.jsx("div",{className:s.startContent({class:i?.startContent}),children:m}),N.jsxs("div",{className:s.titleWrapper({class:i?.titleWrapper}),children:[d&&N.jsx("span",{...z(),children:d}),h&&N.jsx("span",{...K(),children:h})]}),!x&&j&&N.jsx("span",{...J(),children:j})]})}),B]})});D_.displayName="HeroUI.AccordionItem";var WO=D_;class HO{*[Symbol.iterator](){yield*this.iterable}get size(){return this.keyMap.size}getKeys(){return this.keyMap.keys()}getKeyBefore(t){let n=this.keyMap.get(t);var r;return n&&(r=n.prevKey)!==null&&r!==void 0?r:null}getKeyAfter(t){let n=this.keyMap.get(t);var r;return n&&(r=n.nextKey)!==null&&r!==void 0?r:null}getFirstKey(){return this.firstKey}getLastKey(){return this.lastKey}getItem(t){var n;return(n=this.keyMap.get(t))!==null&&n!==void 0?n:null}at(t){const n=[...this.getKeys()];return this.getItem(n[t])}constructor(t,{expandedKeys:n}={}){this.keyMap=new Map,this.firstKey=null,this.lastKey=null,this.iterable=t,n=n||new Set;let r=c=>{if(this.keyMap.set(c.key,c),c.childNodes&&(c.type==="section"||n.has(c.key)))for(let d of c.childNodes)r(d)};for(let c of t)r(c);let i=null,s=0;for(let[c,d]of this.keyMap)i?(i.nextKey=c,d.prevKey=i.key):(this.firstKey=c,d.prevKey=void 0),d.type==="item"&&(d.index=s++),i=d,i.nextKey=void 0;var l;this.lastKey=(l=i?.key)!==null&&l!==void 0?l:null}}class Co extends Set{constructor(t,n,r){super(t),t instanceof Co?(this.anchorKey=n??t.anchorKey,this.currentKey=r??t.currentKey):(this.anchorKey=n??null,this.currentKey=r??null)}}function GO(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function qO(e){let{selectionMode:t="none",disallowEmptySelection:n=!1,allowDuplicateSelectionEvents:r,selectionBehavior:i="toggle",disabledBehavior:s="all"}=e,l=S.useRef(!1),[,c]=S.useState(!1),d=S.useRef(null),h=S.useRef(null),[,m]=S.useState(null),g=S.useMemo(()=>Sk(e.selectedKeys),[e.selectedKeys]),b=S.useMemo(()=>Sk(e.defaultSelectedKeys,new Co),[e.defaultSelectedKeys]),[x,k]=If(g,b,e.onSelectionChange),P=S.useMemo(()=>e.disabledKeys?new Set(e.disabledKeys):new Set,[e.disabledKeys]),[_,T]=S.useState(i);i==="replace"&&_==="toggle"&&typeof x=="object"&&x.size===0&&T("replace");let A=S.useRef(i);return S.useEffect(()=>{i!==A.current&&(T(i),A.current=i)},[i]),{selectionMode:t,disallowEmptySelection:n,selectionBehavior:_,setSelectionBehavior:T,get isFocused(){return l.current},setFocused(L){l.current=L,c(L)},get focusedKey(){return d.current},get childFocusStrategy(){return h.current},setFocusedKey(L,z="first"){d.current=L,h.current=z,m(L)},selectedKeys:x,setSelectedKeys(L){(r||!GO(L,x))&&k(L)},disabledKeys:P,disabledBehavior:s}}function Sk(e,t){return e?e==="all"?"all":new Co(e):t}function N_(e){return null}N_.getCollectionNode=function*(t,n){let{childItems:r,title:i,children:s}=t,l=t.title||t.children,c=t.textValue||(typeof l=="string"?l:"")||t["aria-label"]||"";!c&&n?.suppressTextValueWarning,yield{type:"item",props:t,rendered:l,textValue:c,"aria-label":t["aria-label"],hasChildNodes:YO(t),*childNodes(){if(r)for(let d of r)yield{type:"item",value:d};else if(i){let d=[];We.Children.forEach(s,h=>{d.push({type:"item",element:h})}),yield*d}}}};function YO(e){return e.hasChildItems!=null?e.hasChildItems:!!(e.childItems||e.title&&We.Children.count(e.children)>0)}let XO=N_;class QO{build(t,n){return this.context=n,kk(()=>this.iterateCollection(t))}*iterateCollection(t){let{children:n,items:r}=t;if(We.isValidElement(n)&&n.type===We.Fragment)yield*this.iterateCollection({children:n.props.children,items:r});else if(typeof n=="function"){if(!r)throw new Error("props.children was a function but props.items is missing");let i=0;for(let s of r)yield*this.getFullNode({value:s,index:i},{renderer:n}),i++}else{let i=[];We.Children.forEach(n,l=>{l&&i.push(l)});let s=0;for(let l of i){let c=this.getFullNode({element:l,index:s},{});for(let d of c)s++,yield d}}}getKey(t,n,r,i){if(t.key!=null)return t.key;if(n.type==="cell"&&n.key!=null)return`${i}${n.key}`;let s=n.value;if(s!=null){var l;let c=(l=s.key)!==null&&l!==void 0?l:s.id;if(c==null)throw new Error("No key found for item");return c}return i?`${i}.${n.index}`:`$.${n.index}`}getChildState(t,n){return{renderer:n.renderer||t.renderer}}*getFullNode(t,n,r,i){if(We.isValidElement(t.element)&&t.element.type===We.Fragment){let _=[];We.Children.forEach(t.element.props.children,A=>{_.push(A)});var s;let T=(s=t.index)!==null&&s!==void 0?s:0;for(const A of _)yield*this.getFullNode({element:A,index:T++},n,r,i);return}let l=t.element;if(!l&&t.value&&n&&n.renderer){let _=this.cache.get(t.value);if(_&&(!_.shouldInvalidate||!_.shouldInvalidate(this.context))){_.index=t.index,_.parentKey=i?i.key:null,yield _;return}l=n.renderer(t.value)}if(We.isValidElement(l)){let _=l.type;if(typeof _!="function"&&typeof _.getCollectionNode!="function"){let z=l.type;throw new Error(`Unknown element <${z}> in collection.`)}let T=_.getCollectionNode(l.props,this.context);var c;let A=(c=t.index)!==null&&c!==void 0?c:0,L=T.next();for(;!L.done&&L.value;){let z=L.value;t.index=A;var d;let K=(d=z.key)!==null&&d!==void 0?d:null;K==null&&(K=z.element?null:this.getKey(l,t,n,r));let J=[...this.getFullNode({...z,key:K,index:A,wrapper:JO(t.wrapper,z.wrapper)},this.getChildState(n,z),r?`${r}${l.key}`:l.key,i)];for(let re of J){var h,m;re.value=(m=(h=z.value)!==null&&h!==void 0?h:t.value)!==null&&m!==void 0?m:null,re.value&&this.cache.set(re.value,re);var g;if(t.type&&re.type!==t.type)throw new Error(`Unsupported type <${d0(re.type)}> in <${d0((g=i?.type)!==null&&g!==void 0?g:"unknown parent type")}>. Only <${d0(t.type)}> is supported.`);A++,yield re}L=T.next(J)}return}if(t.key==null||t.type==null)return;let b=this;var x,k;let P={type:t.type,props:t.props,key:t.key,parentKey:i?i.key:null,value:(x=t.value)!==null&&x!==void 0?x:null,level:i?i.level+1:0,index:t.index,rendered:t.rendered,textValue:(k=t.textValue)!==null&&k!==void 0?k:"","aria-label":t["aria-label"],wrapper:t.wrapper,shouldInvalidate:t.shouldInvalidate,hasChildNodes:t.hasChildNodes||!1,childNodes:kk(function*(){if(!t.hasChildNodes||!t.childNodes)return;let _=0;for(let T of t.childNodes()){T.key!=null&&(T.key=`${P.key}${T.key}`);let A=b.getFullNode({...T,index:_},b.getChildState(n,T),P.key,P);for(let L of A)_++,yield L}})};yield P}constructor(){this.cache=new WeakMap}}function kk(e){let t=[],n=null;return{*[Symbol.iterator](){for(let r of t)yield r;n||(n=e());for(let r of n)t.push(r),yield r}}}function JO(e,t){if(e&&t)return n=>e(t(n));if(e)return e;if(t)return t}function d0(e){return e[0].toUpperCase()+e.slice(1)}function ZO(e,t,n){let r=S.useMemo(()=>new QO,[]),{children:i,items:s,collection:l}=e;return S.useMemo(()=>{if(l)return l;let d=r.build({children:i,items:s},n);return t(d)},[r,i,s,l,n,t])}function e6(e,t){return typeof t.getChildren=="function"?t.getChildren(e.key):e.childNodes}function t6(e){return n6(e,0)}function n6(e,t){if(t<0)return;let n=0;for(let r of e){if(n===t)return r;n++}}function VG(e){let t;for(let n of e)t=n;return t}function p0(e,t,n){if(t.parentKey===n.parentKey)return t.index-n.index;let r=[...Ck(e,t),t],i=[...Ck(e,n),n],s=r.slice(0,i.length).findIndex((l,c)=>l!==i[c]);return s!==-1?(t=r[s],n=i[s],t.index-n.index):r.findIndex(l=>l===n)>=0?1:(i.findIndex(l=>l===t)>=0,-1)}function Ck(e,t){let n=[],r=t;for(;r?.parentKey!=null;)r=e.getItem(r.parentKey),r&&n.unshift(r);return n}class Xx{get selectionMode(){return this.state.selectionMode}get disallowEmptySelection(){return this.state.disallowEmptySelection}get selectionBehavior(){return this.state.selectionBehavior}setSelectionBehavior(t){this.state.setSelectionBehavior(t)}get isFocused(){return this.state.isFocused}setFocused(t){this.state.setFocused(t)}get focusedKey(){return this.state.focusedKey}get childFocusStrategy(){return this.state.childFocusStrategy}setFocusedKey(t,n){(t==null||this.collection.getItem(t))&&this.state.setFocusedKey(t,n)}get selectedKeys(){return this.state.selectedKeys==="all"?new Set(this.getSelectAllKeys()):this.state.selectedKeys}get rawSelection(){return this.state.selectedKeys}isSelected(t){if(this.state.selectionMode==="none")return!1;let n=this.getKey(t);return n==null?!1:this.state.selectedKeys==="all"?this.canSelectItem(n):this.state.selectedKeys.has(n)}get isEmpty(){return this.state.selectedKeys!=="all"&&this.state.selectedKeys.size===0}get isSelectAll(){if(this.isEmpty)return!1;if(this.state.selectedKeys==="all")return!0;if(this._isSelectAll!=null)return this._isSelectAll;let t=this.getSelectAllKeys(),n=this.state.selectedKeys;return this._isSelectAll=t.every(r=>n.has(r)),this._isSelectAll}get firstSelectedKey(){let t=null;for(let r of this.state.selectedKeys){let i=this.collection.getItem(r);(!t||i&&p0(this.collection,i,t)<0)&&(t=i)}var n;return(n=t?.key)!==null&&n!==void 0?n:null}get lastSelectedKey(){let t=null;for(let r of this.state.selectedKeys){let i=this.collection.getItem(r);(!t||i&&p0(this.collection,i,t)>0)&&(t=i)}var n;return(n=t?.key)!==null&&n!==void 0?n:null}get disabledKeys(){return this.state.disabledKeys}get disabledBehavior(){return this.state.disabledBehavior}extendSelection(t){if(this.selectionMode==="none")return;if(this.selectionMode==="single"){this.replaceSelection(t);return}let n=this.getKey(t);if(n==null)return;let r;if(this.state.selectedKeys==="all")r=new Co([n],n,n);else{let l=this.state.selectedKeys;var i;let c=(i=l.anchorKey)!==null&&i!==void 0?i:n;r=new Co(l,c,n);var s;for(let d of this.getKeyRange(c,(s=l.currentKey)!==null&&s!==void 0?s:n))r.delete(d);for(let d of this.getKeyRange(n,c))this.canSelectItem(d)&&r.add(d)}this.state.setSelectedKeys(r)}getKeyRange(t,n){let r=this.collection.getItem(t),i=this.collection.getItem(n);return r&&i?p0(this.collection,r,i)<=0?this.getKeyRangeInternal(t,n):this.getKeyRangeInternal(n,t):[]}getKeyRangeInternal(t,n){var r;if(!((r=this.layoutDelegate)===null||r===void 0)&&r.getKeyRange)return this.layoutDelegate.getKeyRange(t,n);let i=[],s=t;for(;s!=null;){let l=this.collection.getItem(s);if(l&&(l.type==="item"||l.type==="cell"&&this.allowsCellSelection)&&i.push(s),s===n)return i;s=this.collection.getKeyAfter(s)}return[]}getKey(t){let n=this.collection.getItem(t);if(!n||n.type==="cell"&&this.allowsCellSelection)return t;for(;n&&n.type!=="item"&&n.parentKey!=null;)n=this.collection.getItem(n.parentKey);return!n||n.type!=="item"?null:n.key}toggleSelection(t){if(this.selectionMode==="none")return;if(this.selectionMode==="single"&&!this.isSelected(t)){this.replaceSelection(t);return}let n=this.getKey(t);if(n==null)return;let r=new Co(this.state.selectedKeys==="all"?this.getSelectAllKeys():this.state.selectedKeys);r.has(n)?r.delete(n):this.canSelectItem(n)&&(r.add(n),r.anchorKey=n,r.currentKey=n),!(this.disallowEmptySelection&&r.size===0)&&this.state.setSelectedKeys(r)}replaceSelection(t){if(this.selectionMode==="none")return;let n=this.getKey(t);if(n==null)return;let r=this.canSelectItem(n)?new Co([n],n,n):new Co;this.state.setSelectedKeys(r)}setSelectedKeys(t){if(this.selectionMode==="none")return;let n=new Co;for(let r of t){let i=this.getKey(r);if(i!=null&&(n.add(i),this.selectionMode==="single"))break}this.state.setSelectedKeys(n)}getSelectAllKeys(){let t=[],n=r=>{for(;r!=null;){if(this.canSelectItem(r)){var i;let l=this.collection.getItem(r);l?.type==="item"&&t.push(r);var s;l?.hasChildNodes&&(this.allowsCellSelection||l.type!=="item")&&n((s=(i=t6(e6(l,this.collection)))===null||i===void 0?void 0:i.key)!==null&&s!==void 0?s:null)}r=this.collection.getKeyAfter(r)}};return n(this.collection.getFirstKey()),t}selectAll(){!this.isSelectAll&&this.selectionMode==="multiple"&&this.state.setSelectedKeys("all")}clearSelection(){!this.disallowEmptySelection&&(this.state.selectedKeys==="all"||this.state.selectedKeys.size>0)&&this.state.setSelectedKeys(new Co)}toggleSelectAll(){this.isSelectAll?this.clearSelection():this.selectAll()}select(t,n){this.selectionMode!=="none"&&(this.selectionMode==="single"?this.isSelected(t)&&!this.disallowEmptySelection?this.toggleSelection(t):this.replaceSelection(t):this.selectionBehavior==="toggle"||n&&(n.pointerType==="touch"||n.pointerType==="virtual")?this.toggleSelection(t):this.replaceSelection(t))}isSelectionEqual(t){if(t===this.state.selectedKeys)return!0;let n=this.selectedKeys;if(t.size!==n.size)return!1;for(let r of t)if(!n.has(r))return!1;for(let r of n)if(!t.has(r))return!1;return!0}canSelectItem(t){var n;if(this.state.selectionMode==="none"||this.state.disabledKeys.has(t))return!1;let r=this.collection.getItem(t);return!(!r||!(r==null||(n=r.props)===null||n===void 0)&&n.isDisabled||r.type==="cell"&&!this.allowsCellSelection)}isDisabled(t){var n,r;return this.state.disabledBehavior==="all"&&(this.state.disabledKeys.has(t)||!!(!((r=this.collection.getItem(t))===null||r===void 0||(n=r.props)===null||n===void 0)&&n.isDisabled))}isLink(t){var n,r;return!!(!((r=this.collection.getItem(t))===null||r===void 0||(n=r.props)===null||n===void 0)&&n.href)}getItemProps(t){var n;return(n=this.collection.getItem(t))===null||n===void 0?void 0:n.props}withCollection(t){return new Xx(t,this.state,{allowsCellSelection:this.allowsCellSelection,layoutDelegate:this.layoutDelegate||void 0})}constructor(t,n,r){this.collection=t,this.state=n;var i;this.allowsCellSelection=(i=r?.allowsCellSelection)!==null&&i!==void 0?i:!1,this._isSelectAll=null,this.layoutDelegate=r?.layoutDelegate||null}}function r6(e){let{onExpandedChange:t}=e,[n,r]=If(e.expandedKeys?new Set(e.expandedKeys):void 0,e.defaultExpandedKeys?new Set(e.defaultExpandedKeys):new Set,t),i=qO(e),s=S.useMemo(()=>e.disabledKeys?new Set(e.disabledKeys):new Set,[e.disabledKeys]),l=ZO(e,S.useCallback(d=>new HO(d,{expandedKeys:n}),[n]),null);return S.useEffect(()=>{i.focusedKey!=null&&!l.getItem(i.focusedKey)&&i.setFocusedKey(null)},[l,i.focusedKey]),{collection:l,expandedKeys:n,disabledKeys:s,toggleKey:d=>{r(i6(n,d))},setExpandedKeys:r,selectionManager:new Xx(l,i)}}function i6(e,t){let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n}function o6(e){var t;const n=Ti(),{ref:r,as:i,className:s,items:l,variant:c,motionProps:d,expandedKeys:h,disabledKeys:m,selectedKeys:g,children:b,defaultExpandedKeys:x,selectionMode:k="single",selectionBehavior:P="toggle",keepContentMounted:_=!1,disallowEmptySelection:T,defaultSelectedKeys:A,onExpandedChange:L,onSelectionChange:z,dividerProps:K={},isCompact:M=!1,isDisabled:J=!1,showDivider:re=!0,hideIndicator:ae=!1,disableAnimation:j=(t=n?.disableAnimation)!=null?t:!1,disableIndicatorAnimation:B=!1,itemClasses:Y,...te}=e,[G,fe]=S.useState(null),Z=i||"div",q=typeof Z=="string",W=Ji(r),se=S.useMemo(()=>PO({variant:c,className:s}),[c,s]),V={children:S.useMemo(()=>{let Te=[];return We.Children.map(b,tt=>{var yt;if(We.isValidElement(tt)&&typeof((yt=tt.props)==null?void 0:yt.children)!="string"){const $e=We.cloneElement(tt,{hasChildItems:!1});Te.push($e)}else Te.push(tt)}),Te},[b]),items:l},oe={expandedKeys:h,defaultExpandedKeys:x,onExpandedChange:L},O={disabledKeys:m,selectedKeys:g,selectionMode:k,selectionBehavior:P,disallowEmptySelection:T,defaultSelectedKeys:A??x,onSelectionChange:z,...V,...oe},me=r6(O);me.selectionManager.setFocusedKey=Te=>{fe(Te)};const{accordionProps:Ee}=BO({...V,...oe},me,W),we=S.useMemo(()=>({state:me,focusedKey:G,motionProps:d,isCompact:M,isDisabled:J,hideIndicator:ae,disableAnimation:j,keepContentMounted:_,disableIndicatorAnimation:B}),[G,M,J,ae,g,j,_,me?.expandedKeys.values,B,me.expandedKeys.size,me.disabledKeys.size,d]),je=S.useCallback((Te={})=>({ref:W,className:se,"data-orientation":"vertical",...mn(Ee,vf(te,{enabled:q}),Te)}),[]),Oe=S.useCallback((Te,tt)=>{Te&&fe(tt)},[]);return{Component:Z,values:we,state:me,focusedKey:G,getBaseProps:je,isSplitted:c==="splitted",classNames:se,showDivider:re,dividerProps:K,disableAnimation:j,handleFocusChanged:Oe,itemClasses:Y}}function s6(e){let t=vf(e,{enabled:typeof e.elementType=="string"}),n;return e.orientation==="vertical"&&(n="vertical"),e.elementType!=="hr"?{separatorProps:{...t,role:"separator","aria-orientation":n}}:{separatorProps:t}}function l6(e){const{as:t,className:n,orientation:r,...i}=e;let s=t||"hr";s==="hr"&&r==="vertical"&&(s="div");const{separatorProps:l}=s6({elementType:typeof s=="string"?s:"hr",orientation:r}),c=S.useMemo(()=>kO({orientation:r,className:n}),[r,n]),d=S.useCallback((h={})=>({className:c,role:"separator","data-orientation":r,...l,...i,...h}),[c,r,l,i]);return{Component:s,getDividerProps:d}}var F_=_i((e,t)=>{const{Component:n,getDividerProps:r}=l6({...e});return N.jsx(n,{ref:t,...r()})});F_.displayName="HeroUI.Divider";var a6=F_,O_=_i((e,t)=>{const{Component:n,values:r,state:i,isSplitted:s,showDivider:l,getBaseProps:c,disableAnimation:d,handleFocusChanged:h,itemClasses:m,dividerProps:g}=o6({...e,ref:t}),b=S.useCallback((k,P)=>h(k,P),[h]),x=S.useMemo(()=>[...i.collection].map((k,P)=>{const _={...m,...k.props.classNames||{}};return N.jsxs(S.Fragment,{children:[N.jsx(WO,{item:k,variant:e.variant,onFocusChange:b,...r,...k.props,classNames:_}),!k.props.hidden&&!s&&l&&P{const t={top:{originY:1},bottom:{originY:0},left:{originX:1},right:{originX:0},"top-start":{originX:0,originY:1},"top-end":{originX:1,originY:1},"bottom-start":{originX:0,originY:0},"bottom-end":{originX:1,originY:0},"right-start":{originX:0,originY:0},"right-end":{originX:0,originY:1},"left-start":{originX:1,originY:0},"left-end":{originX:1,originY:1}};return t?.[e]||{}},c6=e=>({top:"top",bottom:"bottom",left:"left",right:"right","top-start":"top start","top-end":"top end","bottom-start":"bottom start","bottom-end":"bottom end","left-start":"left top","left-end":"left bottom","right-start":"right top","right-end":"right bottom"})[e],UG=(e,t)=>{if(t.includes("-")){const[n]=t.split("-");if(n.includes(e))return!1}return!0},Pk=(e,t)=>{if(t.includes("-")){const[,n]=t.split("-");return`${e}-${n}`}return e},f6=XO,mp=f6,bv=globalThis?.document?S.useLayoutEffect:S.useEffect;function d6(e={}){const{onLoad:t,onError:n,ignoreFallback:r,src:i,crossOrigin:s,srcSet:l,sizes:c,loading:d,shouldBypassImageLoad:h=!1}=e,m=pL(),g=S.useRef(m?new Image:null),[b,x]=S.useState("pending");S.useEffect(()=>{g.current&&(g.current.onload=_=>{k(),x("loaded"),t?.(_)},g.current.onerror=_=>{k(),x("failed"),n?.(_)})},[g.current]);const k=()=>{g.current&&(g.current.onload=null,g.current.onerror=null,g.current=null)},P=S.useCallback(()=>{if(!i)return"pending";if(r||h)return"loaded";const _=new Image;return _.src=i,s&&(_.crossOrigin=s),l&&(_.srcset=l),c&&(_.sizes=c),d&&(_.loading=d),g.current=_,_.complete&&_.naturalWidth?"loaded":"loading"},[i,s,l,c,t,n,d,h]);return bv(()=>{m&&x(P())},[m,P]),r?"loaded":b}var[KG,p6]=nx({name:"ButtonGroupContext",strict:!1});function z_(e,t){let{elementType:n="button",isDisabled:r,onPress:i,onPressStart:s,onPressEnd:l,onPressUp:c,onPressChange:d,preventFocusOnPress:h,allowFocusWhenDisabled:m,onClick:g,href:b,target:x,rel:k,type:P="button",allowTextSelectionOnPress:_}=e,T;n==="button"?T={type:P,disabled:r}:T={role:"button",href:n==="a"&&!r?b:void 0,target:n==="a"?x:void 0,type:n==="input"?P:void 0,disabled:n==="input"?r:void 0,"aria-disabled":!r||n==="input"?void 0:r,rel:n==="a"?k:void 0};let{pressProps:A,isPressed:L}=mv({onClick:g,onPressStart:s,onPressEnd:l,onPressUp:c,onPressChange:d,onPress:i,isDisabled:r,preventFocusOnPress:h,allowTextSelectionOnPress:_,ref:t}),{focusableProps:z}=vv(e,t);m&&(z.tabIndex=r?-1:z.tabIndex);let K=ar(z,A,$f(e,{labelable:!0}));return{isPressed:L,buttonProps:ar(T,K,{"aria-haspopup":e["aria-haspopup"],"aria-expanded":e["aria-expanded"],"aria-controls":e["aria-controls"],"aria-pressed":e["aria-pressed"],"aria-current":e["aria-current"]})}}var h6=()=>Fr(()=>import("./index-BDLYWa-3.js"),[]).then(e=>e.default),j_=e=>{const{ripples:t=[],motionProps:n,color:r="currentColor",style:i,onClear:s}=e;return N.jsx(N.Fragment,{children:t.map(l=>{const c=lL(.01*l.size,.2,l.size>100?.75:.5);return N.jsx(Sf,{features:h6,children:N.jsx(Lf,{mode:"popLayout",children:N.jsx(kf.span,{animate:{transform:"scale(2)",opacity:0},className:"heroui-ripple",exit:{opacity:0},initial:{transform:"scale(0)",opacity:.35},style:{position:"absolute",backgroundColor:r,borderRadius:"100%",transformOrigin:"center",pointerEvents:"none",overflow:"hidden",inset:0,zIndex:0,top:l.y,left:l.x,width:`${l.size}px`,height:`${l.size}px`,...i},transition:{duration:c},onAnimationComplete:()=>{s(l.key)},...n})})},l.key)})})};j_.displayName="HeroUI.Ripple";var m6=j_;function g6(e={}){const[t,n]=S.useState([]),r=S.useCallback(s=>{const l=s.target,c=Math.max(l.clientWidth,l.clientHeight);n(d=>[...d,{key:sL(d.length.toString()),size:c,x:s.x-c/2,y:s.y-c/2}])},[]),i=S.useCallback(s=>{n(l=>l.filter(c=>c.key!==s))},[]);return{ripples:t,onClear:i,onPress:r,...e}}function v6(e){var t,n,r,i,s,l,c,d,h;const m=p6(),g=Ti(),b=!!m,{ref:x,as:k,children:P,startContent:_,endContent:T,autoFocus:A,className:L,spinner:z,isLoading:K=!1,disableRipple:M=!1,fullWidth:J=(t=m?.fullWidth)!=null?t:!1,radius:re=m?.radius,size:ae=(n=m?.size)!=null?n:"md",color:j=(r=m?.color)!=null?r:"default",variant:B=(i=m?.variant)!=null?i:"solid",disableAnimation:Y=(l=(s=m?.disableAnimation)!=null?s:g?.disableAnimation)!=null?l:!1,isDisabled:te=(c=m?.isDisabled)!=null?c:!1,isIconOnly:G=(d=m?.isIconOnly)!=null?d:!1,spinnerPlacement:fe="start",onPress:Z,onClick:q,...W}=e,se=k||"button",R=typeof se=="string",V=Ji(x),oe=(h=M||g?.disableRipple)!=null?h:Y,{isFocusVisible:O,isFocused:me,focusProps:Ee}=rh({autoFocus:A}),we=te||K,je=S.useMemo(()=>EO({size:ae,color:j,variant:B,radius:re,fullWidth:J,isDisabled:we,isInGroup:b,disableAnimation:Y,isIconOnly:G,className:L}),[ae,j,B,re,J,we,b,G,Y,L]),{onPress:Oe,onClear:Te,ripples:tt}=g6(),yt=S.useCallback(jt=>{oe||we||Y||V.current&&Oe(jt)},[oe,we,Y,V,Oe]),{buttonProps:$e,isPressed:Rt}=z_({elementType:k,isDisabled:we,onPress:gf(Z,yt),onClick:q,...W},V),{isHovered:bt,hoverProps:Qt}=Cf({isDisabled:we}),Ue=S.useCallback((jt={})=>({"data-disabled":Me(we),"data-focus":Me(me),"data-pressed":Me(Rt),"data-focus-visible":Me(O),"data-hover":Me(bt),"data-loading":Me(K),...mn($e,Ee,Qt,vf(W,{enabled:R}),vf(jt)),className:je}),[K,we,me,Rt,R,O,bt,$e,Ee,Qt,W,je]),st=jt=>S.isValidElement(jt)?S.cloneElement(jt,{"aria-hidden":!0,focusable:!1}):null,Rn=st(_),Or=st(T),kn=S.useMemo(()=>({sm:"sm",md:"sm",lg:"md"})[ae],[ae]),Lt=S.useCallback(()=>({ripples:tt,onClear:Te}),[tt,Te]);return{Component:se,children:P,domRef:V,spinner:z,styles:je,startContent:Rn,endContent:Or,isLoading:K,spinnerPlacement:fe,spinnerSize:kn,disableRipple:oe,getButtonProps:Ue,getRippleProps:Lt,isIconOnly:G}}function y6(e){var t,n;const[r,i]=ta(e,uk.variantKeys),s=Ti(),l=(n=(t=e?.variant)!=null?t:s?.spinnerVariant)!=null?n:"default",{children:c,className:d,classNames:h,label:m,...g}=r,b=S.useMemo(()=>uk({...i}),[tl(i)]),x=hn(h?.base,d),k=m||c,P=S.useMemo(()=>k&&typeof k=="string"?k:g["aria-label"]?"":"Loading",[c,k,g["aria-label"]]),_=S.useCallback(()=>({"aria-label":P,className:b.base({class:x}),...g}),[P,b,x,g]);return{label:k,slots:b,classNames:h,variant:l,getSpinnerProps:_}}var B_=_i((e,t)=>{const{slots:n,classNames:r,label:i,variant:s,getSpinnerProps:l}=y6({...e});return s==="wave"||s==="dots"?N.jsxs("div",{ref:t,...l(),children:[N.jsx("div",{className:n.wrapper({class:r?.wrapper}),children:[...new Array(3)].map((c,d)=>N.jsx("i",{className:n.dots({class:r?.dots}),style:{"--dot-index":d}},`dot-${d}`))}),i&&N.jsx("span",{className:n.label({class:r?.label}),children:i})]}):s==="simple"?N.jsxs("div",{ref:t,...l(),children:[N.jsxs("svg",{className:n.wrapper({class:r?.wrapper}),fill:"none",viewBox:"0 0 24 24",children:[N.jsx("circle",{className:n.circle1({class:r?.circle1}),cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),N.jsx("path",{className:n.circle2({class:r?.circle2}),d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z",fill:"currentColor"})]}),i&&N.jsx("span",{className:n.label({class:r?.label}),children:i})]}):s==="spinner"?N.jsxs("div",{ref:t,...l(),children:[N.jsx("div",{className:n.wrapper({class:r?.wrapper}),children:[...new Array(12)].map((c,d)=>N.jsx("i",{className:n.spinnerBars({class:r?.spinnerBars}),style:{"--bar-index":d}},`star-${d}`))}),i&&N.jsx("span",{className:n.label({class:r?.label}),children:i})]}):N.jsxs("div",{ref:t,...l(),children:[N.jsxs("div",{className:n.wrapper({class:r?.wrapper}),children:[N.jsx("i",{className:n.circle1({class:r?.circle1})}),N.jsx("i",{className:n.circle2({class:r?.circle2})})]}),i&&N.jsx("span",{className:n.label({class:r?.label}),children:i})]})});B_.displayName="HeroUI.Spinner";var b6=B_,V_=_i((e,t)=>{const{Component:n,domRef:r,children:i,spinnerSize:s,spinner:l=N.jsx(b6,{color:"current",size:s}),spinnerPlacement:c,startContent:d,endContent:h,isLoading:m,disableRipple:g,getButtonProps:b,getRippleProps:x,isIconOnly:k}=v6({...e,ref:t});return N.jsxs(n,{ref:r,...b(),children:[d,m&&c==="start"&&l,m&&k?null:i,m&&c==="end"&&l,h,!g&&N.jsx(m6,{...x()})]})});V_.displayName="HeroUI.Button";var To=V_;const U_={badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valueMissing:!1,valid:!0},K_={...U_,customError:!0,valid:!1},gp={isInvalid:!1,validationDetails:U_,validationErrors:[]},W_=S.createContext({}),Tk="__formValidationState"+Date.now();function x6(e){if(e[Tk]){let{realtimeValidation:t,displayValidation:n,updateValidation:r,resetValidation:i,commitValidation:s}=e[Tk];return{realtimeValidation:t,displayValidation:n,updateValidation:r,resetValidation:i,commitValidation:s}}return w6(e)}function w6(e){let{isInvalid:t,validationState:n,name:r,value:i,builtinValidation:s,validate:l,validationBehavior:c="aria"}=e;n&&(t||(t=n==="invalid"));let d=t!==void 0?{isInvalid:t,validationErrors:[],validationDetails:K_}:null,h=S.useMemo(()=>{if(!l||i==null)return null;let j=S6(l,i);return _k(j)},[l,i]);s?.validationDetails.valid&&(s=void 0);let m=S.useContext(W_),g=S.useMemo(()=>r?Array.isArray(r)?r.flatMap(j=>Tb(m[j])):Tb(m[r]):[],[m,r]),[b,x]=S.useState(m),[k,P]=S.useState(!1);m!==b&&(x(m),P(!1));let _=S.useMemo(()=>_k(k?[]:g),[k,g]),T=S.useRef(gp),[A,L]=S.useState(gp),z=S.useRef(gp),K=()=>{if(!M)return;J(!1);let j=h||s||T.current;h0(j,z.current)||(z.current=j,L(j))},[M,J]=S.useState(!1);return S.useEffect(K),{realtimeValidation:d||_||h||s||gp,displayValidation:c==="native"?d||_||A:d||_||h||s||A,updateValidation(j){c==="aria"&&!h0(A,j)?L(j):T.current=j},resetValidation(){let j=gp;h0(j,z.current)||(z.current=j,L(j)),c==="native"&&J(!1),P(!0)},commitValidation(){c==="native"&&J(!0),P(!0)}}}function Tb(e){return e?Array.isArray(e)?e:[e]:[]}function S6(e,t){if(typeof e=="function"){let n=e(t);if(n&&typeof n!="boolean")return Tb(n)}return[]}function _k(e){return e.length?{isInvalid:!0,validationErrors:e,validationDetails:K_}:null}function h0(e,t){return e===t?!0:!!e&&!!t&&e.isInvalid===t.isInvalid&&e.validationErrors.length===t.validationErrors.length&&e.validationErrors.every((n,r)=>n===t.validationErrors[r])&&Object.entries(e.validationDetails).every(([n,r])=>t.validationDetails[n]===r)}function k6(e,t,n){let{validationBehavior:r,focus:i}=e;en(()=>{if(r==="native"&&n?.current&&!n.current.disabled){let d=t.realtimeValidation.isInvalid?t.realtimeValidation.validationErrors.join(" ")||"Invalid value.":"";n.current.setCustomValidity(d),n.current.hasAttribute("title")||(n.current.title=""),t.realtimeValidation.isInvalid||t.updateValidation(E6(n.current))}});let s=On(()=>{t.resetValidation()}),l=On(d=>{var h;t.displayValidation.isInvalid||t.commitValidation();let m=n==null||(h=n.current)===null||h===void 0?void 0:h.form;if(!d.defaultPrevented&&n&&m&&P6(m)===n.current){var g;i?i():(g=n.current)===null||g===void 0||g.focus(),MF("keyboard")}d.preventDefault()}),c=On(()=>{t.commitValidation()});S.useEffect(()=>{let d=n?.current;if(!d)return;let h=d.form;return d.addEventListener("invalid",l),d.addEventListener("change",c),h?.addEventListener("reset",s),()=>{d.removeEventListener("invalid",l),d.removeEventListener("change",c),h?.removeEventListener("reset",s)}},[n,l,c,s,r])}function C6(e){let t=e.validity;return{badInput:t.badInput,customError:t.customError,patternMismatch:t.patternMismatch,rangeOverflow:t.rangeOverflow,rangeUnderflow:t.rangeUnderflow,stepMismatch:t.stepMismatch,tooLong:t.tooLong,tooShort:t.tooShort,typeMismatch:t.typeMismatch,valueMissing:t.valueMissing,valid:t.valid}}function E6(e){return{isInvalid:!e.validity.valid,validationDetails:C6(e),validationErrors:e.validationMessage?[e.validationMessage]:[]}}function P6(e){for(let t=0;t{if(typeof e=="function"){const s=e,l=s(i);return()=>{typeof l=="function"?l():s(null)}}else if(e)return e.current=i,()=>{e.current=null}},[e]);return S.useMemo(()=>({get current(){return t.current},set current(i){t.current=i,n.current&&(n.current(),n.current=void 0),i!=null&&(n.current=r(i))}}),[r])}function G_(e,t){let n=S.useContext(e);if(t===null)return null;if(n&&typeof n=="object"&&"slots"in n&&n.slots){let r=new Intl.ListFormat().format(Object.keys(n.slots).map(s=>`"${s}"`));if(!t&&!n.slots[$k])throw new Error(`A slot prop is required. Valid slot names are ${r}.`);let i=t||$k;if(!n.slots[i])throw new Error(`Invalid slot "${t}". Valid slot names are ${r}.`);return n.slots[i]}return n}function $6(e,t,n){let r=G_(n,e.slot)||{},{ref:i,...s}=r,l=_6(S.useMemo(()=>yE(t,i),[t,i])),c=mn(s,e);return"style"in s&&s.style&&"style"in e&&e.style&&(typeof s.style=="function"||typeof e.style=="function"?c.style=d=>{let h=typeof s.style=="function"?s.style(d):s.style,m={...d.defaultStyle,...h},g=typeof e.style=="function"?e.style({...d,defaultStyle:m}):e.style;return{...m,...g}}:c.style={...s.style,...e.style}),[c,l]}var _b=S.createContext(null),I6=S.forwardRef(function(t,n){[t,n]=$6(t,n,_b);let{validationErrors:r,validationBehavior:i="native",children:s,className:l,...c}=t;const d=S.useMemo(()=>CO({className:l}),[l]);return N.jsx("form",{noValidate:i!=="native",...c,ref:n,className:d,children:N.jsx(_b.Provider,{value:{...t,validationBehavior:i},children:N.jsx(W_.Provider,{value:r??{},children:s})})})}),A6=S.forwardRef(function(t,n){var r,i;const s=Ti(),l=(i=(r=t.validationBehavior)!=null?r:s?.validationBehavior)!=null?i:"native";return N.jsx(I6,{...t,ref:n,validationBehavior:l})});function Ik(e,t=[]){const n=S.useRef(e);return bv(()=>{n.current=e}),S.useCallback((...r)=>{var i;return(i=n.current)==null?void 0:i.call(n,...r)},t)}function q_(e){let[t,n]=If(e.isOpen,e.defaultOpen||!1,e.onOpenChange);const r=S.useCallback(()=>{n(!0)},[n]),i=S.useCallback(()=>{n(!1)},[n]),s=S.useCallback(()=>{n(!t)},[n,t]);return{isOpen:t,setOpen:n,open:r,close:i,toggle:s}}const R6=1500,Ak=500;let su={},L6=0,vp=!1,Hs=null,lu=null;function M6(e={}){let{delay:t=R6,closeDelay:n=Ak}=e,{isOpen:r,open:i,close:s}=q_(e),l=S.useMemo(()=>`${++L6}`,[]),c=S.useRef(null),d=S.useRef(s),h=()=>{su[l]=b},m=()=>{for(let k in su)k!==l&&(su[k](!0),delete su[k])},g=()=>{c.current&&clearTimeout(c.current),c.current=null,m(),h(),vp=!0,i(),Hs&&(clearTimeout(Hs),Hs=null),lu&&(clearTimeout(lu),lu=null)},b=k=>{k||n<=0?(c.current&&clearTimeout(c.current),c.current=null,d.current()):c.current||(c.current=setTimeout(()=>{c.current=null,d.current()},n)),Hs&&(clearTimeout(Hs),Hs=null),vp&&(lu&&clearTimeout(lu),lu=setTimeout(()=>{delete su[l],lu=null,vp=!1},Math.max(Ak,n)))},x=()=>{m(),h(),!r&&!Hs&&!vp?Hs=setTimeout(()=>{Hs=null,vp=!0,g()},t):r||g()};return S.useEffect(()=>{d.current=s},[s]),S.useEffect(()=>()=>{c.current&&clearTimeout(c.current),su[l]&&delete su[l]},[l]),{isOpen:r,open:k=>{!k&&t>0&&!c.current?x():g()},close:b}}function D6(e,t){let n=$f(e,{labelable:!0}),{hoverProps:r}=Cf({onHoverStart:()=>t?.open(!0),onHoverEnd:()=>t?.close()});return{tooltipProps:ar(n,r,{role:"tooltip"})}}function N6(e,t,n){let{isDisabled:r,trigger:i}=e,s=yf(),l=S.useRef(!1),c=S.useRef(!1),d=()=>{(l.current||c.current)&&t.open(c.current)},h=T=>{!l.current&&!c.current&&t.close(T)};S.useEffect(()=>{let T=A=>{n&&n.current&&A.key==="Escape"&&(A.stopPropagation(),t.close(!0))};if(t.isOpen)return document.addEventListener("keydown",T,!0),()=>{document.removeEventListener("keydown",T,!0)}},[n,t]);let m=()=>{i!=="focus"&&(nh()==="pointer"?l.current=!0:l.current=!1,d())},g=()=>{i!=="focus"&&(c.current=!1,l.current=!1,h())},b=()=>{c.current=!1,l.current=!1,h(!0)},x=()=>{Hx()&&(c.current=!0,d())},k=()=>{c.current=!1,l.current=!1,h(!0)},{hoverProps:P}=Cf({isDisabled:r,onHoverStart:m,onHoverEnd:g}),{focusableProps:_}=vv({isDisabled:r,onFocus:x,onBlur:k},n);return{triggerProps:{"aria-describedby":t.isOpen?s:void 0,...ar(_,P,{onPointerDown:b,onKeyDown:b,tabIndex:void 0})},tooltipProps:{id:s}}}var Gs=[];function Y_(e,t){const{disableOutsideEvents:n=!0,isDismissable:r=!1,isKeyboardDismissDisabled:i=!1,isOpen:s,onClose:l,shouldCloseOnBlur:c,shouldCloseOnInteractOutside:d}=e;S.useEffect(()=>(s&&Gs.push(t),()=>{const P=Gs.indexOf(t);P>=0&&Gs.splice(P,1)}),[s,t]);const h=()=>{Gs[Gs.length-1]===t&&l&&l()},m=P=>{(!d||d(P.target))&&(Gs[Gs.length-1]===t&&n&&(P.stopPropagation(),P.preventDefault()),P.pointerType!=="touch"&&h())},g=P=>{P.pointerType==="touch"&&(!d||d(P.target))&&(Gs[Gs.length-1]===t&&n&&(P.stopPropagation(),P.preventDefault()),h())},b=P=>{P.key==="Escape"&&!i&&!P.nativeEvent.isComposing&&(P.stopPropagation(),P.preventDefault(),h())};KF({isDisabled:!(r&&s),onInteractOutside:r&&s?g:void 0,onInteractOutsideStart:m,ref:t});const{focusWithinProps:x}=yv({isDisabled:!c,onBlurWithin:P=>{!P.relatedTarget||qF(P.relatedTarget)||(!d||d(P.relatedTarget))&&h()}}),k=P=>{P.target===P.currentTarget&&P.preventDefault()};return{overlayProps:{onKeyDown:b,...x},underlayProps:{onPointerDown:k}}}function F6(e){var t,n;const r=Ti(),[i,s]=ta(e,ck.variantKeys),{ref:l,as:c,isOpen:d,content:h,children:m,defaultOpen:g,onOpenChange:b,isDisabled:x,trigger:k,shouldFlip:P=!0,containerPadding:_=12,placement:T="top",delay:A=0,closeDelay:L=500,showArrow:z=!1,offset:K=7,crossOffset:M=0,isDismissable:J,shouldCloseOnBlur:re=!0,portalContainer:ae,isKeyboardDismissDisabled:j=!1,updatePositionDeps:B=[],shouldCloseOnInteractOutside:Y,className:te,onClose:G,motionProps:fe,classNames:Z,...q}=i,W=c||"div",se=(n=(t=e?.disableAnimation)!=null?t:r?.disableAnimation)!=null?n:!1,R=M6({delay:A,closeDelay:L,isDisabled:x,defaultOpen:g,isOpen:d,onOpenChange:Ue=>{b?.(Ue),Ue||G?.()}}),V=S.useRef(null),oe=S.useRef(null),O=S.useId(),me=R.isOpen&&!x;S.useImperativeHandle(l,()=>ZR(oe));const{triggerProps:Ee,tooltipProps:we}=N6({isDisabled:x,trigger:k},R,V),{tooltipProps:je}=D6({isOpen:me,...mn(i,we)},R),{overlayProps:Oe,placement:Te,updatePosition:tt}=yF({isOpen:me,targetRef:V,placement:c6(T),overlayRef:oe,offset:z?K+3:K,crossOffset:M,shouldFlip:P,containerPadding:_});bv(()=>{B.length&&tt()},B);const{overlayProps:yt}=Y_({isOpen:me,onClose:R.close,isDismissable:J,shouldCloseOnBlur:re,isKeyboardDismissDisabled:j,shouldCloseOnInteractOutside:Y},oe),$e=S.useMemo(()=>{var Ue,st,Rn;return ck({...s,disableAnimation:se,radius:(Ue=e?.radius)!=null?Ue:"md",size:(st=e?.size)!=null?st:"md",shadow:(Rn=e?.shadow)!=null?Rn:"sm"})},[tl(s),se,e?.radius,e?.size,e?.shadow]),Rt=S.useCallback((Ue={},st=null)=>({...mn(Ee,Ue),ref:dL(st,V),"aria-describedby":me?O:void 0}),[Ee,me,O,R]),bt=S.useCallback(()=>({ref:oe,"data-slot":"base","data-open":Me(me),"data-arrow":Me(z),"data-disabled":Me(x),"data-placement":Pk(Te||"top",T),...mn(je,yt,q),style:mn(Oe.style,q.style,i.style),className:$e.base({class:Z?.base}),id:O}),[$e,me,z,x,Te,T,je,yt,q,Oe,i,O]),Qt=S.useCallback(()=>({"data-slot":"content","data-open":Me(me),"data-arrow":Me(z),"data-disabled":Me(x),"data-placement":Pk(Te||"top",T),className:$e.content({class:hn(Z?.content,te)})}),[$e,me,z,x,Te,T,Z]);return{Component:W,content:h,children:m,isOpen:me,triggerRef:V,showArrow:z,portalContainer:ae,placement:T,disableAnimation:se,isDisabled:x,motionProps:fe,getTooltipContentProps:Qt,getTriggerProps:Rt,getTooltipProps:bt}}var O6=()=>Fr(()=>import("./index-BDLYWa-3.js"),[]).then(e=>e.default),X_=_i((e,t)=>{var n;const{Component:r,children:i,content:s,isOpen:l,portalContainer:c,placement:d,disableAnimation:h,motionProps:m,getTriggerProps:g,getTooltipProps:b,getTooltipContentProps:x}=F6({...e,ref:t});let k;try{if(S.Children.count(i)!==1)throw new Error;if(!S.isValidElement(i))k=N.jsx("p",{...g(),children:i});else{const K=i,M=(n=K.props.ref)!=null?n:K.ref;k=S.cloneElement(K,g(K.props,M))}}catch{k=N.jsx("span",{}),uL("Tooltip must have only one child node. Please, check your code.")}const{ref:P,id:_,style:T,...A}=b(),L=N.jsx("div",{ref:P,id:_,style:T,children:N.jsx(kf.div,{animate:"enter",exit:"exit",initial:"exit",variants:qg.scaleSpring,...mn(m,A),style:{...u6(d)},children:N.jsx(r,{...x(),children:s})},`${_}-tooltip-inner`)},`${_}-tooltip-content`);return N.jsxs(N.Fragment,{children:[k,h?l&&N.jsx(ek,{portalContainer:c,children:N.jsx("div",{ref:P,id:_,style:T,...A,children:N.jsx(r,{...x(),children:s})})}):N.jsx(Sf,{features:O6,children:N.jsx(Lf,{children:l&&N.jsx(ek,{portalContainer:c,children:L})})})]})});X_.displayName="HeroUI.Tooltip";var z6=X_;function j6(e={}){const{rerender:t=!1,delay:n=0}=e,r=S.useRef(!1),[i,s]=S.useState(!1);return S.useEffect(()=>{r.current=!0;let l=null;return t&&(n>0?l=setTimeout(()=>{s(!0)},n):s(!0)),()=>{r.current=!1,t&&s(!1),l&&clearTimeout(l)}},[t]),[S.useCallback(()=>r.current,[]),i]}function B6(e){let{value:t=0,minValue:n=0,maxValue:r=100,valueLabel:i,isIndeterminate:s,formatOptions:l={style:"percent"}}=e,c=$f(e,{labelable:!0}),{labelProps:d,fieldProps:h}=H_({...e,labelElementType:"span"});t=Ng(t,n,r);let m=(t-n)/(r-n),g=SM(l);if(!s&&!i){let b=l.style==="percent"?m:t;i=g.format(b)}return{progressBarProps:ar(c,{...h,"aria-valuenow":s?void 0:t,"aria-valuemin":n,"aria-valuemax":r,"aria-valuetext":s?void 0:i,role:"progressbar"}),labelProps:d}}function V6(e){var t,n,r;const i=Ti(),[s,l]=ta(e,fk.variantKeys),{ref:c,as:d,id:h,className:m,classNames:g,label:b,valueLabel:x,value:k=void 0,minValue:P=0,maxValue:_=100,strokeWidth:T,showValueLabel:A=!1,formatOptions:L={style:"percent"},...z}=s,K=d||"div",M=Ji(c),J=hn(g?.base,m),[,re]=j6({rerender:!0,delay:100}),ae=((t=e.isIndeterminate)!=null?t:!0)&&k===void 0,j=(r=(n=e.disableAnimation)!=null?n:i?.disableAnimation)!=null?r:!1,{progressBarProps:B,labelProps:Y}=B6({id:h,label:b,value:k,minValue:P,maxValue:_,valueLabel:x,formatOptions:L,isIndeterminate:ae,"aria-labelledby":e["aria-labelledby"],"aria-label":e["aria-label"]}),te=S.useMemo(()=>fk({...l,disableAnimation:j,isIndeterminate:ae}),[tl(l),j,ae]),G=j?!0:re,fe=16,Z=T||(e.size==="sm"?2:3),q=16-Z,W=2*q*Math.PI,se=S.useMemo(()=>G?ae?.25:k?aL((k-P)/(_-P),1):0:0,[G,k,P,_,ae]),R=W-se*W,V=S.useCallback((we={})=>({ref:M,"data-indeterminate":Me(ae),"data-disabled":Me(e.isDisabled),className:te.base({class:J}),...mn(B,z,we)}),[M,te,ae,e.isDisabled,J,B,z]),oe=S.useCallback((we={})=>({className:te.label({class:g?.label}),...mn(Y,we)}),[te,g,Y]),O=S.useCallback((we={})=>({viewBox:"0 0 32 32",fill:"none",strokeWidth:Z,className:te.svg({class:g?.svg}),...we}),[Z,te,g]),me=S.useCallback((we={})=>({cx:fe,cy:fe,r:q,role:"presentation",strokeDasharray:`${W} ${W}`,strokeDashoffset:R,transform:"rotate(-90 16 16)",strokeLinecap:"round",className:te.indicator({class:g?.indicator}),...we}),[te,g,R,W,q]),Ee=S.useCallback((we={})=>({cx:fe,cy:fe,r:q,role:"presentation",strokeDasharray:`${W} ${W}`,strokeDashoffset:0,transform:"rotate(-90 16 16)",strokeLinecap:"round",className:te.track({class:g?.track}),...we}),[te,g,W,q]);return{Component:K,domRef:M,slots:te,classNames:g,label:b,showValueLabel:A,getProgressBarProps:V,getLabelProps:oe,getSvgProps:O,getIndicatorProps:me,getTrackProps:Ee}}var Q_=_i((e,t)=>{const{Component:n,slots:r,classNames:i,label:s,showValueLabel:l,getProgressBarProps:c,getLabelProps:d,getSvgProps:h,getIndicatorProps:m,getTrackProps:g}=V6({ref:t,...e}),b=c();return N.jsxs(n,{...b,children:[N.jsxs("div",{className:r.svgWrapper({class:i?.svgWrapper}),children:[N.jsxs("svg",{...h(),children:[N.jsx("circle",{...g()}),N.jsx("circle",{...m()})]}),l&&N.jsx("span",{className:r.value({class:i?.value}),children:b["aria-valuetext"]})]}),s&&N.jsx("span",{...d(),children:s})]})});Q_.displayName="HeroUI.CircularProgress";var U6=Q_;function K6(e,t){let{inputElementType:n="input",isDisabled:r=!1,isRequired:i=!1,isReadOnly:s=!1,type:l="text",validationBehavior:c="aria"}=e,[d,h]=If(e.value,e.defaultValue||"",e.onChange),{focusableProps:m}=vv(e,t),g=x6({...e,value:d}),{isInvalid:b,validationErrors:x,validationDetails:k}=g.displayValidation,{labelProps:P,fieldProps:_,descriptionProps:T,errorMessageProps:A}=T6({...e,isInvalid:b,errorMessage:e.errorMessage||x}),L=$f(e,{labelable:!0});const z={type:l,pattern:e.pattern};return pM(t,d,h),k6(e,g,t),S.useEffect(()=>{if(t.current instanceof Zi(t.current).HTMLTextAreaElement){let K=t.current;Object.defineProperty(K,"defaultValue",{get:()=>K.value,set:()=>{},configurable:!0})}},[t]),{labelProps:P,inputProps:ar(L,n==="input"?z:void 0,{disabled:r,readOnly:s,required:i&&c==="native","aria-required":i&&c==="aria"||void 0,"aria-invalid":b||void 0,"aria-errormessage":e["aria-errormessage"],"aria-activedescendant":e["aria-activedescendant"],"aria-autocomplete":e["aria-autocomplete"],"aria-haspopup":e["aria-haspopup"],"aria-controls":e["aria-controls"],value:d,onChange:K=>h(K.target.value),autoComplete:e.autoComplete,autoCapitalize:e.autoCapitalize,maxLength:e.maxLength,minLength:e.minLength,name:e.name,placeholder:e.placeholder,inputMode:e.inputMode,autoCorrect:e.autoCorrect,spellCheck:e.spellCheck,[parseInt(We.version,10)>=17?"enterKeyHint":"enterkeyhint"]:e.enterKeyHint,onCopy:e.onCopy,onCut:e.onCut,onPaste:e.onPaste,onCompositionEnd:e.onCompositionEnd,onCompositionStart:e.onCompositionStart,onCompositionUpdate:e.onCompositionUpdate,onSelect:e.onSelect,onBeforeInput:e.onBeforeInput,onInput:e.onInput,...m,..._}),descriptionProps:T,errorMessageProps:A,isInvalid:b,validationErrors:x,validationDetails:k}}function W6(e){var t,n,r,i,s,l,c;const d=Ti(),{validationBehavior:h}=G_(_b)||{},[m,g]=ta(e,hk.variantKeys),{ref:b,as:x,type:k,label:P,baseRef:_,wrapperRef:T,description:A,className:L,classNames:z,autoFocus:K,startContent:M,endContent:J,onClear:re,onChange:ae,validationState:j,validationBehavior:B=(t=h??d?.validationBehavior)!=null?t:"native",innerWrapperRef:Y,onValueChange:te=()=>{},...G}=m,fe=S.useCallback(Ye=>{te(Ye??"")},[te]),[Z,q]=S.useState(!1),W=x||"div",se=(r=(n=e.disableAnimation)!=null?n:d?.disableAnimation)!=null?r:!1,R=Ji(b),V=Ji(_),oe=Ji(T),O=Ji(Y),[me,Ee]=If(m.value,(i=m.defaultValue)!=null?i:"",fe),we=k==="file",je=((c=(l=(s=R?.current)==null?void 0:s.files)==null?void 0:l.length)!=null?c:0)>0,Oe=["date","time","month","week","range"].includes(k),Te=!nL(me)||Oe||je,tt=Te||Z,yt=k==="hidden",$e=e.isMultiline,Rt=hn(z?.base,L,Te?"is-filled":""),bt=S.useCallback(()=>{var Ye;we?R.current.value="":Ee(""),re?.(),(Ye=R.current)==null||Ye.focus()},[Ee,re,we]);bv(()=>{R.current&&Ee(R.current.value)},[R.current]);const{labelProps:Qt,inputProps:Ue,isInvalid:st,validationErrors:Rn,validationDetails:Or,descriptionProps:kn,errorMessageProps:Lt}=K6({...e,validationBehavior:B,autoCapitalize:e.autoCapitalize,value:me,"aria-label":e.label?e["aria-label"]:iL(e["aria-label"],e.placeholder),inputElementType:$e?"textarea":"input",onChange:Ee},R);we&&(delete Ue.value,delete Ue.onChange);const{isFocusVisible:jt,isFocused:ur,focusProps:ro}=rh({autoFocus:K,isTextInput:!0}),{isHovered:Xn,hoverProps:pe}=Cf({isDisabled:!!e?.isDisabled}),{isHovered:ke,hoverProps:Be}=Cf({isDisabled:!!e?.isDisabled}),{focusProps:rt,isFocusVisible:ct}=rh(),{focusWithinProps:Jt}=yv({onFocusWithinChange:q}),{pressProps:cr}=mv({isDisabled:!!e?.isDisabled||!!e?.isReadOnly,onPress:bt}),tn=j==="invalid"||st,an=v5({labelPlacement:e.labelPlacement,label:P}),Sr=typeof m.errorMessage=="function"?m.errorMessage({isInvalid:tn,validationErrors:Rn,validationDetails:Or}):m.errorMessage||Rn?.join(" "),Mt=!!re||e.isClearable,Qn=!!P||!!A||!!Sr,nn=!!m.placeholder,il=!!P,ps=!!A||!!Sr,ai=an==="outside-left",ui=an==="outside-top",oa=an==="outside"||ai||ui,Tu=an==="inside",hs=R.current?(!R.current.value||R.current.value===""||!me||me==="")&&nn:!1,zr=!!M,sa=oa?ai||ui||nn||an==="outside"&&zr:!1,la=an==="outside"&&!nn&&!zr,Gt=S.useMemo(()=>hk({...g,isInvalid:tn,labelPlacement:an,isClearable:Mt,disableAnimation:se}),[tl(g),tn,an,Mt,zr,se]),ms=S.useCallback((Ye={})=>({ref:V,className:Gt.base({class:Rt}),"data-slot":"base","data-filled":Me(Te||nn||zr||hs||we),"data-filled-within":Me(tt||nn||zr||hs||we),"data-focus-within":Me(Z),"data-focus-visible":Me(jt),"data-readonly":Me(e.isReadOnly),"data-focus":Me(ur),"data-hover":Me(Xn||ke),"data-required":Me(e.isRequired),"data-invalid":Me(tn),"data-disabled":Me(e.isDisabled),"data-has-elements":Me(Qn),"data-has-helper":Me(ps),"data-has-label":Me(il),"data-has-value":Me(!hs),"data-hidden":Me(yt),...Jt,...Ye}),[Gt,Rt,Te,ur,Xn,ke,tn,ps,il,Qn,hs,zr,Z,jt,tt,nn,Jt,yt,e.isReadOnly,e.isRequired,e.isDisabled]),gs=S.useCallback((Ye={})=>({"data-slot":"label",className:Gt.label({class:z?.label}),...mn(Qt,Be,Ye)}),[Gt,ke,Qt,z?.label]),Ao=S.useCallback(Ye=>{Ye.key==="Escape"&&me&&(Mt||re)&&!e.isReadOnly&&(Ee(""),re?.())},[me,Ee,re,Mt,e.isReadOnly]),aa=S.useCallback((Ye={})=>({"data-slot":"input","data-filled":Me(Te),"data-filled-within":Me(tt),"data-has-start-content":Me(zr),"data-has-end-content":Me(!!J),"data-type":k,className:Gt.input({class:hn(z?.input,Te?"is-filled":"",$e?"pe-0":"",k==="password"?"[&::-ms-reveal]:hidden":"")}),...mn(ro,Ue,vf(G,{enabled:!0,labelable:!0,omitEventNames:new Set(Object.keys(Ue))}),Ye),"aria-readonly":Me(e.isReadOnly),onChange:gf(Ue.onChange,ae),onKeyDown:gf(Ue.onKeyDown,Ye.onKeyDown,Ao),ref:R}),[Gt,me,ro,Ue,G,Te,tt,zr,J,z?.input,e.isReadOnly,e.isRequired,ae,Ao]),vs=S.useCallback((Ye={})=>({ref:oe,"data-slot":"input-wrapper","data-hover":Me(Xn||ke),"data-focus-visible":Me(jt),"data-focus":Me(ur),className:Gt.inputWrapper({class:hn(z?.inputWrapper,Te?"is-filled":"")}),...mn(Ye,pe),onClick:io=>{R.current&&io.currentTarget===io.target&&R.current.focus()},style:{cursor:"text",...Ye.style}}),[Gt,Xn,ke,jt,ur,me,z?.inputWrapper]),ol=S.useCallback((Ye={})=>({...Ye,ref:O,"data-slot":"inner-wrapper",onClick:io=>{R.current&&io.currentTarget===io.target&&R.current.focus()},className:Gt.innerWrapper({class:hn(z?.innerWrapper,Ye?.className)})}),[Gt,z?.innerWrapper]),sl=S.useCallback((Ye={})=>({...Ye,"data-slot":"main-wrapper",className:Gt.mainWrapper({class:hn(z?.mainWrapper,Ye?.className)})}),[Gt,z?.mainWrapper]),ua=S.useCallback((Ye={})=>({...Ye,"data-slot":"helper-wrapper",className:Gt.helperWrapper({class:hn(z?.helperWrapper,Ye?.className)})}),[Gt,z?.helperWrapper]),jf=S.useCallback((Ye={})=>({...Ye,...kn,"data-slot":"description",className:Gt.description({class:hn(z?.description,Ye?.className)})}),[Gt,z?.description]),Bf=S.useCallback((Ye={})=>({...Ye,...Lt,"data-slot":"error-message",className:Gt.errorMessage({class:hn(z?.errorMessage,Ye?.className)})}),[Gt,Lt,z?.errorMessage]),Vf=S.useCallback((Ye={})=>({...Ye,type:"button",tabIndex:-1,disabled:e.isDisabled,"aria-label":"clear input","data-slot":"clear-button","data-focus-visible":Me(ct),className:Gt.clearButton({class:hn(z?.clearButton,Ye?.className)}),...mn(cr,rt)}),[Gt,ct,cr,rt,z?.clearButton]);return{Component:W,classNames:z,domRef:R,label:P,description:A,startContent:M,endContent:J,labelPlacement:an,isClearable:Mt,hasHelper:ps,hasStartContent:zr,isLabelOutside:sa,isOutsideLeft:ai,isOutsideTop:ui,isLabelOutsideAsPlaceholder:la,shouldLabelBeOutside:oa,shouldLabelBeInside:Tu,hasPlaceholder:nn,isInvalid:tn,errorMessage:Sr,getBaseProps:ms,getLabelProps:gs,getInputProps:aa,getMainWrapperProps:sl,getInputWrapperProps:vs,getInnerWrapperProps:ol,getHelperWrapperProps:ua,getDescriptionProps:jf,getErrorMessageProps:Bf,getClearButtonProps:Vf}}function $b(){return $b=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{Component:d,label:h,description:m,startContent:g,endContent:b,hasHelper:x,shouldLabelBeOutside:k,shouldLabelBeInside:P,isInvalid:_,errorMessage:T,getBaseProps:A,getLabelProps:L,getInputProps:z,getInnerWrapperProps:K,getInputWrapperProps:M,getHelperWrapperProps:J,getDescriptionProps:re,getErrorMessageProps:ae,isClearable:j,getClearButtonProps:B}=W6({...l,ref:c,isMultiline:!0}),[Y,te]=S.useState(t>1),[G,fe]=S.useState(!1),Z=h?N.jsx("label",{...L(),children:h}):null,q=z(),W=(me,Ee)=>{if(t===1&&te(me>=Ee.rowHeight*2),n>t){const we=me>=n*Ee.rowHeight;fe(we)}s?.(me,Ee)},se=i?N.jsx("textarea",{...q,style:mn(q.style,e??{})}):N.jsx(az,{...q,cacheMeasurements:r,"data-hide-scroll":Me(!G),maxRows:n,minRows:t,style:mn(q.style,e??{}),onHeightChange:W}),R=S.useMemo(()=>j?N.jsx("button",{...B(),children:N.jsx(UO,{})}):null,[j,B]),V=S.useMemo(()=>g||b?N.jsxs("div",{...K(),children:[g,se,b]}):N.jsx("div",{...K(),children:se}),[g,q,b,K]),oe=_&&T,O=oe||m;return N.jsxs(d,{...A(),children:[k?Z:null,N.jsxs("div",{...M(),"data-has-multiple-rows":Me(Y),children:[P?Z:null,V,R]}),x&&O?N.jsx("div",{...J(),children:oe?N.jsx("div",{...ae(),children:T}):N.jsx("div",{...re(),children:m})}):null]})});J_.displayName="HeroUI.Textarea";var uz=J_;function cz(e,t){let{role:n="dialog"}=e,r=V0();r=e["aria-label"]?void 0:r;let i=S.useRef(!1);return S.useEffect(()=>{if(t.current&&!t.current.contains(document.activeElement)){xu(t.current);let s=setTimeout(()=>{document.activeElement===t.current&&(i.current=!0,t.current&&(t.current.blur(),xu(t.current)),i.current=!1)},500);return()=>{clearTimeout(s)}}},[t]),v_(),{dialogProps:{...$f(e,{labelable:!0}),role:n,tabIndex:-1,"aria-labelledby":e["aria-labelledby"]||r,onBlur:s=>{i.current&&s.stopPropagation()}},titleProps:{id:r}}}function fz(e){var t,n;const r=Ti(),[i,s]=ta(e,gk.variantKeys),{ref:l,as:c,src:d,className:h,classNames:m,loading:g,isBlurred:b,fallbackSrc:x,isLoading:k,disableSkeleton:P=!!x,removeWrapper:_=!1,onError:T,onLoad:A,srcSet:L,sizes:z,crossOrigin:K,...M}=i,J=d6({src:d,loading:g,onError:T,onLoad:A,ignoreFallback:!1,srcSet:L,sizes:z,crossOrigin:K,shouldBypassImageLoad:c!==void 0}),re=(n=(t=e.disableAnimation)!=null?t:r?.disableAnimation)!=null?n:!1,ae=J==="loaded"&&!k,j=J==="loading"||k,B=e.isZoomed,Y=c||"img",te=Ji(l),{w:G,h:fe}=S.useMemo(()=>({w:i.width?typeof i.width=="number"?`${i.width}px`:i.width:"fit-content",h:i.height?typeof i.height=="number"?`${i.height}px`:i.height:"auto"}),[i?.width,i?.height]),Z=(!d||!ae)&&!!x,q=j&&!P,W=S.useMemo(()=>gk({...s,disableAnimation:re,showSkeleton:q}),[tl(s),re,q]),se=hn(h,m?.img),R=(O={})=>{const me=hn(se,O?.className);return{src:d,ref:te,"data-loaded":Me(ae),className:W.img({class:me}),loading:g,srcSet:L,sizes:z,crossOrigin:K,...M,style:{...M?.height&&{height:fe},...O.style,...M.style}}},V=S.useCallback(()=>{const O=Z?{backgroundImage:`url(${x})`}:{};return{className:W.wrapper({class:m?.wrapper}),style:{...O,maxWidth:G}}},[W,Z,x,m?.wrapper,G]),oe=S.useCallback(()=>({src:d,"aria-hidden":Me(!0),className:W.blurredImg({class:m?.blurredImg})}),[W,d,m?.blurredImg]);return{Component:Y,domRef:te,slots:W,classNames:m,isBlurred:b,disableSkeleton:P,fallbackSrc:x,removeWrapper:_,isZoomed:B,isLoading:j,getImgProps:R,getWrapperProps:V,getBlurredImgProps:oe}}var Z_=_i((e,t)=>{const{Component:n,domRef:r,slots:i,classNames:s,isBlurred:l,isZoomed:c,fallbackSrc:d,removeWrapper:h,disableSkeleton:m,getImgProps:g,getWrapperProps:b,getBlurredImgProps:x}=fz({...e,ref:t}),k=N.jsx(n,{ref:r,...g()});if(h)return k;const P=N.jsx("div",{className:i.zoomedWrapper({class:s?.zoomedWrapper}),children:k});return l?N.jsxs("div",{...b(),children:[c?P:k,S.cloneElement(k,x())]}):c||!m||d?N.jsxs("div",{...b(),children:[" ",c?P:k]}):k});Z_.displayName="HeroUI.Image";var m0=Z_,[dz,e2]=nx({name:"ModalContext",errorMessage:"useModalContext: `context` is undefined. Seems you forgot to wrap all popover components within ``"}),t2=_i((e,t)=>{const{as:n,children:r,className:i,...s}=e,{slots:l,classNames:c,bodyId:d,setBodyMounted:h}=e2(),m=Ji(t),g=n||"div";return S.useEffect(()=>(h(!0),()=>h(!1)),[h]),N.jsx(g,{ref:m,className:l.body({class:hn(c?.body,i)}),id:d,...s,children:r})});t2.displayName="HeroUI.ModalBody";var pz=t2,hz={enter:{scale:"var(--scale-enter)",y:"var(--slide-enter)",opacity:1,willChange:"auto",transition:{scale:{duration:.4,ease:Op.ease},opacity:{duration:.4,ease:Op.ease},y:{type:"spring",bounce:0,duration:.6}}},exit:{scale:"var(--scale-exit)",y:"var(--slide-exit)",opacity:0,willChange:"transform",transition:{duration:.3,ease:Op.ease}}},ss=typeof document<"u"&&window.visualViewport,mz=We.createContext(!1);function gz(){return!1}function vz(){return!0}function yz(e){return()=>{}}function bz(){return typeof We.useSyncExternalStore=="function"?We.useSyncExternalStore(yz,gz,vz):S.useContext(mz)}function xz(){let e=bz(),[t,n]=S.useState(()=>e?{width:0,height:0}:Fk());return S.useEffect(()=>{let r=()=>{n(i=>{let s=Fk();return s.width===i.width&&s.height===i.height?i:s})};return ss?ss.addEventListener("resize",r):window.addEventListener("resize",r),()=>{ss?ss.removeEventListener("resize",r):window.removeEventListener("resize",r)}},[]),t}function Fk(){return{width:ss&&ss?.width||window.innerWidth,height:ss&&ss?.height||window.innerHeight}}var Ok=()=>Fr(()=>import("./index-BDLYWa-3.js"),[]).then(e=>e.default),n2=e=>{const{as:t,children:n,role:r="dialog",...i}=e,{Component:s,domRef:l,slots:c,classNames:d,motionProps:h,backdrop:m,closeButton:g,hideCloseButton:b,disableAnimation:x,getDialogProps:k,getBackdropProps:P,getCloseButtonProps:_,onClose:T}=e2(),A=t||s||"div",L=xz(),{dialogProps:z}=cz({role:r},l),K=S.isValidElement(g)?S.cloneElement(g,_()):N.jsx("button",{..._(),children:N.jsx(KO,{})}),M=S.useCallback(Y=>{Y.key==="Tab"&&Y.nativeEvent.isComposing&&(Y.stopPropagation(),Y.preventDefault())},[]),J=k(mn(z,i)),re=N.jsxs(A,{...J,onKeyDown:gf(J.onKeyDown,M),children:[N.jsx(nk,{onDismiss:T}),!b&&K,typeof n=="function"?n(T):n,N.jsx(nk,{onDismiss:T})]}),ae=S.useMemo(()=>m==="transparent"?null:x?N.jsx("div",{...P()}):N.jsx(Sf,{features:Ok,children:N.jsx(kf.div,{animate:"enter",exit:"exit",initial:"exit",variants:qg.fade,...P()})}),[m,x,P]),j={"--visual-viewport-height":L.height+"px"},B=x?N.jsx("div",{className:c.wrapper({class:d?.wrapper}),"data-slot":"wrapper",style:j,children:re}):N.jsx(Sf,{features:Ok,children:N.jsx(kf.div,{animate:"enter",className:c.wrapper({class:d?.wrapper}),"data-slot":"wrapper",exit:"exit",initial:"exit",variants:hz,...h,style:j,children:re})});return N.jsxs("div",{tabIndex:-1,children:[ae,B]})};n2.displayName="HeroUI.ModalContent";var wz=n2;function Sz(e={shouldBlockScroll:!0},t,n){let{overlayProps:r,underlayProps:i}=Y_({...e,isOpen:t.isOpen,onClose:t.close},n);return r5({isDisabled:!t.isOpen||!e.shouldBlockScroll}),v_(),S.useEffect(()=>{if(t.isOpen&&n.current)return h5([n.current])},[t.isOpen,n]),{modalProps:ar(r),underlayProps:i}}function kz(e){var t,n,r;const i=Ti(),[s,l]=ta(e,mk.variantKeys),{ref:c,as:d,className:h,classNames:m,isOpen:g,defaultOpen:b,onOpenChange:x,motionProps:k,closeButton:P,isDismissable:_=!0,hideCloseButton:T=!1,shouldBlockScroll:A=!0,portalContainer:L,isKeyboardDismissDisabled:z=!1,onClose:K,...M}=s,J=d||"section",re=Ji(c),ae=S.useRef(null),[j,B]=S.useState(!1),[Y,te]=S.useState(!1),G=(n=(t=e.disableAnimation)!=null?t:i?.disableAnimation)!=null?n:!1,fe=S.useId(),Z=S.useId(),q=S.useId(),W=q_({isOpen:g,defaultOpen:b,onOpenChange:Te=>{x?.(Te),Te||K?.()}}),{modalProps:se,underlayProps:R}=Sz({isDismissable:_,shouldBlockScroll:A,isKeyboardDismissDisabled:z},W,re),{buttonProps:V}=z_({onPress:W.close},ae),{isFocusVisible:oe,focusProps:O}=rh(),me=hn(m?.base,h),Ee=S.useMemo(()=>mk({...l,disableAnimation:G}),[tl(l),G]),we=(Te={},tt=null)=>{var yt;return{ref:yE(tt,re),...mn(se,M,Te),className:Ee.base({class:hn(me,Te.className)}),id:fe,"data-open":Me(W.isOpen),"data-dismissable":Me(_),"aria-modal":Me(!0),"data-placement":(yt=e?.placement)!=null?yt:"right","aria-labelledby":j?Z:void 0,"aria-describedby":Y?q:void 0}},je=S.useCallback((Te={})=>({className:Ee.backdrop({class:m?.backdrop}),...R,...Te}),[Ee,m,R]),Oe=()=>({role:"button",tabIndex:0,"aria-label":"Close","data-focus-visible":Me(oe),className:Ee.closeButton({class:m?.closeButton}),...mn(V,O)});return{Component:J,slots:Ee,domRef:re,headerId:Z,bodyId:q,motionProps:k,classNames:m,isDismissable:_,closeButton:P,hideCloseButton:T,portalContainer:L,shouldBlockScroll:A,backdrop:(r=e.backdrop)!=null?r:"opaque",isOpen:W.isOpen,onClose:W.close,disableAnimation:G,setBodyMounted:te,setHeaderMounted:B,getDialogProps:we,getBackdropProps:je,getCloseButtonProps:Oe}}var r2=_i((e,t)=>{const{children:n,...r}=e,i=kz({...r,ref:t}),s=N.jsx(m5,{portalContainer:i.portalContainer,children:n});return N.jsx(dz,{value:i,children:i.disableAnimation&&i.isOpen?s:N.jsx(Lf,{children:i.isOpen?s:null})})});r2.displayName="HeroUI.Modal";var Cz=r2;function Ez(e={}){const{id:t,defaultOpen:n,isOpen:r,onClose:i,onOpen:s,onChange:l=()=>{}}=e,c=Ik(s),d=Ik(i),[h,m]=If(r,n||!1,l),g=S.useId(),b=t||g,x=r!==void 0,k=S.useCallback(()=>{x||m(!1),d?.()},[x,d]),P=S.useCallback(()=>{x||m(!0),c?.()},[x,c]),_=S.useCallback(()=>{(h?k:P)()},[h,P,k]);return{isOpen:!!h,onOpen:P,onClose:k,onOpenChange:_,isControlled:x,getButtonProps:(T={})=>({...T,"aria-expanded":h,"aria-controls":b,onClick:bf(T.onClick,_)}),getDisclosureProps:(T={})=>({...T,hidden:!h,id:b})}}function Pz(e){var t,n;const r=Ti(),[i,s]=ta(e,pk.variantKeys),{as:l,children:c,isLoaded:d=!1,className:h,classNames:m,...g}=i,b=l||"div",x=(n=(t=e.disableAnimation)!=null?t:r?.disableAnimation)!=null?n:!1,k=S.useMemo(()=>pk({...s,disableAnimation:x}),[tl(s),x,c]),P=hn(m?.base,h);return{Component:b,children:c,slots:k,classNames:m,getSkeletonProps:(A={})=>({"data-loaded":Me(d),className:k.base({class:hn(P,A?.className)}),...g}),getContentProps:(A={})=>({className:k.content({class:hn(m?.content,A?.className)})})}}var i2=_i((e,t)=>{const{Component:n,children:r,getSkeletonProps:i,getContentProps:s}=Pz({...e});return N.jsx(n,{ref:t,...i(),children:N.jsx("div",{...s(),children:r})})});i2.displayName="HeroUI.Skeleton";var o2=i2;function Tz(e={}){const{domRef:t,isEnabled:n=!0,overflowCheck:r="vertical",visibility:i="auto",offset:s=0,onVisibilityChange:l,updateDeps:c=[]}=e,d=S.useRef(i);S.useEffect(()=>{const h=t?.current;if(!h||!n)return;const m=(x,k,P,_,T)=>{if(i==="auto"){const A=`${_}${oL(T)}Scroll`;k&&P?(h.dataset[A]="true",h.removeAttribute(`data-${_}-scroll`),h.removeAttribute(`data-${T}-scroll`)):(h.dataset[`${_}Scroll`]=k.toString(),h.dataset[`${T}Scroll`]=P.toString(),h.removeAttribute(`data-${_}-${T}-scroll`))}else{const A=k&&P?"both":k?_:P?T:"none";A!==d.current&&(l?.(A),d.current=A)}},g=()=>{var x,k;const P=[{type:"vertical",prefix:"top",suffix:"bottom"},{type:"horizontal",prefix:"left",suffix:"right"}],_=h.querySelector('ul[data-slot="list"]'),T=+((x=_?.getAttribute("data-virtual-scroll-height"))!=null?x:h.scrollHeight),A=+((k=_?.getAttribute("data-virtual-scroll-top"))!=null?k:h.scrollTop);for(const{type:L,prefix:z,suffix:K}of P)if(r===L||r==="both"){const M=L==="vertical"?A>s:h.scrollLeft>s,J=L==="vertical"?A+h.clientHeight+s{["top","bottom","top-bottom","left","right","left-right"].forEach(x=>{h.removeAttribute(`data-${x}-scroll`)})};return g(),h.addEventListener("scroll",g,!0),i!=="auto"&&(b(),i==="both"?(h.dataset.topBottomScroll=String(r==="vertical"),h.dataset.leftRightScroll=String(r==="horizontal")):(h.dataset.topBottomScroll="false",h.dataset.leftRightScroll="false",["top","bottom","left","right"].forEach(x=>{h.dataset[`${x}Scroll`]=String(i===x)}))),()=>{h.removeEventListener("scroll",g,!0),b()}},[...c,n,i,r,l,t])}function _z(e){var t;const[n,r]=ta(e,dk.variantKeys),{ref:i,as:s,children:l,className:c,style:d,size:h=40,offset:m=0,visibility:g="auto",isEnabled:b=!0,onVisibilityChange:x,...k}=n,P=s||"div",_=Ji(i);Tz({domRef:_,offset:m,visibility:g,isEnabled:b,onVisibilityChange:x,updateDeps:[l],overflowCheck:(t=e.orientation)!=null?t:"vertical"});const T=S.useMemo(()=>dk({...r,className:c}),[tl(r),c]);return{Component:P,styles:T,domRef:_,children:l,getBaseProps:(L={})=>{var z;return{ref:_,className:T,"data-orientation":(z=e.orientation)!=null?z:"vertical",style:{"--scroll-shadow-size":`${h}px`,...d,...L.style},...k,...L}}}}var s2=_i((e,t)=>{const{Component:n,children:r,getBaseProps:i}=_z({...e,ref:t});return N.jsx(n,{...i(),children:r})});s2.displayName="HeroUI.ScrollShadow";var l2=s2,Eo=(e=>(e.LIGHT="light",e.DARK="dark",e))(Eo||{});const a2=S.createContext(null),WG={Like:"like",Dislike:"dislike"},$z={Start:"START"},hf={User:"user",Assistant:"assistant"};class Iz{constructor(t={}){if(this.chunkQueue=new Map,this.baseUrl=t.baseUrl??"",this.auth=t.auth,this.baseUrl.endsWith("/")&&(this.baseUrl=this.baseUrl.slice(0,-1)),!!this.baseUrl)try{new URL(this.baseUrl)}catch{throw new Error(`Invalid base URL: ${this.baseUrl}. Please provide a valid URL.`)}}getBaseUrl(){return this.baseUrl}_buildApiUrl(t){return`${this.baseUrl}${t}`}async _makeRequest(t,n={}){const r={"Content-Type":"application/json"};n.body instanceof FormData&&delete r["Content-Type"];const i={...r,...this.normalizeHeaders(n.headers)};this.auth?.getToken&&(i.Authorization=`Bearer ${this.auth.getToken()}`);const s=await fetch(t,{...n,headers:i,...this.auth?.credentials?{credentials:this.auth?.credentials}:{}});if(s.status===401&&this.auth?.onUnauthorized?.(),!s.ok)throw new Error(`HTTP error! status: ${s.status}`);return s}async makeRequest(t,...n){const r=n[0],{method:i="GET",body:s,pathParams:l,queryParams:c,headers:d={},...h}=r||{},m={method:i,headers:d,...h};s&&i!=="GET"&&(s instanceof FormData?(m.body=s,m.headers&&"Content-Type"in m.headers&&delete m.headers["Content-Type"]):m.body=typeof s=="string"?s:JSON.stringify(s));let g=t.toString();if(l&&typeof l=="object"&&(g=g.replace(/:([^/]+)/g,(x,k)=>{if(k in l){const P=l[k];return encodeURIComponent(String(P))}else throw new Error(`Path parameter ${k} is required`)})),c&&Object.keys(c).length>0){const x=new URLSearchParams;for(const[k,P]of Object.entries(c))P!=null&&x.append(k,String(P));g+=`?${x.toString()}`}return g=this._buildApiUrl(g),(await this._makeRequest(g,m)).json()}makeStreamRequest(t,n,r,i,s){let l=!1;const c=async h=>{const m=h.body?.pipeThrough(new TextDecoderStream).getReader();if(!m)throw new Error("Response body is null");let g="";for(;!l&&!i?.aborted;)try{const{value:b,done:x}=await m.read();if(x){r.onClose?.();break}g+=b;const k=g.split(` -`);g=k.pop()??"";for(const P of k)if(P.startsWith("data: "))try{const _=P.replace("data: ","").trim(),T=JSON.parse(_);if(!this.isChatResponse(T)){console.warn("Received response that isn't ChatResponse, skipping.",T);continue}if(T.type==="chunked_content"){this.handleChunkedContent(T,r);continue}await r.onMessage(T)}catch(_){console.error("Error parsing JSON:",_),await r.onError(new Error("Error processing server response"))}}catch(b){if(i?.aborted)return;console.error("Stream error:",b),await r.onError(new Error("Error reading stream"));break}},d=async()=>{try{const m={...{"Content-Type":"application/json",Accept:"text/event-stream"},...s};this.auth?.getToken&&(m.Authorization=`Bearer ${this.auth.getToken()}`);const g=await fetch(this._buildApiUrl(t.toString()),{method:"POST",headers:m,body:JSON.stringify(n),signal:i,...this.auth?.credentials?{credentials:this.auth?.credentials}:{}});if(g.status===401&&this.auth?.onUnauthorized?.(),!g.ok)throw new Error(`HTTP error! status: ${g.status}`);await c(g)}catch(h){if(i?.aborted)return;console.error("Request error:",h);const m=h instanceof Error?h.message:"Error connecting to server";await r.onError(new Error(m))}};try{d()}catch(h){const m=h instanceof Error?h.message:"Failed to start stream";r.onError(new Error(m))}return()=>{l=!0}}isChatResponse(t){return t!==null&&typeof t=="object"&&"type"in t&&"content"in t}normalizeHeaders(t){return t?t instanceof Headers?Object.fromEntries(t.entries()):Array.isArray(t)?Object.fromEntries(t):t:{}}async handleChunkedContent(t,n){const i=t.content,{content_type:s,id:l,chunk_index:c,total_chunks:d,mime_type:h,data:m}=i;this.chunkQueue.has(l)||this.chunkQueue.set(l,{chunks:new Map,totalChunks:d,mimeType:h});const g=this.chunkQueue.get(l);if(g.chunks.set(c,m),g.chunks.size!==d)return;const x=Array.from({length:d},(k,P)=>g.chunks.get(P)).join("");try{atob(x)}catch(k){this.chunkQueue.delete(l),console.error("❌ Invalid base64 data: ",k),await n.onError(new Error("Error reading stream"))}if(s==="image"){const k={type:"image",content:{id:l,url:`${g.mimeType},${x}`}};await n.onMessage(k)}this.chunkQueue.delete(l)}}const u2=S.createContext(null);function Az({children:e,...t}){const n=S.useMemo(()=>new Iz(t),[t]),r=S.useMemo(()=>({client:n}),[n]);return N.jsx(u2.Provider,{value:r,children:e})}function Jx(){const e=S.useContext(u2);if(!e)throw new Error("useRagbitsContext must be used within a RagbitsProvider");return e}function Rz(e,t){const{client:n}=Jx(),[r,i]=S.useState(null),[s,l]=S.useState(null),[c,d]=S.useState(!1),h=S.useRef(null),m=S.useCallback(()=>{if(!h.current)return null;h.current.abort(),h.current=null,d(!1)},[]),g=S.useCallback(async(...x)=>{const k=x[0];h.current&&c&&h.current.abort();const P=new AbortController;h.current=P,d(!0),l(null);try{const T={...{...t,...k||{},headers:{...t?.headers,...k?.headers||{}}},signal:P.signal},A=await n.makeRequest(e,T);return P.signal.aborted||(i(A),h.current=null),A}catch(_){if(!P.signal.aborted){const T=_ instanceof Error?_:new Error("API call failed");throw l(T),h.current=null,T}throw _}finally{P.signal.aborted||d(!1)}},[n,e,t,c]),b=S.useCallback(()=>{m(),i(null),l(null),d(!1)},[m]);return{data:r,error:s,isLoading:c,call:g,reset:b,abort:m}}function Lz(){return window.matchMedia("(prefers-color-scheme: dark)").matches?Eo.DARK:Eo.LIGHT}function zk(){const e=window.localStorage.getItem("theme");return e===Eo.DARK||e===Eo.LIGHT?e:Lz()}function Mz(e){return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}const Dz=({children:e})=>{const t=S.useSyncExternalStore(Mz,zk,zk),n=S.useRef(!1),{client:r}=Jx();S.useEffect(()=>{if(n.current)return;(async()=>{try{const c=r.getBaseUrl(),d=await fetch(`${c}/api/theme`);if(d.ok){const h=await d.text(),m=document.getElementById("heroui-custom-theme");m&&m.remove();const g=document.createElement("style");g.id="heroui-custom-theme",g.textContent=h,document.head.appendChild(g),console.log("Custom HeroUI theme loaded successfully"),n.current=!0}}catch(c){console.warn("No custom theme available:",c),n.current=!0}})()},[]),S.useEffect(()=>{document.documentElement.classList.toggle("dark",t===Eo.DARK)},[t]);const i=S.useCallback(l=>{window.localStorage.setItem("theme",l),window.dispatchEvent(new Event("storage"))},[]),s=S.useMemo(()=>({theme:t,setTheme:i}),[t,i]);return N.jsx(a2.Provider,{value:s,children:e})},c2=Object.freeze({left:0,top:0,width:16,height:16}),Yg=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),Zx=Object.freeze({...c2,...Yg}),Ib=Object.freeze({...Zx,body:"",hidden:!1});function Nz(e,t){const n={};!e.hFlip!=!t.hFlip&&(n.hFlip=!0),!e.vFlip!=!t.vFlip&&(n.vFlip=!0);const r=((e.rotate||0)+(t.rotate||0))%4;return r&&(n.rotate=r),n}function jk(e,t){const n=Nz(e,t);for(const r in Ib)r in Yg?r in e&&!(r in n)&&(n[r]=Yg[r]):r in t?n[r]=t[r]:r in e&&(n[r]=e[r]);return n}function Fz(e,t){const n=e.icons,r=e.aliases||Object.create(null),i=Object.create(null);function s(l){if(n[l])return i[l]=[];if(!(l in i)){i[l]=null;const c=r[l]&&r[l].parent,d=c&&s(c);d&&(i[l]=[c].concat(d))}return i[l]}return Object.keys(n).concat(Object.keys(r)).forEach(s),i}function Oz(e,t,n){const r=e.icons,i=e.aliases||Object.create(null);let s={};function l(c){s=jk(r[c]||i[c],s)}return l(t),n.forEach(l),jk(e,s)}function f2(e,t){const n=[];if(typeof e!="object"||typeof e.icons!="object")return n;e.not_found instanceof Array&&e.not_found.forEach(i=>{t(i,null),n.push(i)});const r=Fz(e);for(const i in r){const s=r[i];s&&(t(i,Oz(e,i,s)),n.push(i))}return n}const zz={provider:"",aliases:{},not_found:{},...c2};function g0(e,t){for(const n in t)if(n in e&&typeof e[n]!=typeof t[n])return!1;return!0}function d2(e){if(typeof e!="object"||e===null)return null;const t=e;if(typeof t.prefix!="string"||!e.icons||typeof e.icons!="object"||!g0(e,zz))return null;const n=t.icons;for(const i in n){const s=n[i];if(!i||typeof s.body!="string"||!g0(s,Ib))return null}const r=t.aliases||Object.create(null);for(const i in r){const s=r[i],l=s.parent;if(!i||typeof l!="string"||!n[l]&&!r[l]||!g0(s,Ib))return null}return t}const p2=/^[a-z0-9]+(-[a-z0-9]+)*$/,xv=(e,t,n,r="")=>{const i=e.split(":");if(e.slice(0,1)==="@"){if(i.length<2||i.length>3)return null;r=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){const c=i.pop(),d=i.pop(),h={provider:i.length>0?i[0]:r,prefix:d,name:c};return t&&!Ig(h)?null:h}const s=i[0],l=s.split("-");if(l.length>1){const c={provider:r,prefix:l.shift(),name:l.join("-")};return t&&!Ig(c)?null:c}if(n&&r===""){const c={provider:r,prefix:"",name:s};return t&&!Ig(c,n)?null:c}return null},Ig=(e,t)=>e?!!((t&&e.prefix===""||e.prefix)&&e.name):!1,Bk=Object.create(null);function jz(e,t){return{provider:e,prefix:t,icons:Object.create(null),missing:new Set}}function Ef(e,t){const n=Bk[e]||(Bk[e]=Object.create(null));return n[t]||(n[t]=jz(e,t))}function h2(e,t){return d2(t)?f2(t,(n,r)=>{r?e.icons[n]=r:e.missing.add(n)}):[]}function Bz(e,t,n){try{if(typeof n.body=="string")return e.icons[t]={...n},!0}catch{}return!1}let oh=!1;function m2(e){return typeof e=="boolean"&&(oh=e),oh}function Vk(e){const t=typeof e=="string"?xv(e,!0,oh):e;if(t){const n=Ef(t.provider,t.prefix),r=t.name;return n.icons[r]||(n.missing.has(r)?null:void 0)}}function Vz(e,t){const n=xv(e,!0,oh);if(!n)return!1;const r=Ef(n.provider,n.prefix);return t?Bz(r,n.name,t):(r.missing.add(n.name),!0)}function Uz(e,t){if(typeof e!="object")return!1;if(typeof t!="string"&&(t=e.provider||""),oh&&!t&&!e.prefix){let i=!1;return d2(e)&&(e.prefix="",f2(e,(s,l)=>{Vz(s,l)&&(i=!0)})),i}const n=e.prefix;if(!Ig({prefix:n,name:"a"}))return!1;const r=Ef(t,n);return!!h2(r,e)}const g2=Object.freeze({width:null,height:null}),v2=Object.freeze({...g2,...Yg}),Kz=/(-?[0-9.]*[0-9]+[0-9.]*)/g,Wz=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function Uk(e,t,n){if(t===1)return e;if(n=n||100,typeof e=="number")return Math.ceil(e*t*n)/n;if(typeof e!="string")return e;const r=e.split(Kz);if(r===null||!r.length)return e;const i=[];let s=r.shift(),l=Wz.test(s);for(;;){if(l){const c=parseFloat(s);isNaN(c)?i.push(s):i.push(Math.ceil(c*t*n)/n)}else i.push(s);if(s=r.shift(),s===void 0)return i.join("");l=!l}}function Hz(e,t="defs"){let n="";const r=e.indexOf("<"+t);for(;r>=0;){const i=e.indexOf(">",r),s=e.indexOf("",s);if(l===-1)break;n+=e.slice(i+1,s).trim(),e=e.slice(0,r).trim()+e.slice(l+1)}return{defs:n,content:e}}function Gz(e,t){return e?""+e+""+t:t}function qz(e,t,n){const r=Hz(e);return Gz(r.defs,t+r.content+n)}const Yz=e=>e==="unset"||e==="undefined"||e==="none";function Xz(e,t){const n={...Zx,...e},r={...v2,...t},i={left:n.left,top:n.top,width:n.width,height:n.height};let s=n.body;[n,r].forEach(P=>{const _=[],T=P.hFlip,A=P.vFlip;let L=P.rotate;T?A?L+=2:(_.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),_.push("scale(-1 1)"),i.top=i.left=0):A&&(_.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),_.push("scale(1 -1)"),i.top=i.left=0);let z;switch(L<0&&(L-=Math.floor(L/4)*4),L=L%4,L){case 1:z=i.height/2+i.top,_.unshift("rotate(90 "+z.toString()+" "+z.toString()+")");break;case 2:_.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:z=i.width/2+i.left,_.unshift("rotate(-90 "+z.toString()+" "+z.toString()+")");break}L%2===1&&(i.left!==i.top&&(z=i.left,i.left=i.top,i.top=z),i.width!==i.height&&(z=i.width,i.width=i.height,i.height=z)),_.length&&(s=qz(s,'',""))});const l=r.width,c=r.height,d=i.width,h=i.height;let m,g;l===null?(g=c===null?"1em":c==="auto"?h:c,m=Uk(g,d/h)):(m=l==="auto"?d:l,g=c===null?Uk(m,h/d):c==="auto"?h:c);const b={},x=(P,_)=>{Yz(_)||(b[P]=_.toString())};x("width",m),x("height",g);const k=[i.left,i.top,d,h];return b.viewBox=k.join(" "),{attributes:b,viewBox:k,body:s}}const Qz=/\sid="(\S+)"/g,Jz="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let Zz=0;function e8(e,t=Jz){const n=[];let r;for(;r=Qz.exec(e);)n.push(r[1]);if(!n.length)return e;const i="suffix"+(Math.random()*16777216|Date.now()).toString(16);return n.forEach(s=>{const l=typeof t=="function"?t(s):t+(Zz++).toString(),c=s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+c+')([")]|\\.[a-z])',"g"),"$1"+l+i+"$3")}),e=e.replace(new RegExp(i,"g"),""),e}const Ab=Object.create(null);function t8(e,t){Ab[e]=t}function Rb(e){return Ab[e]||Ab[""]}function ew(e){let t;if(typeof e.resources=="string")t=[e.resources];else if(t=e.resources,!(t instanceof Array)||!t.length)return null;return{resources:t,path:e.path||"/",maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:e.random===!0,index:e.index||0,dataAfterTimeout:e.dataAfterTimeout!==!1}}const tw=Object.create(null),yp=["https://api.simplesvg.com","https://api.unisvg.com"],Ag=[];for(;yp.length>0;)yp.length===1||Math.random()>.5?Ag.push(yp.shift()):Ag.push(yp.pop());tw[""]=ew({resources:["https://api.iconify.design"].concat(Ag)});function n8(e,t){const n=ew(t);return n===null?!1:(tw[e]=n,!0)}function nw(e){return tw[e]}const r8=()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch{}};let Kk=r8();function i8(e,t){const n=nw(e);if(!n)return 0;let r;if(!n.maxURL)r=0;else{let i=0;n.resources.forEach(l=>{i=Math.max(i,l.length)});const s=t+".json?icons=";r=n.maxURL-i-n.path.length-s.length}return r}function o8(e){return e===404}const s8=(e,t,n)=>{const r=[],i=i8(e,t),s="icons";let l={type:s,provider:e,prefix:t,icons:[]},c=0;return n.forEach((d,h)=>{c+=d.length+1,c>=i&&h>0&&(r.push(l),l={type:s,provider:e,prefix:t,icons:[]},c=d.length),l.icons.push(d)}),r.push(l),r};function l8(e){if(typeof e=="string"){const t=nw(e);if(t)return t.path}return"/"}const a8=(e,t,n)=>{if(!Kk){n("abort",424);return}let r=l8(t.provider);switch(t.type){case"icons":{const s=t.prefix,c=t.icons.join(","),d=new URLSearchParams({icons:c});r+=s+".json?"+d.toString();break}case"custom":{const s=t.uri;r+=s.slice(0,1)==="/"?s.slice(1):s;break}default:n("abort",400);return}let i=503;Kk(e+r).then(s=>{const l=s.status;if(l!==200){setTimeout(()=>{n(o8(l)?"abort":"next",l)});return}return i=501,s.json()}).then(s=>{if(typeof s!="object"||s===null){setTimeout(()=>{s===404?n("abort",s):n("next",i)});return}setTimeout(()=>{n("success",s)})}).catch(()=>{n("next",i)})},u8={prepare:s8,send:a8};function c8(e){const t={loaded:[],missing:[],pending:[]},n=Object.create(null);e.sort((i,s)=>i.provider!==s.provider?i.provider.localeCompare(s.provider):i.prefix!==s.prefix?i.prefix.localeCompare(s.prefix):i.name.localeCompare(s.name));let r={provider:"",prefix:"",name:""};return e.forEach(i=>{if(r.name===i.name&&r.prefix===i.prefix&&r.provider===i.provider)return;r=i;const s=i.provider,l=i.prefix,c=i.name,d=n[s]||(n[s]=Object.create(null)),h=d[l]||(d[l]=Ef(s,l));let m;c in h.icons?m=t.loaded:l===""||h.missing.has(c)?m=t.missing:m=t.pending;const g={provider:s,prefix:l,name:c};m.push(g)}),t}function y2(e,t){e.forEach(n=>{const r=n.loaderCallbacks;r&&(n.loaderCallbacks=r.filter(i=>i.id!==t))})}function f8(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;const t=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!t.length)return;let n=!1;const r=e.provider,i=e.prefix;t.forEach(s=>{const l=s.icons,c=l.pending.length;l.pending=l.pending.filter(d=>{if(d.prefix!==i)return!0;const h=d.name;if(e.icons[h])l.loaded.push({provider:r,prefix:i,name:h});else if(e.missing.has(h))l.missing.push({provider:r,prefix:i,name:h});else return n=!0,!0;return!1}),l.pending.length!==c&&(n||y2([e],s.id),s.callback(l.loaded.slice(0),l.missing.slice(0),l.pending.slice(0),s.abort))})}))}let d8=0;function p8(e,t,n){const r=d8++,i=y2.bind(null,n,r);if(!t.pending.length)return i;const s={id:r,icons:t,callback:e,abort:i};return n.forEach(l=>{(l.loaderCallbacks||(l.loaderCallbacks=[])).push(s)}),i}function h8(e,t=!0,n=!1){const r=[];return e.forEach(i=>{const s=typeof i=="string"?xv(i,t,n):i;s&&r.push(s)}),r}var m8={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function g8(e,t,n,r){const i=e.resources.length,s=e.random?Math.floor(Math.random()*i):e.index;let l;if(e.random){let M=e.resources.slice(0);for(l=[];M.length>1;){const J=Math.floor(Math.random()*M.length);l.push(M[J]),M=M.slice(0,J).concat(M.slice(J+1))}l=l.concat(M)}else l=e.resources.slice(s).concat(e.resources.slice(0,s));const c=Date.now();let d="pending",h=0,m,g=null,b=[],x=[];typeof r=="function"&&x.push(r);function k(){g&&(clearTimeout(g),g=null)}function P(){d==="pending"&&(d="aborted"),k(),b.forEach(M=>{M.status==="pending"&&(M.status="aborted")}),b=[]}function _(M,J){J&&(x=[]),typeof M=="function"&&x.push(M)}function T(){return{startTime:c,payload:t,status:d,queriesSent:h,queriesPending:b.length,subscribe:_,abort:P}}function A(){d="failed",x.forEach(M=>{M(void 0,m)})}function L(){b.forEach(M=>{M.status==="pending"&&(M.status="aborted")}),b=[]}function z(M,J,re){const ae=J!=="success";switch(b=b.filter(j=>j!==M),d){case"pending":break;case"failed":if(ae||!e.dataAfterTimeout)return;break;default:return}if(J==="abort"){m=re,A();return}if(ae){m=re,b.length||(l.length?K():A());return}if(k(),L(),!e.random){const j=e.resources.indexOf(M.resource);j!==-1&&j!==e.index&&(e.index=j)}d="completed",x.forEach(j=>{j(re)})}function K(){if(d!=="pending")return;k();const M=l.shift();if(M===void 0){if(b.length){g=setTimeout(()=>{k(),d==="pending"&&(L(),A())},e.timeout);return}A();return}const J={status:"pending",resource:M,callback:(re,ae)=>{z(J,re,ae)}};b.push(J),h++,g=setTimeout(K,e.rotate),n(M,t,J.callback)}return setTimeout(K),T}function b2(e){const t={...m8,...e};let n=[];function r(){n=n.filter(c=>c().status==="pending")}function i(c,d,h){const m=g8(t,c,d,(g,b)=>{r(),h&&h(g,b)});return n.push(m),m}function s(c){return n.find(d=>c(d))||null}return{query:i,find:s,setIndex:c=>{t.index=c},getIndex:()=>t.index,cleanup:r}}function Wk(){}const v0=Object.create(null);function v8(e){if(!v0[e]){const t=nw(e);if(!t)return;const n=b2(t),r={config:t,redundancy:n};v0[e]=r}return v0[e]}function y8(e,t,n){let r,i;if(typeof e=="string"){const s=Rb(e);if(!s)return n(void 0,424),Wk;i=s.send;const l=v8(e);l&&(r=l.redundancy)}else{const s=ew(e);if(s){r=b2(s);const l=e.resources?e.resources[0]:"",c=Rb(l);c&&(i=c.send)}}return!r||!i?(n(void 0,424),Wk):r.query(t,i,n)().abort}function Hk(){}function b8(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,f8(e)}))}function x8(e){const t=[],n=[];return e.forEach(r=>{(r.match(p2)?t:n).push(r)}),{valid:t,invalid:n}}function bp(e,t,n){function r(){const i=e.pendingIcons;t.forEach(s=>{i&&i.delete(s),e.icons[s]||e.missing.add(s)})}if(n&&typeof n=="object")try{if(!h2(e,n).length){r();return}}catch(i){console.error(i)}r(),b8(e)}function Gk(e,t){e instanceof Promise?e.then(n=>{t(n)}).catch(()=>{t(null)}):t(e)}function w8(e,t){e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(t).sort():e.iconsToLoad=t,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;const{provider:n,prefix:r}=e,i=e.iconsToLoad;if(delete e.iconsToLoad,!i||!i.length)return;const s=e.loadIcon;if(e.loadIcons&&(i.length>1||!s)){Gk(e.loadIcons(i,r,n),m=>{bp(e,i,m)});return}if(s){i.forEach(m=>{const g=s(m,r,n);Gk(g,b=>{const x=b?{prefix:r,icons:{[m]:b}}:null;bp(e,[m],x)})});return}const{valid:l,invalid:c}=x8(i);if(c.length&&bp(e,c,null),!l.length)return;const d=r.match(p2)?Rb(n):null;if(!d){bp(e,l,null);return}d.prepare(n,r,l).forEach(m=>{y8(n,m,g=>{bp(e,m.icons,g)})})}))}const x2=(e,t)=>{const n=h8(e,!0,m2()),r=c8(n);if(!r.pending.length){let d=!0;return t&&setTimeout(()=>{d&&t(r.loaded,r.missing,r.pending,Hk)}),()=>{d=!1}}const i=Object.create(null),s=[];let l,c;return r.pending.forEach(d=>{const{provider:h,prefix:m}=d;if(m===c&&h===l)return;l=h,c=m,s.push(Ef(h,m));const g=i[h]||(i[h]=Object.create(null));g[m]||(g[m]=[])}),r.pending.forEach(d=>{const{provider:h,prefix:m,name:g}=d,b=Ef(h,m),x=b.pendingIcons||(b.pendingIcons=new Set);x.has(g)||(x.add(g),i[h][m].push(g))}),s.forEach(d=>{const h=i[d.provider][d.prefix];h.length&&w8(d,h)}),t?p8(t,r,s):Hk};function S8(e,t){const n={...e};for(const r in t){const i=t[r],s=typeof i;r in g2?(i===null||i&&(s==="string"||s==="number"))&&(n[r]=i):s===typeof n[r]&&(n[r]=r==="rotate"?i%4:i)}return n}const k8=/[\s,]+/;function C8(e,t){t.split(k8).forEach(n=>{switch(n.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}function E8(e,t=0){const n=e.replace(/^-?[0-9.]*/,"");function r(i){for(;i<0;)i+=4;return i%4}if(n===""){const i=parseInt(e);return isNaN(i)?0:r(i)}else if(n!==e){let i=0;switch(n){case"%":i=25;break;case"deg":i=90}if(i){let s=parseFloat(e.slice(0,e.length-n.length));return isNaN(s)?0:(s=s/i,s%1===0?r(s):0)}}return t}function P8(e,t){let n=e.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const r in t)n+=" "+r+'="'+t[r]+'"';return'"+e+""}function T8(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(//g,"%3E").replace(/\s+/g," ")}function _8(e){return"data:image/svg+xml,"+T8(e)}function $8(e){return'url("'+_8(e)+'")'}let zp;function I8(){try{zp=window.trustedTypes.createPolicy("iconify",{createHTML:e=>e})}catch{zp=null}}function A8(e){return zp===void 0&&I8(),zp?zp.createHTML(e):e}const w2={...v2,inline:!1},R8={xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},L8={display:"inline-block"},Lb={backgroundColor:"currentColor"},S2={backgroundColor:"transparent"},qk={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},Yk={WebkitMask:Lb,mask:Lb,background:S2};for(const e in Yk){const t=Yk[e];for(const n in qk)t[e+n]=qk[n]}const M8={...w2,inline:!0};function Xk(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}const D8=(e,t,n)=>{const r=t.inline?M8:w2,i=S8(r,t),s=t.mode||"svg",l={},c=t.style||{},d={...s==="svg"?R8:{}};if(n){const _=xv(n,!1,!0);if(_){const T=["iconify"],A=["provider","prefix"];for(const L of A)_[L]&&T.push("iconify--"+_[L]);d.className=T.join(" ")}}for(let _ in t){const T=t[_];if(T!==void 0)switch(_){case"icon":case"style":case"children":case"onLoad":case"mode":case"ssr":break;case"_ref":d.ref=T;break;case"className":d[_]=(d[_]?d[_]+" ":"")+T;break;case"inline":case"hFlip":case"vFlip":i[_]=T===!0||T==="true"||T===1;break;case"flip":typeof T=="string"&&C8(i,T);break;case"color":l.color=T;break;case"rotate":typeof T=="string"?i[_]=E8(T):typeof T=="number"&&(i[_]=T);break;case"ariaHidden":case"aria-hidden":T!==!0&&T!=="true"&&delete d["aria-hidden"];break;default:r[_]===void 0&&(d[_]=T)}}const h=Xz(e,i),m=h.attributes;if(i.inline&&(l.verticalAlign="-0.125em"),s==="svg"){d.style={...l,...c},Object.assign(d,m);let _=0,T=t.id;return typeof T=="string"&&(T=T.replace(/-/g,"_")),d.dangerouslySetInnerHTML={__html:A8(e8(h.body,T?()=>T+"ID"+_++:"iconifyReact"))},S.createElement("svg",d)}const{body:g,width:b,height:x}=e,k=s==="mask"||(s==="bg"?!1:g.indexOf("currentColor")!==-1),P=P8(g,{...m,width:b+"",height:x+""});return d.style={...l,"--svg":$8(P),width:Xk(m.width),height:Xk(m.height),...L8,...k?Lb:S2,...c},S.createElement("span",d)};m2(!0);t8("",u8);if(typeof document<"u"&&typeof window<"u"){const e=window;if(e.IconifyPreload!==void 0){const t=e.IconifyPreload,n="Invalid IconifyPreload syntax.";typeof t=="object"&&t!==null&&(t instanceof Array?t:[t]).forEach(r=>{try{(typeof r!="object"||r===null||r instanceof Array||typeof r.icons!="object"||typeof r.prefix!="string"||!Uz(r))&&console.error(n)}catch{console.error(n)}})}if(e.IconifyProviders!==void 0){const t=e.IconifyProviders;if(typeof t=="object"&&t!==null)for(let n in t){const r="IconifyProviders["+n+"] is invalid.";try{const i=t[n];if(typeof i!="object"||!i||i.resources===void 0)continue;n8(n,i)||console.error(r)}catch{console.error(r)}}}}function k2(e){const[t,n]=S.useState(!!e.ssr),[r,i]=S.useState({});function s(x){if(x){const k=e.icon;if(typeof k=="object")return{name:"",data:k};const P=Vk(k);if(P)return{name:k,data:P}}return{name:""}}const[l,c]=S.useState(s(!!e.ssr));function d(){const x=r.callback;x&&(x(),i({}))}function h(x){if(JSON.stringify(l)!==JSON.stringify(x))return d(),c(x),!0}function m(){var x;const k=e.icon;if(typeof k=="object"){h({name:"",data:k});return}const P=Vk(k);if(h({name:k,data:P}))if(P===void 0){const _=x2([k],m);i({callback:_})}else P&&((x=e.onLoad)===null||x===void 0||x.call(e,k))}S.useEffect(()=>(n(!0),d),[]),S.useEffect(()=>{t&&m()},[e.icon,t]);const{name:g,data:b}=l;return b?D8({...Zx,...b},e,g):e.children?e.children:e.fallback?e.fallback:S.createElement("span",{})}const si=S.forwardRef((e,t)=>k2({...e,_ref:t}));S.forwardRef((e,t)=>k2({inline:!0,...e,_ref:t}));var Ip={exports:{}};var N8=Ip.exports,Qk;function F8(){return Qk||(Qk=1,(function(e,t){(function(){var n,r="4.17.21",i=200,s="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",l="Expected a function",c="Invalid `variable` option passed into `_.template`",d="__lodash_hash_undefined__",h=500,m="__lodash_placeholder__",g=1,b=2,x=4,k=1,P=2,_=1,T=2,A=4,L=8,z=16,K=32,M=64,J=128,re=256,ae=512,j=30,B="...",Y=800,te=16,G=1,fe=2,Z=3,q=1/0,W=9007199254740991,se=17976931348623157e292,R=NaN,V=4294967295,oe=V-1,O=V>>>1,me=[["ary",J],["bind",_],["bindKey",T],["curry",L],["curryRight",z],["flip",ae],["partial",K],["partialRight",M],["rearg",re]],Ee="[object Arguments]",we="[object Array]",je="[object AsyncFunction]",Oe="[object Boolean]",Te="[object Date]",tt="[object DOMException]",yt="[object Error]",$e="[object Function]",Rt="[object GeneratorFunction]",bt="[object Map]",Qt="[object Number]",Ue="[object Null]",st="[object Object]",Rn="[object Promise]",Or="[object Proxy]",kn="[object RegExp]",Lt="[object Set]",jt="[object String]",ur="[object Symbol]",ro="[object Undefined]",Xn="[object WeakMap]",pe="[object WeakSet]",ke="[object ArrayBuffer]",Be="[object DataView]",rt="[object Float32Array]",ct="[object Float64Array]",Jt="[object Int8Array]",cr="[object Int16Array]",tn="[object Int32Array]",an="[object Uint8Array]",Sr="[object Uint8ClampedArray]",Mt="[object Uint16Array]",Qn="[object Uint32Array]",nn=/\b__p \+= '';/g,il=/\b(__p \+=) '' \+/g,ps=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ai=/&(?:amp|lt|gt|quot|#39);/g,ui=/[&<>"']/g,oa=RegExp(ai.source),Tu=RegExp(ui.source),hs=/<%-([\s\S]+?)%>/g,zr=/<%([\s\S]+?)%>/g,sa=/<%=([\s\S]+?)%>/g,la=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Gt=/^\w*$/,ms=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,gs=/[\\^$.*+?()[\]{}|]/g,Ao=RegExp(gs.source),aa=/^\s+/,vs=/\s/,ol=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,sl=/\{\n\/\* \[wrapped with (.+)\] \*/,ua=/,? & /,jf=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Bf=/[()=,{}\[\]\/\s]/,Vf=/\\(\\)?/g,Ye=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,io=/\w*$/,Ph=/^[-+]0x[0-9a-f]+$/i,Dv=/^0b[01]+$/i,Th=/^\[object .+?Constructor\]$/,_h=/^0o[0-7]+$/i,$h=/^(?:0|[1-9]\d*)$/,Ih=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,_u=/($^)/,Nv=/['\n\r\u2028\u2029\\]/g,Bt="\\ud800-\\udfff",Fv="\\u0300-\\u036f",Uf="\\ufe20-\\ufe2f",Ah="\\u20d0-\\u20ff",ca=Fv+Uf+Ah,Rh="\\u2700-\\u27bf",Kf="a-z\\xdf-\\xf6\\xf8-\\xff",$u="\\xac\\xb1\\xd7\\xf7",Ii="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ov="\\u2000-\\u206f",ci=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Lh="A-Z\\xc0-\\xd6\\xd8-\\xde",Mh="\\ufe0e\\ufe0f",Dh=$u+Ii+Ov+ci,ll="['’]",Iu="["+Bt+"]",al="["+Dh+"]",ys="["+ca+"]",Nh="\\d+",zv="["+Rh+"]",Au="["+Kf+"]",Wf="[^"+Bt+Dh+Nh+Rh+Kf+Lh+"]",fa="\\ud83c[\\udffb-\\udfff]",da="(?:"+ys+"|"+fa+")",Fh="[^"+Bt+"]",pa="(?:\\ud83c[\\udde6-\\uddff]){2}",Ct="[\\ud800-\\udbff][\\udc00-\\udfff]",bs="["+Lh+"]",Hf="\\u200d",Ru="(?:"+Au+"|"+Wf+")",Oh="(?:"+bs+"|"+Wf+")",Gf="(?:"+ll+"(?:d|ll|m|re|s|t|ve))?",qf="(?:"+ll+"(?:D|LL|M|RE|S|T|VE))?",Lu=da+"?",ha="["+Mh+"]?",Ro="(?:"+Hf+"(?:"+[Fh,pa,Ct].join("|")+")"+ha+Lu+")*",Lo="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Mo="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",ul=ha+Lu+Ro,ma="(?:"+[zv,pa,Ct].join("|")+")"+ul,Do="(?:"+[Fh+ys+"?",ys,pa,Ct,Iu].join("|")+")",jv=RegExp(ll,"g"),zh=RegExp(ys,"g"),xs=RegExp(fa+"(?="+fa+")|"+Do+ul,"g"),Bv=RegExp([bs+"?"+Au+"+"+Gf+"(?="+[al,bs,"$"].join("|")+")",Oh+"+"+qf+"(?="+[al,bs+Ru,"$"].join("|")+")",bs+"?"+Ru+"+"+Gf,bs+"+"+qf,Mo,Lo,Nh,ma].join("|"),"g"),jh=RegExp("["+Hf+Bt+ca+Mh+"]"),Mu=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Bh=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Vv=-1,Pt={};Pt[rt]=Pt[ct]=Pt[Jt]=Pt[cr]=Pt[tn]=Pt[an]=Pt[Sr]=Pt[Mt]=Pt[Qn]=!0,Pt[Ee]=Pt[we]=Pt[ke]=Pt[Oe]=Pt[Be]=Pt[Te]=Pt[yt]=Pt[$e]=Pt[bt]=Pt[Qt]=Pt[st]=Pt[kn]=Pt[Lt]=Pt[jt]=Pt[Xn]=!1;var Et={};Et[Ee]=Et[we]=Et[ke]=Et[Be]=Et[Oe]=Et[Te]=Et[rt]=Et[ct]=Et[Jt]=Et[cr]=Et[tn]=Et[bt]=Et[Qt]=Et[st]=Et[kn]=Et[Lt]=Et[jt]=Et[ur]=Et[an]=Et[Sr]=Et[Mt]=Et[Qn]=!0,Et[yt]=Et[$e]=Et[Xn]=!1;var cl={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Du={"&":"&","<":"<",">":">",'"':""","'":"'"},Uv={"&":"&","<":"<",">":">",""":'"',"'":"'"},Kv={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Yf=parseFloat,Nu=parseInt,Fu=typeof eg=="object"&&eg&&eg.Object===Object&&eg,Vh=typeof self=="object"&&self&&self.Object===Object&&self,Vt=Fu||Vh||Function("return this")(),ga=t&&!t.nodeType&&t,Ai=ga&&!0&&e&&!e.nodeType&&e,Xf=Ai&&Ai.exports===ga,fl=Xf&&Fu.process,Jn=(function(){try{var ne=Ai&&Ai.require&&Ai.require("util").types;return ne||fl&&fl.binding&&fl.binding("util")}catch{}})(),Qf=Jn&&Jn.isArrayBuffer,fr=Jn&&Jn.isDate,ws=Jn&&Jn.isMap,Ou=Jn&&Jn.isRegExp,dl=Jn&&Jn.isSet,Uh=Jn&&Jn.isTypedArray;function Zn(ne,he,ce){switch(ce.length){case 0:return ne.call(he);case 1:return ne.call(he,ce[0]);case 2:return ne.call(he,ce[0],ce[1]);case 3:return ne.call(he,ce[0],ce[1],ce[2])}return ne.apply(he,ce)}function Jf(ne,he,ce,Ie){for(var nt=-1,xt=ne==null?0:ne.length;++nt-1}function ed(ne,he,ce){for(var Ie=-1,nt=ne==null?0:ne.length;++Ie-1;);return ce}function ld(ne,he){for(var ce=ne.length;ce--&&pl(he,ne[ce],0)>-1;);return ce}function Qh(ne,he){for(var ce=ne.length,Ie=0;ce--;)ne[ce]===he&&++Ie;return Ie}var Jh=Vu(cl),Zh=Vu(Du);function em(ne){return"\\"+Kv[ne]}function hl(ne,he){return ne==null?n:ne[he]}function ml(ne){return jh.test(ne)}function Xv(ne){return Mu.test(ne)}function Qv(ne){for(var he,ce=[];!(he=ne.next()).done;)ce.push(he.value);return ce}function Uu(ne){var he=-1,ce=Array(ne.size);return ne.forEach(function(Ie,nt){ce[++he]=[nt,Ie]}),ce}function ad(ne,he){return function(ce){return ne(he(ce))}}function jr(ne,he){for(var ce=-1,Ie=ne.length,nt=0,xt=[];++ce-1}function fm(u,f){var y=this.__data__,E=Kn(y,u);return E<0?(++this.size,y.push([u,f])):y[E][1]=f,this}er.prototype.clear=Pl,er.prototype.delete=hr,er.prototype.get=rc,er.prototype.has=cm,er.prototype.set=fm;function Vr(u){var f=-1,y=u==null?0:u.length;for(this.clear();++f=f?u:f)),u}function mr(u,f,y,E,$,F){var H,Q=f&g,ie=f&b,ge=f&x;if(y&&(H=$?y(u,E,$,F):y(u)),H!==n)return H;if(!sn(u))return u;var ve=ot(u);if(ve){if(H=Wa(u),!Q)return tr(u,H)}else{var xe=Dn(u),_e=xe==$e||xe==Rt;if(Ul(u))return Id(u,Q);if(xe==st||xe==Ee||_e&&!$){if(H=ie||_e?{}:Nn(u),!Q)return ie?oy(u,di(H,u)):xc(u,Ft(H,u))}else{if(!Et[xe])return $?u:{};H=sy(u,xe,Q)}}F||(F=new Un);var Ve=F.get(u);if(Ve)return Ve;F.set(u,H),Fw(u)?u.forEach(function(Je){H.add(mr(Je,f,y,Je,u,F))}):Dw(u)&&u.forEach(function(Je,pt){H.set(pt,mr(Je,f,y,pt,u,F))});var Qe=ge?ie?Va:Ba:ie?Zr:Gn,ft=ve?n:Qe(u);return zn(ft||u,function(Je,pt){ft&&(pt=Je,Je=u[pt]),$s(H,pt,mr(Je,f,y,pt,u,F))}),H}function mm(u){var f=Gn(u);return function(y){return $a(y,u,f)}}function $a(u,f,y){var E=y.length;if(u==null)return!E;for(u=Tt(u);E--;){var $=y[E],F=f[$],H=u[$];if(H===n&&!($ in u)||!F(H))return!1}return!0}function gd(u,f,y){if(typeof u!="function")throw new Br(l);return jl(function(){u.apply(n,y)},f)}function Oi(u,f,y,E){var $=-1,F=ju,H=!0,Q=u.length,ie=[],ge=f.length;if(!Q)return ie;y&&(f=$t(f,kr(y))),E?(F=ed,H=!1):f.length>=i&&(F=oo,H=!1,f=new Ps(f));e:for(;++$$?0:$+y),E=E===n||E>$?$:at(E),E<0&&(E+=$),E=y>E?0:zw(E);y0&&y(Q)?f>1?Zt(Q,f-1,y,E,$):Fo($,Q):E||($[$.length]=Q)}return $}var ac=Sc(),Aa=Sc(!0);function Tr(u,f){return u&&ac(u,f,Gn)}function Wo(u,f){return u&&Aa(u,f,Gn)}function _l(u,f){return No(f,function(y){return Us(u[y])})}function fo(u,f){f=Vi(f,u);for(var y=0,E=f.length;u!=null&&yf}function Wr(u,f){return u!=null&&wt.call(u,f)}function As(u,f){return u!=null&&f in Tt(u)}function yd(u,f,y){return u>=jn(f,y)&&u=120&&ve.length>=120)?new Ps(H&&ve):n}ve=u[0];var xe=-1,_e=Q[0];e:for(;++xe<$&&ge.length-1;)Q!==u&&Xu.call(Q,ie,1),Xu.call(u,ie,1);return u}function gn(u,f){for(var y=u?f.length:0,E=y-1;y--;){var $=f[y];if(y==E||$!==F){var F=$;Kt($)?Xu.call(u,$,1):vc(u,$)}}return u}function Al(u,f){return u+zo(Ca()*(f-u+1))}function Da(u,f,y,E){for(var $=-1,F=cn(Cs((f-u)/(y||1)),0),H=ce(F);F--;)H[E?F:++$]=u,u+=y;return H}function Ls(u,f){var y="";if(!u||f<1||f>W)return y;do f%2&&(y+=u),f=zo(f/2),f&&(u+=u);while(f);return y}function lt(u,f){return _r(Ac(u,f,ei),u+"")}function Wn(u){return Ni(Xc(u))}function Cd(u,f){var y=Xc(u);return Rc(y,co(f,0,y.length))}function Ms(u,f,y,E){if(!sn(u))return u;f=Vi(f,u);for(var $=-1,F=f.length,H=F-1,Q=u;Q!=null&&++$$?0:$+f),y=y>$?$:y,y<0&&(y+=$),$=f>y?0:y-f>>>0,f>>>=0;for(var F=ce($);++E<$;)F[E]=u[E+f];return F}function Ed(u,f){var y;return zi(u,function(E,$,F){return y=f(E,$,F),!y}),!!y}function Rl(u,f,y){var E=0,$=u==null?E:u.length;if(typeof f=="number"&&f===f&&$<=O){for(;E<$;){var F=E+$>>>1,H=u[F];H!==null&&!xi(H)&&(y?H<=f:H=i){var ge=f?null:_m(u);if(ge)return Oo(ge);H=!1,$=oo,ie=new Ps}else ie=f?[]:Q;e:for(;++E=E?u:Hn(u,f,y)}var $d=lm||function(u){return Vt.clearTimeout(u)};function Id(u,f){if(f)return u.slice();var y=u.length,E=cd?cd(y):new u.constructor(y);return u.copy(E),E}function Oa(u){var f=new u.constructor(u.byteLength);return new Sa(f).set(new Sa(u)),f}function wm(u,f){var y=f?Oa(u.buffer):u.buffer;return new u.constructor(y,u.byteOffset,u.byteLength)}function Sm(u){var f=new u.constructor(u.source,io.exec(u));return f.lastIndex=u.lastIndex,f}function km(u){return Er?Tt(Er.call(u)):{}}function Cm(u,f){var y=f?Oa(u.buffer):u.buffer;return new u.constructor(y,u.byteOffset,u.length)}function Ad(u,f){if(u!==f){var y=u!==n,E=u===null,$=u===u,F=xi(u),H=f!==n,Q=f===null,ie=f===f,ge=xi(f);if(!Q&&!ge&&!F&&u>f||F&&H&&ie&&!Q&&!ge||E&&H&&ie||!y&&ie||!$)return 1;if(!E&&!F&&!ge&&u=Q)return ie;var ge=y[E];return ie*(ge=="desc"?-1:1)}}return u.index-f.index}function Em(u,f,y,E){for(var $=-1,F=u.length,H=y.length,Q=-1,ie=f.length,ge=cn(F-H,0),ve=ce(ie+ge),xe=!E;++Q1?y[$-1]:n,H=$>2?y[2]:n;for(F=u.length>3&&typeof F=="function"?($--,F):n,H&&rr(y[0],y[1],H)&&(F=$<3?n:F,$=1),f=Tt(f);++E<$;){var Q=y[E];Q&&u(f,Q,E,F)}return f})}function Yr(u,f){return function(y,E){if(y==null)return y;if(!Jr(y))return u(y,E);for(var $=y.length,F=f?$:-1,H=Tt(y);(f?F--:++F<$)&&E(H[F],F,H)!==!1;);return y}}function Sc(u){return function(f,y,E){for(var $=-1,F=Tt(f),H=E(f),Q=H.length;Q--;){var ie=H[u?Q:++$];if(y(F[ie],ie,F)===!1)break}return f}}function kc(u,f,y){var E=f&_,$=Nl(u);function F(){var H=this&&this!==Vt&&this instanceof F?$:u;return H.apply(E?y:this,arguments)}return F}function Ld(u){return function(f){f=_t(f);var y=ml(f)?Cr(f):n,E=y?y[0]:f.charAt(0),$=y?vo(y,1).join(""):f.slice(1);return E[u]()+$}}function Ds(u){return function(f){return td(qw(Gw(f).replace(jv,"")),u,"")}}function Nl(u){return function(){var f=arguments;switch(f.length){case 0:return new u;case 1:return new u(f[0]);case 2:return new u(f[0],f[1]);case 3:return new u(f[0],f[1],f[2]);case 4:return new u(f[0],f[1],f[2],f[3]);case 5:return new u(f[0],f[1],f[2],f[3],f[4]);case 6:return new u(f[0],f[1],f[2],f[3],f[4],f[5]);case 7:return new u(f[0],f[1],f[2],f[3],f[4],f[5],f[6])}var y=Cl(u.prototype),E=u.apply(y,f);return sn(E)?E:y}}function Md(u,f,y){var E=Nl(u);function $(){for(var F=arguments.length,H=ce(F),Q=F,ie=yo($);Q--;)H[Q]=arguments[Q];var ge=F<3&&H[0]!==ie&&H[F-1]!==ie?[]:jr(H,ie);if(F-=ge.length,F-1?$[F?f[H]:H]:n}}function Cc(u){return Ki(function(f){var y=f.length,E=y,$=Bn.prototype.thru;for(u&&f.reverse();E--;){var F=f[E];if(typeof F!="function")throw new Br(l);if($&&!H&&Ol(F)=="wrapper")var H=new Bn([],!0)}for(E=H?E:y;++E1&&vt.reverse(),ve&&ieQ))return!1;var ge=F.get(u),ve=F.get(f);if(ge&&ve)return ge==f&&ve==u;var xe=-1,_e=!0,Ve=y&P?new Ps:n;for(F.set(u,f),F.set(f,u);++xe1?"& ":"")+f[E],f=f.join(y>2?", ":" "),u.replace(ol,`{ -/* [wrapped with `+f+`] */ -`)}function $c(u){return ot(u)||tu(u)||!!(sm&&u&&u[sm])}function Kt(u,f){var y=typeof u;return f=f??W,!!f&&(y=="number"||y!="symbol"&&$h.test(u))&&u>-1&&u%1==0&&u0){if(++f>=Y)return arguments[0]}else f=0;return u.apply(n,arguments)}}function Rc(u,f){var y=-1,E=u.length,$=E-1;for(f=f===n?E:f;++y1?u[f-1]:n;return y=typeof y=="function"?(u.pop(),y):n,Yt(u,y)});function Bc(u){var f=D(u);return f.__chain__=!0,f}function vy(u,f){return f(u),u}function bi(u,f){return f(u)}var Vc=Ki(function(u){var f=u.length,y=f?u[0]:0,E=this.__wrapped__,$=function(F){return lc(F,u)};return f>1||this.__actions__.length||!(E instanceof it)||!Kt(y)?this.thru($):(E=E.slice(y,+y+(f?1:0)),E.__actions__.push({func:bi,args:[$],thisArg:n}),new Bn(E,this.__chain__).thru(function(F){return f&&!F.length&&F.push(n),F}))});function Bs(){return Bc(this)}function Uc(){return new Bn(this.value(),this.__chain__)}function rp(){this.__values__===n&&(this.__values__=Ow(this.value()));var u=this.__index__>=this.__values__.length,f=u?n:this.__values__[this.__index__++];return{done:u,value:f}}function ip(){return this}function yy(u){for(var f,y=this;y instanceof Mi;){var E=Fm(y);E.__index__=0,E.__values__=n,f?$.__wrapped__=E:f=E;var $=E;y=y.__wrapped__}return $.__wrapped__=u,f}function op(){var u=this.__wrapped__;if(u instanceof it){var f=u;return this.__actions__.length&&(f=new it(this)),f=f.reverse(),f.__actions__.push({func:bi,args:[Oc],thisArg:n}),new Bn(f,this.__chain__)}return this.thru(Oc)}function by(){return Ll(this.__wrapped__,this.__actions__)}var Hm=wc(function(u,f,y){wt.call(u,y)?++u[y]:Fi(u,y,1)});function Gm(u,f,y){var E=ot(u)?Zf:Ia;return y&&rr(u,f,y)&&(f=n),E(u,Ge(f,3))}function Kc(u,f){var y=ot(u)?No:vd;return y(u,Ge(f,3))}var Wc=Ns(Qo),qm=Ns(Ya);function sp(u,f){return Zt(Vs(u,f),1)}function xy(u,f){return Zt(Vs(u,f),q)}function Ym(u,f,y){return y=y===n?1:at(y),Zt(Vs(u,f),y)}function Hc(u,f){var y=ot(u)?zn:zi;return y(u,Ge(f,3))}function Za(u,f){var y=ot(u)?zu:gm;return y(u,Ge(f,3))}var lp=wc(function(u,f,y){wt.call(u,y)?u[y].push(f):Fi(u,y,[f])});function Gc(u,f,y,E){u=Jr(u)?u:Xc(u),y=y&&!E?at(y):0;var $=u.length;return y<0&&(y=cn($+y,0)),Jm(u)?y<=$&&u.indexOf(f,y)>-1:!!$&&pl(u,f,y)>-1}var Xm=lt(function(u,f,y){var E=-1,$=typeof f=="function",F=Jr(u)?ce(u.length):[];return zi(u,function(H){F[++E]=$?Zn(f,H,y):Hr(H,f,y)}),F}),wy=wc(function(u,f,y){Fi(u,y,f)});function Vs(u,f){var y=ot(u)?$t:wd;return y(u,Ge(f,3))}function Sy(u,f,y,E){return u==null?[]:(ot(f)||(f=f==null?[]:[f]),y=E?n:y,ot(y)||(y=y==null?[]:[y]),Ma(u,f,y))}var eu=wc(function(u,f,y){u[y?0:1].push(f)},function(){return[[],[]]});function ky(u,f,y){var E=ot(u)?td:qh,$=arguments.length<3;return E(u,Ge(f,4),y,$,zi)}function qc(u,f,y){var E=ot(u)?Wv:qh,$=arguments.length<3;return E(u,Ge(f,4),y,$,gm)}function o(u,f){var y=ot(u)?No:vd;return y(u,Ce(Ge(f,3)))}function a(u){var f=ot(u)?Ni:Wn;return f(u)}function p(u,f,y){(y?rr(u,f,y):f===n)?f=1:f=at(f);var E=ot(u)?_s:Cd;return E(u,f)}function v(u){var f=ot(u)?hm:qr;return f(u)}function w(u){if(u==null)return 0;if(Jr(u))return Jm(u)?Ss(u):u.length;var f=Dn(u);return f==bt||f==Lt?u.size:mo(u).length}function C(u,f,y){var E=ot(u)?nd:Ed;return y&&rr(u,f,y)&&(f=n),E(u,Ge(f,3))}var I=lt(function(u,f){if(u==null)return[];var y=f.length;return y>1&&rr(u,f[0],f[1])?f=[]:y>2&&rr(f[0],f[1],f[2])&&(f=[f[0]]),Ma(u,Zt(f,1),[])}),U=Dt||function(){return Vt.Date.now()};function X(u,f){if(typeof f!="function")throw new Br(l);return u=at(u),function(){if(--u<1)return f.apply(this,arguments)}}function de(u,f,y){return f=y?n:f,f=u&&f==null?u.length:f,Ui(u,J,n,n,n,n,f)}function be(u,f){var y;if(typeof f!="function")throw new Br(l);return u=at(u),function(){return--u>0&&(y=f.apply(this,arguments)),u<=1&&(f=n),y}}var Se=lt(function(u,f,y){var E=_;if(y.length){var $=jr(y,yo(Se));E|=K}return Ui(u,E,f,y,$)}),ye=lt(function(u,f,y){var E=_|T;if(y.length){var $=jr(y,yo(ye));E|=K}return Ui(f,E,u,y,$)});function Ae(u,f,y){f=y?n:f;var E=Ui(u,L,n,n,n,n,n,f);return E.placeholder=Ae.placeholder,E}function Le(u,f,y){f=y?n:f;var E=Ui(u,z,n,n,n,n,n,f);return E.placeholder=Le.placeholder,E}function De(u,f,y){var E,$,F,H,Q,ie,ge=0,ve=!1,xe=!1,_e=!0;if(typeof u!="function")throw new Br(l);f=Hi(f)||0,sn(y)&&(ve=!!y.leading,xe="maxWait"in y,F=xe?cn(Hi(y.maxWait)||0,f):F,_e="trailing"in y?!!y.trailing:_e);function Ve(bn){var So=E,Ws=$;return E=$=n,ge=bn,H=u.apply(Ws,So),H}function Qe(bn){return ge=bn,Q=jl(pt,f),ve?Ve(bn):H}function ft(bn){var So=bn-ie,Ws=bn-ge,Qw=f-So;return xe?jn(Qw,F-Ws):Qw}function Je(bn){var So=bn-ie,Ws=bn-ge;return ie===n||So>=f||So<0||xe&&Ws>=F}function pt(){var bn=U();if(Je(bn))return vt(bn);Q=jl(pt,ft(bn))}function vt(bn){return Q=n,_e&&E?Ve(bn):(E=$=n,H)}function wi(){Q!==n&&$d(Q),ge=0,E=ie=$=Q=n}function Ir(){return Q===n?H:vt(U())}function Si(){var bn=U(),So=Je(bn);if(E=arguments,$=this,ie=bn,So){if(Q===n)return Qe(ie);if(xe)return $d(Q),Q=jl(pt,f),Ve(ie)}return Q===n&&(Q=jl(pt,f)),H}return Si.cancel=wi,Si.flush=Ir,Si}var on=lt(function(u,f){return gd(u,1,f)}),le=lt(function(u,f,y){return gd(u,Hi(f)||0,y)});function ee(u){return Ui(u,ae)}function ue(u,f){if(typeof u!="function"||f!=null&&typeof f!="function")throw new Br(l);var y=function(){var E=arguments,$=f?f.apply(this,E):E[0],F=y.cache;if(F.has($))return F.get($);var H=u.apply(this,E);return y.cache=F.set($,H)||F,H};return y.cache=new(ue.Cache||Vr),y}ue.Cache=Vr;function Ce(u){if(typeof u!="function")throw new Br(l);return function(){var f=arguments;switch(f.length){case 0:return!u.call(this);case 1:return!u.call(this,f[0]);case 2:return!u.call(this,f[0],f[1]);case 3:return!u.call(this,f[0],f[1],f[2])}return!u.apply(this,f)}}function ze(u){return be(2,u)}var He=xm(function(u,f){f=f.length==1&&ot(f[0])?$t(f[0],kr(Ge())):$t(Zt(f,1),kr(Ge()));var y=f.length;return lt(function(E){for(var $=-1,F=jn(E.length,y);++$=f}),tu=fc((function(){return arguments})())?fc:function(u){return dn(u)&&wt.call(u,"callee")&&!Yu.call(u,"callee")},ot=ce.isArray,RI=Qf?kr(Qf):ym;function Jr(u){return u!=null&&Qm(u.length)&&!Us(u)}function yn(u){return dn(u)&&Jr(u)}function LI(u){return u===!0||u===!1||dn(u)&&Ln(u)==Oe}var Ul=dd||Dy,MI=fr?kr(fr):ho;function DI(u){return dn(u)&&u.nodeType===1&&!ap(u)}function NI(u){if(u==null)return!0;if(Jr(u)&&(ot(u)||typeof u=="string"||typeof u.splice=="function"||Ul(u)||Yc(u)||tu(u)))return!u.length;var f=Dn(u);if(f==bt||f==Lt)return!u.size;if(bo(u))return!mo(u).length;for(var y in u)if(wt.call(u,y))return!1;return!0}function FI(u,f){return Gr(u,f)}function OI(u,f,y){y=typeof y=="function"?y:n;var E=y?y(u,f):n;return E===n?Gr(u,f,n,y):!!E}function Ey(u){if(!dn(u))return!1;var f=Ln(u);return f==yt||f==tt||typeof u.message=="string"&&typeof u.name=="string"&&!ap(u)}function zI(u){return typeof u=="number"&&bl(u)}function Us(u){if(!sn(u))return!1;var f=Ln(u);return f==$e||f==Rt||f==je||f==Or}function Mw(u){return typeof u=="number"&&u==at(u)}function Qm(u){return typeof u=="number"&&u>-1&&u%1==0&&u<=W}function sn(u){var f=typeof u;return u!=null&&(f=="object"||f=="function")}function dn(u){return u!=null&&typeof u=="object"}var Dw=ws?kr(ws):bm;function jI(u,f){return u===f||$l(u,f,Ka(f))}function BI(u,f,y){return y=typeof y=="function"?y:n,$l(u,f,Ka(f),y)}function VI(u){return Nw(u)&&u!=+u}function UI(u){if(ay(u))throw new nt(s);return bd(u)}function KI(u){return u===null}function WI(u){return u==null}function Nw(u){return typeof u=="number"||dn(u)&&Ln(u)==Qt}function ap(u){if(!dn(u)||Ln(u)!=st)return!1;var f=fi(u);if(f===null)return!0;var y=wt.call(f,"constructor")&&f.constructor;return typeof y=="function"&&y instanceof y&&ba.call(y)==Gu}var Py=Ou?kr(Ou):Ra;function HI(u){return Mw(u)&&u>=-W&&u<=W}var Fw=dl?kr(dl):ji;function Jm(u){return typeof u=="string"||!ot(u)&&dn(u)&&Ln(u)==jt}function xi(u){return typeof u=="symbol"||dn(u)&&Ln(u)==ur}var Yc=Uh?kr(Uh):La;function GI(u){return u===n}function qI(u){return dn(u)&&Dn(u)==Xn}function YI(u){return dn(u)&&Ln(u)==pe}var XI=Pc(Go),QI=Pc(function(u,f){return u<=f});function Ow(u){if(!u)return[];if(Jr(u))return Jm(u)?Cr(u):tr(u);if(ao&&u[ao])return Qv(u[ao]());var f=Dn(u),y=f==bt?Uu:f==Lt?Oo:Xc;return y(u)}function Ks(u){if(!u)return u===0?u:0;if(u=Hi(u),u===q||u===-q){var f=u<0?-1:1;return f*se}return u===u?u:0}function at(u){var f=Ks(u),y=f%1;return f===f?y?f-y:f:0}function zw(u){return u?co(at(u),0,V):0}function Hi(u){if(typeof u=="number")return u;if(xi(u))return R;if(sn(u)){var f=typeof u.valueOf=="function"?u.valueOf():u;u=sn(f)?f+"":f}if(typeof u!="string")return u===0?u:+u;u=Yh(u);var y=Dv.test(u);return y||_h.test(u)?Nu(u.slice(2),y?2:8):Ph.test(u)?R:+u}function jw(u){return pi(u,Zr(u))}function JI(u){return u?co(at(u),-W,W):u===0?u:0}function _t(u){return u==null?"":gr(u)}var ZI=Dl(function(u,f){if(bo(f)||Jr(f)){pi(f,Gn(f),u);return}for(var y in f)wt.call(f,y)&&$s(u,y,f[y])}),Bw=Dl(function(u,f){pi(f,Zr(f),u)}),Zm=Dl(function(u,f,y,E){pi(f,Zr(f),u,E)}),eA=Dl(function(u,f,y,E){pi(f,Gn(f),u,E)}),tA=Ki(lc);function nA(u,f){var y=Cl(u);return f==null?y:Ft(y,f)}var rA=lt(function(u,f){u=Tt(u);var y=-1,E=f.length,$=E>2?f[2]:n;for($&&rr(f[0],f[1],$)&&(E=1);++y1),F}),pi(u,Va(u),y),E&&(y=mr(y,g|b|x,zd));for(var $=f.length;$--;)vc(y,f[$]);return y});function wA(u,f){return Uw(u,Ce(Ge(f)))}var SA=Ki(function(u,f){return u==null?{}:kd(u,f)});function Uw(u,f){if(u==null)return{};var y=$t(Va(u),function(E){return[E]});return f=Ge(f),qo(u,y,function(E,$){return f(E,$[0])})}function kA(u,f,y){f=Vi(f,u);var E=-1,$=f.length;for($||($=1,u=n);++E<$;){var F=u==null?n:u[vi(f[E])];F===n&&(E=$,F=y),u=Us(F)?F.call(u):F}return u}function CA(u,f,y){return u==null?u:Ms(u,f,y)}function EA(u,f,y,E){return E=typeof E=="function"?E:n,u==null?u:Ms(u,f,y,E)}var Kw=Nd(Gn),Ww=Nd(Zr);function PA(u,f,y){var E=ot(u),$=E||Ul(u)||Yc(u);if(f=Ge(f,4),y==null){var F=u&&u.constructor;$?y=E?new F:[]:sn(u)?y=Us(F)?Cl(fi(u)):{}:y={}}return($?zn:Tr)(u,function(H,Q,ie){return f(y,H,Q,ie)}),y}function TA(u,f){return u==null?!0:vc(u,f)}function _A(u,f,y){return u==null?u:_d(u,f,bc(y))}function $A(u,f,y,E){return E=typeof E=="function"?E:n,u==null?u:_d(u,f,bc(y),E)}function Xc(u){return u==null?[]:va(u,Gn(u))}function IA(u){return u==null?[]:va(u,Zr(u))}function AA(u,f,y){return y===n&&(y=f,f=n),y!==n&&(y=Hi(y),y=y===y?y:0),f!==n&&(f=Hi(f),f=f===f?f:0),co(Hi(u),f,y)}function RA(u,f,y){return f=Ks(f),y===n?(y=f,f=0):y=Ks(y),u=Hi(u),yd(u,f,y)}function LA(u,f,y){if(y&&typeof y!="boolean"&&rr(u,f,y)&&(f=y=n),y===n&&(typeof f=="boolean"?(y=f,f=n):typeof u=="boolean"&&(y=u,u=n)),u===n&&f===n?(u=0,f=1):(u=Ks(u),f===n?(f=u,u=0):f=Ks(f)),u>f){var E=u;u=f,f=E}if(y||u%1||f%1){var $=Ca();return jn(u+$*(f-u+Yf("1e-"+(($+"").length-1))),f)}return Al(u,f)}var MA=Ds(function(u,f,y){return f=f.toLowerCase(),u+(y?Hw(f):f)});function Hw(u){return $y(_t(u).toLowerCase())}function Gw(u){return u=_t(u),u&&u.replace(Ih,Jh).replace(zh,"")}function DA(u,f,y){u=_t(u),f=gr(f);var E=u.length;y=y===n?E:co(at(y),0,E);var $=y;return y-=f.length,y>=0&&u.slice(y,$)==f}function NA(u){return u=_t(u),u&&Tu.test(u)?u.replace(ui,Zh):u}function FA(u){return u=_t(u),u&&Ao.test(u)?u.replace(gs,"\\$&"):u}var OA=Ds(function(u,f,y){return u+(y?"-":"")+f.toLowerCase()}),zA=Ds(function(u,f,y){return u+(y?" ":"")+f.toLowerCase()}),jA=Ld("toLowerCase");function BA(u,f,y){u=_t(u),f=at(f);var E=f?Ss(u):0;if(!f||E>=f)return u;var $=(f-E)/2;return ja(zo($),y)+u+ja(Cs($),y)}function VA(u,f,y){u=_t(u),f=at(f);var E=f?Ss(u):0;return f&&E>>0,y?(u=_t(u),u&&(typeof f=="string"||f!=null&&!Py(f))&&(f=gr(f),!f&&ml(u))?vo(Cr(u),0,y):u.split(f,y)):[]}var YA=Ds(function(u,f,y){return u+(y?" ":"")+$y(f)});function XA(u,f,y){return u=_t(u),y=y==null?0:co(at(y),0,u.length),f=gr(f),u.slice(y,y+f.length)==f}function QA(u,f,y){var E=D.templateSettings;y&&rr(u,f,y)&&(f=n),u=_t(u),f=Zm({},f,E,Fd);var $=Zm({},f.imports,E.imports,Fd),F=Gn($),H=va($,F),Q,ie,ge=0,ve=f.interpolate||_u,xe="__p += '",_e=ya((f.escape||_u).source+"|"+ve.source+"|"+(ve===sa?Ye:_u).source+"|"+(f.evaluate||_u).source+"|$","g"),Ve="//# sourceURL="+(wt.call(f,"sourceURL")?(f.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Vv+"]")+` -`;u.replace(_e,function(Je,pt,vt,wi,Ir,Si){return vt||(vt=wi),xe+=u.slice(ge,Si).replace(Nv,em),pt&&(Q=!0,xe+=`' + -__e(`+pt+`) + -'`),Ir&&(ie=!0,xe+=`'; -`+Ir+`; -__p += '`),vt&&(xe+=`' + -((__t = (`+vt+`)) == null ? '' : __t) + -'`),ge=Si+Je.length,Je}),xe+=`'; -`;var Qe=wt.call(f,"variable")&&f.variable;if(!Qe)xe=`with (obj) { -`+xe+` -} -`;else if(Bf.test(Qe))throw new nt(c);xe=(ie?xe.replace(nn,""):xe).replace(il,"$1").replace(ps,"$1;"),xe="function("+(Qe||"obj")+`) { -`+(Qe?"":`obj || (obj = {}); -`)+"var __t, __p = ''"+(Q?", __e = _.escape":"")+(ie?`, __j = Array.prototype.join; -function print() { __p += __j.call(arguments, '') } -`:`; -`)+xe+`return __p -}`;var ft=Yw(function(){return xt(F,Ve+"return "+xe).apply(n,H)});if(ft.source=xe,Ey(ft))throw ft;return ft}function JA(u){return _t(u).toLowerCase()}function ZA(u){return _t(u).toUpperCase()}function eR(u,f,y){if(u=_t(u),u&&(y||f===n))return Yh(u);if(!u||!(f=gr(f)))return u;var E=Cr(u),$=Cr(f),F=Xh(E,$),H=ld(E,$)+1;return vo(E,F,H).join("")}function tR(u,f,y){if(u=_t(u),u&&(y||f===n))return u.slice(0,Wu(u)+1);if(!u||!(f=gr(f)))return u;var E=Cr(u),$=ld(E,Cr(f))+1;return vo(E,0,$).join("")}function nR(u,f,y){if(u=_t(u),u&&(y||f===n))return u.replace(aa,"");if(!u||!(f=gr(f)))return u;var E=Cr(u),$=Xh(E,Cr(f));return vo(E,$).join("")}function rR(u,f){var y=j,E=B;if(sn(f)){var $="separator"in f?f.separator:$;y="length"in f?at(f.length):y,E="omission"in f?gr(f.omission):E}u=_t(u);var F=u.length;if(ml(u)){var H=Cr(u);F=H.length}if(y>=F)return u;var Q=y-Ss(E);if(Q<1)return E;var ie=H?vo(H,0,Q).join(""):u.slice(0,Q);if($===n)return ie+E;if(H&&(Q+=ie.length-Q),Py($)){if(u.slice(Q).search($)){var ge,ve=ie;for($.global||($=ya($.source,_t(io.exec($))+"g")),$.lastIndex=0;ge=$.exec(ve);)var xe=ge.index;ie=ie.slice(0,xe===n?Q:xe)}}else if(u.indexOf(gr($),Q)!=Q){var _e=ie.lastIndexOf($);_e>-1&&(ie=ie.slice(0,_e))}return ie+E}function iR(u){return u=_t(u),u&&oa.test(u)?u.replace(ai,tm):u}var oR=Ds(function(u,f,y){return u+(y?" ":"")+f.toUpperCase()}),$y=Ld("toUpperCase");function qw(u,f,y){return u=_t(u),f=y?n:f,f===n?Xv(u)?ey(u):Gv(u):u.match(f)||[]}var Yw=lt(function(u,f){try{return Zn(u,n,f)}catch(y){return Ey(y)?y:new nt(y)}}),sR=Ki(function(u,f){return zn(f,function(y){y=vi(y),Fi(u,y,Se(u[y],u))}),u});function lR(u){var f=u==null?0:u.length,y=Ge();return u=f?$t(u,function(E){if(typeof E[1]!="function")throw new Br(l);return[y(E[0]),E[1]]}):[],lt(function(E){for(var $=-1;++$W)return[];var y=V,E=jn(u,V);f=Ge(f),u-=V;for(var $=sd(E,f);++y0||f<0)?new it(y):(u<0?y=y.takeRight(-u):u&&(y=y.drop(u)),f!==n&&(f=at(f),y=f<0?y.dropRight(-f):y.take(f-u)),y)},it.prototype.takeRightWhile=function(u){return this.reverse().takeWhile(u).reverse()},it.prototype.toArray=function(){return this.take(V)},Tr(it.prototype,function(u,f){var y=/^(?:filter|find|map|reject)|While$/.test(f),E=/^(?:head|last)$/.test(f),$=D[E?"take"+(f=="last"?"Right":""):f],F=E||/^find/.test(f);$&&(D.prototype[f]=function(){var H=this.__wrapped__,Q=E?[1]:arguments,ie=H instanceof it,ge=Q[0],ve=ie||ot(H),xe=function(pt){var vt=$.apply(D,Fo([pt],Q));return E&&_e?vt[0]:vt};ve&&y&&typeof ge=="function"&&ge.length!=1&&(ie=ve=!1);var _e=this.__chain__,Ve=!!this.__actions__.length,Qe=F&&!_e,ft=ie&&!Ve;if(!F&&ve){H=ft?H:new it(this);var Je=u.apply(H,Q);return Je.__actions__.push({func:bi,args:[xe],thisArg:n}),new Bn(Je,_e)}return Qe&&ft?u.apply(this,Q):(Je=this.thru(xe),Qe?E?Je.value()[0]:Je.value():Je)})}),zn(["pop","push","shift","sort","splice","unshift"],function(u){var f=so[u],y=/^(?:push|sort|unshift)$/.test(u)?"tap":"thru",E=/^(?:pop|shift)$/.test(u);D.prototype[u]=function(){var $=arguments;if(E&&!this.__chain__){var F=this.value();return f.apply(ot(F)?F:[],$)}return this[y](function(H){return f.apply(ot(H)?H:[],$)})}}),Tr(it.prototype,function(u,f){var y=D[f];if(y){var E=y.name+"";wt.call(Sl,E)||(Sl[E]=[]),Sl[E].push({name:f,func:y})}}),Sl[Fl(n,T).name]=[{name:"wrapper",func:n}],it.prototype.clone=nc,it.prototype.reverse=hd,it.prototype.value=El,D.prototype.at=Vc,D.prototype.chain=Bs,D.prototype.commit=Uc,D.prototype.next=rp,D.prototype.plant=yy,D.prototype.reverse=op,D.prototype.toJSON=D.prototype.valueOf=D.prototype.value=by,D.prototype.first=D.prototype.head,ao&&(D.prototype[ao]=ip),D}),gl=ty();Ai?((Ai.exports=gl)._=gl,ga._=gl):Vt._=gl}).call(N8)})(Ip,Ip.exports)),Ip.exports}var C2=F8();class O8{plugins={};activePlugins=[];slotFillers=new Map;listeners=new Set;slotFillersCache=new Map;hasSlotFillersCache=new Map;register(t){this.plugins[t.name]={isActivated:!1,config:t},this.notify()}activate(t){const n=this.plugins[t];if(!(!n||n.isActivated)){if(n.isActivated=!0,n.config.slots)for(const r of n.config.slots)this.registerSlot(t,r);n.config.onActivate&&n.config.onActivate(),this.produceActivePlugins(),this.notify()}}deactivate(t){const n=this.plugins[t];!n||!n.isActivated||(n.isActivated=!1,this.unregisterPluginSlots(t),n.config.onDeactivate&&n.config.onDeactivate(),this.produceActivePlugins(),this.notify())}isPluginActivated(t){const n=this.plugins[t];return!!n&&n.isActivated}getPlugin(t){const n=this.plugins[t];return!n||!n.isActivated?null:n}getActivePlugins(){return this.activePlugins}getSlotFillers(t){const n=this.slotFillers.get(t)??[],r=this.slotFillersCache.get(t);return r&&r.length===n.length&&r.every((i,s)=>i===n[s])?r:(this.slotFillersCache.set(t,n),n)}hasSlotFillers(t){const n=(this.slotFillers.get(t)?.length??0)>0,r=this.hasSlotFillersCache.get(t);return r===n?r:(this.hasSlotFillersCache.set(t,n),n)}subscribe(t){return this.listeners.add(t),()=>this.listeners.delete(t)}registerSlot(t,n){const r=this.slotFillers.get(n.slot)??[],i={slot:n.slot,component:n.component,priority:n.priority,condition:n.condition,pluginName:t};r.push(i),r.sort((s,l)=>(l.priority??0)-(s.priority??0)),this.slotFillers.set(n.slot,r)}unregisterPluginSlots(t){for(const[n,r]of this.slotFillers.entries()){const i=r.filter(s=>s.pluginName!==t);this.slotFillers.set(n,i)}}notify(){this.listeners.forEach(t=>t())}produceActivePlugins(){this.activePlugins=C2.transform(this.plugins,(t,n)=>{n.isActivated&&t.push(n.config)},[])}}const Ot=new O8;function Eu(e,t,n,r){return{slot:e,component:t,priority:n,condition:r}}const Jk=S.lazy(()=>Fr(()=>import("./FeedbackForm-Vbmy7JJP.js"),__vite__mapDeps([0,1,2,3,4,5,6]))),E2="FeedbackFormPlugin",z8={name:E2,components:{FeedbackForm:Jk},slots:[Eu("message.actions",Jk,5)]},Zk=S.lazy(()=>Fr(()=>import("./ChatOptionsForm-BEC_XLbA.js"),__vite__mapDeps([7,1,2,3,4,5,6]))),P2="ChatOptionsPlugin",j8={name:P2,components:{ChatOptionsForm:Zk},slots:[Eu("prompt.beforeSend",Zk,10)]},B8={config:{feedback:{like:{enabled:!1,form:null},dislike:{enabled:!1,form:null}},user_settings:{form:null},conversation_history:!1,authentication:{enabled:!1,auth_types:[],oauth2_providers:[]},show_usage:!1,debug_mode:!1,customization:null,supports_upload:!1}},bh=()=>S.useContext(T2)??B8,T2=S.createContext(void 0),V8="🐰",U8="Ragbits Chat",K8="by deepsense.ai",W8="Loading...",H8="";function _2(){return N.jsx("div",{className:In("bg-background flex h-screen w-screen items-start justify-center"),children:N.jsxs("div",{className:"text-default-900 m-auto flex flex-col items-center gap-4",children:[N.jsx(U6,{size:"lg","aria-label":"Progress indicator"}),N.jsx("p",{children:"Initializing..."})]})})}function G8(){return N.jsx("div",{className:In("bg-background flex h-screen w-screen items-start justify-center"),children:N.jsxs("div",{className:"text-default-900 m-auto flex flex-col items-center gap-4",children:[N.jsx("p",{className:"text-large",children:"Something went wrong during chat initialization."}),N.jsx("p",{className:"text-small text-default-500",children:"Try refreshing the page."})]})})}function q8({children:e}){const{call:t,...n}=Rz("/api/config"),r=S.useMemo(()=>n.data?{config:n.data}:null,[n.data]);return!n.data&&!n.error&&!n.isLoading&&t(),S.useEffect(()=>{document.title=W8},[]),n.isLoading?N.jsx(_2,{}):n.error||!r?N.jsx(G8,{}):N.jsx(T2.Provider,{value:r,children:e})}const eC=S.lazy(()=>Fr(()=>import("./ShareButton-DgsQmHSv.js"),__vite__mapDeps([8,6]))),$2="SharePluginName",Y8={name:$2,components:{ShareButton:eC},slots:[Eu("layout.headerActions",eC,5)]};var tC="popstate";function X8(e={}){function t(r,i){let{pathname:s,search:l,hash:c}=r.location;return Mb("",{pathname:s,search:l,hash:c},i.state&&i.state.usr||null,i.state&&i.state.key||"default")}function n(r,i){return typeof i=="string"?i:sh(i)}return J8(t,n,null,e)}function An(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function $o(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function Q8(){return Math.random().toString(36).substring(2,10)}function nC(e,t){return{usr:e.state,key:e.key,idx:t}}function Mb(e,t,n=null,r){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof t=="string"?xh(t):t,state:n,key:t&&t.key||r||Q8()}}function sh({pathname:e="/",search:t="",hash:n=""}){return t&&t!=="?"&&(e+=t.charAt(0)==="?"?t:"?"+t),n&&n!=="#"&&(e+=n.charAt(0)==="#"?n:"#"+n),e}function xh(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function J8(e,t,n,r={}){let{window:i=document.defaultView,v5Compat:s=!1}=r,l=i.history,c="POP",d=null,h=m();h==null&&(h=0,l.replaceState({...l.state,idx:h},""));function m(){return(l.state||{idx:null}).idx}function g(){c="POP";let _=m(),T=_==null?null:_-h;h=_,d&&d({action:c,location:P.location,delta:T})}function b(_,T){c="PUSH";let A=Mb(P.location,_,T);h=m()+1;let L=nC(A,h),z=P.createHref(A);try{l.pushState(L,"",z)}catch(K){if(K instanceof DOMException&&K.name==="DataCloneError")throw K;i.location.assign(z)}s&&d&&d({action:c,location:P.location,delta:1})}function x(_,T){c="REPLACE";let A=Mb(P.location,_,T);h=m();let L=nC(A,h),z=P.createHref(A);l.replaceState(L,"",z),s&&d&&d({action:c,location:P.location,delta:0})}function k(_){return Z8(_)}let P={get action(){return c},get location(){return e(i,l)},listen(_){if(d)throw new Error("A history only accepts one active listener");return i.addEventListener(tC,g),d=_,()=>{i.removeEventListener(tC,g),d=null}},createHref(_){return t(i,_)},createURL:k,encodeLocation(_){let T=k(_);return{pathname:T.pathname,search:T.search,hash:T.hash}},push:b,replace:x,go(_){return l.go(_)}};return P}function Z8(e,t=!1){let n="http://localhost";typeof window<"u"&&(n=window.location.origin!=="null"?window.location.origin:window.location.href),An(n,"No window.location.(origin|href) available to create URL");let r=typeof e=="string"?e:sh(e);return r=r.replace(/ $/,"%20"),!t&&r.startsWith("//")&&(r=n+r),new URL(r,n)}function I2(e,t,n="/"){return e7(e,t,n,!1)}function e7(e,t,n,r){let i=typeof t=="string"?xh(t):t,s=el(i.pathname||"/",n);if(s==null)return null;let l=A2(e);t7(l);let c=null;for(let d=0;c==null&&d{let d={relativePath:c===void 0?s.path||"":c,caseSensitive:s.caseSensitive===!0,childrenIndex:l,route:s};d.relativePath.startsWith("/")&&(An(d.relativePath.startsWith(r),`Absolute route path "${d.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),d.relativePath=d.relativePath.slice(r.length));let h=Qs([r,d.relativePath]),m=n.concat(d);s.children&&s.children.length>0&&(An(s.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${h}".`),A2(s.children,t,m,h)),!(s.path==null&&!s.index)&&t.push({path:h,score:a7(h,s.index),routesMeta:m})};return e.forEach((s,l)=>{if(s.path===""||!s.path?.includes("?"))i(s,l);else for(let c of R2(s.path))i(s,l,c)}),t}function R2(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,i=n.endsWith("?"),s=n.replace(/\?$/,"");if(r.length===0)return i?[s,""]:[s];let l=R2(r.join("/")),c=[];return c.push(...l.map(d=>d===""?s:[s,d].join("/"))),i&&c.push(...l),c.map(d=>e.startsWith("/")&&d===""?"/":d)}function t7(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:u7(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}var n7=/^:[\w-]+$/,r7=3,i7=2,o7=1,s7=10,l7=-2,rC=e=>e==="*";function a7(e,t){let n=e.split("/"),r=n.length;return n.some(rC)&&(r+=l7),t&&(r+=i7),n.filter(i=>!rC(i)).reduce((i,s)=>i+(n7.test(s)?r7:s===""?o7:s7),r)}function u7(e,t){return e.length===t.length&&e.slice(0,-1).every((r,i)=>r===t[i])?e[e.length-1]-t[t.length-1]:0}function c7(e,t,n=!1){let{routesMeta:r}=e,i={},s="/",l=[];for(let c=0;c{if(m==="*"){let k=c[b]||"";l=s.slice(0,s.length-k.length).replace(/(.)\/+$/,"$1")}const x=c[b];return g&&!x?h[m]=void 0:h[m]=(x||"").replace(/%2F/g,"/"),h},{}),pathname:s,pathnameBase:l,pattern:e}}function f7(e,t=!1,n=!0){$o(e==="*"||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let r=[],i="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(l,c,d)=>(r.push({paramName:c,isOptional:d!=null}),d?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),i+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?i+="\\/*$":e!==""&&e!=="/"&&(i+="(?:(?=\\/|$))"),[new RegExp(i,t?void 0:"i"),r]}function d7(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return $o(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function el(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}function p7(e,t="/"){let{pathname:n,search:r="",hash:i=""}=typeof e=="string"?xh(e):e;return{pathname:n?n.startsWith("/")?n:h7(n,t):t,search:v7(r),hash:y7(i)}}function h7(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(i=>{i===".."?n.length>1&&n.pop():i!=="."&&n.push(i)}),n.length>1?n.join("/"):"/"}function y0(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function m7(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function rw(e){let t=m7(e);return t.map((n,r)=>r===t.length-1?n.pathname:n.pathnameBase)}function iw(e,t,n,r=!1){let i;typeof e=="string"?i=xh(e):(i={...e},An(!i.pathname||!i.pathname.includes("?"),y0("?","pathname","search",i)),An(!i.pathname||!i.pathname.includes("#"),y0("#","pathname","hash",i)),An(!i.search||!i.search.includes("#"),y0("#","search","hash",i)));let s=e===""||i.pathname==="",l=s?"/":i.pathname,c;if(l==null)c=n;else{let g=t.length-1;if(!r&&l.startsWith("..")){let b=l.split("/");for(;b[0]==="..";)b.shift(),g-=1;i.pathname=b.join("/")}c=g>=0?t[g]:"/"}let d=p7(i,c),h=l&&l!=="/"&&l.endsWith("/"),m=(s||l===".")&&n.endsWith("/");return!d.pathname.endsWith("/")&&(h||m)&&(d.pathname+="/"),d}var Qs=e=>e.join("/").replace(/\/\/+/g,"/"),g7=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),v7=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,y7=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function b7(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}var L2=["POST","PUT","PATCH","DELETE"];new Set(L2);var x7=["GET",...L2];new Set(x7);var Nf=S.createContext(null);Nf.displayName="DataRouter";var wv=S.createContext(null);wv.displayName="DataRouterState";S.createContext(!1);var M2=S.createContext({isTransitioning:!1});M2.displayName="ViewTransition";var w7=S.createContext(new Map);w7.displayName="Fetchers";var S7=S.createContext(null);S7.displayName="Await";var Io=S.createContext(null);Io.displayName="Navigation";var Sv=S.createContext(null);Sv.displayName="Location";var no=S.createContext({outlet:null,matches:[],isDataRoute:!1});no.displayName="Route";var ow=S.createContext(null);ow.displayName="RouteError";function k7(e,{relative:t}={}){An(Ff(),"useHref() may be used only in the context of a component.");let{basename:n,navigator:r}=S.useContext(Io),{hash:i,pathname:s,search:l}=wh(e,{relative:t}),c=s;return n!=="/"&&(c=s==="/"?n:Qs([n,s])),r.createHref({pathname:c,search:l,hash:i})}function Ff(){return S.useContext(Sv)!=null}function na(){return An(Ff(),"useLocation() may be used only in the context of a component."),S.useContext(Sv).location}var D2="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function N2(e){S.useContext(Io).static||S.useLayoutEffect(e)}function sw(){let{isDataRoute:e}=S.useContext(no);return e?O7():C7()}function C7(){An(Ff(),"useNavigate() may be used only in the context of a component.");let e=S.useContext(Nf),{basename:t,navigator:n}=S.useContext(Io),{matches:r}=S.useContext(no),{pathname:i}=na(),s=JSON.stringify(rw(r)),l=S.useRef(!1);return N2(()=>{l.current=!0}),S.useCallback((d,h={})=>{if($o(l.current,D2),!l.current)return;if(typeof d=="number"){n.go(d);return}let m=iw(d,JSON.parse(s),i,h.relative==="path");e==null&&t!=="/"&&(m.pathname=m.pathname==="/"?t:Qs([t,m.pathname])),(h.replace?n.replace:n.push)(m,h.state,h)},[t,n,s,i,e])}var E7=S.createContext(null);function P7(e){let t=S.useContext(no).outlet;return t&&S.createElement(E7.Provider,{value:e},t)}function F2(){let{matches:e}=S.useContext(no),t=e[e.length-1];return t?t.params:{}}function wh(e,{relative:t}={}){let{matches:n}=S.useContext(no),{pathname:r}=na(),i=JSON.stringify(rw(n));return S.useMemo(()=>iw(e,JSON.parse(i),r,t==="path"),[e,i,r,t])}function T7(e,t){return O2(e)}function O2(e,t,n,r){An(Ff(),"useRoutes() may be used only in the context of a component.");let{navigator:i}=S.useContext(Io),{matches:s}=S.useContext(no),l=s[s.length-1],c=l?l.params:{},d=l?l.pathname:"/",h=l?l.pathnameBase:"/",m=l&&l.route;{let T=m&&m.path||"";z2(d,!m||T.endsWith("*")||T.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${d}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. - -Please change the parent to .`)}let g=na(),b;b=g;let x=b.pathname||"/",k=x;if(h!=="/"){let T=h.replace(/^\//,"").split("/");k="/"+x.replace(/^\//,"").split("/").slice(T.length).join("/")}let P=I2(e,{pathname:k});return $o(m||P!=null,`No routes matched location "${b.pathname}${b.search}${b.hash}" `),$o(P==null||P[P.length-1].route.element!==void 0||P[P.length-1].route.Component!==void 0||P[P.length-1].route.lazy!==void 0,`Matched leaf route at location "${b.pathname}${b.search}${b.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`),R7(P&&P.map(T=>Object.assign({},T,{params:Object.assign({},c,T.params),pathname:Qs([h,i.encodeLocation?i.encodeLocation(T.pathname).pathname:T.pathname]),pathnameBase:T.pathnameBase==="/"?h:Qs([h,i.encodeLocation?i.encodeLocation(T.pathnameBase).pathname:T.pathnameBase])})),s,n,r)}function _7(){let e=F7(),t=b7(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r="rgba(200,200,200, 0.5)",i={padding:"0.5rem",backgroundColor:r},s={padding:"2px 4px",backgroundColor:r},l=null;return console.error("Error handled by React Router default ErrorBoundary:",e),l=S.createElement(S.Fragment,null,S.createElement("p",null,"💿 Hey developer 👋"),S.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",S.createElement("code",{style:s},"ErrorBoundary")," or"," ",S.createElement("code",{style:s},"errorElement")," prop on your route.")),S.createElement(S.Fragment,null,S.createElement("h2",null,"Unexpected Application Error!"),S.createElement("h3",{style:{fontStyle:"italic"}},t),n?S.createElement("pre",{style:i},n):null,l)}var $7=S.createElement(_7,null),I7=class extends S.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return this.state.error!==void 0?S.createElement(no.Provider,{value:this.props.routeContext},S.createElement(ow.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function A7({routeContext:e,match:t,children:n}){let r=S.useContext(Nf);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),S.createElement(no.Provider,{value:e},n)}function R7(e,t=[],n=null,r=null){if(e==null){if(!n)return null;if(n.errors)e=n.matches;else if(t.length===0&&!n.initialized&&n.matches.length>0)e=n.matches;else return null}let i=e,s=n?.errors;if(s!=null){let d=i.findIndex(h=>h.route.id&&s?.[h.route.id]!==void 0);An(d>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(s).join(",")}`),i=i.slice(0,Math.min(i.length,d+1))}let l=!1,c=-1;if(n)for(let d=0;d=0?i=i.slice(0,c+1):i=[i[0]];break}}}return i.reduceRight((d,h,m)=>{let g,b=!1,x=null,k=null;n&&(g=s&&h.route.id?s[h.route.id]:void 0,x=h.route.errorElement||$7,l&&(c<0&&m===0?(z2("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),b=!0,k=null):c===m&&(b=!0,k=h.route.hydrateFallbackElement||null)));let P=t.concat(i.slice(0,m+1)),_=()=>{let T;return g?T=x:b?T=k:h.route.Component?T=S.createElement(h.route.Component,null):h.route.element?T=h.route.element:T=d,S.createElement(A7,{match:h,routeContext:{outlet:d,matches:P,isDataRoute:n!=null},children:T})};return n&&(h.route.ErrorBoundary||h.route.errorElement||m===0)?S.createElement(I7,{location:n.location,revalidation:n.revalidation,component:x,error:g,children:_(),routeContext:{outlet:null,matches:P,isDataRoute:!0}}):_()},null)}function lw(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function L7(e){let t=S.useContext(Nf);return An(t,lw(e)),t}function M7(e){let t=S.useContext(wv);return An(t,lw(e)),t}function D7(e){let t=S.useContext(no);return An(t,lw(e)),t}function aw(e){let t=D7(e),n=t.matches[t.matches.length-1];return An(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function N7(){return aw("useRouteId")}function F7(){let e=S.useContext(ow),t=M7("useRouteError"),n=aw("useRouteError");return e!==void 0?e:t.errors?.[n]}function O7(){let{router:e}=L7("useNavigate"),t=aw("useNavigate"),n=S.useRef(!1);return N2(()=>{n.current=!0}),S.useCallback(async(i,s={})=>{$o(n.current,D2),n.current&&(typeof i=="number"?e.navigate(i):await e.navigate(i,{fromRouteId:t,...s}))},[e,t])}var iC={};function z2(e,t,n){!t&&!iC[e]&&(iC[e]=!0,$o(!1,n))}S.memo(z7);function z7({routes:e,future:t,state:n}){return O2(e,void 0,n,t)}function HG({to:e,replace:t,state:n,relative:r}){An(Ff()," may be used only in the context of a component.");let{static:i}=S.useContext(Io);$o(!i," must not be used on the initial render in a . This is a no-op, but you should modify your code so the is only ever rendered in response to some user interaction or state change.");let{matches:s}=S.useContext(no),{pathname:l}=na(),c=sw(),d=iw(e,rw(s),l,r==="path"),h=JSON.stringify(d);return S.useEffect(()=>{c(JSON.parse(h),{replace:t,state:n,relative:r})},[c,h,r,t,n]),null}function j7(e){return P7(e.context)}function B7({basename:e="/",children:t=null,location:n,navigationType:r="POP",navigator:i,static:s=!1}){An(!Ff(),"You cannot render a inside another . You should never have more than one in your app.");let l=e.replace(/^\/*/,"/"),c=S.useMemo(()=>({basename:l,navigator:i,static:s,future:{}}),[l,i,s]);typeof n=="string"&&(n=xh(n));let{pathname:d="/",search:h="",hash:m="",state:g=null,key:b="default"}=n,x=S.useMemo(()=>{let k=el(d,l);return k==null?null:{location:{pathname:k,search:h,hash:m,state:g,key:b},navigationType:r}},[l,d,h,m,g,b,r]);return $o(x!=null,` is not able to match the URL "${d}${h}${m}" because it does not start with the basename, so the won't render anything.`),x==null?null:S.createElement(Io.Provider,{value:c},S.createElement(Sv.Provider,{children:t,value:x}))}var Rg="get",Lg="application/x-www-form-urlencoded";function kv(e){return e!=null&&typeof e.tagName=="string"}function V7(e){return kv(e)&&e.tagName.toLowerCase()==="button"}function U7(e){return kv(e)&&e.tagName.toLowerCase()==="form"}function K7(e){return kv(e)&&e.tagName.toLowerCase()==="input"}function W7(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function H7(e,t){return e.button===0&&(!t||t==="_self")&&!W7(e)}var vg=null;function G7(){if(vg===null)try{new FormData(document.createElement("form"),0),vg=!1}catch{vg=!0}return vg}var q7=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function b0(e){return e!=null&&!q7.has(e)?($o(!1,`"${e}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${Lg}"`),null):e}function Y7(e,t){let n,r,i,s,l;if(U7(e)){let c=e.getAttribute("action");r=c?el(c,t):null,n=e.getAttribute("method")||Rg,i=b0(e.getAttribute("enctype"))||Lg,s=new FormData(e)}else if(V7(e)||K7(e)&&(e.type==="submit"||e.type==="image")){let c=e.form;if(c==null)throw new Error('Cannot submit a + + + )} + + + + ); +}; + +export default ConfirmationDialog; diff --git a/typescript/ui/src/core/components/ChatMessage/ConfirmationDialogs.tsx b/typescript/ui/src/core/components/ChatMessage/ConfirmationDialogs.tsx new file mode 100644 index 000000000..1feb0794d --- /dev/null +++ b/typescript/ui/src/core/components/ChatMessage/ConfirmationDialogs.tsx @@ -0,0 +1,305 @@ +import { Button, Chip, Checkbox } from "@heroui/react"; +import { ConfirmationRequest } from "@ragbits/api-client-react"; +import { useState } from "react"; +import { AnimatePresence, motion } from "framer-motion"; + +type ConfirmationDialogsProps = { + confirmationRequests: Record; + confirmationStates: Record< + string, + "pending" | "confirmed" | "declined" | "skipped" + >; + onConfirm: (confirmationId: string) => void; + onSkip: (confirmationId: string) => void; + onBulkConfirm: (confirmationIds: string[]) => void; + onBulkSkip: (confirmationIds: string[]) => void; + isLoading: boolean; +}; + +const ConfirmationDialogs = ({ + confirmationRequests, + confirmationStates, + onConfirm, + onSkip, + onBulkConfirm, + onBulkSkip, + isLoading, +}: ConfirmationDialogsProps) => { + const [selectedIds, setSelectedIds] = useState>(new Set()); + + // Convert Record to array for easier iteration + const confirmationRequestsArray = Object.values(confirmationRequests); + + // Helper function to format arguments for display + const formatArguments = (args: Record): string => { + const entries = Object.entries(args); + if (entries.length === 0) return ""; + + // Show key arguments in a readable format + return entries + .slice(0, 3) // Show max 3 arguments + .map(([key, value]) => { + const displayValue = + typeof value === "string" + ? value.length > 30 + ? `${value.substring(0, 30)}...` + : value + : JSON.stringify(value); + return `${key}: ${displayValue}`; + }) + .join(", "); + }; + + // Helper function to create a short, readable description + const getShortDescription = (req: ConfirmationRequest): string => { + // If there's a tool description, use it + if (req.tool_description) { + return req.tool_description; + } + + // Otherwise, create a description from the tool name and key arguments + const args = req.arguments; + const toolName = req.tool_name.replace(/_/g, " "); + + // Try to find a meaningful primary argument (email, name, id, etc.) + const primaryArg = + args.email || args.to || args.name || args.id || args.event_id; + + if (primaryArg) { + return `${toolName}: ${primaryArg}`; + } + + return `Execute ${toolName}`; + }; + + const pendingRequests = confirmationRequestsArray.filter( + (req) => confirmationStates[req.confirmation_id] === "pending", + ); + + const hasPending = pendingRequests.length > 0; + const hasSelected = selectedIds.size > 0; + + const handleToggleSelection = (confirmationId: string) => { + setSelectedIds((prev) => { + const newSet = new Set(prev); + if (newSet.has(confirmationId)) { + newSet.delete(confirmationId); + } else { + newSet.add(confirmationId); + } + return newSet; + }); + }; + + const handleConfirmAll = () => { + const pendingIds = pendingRequests.map((req) => req.confirmation_id); + onBulkConfirm(pendingIds); + setSelectedIds(new Set()); + }; + + const handleSkipAll = () => { + const pendingIds = pendingRequests.map((req) => req.confirmation_id); + onBulkSkip(pendingIds); + setSelectedIds(new Set()); + }; + + const handleConfirmSelected = () => { + const selectedArray = Array.from(selectedIds).filter( + (id) => confirmationStates[id] === "pending", + ); + onBulkConfirm(selectedArray); + setSelectedIds(new Set()); + }; + + const handleSingleConfirm = (confirmationId: string) => { + onConfirm(confirmationId); + // Remove from selection if it was selected + setSelectedIds((prev) => { + const newSet = new Set(prev); + newSet.delete(confirmationId); + return newSet; + }); + }; + + const handleSingleSkip = (confirmationId: string) => { + onSkip(confirmationId); + // Remove from selection if it was selected + setSelectedIds((prev) => { + const newSet = new Set(prev); + newSet.delete(confirmationId); + return newSet; + }); + }; + + return ( + + + {/* Status announcement for screen readers */} + {hasPending && ( +
+ {pendingRequests.length} confirmation + {pendingRequests.length > 1 ? "s" : ""} pending +
+ )} + + {/* Bulk action buttons */} + {hasPending && ( +
+ + + {hasSelected && ( + + )} +
+ )} + + {/* List of confirmations */} +
3 ? "max-h-[400px] overflow-y-auto pr-2" : ""}`} + > + {confirmationRequestsArray.map((req) => { + const state = confirmationStates[req.confirmation_id] || "pending"; + const isPending = state === "pending"; + const isSkipped = state === "skipped"; + const shortDescription = getShortDescription(req); + const argsDisplay = formatArguments(req.arguments); + const isSelected = selectedIds.has(req.confirmation_id); + + return ( + + {/* Checkbox for bulk selection - only show for pending */} + {isPending && ( + + handleToggleSelection(req.confirmation_id) + } + size="sm" + className="shrink-0" + isDisabled={isLoading} + /> + )} + +
+
+ {state === "pending" && ( + + ⚠️ Confirmation needed + + )} + {state === "confirmed" && ( + + ✅ Confirmed + + )} + {state === "declined" && ( + + ❌ Declined + + )} + {state === "skipped" && ( + + ⏭️ Handled naturally + + )} +
+

+ {shortDescription} +

+ {argsDisplay && isPending && ( +

+ {argsDisplay} +

+ )} +
+ + {isPending && ( +
+ + +
+ )} +
+ ); + })} +
+
+
+ ); +}; + +export default ConfirmationDialogs; diff --git a/typescript/ui/src/core/components/inputs/PromptInput/PromptInput.tsx b/typescript/ui/src/core/components/inputs/PromptInput/PromptInput.tsx index 6975a1852..67dfc865f 100644 --- a/typescript/ui/src/core/components/inputs/PromptInput/PromptInput.tsx +++ b/typescript/ui/src/core/components/inputs/PromptInput/PromptInput.tsx @@ -31,6 +31,7 @@ export interface PromptInputProps { sendButtonProps?: ButtonProps; customSendIcon?: ReactNode; customStopIcon?: ReactNode; + isDisabled?: boolean; } const PromptInput = ({ @@ -44,6 +45,7 @@ const PromptInput = ({ customSendIcon, customStopIcon, history, + isDisabled = false, }: PromptInputProps) => { const [message, setMessage] = useState(""); const [quickMessages, setQuickMessages] = useState([]); @@ -75,6 +77,7 @@ const PromptInput = ({ const handleSubmit = useCallback( (text?: string) => { if (!message && !text) return; + if (isDisabled) return; // Prevent submission when disabled stopAnswering(); submit(text ?? message); @@ -86,7 +89,7 @@ const PromptInput = ({ setMessage(""); textAreaRef?.current?.focus(); }, - [message, stopAnswering, submit], + [message, stopAnswering, submit, isDisabled], ); const onSubmit = useCallback( @@ -191,7 +194,11 @@ const PromptInput = ({ "!bg-transparent shadow-none group-data-[focus-visible=true]:ring-0 group-data-[focus-visible=true]:ring-offset-0 py-4", }} name="message" - placeholder="Enter a message here" + placeholder={ + isDisabled + ? "Please respond to pending confirmation..." + : "Enter a message here" + } autoFocus maxRows={16} minRows={1} @@ -200,13 +207,14 @@ const PromptInput = ({ onValueChange={handleValueChange} data-testid="prompt-input-input" data-value={message} + isDisabled={isDisabled} {...inputProps} />