diff --git a/build.bat b/build.bat new file mode 100644 index 0000000..dd34cff --- /dev/null +++ b/build.bat @@ -0,0 +1,40 @@ +@echo off +set APP_NAME=FileRelay.exe +set DIST_DIR=dist +set CONFIG_SRC=config\config.yaml +set CONFIG_DEST=%DIST_DIR%\config\config.yaml + +echo 开始构建 %APP_NAME%... + +:: 清理 dist 目录 +if exist "%DIST_DIR%" ( + echo 正在清理 %DIST_DIR% 目录... + rd /s /q "%DIST_DIR%" +) + +:: 创建 dist 目录 +if not exist "%DIST_DIR%\config" ( + mkdir "%DIST_DIR%\config" +) + +:: 编译 Go 二进制文件 +echo 正在编译... +go build -o "%DIST_DIR%\%APP_NAME%" main.go + +if %ERRORLEVEL% equ 0 ( + echo 编译成功! +) else ( + echo 编译失败! + exit /b 1 +) + +:: 复制配置文件 +if exist "%CONFIG_SRC%" ( + echo 正在复制配置文件... + copy "%CONFIG_SRC%" "%CONFIG_DEST%" /Y +) else ( + echo 警告: 未找到源配置文件 %CONFIG_SRC%,跳过复制。 +) + +echo 打包完成!输出目录: %DIST_DIR% +echo 你可以运行 .\%DIST_DIR%\%APP_NAME% 来启动服务。 diff --git a/build.ps1 b/build.ps1 new file mode 100644 index 0000000..9652a7e --- /dev/null +++ b/build.ps1 @@ -0,0 +1,40 @@ +# 设置变量 +$APP_NAME = "FileRelay.exe" +$DIST_DIR = "dist" +$CONFIG_SRC = "config\config.yaml" +$CONFIG_DEST = "$DIST_DIR\config\config.yaml" + +Write-Host "开始构建 $APP_NAME..." -ForegroundColor Cyan + +# 清理 dist 目录 +if (Test-Path $DIST_DIR) { + Write-Host "正在清理 $DIST_DIR 目录..." + Remove-Item -Path $DIST_DIR -Recurse -Force +} + +# 创建 dist 目录 +if (-not (Test-Path "$DIST_DIR\config")) { + New-Item -Path "$DIST_DIR\config" -ItemType Directory -Force | Out-Null +} + +# 编译 Go 二进制文件 +Write-Host "正在编译..." +go build -o "$DIST_DIR\$APP_NAME" main.go + +if ($LASTEXITCODE -eq 0) { + Write-Host "编译成功!" -ForegroundColor Green +} else { + Write-Host "编译失败!" -ForegroundColor Red + exit 1 +} + +# 复制配置文件 +if (Test-Path $CONFIG_SRC) { + Write-Host "正在复制配置文件..." + Copy-Item -Path $CONFIG_SRC -Destination $CONFIG_DEST -Force +} else { + Write-Host "警告: 未找到源配置文件 $CONFIG_SRC,跳过复制。" -ForegroundColor Yellow +} + +Write-Host "打包完成!输出目录: $DIST_DIR" -ForegroundColor Green +Write-Host "你可以运行 .\$DIST_DIR\$APP_NAME 来启动服务。" diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..eed0537 --- /dev/null +++ b/build.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +# 设置变量 +APP_NAME="FileRelay" +DIST_DIR="dist" +CONFIG_SRC="config/config.yaml" +CONFIG_DEST="$DIST_DIR/config/config.yaml" + +echo "开始构建 $APP_NAME..." + +# 清理 dist 目录 +if [ -d "$DIST_DIR" ]; then + echo "正在清理 $DIST_DIR 目录..." + rm -rf "$DIST_DIR" +fi + +# 创建 dist 目录 +mkdir -p "$DIST_DIR/config" + +# 编译 Go 二进制文件 +echo "正在编译..." +go build -o "$DIST_DIR/$APP_NAME" main.go + +if [ $? -eq 0 ]; then + echo "编译成功!" +else + echo "编译失败!" + exit 1 +fi + +# 复制配置文件 +if [ -f "$CONFIG_SRC" ]; then + echo "正在复制配置文件..." + cp "$CONFIG_SRC" "$CONFIG_DEST" +else + echo "警告: 未找到源配置文件 $CONFIG_SRC,跳过复制。" +fi + +echo "打包完成!输出目录: $DIST_DIR" +echo "你可以运行 ./$DIST_DIR/$APP_NAME 来启动服务。" diff --git a/config/config.yaml b/config/config.yaml index 3d6c59f..4439e2f 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -34,3 +34,5 @@ api_token: max_tokens: 20 database: path: file_relay.db +web: + path: web diff --git a/docs/docs.go b/docs/docs.go index b7b3f05..9667925 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -855,7 +855,7 @@ const docTemplate = `{ "APITokenAuth": [] } ], - "description": "根据文件 ID 下载单个文件。可选提供带 pickup scope 的 API Token。", + "description": "根据文件 ID 下载单个文件。支持直观的文件名结尾以方便下载工具识别。可选提供带 pickup scope 的 API Token。", "produces": [ "application/octet-stream" ], @@ -893,6 +893,58 @@ const docTemplate = `{ } } } + }, + "/api/files/{file_id}/{filename}": { + "get": { + "security": [ + { + "APITokenAuth": [] + } + ], + "description": "根据文件 ID 下载单个文件。支持直观的文件名结尾以方便下载工具识别。可选提供带 pickup scope 的 API Token。", + "produces": [ + "application/octet-stream" + ], + "tags": [ + "Public" + ], + "summary": "下载单个文件", + "parameters": [ + { + "type": "string", + "description": "文件 ID (UUID)", + "name": "file_id", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "文件名", + "name": "filename", + "in": "path" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "file" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/model.Response" + } + }, + "410": { + "description": "Gone", + "schema": { + "$ref": "#/definitions/model.Response" + } + } + } + } } }, "definitions": { @@ -969,6 +1021,9 @@ const docTemplate = `{ "admin.UpdateBatchRequest": { "type": "object", "properties": { + "download_count": { + "type": "integer" + }, "expire_at": { "type": "string" }, @@ -1068,6 +1123,10 @@ const docTemplate = `{ "config.SecurityConfig": { "type": "object", "properties": { + "admin_password": { + "description": "管理员密码明文 (仅用于更新请求,不保存到文件)", + "type": "string" + }, "admin_password_hash": { "description": "管理员密码哈希 (bcrypt)", "type": "string" @@ -1277,6 +1336,9 @@ const docTemplate = `{ "created_at": { "type": "string" }, + "download_url": { + "type": "string" + }, "id": { "type": "string" }, diff --git a/docs/swagger.json b/docs/swagger.json index e18dcd5..b198d93 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -848,7 +848,7 @@ "APITokenAuth": [] } ], - "description": "根据文件 ID 下载单个文件。可选提供带 pickup scope 的 API Token。", + "description": "根据文件 ID 下载单个文件。支持直观的文件名结尾以方便下载工具识别。可选提供带 pickup scope 的 API Token。", "produces": [ "application/octet-stream" ], @@ -886,6 +886,58 @@ } } } + }, + "/api/files/{file_id}/{filename}": { + "get": { + "security": [ + { + "APITokenAuth": [] + } + ], + "description": "根据文件 ID 下载单个文件。支持直观的文件名结尾以方便下载工具识别。可选提供带 pickup scope 的 API Token。", + "produces": [ + "application/octet-stream" + ], + "tags": [ + "Public" + ], + "summary": "下载单个文件", + "parameters": [ + { + "type": "string", + "description": "文件 ID (UUID)", + "name": "file_id", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "文件名", + "name": "filename", + "in": "path" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "file" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/model.Response" + } + }, + "410": { + "description": "Gone", + "schema": { + "$ref": "#/definitions/model.Response" + } + } + } + } } }, "definitions": { @@ -962,6 +1014,9 @@ "admin.UpdateBatchRequest": { "type": "object", "properties": { + "download_count": { + "type": "integer" + }, "expire_at": { "type": "string" }, @@ -1061,6 +1116,10 @@ "config.SecurityConfig": { "type": "object", "properties": { + "admin_password": { + "description": "管理员密码明文 (仅用于更新请求,不保存到文件)", + "type": "string" + }, "admin_password_hash": { "description": "管理员密码哈希 (bcrypt)", "type": "string" @@ -1270,6 +1329,9 @@ "created_at": { "type": "string" }, + "download_url": { + "type": "string" + }, "id": { "type": "string" }, diff --git a/docs/swagger.yaml b/docs/swagger.yaml index 6b0f353..788fbef 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -48,6 +48,8 @@ definitions: type: object admin.UpdateBatchRequest: properties: + download_count: + type: integer expire_at: type: string expire_type: @@ -106,6 +108,9 @@ definitions: type: object config.SecurityConfig: properties: + admin_password: + description: 管理员密码明文 (仅用于更新请求,不保存到文件) + type: string admin_password_hash: description: 管理员密码哈希 (bcrypt) type: string @@ -251,6 +256,8 @@ definitions: type: string created_at: type: string + download_url: + type: string id: type: string mime_type: @@ -854,9 +861,42 @@ paths: summary: 获取公共配置 tags: - Public + /api/files/{file_id}/{filename}: + get: + description: 根据文件 ID 下载单个文件。支持直观的文件名结尾以方便下载工具识别。可选提供带 pickup scope 的 API Token。 + parameters: + - description: 文件 ID (UUID) + in: path + name: file_id + required: true + type: string + - description: 文件名 + in: path + name: filename + type: string + produces: + - application/octet-stream + responses: + "200": + description: OK + schema: + type: file + "404": + description: Not Found + schema: + $ref: '#/definitions/model.Response' + "410": + description: Gone + schema: + $ref: '#/definitions/model.Response' + security: + - APITokenAuth: [] + summary: 下载单个文件 + tags: + - Public /api/files/{file_id}/download: get: - description: 根据文件 ID 下载单个文件。可选提供带 pickup scope 的 API Token。 + description: 根据文件 ID 下载单个文件。支持直观的文件名结尾以方便下载工具识别。可选提供带 pickup scope 的 API Token。 parameters: - description: 文件 ID (UUID) in: path diff --git a/internal/api/public/pickup.go b/internal/api/public/pickup.go index 7a935a2..19339af 100644 --- a/internal/api/public/pickup.go +++ b/internal/api/public/pickup.go @@ -115,6 +115,20 @@ func (h *PickupHandler) Pickup(c *gin.Context) { } } + // 生成文件下载绝对路径直链 + scheme := "http" + if c.Request.TLS != nil || c.GetHeader("X-Forwarded-Proto") == "https" { + scheme = "https" + } + host := c.Request.Host + if forwardedHost := c.GetHeader("X-Forwarded-Host"); forwardedHost != "" { + host = forwardedHost + } + + for i := range batch.FileItems { + batch.FileItems[i].DownloadURL = fmt.Sprintf("%s://%s/api/files/%s/%s", scheme, host, batch.FileItems[i].ID, batch.FileItems[i].OriginalName) + } + c.JSON(http.StatusOK, model.SuccessResponse(PickupResponse{ Remark: batch.Remark, ExpireAt: batch.ExpireAt, @@ -129,14 +143,16 @@ func (h *PickupHandler) Pickup(c *gin.Context) { // DownloadFile 下载单个文件 // @Summary 下载单个文件 -// @Description 根据文件 ID 下载单个文件。可选提供带 pickup scope 的 API Token。 +// @Description 根据文件 ID 下载单个文件。支持直观的文件名结尾以方便下载工具识别。可选提供带 pickup scope 的 API Token。 // @Tags Public // @Security APITokenAuth -// @Param file_id path string true "文件 ID (UUID)" +// @Param file_id path string true "文件 ID (UUID)" +// @Param filename path string false "文件名" // @Produce application/octet-stream // @Success 200 {file} file // @Failure 404 {object} model.Response // @Failure 410 {object} model.Response +// @Router /api/files/{file_id}/{filename} [get] // @Router /api/files/{file_id}/download [get] func (h *PickupHandler) DownloadFile(c *gin.Context) { fileID := c.Param("file_id") @@ -155,7 +171,12 @@ func (h *PickupHandler) DownloadFile(c *gin.Context) { if h.batchService.IsExpired(&batch) { h.batchService.MarkAsExpired(&batch) - c.JSON(http.StatusGone, model.ErrorResponse(model.CodeGone, "batch expired")) + // 按照需求,如果不存在(已在上面处理)或达到上限,返回 404 + if batch.ExpireType == "download" && batch.DownloadCount >= batch.MaxDownloads { + c.JSON(http.StatusNotFound, model.ErrorResponse(model.CodeNotFound, "file not found or download limit reached")) + } else { + c.JSON(http.StatusGone, model.ErrorResponse(model.CodeGone, "batch expired")) + } return } diff --git a/internal/config/config.go b/internal/config/config.go index 2522c58..2c46696 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -2,6 +2,7 @@ package config import ( "os" + "path/filepath" "sync" "gopkg.in/yaml.v3" @@ -14,6 +15,11 @@ type Config struct { Storage StorageConfig `yaml:"storage" json:"storage"` // 存储设置 APIToken APITokenConfig `yaml:"api_token" json:"api_token"` // API Token 设置 Database DatabaseConfig `yaml:"database" json:"database"` // 数据库设置 + Web WebConfig `yaml:"web" json:"web"` // Web 前端设置 +} + +type WebConfig struct { + Path string `yaml:"path" json:"path"` // Web 前端资源路径 } type SiteConfig struct { @@ -78,6 +84,26 @@ func LoadConfig(path string) error { configLock.Lock() defer configLock.Unlock() + // 检查文件是否存在 + if _, err := os.Stat(path); os.IsNotExist(err) { + // 创建默认配置 + cfg := GetDefaultConfig() + data, err := yaml.Marshal(cfg) + if err != nil { + return err + } + // 确保目录存在 + if err := os.MkdirAll(filepath.Dir(path), 0755); err != nil { + return err + } + if err := os.WriteFile(path, data, 0644); err != nil { + return err + } + GlobalConfig = cfg + ConfigPath = path + return nil + } + data, err := os.ReadFile(path) if err != nil { return err @@ -93,6 +119,47 @@ func LoadConfig(path string) error { return nil } +func GetDefaultConfig() *Config { + return &Config{ + Site: SiteConfig{ + Name: "文件暂存柜", + Description: "临时文件中转服务", + Logo: "https://www.hxuanyu.com/upload/favicon.png", + }, + Security: SecurityConfig{ + AdminPasswordHash: "$2a$10$Bm0TEmU4uj.bVHYiIPFBheUkcdg6XHpsanLvmpoAtgU1UnKbo9.vy", // 默认密码: admin123 + PickupCodeLength: 6, + PickupFailLimit: 5, + JWTSecret: "file-relay-secret", + }, + Upload: UploadConfig{ + MaxFileSizeMB: 100, + MaxBatchFiles: 20, + MaxRetentionDays: 30, + RequireToken: false, + }, + Storage: StorageConfig{ + Type: "local", + Local: struct { + Path string `yaml:"path" json:"path"` + }{ + Path: "storage_data", + }, + }, + APIToken: APITokenConfig{ + Enabled: true, + AllowAdminAPI: true, + MaxTokens: 20, + }, + Database: DatabaseConfig{ + Path: "file_relay.db", + }, + Web: WebConfig{ + Path: "web", + }, + } +} + func SaveConfig() error { configLock.RLock() defer configLock.RUnlock() diff --git a/internal/model/file_item.go b/internal/model/file_item.go index 88e3bb2..578d869 100644 --- a/internal/model/file_item.go +++ b/internal/model/file_item.go @@ -11,5 +11,6 @@ type FileItem struct { StoragePath string `json:"storage_path"` Size int64 `json:"size"` MimeType string `json:"mime_type"` + DownloadURL string `gorm:"-" json:"download_url,omitempty"` CreatedAt time.Time `json:"created_at"` } diff --git a/main.go b/main.go index 5b5eead..b0e2db1 100644 --- a/main.go +++ b/main.go @@ -10,8 +10,17 @@ import ( "FileRelay/internal/model" "FileRelay/internal/task" "context" + "embed" + "flag" "fmt" + "io" + "io/fs" "log" + "mime" + "net/http" + "os" + "path/filepath" + "strings" "github.com/gin-contrib/cors" "github.com/gin-gonic/gin" @@ -19,6 +28,9 @@ import ( ginSwagger "github.com/swaggo/gin-swagger" ) +//go:embed all:web +var webFS embed.FS + // @title 文件暂存柜 API // @version 1.0 // @description 自托管的文件暂存柜后端系统 API 文档 @@ -44,11 +56,50 @@ import ( // @description Type "Bearer " to authenticate. Required scope depends on the endpoint. func main() { + // 注册常用 MIME 类型 + mime.AddExtensionType(".js", "application/javascript") + mime.AddExtensionType(".css", "text/css") + mime.AddExtensionType(".woff", "font/woff") + mime.AddExtensionType(".woff2", "font/woff2") + mime.AddExtensionType(".svg", "image/svg+xml") + + // 解析命令行参数 + configPath := flag.String("config", "config/config.yaml", "path to config file") + flag.Parse() + // 1. 加载配置 - if err := config.LoadConfig("config/config.yaml"); err != nil { + if err := config.LoadConfig(*configPath); err != nil { log.Fatalf("Failed to load config: %v", err) } + port := 8080 + + // 打印配置信息 + fmt.Println("========================================") + fmt.Println("FileRelay 服务启动中...") + fmt.Printf("配置文件路径: %s\n", *configPath) + fmt.Printf("监听端口: %d\n", port) + fmt.Printf("数据库文件: %s\n", config.GlobalConfig.Database.Path) + fmt.Printf("存储模式: %s\n", config.GlobalConfig.Storage.Type) + + webPath := config.GlobalConfig.Web.Path + useExternalWeb := false + if webPath != "" { + if info, err := os.Stat(webPath); err == nil && info.IsDir() { + useExternalWeb = true + } + } + + if useExternalWeb { + fmt.Printf("前端资源来源: 外部目录 (%s)\n", webPath) + } else { + fmt.Printf("前端资源来源: 内置嵌入 (嵌入 fs)\n") + if webPath != "" { + fmt.Printf("提示: 配置的外部前端路径 %s 不存在,已回退到内置资源\n", webPath) + } + } + fmt.Println("========================================") + // 2. 初始化 bootstrap.InitDB() @@ -82,7 +133,9 @@ func main() { api.POST("/batches/text", middleware.APITokenAuth(model.ScopeUpload, !config.GlobalConfig.Upload.RequireToken), uploadHandler.UploadText) api.GET("/batches/:pickup_code", middleware.PickupRateLimit(), middleware.APITokenAuth(model.ScopePickup, true), pickupHandler.Pickup) api.GET("/batches/:pickup_code/download", middleware.APITokenAuth(model.ScopePickup, true), pickupHandler.DownloadBatch) - // 文件下载保持 /files/:id/download 风格 + // 文件下载路由,支持直观的文件名结尾 + api.GET("/files/:file_id/:filename", middleware.APITokenAuth(model.ScopePickup, true), pickupHandler.DownloadFile) + // 保持旧路由兼容性 api.GET("/files/:file_id/download", middleware.APITokenAuth(model.ScopePickup, true), pickupHandler.DownloadFile) // 保持旧路由兼容性 (可选,但为了平滑过渡通常建议保留一段时间或直接更新) @@ -114,8 +167,74 @@ func main() { adm.POST("/api-tokens/:id/revoke", tokenHandler.RevokeToken) } + // 静态资源服务 (放在最后,确保 API 路由优先) + webSub, _ := fs.Sub(webFS, "web") + + r.NoRoute(func(c *gin.Context) { + path := c.Request.URL.Path + + // 如果请求的是 API 或 Swagger,则不处理静态资源 (让其返回 404) + // 注意:此处不排除 /admin,因为 /admin 通常是前端 SPA 的路由地址 + if strings.HasPrefix(path, "/api") || strings.HasPrefix(path, "/swagger") { + return + } + + // 辅助函数:尝试从外部或嵌入服务文件 + serveFile := func(relPath string, allowExternal bool) bool { + // 1. 优先尝试外部路径 + if allowExternal && config.GlobalConfig.Web.Path != "" { + fullPath := filepath.Join(config.GlobalConfig.Web.Path, relPath) + if info, err := os.Stat(fullPath); err == nil && !info.IsDir() { + c.File(fullPath) + return true + } + } + + // 2. 尝试嵌入式文件 + f, err := webSub.Open(relPath) + if err == nil { + defer f.Close() + stat, err := f.Stat() + if err == nil && !stat.IsDir() { + // 使用 http.ServeContent 避免 c.FileFromFS 重定向问题 + if rs, ok := f.(io.ReadSeeker); ok { + // 显式设置 Content-Type,防止某些环境下识别失败 + ext := filepath.Ext(relPath) + ctype := mime.TypeByExtension(ext) + if ctype != "" { + c.Header("Content-Type", ctype) + } + http.ServeContent(c.Writer, c.Request, stat.Name(), stat.ModTime(), rs) + return true + } + } + } + return false + } + + // 1. 尝试直接请求的文件 (如果是 / 则尝试 index.html) + requestedPath := strings.TrimPrefix(path, "/") + if requestedPath == "" { + requestedPath = "index.html" + } + + if serveFile(requestedPath, true) { + return + } + + // 2. SPA 支持:对于非文件请求(没有后缀或不包含点),尝试返回 index.html + // 如果请求的是 assets 目录下的文件(包含点)却没找到,不应该回退到 index.html + isAsset := strings.Contains(requestedPath, ".") + if !isAsset || requestedPath == "index.html" { + if serveFile("index.html", true) { + return + } + } + + // 最终找不到则返回 404 + c.Status(http.StatusNotFound) + }) + // 5. 运行 - port := 8080 - fmt.Printf("Server is running on port %d\n", port) r.Run(fmt.Sprintf(":%d", port)) } diff --git a/web/assets/AdminDashboard-B71bpyA0.js b/web/assets/AdminDashboard-B71bpyA0.js new file mode 100644 index 0000000..ed8df2c --- /dev/null +++ b/web/assets/AdminDashboard-B71bpyA0.js @@ -0,0 +1 @@ +import{d as I,v as h,o as T,h as $,z as a,T as N,j as t,I as l,u as s,D as r,C as n,Q as S,f,F as L,J as P,g as u,G as E}from"./index-BhaIiTEj.js";import{t as w,b as m,_ as c,d as p,a as G}from"./Sonner.vue_vue_type_script_setup_true_lang-BwfWndxy.js";import{_ as C}from"./index-Catk2Spn.js";import{_ as j,a as M,b as V}from"./CardTitle.vue_vue_type_script_setup_true_lang-DBp3brf1.js";import{_ as y,a as J,b as Q,c as H,d as v,e as R,f as x}from"./TableHeader.vue_vue_type_script_setup_true_lang-NIN1xtGv.js";import{_ as q}from"./AdminLayout.vue_vue_type_script_setup_true_lang-B_6YVjYZ.js";import{_ as K}from"./_plugin-vue_export-helper-DlAUqK2U.js";const O={class:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-8"},U={class:"flex items-center"},W={class:"ml-4"},X={class:"text-2xl font-semibold text-gray-900"},Y={class:"flex items-center"},Z={class:"ml-4"},tt={class:"text-2xl font-semibold text-gray-900"},et={class:"flex items-center"},st={class:"ml-4"},lt={class:"text-2xl font-semibold text-gray-900"},at={class:"flex items-center"},ot={class:"ml-4"},nt={class:"text-2xl font-semibold text-gray-900"},it={class:"flex items-center justify-between"},rt={key:0,class:"space-y-4"},dt={key:1,class:"text-center py-8"},ut={key:2,class:"overflow-x-auto"},ft={key:0},mt={key:1,class:"text-gray-500"},ct={class:"grid grid-cols-1 md:grid-cols-4 gap-4"},vt=I({__name:"AdminDashboard",setup(xt){const _=S(),g=h(!0),k=h([]),d=h({totalBatches:0,activeBatches:0,expiredBatches:0,totalFiles:0}),B=async()=>{g.value=!0;try{const i=await N.getBatches({page:1,page_size:10});if(i.data.code===200){const e=i.data.data.data;k.value=e,d.value.totalBatches=i.data.data.total,d.value.activeBatches=e.filter(o=>o.status==="active").length,d.value.expiredBatches=e.filter(o=>o.status==="expired").length,d.value.totalFiles=e.reduce((o,F)=>o+(F.file_items?.length||0),0)}}catch(i){console.error("获取数据失败:",i),w.error("获取数据失败,请重试")}finally{g.value=!1}},z=async()=>{w.info("正在刷新数据..."),await B(),w.success("数据已刷新")},D=i=>{switch(i){case"active":return"default";case"expired":return"secondary";case"deleted":return"destructive";default:return"outline"}},A=i=>{switch(i){case"active":return"活跃";case"expired":return"已过期";case"deleted":return"已删除";default:return"未知"}},b=i=>E.formatDate(i);return T(()=>{B()}),(i,e)=>(u(),$(q,null,{default:a(()=>[e[28]||(e[28]=t("div",{class:"mb-8"},[t("h2",{class:"text-3xl font-bold text-gray-900"},"管理概览"),t("p",{class:"mt-2 text-gray-600"},"系统运行状态和统计信息")],-1)),t("div",O,[l(s(c),null,{default:a(()=>[l(s(m),{class:"p-6"},{default:a(()=>[t("div",U,[e[5]||(e[5]=t("div",{class:"flex-shrink-0"},[t("div",{class:"w-8 h-8 bg-blue-100 rounded-lg flex items-center justify-center"},[t("svg",{class:"w-5 h-5 text-blue-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 9a2 2 0 012-2h4l2 2h4a2 2 0 012 2v2M7 7V3a2 2 0 012-2h6a2 2 0 012 2v4"})])])],-1)),t("div",W,[e[4]||(e[4]=t("p",{class:"text-sm font-medium text-gray-500"},"总批次数",-1)),t("p",X,r(d.value.totalBatches||0),1)])])]),_:1})]),_:1}),l(s(c),null,{default:a(()=>[l(s(m),{class:"p-6"},{default:a(()=>[t("div",Y,[e[7]||(e[7]=t("div",{class:"flex-shrink-0"},[t("div",{class:"w-8 h-8 bg-green-100 rounded-lg flex items-center justify-center"},[t("svg",{class:"w-5 h-5 text-green-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})])])],-1)),t("div",Z,[e[6]||(e[6]=t("p",{class:"text-sm font-medium text-gray-500"},"活跃批次",-1)),t("p",tt,r(d.value.activeBatches||0),1)])])]),_:1})]),_:1}),l(s(c),null,{default:a(()=>[l(s(m),{class:"p-6"},{default:a(()=>[t("div",et,[e[9]||(e[9]=t("div",{class:"flex-shrink-0"},[t("div",{class:"w-8 h-8 bg-yellow-100 rounded-lg flex items-center justify-center"},[t("svg",{class:"w-5 h-5 text-yellow-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})])])],-1)),t("div",st,[e[8]||(e[8]=t("p",{class:"text-sm font-medium text-gray-500"},"已过期批次",-1)),t("p",lt,r(d.value.expiredBatches||0),1)])])]),_:1})]),_:1}),l(s(c),null,{default:a(()=>[l(s(m),{class:"p-6"},{default:a(()=>[t("div",at,[e[11]||(e[11]=t("div",{class:"flex-shrink-0"},[t("div",{class:"w-8 h-8 bg-purple-100 rounded-lg flex items-center justify-center"},[t("svg",{class:"w-5 h-5 text-purple-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})])])],-1)),t("div",ot,[e[10]||(e[10]=t("p",{class:"text-sm font-medium text-gray-500"},"总文件数",-1)),t("p",nt,r(d.value.totalFiles||0),1)])])]),_:1})]),_:1})]),l(s(c),{class:"mb-8"},{default:a(()=>[l(s(j),null,{default:a(()=>[t("div",it,[t("div",null,[l(s(M),null,{default:a(()=>[...e[12]||(e[12]=[n("最近批次",-1)])]),_:1}),l(s(V),null,{default:a(()=>[...e[13]||(e[13]=[n("最新创建的文件批次",-1)])]),_:1})]),l(s(p),{variant:"outline",onClick:e[0]||(e[0]=o=>s(_).push("/admin/batches")),size:"sm"},{default:a(()=>[...e[14]||(e[14]=[n(" 查看全部 ",-1),t("svg",{class:"w-4 h-4 ml-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"})],-1)])]),_:1})])]),_:1}),l(s(m),null,{default:a(()=>[g.value?(u(),f("div",rt,[l(s(y),{class:"h-4 w-full"}),l(s(y),{class:"h-4 w-3/4"}),l(s(y),{class:"h-4 w-1/2"})])):k.value.length===0?(u(),f("div",dt,[...e[15]||(e[15]=[t("svg",{class:"w-12 h-12 mx-auto text-gray-400 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})],-1),t("p",{class:"text-gray-500"},"暂无批次数据",-1)])])):(u(),f("div",ut,[l(s(J),null,{default:a(()=>[l(s(Q),null,{default:a(()=>[l(s(H),null,{default:a(()=>[l(s(v),null,{default:a(()=>[...e[16]||(e[16]=[n("取件码",-1)])]),_:1}),l(s(v),null,{default:a(()=>[...e[17]||(e[17]=[n("类型",-1)])]),_:1}),l(s(v),null,{default:a(()=>[...e[18]||(e[18]=[n("状态",-1)])]),_:1}),l(s(v),null,{default:a(()=>[...e[19]||(e[19]=[n("文件数",-1)])]),_:1}),l(s(v),null,{default:a(()=>[...e[20]||(e[20]=[n("创建时间",-1)])]),_:1}),l(s(v),null,{default:a(()=>[...e[21]||(e[21]=[n("过期时间",-1)])]),_:1})]),_:1})]),_:1}),l(s(R),null,{default:a(()=>[(u(!0),f(L,null,P(k.value,o=>(u(),$(s(H),{key:o.id},{default:a(()=>[l(s(x),{class:"font-medium font-mono"},{default:a(()=>[n(r(o.pickup_code),1)]),_:2},1024),l(s(x),null,{default:a(()=>[l(s(C),{variant:"outline"},{default:a(()=>[n(r(o.type==="text"?"文本":"文件"),1)]),_:2},1024)]),_:2},1024),l(s(x),null,{default:a(()=>[l(s(C),{variant:D(o.status)},{default:a(()=>[n(r(A(o.status)),1)]),_:2},1032,["variant"])]),_:2},1024),l(s(x),null,{default:a(()=>[n(r(o.file_items?.length||0),1)]),_:2},1024),l(s(x),null,{default:a(()=>[n(r(b(o.created_at)),1)]),_:2},1024),l(s(x),null,{default:a(()=>[o.expire_at?(u(),f("span",ft,r(b(o.expire_at)),1)):(u(),f("span",mt,"永不过期"))]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]))]),_:1})]),_:1}),l(s(c),null,{default:a(()=>[l(s(j),null,{default:a(()=>[l(s(M),null,{default:a(()=>[...e[22]||(e[22]=[n("快速操作",-1)])]),_:1}),l(s(V),null,{default:a(()=>[...e[23]||(e[23]=[n("常用的管理功能",-1)])]),_:1})]),_:1}),l(s(m),null,{default:a(()=>[t("div",ct,[l(s(p),{onClick:e[1]||(e[1]=o=>s(_).push("/admin/batches")),variant:"outline",class:"h-auto p-4 flex-col items-start"},{default:a(()=>[...e[24]||(e[24]=[t("svg",{class:"w-8 h-8 text-blue-600 mb-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 9a2 2 0 012-2h4l2 2h4a2 2 0 012 2v2M7 7V3a2 2 0 012-2h6a2 2 0 012 2v4"})],-1),t("div",{class:"text-left"},[t("div",{class:"font-medium"},"文件批次管理"),t("div",{class:"text-sm text-gray-500"},"查看和管理所有文件批次")],-1)])]),_:1}),l(s(p),{onClick:e[2]||(e[2]=o=>s(_).push("/admin/tokens")),variant:"outline",class:"h-auto p-4 flex-col items-start"},{default:a(()=>[...e[25]||(e[25]=[t("svg",{class:"w-8 h-8 text-green-600 mb-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 7a2 2 0 012 2m4 0a6 6 0 01-7.743 5.743L11 17H9v2H7v2H4a1 1 0 01-1-1v-2.586a1 1 0 01.293-.707l5.964-5.964A6 6 0 1121 9z"})],-1),t("div",{class:"text-left"},[t("div",{class:"font-medium"},"API Token 管理"),t("div",{class:"text-sm text-gray-500"},"创建和管理 API 访问凭证")],-1)])]),_:1}),l(s(p),{onClick:e[3]||(e[3]=o=>s(_).push("/admin/config")),variant:"outline",class:"h-auto p-4 flex-col items-start"},{default:a(()=>[...e[26]||(e[26]=[t("svg",{class:"w-8 h-8 text-orange-600 mb-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})],-1),t("div",{class:"text-left"},[t("div",{class:"font-medium"},"系统配置"),t("div",{class:"text-sm text-gray-500"},"管理系统设置和参数")],-1)])]),_:1}),l(s(p),{onClick:z,variant:"outline",class:"h-auto p-4 flex-col items-start"},{default:a(()=>[...e[27]||(e[27]=[t("svg",{class:"w-8 h-8 text-purple-600 mb-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})],-1),t("div",{class:"text-left"},[t("div",{class:"font-medium"},"刷新数据"),t("div",{class:"text-sm text-gray-500"},"更新系统统计信息")],-1)])]),_:1})])]),_:1})]),_:1}),l(s(G))]),_:1}))}}),Bt=K(vt,[["__scopeId","data-v-3adbfb80"]]);export{Bt as default}; diff --git a/web/assets/AdminDashboard-D-aUQJ-6.css b/web/assets/AdminDashboard-D-aUQJ-6.css new file mode 100644 index 0000000..f1720fb --- /dev/null +++ b/web/assets/AdminDashboard-D-aUQJ-6.css @@ -0,0 +1 @@ +.border-b-2[data-v-3adbfb80]{border-bottom-width:2px}.hover\:border-gray-300[data-v-3adbfb80]:hover{border-color:#d1d5db}.hover\:text-gray-700[data-v-3adbfb80]:hover{color:#374151}.hover\:shadow-lg[data-v-3adbfb80]:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transition:box-shadow .3s ease}.flex-col[data-v-3adbfb80]:hover{transform:translateY(-2px);transition:transform .2s ease}.hover\:bg-gray-50[data-v-3adbfb80]:hover{background-color:#f9fafb;transition:background-color .2s ease}@keyframes slideInUp-3adbfb80{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.grid[data-v-3adbfb80]>*{animation:slideInUp-3adbfb80 .3s ease forwards}.grid[data-v-3adbfb80]>*:nth-child(1){animation-delay:.1s}.grid[data-v-3adbfb80]>*:nth-child(2){animation-delay:.2s}.grid[data-v-3adbfb80]>*:nth-child(3){animation-delay:.3s}.grid[data-v-3adbfb80]>*:nth-child(4){animation-delay:.4s}.overflow-x-auto[data-v-3adbfb80]{scrollbar-width:thin;scrollbar-color:rgba(156,163,175,.5) transparent}.overflow-x-auto[data-v-3adbfb80]::-webkit-scrollbar{height:6px}.overflow-x-auto[data-v-3adbfb80]::-webkit-scrollbar-track{background:transparent}.overflow-x-auto[data-v-3adbfb80]::-webkit-scrollbar-thumb{background:#9ca3af80;border-radius:3px}.overflow-x-auto[data-v-3adbfb80]::-webkit-scrollbar-thumb:hover{background:#9ca3afb3} diff --git a/web/assets/AdminLayout.vue_vue_type_script_setup_true_lang-B_6YVjYZ.js b/web/assets/AdminLayout.vue_vue_type_script_setup_true_lang-B_6YVjYZ.js new file mode 100644 index 0000000..c1dff75 --- /dev/null +++ b/web/assets/AdminLayout.vue_vue_type_script_setup_true_lang-B_6YVjYZ.js @@ -0,0 +1 @@ +import{d as v,v as y,f as p,j as t,i as h,I as o,R as k,n as d,z as s,u,Q as c,C as r,g as x,k as $}from"./index-BhaIiTEj.js";import{d as g}from"./Sonner.vue_vue_type_script_setup_true_lang-BwfWndxy.js";const w={class:"bg-white/95 backdrop-blur-sm border-b border-gray-200 shadow-sm"},C={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},_={class:"flex justify-between h-16"},M={class:"flex items-center"},B={class:"hidden md:ml-6 md:flex md:space-x-8"},j={class:"flex items-center space-x-4"},z={key:0,class:"md:hidden"},N={class:"pt-2 pb-3 space-y-1"},V=v({__name:"AdminNavBar",setup(b){const m=c(),n=y(!1),f=()=>{localStorage.removeItem("admin_token"),m.push("/admin/login")};return(a,e)=>{const i=k("router-link");return x(),p("nav",w,[t("div",C,[t("div",_,[t("div",M,[e[10]||(e[10]=t("div",{class:"flex-shrink-0"},[t("h1",{class:"text-xl font-bold text-gray-900"},"文件中转站管理")],-1)),t("div",B,[o(i,{to:"/admin",class:d(["inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium",a.$route.path==="/admin"?"border-indigo-500 text-gray-900":"border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700"])},{default:s(()=>[...e[6]||(e[6]=[r(" 概览 ",-1)])]),_:1},8,["class"]),o(i,{to:"/admin/batches",class:d(["inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium",a.$route.path.includes("/admin/batches")?"border-indigo-500 text-gray-900":"border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700"])},{default:s(()=>[...e[7]||(e[7]=[r(" 文件管理 ",-1)])]),_:1},8,["class"]),o(i,{to:"/admin/tokens",class:d(["inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium",a.$route.path.includes("/admin/tokens")?"border-indigo-500 text-gray-900":"border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700"])},{default:s(()=>[...e[8]||(e[8]=[r(" API 管理 ",-1)])]),_:1},8,["class"]),o(i,{to:"/admin/config",class:d(["inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium",a.$route.path.includes("/admin/config")?"border-indigo-500 text-gray-900":"border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700"])},{default:s(()=>[...e[9]||(e[9]=[r(" 系统配置 ",-1)])]),_:1},8,["class"])])]),t("div",j,[o(u(g),{variant:"ghost",onClick:e[0]||(e[0]=l=>n.value=!n.value),class:"md:hidden",size:"sm"},{default:s(()=>[...e[11]||(e[11]=[t("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 6h16M4 12h16M4 18h16"})],-1)])]),_:1}),o(u(g),{variant:"outline",onClick:e[1]||(e[1]=l=>u(m).push("/")),size:"sm"},{default:s(()=>[...e[12]||(e[12]=[t("svg",{class:"w-4 h-4 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-1a1 1 0 011-1h2a1 1 0 011 1v1a1 1 0 001 1m-6 0h6"})],-1),r(" 前往前台 ",-1)])]),_:1}),o(u(g),{variant:"destructive",onClick:f,size:"sm"},{default:s(()=>[...e[13]||(e[13]=[t("svg",{class:"w-4 h-4 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"})],-1),r(" 退出登录 ",-1)])]),_:1})])]),n.value?(x(),p("div",z,[t("div",N,[o(i,{to:"/admin",class:d(["block pl-3 pr-4 py-2 text-base font-medium",a.$route.path==="/admin"?"bg-indigo-50 border-indigo-500 text-indigo-700 border-l-4":"text-gray-600 hover:bg-gray-50 hover:text-gray-800"]),onClick:e[2]||(e[2]=l=>n.value=!1)},{default:s(()=>[...e[14]||(e[14]=[r(" 概览 ",-1)])]),_:1},8,["class"]),o(i,{to:"/admin/batches",class:d(["block pl-3 pr-4 py-2 text-base font-medium",a.$route.path.includes("/admin/batches")?"bg-indigo-50 border-indigo-500 text-indigo-700 border-l-4":"text-gray-600 hover:bg-gray-50 hover:text-gray-800"]),onClick:e[3]||(e[3]=l=>n.value=!1)},{default:s(()=>[...e[15]||(e[15]=[r(" 文件管理 ",-1)])]),_:1},8,["class"]),o(i,{to:"/admin/tokens",class:d(["block pl-3 pr-4 py-2 text-base font-medium",a.$route.path.includes("/admin/tokens")?"bg-indigo-50 border-indigo-500 text-indigo-700 border-l-4":"text-gray-600 hover:bg-gray-50 hover:text-gray-800"]),onClick:e[4]||(e[4]=l=>n.value=!1)},{default:s(()=>[...e[16]||(e[16]=[r(" API 管理 ",-1)])]),_:1},8,["class"]),o(i,{to:"/admin/config",class:d(["block pl-3 pr-4 py-2 text-base font-medium",a.$route.path.includes("/admin/config")?"bg-indigo-50 border-indigo-500 text-indigo-700 border-l-4":"text-gray-600 hover:bg-gray-50 hover:text-gray-800"]),onClick:e[5]||(e[5]=l=>n.value=!1)},{default:s(()=>[...e[17]||(e[17]=[r(" 系统配置 ",-1)])]),_:1},8,["class"])])])):h("",!0)])])}}}),A={class:"h-screen flex flex-col bg-gray-50"},I={class:"flex-1 overflow-auto"},H={class:"max-w-7xl mx-auto py-6 sm:px-6 lg:px-8"},L={class:"px-4 py-6 sm:px-0"},S=v({__name:"AdminLayout",setup(b){return(m,n)=>(x(),p("div",A,[o(V),t("div",I,[t("div",H,[t("div",L,[$(m.$slots,"default")])])])]))}});export{S as _}; diff --git a/web/assets/AdminLogin-BBr6yhKu.css b/web/assets/AdminLogin-BBr6yhKu.css new file mode 100644 index 0000000..645ae30 --- /dev/null +++ b/web/assets/AdminLogin-BBr6yhKu.css @@ -0,0 +1 @@ +.animate-spin[data-v-266683e4]{animation:spin-266683e4 1s linear infinite}@keyframes spin-266683e4{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.group:hover .group-hover\:text-indigo-400[data-v-266683e4]{color:#818cf8}input[type=password][data-v-266683e4]::-ms-reveal,input[type=password][data-v-266683e4]::-ms-clear{display:none}.shadow-lg[data-v-266683e4]{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.hover\:bg-indigo-700[data-v-266683e4]:hover{background-color:#4338ca;transition:background-color .2s ease}.bg-red-50[data-v-266683e4]{animation:fadeIn-266683e4 .3s ease-in-out}@keyframes fadeIn-266683e4{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.focus\:ring-2[data-v-266683e4]:focus{outline:none;box-shadow:0 0 0 2px #6366f133}.focus\:ring-offset-2[data-v-266683e4]:focus{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px #6366f133} diff --git a/web/assets/AdminLogin-DALRrCFv.js b/web/assets/AdminLogin-DALRrCFv.js new file mode 100644 index 0000000..24c2681 --- /dev/null +++ b/web/assets/AdminLogin-DALRrCFv.js @@ -0,0 +1 @@ +import{d as w,v,o as _,f as l,j as e,I as r,S as y,z as u,u as o,Q as b,P as C,i as M,C as p,D as g,g as i,T as j}from"./index-BhaIiTEj.js";import{_ as B,d as x,a as V,b as z,t as $}from"./Sonner.vue_vue_type_script_setup_true_lang-BwfWndxy.js";import{_ as L}from"./Input.vue_vue_type_script_setup_true_lang-CD5fb2oW.js";import{_ as A}from"./Label.vue_vue_type_script_setup_true_lang-D-_Evs0_.js";import{_ as S}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./useForwardExpose-CRFbVhil.js";const N={class:"min-h-screen flex items-center justify-center bg-gray-50 py-12 px-4 sm:px-6 lg:px-8"},I={class:"max-w-md w-full space-y-8"},H={class:"mt-1 relative"},D={key:0,class:"h-5 w-5 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},E={key:1,class:"h-5 w-5 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},P={key:0,class:"absolute left-0 inset-y-0 flex items-center pl-3"},T={key:1,class:"w-5 h-5 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},q={key:0,class:"rounded-md bg-red-50 p-4"},Q={class:"flex"},R={class:"ml-3"},U={class:"text-sm font-medium text-red-800"},F={class:"ml-auto pl-3"},G={class:"-mx-1.5 -my-1.5"},J={class:"text-center"},K=w({__name:"AdminLogin",setup(O){const f=b(),a=v(""),c=v(!1),d=v(!1),n=v(""),k=async()=>{if(!a.value.trim()){n.value="请输入管理员密码";return}d.value=!0,n.value="";try{const s=await j.login(a.value.trim());if(s.data.code===200)localStorage.setItem("admin_token",s.data.data.token),$.success("登录成功!"),f.push("/admin");else throw new Error(s.data.msg||"登录失败")}catch(s){console.error("登录失败:",s),s.response?.status===401?n.value="密码错误,请重新输入":n.value=s.response?.data?.msg||"登录失败,请重试",a.value=""}finally{d.value=!1}},h=()=>{localStorage.getItem("admin_token")&&f.replace("/admin")};return _(()=>{h()}),(s,t)=>(i(),l("div",N,[e("div",I,[t[12]||(t[12]=y('

管理员登录

请输入管理员密码以访问管理后台

',1)),r(o(B),{class:"border-0 shadow-lg"},{default:u(()=>[r(o(z),{class:"pt-6"},{default:u(()=>[e("form",{onSubmit:C(k,["prevent"]),class:"space-y-6"},[e("div",null,[r(o(A),{for:"password",class:"text-sm font-medium text-gray-700"},{default:u(()=>[...t[4]||(t[4]=[p(" 管理员密码 ",-1)])]),_:1}),e("div",H,[r(o(L),{id:"password",name:"password",type:c.value?"text":"password",modelValue:a.value,"onUpdate:modelValue":t[0]||(t[0]=m=>a.value=m),placeholder:"请输入管理员密码",class:"pr-10",required:""},null,8,["type","modelValue"]),e("button",{type:"button",onClick:t[1]||(t[1]=m=>c.value=!c.value),class:"absolute inset-y-0 right-0 pr-3 flex items-center"},[c.value?(i(),l("svg",D,[...t[5]||(t[5]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13.875 18.825A10.05 10.05 0 0112 19c-4.478 0-8.268-2.943-9.543-7a9.97 9.97 0 011.563-3.029m5.858.908a3 3 0 114.243 4.243M9.878 9.878l4.242 4.242M9.878 9.878L6.879 6.879a3 3 0 00-4.243 4.243M9.878 9.878a3 3 0 014.242 4.243M15.121 14.121L18.121 17.121a3 3 0 01-4.243 4.243M12 3c4.478 0 8.268 2.943 9.543 7a10.025 10.025 0 01-4.132 5.411m0 0L21 21"},null,-1)])])):(i(),l("svg",E,[...t[6]||(t[6]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"},null,-1),e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"},null,-1)])]))])])]),e("div",null,[r(o(x),{type:"submit",disabled:!a.value||d.value,class:"group relative w-full flex justify-center py-2 px-4 border border-transparent text-sm font-medium rounded-md text-white bg-indigo-600 hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500"},{default:u(()=>[d.value?(i(),l("span",P,[...t[7]||(t[7]=[e("svg",{class:"animate-spin h-5 w-5 text-indigo-300",fill:"none",viewBox:"0 0 24 24"},[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 0 1 8-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 0 1 4 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})],-1)])])):(i(),l("svg",T,[...t[8]||(t[8]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"},null,-1)])])),p(" "+g(d.value?"登录中...":"登录管理后台"),1)]),_:1},8,["disabled"])]),n.value?(i(),l("div",q,[e("div",Q,[t[10]||(t[10]=e("div",{class:"flex-shrink-0"},[e("svg",{class:"h-5 w-5 text-red-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})])],-1)),e("div",R,[e("p",U,g(n.value),1)]),e("div",F,[e("div",G,[e("button",{onClick:t[2]||(t[2]=m=>n.value=""),class:"inline-flex bg-red-50 rounded-md p-1.5 text-red-500 hover:bg-red-100 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-red-50 focus:ring-red-600"},[...t[9]||(t[9]=[e("svg",{class:"h-3 w-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])])])])])):M("",!0)],32)]),_:1})]),_:1}),e("div",J,[r(o(x),{variant:"link",onClick:t[3]||(t[3]=m=>o(f).push("/")),class:"text-sm text-gray-600 hover:text-gray-900"},{default:u(()=>[...t[11]||(t[11]=[e("svg",{class:"w-4 h-4 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"})],-1),p(" 返回首页 ",-1)])]),_:1})])]),r(o(V))]))}}),se=S(K,[["__scopeId","data-v-266683e4"]]);export{se as default}; diff --git a/web/assets/BatchManagement-C0ramMV5.css b/web/assets/BatchManagement-C0ramMV5.css new file mode 100644 index 0000000..615fc6c --- /dev/null +++ b/web/assets/BatchManagement-C0ramMV5.css @@ -0,0 +1 @@ +.border-b-2[data-v-18610c62]{border-bottom-width:2px}.hover\:border-gray-300[data-v-18610c62]:hover{border-color:#d1d5db}.hover\:text-gray-700[data-v-18610c62]:hover{color:#374151}.hover\:bg-gray-50[data-v-18610c62]:hover{background-color:#f9fafb;transition:background-color .2s ease}.overflow-x-auto[data-v-18610c62],.overflow-y-auto[data-v-18610c62]{scrollbar-width:thin;scrollbar-color:rgba(156,163,175,.5) transparent}.overflow-x-auto[data-v-18610c62]::-webkit-scrollbar,.overflow-y-auto[data-v-18610c62]::-webkit-scrollbar{width:6px;height:6px}.overflow-x-auto[data-v-18610c62]::-webkit-scrollbar-track,.overflow-y-auto[data-v-18610c62]::-webkit-scrollbar-track{background:transparent}.overflow-x-auto[data-v-18610c62]::-webkit-scrollbar-thumb,.overflow-y-auto[data-v-18610c62]::-webkit-scrollbar-thumb{background:#9ca3af80;border-radius:3px}.overflow-x-auto[data-v-18610c62]::-webkit-scrollbar-thumb:hover,.overflow-y-auto[data-v-18610c62]::-webkit-scrollbar-thumb:hover{background:#9ca3afb3}.animate-spin[data-v-18610c62]{animation:spin-18610c62 1s linear infinite}@keyframes spin-18610c62{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.space-y-4[data-v-18610c62]>*{animation:fadeInUp-18610c62 .3s ease forwards}@keyframes fadeInUp-18610c62{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hover\:scale-105[data-v-18610c62]:hover{transform:scale(1.05);transition:transform .2s ease} diff --git a/web/assets/BatchManagement-CeACwrQ7.js b/web/assets/BatchManagement-CeACwrQ7.js new file mode 100644 index 0000000..2516c26 --- /dev/null +++ b/web/assets/BatchManagement-CeACwrQ7.js @@ -0,0 +1 @@ +import{P as Q,e as La,r as H,c as Y,f as ze,t as J,d as G,b as aa,_ as ra,a as xr}from"./Sonner.vue_vue_type_script_setup_true_lang-BwfWndxy.js";import{v as L,c as F,d as M,h as w,g as p,z as u,k as C,A as te,B as ae,u as l,l as I,P as Rt,M as Na,o as Ht,w as Tt,U as Dr,j as c,D,C as y,V as na,f as B,N as Cr,I as i,W as Mr,X as Ha,Y as la,F as fe,J as ve,n as Ja,Z as wt,E as kr,T as Ye,i as le,G as sa}from"./index-BhaIiTEj.js";import{_ as Le}from"./Input.vue_vue_type_script_setup_true_lang-CD5fb2oW.js";import{u as Wa,c as oa,_ as K}from"./Label.vue_vue_type_script_setup_true_lang-D-_Evs0_.js";import{_ as xt}from"./index-Catk2Spn.js";import{_ as ua}from"./Textarea.vue_vue_type_script_setup_true_lang-CwxB1PfH.js";import{_ as Ar,a as Br,b as Er}from"./CardTitle.vue_vue_type_script_setup_true_lang-DBp3brf1.js";import{u as Ga,a as Sr,C as Pr,_ as et,b as tt,c as at,d as rt,e as z}from"./SelectValue.vue_vue_type_script_setup_true_lang-Dkj-rl5_.js";import{_ as Dt,a as Or,b as Ir,c as ia,d as $e,e as Vr,f as be}from"./TableHeader.vue_vue_type_script_setup_true_lang-NIN1xtGv.js";import{b as Rr,d as Tr,c as za,T as qr,a as mt,u as me}from"./Teleport-DV_BGdH0.js";import{u as ke,d as da}from"./useForwardExpose-CRFbVhil.js";import{_ as Fr,a as Ur,b as Yr}from"./PopoverTrigger.vue_vue_type_script_setup_true_lang-Dc9Inee9.js";import{D as ja,f as Lr,g as Nr,h as Hr,i as Jr,j as Wr,a as fa,b as ca,c as pa,d as ma,e as ya,_ as va}from"./DialogTitle.vue_vue_type_script_setup_true_lang-CF3XyDt2.js";import{_ as Gr}from"./AdminLayout.vue_vue_type_script_setup_true_lang-B_6YVjYZ.js";import{_ as zr}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./PopperContent-MQwziWLW.js";import"./utils-BNRHOSl8.js";function Be(t,e){return t-e*Math.floor(t/e)}const Qa=1721426;function De(t,e,a,r){e=je(t,e);let n=e-1,o=-2;return a<=2?o=0:ge(e)&&(o=-1),Qa-1+365*n+Math.floor(n/4)-Math.floor(n/100)+Math.floor(n/400)+Math.floor((367*a-362)/12+o+r)}function ge(t){return t%4===0&&(t%100!==0||t%400===0)}function je(t,e){return t==="BC"?1-e:e}function yt(t){let e="AD";return t<=0&&(e="BC",t=1-t),[e,t]}const jr={standard:[31,28,31,30,31,30,31,31,30,31,30,31],leapyear:[31,29,31,30,31,30,31,31,30,31,30,31]};class ee{fromJulianDay(e){let a=e,r=a-Qa,n=Math.floor(r/146097),o=Be(r,146097),d=Math.floor(o/36524),f=Be(o,36524),v=Math.floor(f/1461),k=Be(f,1461),h=Math.floor(k/365),A=n*400+d*100+v*4+h+(d!==4&&h!==4?1:0),[E,O]=yt(A),S=a-De(E,O,1,1),$=2;a0&&e===X())return new Date(t).getTimezoneOffset()*-6e4;let{year:a,month:r,day:n,hour:o,minute:d,second:f}=tr(t,e);return er(a,r,n,o,d,f,0)-Math.floor(t/1e3)*1e3}const wa=new Map;function tr(t,e){let a=wa.get(e);a||(a=new Intl.DateTimeFormat("en-US",{timeZone:e,hour12:!1,era:"short",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),wa.set(e,a));let r=a.formatToParts(new Date(t)),n={};for(let o of r)o.type!=="literal"&&(n[o.type]=o.value);return{year:n.era==="BC"||n.era==="B"?-n.year+1:+n.year,month:+n.month,day:+n.day,hour:n.hour==="24"?0:+n.hour,minute:+n.minute,second:+n.second}}const xa=864e5;function an(t,e,a,r){return(a===r?[a]:[a,r]).filter(o=>rn(t,e,o))}function rn(t,e,a){let r=tr(a,e);return t.year===r.year&&t.month===r.month&&t.day===r.day&&t.hour===r.hour&&t.minute===r.minute&&t.second===r.second}function ce(t,e,a="compatible"){let r=Ie(t);if(e==="UTC")return Oe(r);if(e===X()&&a==="compatible"){r=W(r,new ee);let v=new Date,k=je(r.era,r.year);return v.setFullYear(k,r.month-1,r.day),v.setHours(r.hour,r.minute,r.second,r.millisecond),v.getTime()}let n=Oe(r),o=qt(n-xa,e),d=qt(n+xa,e),f=an(r,e,n-o,n-d);if(f.length===1)return f[0];if(f.length>1)switch(a){case"compatible":case"earlier":return f[0];case"later":return f[f.length-1];case"reject":throw new RangeError("Multiple possible absolute times found")}switch(a){case"earlier":return Math.min(n-o,n-d);case"compatible":case"later":return Math.max(n-o,n-d);case"reject":throw new RangeError("No such absolute time found")}}function ar(t,e,a="compatible"){return new Date(ce(t,e,a))}function se(t,e){let a=qt(t,e),r=new Date(t+a),n=r.getUTCFullYear(),o=r.getUTCMonth()+1,d=r.getUTCDate(),f=r.getUTCHours(),v=r.getUTCMinutes(),k=r.getUTCSeconds(),h=r.getUTCMilliseconds();return new Re(n<1?"BC":"AD",n<1?-n+1:n,o,d,e,a,f,v,k,h)}function nn(t,e){return se(t.getTime(),e)}function ln(t){return new U(t.calendar,t.era,t.year,t.month,t.day)}function Ie(t,e){let a=0,r=0,n=0,o=0;if("timeZone"in t)({hour:a,minute:r,second:n,millisecond:o}=t);else if("hour"in t&&!e)return t;return e&&({hour:a,minute:r,second:n,millisecond:o}=e),new Ve(t.calendar,t.era,t.year,t.month,t.day,a,r,n,o)}function W(t,e){if(Jt(t.calendar,e))return t;let a=e.fromJulianDay(t.calendar.toJulianDay(t)),r=t.copy();return r.calendar=e,r.era=a.era,r.year=a.year,r.month=a.month,r.day=a.day,Me(r),r}function sn(t,e,a){if(t instanceof Re)return t.timeZone===e?t:un(t,e);let r=ce(t,e,a);return se(r,e)}function on(t){let e=Oe(t)-t.offset;return new Date(e)}function un(t,e){let a=Oe(t)-t.offset;return W(se(a,e),t.calendar)}const Ne=36e5;function vt(t,e){let a=t.copy(),r="hour"in a?pn(a,e):0;Ft(a,e.years||0),a.calendar.balanceYearMonth&&a.calendar.balanceYearMonth(a,t),a.month+=e.months||0,Ut(a),rr(a),a.day+=(e.weeks||0)*7,a.day+=e.days||0,a.day+=r,dn(a),a.calendar.balanceDate&&a.calendar.balanceDate(a),a.year<1&&(a.year=1,a.month=1,a.day=1);let n=a.calendar.getYearsInEra(a);if(a.year>n){var o,d;let v=(o=(d=a.calendar).isInverseEra)===null||o===void 0?void 0:o.call(d,a);a.year=n,a.month=v?1:a.calendar.getMonthsInYear(a),a.day=v?1:a.calendar.getDaysInMonth(a)}a.month<1&&(a.month=1,a.day=1);let f=a.calendar.getMonthsInYear(a);return a.month>f&&(a.month=f,a.day=a.calendar.getDaysInMonth(a)),a.day=Math.max(1,Math.min(a.calendar.getDaysInMonth(a),a.day)),a}function Ft(t,e){var a,r;!((a=(r=t.calendar).isInverseEra)===null||a===void 0)&&a.call(r,t)&&(e=-e),t.year+=e}function Ut(t){for(;t.month<1;)Ft(t,-1),t.month+=t.calendar.getMonthsInYear(t);let e=0;for(;t.month>(e=t.calendar.getMonthsInYear(t));)t.month-=e,Ft(t,1)}function dn(t){for(;t.day<1;)t.month--,Ut(t),t.day+=t.calendar.getDaysInMonth(t);for(;t.day>t.calendar.getDaysInMonth(t);)t.day-=t.calendar.getDaysInMonth(t),t.month++,Ut(t)}function rr(t){t.month=Math.max(1,Math.min(t.calendar.getMonthsInYear(t),t.month)),t.day=Math.max(1,Math.min(t.calendar.getDaysInMonth(t),t.day))}function Me(t){t.calendar.constrainDate&&t.calendar.constrainDate(t),t.year=Math.max(1,Math.min(t.calendar.getYearsInEra(t),t.year)),rr(t)}function nr(t){let e={};for(let a in t)typeof t[a]=="number"&&(e[a]=-t[a]);return e}function lr(t,e){return vt(t,nr(e))}function Wt(t,e){let a=t.copy();return e.era!=null&&(a.era=e.era),e.year!=null&&(a.year=e.year),e.month!=null&&(a.month=e.month),e.day!=null&&(a.day=e.day),Me(a),a}function it(t,e){let a=t.copy();return e.hour!=null&&(a.hour=e.hour),e.minute!=null&&(a.minute=e.minute),e.second!=null&&(a.second=e.second),e.millisecond!=null&&(a.millisecond=e.millisecond),cn(a),a}function fn(t){t.second+=Math.floor(t.millisecond/1e3),t.millisecond=nt(t.millisecond,1e3),t.minute+=Math.floor(t.second/60),t.second=nt(t.second,60),t.hour+=Math.floor(t.minute/60),t.minute=nt(t.minute,60);let e=Math.floor(t.hour/24);return t.hour=nt(t.hour,24),e}function cn(t){t.millisecond=Math.max(0,Math.min(t.millisecond,1e3)),t.second=Math.max(0,Math.min(t.second,59)),t.minute=Math.max(0,Math.min(t.minute,59)),t.hour=Math.max(0,Math.min(t.hour,23))}function nt(t,e){let a=t%e;return a<0&&(a+=e),a}function pn(t,e){return t.hour+=e.hours||0,t.minute+=e.minutes||0,t.second+=e.seconds||0,t.millisecond+=e.milliseconds||0,fn(t)}function Gt(t,e,a,r){let n=t.copy();switch(e){case"era":{let f=t.calendar.getEras(),v=f.indexOf(t.era);if(v<0)throw new Error("Invalid era: "+t.era);v=pe(v,a,0,f.length-1,r?.round),n.era=f[v],Me(n);break}case"year":var o,d;!((o=(d=n.calendar).isInverseEra)===null||o===void 0)&&o.call(d,n)&&(a=-a),n.year=pe(t.year,a,-1/0,9999,r?.round),n.year===-1/0&&(n.year=1),n.calendar.balanceYearMonth&&n.calendar.balanceYearMonth(n,t);break;case"month":n.month=pe(t.month,a,1,t.calendar.getMonthsInYear(t),r?.round);break;case"day":n.day=pe(t.day,a,1,t.calendar.getDaysInMonth(t),r?.round);break;default:throw new Error("Unsupported field "+e)}return t.calendar.balanceDate&&t.calendar.balanceDate(n),Me(n),n}function sr(t,e,a,r){let n=t.copy();switch(e){case"hour":{let o=t.hour,d=0,f=23;if(r?.hourCycle===12){let v=o>=12;d=v?12:0,f=v?23:11}n.hour=pe(o,a,d,f,r?.round);break}case"minute":n.minute=pe(t.minute,a,0,59,r?.round);break;case"second":n.second=pe(t.second,a,0,59,r?.round);break;case"millisecond":n.millisecond=pe(t.millisecond,a,0,999,r?.round);break;default:throw new Error("Unsupported field "+e)}return n}function pe(t,e,a,r,n=!1){if(n){t+=Math.sign(e),t0?t=Math.ceil(t/o)*o:t=Math.floor(t/o)*o,t>r&&(t=a)}else t+=e,tr&&(t=a+(t-r-1));return t}function or(t,e){let a;if(e.years!=null&&e.years!==0||e.months!=null&&e.months!==0||e.weeks!=null&&e.weeks!==0||e.days!=null&&e.days!==0){let n=vt(Ie(t),{years:e.years,months:e.months,weeks:e.weeks,days:e.days});a=ce(n,t.timeZone)}else a=Oe(t)-t.offset;a+=e.milliseconds||0,a+=(e.seconds||0)*1e3,a+=(e.minutes||0)*6e4,a+=(e.hours||0)*36e5;let r=se(a,t.timeZone);return W(r,t.calendar)}function mn(t,e){return or(t,nr(e))}function yn(t,e,a,r){switch(e){case"hour":{let n=0,o=23;if(r?.hourCycle===12){let S=t.hour>=12;n=S?12:0,o=S?23:11}let d=Ie(t),f=W(it(d,{hour:n}),new ee),v=[ce(f,t.timeZone,"earlier"),ce(f,t.timeZone,"later")].filter(S=>se(S,t.timeZone).day===f.day)[0],k=W(it(d,{hour:o}),new ee),h=[ce(k,t.timeZone,"earlier"),ce(k,t.timeZone,"later")].filter(S=>se(S,t.timeZone).day===k.day).pop(),A=Oe(t)-t.offset,E=Math.floor(A/Ne),O=A%Ne;return A=pe(E,a,Math.floor(v/Ne),Math.floor(h/Ne),r?.round)*Ne+O,W(se(A,t.timeZone),t.calendar)}case"minute":case"second":case"millisecond":return sr(t,e,a,r);case"era":case"year":case"month":case"day":{let n=Gt(Ie(t),e,a,r),o=ce(n,t.timeZone);return W(se(o,t.timeZone),t.calendar)}default:throw new Error("Unsupported field "+e)}}function vn(t,e,a){let r=Ie(t),n=it(Wt(r,e),e);if(n.compare(r)===0)return t;let o=ce(n,t.timeZone,a);return W(se(o,t.timeZone),t.calendar)}function hn(t){return`${String(t.hour).padStart(2,"0")}:${String(t.minute).padStart(2,"0")}:${String(t.second).padStart(2,"0")}${t.millisecond?String(t.millisecond/1e3).slice(1):""}`}function ur(t){let e=W(t,new ee),a;return e.era==="BC"?a=e.year===1?"0000":"-"+String(Math.abs(1-e.year)).padStart(6,"00"):a=String(e.year).padStart(4,"0"),`${a}-${String(e.month).padStart(2,"0")}-${String(e.day).padStart(2,"0")}`}function ir(t){return`${ur(t)}T${hn(t)}`}function gn(t){let e=Math.sign(t)<0?"-":"+";t=Math.abs(t);let a=Math.floor(t/36e5),r=Math.floor(t%36e5/6e4),n=Math.floor(t%36e5%6e4/1e3),o=`${e}${String(a).padStart(2,"0")}:${String(r).padStart(2,"0")}`;return n!==0&&(o+=`:${String(n).padStart(2,"0")}`),o}function _n(t){return`${ir(t)}${gn(t.offset)}[${t.timeZone}]`}function $n(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function zt(t,e,a){$n(t,e),e.set(t,a)}function jt(t){let e=typeof t[0]=="object"?t.shift():new ee,a;if(typeof t[0]=="string")a=t.shift();else{let d=e.getEras();a=d[d.length-1]}let r=t.shift(),n=t.shift(),o=t.shift();return[e,a,r,n,o]}var bn=new WeakMap;class U{copy(){return this.era?new U(this.calendar,this.era,this.year,this.month,this.day):new U(this.calendar,this.year,this.month,this.day)}add(e){return vt(this,e)}subtract(e){return lr(this,e)}set(e){return Wt(this,e)}cycle(e,a,r){return Gt(this,e,a,r)}toDate(e){return ar(this,e)}toString(){return ur(this)}compare(e){return Xa(this,e)}constructor(...e){zt(this,bn,{writable:!0,value:void 0});let[a,r,n,o,d]=jt(e);this.calendar=a,this.era=r,this.year=n,this.month=o,this.day=d,Me(this)}}var wn=new WeakMap;class Ve{copy(){return this.era?new Ve(this.calendar,this.era,this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond):new Ve(this.calendar,this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond)}add(e){return vt(this,e)}subtract(e){return lr(this,e)}set(e){return Wt(it(this,e),e)}cycle(e,a,r){switch(e){case"era":case"year":case"month":case"day":return Gt(this,e,a,r);default:return sr(this,e,a,r)}}toDate(e,a){return ar(this,e,a)}toString(){return ir(this)}compare(e){let a=Xa(this,e);return a===0?Xr(this,Ie(e)):a}constructor(...e){zt(this,wn,{writable:!0,value:void 0});let[a,r,n,o,d]=jt(e);this.calendar=a,this.era=r,this.year=n,this.month=o,this.day=d,this.hour=e.shift()||0,this.minute=e.shift()||0,this.second=e.shift()||0,this.millisecond=e.shift()||0,Me(this)}}var xn=new WeakMap;class Re{copy(){return this.era?new Re(this.calendar,this.era,this.year,this.month,this.day,this.timeZone,this.offset,this.hour,this.minute,this.second,this.millisecond):new Re(this.calendar,this.year,this.month,this.day,this.timeZone,this.offset,this.hour,this.minute,this.second,this.millisecond)}add(e){return or(this,e)}subtract(e){return mn(this,e)}set(e,a){return vn(this,e,a)}cycle(e,a,r){return yn(this,e,a,r)}toDate(){return on(this)}toString(){return _n(this)}toAbsoluteString(){return this.toDate().toISOString()}compare(e){return this.toDate().getTime()-sn(e,this.timeZone).toDate().getTime()}constructor(...e){zt(this,xn,{writable:!0,value:void 0});let[a,r,n,o,d]=jt(e),f=e.shift(),v=e.shift();this.calendar=a,this.era=r,this.year=n,this.month=o,this.day=d,this.timeZone=f,this.offset=v,this.hour=e.shift()||0,this.minute=e.shift()||0,this.second=e.shift()||0,this.millisecond=e.shift()||0,Me(this)}}const Ee=[[1868,9,8],[1912,7,30],[1926,12,25],[1989,1,8],[2019,5,1]],Dn=[[1912,7,29],[1926,12,24],[1989,1,7],[2019,4,30]],st=[1867,1911,1925,1988,2018],he=["meiji","taisho","showa","heisei","reiwa"];function Da(t){const e=Ee.findIndex(([a,r,n])=>t.year=0){let[,n,o]=Ee[a];e.month=Math.max(n,e.month),e.month===n&&(e.day=Math.max(o,e.day))}}getEras(){return he}getYearsInEra(e){let a=he.indexOf(e.era),r=Ee[a],n=Ee[a+1];if(n==null)return 9999-r[0]+1;let o=n[0]-r[0];return(e.month0?["minguo",e]:["before_minguo",1-e]}class kn extends ee{fromJulianDay(e){let a=super.fromJulianDay(e),r=je(a.era,a.year),[n,o]=ka(r);return new U(this,n,o,a.month,a.day)}toJulianDay(e){return super.toJulianDay(Aa(e))}getEras(){return["before_minguo","minguo"]}balanceDate(e){let[a,r]=ka(fr(e));e.era=a,e.year=r}isInverseEra(e){return e.era==="before_minguo"}getDaysInMonth(e){return super.getDaysInMonth(Aa(e))}getYearsInEra(e){return e.era==="before_minguo"?9999:9999-dt}constructor(...e){super(...e),this.identifier="roc"}}function Aa(t){let[e,a]=yt(fr(t));return new U(e,a,t.month,t.day)}const Ba=1948320,Ea=[0,31,62,93,124,155,186,216,246,276,306,336];class An{fromJulianDay(e){let a=e-Ba,r=1+Math.floor((33*a+3)/12053),n=365*(r-1)+Math.floor((8*r+21)/33),o=a-n,d=o<216?Math.floor(o/31):Math.floor((o-6)/30),f=o-Ea[d]+1;return new U(this,r,d+1,f)}toJulianDay(e){let a=Ba-1+365*(e.year-1)+Math.floor((8*e.year+21)/33);return a+=Ea[e.month-1],a+=e.day,a}getMonthsInYear(){return 12}getDaysInMonth(e){return e.month<=6?31:e.month<=11||Be(25*e.year+11,33)<8?30:29}getEras(){return["AP"]}getYearsInEra(){return 9377}constructor(){this.identifier="persian"}}const Bt=78,Sa=80;class Bn extends ee{fromJulianDay(e){let a=super.fromJulianDay(e),r=a.year-Bt,n=e-De(a.era,a.year,1,1),o;n=8&&(d+=(e.month-7)*30),d+=e.day-1,d)}getDaysInMonth(e){return e.month===1&&ge(e.year+Bt)||e.month>=2&&e.month<=6?31:30}getYearsInEra(){return 9919}getEras(){return["saka"]}balanceDate(){}constructor(...e){super(...e),this.identifier="indian"}}const ft=1948440,Pa=1948439,j=1300,Ae=1600,En=460322;function ct(t,e,a,r){return r+Math.ceil(29.5*(a-1))+(e-1)*354+Math.floor((3+11*e)/30)+t-1}function cr(t,e,a){let r=Math.floor((30*(a-e)+10646)/10631),n=Math.min(12,Math.ceil((a-(29+ct(e,r,1,1)))/29.5)+1),o=a-ct(e,r,n,1)+1;return new U(t,r,n,o)}function Oa(t){return(14+11*t)%30<11}class Qt{fromJulianDay(e){return cr(this,ft,e)}toJulianDay(e){return ct(ft,e.year,e.month,e.day)}getDaysInMonth(e){let a=29+e.month%2;return e.month===12&&Oa(e.year)&&a++,a}getMonthsInYear(){return 12}getDaysInYear(e){return Oa(e.year)?355:354}getYearsInEra(){return 9665}getEras(){return["AH"]}constructor(){this.identifier="islamic-civil"}}class Sn extends Qt{fromJulianDay(e){return cr(this,Pa,e)}toJulianDay(e){return ct(Pa,e.year,e.month,e.day)}constructor(...e){super(...e),this.identifier="islamic-tbla"}}const Pn="qgpUDckO1AbqBmwDrQpVBakGkgepC9QF2gpcBS0NlQZKB1QLagutBa4ETwoXBYsGpQbVCtYCWwmdBE0KJg2VDawFtgm6AlsKKwWVCsoG6Qr0AnYJtgJWCcoKpAvSC9kF3AJtCU0FpQpSC6ULtAW2CVcFlwJLBaMGUgdlC2oFqworBZUMSg2lDcoF1gpXCasESwmlClILagt1BXYCtwhbBFUFqQW0BdoJ3QRuAjYJqgpUDbIN1QXaAlsJqwRVCkkLZAtxC7QFtQpVCiUNkg7JDtQG6QprCasEkwpJDaQNsg25CroEWworBZUKKgtVC1wFvQQ9Ah0JlQpKC1oLbQW2AjsJmwRVBqkGVAdqC2wFrQpVBSkLkgupC9QF2gpaBasKlQVJB2QHqgu1BbYCVgpNDiULUgtqC60FrgIvCZcESwalBqwG1gpdBZ0ETQoWDZUNqgW1BdoCWwmtBJUFygbkBuoK9QS2AlYJqgpUC9IL2QXqAm0JrQSVCkoLpQuyBbUJ1gSXCkcFkwZJB1ULagVrCisFiwpGDaMNygXWCtsEawJLCaUKUgtpC3UFdgG3CFsCKwVlBbQF2gntBG0BtgimClINqQ3UBdoKWwmrBFMGKQdiB6kLsgW1ClUFJQuSDckO0gbpCmsFqwRVCikNVA2qDbUJugQ7CpsETQqqCtUK2gJdCV4ELgqaDFUNsga5BroEXQotBZUKUguoC7QLuQXaAloJSgukDdEO6AZqC20FNQWVBkoNqA3UDdoGWwWdAisGFQtKC5ULqgWuCi4JjwwnBZUGqgbWCl0FnQI=";let Yt,Se;function ot(t){return En+Se[t-j]}function He(t,e){let a=t-j,r=1<<11-(e-1);return(Yt[a]&r)===0?29:30}function Ia(t,e){let a=ot(t);for(let r=1;rn)return super.fromJulianDay(e);{let o=j-1,d=1,f=1;for(;f>0;){o++,f=a-ot(o)+1;let v=Va(o);if(f===v){d=12;break}else if(fk;)f-=k,d++,k=He(o,d);break}}return new U(this,o,d,a-Ia(o,d)+1)}}toJulianDay(e){return e.yearAe?super.toJulianDay(e):ft+Ia(e.year,e.month)+(e.day-1)}getDaysInMonth(e){return e.yearAe?super.getDaysInMonth(e):He(e.year,e.month)}getDaysInYear(e){return e.yearAe?super.getDaysInYear(e):Va(e.year)}constructor(){if(super(),this.identifier="islamic-umalqura",Yt||(Yt=new Uint16Array(Uint8Array.from(atob(Pn),e=>e.charCodeAt(0)).buffer)),!Se){Se=new Uint32Array(Ae-j+1);let e=0;for(let a=j;a<=Ae;a++){Se[a-j]=e;for(let r=1;r<=12;r++)e+=He(a,r)}}}}const Ra=347997,pr=1080,mr=24*pr,In=29,Vn=12*pr+793,Rn=In*mr+Vn;function xe(t){return Be(t*7+1,19)<7}function ut(t){let e=Math.floor((235*t-234)/19),a=12084+13753*e,r=e*29+Math.floor(a/25920);return Be(3*(r+1),7)<3&&(r+=1),r}function Tn(t){let e=ut(t-1),a=ut(t);return ut(t+1)-a===356?2:a-e===382?1:0}function We(t){return ut(t)+Tn(t)}function yr(t){return We(t+1)-We(t)}function qn(t){let e=yr(t);switch(e>380&&(e-=30),e){case 353:return 0;case 354:return 1;case 355:return 2}}function lt(t,e){if(e>=6&&!xe(t)&&e++,e===4||e===7||e===9||e===11||e===13)return 29;let a=qn(t);return e===2?a===2?30:29:e===3?a===0?29:30:e===6?xe(t)?30:0:30}class Fn{fromJulianDay(e){let a=e-Ra,r=a*mr/Rn,n=Math.floor((19*r+234)/235)+1,o=We(n),d=Math.floor(a-o);for(;d<1;)n--,o=We(n),d=Math.floor(a-o);let f=1,v=0;for(;v6?e.month--:!xe(a.year)&&xe(e.year)&&a.month>6&&e.month++)}constructor(){this.identifier="hebrew"}}const Lt=1723856,Ta=1824665,Nt=5500;function pt(t,e,a,r){return t+365*e+Math.floor(e/4)+30*(a-1)+r-1}function Zt(t,e){let a=Math.floor(4*(e-t)/1461),r=1+Math.floor((e-pt(t,a,1,1))/30),n=e+1-pt(t,a,r,1);return[a,r,n]}function vr(t){return Math.floor(t%4/3)}function hr(t,e){return e%13!==0?30:vr(t)+5}class Kt{fromJulianDay(e){let[a,r,n]=Zt(Lt,e),o="AM";return a<=0&&(o="AA",a+=Nt),new U(this,o,a,r,n)}toJulianDay(e){let a=e.year;return e.era==="AA"&&(a-=Nt),pt(Lt,a,e.month,e.day)}getDaysInMonth(e){return hr(e.year,e.month)}getMonthsInYear(){return 13}getDaysInYear(e){return 365+vr(e.year)}getYearsInEra(e){return e.era==="AA"?9999:9991}getEras(){return["AA","AM"]}constructor(){this.identifier="ethiopic"}}class Un extends Kt{fromJulianDay(e){let[a,r,n]=Zt(Lt,e);return a+=Nt,new U(this,"AA",a,r,n)}getEras(){return["AA"]}getYearsInEra(){return 9999}constructor(...e){super(...e),this.identifier="ethioaa"}}class Yn extends Kt{fromJulianDay(e){let[a,r,n]=Zt(Ta,e),o="CE";return a<=0&&(o="BCE",a=1-a),new U(this,o,a,r,n)}toJulianDay(e){let a=e.year;return e.era==="BCE"&&(a=1-a),pt(Ta,a,e.month,e.day)}getDaysInMonth(e){let a=e.year;return e.era==="BCE"&&(a=1-a),hr(a,e.month)}isInverseEra(e){return e.era==="BCE"}balanceDate(e){e.year<=0&&(e.era=e.era==="BCE"?"CE":"BCE",e.year=1-e.year)}getEras(){return["BCE","CE"]}getYearsInEra(e){return e.era==="BCE"?9999:9715}constructor(...e){super(...e),this.identifier="coptic"}}function Ln(t){switch(t){case"buddhist":return new Mn;case"ethiopic":return new Kt;case"ethioaa":return new Un;case"coptic":return new Yn;case"hebrew":return new Fn;case"indian":return new Bn;case"islamic-civil":return new Qt;case"islamic-tbla":return new Sn;case"islamic-umalqura":return new On;case"japanese":return new Cn;case"persian":return new An;case"roc":return new kn;default:return new ee}}let Et=new Map;class de{format(e){return this.formatter.format(e)}formatToParts(e){return this.formatter.formatToParts(e)}formatRange(e,a){if(typeof this.formatter.formatRange=="function")return this.formatter.formatRange(e,a);if(a= start date");return`${this.formatter.format(e)} – ${this.formatter.format(a)}`}formatRangeToParts(e,a){if(typeof this.formatter.formatRangeToParts=="function")return this.formatter.formatRangeToParts(e,a);if(a= start date");let r=this.formatter.formatToParts(e),n=this.formatter.formatToParts(a);return[...r.map(o=>({...o,source:"startRange"})),{type:"literal",value:" – ",source:"shared"},...n.map(o=>({...o,source:"endRange"}))]}resolvedOptions(){let e=this.formatter.resolvedOptions();return Jn()&&(this.resolvedHourCycle||(this.resolvedHourCycle=Wn(e.locale,this.options)),e.hourCycle=this.resolvedHourCycle,e.hour12=this.resolvedHourCycle==="h11"||this.resolvedHourCycle==="h12"),e.calendar==="ethiopic-amete-alem"&&(e.calendar="ethioaa"),e}constructor(e,a={}){this.formatter=gr(e,a),this.options=a}}const Nn={true:{ja:"h11"},false:{}};function gr(t,e={}){if(typeof e.hour12=="boolean"&&Hn()){e={...e};let n=Nn[String(e.hour12)][t.split("-")[0]],o=e.hour12?"h12":"h23";e.hourCycle=n??o,delete e.hour12}let a=t+(e?Object.entries(e).sort((n,o)=>n[0]o.type==="hour").value,10),n=parseInt(a.formatToParts(new Date(2020,2,3,23)).find(o=>o.type==="hour").value,10);if(r===0&&n===23)return"h23";if(r===24&&n===23)return"h24";if(r===0&&n===11)return"h11";if(r===12&&n===11)return"h12";throw new Error("Unexpected hour cycle result")}function N(t,e=X()){return Xt(t)?t.toDate():t.toDate(e)}function Gn(t){return t instanceof Ve}function Xt(t){return t instanceof Re}function zn(t){return Gn(t)||Xt(t)}function Ge(t){if(t instanceof Date){const e=t.getFullYear(),a=t.getMonth()+1;return new Date(e,a,0).getDate()}else return t.set({day:100}).day}function Ot(t,e){return t.compare(e)<0}function It(t,e){return t.compare(e)>0}function jn(t,e,a){const r=Ka(t,a);return e>r?t.subtract({days:r+7-e}):e===r?t:t.subtract({days:r-e})}function Qn(t,e,a){const r=Ka(t,a),n=e===0?6:e-1;return r===n?t:r>n?t.add({days:7-r+n}):t.add({days:n-r})}function Zn(t){const{defaultValue:e,defaultPlaceholder:a,granularity:r="day",locale:n="en"}=t;if(Array.isArray(e)&&e.length)return e.at(-1).copy();if(e&&!Array.isArray(e))return e.copy();if(a)return a.copy();const o=new Date,d=o.getFullYear(),f=o.getMonth()+1,v=o.getDate(),k=["hour","minute","second"],h=new de(n),A=Ln(h.resolvedOptions().calendar);return k.includes(r??"day")?W(new Ve(d,f,v,0,0,0),A):W(new U(d,f,v),A)}function Kn(t,e){const a=[];for(let r=0;re.set({day:_+1})),f=Pe(e),v=_a(e),k=jn(f,a,n),h=Qn(v,a,n),A=qa(k.subtract({days:1}),f),E=qa(v,h.add({days:1})),O=A.length+d.length+E.length;if(r&&O<42){const m=42-O;let _=E[E.length-1];_||(_=_a(e));const b=Array.from({length:m},(P,R)=>{const V=R+1;return _.add({days:V})});E.push(...b)}const S=A.concat(d,E),$=Kn(S,7);return{value:e,cells:S,rows:$}}function el(t){const{dateObj:e,numberOfMonths:a=1,pagedNavigation:r=!1}=t;return a&&r?Array.from({length:Math.floor(12/a)},(d,f)=>Pe(e.set({month:f*a+1}))):Array.from({length:12},(o,d)=>Pe(e.set({month:d+1})))}function we(t){const{numberOfMonths:e,dateObj:a,...r}=t,n=[];if(!e||e===1)return n.push(Vt({...r,dateObj:a})),n;n.push(Vt({...r,dateObj:a}));for(let o=1;o({label:v(N(m.set({month:b}))),value:b}))}function h(m,_={}){return new de(a.value,{...e,year:"numeric",..._}).format(m)}function A(m,_){return Xt(m)?new de(a.value,{...e,..._,timeZone:m.timeZone}).formatToParts(N(m)):new de(a.value,{...e,..._}).formatToParts(N(m))}function E(m,_="narrow"){return new de(a.value,{...e,weekday:_}).format(m)}function O(m){const b=new de(a.value,{...e,hour:"numeric",minute:"numeric"}).formatToParts(m).find(P=>P.type==="dayPeriod")?.value;return b==="PM"||b==="p.m."?"PM":"AM"}const S={year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"};function $(m,_,b={}){const P={...S,...b},V=A(m,P).find(re=>re.type===_);return V?V.value:""}return{setLocale:n,getLocale:r,fullMonth:v,fullYear:h,fullMonthAndYear:f,toParts:A,custom:o,part:$,dayPeriod:O,selectedDate:d,dayOfWeek:E,getMonths:k}}function al(){return{ALT:"Alt",ARROW_DOWN:"ArrowDown",ARROW_LEFT:"ArrowLeft",ARROW_RIGHT:"ArrowRight",ARROW_UP:"ArrowUp",BACKSPACE:"Backspace",CAPS_LOCK:"CapsLock",CONTROL:"Control",DELETE:"Delete",END:"End",ENTER:"Enter",ESCAPE:"Escape",F1:"F1",F10:"F10",F11:"F11",F12:"F12",F2:"F2",F3:"F3",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",HOME:"Home",META:"Meta",PAGE_DOWN:"PageDown",PAGE_UP:"PageUp",SHIFT:"Shift",SPACE:" ",TAB:"Tab",CTRL:"Control",ASTERISK:"*",SPACE_CODE:"Space"}}function rl(t){const e=Rr({locale:L("en")});return F(()=>t?.value||e.locale?.value||"en")}var nl=M({__name:"AlertDialogAction",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const e=t;return ke(),(a,r)=>(p(),w(l(ja),te(ae(e)),{default:u(()=>[C(a.$slots,"default")]),_:3},16))}}),ll=nl;const[sl,ol]=za("AlertDialogContent");var ul=M({__name:"AlertDialogContent",props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:e}){const a=t,n=Tr(e);ke();const o=L();return ol({onCancelElementChange:d=>{o.value=d}}),(d,f)=>(p(),w(l(Lr),I({...a,...l(n)},{role:"alertdialog",onPointerDownOutside:f[0]||(f[0]=Rt(()=>{},["prevent"])),onInteractOutside:f[1]||(f[1]=Rt(()=>{},["prevent"])),onOpenAutoFocus:f[2]||(f[2]=()=>{Na(()=>{o.value?.focus({preventScroll:!0})})})}),{default:u(()=>[C(d.$slots,"default")]),_:3},16))}}),il=ul,dl=M({__name:"AlertDialogCancel",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const e=t,a=sl(),{forwardRef:r,currentElement:n}=ke();return Ht(()=>{a.onCancelElementChange(n.value)}),(o,d)=>(p(),w(l(ja),I(e,{ref:l(r)}),{default:u(()=>[C(o.$slots,"default")]),_:3},16))}}),fl=dl,cl=M({__name:"AlertDialogDescription",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"p"}},setup(t){const e=t;return ke(),(a,r)=>(p(),w(l(Nr),te(ae(e)),{default:u(()=>[C(a.$slots,"default")]),_:3},16))}}),pl=cl,ml=M({__name:"AlertDialogOverlay",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const e=t;return ke(),(a,r)=>(p(),w(l(Hr),te(ae(e)),{default:u(()=>[C(a.$slots,"default")]),_:3},16))}}),yl=ml,vl=M({__name:"AlertDialogPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(t){const e=t;return(a,r)=>(p(),w(l(qr),te(ae(e)),{default:u(()=>[C(a.$slots,"default")]),_:3},16))}}),hl=vl,gl=M({__name:"AlertDialogRoot",props:{open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1}},emits:["update:open"],setup(t,{emit:e}){const n=mt(t,e);return ke(),(o,d)=>(p(),w(l(Jr),I(l(n),{modal:!0}),{default:u(f=>[C(o.$slots,"default",te(ae(f)))]),_:3},16))}}),_l=gl,$l=M({__name:"AlertDialogTitle",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"h2"}},setup(t){const e=t;return ke(),(a,r)=>(p(),w(l(Wr),te(ae(e)),{default:u(()=>[C(a.$slots,"default")]),_:3},16))}}),bl=$l;function wl(t){function e(r){return Array.isArray(t.date.value)?t.date.value.some(n=>Ce(n,r)):t.date.value?Ce(t.date.value,r):!1}const a=F(()=>{if(Array.isArray(t.date.value)){if(!t.date.value.length)return!1;for(const r of t.date.value)if(t.isDateDisabled?.(r)||t.isDateUnavailable?.(r))return!0}else{if(!t.date.value)return!1;if(t.isDateDisabled?.(t.date.value)||t.isDateUnavailable?.(t.date.value))return!0}return!1});return{isDateSelected:e,isInvalid:a}}function xl(t,e){const a=e(t),r=a.compare(t),n={};return r>=7&&(n.day=1),r>=Ge(t)&&(n.month=1),a.set({...n})}function Dl(t,e){const a=e(t),r=t.compare(a),n={};return r>=7&&(n.day=35),r>=Ge(t)&&(n.month=13),a.set({...n})}function Cl(t,e){return e(t)}function Ml(t,e){return e(t)}function kl(t){const e=_r(t.locale.value),a=F(()=>{const $={calendar:t.placeholder.value.calendar.identifier};return t.placeholder.value.calendar.identifier==="gregory"&&t.placeholder.value.era==="BC"&&($.era="short"),$}),r=L(we({dateObj:t.placeholder.value,weekStartsOn:t.weekStartsOn.value,locale:t.locale.value,fixedWeeks:t.fixedWeeks.value,numberOfMonths:t.numberOfMonths.value})),n=F(()=>r.value.map($=>$.value));function o($){return!n.value.some(m=>ha($,m))}const d=$=>{if(!t.maxValue.value||!r.value.length)return!1;if(t.disabled.value)return!0;const m=r.value[r.value.length-1].value;if(!$&&!t.nextPage.value){const b=m.add({months:1}).set({day:1});return It(b,t.maxValue.value)}const _=xl(m,$||t.nextPage.value);return It(_,t.maxValue.value)},f=$=>{if(!t.minValue.value||!r.value.length)return!1;if(t.disabled.value)return!0;const m=r.value[0].value;if(!$&&!t.prevPage.value){const b=m.subtract({months:1}).set({day:35});return Ot(b,t.minValue.value)}const _=Dl(m,$||t.prevPage.value);return Ot(_,t.minValue.value)};function v($){return!!(t.isDateDisabled?.($)||t.disabled.value||t.maxValue.value&&It($,t.maxValue.value)||t.minValue.value&&Ot($,t.minValue.value))}const k=$=>!!t.isDateUnavailable?.($),h=F(()=>r.value.length?r.value[0].rows[0].map($=>e.dayOfWeek(N($),t.weekdayFormat.value)):[]),A=$=>{const m=r.value[0].value;if(!$&&!t.nextPage.value){const R=m.add({months:t.pagedNavigation.value?t.numberOfMonths.value:1}),V=we({dateObj:R,weekStartsOn:t.weekStartsOn.value,locale:t.locale.value,fixedWeeks:t.fixedWeeks.value,numberOfMonths:t.numberOfMonths.value});r.value=V,t.placeholder.value=V[0].value.set({day:1});return}const _=Cl(m,$||t.nextPage.value),b=we({dateObj:_,weekStartsOn:t.weekStartsOn.value,locale:t.locale.value,fixedWeeks:t.fixedWeeks.value,numberOfMonths:t.numberOfMonths.value});r.value=b;const P={};if(!$){const R=b[0].value.compare(m);R>=Ge(m)&&(P.day=1),R>=365&&(P.month=1)}t.placeholder.value=b[0].value.set({...P})},E=$=>{const m=r.value[0].value;if(!$&&!t.prevPage.value){const R=m.subtract({months:t.pagedNavigation.value?t.numberOfMonths.value:1}),V=we({dateObj:R,weekStartsOn:t.weekStartsOn.value,locale:t.locale.value,fixedWeeks:t.fixedWeeks.value,numberOfMonths:t.numberOfMonths.value});r.value=V,t.placeholder.value=V[0].value.set({day:1});return}const _=Ml(m,$||t.prevPage.value),b=we({dateObj:_,weekStartsOn:t.weekStartsOn.value,locale:t.locale.value,fixedWeeks:t.fixedWeeks.value,numberOfMonths:t.numberOfMonths.value});r.value=b;const P={};if(!$){const R=m.compare(b[0].value);R>=Ge(m)&&(P.day=1),R>=365&&(P.month=1)}t.placeholder.value=b[0].value.set({...P})};Tt(t.placeholder,$=>{n.value.some(m=>ha(m,$))||(r.value=we({dateObj:$,weekStartsOn:t.weekStartsOn.value,locale:t.locale.value,fixedWeeks:t.fixedWeeks.value,numberOfMonths:t.numberOfMonths.value}))}),Tt([t.locale,t.weekStartsOn,t.fixedWeeks,t.numberOfMonths],()=>{r.value=we({dateObj:t.placeholder.value,weekStartsOn:t.weekStartsOn.value,locale:t.locale.value,fixedWeeks:t.fixedWeeks.value,numberOfMonths:t.numberOfMonths.value})});const O=F(()=>{if(!r.value.length)return"";if(t.locale.value!==e.getLocale()&&e.setLocale(t.locale.value),r.value.length===1){const re=r.value[0].value;return`${e.fullMonthAndYear(N(re),a.value)}`}const $=N(r.value[0].value),m=N(r.value[r.value.length-1].value),_=e.fullMonth($,a.value),b=e.fullMonth(m,a.value),P=e.fullYear($,a.value),R=e.fullYear(m,a.value);return P===R?`${_} - ${b} ${R}`:`${_} ${P} - ${b} ${R}`}),S=F(()=>`${t.calendarLabel.value??"Event Date"}, ${O.value}`);return{isDateDisabled:v,isDateUnavailable:k,isNextButtonDisabled:d,isPrevButtonDisabled:f,grid:r,weekdays:h,visibleView:n,isOutsideVisibleView:o,formatter:e,nextPage:A,prevPage:E,headingValue:O,fullCalendarLabel:S}}const Al={style:{border:"0px",clip:"rect(0px, 0px, 0px, 0px)","clip-path":"inset(50%)",height:"1px",margin:"-1px",overflow:"hidden",padding:"0px",position:"absolute","white-space":"nowrap",width:"1px"}},Bl={role:"heading","aria-level":"2"},[Te,El]=za("CalendarRoot");var Sl=M({__name:"CalendarRoot",props:{defaultValue:{type:null,required:!1,default:void 0},defaultPlaceholder:{type:null,required:!1},placeholder:{type:null,required:!1,default:void 0},pagedNavigation:{type:Boolean,required:!1,default:!1},preventDeselect:{type:Boolean,required:!1,default:!1},weekStartsOn:{type:Number,required:!1,default:0},weekdayFormat:{type:String,required:!1,default:"narrow"},calendarLabel:{type:String,required:!1},fixedWeeks:{type:Boolean,required:!1,default:!1},maxValue:{type:null,required:!1},minValue:{type:null,required:!1},locale:{type:String,required:!1},numberOfMonths:{type:Number,required:!1,default:1},disabled:{type:Boolean,required:!1,default:!1},readonly:{type:Boolean,required:!1,default:!1},initialFocus:{type:Boolean,required:!1,default:!1},isDateDisabled:{type:Function,required:!1,default:void 0},isDateUnavailable:{type:Function,required:!1,default:void 0},dir:{type:String,required:!1},nextPage:{type:Function,required:!1},prevPage:{type:Function,required:!1},modelValue:{type:null,required:!1},multiple:{type:Boolean,required:!1,default:!1},disableDaysOutsideCurrentView:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},emits:["update:modelValue","update:placeholder"],setup(t,{emit:e}){const a=t,r=e,{disabled:n,readonly:o,initialFocus:d,pagedNavigation:f,weekStartsOn:v,weekdayFormat:k,fixedWeeks:h,multiple:A,minValue:E,maxValue:O,numberOfMonths:S,preventDeselect:$,isDateDisabled:m,isDateUnavailable:_,calendarLabel:b,defaultValue:P,nextPage:R,prevPage:V,dir:re,locale:oe,disableDaysOutsideCurrentView:ue}=Dr(a),{primitiveElement:ye,currentElement:Qe}=Ga(),qe=rl(oe),Ze=Sr(re),q=da(a,"modelValue",r,{defaultValue:P.value,passive:a.modelValue===void 0}),Ke=Zn({defaultPlaceholder:a.placeholder,defaultValue:q.value,locale:a.locale}),ne=da(a,"placeholder",r,{defaultValue:a.defaultPlaceholder??Ke.copy(),passive:a.placeholder===void 0});function ie(T){ne.value=T.copy()}const{fullCalendarLabel:Fe,headingValue:ht,isDateDisabled:x,isDateUnavailable:s,isNextButtonDisabled:g,isPrevButtonDisabled:Z,weekdays:_e,isOutsideVisibleView:gt,nextPage:_t,prevPage:$t,formatter:$r,grid:ea}=kl({locale:qe,placeholder:ne,weekStartsOn:v,fixedWeeks:h,numberOfMonths:S,minValue:E,maxValue:O,disabled:n,weekdayFormat:k,pagedNavigation:f,isDateDisabled:m.value,isDateUnavailable:_.value,calendarLabel:b,nextPage:R,prevPage:V}),{isInvalid:ta,isDateSelected:br}=wl({date:q,isDateDisabled:x,isDateUnavailable:s});Tt(q,T=>{if(Array.isArray(T)&&T.length){const Ue=T[T.length-1];Ue&&!Ct(ne.value,Ue)&&ie(Ue)}else!Array.isArray(T)&&T&&!Ct(ne.value,T)&&ie(T)});function wr(T){if(A.value){if(!q.value)q.value=[T.copy()];else if(Array.isArray(q.value)){if(q.value.findIndex(Xe=>Ce(Xe,T))===-1)q.value=[...q.value,T];else if(!$.value){const Xe=q.value.filter(bt=>!Ce(bt,T));if(!Xe.length){ne.value=T.copy(),q.value=void 0;return}q.value=Xe.map(bt=>bt.copy())}}}else{if(!q.value){q.value=T.copy();return}!$.value&&Ct(q.value,T)?(ne.value=T.copy(),q.value=void 0):q.value=T.copy()}}return Ht(()=>{d.value&&Xn(Qe.value)}),El({isDateUnavailable:s,dir:Ze,isDateDisabled:x,locale:qe,formatter:$r,modelValue:q,placeholder:ne,disabled:n,initialFocus:d,pagedNavigation:f,grid:ea,weekDays:_e,weekStartsOn:v,weekdayFormat:k,fixedWeeks:h,multiple:A,numberOfMonths:S,readonly:o,preventDeselect:$,fullCalendarLabel:Fe,headingValue:ht,isInvalid:ta,isDateSelected:br,isNextButtonDisabled:g,isPrevButtonDisabled:Z,isOutsideVisibleView:gt,nextPage:_t,prevPage:$t,parentElement:Qe,onPlaceholderChange:ie,onDateChange:wr,disableDaysOutsideCurrentView:ue,minValue:E,maxValue:O}),(T,Ue)=>(p(),w(l(Q),{ref_key:"primitiveElement",ref:ye,as:T.as,"as-child":T.asChild,"aria-label":l(Fe),"data-readonly":l(o)?"":void 0,"data-disabled":l(n)?"":void 0,"data-invalid":l(ta)?"":void 0,dir:l(Ze)},{default:u(()=>[C(T.$slots,"default",{date:l(ne),grid:l(ea),weekDays:l(_e),weekStartsOn:l(v),locale:l(qe),fixedWeeks:l(h),modelValue:l(q)}),c("div",Al,[c("div",Bl,D(l(Fe)),1)])]),_:3},8,["as","as-child","aria-label","data-readonly","data-disabled","data-invalid","dir"]))}}),Pl=Sl,Ol=M({__name:"CalendarCell",props:{date:{type:null,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"td"}},setup(t){const e=Te();return(a,r)=>(p(),w(l(Q),{as:a.as,"as-child":a.asChild,role:"gridcell","aria-selected":l(e).isDateSelected(a.date)?!0:void 0,"aria-disabled":l(e).isDateDisabled(a.date)||l(e).isDateUnavailable?.(a.date)||l(e).disableDaysOutsideCurrentView.value,"data-disabled":l(e).isDateDisabled(a.date)||l(e).disableDaysOutsideCurrentView.value?"":void 0},{default:u(()=>[C(a.$slots,"default")]),_:3},8,["as","as-child","aria-selected","aria-disabled","data-disabled"]))}}),Il=Ol,Vl=M({__name:"CalendarCellTrigger",props:{day:{type:null,required:!0},month:{type:null,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(t){const e=t,a=al(),r=Te(),{primitiveElement:n}=Ga(),o=F(()=>e.day.day.toLocaleString(r.locale.value)),d=F(()=>r.formatter.custom(N(e.day),{weekday:"long",month:"long",day:"numeric",year:"numeric"})),f=F(()=>r.isDateUnavailable?.(e.day)??!1),v=F(()=>Zr(e.day,X())),k=F(()=>!Za(e.day,e.month)),h=F(()=>r.isOutsideVisibleView(e.day)),A=F(()=>r.isDateDisabled(e.day)||r.disableDaysOutsideCurrentView.value&&k.value),E=F(()=>!r.disabled.value&&Ce(e.day,r.placeholder.value)),O=F(()=>r.isDateSelected(e.day));function S(_){r.readonly.value||r.isDateDisabled(_)||r.isDateUnavailable?.(_)||r.onDateChange(_)}function $(){A.value||S(e.day)}function m(_){if(A.value)return;_.preventDefault(),_.stopPropagation();const b=r.parentElement.value,P=7,R=r.dir.value==="rtl"?-1:1;switch(_.code){case a.ARROW_RIGHT:V(e.day,R);break;case a.ARROW_LEFT:V(e.day,-R);break;case a.ARROW_UP:V(e.day,-P);break;case a.ARROW_DOWN:V(e.day,P);break;case a.ENTER:case a.SPACE_CODE:S(e.day)}function V(re,oe){const ue=re.add({days:oe});if(r.minValue.value&&ue.compare(r.minValue.value)<0||r.maxValue.value&&ue.compare(r.maxValue.value)>0)return;const ye=b.querySelector(`[data-value='${ue.toString()}']:not([data-outside-view])`);if(!ye){if(oe>0){if(r.isNextButtonDisabled())return;r.nextPage()}else{if(r.isPrevButtonDisabled())return;r.prevPage()}Na(()=>{V(re,oe)});return}if(ye&&ye.hasAttribute("data-disabled"))return V(ue,oe);r.onPlaceholderChange(ue),ye?.focus()}}return(_,b)=>(p(),w(l(Q),I({ref_key:"primitiveElement",ref:n},e,{role:"button","aria-label":d.value,"data-reka-calendar-cell-trigger":"","aria-disabled":A.value||f.value?!0:void 0,"data-selected":O.value?!0:void 0,"data-value":_.day.toString(),"data-disabled":A.value?"":void 0,"data-unavailable":f.value?"":void 0,"data-today":v.value?"":void 0,"data-outside-view":k.value?"":void 0,"data-outside-visible-view":h.value?"":void 0,"data-focused":E.value?"":void 0,tabindex:E.value?0:k.value||A.value?void 0:-1,onClick:$,onKeydown:[na(m,["up","down","left","right","space","enter"]),b[0]||(b[0]=na(Rt(()=>{},["prevent"]),["enter"]))]}),{default:u(()=>[C(_.$slots,"default",{dayValue:o.value,disabled:A.value,today:v.value,selected:O.value,outsideView:k.value,outsideVisibleView:h.value,unavailable:f.value},()=>[y(D(o.value),1)])]),_:3},16,["aria-label","aria-disabled","data-selected","data-value","data-disabled","data-unavailable","data-today","data-outside-view","data-outside-visible-view","data-focused","tabindex"]))}}),Rl=Vl,Tl=M({__name:"CalendarGrid",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"table"}},setup(t){const e=t,a=Te(),r=F(()=>a.disabled.value?!0:void 0),n=F(()=>a.readonly.value?!0:void 0);return(o,d)=>(p(),w(l(Q),I(e,{tabindex:"-1",role:"grid","aria-readonly":n.value,"aria-disabled":r.value,"data-readonly":n.value&&"","data-disabled":r.value&&""}),{default:u(()=>[C(o.$slots,"default")]),_:3},16,["aria-readonly","aria-disabled","data-readonly","data-disabled"]))}}),ql=Tl,Fl=M({__name:"CalendarGridBody",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"tbody"}},setup(t){const e=t;return(a,r)=>(p(),w(l(Q),te(ae(e)),{default:u(()=>[C(a.$slots,"default")]),_:3},16))}}),Ul=Fl,Yl=M({__name:"CalendarGridHead",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"thead"}},setup(t){const e=t;return(a,r)=>(p(),w(l(Q),I(e,{"aria-hidden":"true"}),{default:u(()=>[C(a.$slots,"default")]),_:3},16))}}),Ll=Yl,Nl=M({__name:"CalendarGridRow",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"tr"}},setup(t){const e=t;return(a,r)=>(p(),w(l(Q),te(ae(e)),{default:u(()=>[C(a.$slots,"default")]),_:3},16))}}),Hl=Nl,Jl=M({__name:"CalendarHeadCell",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"th"}},setup(t){const e=t;return(a,r)=>(p(),w(l(Q),te(ae(e)),{default:u(()=>[C(a.$slots,"default")]),_:3},16))}}),Wl=Jl,Gl=M({__name:"CalendarHeader",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(t){const e=t;return(a,r)=>(p(),w(l(Q),te(ae(e)),{default:u(()=>[C(a.$slots,"default")]),_:3},16))}}),zl=Gl,jl=M({__name:"CalendarHeading",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(t){const e=t,a=Te();return(r,n)=>(p(),w(l(Q),I(e,{"data-disabled":l(a).disabled.value?"":void 0}),{default:u(()=>[C(r.$slots,"default",{headingValue:l(a).headingValue.value},()=>[y(D(l(a).headingValue.value),1)])]),_:3},16,["data-disabled"]))}}),Ql=jl,Zl=M({__name:"CalendarNext",props:{nextPage:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const e=t,a=F(()=>r.disabled.value||r.isNextButtonDisabled(e.nextPage)),r=Te();return(n,o)=>(p(),w(l(Q),{as:e.as,"as-child":e.asChild,"aria-label":"Next page",type:n.as==="button"?"button":void 0,"aria-disabled":a.value||void 0,"data-disabled":a.value||void 0,disabled:a.value,onClick:o[0]||(o[0]=d=>l(r).nextPage(e.nextPage))},{default:u(()=>[C(n.$slots,"default",{disabled:a.value},()=>[o[1]||(o[1]=y(" Next page "))])]),_:3},8,["as","as-child","type","aria-disabled","data-disabled","disabled"]))}}),Kl=Zl,Xl=M({__name:"CalendarPrev",props:{prevPage:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const e=t,a=F(()=>r.disabled.value||r.isPrevButtonDisabled(e.prevPage)),r=Te();return(n,o)=>(p(),w(l(Q),{"aria-label":"Previous page",as:e.as,"as-child":e.asChild,type:n.as==="button"?"button":void 0,"aria-disabled":a.value||void 0,"data-disabled":a.value||void 0,disabled:a.value,onClick:o[0]||(o[0]=d=>l(r).prevPage(e.prevPage))},{default:u(()=>[C(n.$slots,"default",{disabled:a.value},()=>[o[1]||(o[1]=y(" Prev page "))])]),_:3},8,["as","as-child","type","aria-disabled","data-disabled","disabled"]))}}),es=Xl;const ts=La("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);const as=La("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),rs={class:"group/native-select relative w-fit has-[select:disabled]:opacity-50","data-slot":"native-select-wrapper"},Fa=M({inheritAttrs:!1,__name:"NativeSelect",props:{modelValue:{},class:{}},emits:["update:modelValue"],setup(t,{emit:e}){const a=t,n=Wa(a,"modelValue",e,{passive:!0,defaultValue:""}),o=H(a,"class");return(d,f)=>(p(),B("div",rs,[Cr(c("select",I({...d.$attrs,...l(o)},{"onUpdate:modelValue":f[0]||(f[0]=v=>Ha(n)?n.value=v:null),"data-slot":"native-select",class:l(Y)("border-input placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 dark:hover:bg-input/50 h-9 w-full min-w-0 appearance-none rounded-md border bg-transparent px-3 py-2 pr-9 text-sm shadow-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",a.class)}),[C(d.$slots,"default")],16),[[Mr,l(n)]]),i(l(Pr),{class:"text-muted-foreground pointer-events-none absolute top-1/2 right-3.5 size-4 -translate-y-1/2 opacity-50 select-none","aria-hidden":"true","data-slot":"native-select-icon"})]))}}),Ua=M({__name:"NativeSelectOption",props:{class:{}},setup(t){const e=t;return(a,r)=>(p(),B("option",I({"data-slot":"native-select-option"},{class:l(Y)("bg-popover text-popover-foreground",e.class)}),[C(a.$slots,"default")],16))}}),ns={class:"**:data-[slot=native-select-icon]:right-1"},ls={class:"relative"},ss={class:"absolute inset-0 flex h-full items-center text-sm pl-2 pointer-events-none"},os={class:"**:data-[slot=native-select-icon]:right-1"},us={class:"relative"},is={class:"absolute inset-0 flex h-full items-center text-sm pl-2 pointer-events-none"},ds={class:"flex items-center gap-1 absolute top-0 inset-x-0 justify-between"},fs={key:0,class:"flex items-center justify-center gap-1"},cs={key:1,class:"flex items-center justify-center gap-1"},ps={key:2,class:"flex items-center justify-center gap-1"},ms={class:"flex flex-col gap-y-4 mt-4 sm:flex-row sm:gap-x-4 sm:gap-y-0"},ys=M({__name:"Calendar",props:{defaultValue:{},defaultPlaceholder:{},placeholder:{},pagedNavigation:{type:Boolean},preventDeselect:{type:Boolean},weekStartsOn:{},weekdayFormat:{},calendarLabel:{},fixedWeeks:{type:Boolean},maxValue:{},minValue:{},locale:{},numberOfMonths:{},disabled:{type:Boolean},readonly:{type:Boolean},initialFocus:{type:Boolean},isDateDisabled:{},isDateUnavailable:{},dir:{},nextPage:{},prevPage:{},modelValue:{default:void 0},multiple:{type:Boolean},disableDaysOutsideCurrentView:{type:Boolean},asChild:{type:Boolean},as:{},class:{},layout:{default:void 0},yearRange:{}},emits:["update:modelValue","update:placeholder"],setup(t,{emit:e}){const a=t,r=e,n=H(a,"class","layout","placeholder"),o=Wa(a,"placeholder",r,{passive:!0,defaultValue:a.defaultPlaceholder??Je(X())}),d=_r(a.locale??"en"),f=F(()=>a.yearRange??tl({start:a?.minValue??(la(a.placeholder)??a.defaultPlaceholder??Je(X())).cycle("year",-100),end:a?.maxValue??(la(a.placeholder)??a.defaultPlaceholder??Je(X())).cycle("year",10)})),[v,k]=oa(),[h,A]=oa(),E=mt(n,r);return(O,S)=>(p(),B(fe,null,[i(l(v),null,{default:u(({date:$})=>[c("div",ns,[c("div",ls,[c("div",ss,D(l(d).custom(l(N)($),{month:"short"})),1),i(l(Fa),{class:"text-xs h-8 pr-6 pl-2 text-transparent relative",onChange:S[0]||(S[0]=m=>{o.value=l(o).set({month:Number(m?.target?.value)})})},{default:u(()=>[(p(!0),B(fe,null,ve(l(el)({dateObj:$}),m=>(p(),w(l(Ua),{key:m.toString(),value:m.month,selected:$.month===m.month},{default:u(()=>[y(D(l(d).custom(l(N)(m),{month:"short"})),1)]),_:2},1032,["value","selected"]))),128))]),_:2},1024)])])]),_:1}),i(l(h),null,{default:u(({date:$})=>[c("div",os,[c("div",us,[c("div",is,D(l(d).custom(l(N)($),{year:"numeric"})),1),i(l(Fa),{class:"text-xs h-8 pr-6 pl-2 text-transparent relative",onChange:S[1]||(S[1]=m=>{o.value=l(o).set({year:Number(m?.target?.value)})})},{default:u(()=>[(p(!0),B(fe,null,ve(f.value,m=>(p(),w(l(Ua),{key:m.toString(),value:m.year,selected:$.year===m.year},{default:u(()=>[y(D(l(d).custom(l(N)(m),{year:"numeric"})),1)]),_:2},1032,["value","selected"]))),128))]),_:2},1024)])])]),_:1}),i(l(Pl),I(l(E),{placeholder:l(o),"onUpdate:placeholder":S[2]||(S[2]=$=>Ha(o)?o.value=$:null),"data-slot":"calendar",class:l(Y)("p-3",a.class)}),{default:u(({grid:$,weekDays:m,date:_})=>[i(l(ws),{class:"pt-0"},{default:u(()=>[c("nav",ds,[i(l(Cs),null,{default:u(()=>[C(O.$slots,"calendar-prev-icon")]),_:3}),i(l(Ds),null,{default:u(()=>[C(O.$slots,"calendar-next-icon")]),_:3})]),C(O.$slots,"calendar-heading",{date:_,month:l(k),year:l(A)},()=>[t.layout==="month-and-year"?(p(),B("div",fs,[i(l(k),{date:_},null,8,["date"]),i(l(A),{date:_},null,8,["date"])])):t.layout==="month-only"?(p(),B("div",cs,[i(l(k),{date:_},null,8,["date"]),y(" "+D(l(d).custom(l(N)(_),{year:"numeric"})),1)])):t.layout==="year-only"?(p(),B("div",ps,[y(D(l(d).custom(l(N)(_),{month:"short"}))+" ",1),i(l(A),{date:_},null,8,["date"])])):(p(),w(l(xs),{key:3}))])]),_:2},1024),c("div",ms,[(p(!0),B(fe,null,ve($,b=>(p(),w(l(gs),{key:b.value.toString()},{default:u(()=>[i(l($s),null,{default:u(()=>[i(l(Ya),null,{default:u(()=>[(p(!0),B(fe,null,ve(m,P=>(p(),w(l(bs),{key:P},{default:u(()=>[y(D(P),1)]),_:2},1024))),128))]),_:2},1024)]),_:2},1024),i(l(_s),null,{default:u(()=>[(p(!0),B(fe,null,ve(b.rows,(P,R)=>(p(),w(l(Ya),{key:`weekDate-${R}`,class:"mt-2 w-full"},{default:u(()=>[(p(!0),B(fe,null,ve(P,V=>(p(),w(l(vs),{key:V.toString(),date:V},{default:u(()=>[i(l(hs),{day:V,month:b.value},null,8,["day","month"])]),_:2},1032,["date"]))),128))]),_:2},1024))),128))]),_:2},1024)]),_:2},1024))),128))])]),_:3},16,["placeholder","class"])],64))}}),vs=M({__name:"CalendarCell",props:{date:{},asChild:{type:Boolean},as:{},class:{}},setup(t){const e=t,a=H(e,"class"),r=me(a);return(n,o)=>(p(),w(l(Il),I({"data-slot":"calendar-cell",class:l(Y)("relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([data-selected])]:rounded-md [&:has([data-selected])]:bg-accent",e.class)},l(r)),{default:u(()=>[C(n.$slots,"default")]),_:3},16,["class"]))}}),hs=M({__name:"CalendarCellTrigger",props:{day:{},month:{},asChild:{type:Boolean},as:{default:"button"},class:{}},setup(t){const e=t,a=H(e,"class"),r=me(a);return(n,o)=>(p(),w(l(Rl),I({"data-slot":"calendar-cell-trigger",class:l(Y)(l(ze)({variant:"ghost"}),"size-8 p-0 font-normal aria-selected:opacity-100 cursor-default","[&[data-today]:not([data-selected])]:bg-accent [&[data-today]:not([data-selected])]:text-accent-foreground","data-[selected]:bg-primary data-[selected]:text-primary-foreground data-[selected]:opacity-100 data-[selected]:hover:bg-primary data-[selected]:hover:text-primary-foreground data-[selected]:focus:bg-primary data-[selected]:focus:text-primary-foreground","data-[disabled]:text-muted-foreground data-[disabled]:opacity-50","data-[unavailable]:text-destructive-foreground data-[unavailable]:line-through","data-[outside-view]:text-muted-foreground",e.class)},l(r)),{default:u(()=>[C(n.$slots,"default")]),_:3},16,["class"]))}}),gs=M({__name:"CalendarGrid",props:{asChild:{type:Boolean},as:{},class:{}},setup(t){const e=t,a=H(e,"class"),r=me(a);return(n,o)=>(p(),w(l(ql),I({"data-slot":"calendar-grid",class:l(Y)("w-full border-collapse space-x-1",e.class)},l(r)),{default:u(()=>[C(n.$slots,"default")]),_:3},16,["class"]))}}),_s=M({__name:"CalendarGridBody",props:{asChild:{type:Boolean},as:{}},setup(t){const e=t;return(a,r)=>(p(),w(l(Ul),I({"data-slot":"calendar-grid-body"},e),{default:u(()=>[C(a.$slots,"default")]),_:3},16))}}),$s=M({__name:"CalendarGridHead",props:{asChild:{type:Boolean},as:{},class:{}},setup(t){const e=t;return(a,r)=>(p(),w(l(Ll),I({"data-slot":"calendar-grid-head"},e),{default:u(()=>[C(a.$slots,"default")]),_:3},16))}}),Ya=M({__name:"CalendarGridRow",props:{asChild:{type:Boolean},as:{},class:{}},setup(t){const e=t,a=H(e,"class"),r=me(a);return(n,o)=>(p(),w(l(Hl),I({"data-slot":"calendar-grid-row",class:l(Y)("flex",e.class)},l(r)),{default:u(()=>[C(n.$slots,"default")]),_:3},16,["class"]))}}),bs=M({__name:"CalendarHeadCell",props:{asChild:{type:Boolean},as:{},class:{}},setup(t){const e=t,a=H(e,"class"),r=me(a);return(n,o)=>(p(),w(l(Wl),I({"data-slot":"calendar-head-cell",class:l(Y)("text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem]",e.class)},l(r)),{default:u(()=>[C(n.$slots,"default")]),_:3},16,["class"]))}}),ws=M({__name:"CalendarHeader",props:{asChild:{type:Boolean},as:{},class:{}},setup(t){const e=t,a=H(e,"class"),r=me(a);return(n,o)=>(p(),w(l(zl),I({"data-slot":"calendar-header",class:l(Y)("flex justify-center pt-1 relative items-center w-full px-8",e.class)},l(r)),{default:u(()=>[C(n.$slots,"default")]),_:3},16,["class"]))}}),xs=M({__name:"CalendarHeading",props:{asChild:{type:Boolean},as:{},class:{}},setup(t){const e=t,a=H(e,"class"),r=me(a);return(n,o)=>(p(),w(l(Ql),I({"data-slot":"calendar-heading",class:l(Y)("text-sm font-medium",e.class)},l(r)),{default:u(({headingValue:d})=>[C(n.$slots,"default",{headingValue:d},()=>[y(D(d),1)])]),_:3},16,["class"]))}}),Ds=M({__name:"CalendarNextButton",props:{nextPage:{type:Function},asChild:{type:Boolean},as:{},class:{}},setup(t){const e=t,a=H(e,"class"),r=me(a);return(n,o)=>(p(),w(l(Kl),I({"data-slot":"calendar-next-button",class:l(Y)(l(ze)({variant:"outline"}),"size-7 bg-transparent p-0 opacity-50 hover:opacity-100",e.class)},l(r)),{default:u(()=>[C(n.$slots,"default",{},()=>[i(l(as),{class:"size-4"})])]),_:3},16,["class"]))}}),Cs=M({__name:"CalendarPrevButton",props:{prevPage:{type:Function},asChild:{type:Boolean},as:{},class:{}},setup(t){const e=t,a=H(e,"class"),r=me(a);return(n,o)=>(p(),w(l(es),I({"data-slot":"calendar-prev-button",class:l(Y)(l(ze)({variant:"outline"}),"size-7 bg-transparent p-0 opacity-50 hover:opacity-100",e.class)},l(r)),{default:u(()=>[C(n.$slots,"default",{},()=>[i(l(ts),{class:"size-4"})])]),_:3},16,["class"]))}}),Ms=M({__name:"AlertDialog",props:{open:{type:Boolean},defaultOpen:{type:Boolean}},emits:["update:open"],setup(t,{emit:e}){const n=mt(t,e);return(o,d)=>(p(),w(l(_l),I({"data-slot":"alert-dialog"},l(n)),{default:u(f=>[C(o.$slots,"default",te(ae(f)))]),_:3},16))}}),ks=M({__name:"AlertDialogAction",props:{asChild:{type:Boolean},as:{},class:{}},setup(t){const e=t,a=H(e,"class");return(r,n)=>(p(),w(l(ll),I(l(a),{class:l(Y)(l(ze)(),e.class)}),{default:u(()=>[C(r.$slots,"default")]),_:3},16,["class"]))}}),As=M({__name:"AlertDialogCancel",props:{asChild:{type:Boolean},as:{},class:{}},setup(t){const e=t,a=H(e,"class");return(r,n)=>(p(),w(l(fl),I(l(a),{class:l(Y)(l(ze)({variant:"outline"}),"mt-2 sm:mt-0",e.class)}),{default:u(()=>[C(r.$slots,"default")]),_:3},16,["class"]))}}),Bs=M({inheritAttrs:!1,__name:"AlertDialogContent",props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:e}){const a=t,r=e,n=H(a,"class"),o=mt(n,r);return(d,f)=>(p(),w(l(hl),null,{default:u(()=>[i(l(yl),{"data-slot":"alert-dialog-overlay",class:"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80"}),i(l(il),I({"data-slot":"alert-dialog-content"},{...d.$attrs,...l(o)},{class:l(Y)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",a.class)}),{default:u(()=>[C(d.$slots,"default")]),_:3},16,["class"])]),_:3}))}}),Es=M({__name:"AlertDialogDescription",props:{asChild:{type:Boolean},as:{},class:{}},setup(t){const e=t,a=H(e,"class");return(r,n)=>(p(),w(l(pl),I({"data-slot":"alert-dialog-description"},l(a),{class:l(Y)("text-muted-foreground text-sm",e.class)}),{default:u(()=>[C(r.$slots,"default")]),_:3},16,["class"]))}}),Ss=M({__name:"AlertDialogFooter",props:{class:{}},setup(t){const e=t;return(a,r)=>(p(),B("div",{"data-slot":"alert-dialog-footer",class:Ja(l(Y)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e.class))},[C(a.$slots,"default")],2))}}),Ps=M({__name:"AlertDialogHeader",props:{class:{}},setup(t){const e=t;return(a,r)=>(p(),B("div",{"data-slot":"alert-dialog-header",class:Ja(l(Y)("flex flex-col gap-2 text-center sm:text-left",e.class))},[C(a.$slots,"default")],2))}}),Os=M({__name:"AlertDialogTitle",props:{asChild:{type:Boolean},as:{},class:{}},setup(t){const e=t,a=H(e,"class");return(r,n)=>(p(),w(l(bl),I({"data-slot":"alert-dialog-title"},l(a),{class:l(Y)("text-lg font-semibold",e.class)}),{default:u(()=>[C(r.$slots,"default")]),_:3},16,["class"]))}}),Is={class:"mb-8"},Vs={class:"md:flex md:items-center md:justify-between"},Rs={class:"mt-4 flex md:mt-0 md:ml-4"},Ts={class:"grid grid-cols-1 md:grid-cols-4 gap-4"},qs={class:"md:col-span-2"},Fs={class:"flex items-end"},Us={class:"flex items-center justify-between"},Ys={key:0,class:"space-y-4"},Ls={key:1,class:"text-center py-12"},Ns={key:2,class:"overflow-x-auto"},Hs={key:0},Js={key:1,class:"text-gray-500"},Ws={class:"flex items-center space-x-2"},Gs={key:0,class:"w-4 h-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},zs={key:1,class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},js={key:3,class:"flex items-center justify-between mt-6"},Qs={class:"text-sm text-gray-700"},Zs={class:"flex items-center space-x-2"},Ks={key:0,class:"space-y-4 py-4"},Xs={class:"text-xs text-gray-500 mt-1"},eo={key:0},to={class:"text-xs text-gray-500 mt-1"},ao={key:1},ro={class:"flex gap-2 mt-1.5"},no={class:"flex-1"},lo={class:"w-32"},so={class:"text-xs text-gray-500 mt-1"},oo={key:2},uo={class:"flex items-center gap-2 mt-1.5"},io={key:0,class:"animate-spin -ml-1 mr-2 h-4 w-4",fill:"none",viewBox:"0 0 24 24"},fo={class:"text-gray-900"},co={key:0,class:"py-4 space-y-4"},po={class:"grid grid-cols-2 gap-4 text-sm"},mo={class:"space-y-2"},yo={class:"space-y-2"},vo={key:0},ho={key:1,class:"text-gray-500"},go={key:0},_o={class:"text-gray-600 bg-gray-50 p-2 rounded"},$o={key:1},bo={class:"bg-gray-50 p-3 rounded max-h-40 overflow-y-auto"},wo={class:"text-sm whitespace-pre-wrap"},xo={key:2},Do={class:"font-medium mb-2"},Co={class:"space-y-2 max-h-40 overflow-y-auto"},Mo={class:"font-medium"},ko={class:"text-xs text-gray-500"},Ao=M({__name:"BatchManagement",setup(t){const{config:e}=kr(),a=L(!0),r=L([]),n=L(null),o=L(!1),d=L(new Set),f=L(!1),v=L(null),k=L(!1),h=wt({type:"file",content:"",remark:"",expire_type:"permanent",expire_at:"",max_downloads:0,download_count:0,status:"active"}),A=L(),E=L("23:59"),O=L(!1),S=F(()=>({pickupCodeLength:e.value?.security?.pickup_code_length||6,maxFileSize:e.value?.upload?.max_file_size_mb||100,maxBatchFiles:e.value?.upload?.max_batch_files||10,maxRetentionDays:e.value?.upload?.max_retention_days||30})),$=L(!1),m=L(null),_=wt({status:"all",pickupCode:""}),b=wt({page:1,pageSize:20,total:0}),P=async()=>{a.value=!0;try{const x={page:b.page,page_size:b.pageSize};_.status&&_.status!=="all"&&(x.status=_.status),_.pickupCode.trim()&&(x.pickup_code=_.pickupCode.trim());const s=await Ye.getBatches(x);if(s.data.code===200)r.value=s.data.data.data,b.total=s.data.data.total,b.page=s.data.data.page,b.pageSize=s.data.data.page_size;else throw new Error(s.data.msg||"获取批次列表失败")}catch(x){console.error("获取批次列表失败:",x),J.error(x.response?.data?.msg||"获取批次列表失败")}finally{a.value=!1}},R=()=>{b.page=1,P()},V=()=>{_.status="all",_.pickupCode="",b.page=1,P()},re=()=>{P(),J.success("数据已刷新")},oe=x=>{b.page=x,P()},ue=async x=>{try{const s=await Ye.getBatchDetail(x.id);s.data.code===200&&(n.value=s.data.data,o.value=!0)}catch{J.error("获取批次详情失败")}},ye=async x=>{try{const s=await Ye.getBatchDetail(x.id);if(s.data.code===200){if(v.value=s.data.data,h.type=v.value.type,h.content=v.value.content||"",h.remark=v.value.remark||"",h.expire_type=v.value.expire_type,h.max_downloads=v.value.max_downloads||0,h.download_count=v.value.download_count||0,h.status=v.value.status,v.value.expire_at){const g=new Date(v.value.expire_at);A.value=nn(g,X());const Z=String(g.getHours()).padStart(2,"0"),_e=String(g.getMinutes()).padStart(2,"0");E.value=`${Z}:${_e}`;const gt=g.getFullYear(),_t=String(g.getMonth()+1).padStart(2,"0"),$t=String(g.getDate()).padStart(2,"0");h.expire_at=`${gt}-${_t}-${$t}T${Z}:${_e}`}else A.value=void 0,E.value="23:59",h.expire_at="";f.value=!0}}catch{J.error("获取批次信息失败")}},Qe=async()=>{if(v.value){if(h.type==="text"&&!h.content.trim()){J.error("文本内容不能为空");return}if(h.expire_type==="time"&&h.expire_at){const x=new Date(h.expire_at),s=new Date;if(s.setDate(s.getDate()+S.value.maxRetentionDays),x>s){J.error(`过期时间不能超过 ${S.value.maxRetentionDays} 天`);return}if(x9999){J.error("最大下载次数不能超过9999次");return}}if(h.download_count<0){J.error("已下载次数不能为负数");return}k.value=!0;try{const x={type:h.type,content:h.type==="text"?h.content:void 0,remark:h.remark||null,expire_type:h.expire_type,max_downloads:h.max_downloads||0,download_count:h.download_count,status:h.status};if(h.expire_type==="time"&&A.value){const g=A.value.toDate(X()),[Z="0",_e="0"]=E.value.split(":");g.setHours(parseInt(Z),parseInt(_e),0,0),x.expire_at=g.toISOString()}else x.expire_at=null;const s=await Ye.updateBatch(v.value.id,x);if(s.data.code===200)J.success("批次更新成功"),f.value=!1,P();else throw new Error(s.data.msg||"更新失败")}catch(x){console.error("更新批次失败:",x),J.error(x.response?.data?.msg||"更新批次失败")}finally{k.value=!1}}},qe=x=>{m.value=x,$.value=!0},Ze=async()=>{if(!m.value)return;const x=m.value.id;d.value.add(x);try{const s=await Ye.deleteBatch(x);if(s.data.code===200)J.success("批次删除成功"),$.value=!1,m.value=null,P();else throw new Error(s.data.msg||"删除失败")}catch(s){console.error("删除批次失败:",s),J.error(s.response?.data?.msg||"删除批次失败")}finally{d.value.delete(x)}},q=x=>{switch(x){case"active":return"default";case"expired":return"secondary";case"deleted":return"destructive";default:return"outline"}},Ke=x=>{switch(x){case"active":return"活跃";case"expired":return"已过期";case"deleted":return"已删除";default:return"未知"}},ne=x=>{switch(x){case"time":return"按时间";case"download":return"按下载次数";case"permanent":return"永久保存";default:return"未知"}},ie=x=>sa.formatDate(x),Fe=x=>sa.formatFileSize(x),ht=()=>{const x=/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$/;if(!E.value){E.value="23:59";return}let s=E.value.replace(/[^\d:]/g,"");if(s.includes(":")||(s.length===3?s=s[0]+":"+s.slice(1):s.length===4&&(s=s.slice(0,2)+":"+s.slice(2))),x.test(s)){const[g="0",Z="0"]=s.split(":");E.value=`${g.padStart(2,"0")}:${Z.padStart(2,"0")}`}else J.error("时间格式不正确,请使用 HH:MM 格式(如 23:59)"),E.value="23:59"};return Ht(()=>{P()}),(x,s)=>(p(),w(Gr,null,{default:u(()=>[c("div",Is,[c("div",Vs,[s[21]||(s[21]=c("div",{class:"flex-1 min-w-0"},[c("h2",{class:"text-3xl font-bold text-gray-900"},"文件批次管理"),c("p",{class:"mt-2 text-gray-600"},"管理系统中的所有文件批次")],-1)),c("div",Rs,[i(l(G),{onClick:re,variant:"outline",size:"sm",class:"mr-2"},{default:u(()=>[...s[20]||(s[20]=[c("svg",{class:"w-4 h-4 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[c("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})],-1),y(" 刷新 ",-1)])]),_:1})])])]),i(l(ra),{class:"mb-6"},{default:u(()=>[i(l(aa),{class:"pt-6"},{default:u(()=>[c("div",Ts,[c("div",null,[i(l(K),{for:"status-filter"},{default:u(()=>[...s[22]||(s[22]=[y("状态筛选",-1)])]),_:1}),i(l(et),{modelValue:_.status,"onUpdate:modelValue":s[0]||(s[0]=g=>_.status=g)},{default:u(()=>[i(l(tt),{class:"mt-1.5"},{default:u(()=>[i(l(at),{placeholder:"全部状态"})]),_:1}),i(l(rt),null,{default:u(()=>[i(l(z),{value:"all"},{default:u(()=>[...s[23]||(s[23]=[y("全部状态",-1)])]),_:1}),i(l(z),{value:"active"},{default:u(()=>[...s[24]||(s[24]=[y("活跃",-1)])]),_:1}),i(l(z),{value:"expired"},{default:u(()=>[...s[25]||(s[25]=[y("已过期",-1)])]),_:1}),i(l(z),{value:"deleted"},{default:u(()=>[...s[26]||(s[26]=[y("已删除",-1)])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),c("div",qs,[i(l(K),{for:"pickup-code"},{default:u(()=>[...s[27]||(s[27]=[y("取件码搜索",-1)])]),_:1}),i(l(Le),{id:"pickup-code",modelValue:_.pickupCode,"onUpdate:modelValue":s[1]||(s[1]=g=>_.pickupCode=g),placeholder:"输入取件码进行搜索..."},null,8,["modelValue"])]),c("div",Fs,[i(l(G),{onClick:R,class:"mr-2"},{default:u(()=>[...s[28]||(s[28]=[c("svg",{class:"w-4 h-4 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[c("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1),y(" 搜索 ",-1)])]),_:1}),i(l(G),{variant:"outline",onClick:V},{default:u(()=>[...s[29]||(s[29]=[y(" 清空 ",-1)])]),_:1})])])]),_:1})]),_:1}),i(l(ra),null,{default:u(()=>[i(l(Ar),null,{default:u(()=>[c("div",Us,[c("div",null,[i(l(Br),null,{default:u(()=>[...s[30]||(s[30]=[y("批次列表",-1)])]),_:1}),i(l(Er),null,{default:u(()=>[y(" 共 "+D(b.total)+" 个批次,当前第 "+D(b.page)+" 页 ",1)]),_:1})])])]),_:1}),i(l(aa),null,{default:u(()=>[a.value?(p(),B("div",Ys,[i(l(Dt),{class:"h-4 w-full"}),i(l(Dt),{class:"h-4 w-3/4"}),i(l(Dt),{class:"h-4 w-1/2"})])):r.value.length===0?(p(),B("div",Ls,[...s[31]||(s[31]=[c("svg",{class:"w-16 h-16 mx-auto text-gray-400 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[c("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})],-1),c("p",{class:"text-gray-500 text-lg"},"暂无批次数据",-1),c("p",{class:"text-gray-400 text-sm"},"尝试调整筛选条件或刷新页面",-1)])])):(p(),B("div",Ns,[i(l(Or),null,{default:u(()=>[i(l(Ir),null,{default:u(()=>[i(l(ia),null,{default:u(()=>[i(l($e),null,{default:u(()=>[...s[32]||(s[32]=[y("取件码",-1)])]),_:1}),i(l($e),null,{default:u(()=>[...s[33]||(s[33]=[y("类型",-1)])]),_:1}),i(l($e),null,{default:u(()=>[...s[34]||(s[34]=[y("状态",-1)])]),_:1}),i(l($e),null,{default:u(()=>[...s[35]||(s[35]=[y("下载次数",-1)])]),_:1}),i(l($e),null,{default:u(()=>[...s[36]||(s[36]=[y("创建时间",-1)])]),_:1}),i(l($e),null,{default:u(()=>[...s[37]||(s[37]=[y("过期时间",-1)])]),_:1}),i(l($e),{class:"text-center"},{default:u(()=>[...s[38]||(s[38]=[y("操作",-1)])]),_:1})]),_:1})]),_:1}),i(l(Vr),null,{default:u(()=>[(p(!0),B(fe,null,ve(r.value,g=>(p(),w(l(ia),{key:g.id,class:"hover:bg-gray-50"},{default:u(()=>[i(l(be),{class:"font-medium font-mono"},{default:u(()=>[y(D(g.pickup_code),1)]),_:2},1024),i(l(be),null,{default:u(()=>[i(l(xt),{variant:"outline"},{default:u(()=>[y(D(g.type==="text"?"文本":"文件"),1)]),_:2},1024)]),_:2},1024),i(l(be),null,{default:u(()=>[i(l(xt),{variant:q(g.status)},{default:u(()=>[y(D(Ke(g.status)),1)]),_:2},1032,["variant"])]),_:2},1024),i(l(be),null,{default:u(()=>[y(D(g.download_count)+D(g.max_downloads?` / ${g.max_downloads}`:""),1)]),_:2},1024),i(l(be),null,{default:u(()=>[y(D(ie(g.created_at)),1)]),_:2},1024),i(l(be),null,{default:u(()=>[g.expire_at?(p(),B("span",Hs,D(ie(g.expire_at)),1)):(p(),B("span",Js,"永不过期"))]),_:2},1024),i(l(be),null,{default:u(()=>[c("div",Ws,[i(l(G),{variant:"outline",size:"sm",onClick:Z=>ue(g)},{default:u(()=>[...s[39]||(s[39]=[c("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[c("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"}),c("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"})],-1)])]),_:1},8,["onClick"]),i(l(G),{variant:"outline",size:"sm",onClick:Z=>ye(g)},{default:u(()=>[...s[40]||(s[40]=[c("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[c("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"})],-1)])]),_:1},8,["onClick"]),i(l(G),{variant:"destructive",size:"sm",onClick:Z=>qe(g),disabled:d.value.has(g.id)},{default:u(()=>[d.value.has(g.id)?(p(),B("svg",Gs,[...s[41]||(s[41]=[c("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),c("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 0 1 8-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 0 1 4 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):(p(),B("svg",zs,[...s[42]||(s[42]=[c("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"},null,-1)])]))]),_:2},1032,["onClick","disabled"])])]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})])),b.total>b.pageSize?(p(),B("div",js,[c("div",Qs," 显示第 "+D((b.page-1)*b.pageSize+1)+" 到 "+D(Math.min(b.page*b.pageSize,b.total))+" 条, 共 "+D(b.total)+" 条记录 ",1),c("div",Zs,[i(l(G),{variant:"outline",size:"sm",onClick:s[2]||(s[2]=g=>oe(b.page-1)),disabled:b.page<=1},{default:u(()=>[...s[43]||(s[43]=[y(" 上一页 ",-1)])]),_:1},8,["disabled"]),i(l(G),{variant:"outline",size:"sm",onClick:s[3]||(s[3]=g=>oe(b.page+1)),disabled:b.page>=Math.ceil(b.total/b.pageSize)},{default:u(()=>[...s[44]||(s[44]=[y(" 下一页 ",-1)])]),_:1},8,["disabled"])])])):le("",!0)]),_:1})]),_:1}),i(l(va),{open:f.value,"onUpdate:open":s[16]||(s[16]=g=>f.value=g)},{default:u(()=>[i(l(fa),{class:"sm:max-w-[500px]"},{default:u(()=>[i(l(ca),null,{default:u(()=>[i(l(pa),null,{default:u(()=>[...s[45]||(s[45]=[y("编辑批次",-1)])]),_:1}),i(l(ma),null,{default:u(()=>[...s[46]||(s[46]=[y(" 修改批次的类型、内容、过期策略和状态等信息 ",-1)])]),_:1})]),_:1}),v.value?(p(),B("div",Ks,[c("div",null,[i(l(K),null,{default:u(()=>[...s[47]||(s[47]=[y("取件码",-1)])]),_:1}),i(l(Le),{"model-value":v.value.pickup_code,disabled:"",class:"mt-1.5 bg-gray-50"},null,8,["model-value"]),c("p",Xs,"当前系统配置的取件码长度:"+D(S.value.pickupCodeLength)+" 位",1)]),c("div",null,[i(l(K),{for:"edit-type"},{default:u(()=>[...s[48]||(s[48]=[y("批次类型",-1)])]),_:1}),i(l(et),{modelValue:h.type,"onUpdate:modelValue":s[4]||(s[4]=g=>h.type=g)},{default:u(()=>[i(l(tt),{id:"edit-type",class:"mt-1.5"},{default:u(()=>[i(l(at))]),_:1}),i(l(rt),null,{default:u(()=>[i(l(z),{value:"file"},{default:u(()=>[...s[49]||(s[49]=[y("文件",-1)])]),_:1}),i(l(z),{value:"text"},{default:u(()=>[...s[50]||(s[50]=[y("文本",-1)])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),h.type==="text"?(p(),B("div",eo,[i(l(K),{for:"edit-content"},{default:u(()=>[...s[51]||(s[51]=[y("文本内容",-1)])]),_:1}),i(l(ua),{id:"edit-content",modelValue:h.content,"onUpdate:modelValue":s[5]||(s[5]=g=>h.content=g),placeholder:"文本内容...",class:"mt-1.5 resize-none",rows:"4",maxlength:1e6},null,8,["modelValue"]),c("p",to,"当前字符数:"+D(h.content.length),1)])):le("",!0),c("div",null,[i(l(K),{for:"edit-remark"},{default:u(()=>[...s[52]||(s[52]=[y("备注信息",-1)])]),_:1}),i(l(ua),{id:"edit-remark",modelValue:h.remark,"onUpdate:modelValue":s[6]||(s[6]=g=>h.remark=g),placeholder:"添加备注说明...",class:"mt-1.5 resize-none",rows:"3"},null,8,["modelValue"])]),c("div",null,[i(l(K),{for:"edit-expire-type"},{default:u(()=>[...s[53]||(s[53]=[y("过期策略",-1)])]),_:1}),i(l(et),{modelValue:h.expire_type,"onUpdate:modelValue":s[7]||(s[7]=g=>h.expire_type=g)},{default:u(()=>[i(l(tt),{id:"edit-expire-type",class:"mt-1.5"},{default:u(()=>[i(l(at))]),_:1}),i(l(rt),null,{default:u(()=>[i(l(z),{value:"permanent"},{default:u(()=>[...s[54]||(s[54]=[y("永久",-1)])]),_:1}),i(l(z),{value:"time"},{default:u(()=>[...s[55]||(s[55]=[y("时间过期",-1)])]),_:1}),i(l(z),{value:"download"},{default:u(()=>[...s[56]||(s[56]=[y("下载过期",-1)])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),h.expire_type==="time"?(p(),B("div",ao,[i(l(K),null,{default:u(()=>[...s[57]||(s[57]=[y("过期时间",-1)])]),_:1}),c("div",ro,[c("div",no,[i(l(Fr),{open:O.value,"onUpdate:open":s[9]||(s[9]=g=>O.value=g)},{default:u(()=>[i(l(Ur),{"as-child":""},{default:u(()=>[i(l(G),{variant:"outline",class:"w-full justify-start font-normal"},{default:u(()=>[s[58]||(s[58]=c("svg",{class:"w-4 h-4 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[c("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})],-1)),y(" "+D(A.value?A.value.toDate(l(X)()).toLocaleDateString("zh-CN"):"选择日期"),1)]),_:1})]),_:1}),i(l(Yr),{class:"w-auto overflow-hidden p-0",align:"start"},{default:u(()=>[i(l(ys),{"model-value":A.value,layout:"month-and-year","onUpdate:modelValue":s[8]||(s[8]=g=>{g&&(A.value=g,O.value=!1)}),locale:"zh-CN"},null,8,["model-value"])]),_:1})]),_:1},8,["open"])]),c("div",lo,[i(l(Le),{modelValue:E.value,"onUpdate:modelValue":s[10]||(s[10]=g=>E.value=g),type:"text",placeholder:"23:59",maxlength:"5",class:"bg-background",onBlur:ht},null,8,["modelValue"])])]),c("p",so,"最长保存时间不超过 "+D(S.value.maxRetentionDays)+" 天,时间格式:HH:MM",1)])):le("",!0),h.expire_type==="download"?(p(),B("div",oo,[i(l(K),{for:"edit-max-downloads"},{default:u(()=>[...s[59]||(s[59]=[y("最大下载次数",-1)])]),_:1}),i(l(Le),{id:"edit-max-downloads",modelValue:h.max_downloads,"onUpdate:modelValue":s[11]||(s[11]=g=>h.max_downloads=g),modelModifiers:{number:!0},type:"number",min:"1",max:"9999",placeholder:"最大下载次数",class:"mt-1.5"},null,8,["modelValue"]),s[60]||(s[60]=c("p",{class:"text-xs text-gray-500 mt-1"},"设置下载次数范围:1-9999",-1))])):le("",!0),c("div",null,[i(l(K),{for:"edit-status"},{default:u(()=>[...s[61]||(s[61]=[y("批次状态",-1)])]),_:1}),i(l(et),{modelValue:h.status,"onUpdate:modelValue":s[12]||(s[12]=g=>h.status=g)},{default:u(()=>[i(l(tt),{id:"edit-status",class:"mt-1.5"},{default:u(()=>[i(l(at))]),_:1}),i(l(rt),null,{default:u(()=>[i(l(z),{value:"active"},{default:u(()=>[...s[62]||(s[62]=[y("活跃",-1)])]),_:1}),i(l(z),{value:"expired"},{default:u(()=>[...s[63]||(s[63]=[y("已过期",-1)])]),_:1}),i(l(z),{value:"deleted"},{default:u(()=>[...s[64]||(s[64]=[y("已删除",-1)])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),c("div",null,[i(l(K),{for:"edit-download-count"},{default:u(()=>[...s[65]||(s[65]=[y("已下载次数",-1)])]),_:1}),c("div",uo,[i(l(Le),{id:"edit-download-count",modelValue:h.download_count,"onUpdate:modelValue":s[13]||(s[13]=g=>h.download_count=g),modelModifiers:{number:!0},type:"number",disabled:"",class:"bg-gray-50"},null,8,["modelValue"]),i(l(G),{variant:"outline",size:"sm",onClick:s[14]||(s[14]=g=>h.download_count=0),disabled:h.download_count===0},{default:u(()=>[...s[66]||(s[66]=[y(" 重置 ",-1)])]),_:1},8,["disabled"])]),s[67]||(s[67]=c("p",{class:"text-xs text-gray-500 mt-1"},"点击重置按钮将已下载次数设为0",-1))])])):le("",!0),i(l(ya),null,{default:u(()=>[i(l(G),{variant:"outline",onClick:s[15]||(s[15]=g=>f.value=!1)},{default:u(()=>[...s[68]||(s[68]=[y(" 取消 ",-1)])]),_:1}),i(l(G),{onClick:Qe,disabled:k.value},{default:u(()=>[k.value?(p(),B("svg",io,[...s[69]||(s[69]=[c("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),c("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 0 1 8-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 0 1 4 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):le("",!0),y(" "+D(k.value?"保存中...":"保存"),1)]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["open"]),i(l(Ms),{open:$.value,"onUpdate:open":s[17]||(s[17]=g=>$.value=g)},{default:u(()=>[i(l(Bs),null,{default:u(()=>[i(l(Ps),null,{default:u(()=>[i(l(Os),null,{default:u(()=>[...s[70]||(s[70]=[y("确认删除",-1)])]),_:1}),i(l(Es),null,{default:u(()=>[s[71]||(s[71]=y(" 确定要删除批次 ",-1)),c("strong",fo,D(m.value?.pickup_code),1),s[72]||(s[72]=y(" 吗? ",-1)),s[73]||(s[73]=c("br",null,null,-1)),s[74]||(s[74]=y(" 此操作将",-1)),s[75]||(s[75]=c("strong",{class:"text-red-600"},"永久删除",-1)),s[76]||(s[76]=y("该批次及其所有文件,且",-1)),s[77]||(s[77]=c("strong",{class:"text-red-600"},"不可撤销",-1)),s[78]||(s[78]=y("。 ",-1))]),_:1})]),_:1}),i(l(Ss),null,{default:u(()=>[i(l(As),null,{default:u(()=>[...s[79]||(s[79]=[y("取消",-1)])]),_:1}),i(l(ks),{onClick:Ze,class:"bg-red-600 hover:bg-red-700"},{default:u(()=>[...s[80]||(s[80]=[y(" 删除 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["open"]),i(l(va),{open:o.value,"onUpdate:open":s[19]||(s[19]=g=>o.value=g)},{default:u(()=>[i(l(fa),{class:"sm:max-w-[600px]"},{default:u(()=>[i(l(ca),null,{default:u(()=>[i(l(pa),null,{default:u(()=>[...s[81]||(s[81]=[y("批次详情",-1)])]),_:1}),i(l(ma),null,{default:u(()=>[...s[82]||(s[82]=[y(" 查看批次的详细信息 ",-1)])]),_:1})]),_:1}),n.value?(p(),B("div",co,[c("div",po,[c("div",mo,[c("p",null,[s[83]||(s[83]=c("span",{class:"font-medium"},"取件码:",-1)),y(" "+D(n.value.pickup_code),1)]),c("p",null,[s[84]||(s[84]=c("span",{class:"font-medium"},"类型:",-1)),y(" "+D(n.value.type==="text"?"文本":"文件"),1)]),c("p",null,[s[85]||(s[85]=c("span",{class:"font-medium"},"状态:",-1)),i(l(xt),{variant:q(n.value.status),class:"ml-2"},{default:u(()=>[y(D(Ke(n.value.status)),1)]),_:1},8,["variant"])]),c("p",null,[s[86]||(s[86]=c("span",{class:"font-medium"},"下载次数:",-1)),y(" "+D(n.value.download_count)+D(n.value.max_downloads?` / ${n.value.max_downloads}`:""),1)])]),c("div",yo,[c("p",null,[s[87]||(s[87]=c("span",{class:"font-medium"},"创建时间:",-1)),y(" "+D(ie(n.value.created_at)),1)]),c("p",null,[s[88]||(s[88]=c("span",{class:"font-medium"},"更新时间:",-1)),y(" "+D(ie(n.value.updated_at)),1)]),c("p",null,[s[89]||(s[89]=c("span",{class:"font-medium"},"过期时间:",-1)),n.value.expire_at?(p(),B("span",vo,D(ie(n.value.expire_at)),1)):(p(),B("span",ho,"永不过期"))]),c("p",null,[s[90]||(s[90]=c("span",{class:"font-medium"},"过期类型:",-1)),y(" "+D(ne(n.value.expire_type)),1)])])]),n.value.remark?(p(),B("div",go,[s[91]||(s[91]=c("p",{class:"font-medium mb-1"},"备注:",-1)),c("p",_o,D(n.value.remark),1)])):le("",!0),n.value.type==="text"&&n.value.content?(p(),B("div",$o,[s[92]||(s[92]=c("p",{class:"font-medium mb-1"},"文本内容:",-1)),c("div",bo,[c("pre",wo,D(n.value.content),1)])])):le("",!0),n.value.file_items&&n.value.file_items.length>0?(p(),B("div",xo,[c("p",Do,"文件列表 ("+D(n.value.file_items.length)+" 个文件):",1),c("div",Co,[(p(!0),B(fe,null,ve(n.value.file_items,g=>(p(),B("div",{key:g.id,class:"flex items-center justify-between p-2 bg-gray-50 rounded"},[c("div",null,[c("p",Mo,D(g.original_name),1),c("p",ko,D(Fe(g.size))+" • "+D(g.mime_type),1)])]))),128))])])):le("",!0)])):le("",!0),i(l(ya),null,{default:u(()=>[i(l(G),{onClick:s[18]||(s[18]=g=>o.value=!1)},{default:u(()=>[...s[93]||(s[93]=[y(" 关闭 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["open"]),i(l(xr))]),_:1}))}}),Wo=zr(Ao,[["__scopeId","data-v-18610c62"]]);export{Wo as default}; diff --git a/web/assets/CardTitle.vue_vue_type_script_setup_true_lang-DBp3brf1.js b/web/assets/CardTitle.vue_vue_type_script_setup_true_lang-DBp3brf1.js new file mode 100644 index 0000000..27234bc --- /dev/null +++ b/web/assets/CardTitle.vue_vue_type_script_setup_true_lang-DBp3brf1.js @@ -0,0 +1 @@ +import{c as r}from"./Sonner.vue_vue_type_script_setup_true_lang-BwfWndxy.js";import{d as e,f as o,n as c,u as n,k as d,g as l}from"./index-BhaIiTEj.js";const m=e({__name:"CardDescription",props:{class:{}},setup(s){const a=s;return(t,p)=>(l(),o("p",{"data-slot":"card-description",class:c(n(r)("text-muted-foreground text-sm",a.class))},[d(t.$slots,"default")],2))}}),_=e({__name:"CardHeader",props:{class:{}},setup(s){const a=s;return(t,p)=>(l(),o("div",{"data-slot":"card-header",class:c(n(r)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",a.class))},[d(t.$slots,"default")],2))}}),f=e({__name:"CardTitle",props:{class:{}},setup(s){const a=s;return(t,p)=>(l(),o("h3",{"data-slot":"card-title",class:c(n(r)("leading-none font-semibold",a.class))},[d(t.$slots,"default")],2))}});export{_,f as a,m as b}; diff --git a/web/assets/ConfigManagement-DKtU2SIn.js b/web/assets/ConfigManagement-DKtU2SIn.js new file mode 100644 index 0000000..a62e2e7 --- /dev/null +++ b/web/assets/ConfigManagement-DKtU2SIn.js @@ -0,0 +1 @@ +import{P as I,r as N,c as L,t as D,d as E,b as V,_,a as J}from"./Sonner.vue_vue_type_script_setup_true_lang-BwfWndxy.js";import{d as C,c as $,w as K,h as x,g,l as A,f as w,i as U,F as z,J as W,U as Q,z as o,k as T,u as l,V as Z,P as G,I as t,n as O,A as X,B as Y,v as P,Z as ee,o as le,T as H,j as a,C as r}from"./index-BhaIiTEj.js";import{_ as B,a as S,b as q}from"./CardTitle.vue_vue_type_script_setup_true_lang-DBp3brf1.js";import{_ as p}from"./Input.vue_vue_type_script_setup_true_lang-CD5fb2oW.js";import{_ as te}from"./Textarea.vue_vue_type_script_setup_true_lang-CwxB1PfH.js";import{_ as i}from"./Label.vue_vue_type_script_setup_true_lang-D-_Evs0_.js";import{c as se,a as ae}from"./Teleport-DV_BGdH0.js";import{u as oe,V as de,f as re,_ as ne,b as ue,c as ie,d as me,e as j}from"./SelectValue.vue_vue_type_script_setup_true_lang-Dkj-rl5_.js";import{d as pe,u as F}from"./useForwardExpose-CRFbVhil.js";import{_ as fe}from"./AdminLayout.vue_vue_type_script_setup_true_lang-B_6YVjYZ.js";import"./PopperContent-MQwziWLW.js";import"./utils-BNRHOSl8.js";var ve=C({inheritAttrs:!1,__name:"VisuallyHiddenInputBubble",props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:"fully-hidden"}},setup(k){const n=k,{primitiveElement:m,currentElement:f}=oe(),u=$(()=>n.checked??n.value);return K(u,(s,v)=>{if(!f.value)return;const y=f.value,c=window.HTMLInputElement.prototype,e=Object.getOwnPropertyDescriptor(c,"value").set;if(e&&s!==v){const d=new Event("input",{bubbles:!0}),h=new Event("change",{bubbles:!0});e.call(y,s),y.dispatchEvent(d),y.dispatchEvent(h)}}),(s,v)=>(g(),x(de,A({ref_key:"primitiveElement",ref:m},{...n,...s.$attrs},{as:"input"}),null,16))}}),R=ve,ge=C({inheritAttrs:!1,__name:"VisuallyHiddenInput",props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:"fully-hidden"}},setup(k){const n=k,m=$(()=>typeof n.value=="object"&&Array.isArray(n.value)&&n.value.length===0&&n.required),f=$(()=>typeof n.value=="string"||typeof n.value=="number"||typeof n.value=="boolean"||n.value===null||n.value===void 0?[{name:n.name,value:n.value}]:typeof n.value=="object"&&Array.isArray(n.value)?n.value.flatMap((u,s)=>typeof u=="object"?Object.entries(u).map(([v,y])=>({name:`${n.name}[${s}][${v}]`,value:y})):{name:`${n.name}[${s}]`,value:u}):n.value!==null&&typeof n.value=="object"&&!Array.isArray(n.value)?Object.entries(n.value).map(([u,s])=>({name:`${n.name}[${u}]`,value:s})):[]);return(u,s)=>(g(),w(z,null,[U(" We render single input if it's required "),m.value?(g(),x(R,A({key:u.name},{...n,...u.$attrs},{name:u.name,value:u.value}),null,16,["name","value"])):(g(!0),w(z,{key:1},W(f.value,v=>(g(),x(R,A({key:v.name},{ref_for:!0},{...n,...u.$attrs},{name:v.name,value:v.value}),null,16,["name","value"]))),128))],2112))}}),be=ge;const[ye,ke]=se("SwitchRoot");var ce=C({__name:"SwitchRoot",props:{defaultValue:{type:Boolean,required:!1},modelValue:{type:[Boolean,null],required:!1,default:void 0},disabled:{type:Boolean,required:!1},id:{type:String,required:!1},value:{type:String,required:!1,default:"on"},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue"],setup(k,{emit:n}){const m=k,f=n,{disabled:u}=Q(m),s=pe(m,"modelValue",f,{defaultValue:m.defaultValue,passive:m.modelValue===void 0});function v(){u.value||(s.value=!s.value)}const{forwardRef:y,currentElement:c}=F(),b=re(c),e=$(()=>m.id&&c.value?document.querySelector(`[for="${m.id}"]`)?.innerText:void 0);return ke({modelValue:s,toggleCheck:v,disabled:u}),(d,h)=>(g(),x(l(I),A(d.$attrs,{id:d.id,ref:l(y),role:"switch",type:d.as==="button"?"button":void 0,value:d.value,"aria-label":d.$attrs["aria-label"]||e.value,"aria-checked":l(s),"aria-required":d.required,"data-state":l(s)?"checked":"unchecked","data-disabled":l(u)?"":void 0,"as-child":d.asChild,as:d.as,disabled:l(u),onClick:v,onKeydown:Z(G(v,["prevent"]),["enter"])}),{default:o(()=>[T(d.$slots,"default",{modelValue:l(s)}),l(b)&&d.name?(g(),x(l(be),{key:0,type:"checkbox",name:d.name,disabled:l(u),required:d.required,value:d.value,checked:!!l(s)},null,8,["name","disabled","required","value","checked"])):U("v-if",!0)]),_:3},16,["id","type","value","aria-label","aria-checked","aria-required","data-state","data-disabled","as-child","as","disabled","onKeydown"]))}}),xe=ce,we=C({__name:"SwitchThumb",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(k){const n=ye();return F(),(m,f)=>(g(),x(l(I),{"data-state":l(n).modelValue?.value?"checked":"unchecked","data-disabled":l(n).disabled.value?"":void 0,"as-child":m.asChild,as:m.as},{default:o(()=>[T(m.$slots,"default")]),_:3},8,["data-state","data-disabled","as-child","as"]))}}),Ve=we;const M=C({__name:"Switch",props:{defaultValue:{type:Boolean},modelValue:{type:[Boolean,null]},disabled:{type:Boolean},id:{},value:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{}},emits:["update:modelValue"],setup(k,{emit:n}){const m=k,f=n,u=N(m,"class"),s=ae(u,f);return(v,y)=>(g(),x(l(xe),A({"data-slot":"switch"},l(s),{class:l(L)("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",m.class)}),{default:o(c=>[t(l(Ve),{"data-slot":"switch-thumb",class:O(l(L)("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"))},{default:o(()=>[T(v.$slots,"thumb",X(Y(c)))]),_:2},1032,["class"])]),_:3},16,["class"]))}}),_e={class:"space-y-8"},Be={class:"flex items-center justify-between"},Se={class:"flex space-x-3"},qe={key:0,class:"flex items-center"},Ce={key:1,class:"flex items-center"},Ue={class:"grid grid-cols-1 xl:grid-cols-2 gap-6"},Ae={class:"flex items-center justify-between p-4 rounded-lg bg-muted/50"},Me={class:"flex items-center justify-between p-4 rounded-lg bg-muted/50"},$e={class:"flex items-center justify-between p-4 rounded-lg bg-muted/50"},Pe={key:0,class:"space-y-4 border rounded-lg p-6 bg-gradient-to-r from-blue-50 to-indigo-50 dark:from-blue-950/20 dark:to-indigo-950/20"},je={key:1,class:"space-y-6 border rounded-lg p-6 bg-gradient-to-r from-green-50 to-emerald-50 dark:from-green-950/20 dark:to-emerald-950/20"},Te={class:"grid grid-cols-1 md:grid-cols-2 gap-6"},he={class:"md:col-span-2"},Le={class:"md:col-span-2"},Ee={class:"flex items-center justify-between p-4 rounded-lg bg-white/80 dark:bg-gray-900/50"},ze={key:2,class:"space-y-6 border rounded-lg p-6 bg-gradient-to-r from-purple-50 to-violet-50 dark:from-purple-950/20 dark:to-violet-950/20"},He={class:"grid grid-cols-1 md:grid-cols-2 gap-6"},Xe=C({__name:"ConfigManagement",setup(k){const n=D,m=P(!1),f=P(""),u=P(),s=ee({site:{name:"",description:"",logo:""},upload:{max_file_size_mb:100,max_batch_files:20,max_retention_days:30,require_token:!1},storage:{type:"local",local:{path:"storage_data"},s3:{endpoint:"s3.amazonaws.com",region:"us-east-1",bucket:"file-relay-bucket",access_key:"your-access-key",secret_key:"your-secret-key",use_ssl:!1},webdav:{url:"https://dav.example.com",username:"user",password:"pass",root:"/file-relay"}},security:{pickup_code_length:6,pickup_fail_limit:5,admin_password_hash:"",jwt_secret:""},database:{path:"file_relay.db"},api_token:{enabled:!0,max_tokens:20,allow_admin_api:!1}}),v=async()=>{try{m.value=!0;const e=(await H.getConfig()).data.data;Object.assign(s,e),u.value=JSON.parse(JSON.stringify(s)),console.log("配置加载成功:",s)}catch(b){console.error("加载配置失败:",b),n.error("加载配置失败,请检查网络连接或重新登录")}finally{m.value=!1}},y=()=>{u.value&&(Object.assign(s,JSON.parse(JSON.stringify(u.value))),f.value="",n.success("表单已重置,配置已恢复到最后一次保存的状态"))},c=async()=>{try{m.value=!0;const b=JSON.parse(JSON.stringify(s));f.value&&(b.security.admin_password=f.value),await H.updateConfig(b),u.value=JSON.parse(JSON.stringify(s)),f.value="",n.success("配置保存成功")}catch(b){console.error("保存配置失败:",b),n.error(b.response?.data?.msg||"保存配置失败")}finally{m.value=!1}};return le(()=>{v()}),(b,e)=>(g(),x(fe,null,{default:o(()=>[a("div",_e,[a("div",Be,[e[29]||(e[29]=a("div",null,[a("h1",{class:"text-3xl font-bold tracking-tight"},"系统配置管理"),a("p",{class:"text-muted-foreground mt-2"},"管理系统的全局配置参数")],-1)),a("div",Se,[t(l(E),{variant:"outline",onClick:y,disabled:m.value,class:"min-w-20"},{default:o(()=>[...e[26]||(e[26]=[a("svg",{class:"w-4 h-4 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[a("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})],-1),r(" 重置 ",-1)])]),_:1},8,["disabled"]),t(l(E),{onClick:c,disabled:m.value,class:"min-w-24"},{default:o(()=>[m.value?(g(),w("span",qe,[...e[27]||(e[27]=[a("svg",{class:"animate-spin -ml-1 mr-3 h-4 w-4 text-white",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},[a("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),a("path",{class:"opacity-75",fill:"currentColor",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"})],-1),r(" 保存中... ",-1)])])):(g(),w("span",Ce,[...e[28]||(e[28]=[a("svg",{class:"w-4 h-4 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[a("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"})],-1),r(" 保存配置 ",-1)])]))]),_:1},8,["disabled"])])]),a("div",Ue,[t(l(_),{class:"shadow-sm border-l-4 border-l-blue-500"},{default:o(()=>[t(l(B),null,{default:o(()=>[t(l(S),{class:"flex items-center"},{default:o(()=>[...e[30]||(e[30]=[a("svg",{class:"w-5 h-5 mr-2 text-blue-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[a("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9v-9m0-9v9"})],-1),r(" 站点配置 ",-1)])]),_:1}),t(l(q),null,{default:o(()=>[...e[31]||(e[31]=[r("配置站点基本信息和显示内容",-1)])]),_:1})]),_:1}),t(l(V),{class:"space-y-5"},{default:o(()=>[a("div",null,[t(l(i),{for:"siteName",class:"text-sm font-medium"},{default:o(()=>[...e[32]||(e[32]=[r("站点名称",-1)])]),_:1}),t(l(p),{id:"siteName",modelValue:s.site.name,"onUpdate:modelValue":e[0]||(e[0]=d=>s.site.name=d),placeholder:"输入站点名称,例如:文件暂存柜",class:"mt-2"},null,8,["modelValue"])]),a("div",null,[t(l(i),{for:"siteDescription",class:"text-sm font-medium"},{default:o(()=>[...e[33]||(e[33]=[r("站点描述",-1)])]),_:1}),t(l(te),{id:"siteDescription",modelValue:s.site.description,"onUpdate:modelValue":e[1]||(e[1]=d=>s.site.description=d),placeholder:"输入站点描述,例如:临时文件中转服务",class:"mt-2 resize-none",rows:"3"},null,8,["modelValue"])]),a("div",null,[t(l(i),{for:"siteLogo",class:"text-sm font-medium"},{default:o(()=>[...e[34]||(e[34]=[r("站点 Logo URL",-1)])]),_:1}),t(l(p),{id:"siteLogo",modelValue:s.site.logo,"onUpdate:modelValue":e[2]||(e[2]=d=>s.site.logo=d),placeholder:"输入站点 Logo 图片地址,例如:https://example.com/logo.png",class:"mt-2"},null,8,["modelValue"]),e[35]||(e[35]=a("p",{class:"text-xs text-muted-foreground mt-1"},"留空将使用默认图标,建议使用正方形图片",-1))])]),_:1})]),_:1}),t(l(_),{class:"shadow-sm border-l-4 border-l-green-500"},{default:o(()=>[t(l(B),null,{default:o(()=>[t(l(S),{class:"flex items-center"},{default:o(()=>[...e[36]||(e[36]=[a("svg",{class:"w-5 h-5 mr-2 text-green-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[a("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12"})],-1),r(" 上传配置 ",-1)])]),_:1}),t(l(q),null,{default:o(()=>[...e[37]||(e[37]=[r("配置文件上传的限制和规则",-1)])]),_:1})]),_:1}),t(l(V),{class:"space-y-5"},{default:o(()=>[a("div",null,[t(l(i),{for:"maxFileSizeMB",class:"text-sm font-medium"},{default:o(()=>[...e[38]||(e[38]=[r("单文件大小限制 (MB)",-1)])]),_:1}),t(l(p),{id:"maxFileSizeMB",modelValue:s.upload.max_file_size_mb,"onUpdate:modelValue":e[3]||(e[3]=d=>s.upload.max_file_size_mb=d),modelModifiers:{number:!0},type:"number",min:"1",placeholder:"100",class:"mt-2"},null,8,["modelValue"]),e[39]||(e[39]=a("p",{class:"text-xs text-muted-foreground mt-1"},"允许上传的单个文件最大大小",-1))]),a("div",null,[t(l(i),{for:"maxBatchFiles",class:"text-sm font-medium"},{default:o(()=>[...e[40]||(e[40]=[r("批次最大文件数",-1)])]),_:1}),t(l(p),{id:"maxBatchFiles",modelValue:s.upload.max_batch_files,"onUpdate:modelValue":e[4]||(e[4]=d=>s.upload.max_batch_files=d),modelModifiers:{number:!0},type:"number",min:"1",placeholder:"20",class:"mt-2"},null,8,["modelValue"]),e[41]||(e[41]=a("p",{class:"text-xs text-muted-foreground mt-1"},"单次批量上传允许的最大文件数量",-1))]),a("div",null,[t(l(i),{for:"maxRetentionDays",class:"text-sm font-medium"},{default:o(()=>[...e[42]||(e[42]=[r("最大保存天数",-1)])]),_:1}),t(l(p),{id:"maxRetentionDays",modelValue:s.upload.max_retention_days,"onUpdate:modelValue":e[5]||(e[5]=d=>s.upload.max_retention_days=d),modelModifiers:{number:!0},type:"number",min:"1",placeholder:"30",class:"mt-2"},null,8,["modelValue"]),e[43]||(e[43]=a("p",{class:"text-xs text-muted-foreground mt-1"},"文件在系统中的最大保存时间",-1))]),a("div",Ae,[a("div",null,[t(l(i),{for:"requireToken",class:"text-base font-medium"},{default:o(()=>[...e[44]||(e[44]=[r("强制要求 Token",-1)])]),_:1}),e[45]||(e[45]=a("p",{class:"text-sm text-muted-foreground mt-1"},"上传时必须提供 API Token",-1))]),t(l(M),{id:"requireToken",modelValue:s.upload.require_token,"onUpdate:modelValue":e[6]||(e[6]=d=>s.upload.require_token=d)},null,8,["modelValue"])])]),_:1})]),_:1}),t(l(_),{class:"shadow-sm border-l-4 border-l-red-500"},{default:o(()=>[t(l(B),null,{default:o(()=>[t(l(S),{class:"flex items-center"},{default:o(()=>[...e[46]||(e[46]=[a("svg",{class:"w-5 h-5 mr-2 text-red-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[a("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"})],-1),r(" 安全配置 ",-1)])]),_:1}),t(l(q),null,{default:o(()=>[...e[47]||(e[47]=[r("配置系统安全参数和验证规则",-1)])]),_:1})]),_:1}),t(l(V),{class:"space-y-5"},{default:o(()=>[a("div",null,[t(l(i),{for:"pickupCodeLength",class:"text-sm font-medium"},{default:o(()=>[...e[48]||(e[48]=[r("取件码长度",-1)])]),_:1}),t(l(p),{id:"pickupCodeLength",modelValue:s.security.pickup_code_length,"onUpdate:modelValue":e[7]||(e[7]=d=>s.security.pickup_code_length=d),modelModifiers:{number:!0},type:"number",min:"4",max:"20",placeholder:"6",class:"mt-2"},null,8,["modelValue"]),e[49]||(e[49]=a("p",{class:"text-xs text-muted-foreground mt-1"},"生成取件码的字符长度(4-20位)",-1))]),a("div",null,[t(l(i),{for:"pickupFailLimit",class:"text-sm font-medium"},{default:o(()=>[...e[50]||(e[50]=[r("取件失败限制次数",-1)])]),_:1}),t(l(p),{id:"pickupFailLimit",modelValue:s.security.pickup_fail_limit,"onUpdate:modelValue":e[8]||(e[8]=d=>s.security.pickup_fail_limit=d),modelModifiers:{number:!0},type:"number",min:"1",placeholder:"5",class:"mt-2"},null,8,["modelValue"]),e[51]||(e[51]=a("p",{class:"text-xs text-muted-foreground mt-1"},"连续取件失败后锁定的次数阈值",-1))]),a("div",null,[t(l(i),{for:"adminPassword",class:"text-sm font-medium"},{default:o(()=>[...e[52]||(e[52]=[r("管理员密码",-1)])]),_:1}),t(l(p),{id:"adminPassword",modelValue:f.value,"onUpdate:modelValue":e[9]||(e[9]=d=>f.value=d),type:"password",placeholder:"留空表示不修改密码",class:"mt-2"},null,8,["modelValue"]),e[53]||(e[53]=a("p",{class:"text-xs text-muted-foreground mt-1"}," 留空表示不修改当前密码,输入新密码将更新管理员登录密码 ",-1))])]),_:1})]),_:1}),t(l(_),{class:"shadow-sm border-l-4 border-l-purple-500"},{default:o(()=>[t(l(B),null,{default:o(()=>[t(l(S),{class:"flex items-center"},{default:o(()=>[...e[54]||(e[54]=[a("svg",{class:"w-5 h-5 mr-2 text-purple-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[a("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 7a2 2 0 012 2m4 0a6 6 0 01-7.743 5.743L11 17H9v2H7v2H4a1 1 0 01-1-1v-2.586a1 1 0 01.293-.707l5.964-5.964A6 6 0 1121 9z"})],-1),r(" API Token 配置 ",-1)])]),_:1}),t(l(q),null,{default:o(()=>[...e[55]||(e[55]=[r("配置 API Token 功能和权限控制",-1)])]),_:1})]),_:1}),t(l(V),{class:"space-y-6"},{default:o(()=>[a("div",Me,[a("div",null,[t(l(i),{for:"apiTokenEnabled",class:"text-base font-medium"},{default:o(()=>[...e[56]||(e[56]=[r("启用 API Token",-1)])]),_:1}),e[57]||(e[57]=a("p",{class:"text-sm text-muted-foreground mt-1"},"允许使用 API Token 进行身份验证",-1))]),t(l(M),{id:"apiTokenEnabled",modelValue:s.api_token.enabled,"onUpdate:modelValue":e[10]||(e[10]=d=>s.api_token.enabled=d)},null,8,["modelValue"])]),a("div",{class:O(["space-y-5",{"opacity-50":!s.api_token.enabled}])},[a("div",null,[t(l(i),{for:"maxTokens",class:"text-sm font-medium"},{default:o(()=>[...e[58]||(e[58]=[r("最大 Token 数量",-1)])]),_:1}),t(l(p),{id:"maxTokens",modelValue:s.api_token.max_tokens,"onUpdate:modelValue":e[11]||(e[11]=d=>s.api_token.max_tokens=d),modelModifiers:{number:!0},type:"number",min:"1",placeholder:"20",class:"mt-2",disabled:!s.api_token.enabled},null,8,["modelValue","disabled"]),e[59]||(e[59]=a("p",{class:"text-xs text-muted-foreground mt-1"}," 系统中最多可以创建的 API Token 数量 ",-1))]),a("div",$e,[a("div",null,[t(l(i),{for:"allowAdminAPI",class:"text-base font-medium"},{default:o(()=>[...e[60]||(e[60]=[r("允许管理员权限",-1)])]),_:1}),e[61]||(e[61]=a("p",{class:"text-sm text-muted-foreground mt-1"},"允许 Token 访问管理员接口",-1))]),t(l(M),{id:"allowAdminAPI",modelValue:s.api_token.allow_admin_api,"onUpdate:modelValue":e[12]||(e[12]=d=>s.api_token.allow_admin_api=d),disabled:!s.api_token.enabled},null,8,["modelValue","disabled"])])],2)]),_:1})]),_:1}),t(l(_),{class:"xl:col-span-2 shadow-sm border-l-4 border-l-orange-500"},{default:o(()=>[t(l(B),null,{default:o(()=>[t(l(S),{class:"flex items-center"},{default:o(()=>[...e[62]||(e[62]=[a("svg",{class:"w-5 h-5 mr-2 text-orange-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[a("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 19a2 2 0 01-2-2V7a2 2 0 012-2h4l2 2h4a2 2 0 012 2v1M5 19h14a2 2 0 002-2v-5a2 2 0 00-2-2H9a2 2 0 00-2 2v5a2 2 0 01-2 2z"})],-1),r(" 存储配置 ",-1)])]),_:1}),t(l(q),null,{default:o(()=>[...e[63]||(e[63]=[r("配置文件存储方式和参数",-1)])]),_:1})]),_:1}),t(l(V),{class:"space-y-6"},{default:o(()=>[a("div",null,[t(l(i),{class:"text-sm font-medium"},{default:o(()=>[...e[64]||(e[64]=[r("存储类型",-1)])]),_:1}),t(l(ne),{modelValue:s.storage.type,"onUpdate:modelValue":e[13]||(e[13]=d=>s.storage.type=d),class:"mt-2"},{default:o(()=>[t(l(ue),null,{default:o(()=>[t(l(ie),{placeholder:"选择存储类型"})]),_:1}),t(l(me),null,{default:o(()=>[t(l(j),{value:"local"},{default:o(()=>[...e[65]||(e[65]=[r("本地存储",-1)])]),_:1}),t(l(j),{value:"s3"},{default:o(()=>[...e[66]||(e[66]=[r("S3 兼容存储",-1)])]),_:1}),t(l(j),{value:"webdav"},{default:o(()=>[...e[67]||(e[67]=[r("WebDAV",-1)])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),s.storage.type==="local"?(g(),w("div",Pe,[e[70]||(e[70]=a("h4",{class:"font-semibold text-lg flex items-center"},[a("svg",{class:"w-5 h-5 mr-2 text-blue-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[a("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})]),r(" 本地存储配置 ")],-1)),a("div",null,[t(l(i),{for:"localPath",class:"text-sm font-medium"},{default:o(()=>[...e[68]||(e[68]=[r("存储路径",-1)])]),_:1}),t(l(p),{id:"localPath",modelValue:s.storage.local.path,"onUpdate:modelValue":e[14]||(e[14]=d=>s.storage.local.path=d),placeholder:"storage_data",class:"mt-2"},null,8,["modelValue"]),e[69]||(e[69]=a("p",{class:"text-xs text-muted-foreground mt-1"},"相对或绝对路径,用于保存上传的文件",-1))])])):U("",!0),s.storage.type==="s3"?(g(),w("div",je,[e[78]||(e[78]=a("h4",{class:"font-semibold text-lg flex items-center"},[a("svg",{class:"w-5 h-5 mr-2 text-green-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[a("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M9 12l2 2 4-4"})]),r(" S3 存储配置 ")],-1)),a("div",Te,[a("div",null,[t(l(i),{for:"s3Endpoint",class:"text-sm font-medium"},{default:o(()=>[...e[71]||(e[71]=[r("Endpoint",-1)])]),_:1}),t(l(p),{id:"s3Endpoint",modelValue:s.storage.s3.endpoint,"onUpdate:modelValue":e[15]||(e[15]=d=>s.storage.s3.endpoint=d),placeholder:"s3.amazonaws.com",class:"mt-2"},null,8,["modelValue"])]),a("div",null,[t(l(i),{for:"s3Region",class:"text-sm font-medium"},{default:o(()=>[...e[72]||(e[72]=[r("Region",-1)])]),_:1}),t(l(p),{id:"s3Region",modelValue:s.storage.s3.region,"onUpdate:modelValue":e[16]||(e[16]=d=>s.storage.s3.region=d),placeholder:"us-east-1",class:"mt-2"},null,8,["modelValue"])]),a("div",null,[t(l(i),{for:"s3Bucket",class:"text-sm font-medium"},{default:o(()=>[...e[73]||(e[73]=[r("Bucket",-1)])]),_:1}),t(l(p),{id:"s3Bucket",modelValue:s.storage.s3.bucket,"onUpdate:modelValue":e[17]||(e[17]=d=>s.storage.s3.bucket=d),placeholder:"file-relay-bucket",class:"mt-2"},null,8,["modelValue"])]),a("div",null,[t(l(i),{for:"s3AccessKey",class:"text-sm font-medium"},{default:o(()=>[...e[74]||(e[74]=[r("Access Key",-1)])]),_:1}),t(l(p),{id:"s3AccessKey",modelValue:s.storage.s3.access_key,"onUpdate:modelValue":e[18]||(e[18]=d=>s.storage.s3.access_key=d),placeholder:"your-access-key",class:"mt-2"},null,8,["modelValue"])]),a("div",he,[t(l(i),{for:"s3SecretKey",class:"text-sm font-medium"},{default:o(()=>[...e[75]||(e[75]=[r("Secret Key",-1)])]),_:1}),t(l(p),{id:"s3SecretKey",modelValue:s.storage.s3.secret_key,"onUpdate:modelValue":e[19]||(e[19]=d=>s.storage.s3.secret_key=d),type:"password",placeholder:"your-secret-key",class:"mt-2"},null,8,["modelValue"])]),a("div",Le,[a("div",Ee,[a("div",null,[t(l(i),{for:"s3UseSSL",class:"text-base font-medium"},{default:o(()=>[...e[76]||(e[76]=[r("使用 SSL",-1)])]),_:1}),e[77]||(e[77]=a("p",{class:"text-sm text-muted-foreground mt-1"},"启用 HTTPS 连接加密",-1))]),t(l(M),{id:"s3UseSSL",modelValue:s.storage.s3.use_ssl,"onUpdate:modelValue":e[20]||(e[20]=d=>s.storage.s3.use_ssl=d)},null,8,["modelValue"])])])])])):U("",!0),s.storage.type==="webdav"?(g(),w("div",ze,[e[83]||(e[83]=a("h4",{class:"font-semibold text-lg flex items-center"},[a("svg",{class:"w-5 h-5 mr-2 text-purple-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[a("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5.636 18.364a9 9 0 010-12.728m12.728 0a9 9 0 010 12.728m-9.9-2.829a5 5 0 010-7.07m7.072 0a5 5 0 010 7.07M13 12a1 1 0 11-2 0 1 1 0 012 0z"})]),r(" WebDAV 存储配置 ")],-1)),a("div",He,[a("div",null,[t(l(i),{for:"webdavUrl",class:"text-sm font-medium"},{default:o(()=>[...e[79]||(e[79]=[r("WebDAV URL",-1)])]),_:1}),t(l(p),{id:"webdavUrl",modelValue:s.storage.webdav.url,"onUpdate:modelValue":e[21]||(e[21]=d=>s.storage.webdav.url=d),placeholder:"https://dav.example.com",class:"mt-2"},null,8,["modelValue"])]),a("div",null,[t(l(i),{for:"webdavRoot",class:"text-sm font-medium"},{default:o(()=>[...e[80]||(e[80]=[r("根目录",-1)])]),_:1}),t(l(p),{id:"webdavRoot",modelValue:s.storage.webdav.root,"onUpdate:modelValue":e[22]||(e[22]=d=>s.storage.webdav.root=d),placeholder:"/file-relay",class:"mt-2"},null,8,["modelValue"])]),a("div",null,[t(l(i),{for:"webdavUsername",class:"text-sm font-medium"},{default:o(()=>[...e[81]||(e[81]=[r("用户名",-1)])]),_:1}),t(l(p),{id:"webdavUsername",modelValue:s.storage.webdav.username,"onUpdate:modelValue":e[23]||(e[23]=d=>s.storage.webdav.username=d),placeholder:"user",class:"mt-2"},null,8,["modelValue"])]),a("div",null,[t(l(i),{for:"webdavPassword",class:"text-sm font-medium"},{default:o(()=>[...e[82]||(e[82]=[r("密码",-1)])]),_:1}),t(l(p),{id:"webdavPassword",modelValue:s.storage.webdav.password,"onUpdate:modelValue":e[24]||(e[24]=d=>s.storage.webdav.password=d),type:"password",placeholder:"pass",class:"mt-2"},null,8,["modelValue"])])])])):U("",!0)]),_:1})]),_:1}),t(l(_),{class:"xl:col-span-2 shadow-sm border-l-4 border-l-indigo-500"},{default:o(()=>[t(l(B),null,{default:o(()=>[t(l(S),{class:"flex items-center"},{default:o(()=>[...e[84]||(e[84]=[a("svg",{class:"w-5 h-5 mr-2 text-indigo-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[a("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4"})],-1),r(" 数据库配置 ",-1)])]),_:1}),t(l(q),null,{default:o(()=>[...e[85]||(e[85]=[r("配置 SQLite 数据库存储路径",-1)])]),_:1})]),_:1}),t(l(V),null,{default:o(()=>[a("div",null,[t(l(i),{for:"databasePath",class:"text-sm font-medium"},{default:o(()=>[...e[86]||(e[86]=[r("数据库文件路径",-1)])]),_:1}),t(l(p),{id:"databasePath",modelValue:s.database.path,"onUpdate:modelValue":e[25]||(e[25]=d=>s.database.path=d),placeholder:"file_relay.db",class:"mt-2"},null,8,["modelValue"]),e[87]||(e[87]=a("p",{class:"text-xs text-muted-foreground mt-1"},"SQLite 数据库文件的存储路径",-1))])]),_:1})]),_:1})]),t(l(J))])]),_:1}))}});export{Xe as default}; diff --git a/web/assets/DialogTitle.vue_vue_type_script_setup_true_lang-CF3XyDt2.js b/web/assets/DialogTitle.vue_vue_type_script_setup_true_lang-CF3XyDt2.js new file mode 100644 index 0000000..4e3d281 --- /dev/null +++ b/web/assets/DialogTitle.vue_vue_type_script_setup_true_lang-CF3XyDt2.js @@ -0,0 +1 @@ +import{c as K,g as $,h as F,D as N,F as V,d as w,f as j,P as E,e as S,T as L,a as A,u as I}from"./Teleport-DV_BGdH0.js";import{d as _,v as b,U as H,k as p,u as e,h as c,g as d,z as i,l as v,o as U,I as B,i as M,A as k,B as x,j as X,f as R,n as z}from"./index-BhaIiTEj.js";import{d as G,u as y}from"./useForwardExpose-CRFbVhil.js";import{P as q,r as h,c as C,X as J}from"./Sonner.vue_vue_type_script_setup_true_lang-BwfWndxy.js";import{g as Q}from"./utils-BNRHOSl8.js";const[D,W]=K("DialogRoot");var Y=_({inheritAttrs:!1,__name:"DialogRoot",props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1,default:!0}},emits:["update:open"],setup(l,{emit:s}){const t=l,o=G(t,"open",s,{defaultValue:t.defaultOpen,passive:t.open===void 0}),f=b(),m=b(),{modal:n}=H(t);return W({open:o,modal:n,openModal:()=>{o.value=!0},onOpenChange:u=>{o.value=u},onOpenToggle:()=>{o.value=!o.value},contentId:"",titleId:"",descriptionId:"",triggerElement:f,contentElement:m}),(u,r)=>p(u.$slots,"default",{open:e(o),close:()=>o.value=!1})}}),Z=Y,ee=_({__name:"DialogClose",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(l){const s=l;y();const t=D();return(a,o)=>(d(),c(e(q),v(s,{type:a.as==="button"?"button":void 0,onClick:o[0]||(o[0]=f=>e(t).onOpenChange(!1))}),{default:i(()=>[p(a.$slots,"default")]),_:3},16,["type"]))}}),te=ee,oe=_({__name:"DialogContentImpl",props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(l,{emit:s}){const t=l,a=s,o=D(),{forwardRef:f,currentElement:m}=y();return o.titleId||=$(void 0,"reka-dialog-title"),o.descriptionId||=$(void 0,"reka-dialog-description"),U(()=>{o.contentElement=m,F()!==document.body&&(o.triggerElement.value=F())}),(n,u)=>(d(),c(e(V),{"as-child":"",loop:"",trapped:t.trapFocus,onMountAutoFocus:u[5]||(u[5]=r=>a("openAutoFocus",r)),onUnmountAutoFocus:u[6]||(u[6]=r=>a("closeAutoFocus",r))},{default:i(()=>[B(e(N),v({id:e(o).contentId,ref:e(f),as:n.as,"as-child":n.asChild,"disable-outside-pointer-events":n.disableOutsidePointerEvents,role:"dialog","aria-describedby":e(o).descriptionId,"aria-labelledby":e(o).titleId,"data-state":e(Q)(e(o).open.value)},n.$attrs,{onDismiss:u[0]||(u[0]=r=>e(o).onOpenChange(!1)),onEscapeKeyDown:u[1]||(u[1]=r=>a("escapeKeyDown",r)),onFocusOutside:u[2]||(u[2]=r=>a("focusOutside",r)),onInteractOutside:u[3]||(u[3]=r=>a("interactOutside",r)),onPointerDownOutside:u[4]||(u[4]=r=>a("pointerDownOutside",r))}),{default:i(()=>[p(n.$slots,"default")]),_:3},16,["id","as","as-child","disable-outside-pointer-events","aria-describedby","aria-labelledby","data-state"])]),_:3},8,["trapped"]))}}),T=oe,se=_({__name:"DialogContentModal",props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(l,{emit:s}){const t=l,a=s,o=D(),f=w(a),{forwardRef:m,currentElement:n}=y();return j(n),(u,r)=>(d(),c(T,v({...t,...e(f)},{ref:e(m),"trap-focus":e(o).open.value,"disable-outside-pointer-events":!0,onCloseAutoFocus:r[0]||(r[0]=g=>{g.defaultPrevented||(g.preventDefault(),e(o).triggerElement.value?.focus())}),onPointerDownOutside:r[1]||(r[1]=g=>{const O=g.detail.originalEvent,P=O.button===0&&O.ctrlKey===!0;(O.button===2||P)&&g.preventDefault()}),onFocusOutside:r[2]||(r[2]=g=>{g.preventDefault()})}),{default:i(()=>[p(u.$slots,"default")]),_:3},16,["trap-focus"]))}}),ae=se,le=_({__name:"DialogContentNonModal",props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(l,{emit:s}){const t=l,o=w(s);y();const f=D(),m=b(!1),n=b(!1);return(u,r)=>(d(),c(T,v({...t,...e(o)},{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:r[0]||(r[0]=g=>{g.defaultPrevented||(m.value||e(f).triggerElement.value?.focus(),g.preventDefault()),m.value=!1,n.value=!1}),onInteractOutside:r[1]||(r[1]=g=>{g.defaultPrevented||(m.value=!0,g.detail.originalEvent.type==="pointerdown"&&(n.value=!0));const O=g.target;e(f).triggerElement.value?.contains(O)&&g.preventDefault(),g.detail.originalEvent.type==="focusin"&&n.value&&g.preventDefault()})}),{default:i(()=>[p(u.$slots,"default")]),_:3},16))}}),re=le,ne=_({__name:"DialogContent",props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(l,{emit:s}){const t=l,a=s,o=D(),f=w(a),{forwardRef:m}=y();return(n,u)=>(d(),c(e(E),{present:n.forceMount||e(o).open.value},{default:i(()=>[e(o).modal.value?(d(),c(ae,v({key:0,ref:e(m)},{...t,...e(f),...n.$attrs}),{default:i(()=>[p(n.$slots,"default")]),_:3},16)):(d(),c(re,v({key:1,ref:e(m)},{...t,...e(f),...n.$attrs}),{default:i(()=>[p(n.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),ue=ne,ie=_({__name:"DialogDescription",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"p"}},setup(l){const s=l;y();const t=D();return(a,o)=>(d(),c(e(q),v(s,{id:e(t).descriptionId}),{default:i(()=>[p(a.$slots,"default")]),_:3},16,["id"]))}}),de=ie,pe=_({__name:"DialogOverlayImpl",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(l){const s=D();return S(!0),y(),(t,a)=>(d(),c(e(q),{as:t.as,"as-child":t.asChild,"data-state":e(s).open.value?"open":"closed",style:{"pointer-events":"auto"}},{default:i(()=>[p(t.$slots,"default")]),_:3},8,["as","as-child","data-state"]))}}),fe=pe,ce=_({__name:"DialogOverlay",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(l){const s=D(),{forwardRef:t}=y();return(a,o)=>e(s)?.modal.value?(d(),c(e(E),{key:0,present:a.forceMount||e(s).open.value},{default:i(()=>[B(fe,v(a.$attrs,{ref:e(t),as:a.as,"as-child":a.asChild}),{default:i(()=>[p(a.$slots,"default")]),_:3},16,["as","as-child"])]),_:3},8,["present"])):M("v-if",!0)}}),_e=ce,ge=_({__name:"DialogPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(l){const s=l;return(t,a)=>(d(),c(e(L),k(x(s)),{default:i(()=>[p(t.$slots,"default")]),_:3},16))}}),me=ge,ve=_({__name:"DialogTitle",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"h2"}},setup(l){const s=l,t=D();return y(),(a,o)=>(d(),c(e(q),v(s,{id:e(t).titleId}),{default:i(()=>[p(a.$slots,"default")]),_:3},16,["id"]))}}),ye=ve;const we=_({__name:"Dialog",props:{open:{type:Boolean},defaultOpen:{type:Boolean},modal:{type:Boolean}},emits:["update:open"],setup(l,{emit:s}){const o=A(l,s);return(f,m)=>(d(),c(e(Z),v({"data-slot":"dialog"},e(o)),{default:i(n=>[p(f.$slots,"default",k(x(n)))]),_:3},16))}}),De=_({__name:"DialogOverlay",props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(l){const s=l,t=h(s,"class");return(a,o)=>(d(),c(e(_e),v({"data-slot":"dialog-overlay"},e(t),{class:e(C)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80",s.class)}),{default:i(()=>[p(a.$slots,"default")]),_:3},16,["class"]))}}),Pe=_({inheritAttrs:!1,__name:"DialogContent",props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},class:{},showCloseButton:{type:Boolean,default:!0}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(l,{emit:s}){const t=l,a=s,o=h(t,"class"),f=A(o,a);return(m,n)=>(d(),c(e(me),null,{default:i(()=>[B(De),B(e(ue),v({"data-slot":"dialog-content"},{...m.$attrs,...e(f)},{class:e(C)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",t.class)}),{default:i(()=>[p(m.$slots,"default"),l.showCloseButton?(d(),c(e(te),{key:0,"data-slot":"dialog-close",class:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4"},{default:i(()=>[B(e(J)),n[0]||(n[0]=X("span",{class:"sr-only"},"Close",-1))]),_:1})):M("",!0)]),_:3},16,["class"])]),_:3}))}}),$e=_({__name:"DialogDescription",props:{asChild:{type:Boolean},as:{},class:{}},setup(l){const s=l,t=h(s,"class"),a=I(t);return(o,f)=>(d(),c(e(de),v({"data-slot":"dialog-description"},e(a),{class:e(C)("text-muted-foreground text-sm",s.class)}),{default:i(()=>[p(o.$slots,"default")]),_:3},16,["class"]))}}),Fe=_({__name:"DialogFooter",props:{class:{}},setup(l){const s=l;return(t,a)=>(d(),R("div",{"data-slot":"dialog-footer",class:z(e(C)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",s.class))},[p(t.$slots,"default")],2))}}),Ee=_({__name:"DialogHeader",props:{class:{}},setup(l){const s=l;return(t,a)=>(d(),R("div",{"data-slot":"dialog-header",class:z(e(C)("flex flex-col gap-2 text-center sm:text-left",s.class))},[p(t.$slots,"default")],2))}}),Ae=_({__name:"DialogTitle",props:{asChild:{type:Boolean},as:{},class:{}},setup(l){const s=l,t=h(s,"class"),a=I(t);return(o,f)=>(d(),c(e(ye),v({"data-slot":"dialog-title"},e(a),{class:e(C)("text-lg leading-none font-semibold",s.class)}),{default:i(()=>[p(o.$slots,"default")]),_:3},16,["class"]))}});export{te as D,we as _,Pe as a,Ee as b,Ae as c,$e as d,Fe as e,ue as f,de as g,_e as h,Z as i,ye as j}; diff --git a/web/assets/HomePage-7MZxEK4U.js b/web/assets/HomePage-7MZxEK4U.js new file mode 100644 index 0000000..c9a0054 --- /dev/null +++ b/web/assets/HomePage-7MZxEK4U.js @@ -0,0 +1,20 @@ +import{s as X,w as ce,r as Fe,c as L,t as ue,u as s,d as Q,m as Se,a as Ie,o as xe,b as Pe,e as Re,f as b,g as v,h as U,i as R,j as t,k as ye,l as de,n as te,p as Le,F as ae,q as We,v as F,x as H,y as Oe,z as u,A as Ge,B as Ne,C as B,D as S,E as Ue,G as N,H as qe,I as d,J as Me,K as Ke,L as le}from"./index-BhaIiTEj.js";import{r as ke,c as _e,_ as re,a as Xe,b as ie,d as V,t as y}from"./Sonner.vue_vue_type_script_setup_true_lang-BwfWndxy.js";import{_ as Je}from"./index-Catk2Spn.js";import{_ as he,a as ge,b as $e}from"./CardTitle.vue_vue_type_script_setup_true_lang-DBp3brf1.js";import{u as be,a as Ye}from"./Teleport-DV_BGdH0.js";import{t as Qe,i as ze,a as we,w as Ze,b as et,c as tt,r as at}from"./useForwardExpose-CRFbVhil.js";import{_ as nt,a as ot,b as st}from"./PopoverTrigger.vue_vue_type_script_setup_true_lang-Dc9Inee9.js";import{_ as lt}from"./NavBar.vue_vue_type_script_setup_true_lang-B5iz8PFz.js";import{_ as rt}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./PopperContent-MQwziWLW.js";const je=ze?window:void 0,K=ze?window.document:void 0;function it(i){var x;const m=ue(i);return(x=m?.$el)!=null?x:m}function ut(...i){const x=[],m=()=>{x.forEach(n=>n()),x.length=0},c=(n,h,f,w)=>(n.addEventListener(h,f,w),()=>n.removeEventListener(h,f,w)),g=L(()=>{const n=we(ue(i[0])).filter(h=>h!=null);return n.every(h=>typeof h!="string")?n:void 0}),l=Ze(()=>{var n,h;return[(h=(n=g.value)==null?void 0:n.map(f=>it(f)))!=null?h:[je].filter(f=>f!=null),we(ue(g.value?i[1]:i[0])),we(s(g.value?i[2]:i[1])),ue(g.value?i[3]:i[2])]},([n,h,f,w])=>{if(m(),!n?.length||!h?.length||!f?.length)return;const C=et(w)?{...w}:w;x.push(...n.flatMap(p=>h.flatMap(M=>f.map($=>c(p,M,$,C)))))},{flush:"post"}),k=()=>{l(),m()};return tt(m),k}function ct(i,x){const m=X(x);return ce(Qe(i),(c,g)=>{m.value=g},{flush:"sync"}),Fe(m)}const dt=` +[data-input-otp] { + --nojs-bg: white !important; + --nojs-fg: black !important; + + background-color: var(--nojs-bg) !important; + color: var(--nojs-fg) !important; + caret-color: var(--nojs-fg) !important; + letter-spacing: .25em !important; + text-align: center !important; + border: 1px solid var(--nojs-fg) !important; + border-radius: 4px !important; + width: 100% !important; +} +@media (prefers-color-scheme: dark) { + [data-input-otp] { + --nojs-bg: black !important; + --nojs-fg: white !important; + } +}`,pt=Q({props:{fallback:{type:String,required:!0}},setup(i){return()=>H("noscript",{innerHTML:``})}}),Te=Symbol("vue-otp-context");function vt(i){return[setTimeout(i,0),setTimeout(i,10),setTimeout(i,50)]}const mt=18,Ve=40,ft=`${Ve}px`,ht=["[data-lastpass-icon-root]","com-1password-button","[data-dashlanecreated]",'[style$="2147483647 !important;"]'].join(",");function gt({containerRef:i,inputRef:x,pushPasswordManagerStrategy:m,isFocused:c}){const g=F({done:!1,refocused:!1}),l=F(!1),k=F(!1),n=F(!1),h=L(()=>m==="none"?!1:(m==="increase-width"||m==="experimental-no-flickering")&&l.value&&k.value),f=()=>{const p=i.value,M=x.value;if(!p||!M||n.value||m==="none")return;const $=p,A=$.getBoundingClientRect().left+$.offsetWidth,P=$.getBoundingClientRect().top+$.offsetHeight/2,D=A-mt,E=P;if(!(document.querySelectorAll(ht).length===0&&document.elementFromPoint(D,E)===p)&&(l.value=!0,n.value=!0,!g.value.refocused&&document.activeElement===M)){const z=[M.selectionStart,M.selectionEnd];M.blur(),M.focus(),M.setSelectionRange(z[0],z[1]),g.value.refocused=!0}},w=()=>{const p=i.value;!p||m==="none"||(k.value=window.innerWidth-p.getBoundingClientRect().right>=Ve)};let C;return xe(()=>{w(),C=setInterval(w,1e3)}),Pe(()=>{clearInterval(C)}),ce([c,x],(p,M,$)=>{const[A,P]=p,D=A||document.activeElement===P;if(m==="none"||!D)return;const E=setTimeout(f,0),z=setTimeout(f,2e3),Z=setTimeout(f,5e3),ee=setTimeout(()=>{n.value=!0},6e3);$(()=>{clearTimeout(E),clearTimeout(z),clearTimeout(Z),clearTimeout(ee)})}),{hasPWMBadge:l,willPushPWMBadge:h,PWM_BADGE_SPACE_WIDTH:ft}}const wt={style:{position:"absolute",inset:"0","pointer-events":"none"}},xt=["value","data-input-otp-placeholder-shown","data-input-otp-mss","data-input-otp-mse","aria-placeholder","pattern"],yt=Q({name:"OTPInput",inheritAttrs:!1,__name:"OTPInput",props:Se({maxlength:{},textAlign:{default:"left"},inputmode:{default:"numeric"},containerClass:{},pushPasswordManagerStrategy:{default:"increase-width"},noScriptCssFallback:{default:dt},defaultValue:{default:""},pasteTransformer:{},accept:{},alt:{},autocomplete:{default:"one-time-code"},autofocus:{type:Boolean},capture:{type:[Boolean,String]},checked:{type:[Boolean,Array,Set]},crossorigin:{},disabled:{type:Boolean},enterKeyHint:{},form:{},formaction:{},formenctype:{},formmethod:{},formnovalidate:{type:Boolean},formtarget:{},height:{},indeterminate:{type:Boolean},list:{},max:{},min:{},minlength:{},multiple:{type:Boolean},name:{},pattern:{},placeholder:{},readonly:{type:Boolean},required:{type:Boolean},size:{},src:{},step:{},type:{},value:{},width:{}},{modelValue:{default(i){return i.defaultValue}},modelModifiers:{}}),emits:Se(["complete","change","select","input","focus","blur","mouseover","mouseleave","paste"],["update:modelValue"]),setup(i,{expose:x,emit:m}){const c=i,g=m,[l]=Ie(i,"modelValue"),k=ct(l),n=L(()=>c.pattern?typeof c.pattern=="string"?new RegExp(c.pattern):c.pattern:null),h=X(!1),f=X(!1),w=X(null),C=X(null),p=X(null),M=X(null),$=je?.CSS?.supports?.("-webkit-touch-callout","none");let A={prev:[p.value?.selectionStart,p.value?.selectionEnd,p.value?.selectionDirection]};function P(e,a){try{e.insertRule(a)}catch{console.error("input-otp could not insert CSS rule:",a)}}xe(()=>{const e=p.value,a=M.value;if(!e||!a)return;A.prev=[e.selectionStart,e.selectionEnd,e.selectionDirection??"none"];const r=ut(K,"selectionchange",j,{capture:!0});function j(){if(!e)return;if(K?.activeElement!==e){w.value=null,C.value=null;return}const _=e.selectionStart,I=e.selectionEnd,ne=e.selectionDirection,oe=e.maxLength,se=e.value,J=A.prev;let O=-1,G=-1,Y;if(se.length!==0&&_!==null&&I!==null){const He=_===I,Ae=_===se.length&&se.length1&&se.length>1){let fe=0;if(J[0]!==null&&J[1]!==null){Y=q{a&&a.style.setProperty("--root-height",`${e.clientHeight}px`)};T();const W=new ResizeObserver(T);W.observe(e),Pe(()=>{r(),W.disconnect()})}),ce([l],()=>{vt(()=>{if(!p.value)return;p.value?.dispatchEvent(new Event("input"));const e=p.value?.selectionStart,a=p.value?.selectionEnd,r=p.value?.selectionDirection;e!==null&&a!==null&&(w.value=e??null,C.value=a??null,A.prev=[e,a,r])})},{immediate:!0}),Re(()=>{k.value!==void 0&&l.value!==k.value&&k.value.length0&&n.value&&!n.value.test(W)&&e.preventDefault()}}function z(e){const a=e.currentTarget.value.slice(0,c.maxlength);if(a.length>0&&n.value&&!n.value.test(a)){e.preventDefault();return}typeof k.value=="string"&&a.length0&&n.value&&!n.value.test(_))return;l.value=_,g("input",_);const I=Math.min(_.length,c.maxlength-1),ne=_.length;a?.setSelectionRange(I,ne),w.value=I,C.value=ne}const pe=be(at(c,"containerClass","value","pattern","defaultValue","pushPasswordManagerStrategy","noScriptCssFallback","modelValue")),ve=L(()=>({position:"relative",cursor:c.disabled?"default":"text",userSelect:"none",WebkitUserSelect:"none",pointerEvents:"none"})),me=L(()=>({position:"absolute",inset:0,width:D.willPushPWMBadge.value?`calc(100% + ${D.PWM_BADGE_SPACE_WIDTH})`:"100%",clipPath:D.willPushPWMBadge.value?`inset(0 ${D.PWM_BADGE_SPACE_WIDTH} 0 0)`:void 0,height:"100%",display:"flex",textAlign:c.textAlign,opacity:"1",color:"transparent",pointerEvents:"all",background:"transparent",caretColor:"transparent",border:"0 solid transparent",outline:"0 solid transparent",boxShadow:"none",lineHeight:"1",letterSpacing:"-.5em",fontSize:"var(--root-height)",fontFamily:"monospace",fontVariantNumeric:"tabular-nums"})),o=L(()=>({slots:Array.from({length:Number(c.maxlength)}).map((e,a)=>{const r=f.value&&w.value!==null&&C.value!==null&&(w.value===C.value&&a===w.value||a>=w.value&&ap})),(e,a)=>(v(),b(ae,null,[i.noScriptCssFallback!==null?(v(),U(s(pt),{key:0,fallback:i.noScriptCssFallback},null,8,["fallback"])):R("v-if",!0),t("div",{ref_key:"containerRef",ref:M,"data-input-otp-container":"",style:Le(ve.value),class:te(i.containerClass)},[ye(e.$slots,"default",{slots:o.value.slots,isFocused:f.value,isHovering:!i.disabled&&h.value}),t("div",wt,[t("input",de({ref_key:"inputRef",ref:p,value:s(l),"data-input-otp":"","data-input-otp-placeholder-shown":s(l).length===0||void 0,"data-input-otp-mss":w.value,"data-input-otp-mse":C.value,"aria-placeholder":i.placeholder,style:me.value,pattern:n.value?.source},{...e.$attrs,...s(pe)},{onBeforeinput:E,onMouseover:a[0]||(a[0]=r=>{h.value=!0,g("mouseover",r)}),onMouseleave:a[1]||(a[1]=r=>{h.value=!1,g("mouseleave",r)}),onPaste:a[2]||(a[2]=r=>{ee(r),g("paste",r)}),onInput:z,onFocus:a[3]||(a[3]=r=>{Z(),g("focus",r)}),onBlur:a[4]||(a[4]=r=>{f.value=!1,g("blur",r)})}),null,16,xt)])],6)],64))}});var kt=yt;function _t(){return We(Te)}const bt=Q({__name:"InputOTP",props:{maxlength:{},textAlign:{},inputmode:{},containerClass:{},pushPasswordManagerStrategy:{},noScriptCssFallback:{},defaultValue:{},pasteTransformer:{type:Function},accept:{},alt:{},autocomplete:{},autofocus:{type:Boolean},capture:{type:[Boolean,String]},checked:{type:[Boolean,Array,Set]},crossorigin:{},disabled:{type:Boolean},enterKeyHint:{},form:{},formaction:{},formenctype:{},formmethod:{},formnovalidate:{type:Boolean},formtarget:{},height:{},indeterminate:{type:Boolean},list:{},max:{},min:{},minlength:{},multiple:{type:Boolean},name:{},pattern:{},placeholder:{},readonly:{type:Boolean},required:{type:Boolean},size:{},src:{},step:{},type:{},value:{},width:{},class:{}},emits:["complete","change","select","input","focus","blur","mouseover","mouseleave","paste"],setup(i,{emit:x}){const m=i,c=x,g=ke(m,"class"),l=Ye(g,c);return(k,n)=>(v(),U(s(kt),de(s(l),{"container-class":s(_e)("flex items-center gap-2 has-disabled:opacity-50",m.class),"data-slot":"input-otp",class:"disabled:cursor-not-allowed"}),{default:u(h=>[ye(k.$slots,"default",Ge(Ne(h)))]),_:3},16,["container-class"]))}}),Ct=Q({__name:"InputOTPGroup",props:{class:{}},setup(i){const x=i,m=ke(x,"class"),c=be(m);return(g,l)=>(v(),b("div",de({"data-slot":"input-otp-group"},s(c),{class:s(_e)("flex items-center",x.class)}),[ye(g.$slots,"default")],16))}}),Bt=["data-active"],St={key:0,class:"pointer-events-none absolute inset-0 flex items-center justify-center"},Mt=Q({__name:"InputOTPSlot",props:{index:{},class:{}},setup(i){const x=i,m=ke(x,"class"),c=be(m),g=_t(),l=L(()=>g?.value.slots[x.index]);return(k,n)=>(v(),b("div",de(s(c),{"data-slot":"input-otp-slot","data-active":l.value?.isActive,class:s(_e)("data-[active=true]:border-ring data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:ring-destructive/20 dark:data-[active=true]:aria-invalid:ring-destructive/40 aria-invalid:border-destructive data-[active=true]:aria-invalid:border-destructive dark:bg-input/30 border-input relative flex h-9 w-9 items-center justify-center border-y border-r text-sm shadow-xs transition-all outline-none first:rounded-l-md first:border-l last:rounded-r-md data-[active=true]:z-10 data-[active=true]:ring-[3px]",x.class)}),[B(S(l.value?.char)+" ",1),l.value?.hasFakeCaret?(v(),b("div",St,[...n[0]||(n[0]=[t("div",{class:"animate-caret-blink bg-foreground h-4 w-px duration-1000"},null,-1)])])):R("",!0)],16,Bt))}}),$t={class:"min-h-screen bg-gradient-to-br from-blue-50 via-white to-purple-50"},Pt={class:"flex flex-col items-center space-y-6"},zt={class:"flex justify-center p-6 bg-gradient-to-br from-blue-50 to-purple-50 rounded-2xl shadow-inner"},jt={key:0,class:"text-center text-base text-blue-600 flex items-center animate-pulse"},Tt={key:1,class:"text-center"},Vt={key:0,class:"w-5 h-5 mr-2 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Et={key:1,class:"w-5 h-5 mr-2 text-blue-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ht={class:"flex items-center justify-center gap-3"},At={key:1,class:"space-y-4"},Dt={class:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3"},Ft={class:"flex items-center gap-2"},It={class:"grid grid-cols-1 sm:grid-cols-2 gap-2 text-xs"},Rt={class:"flex items-center gap-2"},Lt={class:"text-gray-900"},Wt={class:"flex items-center gap-2"},Ot={class:"text-gray-900"},Gt={key:0,class:"flex items-center gap-2"},Nt={class:"text-gray-900"},Ut={key:1,class:"flex items-center gap-2"},qt={class:"text-gray-900 truncate"},Kt={class:"flex items-center justify-between"},Xt={class:"bg-gray-50 p-3 rounded-lg border max-h-80 overflow-y-auto"},Jt={class:"whitespace-pre-wrap text-sm text-gray-800"},Yt={class:"flex items-center justify-between"},Qt={key:0,class:"animate-spin -ml-1 mr-1.5 h-3.5 w-3.5",fill:"none",viewBox:"0 0 24 24"},Zt={key:1,class:"w-3.5 h-3.5 mr-1.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},ea={class:"space-y-2"},ta={class:"flex items-center space-x-3 flex-1"},aa={class:"w-9 h-9 rounded-lg bg-blue-100 flex items-center justify-center"},na={class:"flex-1 min-w-0"},oa={class:"text-sm font-medium text-gray-900 truncate"},sa={class:"flex items-center space-x-3 text-xs text-gray-500 mt-0.5"},la={class:"flex items-center gap-2"},ra={key:0,class:"animate-spin h-3.5 w-3.5",fill:"none",viewBox:"0 0 24 24"},ia={key:1,class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},ua={class:"space-y-3"},ca={class:"space-y-2"},da=Q({__name:"HomePage",props:{code:{}},setup(i){const x=i,m=qe(),{config:c,loadConfig:g}=Ue(),l=F(""),k=F(""),n=F(null),h=F(!1),f=F(!1),w=F(new Set),C=L(()=>c.value.security?.pickup_code_length||6),p=L(()=>{if(!n.value?.files)return"0 B";const o=n.value.files.reduce((e,a)=>e+a.size,0);return N.formatFileSize(o)}),M=async()=>{if(!l.value.trim()){y.warning("请输入取件码");return}h.value=!0;try{const o=await le.getBatch(l.value.trim());if(o.data.code===200)n.value=o.data.data,k.value=l.value.trim(),y.success("获取成功!");else throw new Error(o.data.msg||"获取失败")}catch(o){const e=l.value;l.value="",o.response?.status>=400&&o.response?.status<500?o.response?.status===404?y.error("取件码不存在或已过期,请检查后重新输入",{duration:4e3,description:`输入的取件码:${e}`}):o.response?.status===410?y.error("文件已过期或达到下载限制",{duration:4e3,description:`取件码:${e}`}):y.error(o.response?.data?.msg||"获取失败,请重试",{duration:3e3}):(console.error("获取批次失败:",o),y.error(o.response?.data?.msg||"获取失败,请重试",{duration:3e3}))}finally{h.value=!1}},$=async()=>{try{const o=await navigator.clipboard.readText();if(o.trim()){const e=o.trim();l.value=e,y.success("已粘贴取件码")}else y.warning("剪贴板中没有内容")}catch{y.error("读取剪贴板失败,请手动输入")}},A=async()=>{n.value?.content&&(await N.copyToClipboard(n.value.content)?y.success("文本已复制到剪贴板"):y.error("复制失败,请手动复制"))},P=async()=>{if(k.value)try{const o=await le.getBatch(k.value);o.data.code===200&&(n.value=o.data.data)}catch(o){console.error("刷新批次详情失败:",o)}},D=async o=>{w.value.add(o.id);try{if(o.download_url){const e=await fetch(o.download_url);if(!e.ok)throw new Error("Download failed");const a=await e.blob();N.downloadBlob(a,o.original_name)}else{const e=await le.downloadFile(o.id);N.downloadBlob(e.data,o.original_name)}y.success(`下载 ${o.original_name} 成功`),n.value?.type==="file"&&(await new Promise(e=>setTimeout(e,100)),await P())}catch(e){e.response?.status>=400&&e.response?.status<500?e.response?.status===404?y.error("文件不存在"):e.response?.status===410?y.error("文件已过期"):y.error("下载失败,请重试"):(console.error("下载文件失败:",e),y.error("下载失败,请重试"))}finally{w.value.delete(o.id)}},E=o=>{const e=window.location.origin,a=o.download_url||`${e}/api/files/${o.id}/download`,r=o.original_name;return{url:a,wget:`wget -O "${r}" "${a}"`,curl:`curl -o "${r}" "${a}"`,powershell:`Invoke-WebRequest -Uri "${a}" -OutFile "${r}"`,aria2c:`aria2c -o "${r}" "${a}"`}},z=async(o,e)=>{try{await navigator.clipboard.writeText(o),y.success(`${e}已复制到剪贴板`)}catch{y.error("复制失败,请手动复制")}},Z=async()=>{if(k.value){f.value=!0;try{const o=await le.downloadBatch(k.value),e=`files_${k.value}.zip`;N.downloadBlob(o.data,e),y.success("打包下载成功"),n.value?.type==="file"&&(await new Promise(a=>setTimeout(a,100)),await P())}catch(o){o.response?.status>=400&&o.response?.status<500?o.response?.status===404?y.error("文件批次不存在"):o.response?.status===410?y.error("文件已过期"):y.error("下载失败,请重试"):(console.error("打包下载失败:",o),y.error("下载失败,请重试"))}finally{f.value=!1}}},ee=()=>{n.value=null,k.value="",l.value=""},pe=o=>N.formatFileSize(o),ve=o=>N.formatDate(o);ce(l,o=>{o.length===C.value&&M()}),xe(()=>{g();const o=x.code||m.params.code;o&&(l.value=o)});const me=o=>{const e=N.getFileTypeIcon(o),a={image:()=>H("svg",{fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[H("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"})]),video:()=>H("svg",{fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[H("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 10l4.553-2.276A1 1 0 0121 8.618v6.764a1 1 0 01-1.447.894L15 14M5 18h8a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z"})]),audio:()=>H("svg",{fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[H("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 19V6l12-3v13M9 19c0 1.105-1.343 2-3 2s-3-.895-3-2 1.343-2 3-2 3 .895 3 2zm12-3c0 1.105-1.343 2-3 2s-3-.895-3-2 1.343-2 3-2 3 .895 3 2zM9 10l12-3"})]),archive:()=>H("svg",{fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[H("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 8l4 4 4-4m6-4v12a2 2 0 01-2 2H7a2 2 0 01-2-2V4a2 2 0 012-2h10a2 2 0 012 2z"})]),file:()=>H("svg",{fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[H("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})])};return a[e]||a.file};return(o,e)=>(v(),b("div",$t,[d(lt,{showDescription:!0}),t("div",{class:te(["container mx-auto px-4",n.value?"py-6":"flex items-center min-h-[calc(100vh-4rem)]"])},[t("div",{class:te(["max-w-2xl mx-auto",n.value?"":"w-full"])},[n.value?R("",!0):(v(),U(s(re),{key:0,class:"shadow-2xl border-0 overflow-hidden"},{default:u(()=>[d(s(ie),{class:"pt-12 pb-10"},{default:u(()=>[e[7]||(e[7]=t("div",{class:"text-center mb-10"},[t("div",{class:"inline-flex items-center justify-center w-20 h-20 rounded-full bg-gradient-to-br from-blue-500 to-purple-600 mb-6 shadow-lg"},[t("svg",{class:"w-10 h-10 text-white",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"})])]),t("h2",{class:"text-3xl font-bold text-gray-900 mb-3"},"文件取件"),t("p",{class:"text-base text-gray-600"},"输入取件码即可安全获取文件")],-1)),t("div",Pt,[t("div",zt,[d(s(bt),{modelValue:l.value,"onUpdate:modelValue":e[0]||(e[0]=a=>l.value=a),maxlength:C.value,disabled:h.value},{default:u(()=>[d(s(Ct),null,{default:u(()=>[(v(!0),b(ae,null,Me(C.value,a=>(v(),U(s(Mt),{key:a,index:a-1},null,8,["index"]))),128))]),_:1})]),_:1},8,["modelValue","maxlength","disabled"])]),h.value?(v(),b("div",jt,[...e[2]||(e[2]=[t("svg",{class:"animate-spin -ml-1 mr-3 h-5 w-5",fill:"none",viewBox:"0 0 24 24"},[t("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),t("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 0 1 8-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 0 1 4 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})],-1),B(" 正在获取文件,请稍候... ",-1)])])):(v(),b("div",Tt,[t("div",{class:te(["inline-flex items-center px-5 py-2.5 rounded-full transition-all",l.value===""?"bg-gray-100":"bg-gradient-to-r from-blue-100 to-purple-100"])},[l.value===""?(v(),b("svg",Vt,[...e[3]||(e[3]=[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"},null,-1)])])):(v(),b("svg",Et,[...e[4]||(e[4]=[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 7a2 2 0 012 2m4 0a6 6 0 01-7.743 5.743L11 17H9v2H7v2H4a1 1 0 01-1-1v-2.586a1 1 0 01.293-.707l5.964-5.964A6 6 0 1121 9z"},null,-1)])])),t("span",{class:te(["text-sm font-medium",l.value===""?"text-gray-600":"text-blue-700"])},[l.value===""?(v(),b(ae,{key:0},[B(" 请输入 "+S(C.value)+" 位取件码 ",1)],64)):(v(),b(ae,{key:1},[B(S(l.value.length)+" / "+S(C.value),1)],64))],2)],2)])),t("div",Ht,[d(s(V),{variant:"ghost",onClick:$,size:"default",class:"text-gray-600 hover:text-blue-600 hover:bg-blue-50 transition-all"},{default:u(()=>[...e[5]||(e[5]=[t("svg",{class:"w-4 h-4 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5H7a2 2 0 00-2 2v10a2 2 0 002 2h8a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"})],-1),B(" 从剪贴板粘贴 ",-1)])]),_:1}),l.value?(v(),U(s(V),{key:0,variant:"ghost",onClick:e[1]||(e[1]=a=>l.value=""),size:"default",class:"text-gray-600 hover:text-red-600 hover:bg-red-50 transition-all"},{default:u(()=>[...e[6]||(e[6]=[t("svg",{class:"w-4 h-4 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1),B(" 清空重试 ",-1)])]),_:1})):R("",!0)])])]),_:1})]),_:1})),n.value?(v(),b("div",At,[d(s(re),{class:"shadow-md"},{default:u(()=>[d(s(he),{class:"pb-4"},{default:u(()=>[t("div",Dt,[t("div",null,[d(s(ge),{class:"flex items-center text-base mb-1.5"},{default:u(()=>[...e[8]||(e[8]=[t("svg",{class:"w-4 h-4 mr-2 text-green-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"})],-1),B(" 提取成功 ",-1)])]),_:1}),t("div",Ft,[d(s($e),{class:"text-xs"},{default:u(()=>[B(" 取件码: "+S(k.value),1)]),_:1}),d(s(Je),{variant:n.value.download_count<(n.value.max_downloads||1/0)?"default":"secondary",class:"text-xs"},{default:u(()=>[B(S(n.value.type==="text"?"文本":`${n.value.files?.length||0}个文件`),1)]),_:1},8,["variant"])])]),d(s(V),{variant:"outline",size:"sm",onClick:ee,class:"h-8 text-xs w-full sm:w-auto"},{default:u(()=>[...e[9]||(e[9]=[t("svg",{class:"w-3.5 h-3.5 mr-1",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})],-1),B(" 重新取件 ",-1)])]),_:1})])]),_:1}),d(s(ie),{class:"pt-0"},{default:u(()=>[t("div",It,[t("div",Rt,[e[10]||(e[10]=t("span",{class:"text-gray-600 font-medium min-w-[60px]"},"类型",-1)),t("span",Lt,S(n.value.type==="text"?"文本":"文件"),1)]),t("div",Wt,[e[11]||(e[11]=t("span",{class:"text-gray-600 font-medium min-w-[60px]"},"下载次数",-1)),t("span",Ot,S(n.value.download_count)+S(n.value.max_downloads?` / ${n.value.max_downloads}`:""),1)]),n.value.expire_at?(v(),b("div",Gt,[e[12]||(e[12]=t("span",{class:"text-gray-600 font-medium min-w-[60px]"},"过期时间",-1)),t("span",Nt,S(ve(n.value.expire_at)),1)])):R("",!0),n.value.remark?(v(),b("div",Ut,[e[13]||(e[13]=t("span",{class:"text-gray-600 font-medium min-w-[60px]"},"备注",-1)),t("span",qt,S(n.value.remark),1)])):R("",!0)])]),_:1})]),_:1}),n.value.type==="text"?(v(),U(s(re),{key:0,class:"shadow-md"},{default:u(()=>[d(s(he),{class:"pb-3"},{default:u(()=>[t("div",Kt,[d(s(ge),{class:"text-base"},{default:u(()=>[...e[14]||(e[14]=[B("文本内容",-1)])]),_:1}),d(s(V),{onClick:A,size:"sm",class:"h-8 text-xs"},{default:u(()=>[...e[15]||(e[15]=[t("svg",{class:"w-3.5 h-3.5 mr-1.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})],-1),B(" 复制 ",-1)])]),_:1})])]),_:1}),d(s(ie),{class:"pt-3"},{default:u(()=>[t("div",Xt,[t("pre",Jt,S(n.value.content),1)])]),_:1})]),_:1})):R("",!0),n.value.type==="file"&&n.value.files?(v(),U(s(re),{key:1,class:"shadow-md"},{default:u(()=>[d(s(he),{class:"pb-3"},{default:u(()=>[t("div",Yt,[t("div",null,[d(s(ge),{class:"text-base"},{default:u(()=>[...e[16]||(e[16]=[B("文件列表",-1)])]),_:1}),d(s($e),{class:"text-xs"},{default:u(()=>[B(" 共 "+S(n.value.files.length)+" 个文件,"+S(p.value),1)]),_:1})]),d(s(V),{onClick:Z,disabled:f.value,size:"sm",class:"h-8 text-xs"},{default:u(()=>[f.value?(v(),b("svg",Qt,[...e[17]||(e[17]=[t("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),t("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 0 1 8-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 0 1 4 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):(v(),b("svg",Zt,[...e[18]||(e[18]=[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 10v6m0 0l-3-3m3 3l3-3M7 7h10a2 2 0 012 2v6a2 2 0 01-2 2H7a2 2 0 01-2-2V9a2 2 0 012-2z"},null,-1)])])),B(" "+S(f.value?"打包中":"打包下载"),1)]),_:1},8,["disabled"])])]),_:1}),d(s(ie),{class:"pt-3"},{default:u(()=>[t("div",ea,[(v(!0),b(ae,null,Me(n.value.files,a=>(v(),b("div",{key:a.id,class:"flex items-center justify-between p-3 bg-gray-50 rounded-lg hover:bg-gray-100 transition-colors"},[t("div",ta,[t("div",aa,[(v(),U(Ke(me(a.original_name)),{class:"w-5 h-5 text-blue-600"}))]),t("div",na,[t("h4",oa,S(a.original_name),1),t("div",sa,[t("span",null,S(pe(a.size)),1),t("span",null,S(a.mime_type),1)])])]),t("div",la,[d(s(V),{onClick:r=>D(a),disabled:w.value.has(a.id),size:"sm",class:"h-8 text-xs"},{default:u(()=>[w.value.has(a.id)?(v(),b("svg",ra,[...e[19]||(e[19]=[t("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),t("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 0 1 8-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 0 1 4 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):(v(),b("svg",ia,[...e[20]||(e[20]=[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 10v6m0 0l-3-3m3 3l3-3m2 8H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"},null,-1)])]))]),_:2},1032,["onClick","disabled"]),d(s(nt),null,{default:u(()=>[d(s(ot),{"as-child":""},{default:u(()=>[d(s(V),{variant:"outline",size:"sm",class:"h-8 w-8 p-0",title:"复制下载命令"},{default:u(()=>[...e[21]||(e[21]=[t("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})],-1)])]),_:1})]),_:1}),d(s(st),{class:"w-80",align:"end"},{default:u(()=>[t("div",ua,[e[27]||(e[27]=t("div",null,[t("h4",{class:"font-medium text-sm mb-2"},"复制下载命令"),t("p",{class:"text-xs text-gray-500 mb-3"},"选择一种命令行工具复制下载命令")],-1)),t("div",ca,[d(s(V),{variant:"outline",size:"sm",class:"w-full justify-start text-xs font-mono",onClick:r=>z(E(a).url,"下载链接")},{default:u(()=>[...e[22]||(e[22]=[t("svg",{class:"w-3.5 h-3.5 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1"})],-1),B(" 复制 URL ",-1)])]),_:1},8,["onClick"]),d(s(V),{variant:"outline",size:"sm",class:"w-full justify-start text-xs font-mono",onClick:r=>z(E(a).wget,"wget 命令")},{default:u(()=>[...e[23]||(e[23]=[t("svg",{class:"w-3.5 h-3.5 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})],-1),B(" wget ",-1)])]),_:1},8,["onClick"]),d(s(V),{variant:"outline",size:"sm",class:"w-full justify-start text-xs font-mono",onClick:r=>z(E(a).curl,"curl 命令")},{default:u(()=>[...e[24]||(e[24]=[t("svg",{class:"w-3.5 h-3.5 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})],-1),B(" curl ",-1)])]),_:1},8,["onClick"]),d(s(V),{variant:"outline",size:"sm",class:"w-full justify-start text-xs font-mono",onClick:r=>z(E(a).powershell,"PowerShell 命令")},{default:u(()=>[...e[25]||(e[25]=[t("svg",{class:"w-3.5 h-3.5 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})],-1),B(" PowerShell ",-1)])]),_:1},8,["onClick"]),d(s(V),{variant:"outline",size:"sm",class:"w-full justify-start text-xs font-mono",onClick:r=>z(E(a).aria2c,"aria2c 命令")},{default:u(()=>[...e[26]||(e[26]=[t("svg",{class:"w-3.5 h-3.5 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M9 19l3 3m0 0l3-3m-3 3V10"})],-1),B(" aria2c ",-1)])]),_:1},8,["onClick"])])])]),_:2},1024)]),_:2},1024)])]))),128))])]),_:1})]),_:1})):R("",!0)])):R("",!0)],2)],2),d(s(Xe))]))}}),_a=rt(da,[["__scopeId","data-v-72019359"]]);export{_a as default}; diff --git a/web/assets/HomePage-CzsVSF8w.css b/web/assets/HomePage-CzsVSF8w.css new file mode 100644 index 0000000..d7ffdbc --- /dev/null +++ b/web/assets/HomePage-CzsVSF8w.css @@ -0,0 +1 @@ +.container[data-v-72019359]{max-width:1200px}.tracking-widest[data-v-72019359]{letter-spacing:.1em}.animate-spin[data-v-72019359]{animation:spin-72019359 1s linear infinite}@keyframes spin-72019359{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.shadow-lg[data-v-72019359]{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.hover\:bg-gray-100[data-v-72019359]:hover{transition:background-color .2s ease}.overflow-y-auto[data-v-72019359]{scrollbar-width:thin;scrollbar-color:rgba(156,163,175,.5) transparent}.overflow-y-auto[data-v-72019359]::-webkit-scrollbar{width:8px}.overflow-y-auto[data-v-72019359]::-webkit-scrollbar-track{background:transparent}.overflow-y-auto[data-v-72019359]::-webkit-scrollbar-thumb{background:#9ca3af80;border-radius:4px} diff --git a/web/assets/Input.vue_vue_type_script_setup_true_lang-CD5fb2oW.js b/web/assets/Input.vue_vue_type_script_setup_true_lang-CD5fb2oW.js new file mode 100644 index 0000000..39f75ac --- /dev/null +++ b/web/assets/Input.vue_vue_type_script_setup_true_lang-CD5fb2oW.js @@ -0,0 +1 @@ +import{d as l,N as n,_ as d,u as r,f as u,n as m,X as p,g as f}from"./index-BhaIiTEj.js";import{u as c}from"./Label.vue_vue_type_script_setup_true_lang-D-_Evs0_.js";import{c as b}from"./Sonner.vue_vue_type_script_setup_true_lang-BwfWndxy.js";const _=l({__name:"Input",props:{defaultValue:{},modelValue:{},class:{}},emits:["update:modelValue"],setup(a,{emit:o}){const e=a,t=c(e,"modelValue",o,{passive:!0,defaultValue:e.defaultValue});return(v,i)=>n((f(),u("input",{"onUpdate:modelValue":i[0]||(i[0]=s=>p(t)?t.value=s:null),"data-slot":"input",class:m(r(b)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e.class))},null,2)),[[d,r(t)]])}});export{_}; diff --git a/web/assets/Label.vue_vue_type_script_setup_true_lang-D-_Evs0_.js b/web/assets/Label.vue_vue_type_script_setup_true_lang-D-_Evs0_.js new file mode 100644 index 0000000..411b5c9 --- /dev/null +++ b/web/assets/Label.vue_vue_type_script_setup_true_lang-D-_Evs0_.js @@ -0,0 +1 @@ +import{P as B,m as E,i as F,j as L,r as N,c as q}from"./Sonner.vue_vue_type_script_setup_true_lang-BwfWndxy.js";import{d as v,h as y,g as C,z as S,k as O,l as P,u as m,a7 as D,v as J,w as x,c as M,s as T,M as z}from"./index-BhaIiTEj.js";import{u as R}from"./useForwardExpose-CRFbVhil.js";var U=v({__name:"Label",props:{for:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"label"}},setup(t){const e=t;return R(),(s,l)=>(C(),y(m(B),P(e,{onMousedown:l[0]||(l[0]=n=>{!n.defaultPrevented&&n.detail>1&&n.preventDefault()})}),{default:S(()=>[O(s.$slots,"default")]),_:3},16))}}),j=U;function H(t={}){const{inheritAttrs:e=!0}=t,s=T(),l=v({setup(o,{slots:u}){return()=>{s.value=u.default}}}),n=v({inheritAttrs:e,props:t.props,setup(o,{attrs:u,slots:_}){return()=>{var d;if(!s.value)throw new Error("[VueUse] Failed to find the definition of reusable template");const i=(d=s.value)===null||d===void 0?void 0:d.call(s,{...t.props==null?k(u):o,$slots:_});return e&&i?.length===1?i[0]:i}}});return E({define:l,reuse:n},[l,n])}function k(t){const e={};for(const s in t)e[L(s)]=t[s];return e}function A(t){return JSON.parse(JSON.stringify(t))}function Q(t,e,s,l={}){var n,o;const{clone:u=!1,passive:_=!1,eventName:d,deep:i=!1,defaultValue:V,shouldEmit:g}=l,a=D(),b=s||a?.emit||(a==null||(n=a.$emit)===null||n===void 0?void 0:n.bind(a))||(a==null||(o=a.proxy)===null||o===void 0||(o=o.$emit)===null||o===void 0?void 0:o.bind(a?.proxy));let c=d;e||(e="modelValue"),c=c||`update:${e.toString()}`;const h=r=>u?typeof u=="function"?u(r):A(r):r,$=()=>F(t[e])?h(t[e]):V,w=r=>{g?g(r)&&b(c,r):b(c,r)};if(_){const r=J($());let f=!1;return x(()=>t[e],p=>{f||(f=!0,r.value=h(p),z(()=>f=!1))}),x(r,p=>{!f&&(p!==t[e]||i)&&w(p)},{deep:i}),r}else return M({get(){return $()},set(r){w(r)}})}const W=v({__name:"Label",props:{for:{},asChild:{type:Boolean},as:{},class:{}},setup(t){const e=t,s=N(e,"class");return(l,n)=>(C(),y(m(j),P({"data-slot":"label"},m(s),{class:m(q)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e.class)}),{default:S(()=>[O(l.$slots,"default")]),_:3},16,["class"]))}});export{W as _,H as c,Q as u}; diff --git a/web/assets/NavBar.vue_vue_type_script_setup_true_lang-B5iz8PFz.js b/web/assets/NavBar.vue_vue_type_script_setup_true_lang-B5iz8PFz.js new file mode 100644 index 0000000..8ddee32 --- /dev/null +++ b/web/assets/NavBar.vue_vue_type_script_setup_true_lang-B5iz8PFz.js @@ -0,0 +1 @@ +import{d as f,f as r,j as e,I as n,R as _,z as a,E as g,g as i,u as t,i as k,D as d,n as u,C as h}from"./index-BhaIiTEj.js";import{d as m}from"./Sonner.vue_vue_type_script_setup_true_lang-BwfWndxy.js";const x={class:"bg-white border-b border-gray-200 sticky top-0 z-10"},v={class:"container mx-auto px-4"},w={class:"flex justify-between items-center h-16"},y={class:"flex items-center space-x-4"},b={key:0,class:"w-8 h-8 rounded-lg overflow-hidden flex items-center justify-center"},C=["src","alt"],j={key:1,class:"w-8 h-8 bg-blue-600 rounded-lg flex items-center justify-center"},B={class:"text-lg font-semibold text-gray-900"},z={key:0,class:"text-xs text-gray-500"},V={class:"flex items-center space-x-1"},D=f({__name:"NavBar",props:{showDescription:{type:Boolean}},setup(p){const{config:o}=g();return(c,s)=>{const l=_("router-link");return i(),r("nav",x,[e("div",v,[e("div",w,[e("div",y,[n(l,{to:"/",class:"flex items-center space-x-3"},{default:a(()=>[t(o).site?.logo?(i(),r("div",b,[e("img",{src:t(o).site.logo,alt:t(o).site?.name||"文件中转站",class:"w-full h-full object-contain"},null,8,C)])):(i(),r("div",j,[...s[0]||(s[0]=[e("svg",{class:"w-5 h-5 text-white",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})],-1)])])),e("div",null,[e("h1",B,d(t(o).site?.name||"文件中转站"),1),p.showDescription?(i(),r("p",z,d(t(o).site?.description||"安全、便捷的文件暂存服务"),1)):k("",!0)])]),_:1})]),e("div",V,[n(l,{to:"/"},{default:a(()=>[n(t(m),{variant:"ghost",size:"sm",class:u(c.$route.path==="/"?"bg-gray-100":"")},{default:a(()=>[...s[1]||(s[1]=[e("svg",{class:"w-4 h-4 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2H5a2 2 0 00-2-2z"}),e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 5l4-4 4 4"})],-1),h(" 取件 ",-1)])]),_:1},8,["class"])]),_:1}),n(l,{to:"/upload"},{default:a(()=>[n(t(m),{variant:"ghost",size:"sm",class:u(c.$route.path==="/upload"?"bg-gray-100":"")},{default:a(()=>[...s[2]||(s[2]=[e("svg",{class:"w-4 h-4 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12"})],-1),h(" 发送 ",-1)])]),_:1},8,["class"])]),_:1})])])])])}}});export{D as _}; diff --git a/web/assets/PopoverTrigger.vue_vue_type_script_setup_true_lang-Dc9Inee9.js b/web/assets/PopoverTrigger.vue_vue_type_script_setup_true_lang-Dc9Inee9.js new file mode 100644 index 0000000..57f7fe9 --- /dev/null +++ b/web/assets/PopoverTrigger.vue_vue_type_script_setup_true_lang-Dc9Inee9.js @@ -0,0 +1 @@ +import{c as N,u as I,D as R,F as $,e as M,a as P,f as z,g as F,P as T,T as K}from"./Teleport-DV_BGdH0.js";import{d as g,U as L,v as q,h as c,g as y,z as f,k as v,u as e,I as b,l as m,P as C,A as S,B as k,o as x,K as U}from"./index-BhaIiTEj.js";import{d as j,r as W,u as h}from"./useForwardExpose-CRFbVhil.js";import{P as V,u as G,a as H,b as J}from"./PopperContent-MQwziWLW.js";import{P as w,r as Q,c as X}from"./Sonner.vue_vue_type_script_setup_true_lang-BwfWndxy.js";const[O,Y]=N("PopoverRoot");var Z=g({__name:"PopoverRoot",props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},modal:{type:Boolean,required:!1,default:!1}},emits:["update:open"],setup(n,{emit:l}){const t=n,r=l,{modal:u}=L(t),o=j(t,"open",r,{defaultValue:t.defaultOpen,passive:t.open===void 0}),s=q(),p=q(!1);return Y({contentId:"",triggerId:"",modal:u,open:o,onOpenChange:a=>{o.value=a},onOpenToggle:()=>{o.value=!o.value},triggerElement:s,hasCustomAnchor:p}),(a,i)=>(y(),c(e(V),null,{default:f(()=>[v(a.$slots,"default",{open:e(o),close:()=>o.value=!1})]),_:3}))}}),ee=Z,te=g({__name:"PopoverContentImpl",props:{trapFocus:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(n,{emit:l}){const t=n,r=l,u=I(W(t,"trapFocus","disableOutsidePointerEvents")),{forwardRef:o}=h(),s=O();return G(),(p,a)=>(y(),c(e($),{"as-child":"",loop:"",trapped:p.trapFocus,onMountAutoFocus:a[5]||(a[5]=i=>r("openAutoFocus",i)),onUnmountAutoFocus:a[6]||(a[6]=i=>r("closeAutoFocus",i))},{default:f(()=>[b(e(R),{"as-child":"","disable-outside-pointer-events":p.disableOutsidePointerEvents,onPointerDownOutside:a[0]||(a[0]=i=>r("pointerDownOutside",i)),onInteractOutside:a[1]||(a[1]=i=>r("interactOutside",i)),onEscapeKeyDown:a[2]||(a[2]=i=>r("escapeKeyDown",i)),onFocusOutside:a[3]||(a[3]=i=>r("focusOutside",i)),onDismiss:a[4]||(a[4]=i=>e(s).onOpenChange(!1))},{default:f(()=>[b(e(H),m(e(u),{id:e(s).contentId,ref:e(o),"data-state":e(s).open.value?"open":"closed","aria-labelledby":e(s).triggerId,style:{"--reka-popover-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-popover-content-available-width":"var(--reka-popper-available-width)","--reka-popover-content-available-height":"var(--reka-popper-available-height)","--reka-popover-trigger-width":"var(--reka-popper-anchor-width)","--reka-popover-trigger-height":"var(--reka-popper-anchor-height)"},role:"dialog"}),{default:f(()=>[v(p.$slots,"default")]),_:3},16,["id","data-state","aria-labelledby"])]),_:3},8,["disable-outside-pointer-events"])]),_:3},8,["trapped"]))}}),D=te,oe=g({__name:"PopoverContentModal",props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(n,{emit:l}){const t=n,r=l,u=O(),o=q(!1);M(!0);const s=P(t,r),{forwardRef:p,currentElement:a}=h();return z(a),(i,d)=>(y(),c(D,m(e(s),{ref:e(p),"trap-focus":e(u).open.value,"disable-outside-pointer-events":"",onCloseAutoFocus:d[0]||(d[0]=C(_=>{r("closeAutoFocus",_),o.value||e(u).triggerElement.value?.focus()},["prevent"])),onPointerDownOutside:d[1]||(d[1]=_=>{r("pointerDownOutside",_);const B=_.detail.originalEvent,A=B.button===0&&B.ctrlKey===!0,E=B.button===2||A;o.value=E}),onFocusOutside:d[2]||(d[2]=C(()=>{},["prevent"]))}),{default:f(()=>[v(i.$slots,"default")]),_:3},16,["trap-focus"]))}}),re=oe,ae=g({__name:"PopoverContentNonModal",props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(n,{emit:l}){const t=n,r=l,u=O(),o=q(!1),s=q(!1),p=P(t,r);return(a,i)=>(y(),c(D,m(e(p),{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:i[0]||(i[0]=d=>{r("closeAutoFocus",d),d.defaultPrevented||(o.value||e(u).triggerElement.value?.focus(),d.preventDefault()),o.value=!1,s.value=!1}),onInteractOutside:i[1]||(i[1]=async d=>{r("interactOutside",d),d.defaultPrevented||(o.value=!0,d.detail.originalEvent.type==="pointerdown"&&(s.value=!0));const _=d.target;e(u).triggerElement.value?.contains(_)&&d.preventDefault(),d.detail.originalEvent.type==="focusin"&&s.value&&d.preventDefault()})}),{default:f(()=>[v(a.$slots,"default")]),_:3},16))}}),se=ae,ie=g({__name:"PopoverContent",props:{forceMount:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(n,{emit:l}){const t=n,r=l,u=O(),o=P(t,r),{forwardRef:s}=h();return u.contentId||=F(void 0,"reka-popover-content"),(p,a)=>(y(),c(e(T),{present:p.forceMount||e(u).open.value},{default:f(()=>[e(u).modal.value?(y(),c(re,m({key:0},e(o),{ref:e(s)}),{default:f(()=>[v(p.$slots,"default")]),_:3},16)):(y(),c(se,m({key:1},e(o),{ref:e(s)}),{default:f(()=>[v(p.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),ne=ie,le=g({__name:"PopoverPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(n){const l=n;return(t,r)=>(y(),c(e(K),S(k(l)),{default:f(()=>[v(t.$slots,"default")]),_:3},16))}}),ue=le,de=g({__name:"PopoverTrigger",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(n){const l=n,t=O(),{forwardRef:r,currentElement:u}=h();return t.triggerId||=F(void 0,"reka-popover-trigger"),x(()=>{t.triggerElement.value=u.value}),(o,s)=>(y(),c(U(e(t).hasCustomAnchor.value?e(w):e(J)),{"as-child":""},{default:f(()=>[b(e(w),{id:e(t).triggerId,ref:e(r),type:o.as==="button"?"button":void 0,"aria-haspopup":"dialog","aria-expanded":e(t).open.value,"aria-controls":e(t).contentId,"data-state":e(t).open.value?"open":"closed",as:o.as,"as-child":l.asChild,onClick:e(t).onOpenToggle},{default:f(()=>[v(o.$slots,"default")]),_:3},8,["id","type","aria-expanded","aria-controls","data-state","as","as-child","onClick"])]),_:3}))}}),pe=de;const me=g({__name:"Popover",props:{defaultOpen:{type:Boolean},open:{type:Boolean},modal:{type:Boolean}},emits:["update:open"],setup(n,{emit:l}){const u=P(n,l);return(o,s)=>(y(),c(e(ee),m({"data-slot":"popover"},e(u)),{default:f(p=>[v(o.$slots,"default",S(k(p)))]),_:3},16))}}),_e=g({inheritAttrs:!1,__name:"PopoverContent",props:{forceMount:{type:Boolean},side:{},sideOffset:{default:4},sideFlip:{type:Boolean},align:{default:"center"},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(n,{emit:l}){const t=n,r=l,u=Q(t,"class"),o=P(u,r);return(s,p)=>(y(),c(e(ue),null,{default:f(()=>[b(e(ne),m({"data-slot":"popover-content"},{...s.$attrs,...e(o)},{class:e(X)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md origin-(--reka-popover-content-transform-origin) outline-hidden",t.class)}),{default:f(()=>[v(s.$slots,"default")]),_:3},16,["class"])]),_:3}))}}),qe=g({__name:"PopoverTrigger",props:{asChild:{type:Boolean},as:{}},setup(n){const l=n;return(t,r)=>(y(),c(e(pe),m({"data-slot":"popover-trigger"},l),{default:f(()=>[v(t.$slots,"default")]),_:3},16))}});export{me as _,qe as a,_e as b}; diff --git a/web/assets/PopperContent-MQwziWLW.js b/web/assets/PopperContent-MQwziWLW.js new file mode 100644 index 0000000..6e5402e --- /dev/null +++ b/web/assets/PopperContent-MQwziWLW.js @@ -0,0 +1 @@ +import{i as ct,e as ft,u as Ie,h as ut}from"./useForwardExpose-CRFbVhil.js";import{e as je,v as H,c as C,o as dt,d as Ce,k as Oe,a2 as Xe,h as pt,g as Ye,z as Ue,u as F,s as mt,w as he,a3 as Q,a4 as ht,a5 as gt,a6 as wt,f as yt,I as vt,l as xt,p as bt}from"./index-BhaIiTEj.js";import{P as Ge}from"./Sonner.vue_vue_type_script_setup_true_lang-BwfWndxy.js";import{c as Ke}from"./Teleport-DV_BGdH0.js";let ge=0;function Wn(){je(e=>{if(!ct)return;const t=document.querySelectorAll("[data-reka-focus-guard]");document.body.insertAdjacentElement("afterbegin",t[0]??Te()),document.body.insertAdjacentElement("beforeend",t[1]??Te()),ge++,e(()=>{ge===1&&document.querySelectorAll("[data-reka-focus-guard]").forEach(n=>n.remove()),ge--})})}function Te(){const e=document.createElement("span");return e.setAttribute("data-reka-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}function At(e){const t=H(),n=C(()=>t.value?.width??0),o=C(()=>t.value?.height??0);return dt(()=>{const i=ft(e);if(i){t.value={width:i.offsetWidth,height:i.offsetHeight};const s=new ResizeObserver(r=>{if(!Array.isArray(r)||!r.length)return;const l=r[0];let f,c;if("borderBoxSize"in l){const a=l.borderBoxSize,u=Array.isArray(a)?a[0]:a;f=u.inlineSize,c=u.blockSize}else f=i.offsetWidth,c=i.offsetHeight;t.value={width:f,height:c}});return s.observe(i,{box:"border-box"}),()=>s.unobserve(i)}else t.value=void 0}),{width:n,height:o}}const[Ze,Ct]=Ke("PopperRoot");var Ot=Ce({inheritAttrs:!1,__name:"PopperRoot",setup(e){const t=H();return Ct({anchor:t,onAnchorChange:n=>t.value=n}),(n,o)=>Oe(n.$slots,"default")}}),zn=Ot,St=Ce({__name:"PopperAnchor",props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,{forwardRef:n,currentElement:o}=Ie(),i=Ze();return Xe(()=>{i.onAnchorChange(t.reference??o.value)}),(s,r)=>(Ye(),pt(F(Ge),{ref:F(n),as:s.as,"as-child":s.asChild},{default:Ue(()=>[Oe(s.$slots,"default")]),_:3},8,["as","as-child"]))}}),Hn=St;function Pt(e){return e!==null}function Rt(e){return{name:"transformOrigin",options:e,fn(t){const{placement:n,rects:o,middlewareData:i}=t,r=i.arrow?.centerOffset!==0,l=r?0:e.arrowWidth,f=r?0:e.arrowHeight,[c,a]=ye(n),u={start:"0%",center:"50%",end:"100%"}[a],m=(i.arrow?.x??0)+l/2,d=(i.arrow?.y??0)+f/2;let p="",h="";return c==="bottom"?(p=r?u:`${m}px`,h=`${-f}px`):c==="top"?(p=r?u:`${m}px`,h=`${o.floating.height+f}px`):c==="right"?(p=`${-f}px`,h=r?u:`${d}px`):c==="left"&&(p=`${o.floating.width+f}px`,h=r?u:`${d}px`),{data:{x:p,y:h}}}}}function ye(e){const[t,n="center"]=e.split("-");return[t,n]}const Et=["top","right","bottom","left"],G=Math.min,T=Math.max,ae=Math.round,le=Math.floor,N=e=>({x:e,y:e}),Dt={left:"right",right:"left",bottom:"top",top:"bottom"},_t={start:"end",end:"start"};function ve(e,t,n){return T(e,G(t,n))}function X(e,t){return typeof e=="function"?e(t):e}function Y(e){return e.split("-")[0]}function oe(e){return e.split("-")[1]}function Se(e){return e==="x"?"y":"x"}function Pe(e){return e==="y"?"height":"width"}const Lt=new Set(["top","bottom"]);function V(e){return Lt.has(Y(e))?"y":"x"}function Re(e){return Se(V(e))}function Tt(e,t,n){n===void 0&&(n=!1);const o=oe(e),i=Re(e),s=Pe(i);let r=i==="x"?o===(n?"end":"start")?"right":"left":o==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(r=ce(r)),[r,ce(r)]}function kt(e){const t=ce(e);return[xe(e),t,xe(t)]}function xe(e){return e.replace(/start|end/g,t=>_t[t])}const ke=["left","right"],Be=["right","left"],Bt=["top","bottom"],Ft=["bottom","top"];function $t(e,t,n){switch(e){case"top":case"bottom":return n?t?Be:ke:t?ke:Be;case"left":case"right":return t?Bt:Ft;default:return[]}}function Mt(e,t,n,o){const i=oe(e);let s=$t(Y(e),n==="start",o);return i&&(s=s.map(r=>r+"-"+i),t&&(s=s.concat(s.map(xe)))),s}function ce(e){return e.replace(/left|right|bottom|top/g,t=>Dt[t])}function Wt(e){return{top:0,right:0,bottom:0,left:0,...e}}function Je(e){return typeof e!="number"?Wt(e):{top:e,right:e,bottom:e,left:e}}function fe(e){const{x:t,y:n,width:o,height:i}=e;return{width:o,height:i,top:n,left:t,right:t+o,bottom:n+i,x:t,y:n}}function Fe(e,t,n){let{reference:o,floating:i}=e;const s=V(t),r=Re(t),l=Pe(r),f=Y(t),c=s==="y",a=o.x+o.width/2-i.width/2,u=o.y+o.height/2-i.height/2,m=o[l]/2-i[l]/2;let d;switch(f){case"top":d={x:a,y:o.y-i.height};break;case"bottom":d={x:a,y:o.y+o.height};break;case"right":d={x:o.x+o.width,y:u};break;case"left":d={x:o.x-i.width,y:u};break;default:d={x:o.x,y:o.y}}switch(oe(t)){case"start":d[r]-=m*(n&&c?-1:1);break;case"end":d[r]+=m*(n&&c?-1:1);break}return d}const zt=async(e,t,n)=>{const{placement:o="bottom",strategy:i="absolute",middleware:s=[],platform:r}=n,l=s.filter(Boolean),f=await(r.isRTL==null?void 0:r.isRTL(t));let c=await r.getElementRects({reference:e,floating:t,strategy:i}),{x:a,y:u}=Fe(c,o,f),m=o,d={},p=0;for(let h=0;h({name:"arrow",options:e,async fn(t){const{x:n,y:o,placement:i,rects:s,platform:r,elements:l,middlewareData:f}=t,{element:c,padding:a=0}=X(e,t)||{};if(c==null)return{};const u=Je(a),m={x:n,y:o},d=Re(i),p=Pe(d),h=await r.getDimensions(c),g=d==="y",w=g?"top":"left",y=g?"bottom":"right",v=g?"clientHeight":"clientWidth",A=s.reference[p]+s.reference[d]-m[d]-s.floating[p],x=m[d]-s.reference[d],P=await(r.getOffsetParent==null?void 0:r.getOffsetParent(c));let b=P?P[v]:0;(!b||!await(r.isElement==null?void 0:r.isElement(P)))&&(b=l.floating[v]||s.floating[p]);const O=A/2-x/2,E=b/2-h[p]/2-1,_=G(u[w],E),z=G(u[y],E),S=_,B=b-h[p]-z,R=b/2-h[p]/2+O,j=ve(S,R,B),$=!f.arrow&&oe(i)!=null&&R!==j&&s.reference[p]/2-(RR<=0)){var z,S;const R=(((z=s.flip)==null?void 0:z.index)||0)+1,j=b[R];if(j&&(!(u==="alignment"?y!==V(j):!1)||_.every(D=>V(D.placement)===y?D.overflows[0]>0:!0)))return{data:{index:R,overflows:_},reset:{placement:j}};let $=(S=_.filter(L=>L.overflows[0]<=0).sort((L,D)=>L.overflows[1]-D.overflows[1])[0])==null?void 0:S.placement;if(!$)switch(d){case"bestFit":{var B;const L=(B=_.filter(D=>{if(P){const U=V(D.placement);return U===y||U==="y"}return!0}).map(D=>[D.placement,D.overflows.filter(U=>U>0).reduce((U,at)=>U+at,0)]).sort((D,U)=>D[1]-U[1])[0])==null?void 0:B[0];L&&($=L);break}case"initialPlacement":$=l;break}if(i!==$)return{reset:{placement:$}}}return{}}}};function $e(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Me(e){return Et.some(t=>e[t]>=0)}const Nt=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:o="referenceHidden",...i}=X(e,t);switch(o){case"referenceHidden":{const s=await ie(t,{...i,elementContext:"reference"}),r=$e(s,n.reference);return{data:{referenceHiddenOffsets:r,referenceHidden:Me(r)}}}case"escaped":{const s=await ie(t,{...i,altBoundary:!0}),r=$e(s,n.floating);return{data:{escapedOffsets:r,escaped:Me(r)}}}default:return{}}}}},Qe=new Set(["left","top"]);async function qt(e,t){const{placement:n,platform:o,elements:i}=e,s=await(o.isRTL==null?void 0:o.isRTL(i.floating)),r=Y(n),l=oe(n),f=V(n)==="y",c=Qe.has(r)?-1:1,a=s&&f?-1:1,u=X(t,e);let{mainAxis:m,crossAxis:d,alignmentAxis:p}=typeof u=="number"?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return l&&typeof p=="number"&&(d=l==="end"?p*-1:p),f?{x:d*a,y:m*c}:{x:m*c,y:d*a}}const It=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,o;const{x:i,y:s,placement:r,middlewareData:l}=t,f=await qt(t,e);return r===((n=l.offset)==null?void 0:n.placement)&&(o=l.arrow)!=null&&o.alignmentOffset?{}:{x:i+f.x,y:s+f.y,data:{...f,placement:r}}}}},jt=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:o,placement:i}=t,{mainAxis:s=!0,crossAxis:r=!1,limiter:l={fn:g=>{let{x:w,y}=g;return{x:w,y}}},...f}=X(e,t),c={x:n,y:o},a=await ie(t,f),u=V(Y(i)),m=Se(u);let d=c[m],p=c[u];if(s){const g=m==="y"?"top":"left",w=m==="y"?"bottom":"right",y=d+a[g],v=d-a[w];d=ve(y,d,v)}if(r){const g=u==="y"?"top":"left",w=u==="y"?"bottom":"right",y=p+a[g],v=p-a[w];p=ve(y,p,v)}const h=l.fn({...t,[m]:d,[u]:p});return{...h,data:{x:h.x-n,y:h.y-o,enabled:{[m]:s,[u]:r}}}}}},Xt=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:o,placement:i,rects:s,middlewareData:r}=t,{offset:l=0,mainAxis:f=!0,crossAxis:c=!0}=X(e,t),a={x:n,y:o},u=V(i),m=Se(u);let d=a[m],p=a[u];const h=X(l,t),g=typeof h=="number"?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(f){const v=m==="y"?"height":"width",A=s.reference[m]-s.floating[v]+g.mainAxis,x=s.reference[m]+s.reference[v]-g.mainAxis;dx&&(d=x)}if(c){var w,y;const v=m==="y"?"width":"height",A=Qe.has(Y(i)),x=s.reference[u]-s.floating[v]+(A&&((w=r.offset)==null?void 0:w[u])||0)+(A?0:g.crossAxis),P=s.reference[u]+s.reference[v]+(A?0:((y=r.offset)==null?void 0:y[u])||0)-(A?g.crossAxis:0);pP&&(p=P)}return{[m]:d,[u]:p}}}},Yt=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,o;const{placement:i,rects:s,platform:r,elements:l}=t,{apply:f=()=>{},...c}=X(e,t),a=await ie(t,c),u=Y(i),m=oe(i),d=V(i)==="y",{width:p,height:h}=s.floating;let g,w;u==="top"||u==="bottom"?(g=u,w=m===(await(r.isRTL==null?void 0:r.isRTL(l.floating))?"start":"end")?"left":"right"):(w=u,g=m==="end"?"top":"bottom");const y=h-a.top-a.bottom,v=p-a.left-a.right,A=G(h-a[g],y),x=G(p-a[w],v),P=!t.middlewareData.shift;let b=A,O=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(O=v),(o=t.middlewareData.shift)!=null&&o.enabled.y&&(b=y),P&&!m){const _=T(a.left,0),z=T(a.right,0),S=T(a.top,0),B=T(a.bottom,0);d?O=p-2*(_!==0||z!==0?_+z:T(a.left,a.right)):b=h-2*(S!==0||B!==0?S+B:T(a.top,a.bottom))}await f({...t,availableWidth:O,availableHeight:b});const E=await r.getDimensions(l.floating);return p!==E.width||h!==E.height?{reset:{rects:!0}}:{}}}};function ue(){return typeof window<"u"}function J(e){return Ee(e)?(e.nodeName||"").toLowerCase():"#document"}function k(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function I(e){var t;return(t=(Ee(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Ee(e){return ue()?e instanceof Node||e instanceof k(e).Node:!1}function M(e){return ue()?e instanceof Element||e instanceof k(e).Element:!1}function q(e){return ue()?e instanceof HTMLElement||e instanceof k(e).HTMLElement:!1}function We(e){return!ue()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof k(e).ShadowRoot}const Ut=new Set(["inline","contents"]);function se(e){const{overflow:t,overflowX:n,overflowY:o,display:i}=W(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+n)&&!Ut.has(i)}const Gt=new Set(["table","td","th"]);function Kt(e){return Gt.has(J(e))}const Zt=[":popover-open",":modal"];function de(e){return Zt.some(t=>{try{return e.matches(t)}catch{return!1}})}const Jt=["transform","translate","scale","rotate","perspective"],Qt=["transform","translate","scale","rotate","perspective","filter"],en=["paint","layout","strict","content"];function De(e){const t=_e(),n=M(e)?W(e):e;return Jt.some(o=>n[o]?n[o]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||Qt.some(o=>(n.willChange||"").includes(o))||en.some(o=>(n.contain||"").includes(o))}function tn(e){let t=K(e);for(;q(t)&&!ne(t);){if(De(t))return t;if(de(t))return null;t=K(t)}return null}function _e(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const nn=new Set(["html","body","#document"]);function ne(e){return nn.has(J(e))}function W(e){return k(e).getComputedStyle(e)}function pe(e){return M(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function K(e){if(J(e)==="html")return e;const t=e.assignedSlot||e.parentNode||We(e)&&e.host||I(e);return We(t)?t.host:t}function et(e){const t=K(e);return ne(t)?e.ownerDocument?e.ownerDocument.body:e.body:q(t)&&se(t)?t:et(t)}function re(e,t,n){var o;t===void 0&&(t=[]),n===void 0&&(n=!0);const i=et(e),s=i===((o=e.ownerDocument)==null?void 0:o.body),r=k(i);if(s){const l=be(r);return t.concat(r,r.visualViewport||[],se(i)?i:[],l&&n?re(l):[])}return t.concat(i,re(i,[],n))}function be(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function tt(e){const t=W(e);let n=parseFloat(t.width)||0,o=parseFloat(t.height)||0;const i=q(e),s=i?e.offsetWidth:n,r=i?e.offsetHeight:o,l=ae(n)!==s||ae(o)!==r;return l&&(n=s,o=r),{width:n,height:o,$:l}}function Le(e){return M(e)?e:e.contextElement}function te(e){const t=Le(e);if(!q(t))return N(1);const n=t.getBoundingClientRect(),{width:o,height:i,$:s}=tt(t);let r=(s?ae(n.width):n.width)/o,l=(s?ae(n.height):n.height)/i;return(!r||!Number.isFinite(r))&&(r=1),(!l||!Number.isFinite(l))&&(l=1),{x:r,y:l}}const on=N(0);function nt(e){const t=k(e);return!_e()||!t.visualViewport?on:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function rn(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==k(e)?!1:t}function Z(e,t,n,o){t===void 0&&(t=!1),n===void 0&&(n=!1);const i=e.getBoundingClientRect(),s=Le(e);let r=N(1);t&&(o?M(o)&&(r=te(o)):r=te(e));const l=rn(s,n,o)?nt(s):N(0);let f=(i.left+l.x)/r.x,c=(i.top+l.y)/r.y,a=i.width/r.x,u=i.height/r.y;if(s){const m=k(s),d=o&&M(o)?k(o):o;let p=m,h=be(p);for(;h&&o&&d!==p;){const g=te(h),w=h.getBoundingClientRect(),y=W(h),v=w.left+(h.clientLeft+parseFloat(y.paddingLeft))*g.x,A=w.top+(h.clientTop+parseFloat(y.paddingTop))*g.y;f*=g.x,c*=g.y,a*=g.x,u*=g.y,f+=v,c+=A,p=k(h),h=be(p)}}return fe({width:a,height:u,x:f,y:c})}function me(e,t){const n=pe(e).scrollLeft;return t?t.left+n:Z(I(e)).left+n}function ot(e,t){const n=e.getBoundingClientRect(),o=n.left+t.scrollLeft-me(e,n),i=n.top+t.scrollTop;return{x:o,y:i}}function sn(e){let{elements:t,rect:n,offsetParent:o,strategy:i}=e;const s=i==="fixed",r=I(o),l=t?de(t.floating):!1;if(o===r||l&&s)return n;let f={scrollLeft:0,scrollTop:0},c=N(1);const a=N(0),u=q(o);if((u||!u&&!s)&&((J(o)!=="body"||se(r))&&(f=pe(o)),q(o))){const d=Z(o);c=te(o),a.x=d.x+o.clientLeft,a.y=d.y+o.clientTop}const m=r&&!u&&!s?ot(r,f):N(0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-f.scrollLeft*c.x+a.x+m.x,y:n.y*c.y-f.scrollTop*c.y+a.y+m.y}}function ln(e){return Array.from(e.getClientRects())}function an(e){const t=I(e),n=pe(e),o=e.ownerDocument.body,i=T(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),s=T(t.scrollHeight,t.clientHeight,o.scrollHeight,o.clientHeight);let r=-n.scrollLeft+me(e);const l=-n.scrollTop;return W(o).direction==="rtl"&&(r+=T(t.clientWidth,o.clientWidth)-i),{width:i,height:s,x:r,y:l}}const ze=25;function cn(e,t){const n=k(e),o=I(e),i=n.visualViewport;let s=o.clientWidth,r=o.clientHeight,l=0,f=0;if(i){s=i.width,r=i.height;const a=_e();(!a||a&&t==="fixed")&&(l=i.offsetLeft,f=i.offsetTop)}const c=me(o);if(c<=0){const a=o.ownerDocument,u=a.body,m=getComputedStyle(u),d=a.compatMode==="CSS1Compat"&&parseFloat(m.marginLeft)+parseFloat(m.marginRight)||0,p=Math.abs(o.clientWidth-u.clientWidth-d);p<=ze&&(s-=p)}else c<=ze&&(s+=c);return{width:s,height:r,x:l,y:f}}const fn=new Set(["absolute","fixed"]);function un(e,t){const n=Z(e,!0,t==="fixed"),o=n.top+e.clientTop,i=n.left+e.clientLeft,s=q(e)?te(e):N(1),r=e.clientWidth*s.x,l=e.clientHeight*s.y,f=i*s.x,c=o*s.y;return{width:r,height:l,x:f,y:c}}function He(e,t,n){let o;if(t==="viewport")o=cn(e,n);else if(t==="document")o=an(I(e));else if(M(t))o=un(t,n);else{const i=nt(e);o={x:t.x-i.x,y:t.y-i.y,width:t.width,height:t.height}}return fe(o)}function it(e,t){const n=K(e);return n===t||!M(n)||ne(n)?!1:W(n).position==="fixed"||it(n,t)}function dn(e,t){const n=t.get(e);if(n)return n;let o=re(e,[],!1).filter(l=>M(l)&&J(l)!=="body"),i=null;const s=W(e).position==="fixed";let r=s?K(e):e;for(;M(r)&&!ne(r);){const l=W(r),f=De(r);!f&&l.position==="fixed"&&(i=null),(s?!f&&!i:!f&&l.position==="static"&&!!i&&fn.has(i.position)||se(r)&&!f&&it(e,r))?o=o.filter(a=>a!==r):i=l,r=K(r)}return t.set(e,o),o}function pn(e){let{element:t,boundary:n,rootBoundary:o,strategy:i}=e;const r=[...n==="clippingAncestors"?de(t)?[]:dn(t,this._c):[].concat(n),o],l=r[0],f=r.reduce((c,a)=>{const u=He(t,a,i);return c.top=T(u.top,c.top),c.right=G(u.right,c.right),c.bottom=G(u.bottom,c.bottom),c.left=T(u.left,c.left),c},He(t,l,i));return{width:f.right-f.left,height:f.bottom-f.top,x:f.left,y:f.top}}function mn(e){const{width:t,height:n}=tt(e);return{width:t,height:n}}function hn(e,t,n){const o=q(t),i=I(t),s=n==="fixed",r=Z(e,!0,s,t);let l={scrollLeft:0,scrollTop:0};const f=N(0);function c(){f.x=me(i)}if(o||!o&&!s)if((J(t)!=="body"||se(i))&&(l=pe(t)),o){const d=Z(t,!0,s,t);f.x=d.x+t.clientLeft,f.y=d.y+t.clientTop}else i&&c();s&&!o&&i&&c();const a=i&&!o&&!s?ot(i,l):N(0),u=r.left+l.scrollLeft-f.x-a.x,m=r.top+l.scrollTop-f.y-a.y;return{x:u,y:m,width:r.width,height:r.height}}function we(e){return W(e).position==="static"}function Ve(e,t){if(!q(e)||W(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return I(e)===n&&(n=n.ownerDocument.body),n}function rt(e,t){const n=k(e);if(de(e))return n;if(!q(e)){let i=K(e);for(;i&&!ne(i);){if(M(i)&&!we(i))return i;i=K(i)}return n}let o=Ve(e,t);for(;o&&Kt(o)&&we(o);)o=Ve(o,t);return o&&ne(o)&&we(o)&&!De(o)?n:o||tn(e)||n}const gn=async function(e){const t=this.getOffsetParent||rt,n=this.getDimensions,o=await n(e.floating);return{reference:hn(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function wn(e){return W(e).direction==="rtl"}const yn={convertOffsetParentRelativeRectToViewportRelativeRect:sn,getDocumentElement:I,getClippingRect:pn,getOffsetParent:rt,getElementRects:gn,getClientRects:ln,getDimensions:mn,getScale:te,isElement:M,isRTL:wn};function st(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function vn(e,t){let n=null,o;const i=I(e);function s(){var l;clearTimeout(o),(l=n)==null||l.disconnect(),n=null}function r(l,f){l===void 0&&(l=!1),f===void 0&&(f=1),s();const c=e.getBoundingClientRect(),{left:a,top:u,width:m,height:d}=c;if(l||t(),!m||!d)return;const p=le(u),h=le(i.clientWidth-(a+m)),g=le(i.clientHeight-(u+d)),w=le(a),v={rootMargin:-p+"px "+-h+"px "+-g+"px "+-w+"px",threshold:T(0,G(1,f))||1};let A=!0;function x(P){const b=P[0].intersectionRatio;if(b!==f){if(!A)return r();b?r(!1,b):o=setTimeout(()=>{r(!1,1e-7)},1e3)}b===1&&!st(c,e.getBoundingClientRect())&&r(),A=!1}try{n=new IntersectionObserver(x,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(x,v)}n.observe(e)}return r(!0),s}function xn(e,t,n,o){o===void 0&&(o={});const{ancestorScroll:i=!0,ancestorResize:s=!0,elementResize:r=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:f=!1}=o,c=Le(e),a=i||s?[...c?re(c):[],...re(t)]:[];a.forEach(w=>{i&&w.addEventListener("scroll",n,{passive:!0}),s&&w.addEventListener("resize",n)});const u=c&&l?vn(c,n):null;let m=-1,d=null;r&&(d=new ResizeObserver(w=>{let[y]=w;y&&y.target===c&&d&&(d.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var v;(v=d)==null||v.observe(t)})),n()}),c&&!f&&d.observe(c),d.observe(t));let p,h=f?Z(e):null;f&&g();function g(){const w=Z(e);h&&!st(h,w)&&n(),h=w,p=requestAnimationFrame(g)}return n(),()=>{var w;a.forEach(y=>{i&&y.removeEventListener("scroll",n),s&&y.removeEventListener("resize",n)}),u?.(),(w=d)==null||w.disconnect(),d=null,f&&cancelAnimationFrame(p)}}const bn=It,An=jt,Ne=Vt,Cn=Yt,On=Nt,Sn=Ht,Pn=Xt,Rn=(e,t,n)=>{const o=new Map,i={platform:yn,...n},s={...i.platform,_c:o};return zt(e,t,{...i,platform:s})};function En(e){return e!=null&&typeof e=="object"&&"$el"in e}function Ae(e){if(En(e)){const t=e.$el;return Ee(t)&&J(t)==="#comment"?null:t}return e}function ee(e){return typeof e=="function"?e():F(e)}function Dn(e){return{name:"arrow",options:e,fn(t){const n=Ae(ee(e.element));return n==null?{}:Sn({element:n,padding:e.padding}).fn(t)}}}function lt(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function qe(e,t){const n=lt(e);return Math.round(t*n)/n}function _n(e,t,n){n===void 0&&(n={});const o=n.whileElementsMounted,i=C(()=>{var b;return(b=ee(n.open))!=null?b:!0}),s=C(()=>ee(n.middleware)),r=C(()=>{var b;return(b=ee(n.placement))!=null?b:"bottom"}),l=C(()=>{var b;return(b=ee(n.strategy))!=null?b:"absolute"}),f=C(()=>{var b;return(b=ee(n.transform))!=null?b:!0}),c=C(()=>Ae(e.value)),a=C(()=>Ae(t.value)),u=H(0),m=H(0),d=H(l.value),p=H(r.value),h=mt({}),g=H(!1),w=C(()=>{const b={position:d.value,left:"0",top:"0"};if(!a.value)return b;const O=qe(a.value,u.value),E=qe(a.value,m.value);return f.value?{...b,transform:"translate("+O+"px, "+E+"px)",...lt(a.value)>=1.5&&{willChange:"transform"}}:{position:d.value,left:O+"px",top:E+"px"}});let y;function v(){if(c.value==null||a.value==null)return;const b=i.value;Rn(c.value,a.value,{middleware:s.value,placement:r.value,strategy:l.value}).then(O=>{u.value=O.x,m.value=O.y,d.value=O.strategy,p.value=O.placement,h.value=O.middlewareData,g.value=b!==!1})}function A(){typeof y=="function"&&(y(),y=void 0)}function x(){if(A(),o===void 0){v();return}if(c.value!=null&&a.value!=null){y=o(c.value,a.value,v);return}}function P(){i.value||(g.value=!1)}return he([s,r,l,i],v,{flush:"sync"}),he([c,a],x,{flush:"sync"}),he(i,P,{flush:"sync"}),ht()&>(A),{x:Q(u),y:Q(m),strategy:Q(d),placement:Q(p),middlewareData:Q(h),isPositioned:Q(g),floatingStyles:w,update:v}}const Ln={side:"bottom",sideOffset:0,sideFlip:!0,align:"center",alignOffset:0,alignFlip:!0,arrowPadding:0,avoidCollisions:!0,collisionBoundary:()=>[],collisionPadding:0,sticky:"partial",hideWhenDetached:!1,positionStrategy:"fixed",updatePositionStrategy:"optimized",prioritizePosition:!1},[Vn,Tn]=Ke("PopperContent");var kn=Ce({inheritAttrs:!1,__name:"PopperContent",props:wt({side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...Ln}),emits:["placed"],setup(e,{emit:t}){const n=e,o=t,i=Ze(),{forwardRef:s,currentElement:r}=Ie(),l=H(),f=H(),{width:c,height:a}=At(f),u=C(()=>n.side+(n.align!=="center"?`-${n.align}`:"")),m=C(()=>typeof n.collisionPadding=="number"?n.collisionPadding:{top:0,right:0,bottom:0,left:0,...n.collisionPadding}),d=C(()=>Array.isArray(n.collisionBoundary)?n.collisionBoundary:[n.collisionBoundary]),p=C(()=>({padding:m.value,boundary:d.value.filter(Pt),altBoundary:d.value.length>0})),h=C(()=>({mainAxis:n.sideFlip,crossAxis:n.alignFlip})),g=ut(()=>[bn({mainAxis:n.sideOffset+a.value,alignmentAxis:n.alignOffset}),n.prioritizePosition&&n.avoidCollisions&&Ne({...p.value,...h.value}),n.avoidCollisions&&An({mainAxis:!0,crossAxis:!!n.prioritizePosition,limiter:n.sticky==="partial"?Pn():void 0,...p.value}),!n.prioritizePosition&&n.avoidCollisions&&Ne({...p.value,...h.value}),Cn({...p.value,apply:({elements:S,rects:B,availableWidth:R,availableHeight:j})=>{const{width:$,height:L}=B.reference,D=S.floating.style;D.setProperty("--reka-popper-available-width",`${R}px`),D.setProperty("--reka-popper-available-height",`${j}px`),D.setProperty("--reka-popper-anchor-width",`${$}px`),D.setProperty("--reka-popper-anchor-height",`${L}px`)}}),f.value&&Dn({element:f.value,padding:n.arrowPadding}),Rt({arrowWidth:c.value,arrowHeight:a.value}),n.hideWhenDetached&&On({strategy:"referenceHidden",...p.value})]),w=C(()=>n.reference??i.anchor.value),{floatingStyles:y,placement:v,isPositioned:A,middlewareData:x}=_n(w,l,{strategy:n.positionStrategy,placement:u,whileElementsMounted:(...S)=>xn(...S,{layoutShift:!n.disableUpdateOnLayoutShift,animationFrame:n.updatePositionStrategy==="always"}),middleware:g}),P=C(()=>ye(v.value)[0]),b=C(()=>ye(v.value)[1]);Xe(()=>{A.value&&o("placed")});const O=C(()=>x.value.arrow?.centerOffset!==0),E=H("");je(()=>{r.value&&(E.value=window.getComputedStyle(r.value).zIndex)});const _=C(()=>x.value.arrow?.x??0),z=C(()=>x.value.arrow?.y??0);return Tn({placedSide:P,onArrowChange:S=>f.value=S,arrowX:_,arrowY:z,shouldHideArrow:O}),(S,B)=>(Ye(),yt("div",{ref_key:"floatingRef",ref:l,"data-reka-popper-content-wrapper":"",style:bt({...F(y),transform:F(A)?F(y).transform:"translate(0, -200%)",minWidth:"max-content",zIndex:E.value,"--reka-popper-transform-origin":[F(x).transformOrigin?.x,F(x).transformOrigin?.y].join(" "),...F(x).hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}})},[vt(F(Ge),xt({ref:F(s)},S.$attrs,{"as-child":n.asChild,as:S.as,"data-side":P.value,"data-align":b.value,style:{animation:F(A)?void 0:"none"}}),{default:Ue(()=>[Oe(S.$slots,"default")]),_:3},16,["as-child","as","data-side","data-align","style"])],4))}}),Nn=kn;export{zn as P,Nn as a,Hn as b,Wn as u}; diff --git a/web/assets/SelectValue.vue_vue_type_script_setup_true_lang-Dkj-rl5_.js b/web/assets/SelectValue.vue_vue_type_script_setup_true_lang-Dkj-rl5_.js new file mode 100644 index 0000000..74d0e47 --- /dev/null +++ b/web/assets/SelectValue.vue_vue_type_script_setup_true_lang-Dkj-rl5_.js @@ -0,0 +1 @@ +import{b as Me,h as fe,i as Be,c as se,u as J,e as Ze,f as Qe,F as et,D as tt,a as ve,P as ot,g as Ve,j as at,T as lt}from"./Teleport-DV_BGdH0.js";import{v as w,c as O,t as nt,q as rt,d as C,e as ae,$ as st,x as Ie,w as X,y as it,h as q,g as b,z as h,k as x,u as l,U as me,i as Y,f as U,F as Re,J as ut,l as k,j as De,I as A,P as te,K as dt,o as W,M as ee,p as ct,A as ye,B as he,a0 as pt,C as ge,b as ft,a1 as vt,D as mt,n as yt}from"./index-BhaIiTEj.js";import{e as _e,f as ht,d as Pe,u as F,g as gt}from"./useForwardExpose-CRFbVhil.js";import{S as Te,P as R,e as Se,r as le,c as G}from"./Sonner.vue_vue_type_script_setup_true_lang-BwfWndxy.js";import{P as _t,a as St,u as bt,b as wt}from"./PopperContent-MQwziWLW.js";import{f as $e}from"./utils-BNRHOSl8.js";function Ee(a){return typeof a=="string"?`'${a}'`:new Ct().serialize(a)}const Ct=(function(){class a{#e=new Map;compare(e,n){const o=typeof e,r=typeof n;return o==="string"&&r==="string"?e.localeCompare(n):o==="number"&&r==="number"?e-n:String.prototype.localeCompare.call(this.serialize(e,!0),this.serialize(n,!0))}serialize(e,n){if(e===null)return"null";switch(typeof e){case"string":return n?e:`'${e}'`;case"bigint":return`${e}n`;case"object":return this.$object(e);case"function":return this.$function(e)}return String(e)}serializeObject(e){const n=Object.prototype.toString.call(e);if(n!=="[object Object]")return this.serializeBuiltInType(n.length<10?`unknown:${n}`:n.slice(8,-1),e);const o=e.constructor,r=o===Object||o===void 0?"":o.name;if(r!==""&&globalThis[r]===o)return this.serializeBuiltInType(r,e);if(typeof e.toJSON=="function"){const s=e.toJSON();return r+(s!==null&&typeof s=="object"?this.$object(s):`(${this.serialize(s)})`)}return this.serializeObjectEntries(r,Object.entries(e))}serializeBuiltInType(e,n){const o=this["$"+e];if(o)return o.call(this,n);if(typeof n?.entries=="function")return this.serializeObjectEntries(e,n.entries());throw new Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,n){const o=Array.from(n).sort((s,i)=>this.compare(s[0],i[0]));let r=`${e}{`;for(let s=0;sthis.compare(n,o)))}`}$Map(e){return this.serializeObjectEntries("Map",e.entries())}}for(const t of["Error","RegExp","URL"])a.prototype["$"+t]=function(e){return`${t}(${e})`};for(const t of["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"])a.prototype["$"+t]=function(e){return`${t}[${e.join(",")}]`};for(const t of["BigInt64Array","BigUint64Array"])a.prototype["$"+t]=function(e){return`${t}[${e.join("n,")}${e.length>0?"n":""}]`};return a})();function xt(a,t){return a===t||Ee(a)===Ee(t)}function Ae(a,t=Number.NEGATIVE_INFINITY,e=Number.POSITIVE_INFINITY){return Math.min(e,Math.max(t,a))}function qt(a){const t=Me({dir:w("ltr")});return O(()=>a?.value||t.dir?.value||"ltr")}function Bt(a){return O(()=>nt(a)?!!_e(a)?.closest("form"):!0)}function ze(a){const t=ht("",1e3);return{search:t,handleTypeaheadSearch:(o,r)=>{t.value=t.value+o;{const s=fe(),i=r.map(f=>({...f,textValue:f.value?.textValue??f.ref.textContent?.trim()??""})),u=i.find(f=>f.ref===s),d=i.map(f=>f.textValue),p=Pt(d,t.value,u?.textValue),v=i.find(f=>f.textValue===p);return v&&v.ref.focus(),v?.ref}},resetTypeahead:()=>{t.value=""}}}function It(a,t){return a.map((e,n)=>a[(t+n)%a.length])}function Pt(a,t,e){const o=t.length>1&&Array.from(t).every(d=>d===t[0])?t[0]:t,r=e?a.indexOf(e):-1;let s=It(a,Math.max(r,0));o.length===1&&(s=s.filter(d=>d!==e));const u=s.find(d=>d.toLowerCase().startsWith(o.toLowerCase()));return u!==e?u:void 0}function ke(){const a=w(),t=O(()=>["#text","#comment"].includes(a.value?.$el.nodeName)?a.value?.$el.nextElementSibling:_e(a));return{primitiveElement:a,currentElement:t}}const Oe="data-reka-collection-item";function Z(a={}){const{key:t="",isProvider:e=!1}=a,n=`${t}CollectionProvider`;let o;if(e){const p=w(new Map);o={collectionRef:w(),itemMap:p},it(n,o)}else o=rt(n);const r=(p=!1)=>{const v=o.collectionRef.value;if(!v)return[];const f=Array.from(v.querySelectorAll(`[${Oe}]`)),m=Array.from(o.itemMap.value.values()).sort((I,B)=>f.indexOf(I.ref)-f.indexOf(B.ref));return p?m:m.filter(I=>I.ref.dataset.disabled!=="")},s=C({name:"CollectionSlot",setup(p,{slots:v}){const{primitiveElement:f,currentElement:g}=ke();return X(g,()=>{o.collectionRef.value=g.value}),()=>Ie(Te,{ref:f},v)}}),i=C({name:"CollectionItem",inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(p,{slots:v,attrs:f}){const{primitiveElement:g,currentElement:m}=ke();return ae(I=>{if(m.value){const B=st(m.value);o.itemMap.value.set(B,{ref:m.value,value:p.value}),I(()=>o.itemMap.value.delete(B))}}),()=>Ie(Te,{...f,[Oe]:"",ref:g},v)}}),u=O(()=>Array.from(o.itemMap.value.values())),d=O(()=>o.itemMap.value.size);return{getItems:r,reactiveItems:u,itemMapSize:d,CollectionSlot:s,CollectionItem:i}}var Tt=C({__name:"VisuallyHidden",props:{feature:{type:String,required:!1,default:"focusable"},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(a){return(t,e)=>(b(),q(l(R),{as:t.as,"as-child":t.asChild,"aria-hidden":t.feature==="focusable"?"true":void 0,"data-hidden":t.feature==="fully-hidden"?"":void 0,tabindex:t.feature==="fully-hidden"?"-1":void 0,style:{position:"absolute",border:0,width:"1px",height:"1px",padding:0,margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",clipPath:"inset(50%)",whiteSpace:"nowrap",wordWrap:"normal",top:"-1px",left:"-1px"}},{default:h(()=>[x(t.$slots,"default")]),_:3},8,["as","as-child","aria-hidden","data-hidden","tabindex"]))}}),$t=Tt;function Et(a){const t=Me({nonce:w()});return O(()=>a?.value||t.nonce?.value)}const At=[" ","Enter","ArrowUp","ArrowDown"],kt=[" ","Enter"],V=10;function oe(a,t,e){return a===void 0?!1:Array.isArray(a)?a.some(n=>pe(n,t,e)):pe(a,t,e)}function pe(a,t,e){return a===void 0||t===void 0?!1:typeof a=="string"?a===t:typeof e=="function"?e(a,t):typeof e=="string"?a?.[e]===t?.[e]:xt(a,t)}function Ot(a){return a==null||a===""||Array.isArray(a)&&a.length===0}const Mt={key:0,value:""},[j,Ne]=se("SelectRoot");var Vt=C({inheritAttrs:!1,__name:"SelectRoot",props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},by:{type:[String,Function],required:!1},dir:{type:String,required:!1},multiple:{type:Boolean,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue","update:open"],setup(a,{emit:t}){const e=a,n=t,{required:o,disabled:r,multiple:s,dir:i}=me(e),u=Pe(e,"modelValue",n,{defaultValue:e.defaultValue??(s.value?[]:void 0),passive:e.modelValue===void 0,deep:!0}),d=Pe(e,"open",n,{defaultValue:e.defaultOpen,passive:e.open===void 0}),p=w(),v=w(),f=w({x:0,y:0}),g=O(()=>s.value&&Array.isArray(u.value)?u.value?.length===0:Be(u.value));Z({isProvider:!0});const m=qt(i),I=Bt(p),B=w(new Set),D=O(()=>Array.from(B.value).map(c=>c.value).join(";"));function M(c){if(s.value){const _=Array.isArray(u.value)?[...u.value]:[],y=_.findIndex(S=>pe(S,c,e.by));y===-1?_.push(c):_.splice(y,1),u.value=[..._]}else u.value=c}function T(c){return Array.from(B.value).find(_=>oe(c,_.value,e.by))}return Ne({triggerElement:p,onTriggerChange:c=>{p.value=c},valueElement:v,onValueElementChange:c=>{v.value=c},contentId:"",modelValue:u,onValueChange:M,by:e.by,open:d,multiple:s,required:o,onOpenChange:c=>{d.value=c},dir:m,triggerPointerDownPosRef:f,disabled:r,isEmptyModelValue:g,optionsSet:B,onOptionAdd:c=>{const _=T(c.value);_&&B.value.delete(_),B.value.add(c)},onOptionRemove:c=>{const _=T(c.value);_&&B.value.delete(_)}}),(c,_)=>(b(),q(l(_t),null,{default:h(()=>[x(c.$slots,"default",{modelValue:l(u),open:l(d)}),l(I)?(b(),q(zt,{key:D.value,"aria-hidden":"true",tabindex:"-1",multiple:l(s),required:l(o),name:c.name,autocomplete:c.autocomplete,disabled:l(r),value:l(u)},{default:h(()=>[l(Be)(l(u))?(b(),U("option",Mt)):Y("v-if",!0),(b(!0),U(Re,null,ut(Array.from(B.value),y=>(b(),U("option",k({key:y.value??""},{ref_for:!0},y),null,16))),128))]),_:1},8,["multiple","required","name","autocomplete","disabled","value"])):Y("v-if",!0)]),_:3}))}}),Rt=Vt,Dt=C({__name:"BubbleSelect",props:{autocomplete:{type:String,required:!1},autofocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},form:{type:String,required:!1},multiple:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},size:{type:Number,required:!1},value:{type:null,required:!1}},setup(a){const t=a,e=w(),n=j();X(()=>t.value,(r,s)=>{const i=window.HTMLSelectElement.prototype,d=Object.getOwnPropertyDescriptor(i,"value").set;if(r!==s&&d&&e.value){const p=new Event("change",{bubbles:!0});d.call(e.value,r),e.value.dispatchEvent(p)}});function o(r){n.onValueChange(r.target.value)}return(r,s)=>(b(),q(l($t),{"as-child":""},{default:h(()=>[De("select",k({ref_key:"selectElement",ref:e},t,{onInput:o}),[x(r.$slots,"default")],16)]),_:3}))}}),zt=Dt,Nt=C({__name:"SelectPopperPosition",props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:"start"},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1,default:V},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(a){const e=J(a);return(n,o)=>(b(),q(l(St),k(l(e),{style:{boxSizing:"border-box","--reka-select-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-select-content-available-width":"var(--reka-popper-available-width)","--reka-select-content-available-height":"var(--reka-popper-available-height)","--reka-select-trigger-width":"var(--reka-popper-anchor-width)","--reka-select-trigger-height":"var(--reka-popper-anchor-height)"}}),{default:h(()=>[x(n.$slots,"default")]),_:3},16))}}),Ft=Nt;const jt={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[K,Fe]=se("SelectContent");var Lt=C({__name:"SelectContentImpl",props:{position:{type:String,required:!1,default:"item-aligned"},bodyLock:{type:Boolean,required:!1,default:!0},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:"start"},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0}},emits:["closeAutoFocus","escapeKeyDown","pointerDownOutside"],setup(a,{emit:t}){const e=a,n=t,o=j();bt(),Ze(e.bodyLock);const{CollectionSlot:r,getItems:s}=Z(),i=w();Qe(i);const{search:u,handleTypeaheadSearch:d}=ze(),p=w(),v=w(),f=w(),g=w(!1),m=w(!1),I=w(!1);function B(){v.value&&i.value&&$e([v.value,i.value])}X(g,()=>{B()});const{onOpenChange:D,triggerPointerDownPosRef:M}=o;ae(y=>{if(!i.value)return;let S={x:0,y:0};const P=E=>{S={x:Math.abs(Math.round(E.pageX)-(M.value?.x??0)),y:Math.abs(Math.round(E.pageY)-(M.value?.y??0))}},$=E=>{E.pointerType!=="touch"&&(S.x<=10&&S.y<=10?E.preventDefault():i.value?.contains(E.target)||D(!1),document.removeEventListener("pointermove",P),M.value=null)};M.value!==null&&(document.addEventListener("pointermove",P),document.addEventListener("pointerup",$,{capture:!0,once:!0})),y(()=>{document.removeEventListener("pointermove",P),document.removeEventListener("pointerup",$,{capture:!0})})});function T(y){const S=y.ctrlKey||y.altKey||y.metaKey;if(y.key==="Tab"&&y.preventDefault(),!S&&y.key.length===1&&d(y.key,s()),["ArrowUp","ArrowDown","Home","End"].includes(y.key)){let $=[...s().map(E=>E.ref)];if(["ArrowUp","End"].includes(y.key)&&($=$.slice().reverse()),["ArrowUp","ArrowDown"].includes(y.key)){const E=y.target,Q=$.indexOf(E);$=$.slice(Q+1)}setTimeout(()=>$e($)),y.preventDefault()}}const c=O(()=>e.position==="popper"?e:{}),_=J(c.value);return Fe({content:i,viewport:p,onViewportChange:y=>{p.value=y},itemRefCallback:(y,S,P)=>{const $=!m.value&&!P,E=oe(o.modelValue.value,S,o.by);if(o.multiple.value){if(I.value)return;(E||$)&&(v.value=y,E&&(I.value=!0))}else(E||$)&&(v.value=y);$&&(m.value=!0)},selectedItem:v,selectedItemText:f,onItemLeave:()=>{i.value?.focus()},itemTextRefCallback:(y,S,P)=>{const $=!m.value&&!P;(oe(o.modelValue.value,S,o.by)||$)&&(f.value=y)},focusSelectedItem:B,position:e.position,isPositioned:g,searchRef:u}),(y,S)=>(b(),q(l(r),null,{default:h(()=>[A(l(et),{"as-child":"",onMountAutoFocus:S[6]||(S[6]=te(()=>{},["prevent"])),onUnmountAutoFocus:S[7]||(S[7]=P=>{n("closeAutoFocus",P),!P.defaultPrevented&&(l(o).triggerElement.value?.focus({preventScroll:!0}),P.preventDefault())})},{default:h(()=>[A(l(tt),{"as-child":"","disable-outside-pointer-events":y.disableOutsidePointerEvents,onFocusOutside:S[2]||(S[2]=te(()=>{},["prevent"])),onDismiss:S[3]||(S[3]=P=>l(o).onOpenChange(!1)),onEscapeKeyDown:S[4]||(S[4]=P=>n("escapeKeyDown",P)),onPointerDownOutside:S[5]||(S[5]=P=>n("pointerDownOutside",P))},{default:h(()=>[(b(),q(dt(y.position==="popper"?Ft:Ut),k({...y.$attrs,...l(_)},{id:l(o).contentId,ref:P=>{const $=l(_e)(P);$?.hasAttribute("data-reka-popper-content-wrapper")?i.value=$.firstElementChild:i.value=$},role:"listbox","data-state":l(o).open.value?"open":"closed",dir:l(o).dir.value,style:{display:"flex",flexDirection:"column",outline:"none"},onContextmenu:S[0]||(S[0]=te(()=>{},["prevent"])),onPlaced:S[1]||(S[1]=P=>g.value=!0),onKeydown:T}),{default:h(()=>[x(y.$slots,"default")]),_:3},16,["id","data-state","dir","onKeydown"]))]),_:3},8,["disable-outside-pointer-events"])]),_:3})]),_:3}))}}),Ht=Lt;const[be,Wt]=se("SelectItemAlignedPosition");var Kt=C({inheritAttrs:!1,__name:"SelectItemAlignedPosition",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["placed"],setup(a,{emit:t}){const e=a,n=t,{getItems:o}=Z(),r=j(),s=K(),i=w(!1),u=w(!0),d=w(),{forwardRef:p,currentElement:v}=F(),{viewport:f,selectedItem:g,selectedItemText:m,focusSelectedItem:I}=s;function B(){if(r.triggerElement.value&&r.valueElement.value&&d.value&&v.value&&f?.value&&g?.value&&m?.value){const T=r.triggerElement.value.getBoundingClientRect(),c=v.value.getBoundingClientRect(),_=r.valueElement.value.getBoundingClientRect(),y=m.value.getBoundingClientRect();if(r.dir.value!=="rtl"){const z=y.left-c.left,N=_.left-z,L=T.left-N,H=T.width+L,ue=Math.max(H,c.width),de=window.innerWidth-V,ce=Ae(N,V,Math.max(V,de-ue));d.value.style.minWidth=`${H}px`,d.value.style.left=`${ce}px`}else{const z=c.right-y.right,N=window.innerWidth-_.right-z,L=window.innerWidth-T.right-N,H=T.width+L,ue=Math.max(H,c.width),de=window.innerWidth-V,ce=Ae(N,V,Math.max(V,de-ue));d.value.style.minWidth=`${H}px`,d.value.style.right=`${ce}px`}const S=o().map(z=>z.ref),P=window.innerHeight-V*2,$=f.value.scrollHeight,E=window.getComputedStyle(v.value),Q=Number.parseInt(E.borderTopWidth,10),we=Number.parseInt(E.paddingTop,10),Ce=Number.parseInt(E.borderBottomWidth,10),We=Number.parseInt(E.paddingBottom,10),xe=Q+we+$+We+Ce,Ke=Math.min(g.value.offsetHeight*5,xe),qe=window.getComputedStyle(f.value),Ue=Number.parseInt(qe.paddingTop,10),Ye=Number.parseInt(qe.paddingBottom,10),ne=T.top+T.height/2-V,Ge=P-ne,ie=g.value.offsetHeight/2,Je=g.value.offsetTop+ie,re=Q+we+Je,Xe=xe-re;if(re<=ne){const z=g.value===S[S.length-1];d.value.style.bottom="0px";const N=v.value.clientHeight-f.value.offsetTop-f.value.offsetHeight,L=Math.max(Ge,ie+(z?Ye:0)+N+Ce),H=re+L;d.value.style.height=`${H}px`}else{const z=g.value===S[0];d.value.style.top="0px";const L=Math.max(ne,Q+f.value.offsetTop+(z?Ue:0)+ie)+Xe;d.value.style.height=`${L}px`,f.value.scrollTop=re-ne+f.value.offsetTop}d.value.style.margin=`${V}px 0`,d.value.style.minHeight=`${Ke}px`,d.value.style.maxHeight=`${P}px`,n("placed"),requestAnimationFrame(()=>i.value=!0)}}const D=w("");W(async()=>{await ee(),B(),v.value&&(D.value=window.getComputedStyle(v.value).zIndex)});function M(T){T&&u.value===!0&&(B(),I?.(),u.value=!1)}return gt(r.triggerElement,()=>{B()}),Wt({contentWrapper:d,shouldExpandOnScrollRef:i,onScrollButtonChange:M}),(T,c)=>(b(),U("div",{ref_key:"contentWrapperElement",ref:d,style:ct({display:"flex",flexDirection:"column",position:"fixed",zIndex:D.value})},[A(l(R),k({ref:l(p),style:{boxSizing:"border-box",maxHeight:"100%"}},{...T.$attrs,...e}),{default:h(()=>[x(T.$slots,"default")]),_:3},16)],4))}}),Ut=Kt,Yt=C({inheritAttrs:!1,__name:"SelectProvider",props:{context:{type:Object,required:!0}},setup(a){return Ne(a.context),Fe(jt),(e,n)=>x(e.$slots,"default")}}),Gt=Yt;const Jt={key:1};var Xt=C({inheritAttrs:!1,__name:"SelectContent",props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["closeAutoFocus","escapeKeyDown","pointerDownOutside"],setup(a,{emit:t}){const e=a,o=ve(e,t),r=j(),s=w();W(()=>{s.value=new DocumentFragment});const i=w(),u=O(()=>e.forceMount||r.open.value),d=w(u.value);return X(u,()=>{setTimeout(()=>d.value=u.value)}),(p,v)=>u.value||d.value||i.value?.present?(b(),q(l(ot),{key:0,ref_key:"presenceRef",ref:i,present:u.value},{default:h(()=>[A(Ht,ye(he({...l(o),...p.$attrs})),{default:h(()=>[x(p.$slots,"default")]),_:3},16)]),_:3},8,["present"])):s.value?(b(),U("div",Jt,[(b(),q(pt,{to:s.value},[A(Gt,{context:l(r)},{default:h(()=>[x(p.$slots,"default")]),_:3},8,["context"])],8,["to"]))])):Y("v-if",!0)}}),Zt=Xt,Qt=C({__name:"SelectIcon",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(a){return(t,e)=>(b(),q(l(R),{"aria-hidden":"true",as:t.as,"as-child":t.asChild},{default:h(()=>[x(t.$slots,"default",{},()=>[e[0]||(e[0]=ge("▼"))])]),_:3},8,["as","as-child"]))}}),eo=Qt;const[je,to]=se("SelectItem");var oo=C({__name:"SelectItem",props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(a,{emit:t}){const e=a,n=t,{disabled:o}=me(e),r=j(),s=K(),{forwardRef:i,currentElement:u}=F(),{CollectionItem:d}=Z(),p=O(()=>oe(r.modelValue?.value,e.value,r.by)),v=w(!1),f=w(e.textValue??""),g=Ve(void 0,"reka-select-item-text"),m="select.select";async function I(c){if(c.defaultPrevented)return;const _={originalEvent:c,value:e.value};at(m,B,_)}async function B(c){await ee(),n("select",c),!c.defaultPrevented&&(o.value||(r.onValueChange(e.value),r.multiple.value||r.onOpenChange(!1)))}async function D(c){await ee(),!c.defaultPrevented&&(o.value?s.onItemLeave?.():c.currentTarget?.focus({preventScroll:!0}))}async function M(c){await ee(),!c.defaultPrevented&&c.currentTarget===fe()&&s.onItemLeave?.()}async function T(c){await ee(),!(c.defaultPrevented||s.searchRef?.value!==""&&c.key===" ")&&(kt.includes(c.key)&&I(c),c.key===" "&&c.preventDefault())}if(e.value==="")throw new Error("A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return W(()=>{u.value&&s.itemRefCallback(u.value,e.value,e.disabled)}),to({value:e.value,disabled:o,textId:g,isSelected:p,onItemTextChange:c=>{f.value=((f.value||c?.textContent)??"").trim()}}),(c,_)=>(b(),q(l(d),{value:{textValue:f.value}},{default:h(()=>[A(l(R),{ref:l(i),role:"option","aria-labelledby":l(g),"data-highlighted":v.value?"":void 0,"aria-selected":p.value,"data-state":p.value?"checked":"unchecked","aria-disabled":l(o)||void 0,"data-disabled":l(o)?"":void 0,tabindex:l(o)?void 0:-1,as:c.as,"as-child":c.asChild,onFocus:_[0]||(_[0]=y=>v.value=!0),onBlur:_[1]||(_[1]=y=>v.value=!1),onPointerup:I,onPointerdown:_[2]||(_[2]=y=>{y.currentTarget.focus({preventScroll:!0})}),onTouchend:_[3]||(_[3]=te(()=>{},["prevent","stop"])),onPointermove:D,onPointerleave:M,onKeydown:T},{default:h(()=>[x(c.$slots,"default")]),_:3},8,["aria-labelledby","data-highlighted","aria-selected","data-state","aria-disabled","data-disabled","tabindex","as","as-child"])]),_:3},8,["value"]))}}),ao=oo,lo=C({__name:"SelectItemIndicator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(a){const t=a,e=je();return(n,o)=>l(e).isSelected.value?(b(),q(l(R),k({key:0,"aria-hidden":"true"},t),{default:h(()=>[x(n.$slots,"default")]),_:3},16)):Y("v-if",!0)}}),no=lo,ro=C({inheritAttrs:!1,__name:"SelectItemText",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(a){const t=a,e=j(),n=K(),o=je(),{forwardRef:r,currentElement:s}=F(),i=O(()=>({value:o.value,disabled:o.disabled.value,textContent:s.value?.textContent??o.value?.toString()??""}));return W(()=>{s.value&&(o.onItemTextChange(s.value),n.itemTextRefCallback(s.value,o.value,o.disabled.value),e.onOptionAdd(i.value))}),ft(()=>{e.onOptionRemove(i.value)}),(u,d)=>(b(),q(l(R),k({id:l(o).textId,ref:l(r)},{...t,...u.$attrs}),{default:h(()=>[x(u.$slots,"default")]),_:3},16,["id"]))}}),so=ro,io=C({__name:"SelectPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(a){const t=a;return(e,n)=>(b(),q(l(lt),ye(he(t)),{default:h(()=>[x(e.$slots,"default")]),_:3},16))}}),uo=io,co=C({__name:"SelectScrollButtonImpl",emits:["autoScroll"],setup(a,{emit:t}){const e=t,{getItems:n}=Z(),o=K(),r=w(null);function s(){r.value!==null&&(window.clearInterval(r.value),r.value=null)}ae(()=>{n().map(p=>p.ref).find(p=>p===fe())?.scrollIntoView({block:"nearest"})});function i(){r.value===null&&(r.value=window.setInterval(()=>{e("autoScroll")},50))}function u(){o.onItemLeave?.(),r.value===null&&(r.value=window.setInterval(()=>{e("autoScroll")},50))}return vt(()=>s()),(d,p)=>(b(),q(l(R),k({"aria-hidden":"true",style:{flexShrink:0}},d.$parent?.$props,{onPointerdown:i,onPointermove:u,onPointerleave:p[0]||(p[0]=()=>{s()})}),{default:h(()=>[x(d.$slots,"default")]),_:3},16))}}),Le=co,po=C({__name:"SelectScrollDownButton",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(a){const t=K(),e=t.position==="item-aligned"?be():void 0,{forwardRef:n,currentElement:o}=F(),r=w(!1);return ae(s=>{if(t.viewport?.value&&t.isPositioned?.value){let u=function(){const d=i.scrollHeight-i.clientHeight;r.value=Math.ceil(i.scrollTop)i.removeEventListener("scroll",u))}}),X(o,()=>{o.value&&e?.onScrollButtonChange(o.value)}),(s,i)=>r.value?(b(),q(Le,{key:0,ref:l(n),onAutoScroll:i[0]||(i[0]=()=>{const{viewport:u,selectedItem:d}=l(t);u?.value&&d?.value&&(u.value.scrollTop=u.value.scrollTop+d.value.offsetHeight)})},{default:h(()=>[x(s.$slots,"default")]),_:3},512)):Y("v-if",!0)}}),fo=po,vo=C({__name:"SelectScrollUpButton",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(a){const t=K(),e=t.position==="item-aligned"?be():void 0,{forwardRef:n,currentElement:o}=F(),r=w(!1);return ae(s=>{if(t.viewport?.value&&t.isPositioned?.value){let u=function(){r.value=i.scrollTop>0};const i=t.viewport.value;u(),i.addEventListener("scroll",u),s(()=>i.removeEventListener("scroll",u))}}),X(o,()=>{o.value&&e?.onScrollButtonChange(o.value)}),(s,i)=>r.value?(b(),q(Le,{key:0,ref:l(n),onAutoScroll:i[0]||(i[0]=()=>{const{viewport:u,selectedItem:d}=l(t);u?.value&&d?.value&&(u.value.scrollTop=u.value.scrollTop-d.value.offsetHeight)})},{default:h(()=>[x(s.$slots,"default")]),_:3},512)):Y("v-if",!0)}}),mo=vo,yo=C({__name:"SelectTrigger",props:{disabled:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(a){const t=a,e=j(),{forwardRef:n,currentElement:o}=F(),r=O(()=>e.disabled?.value||t.disabled);e.contentId||=Ve(void 0,"reka-select-content"),W(()=>{e.onTriggerChange(o.value)});const{getItems:s}=Z(),{search:i,handleTypeaheadSearch:u,resetTypeahead:d}=ze();function p(){r.value||(e.onOpenChange(!0),d())}function v(f){p(),e.triggerPointerDownPosRef.value={x:Math.round(f.pageX),y:Math.round(f.pageY)}}return(f,g)=>(b(),q(l(wt),{"as-child":"",reference:f.reference},{default:h(()=>[A(l(R),{ref:l(n),role:"combobox",type:f.as==="button"?"button":void 0,"aria-controls":l(e).contentId,"aria-expanded":l(e).open.value||!1,"aria-required":l(e).required?.value,"aria-autocomplete":"none",disabled:r.value,dir:l(e)?.dir.value,"data-state":l(e)?.open.value?"open":"closed","data-disabled":r.value?"":void 0,"data-placeholder":l(Ot)(l(e).modelValue?.value)?"":void 0,"as-child":f.asChild,as:f.as,onClick:g[0]||(g[0]=m=>{m?.currentTarget?.focus()}),onPointerdown:g[1]||(g[1]=m=>{if(m.pointerType==="touch")return m.preventDefault();const I=m.target;I.hasPointerCapture(m.pointerId)&&I.releasePointerCapture(m.pointerId),m.button===0&&m.ctrlKey===!1&&(v(m),m.preventDefault())}),onPointerup:g[2]||(g[2]=te(m=>{m.pointerType==="touch"&&v(m)},["prevent"])),onKeydown:g[3]||(g[3]=m=>{const I=l(i)!=="";!(m.ctrlKey||m.altKey||m.metaKey)&&m.key.length===1&&I&&m.key===" "||(l(u)(m.key,l(s)()),l(At).includes(m.key)&&(p(),m.preventDefault()))})},{default:h(()=>[x(f.$slots,"default")]),_:3},8,["type","aria-controls","aria-expanded","aria-required","disabled","dir","data-state","data-disabled","data-placeholder","as-child","as"])]),_:3},8,["reference"]))}}),ho=yo,go=C({__name:"SelectValue",props:{placeholder:{type:String,required:!1,default:""},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(a){const t=a,{forwardRef:e,currentElement:n}=F(),o=j();W(()=>{o.valueElement=n});const r=O(()=>{let i=[];const u=Array.from(o.optionsSet.value),d=p=>u.find(v=>oe(p,v.value,o.by));return Array.isArray(o.modelValue.value)?i=o.modelValue.value.map(p=>d(p)?.textContent??""):i=[d(o.modelValue.value)?.textContent??""],i.filter(Boolean)}),s=O(()=>r.value.length?r.value.join(", "):t.placeholder);return(i,u)=>(b(),q(l(R),{ref:l(e),as:i.as,"as-child":i.asChild,style:{pointerEvents:"none"},"data-placeholder":r.value.length?void 0:t.placeholder},{default:h(()=>[x(i.$slots,"default",{selectedLabel:r.value,modelValue:l(o).modelValue.value},()=>[ge(mt(s.value),1)])]),_:3},8,["as","as-child","data-placeholder"]))}}),_o=go,So=C({__name:"SelectViewport",props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(a){const t=a,{nonce:e}=me(t),n=Et(e),o=K(),r=o.position==="item-aligned"?be():void 0,{forwardRef:s,currentElement:i}=F();W(()=>{o?.onViewportChange(i.value)});const u=w(0);function d(p){const v=p.currentTarget,{shouldExpandOnScrollRef:f,contentWrapper:g}=r??{};if(f?.value&&g?.value){const m=Math.abs(u.value-v.scrollTop);if(m>0){const I=window.innerHeight-V*2,B=Number.parseFloat(g.value.style.minHeight),D=Number.parseFloat(g.value.style.height),M=Math.max(B,D);if(M0?_:0,g.value.style.justifyContent="flex-end")}}}u.value=v.scrollTop}return(p,v)=>(b(),U(Re,null,[A(l(R),k({ref:l(s),"data-reka-select-viewport":"",role:"presentation"},{...p.$attrs,...t},{style:{position:"relative",flex:1,overflow:"hidden auto"},onScroll:d}),{default:h(()=>[x(p.$slots,"default")]),_:3},16),A(l(R),{as:"style",nonce:l(n)},{default:h(()=>v[0]||(v[0]=[ge(" /* Hide scrollbars cross-browser and enable momentum scroll for touch devices */ [data-reka-select-viewport] { scrollbar-width:none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } [data-reka-select-viewport]::-webkit-scrollbar { display: none; } ")])),_:1,__:[0]},8,["nonce"])],64))}}),bo=So;const wo=Se("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);const He=Se("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);const Co=Se("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),Oo=C({__name:"Select",props:{open:{type:Boolean},defaultOpen:{type:Boolean},defaultValue:{},modelValue:{},by:{type:[String,Function]},dir:{},multiple:{type:Boolean},autocomplete:{},disabled:{type:Boolean},name:{},required:{type:Boolean}},emits:["update:modelValue","update:open"],setup(a,{emit:t}){const o=ve(a,t);return(r,s)=>(b(),q(l(Rt),k({"data-slot":"select"},l(o)),{default:h(i=>[x(r.$slots,"default",ye(he(i)))]),_:3},16))}}),Mo=C({inheritAttrs:!1,__name:"SelectContent",props:{forceMount:{type:Boolean},position:{default:"popper"},bodyLock:{type:Boolean},side:{},sideOffset:{},sideFlip:{type:Boolean},align:{},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{}},emits:["closeAutoFocus","escapeKeyDown","pointerDownOutside"],setup(a,{emit:t}){const e=a,n=t,o=le(e,"class"),r=ve(o,n);return(s,i)=>(b(),q(l(uo),null,{default:h(()=>[A(l(Zt),k({"data-slot":"select-content"},{...s.$attrs,...l(r)},{class:l(G)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--reka-select-content-available-height) min-w-[8rem] overflow-x-hidden overflow-y-auto rounded-md border shadow-md",a.position==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e.class)}),{default:h(()=>[A(l(Bo)),A(l(bo),{class:yt(l(G)("p-1",a.position==="popper"&&"h-[var(--reka-select-trigger-height)] w-full min-w-[var(--reka-select-trigger-width)] scroll-my-1"))},{default:h(()=>[x(s.$slots,"default")]),_:3},8,["class"]),A(l(qo))]),_:3},16,["class"])]),_:3}))}}),xo={class:"absolute right-2 flex size-3.5 items-center justify-center"},Vo=C({__name:"SelectItem",props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{}},setup(a){const t=a,e=le(t,"class"),n=J(e);return(o,r)=>(b(),q(l(ao),k({"data-slot":"select-item"},l(n),{class:l(G)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",t.class)}),{default:h(()=>[De("span",xo,[A(l(no),null,{default:h(()=>[x(o.$slots,"indicator-icon",{},()=>[A(l(wo),{class:"size-4"})])]),_:3})]),A(l(so),null,{default:h(()=>[x(o.$slots,"default")]),_:3})]),_:3},16,["class"]))}}),qo=C({__name:"SelectScrollDownButton",props:{asChild:{type:Boolean},as:{},class:{}},setup(a){const t=a,e=le(t,"class"),n=J(e);return(o,r)=>(b(),q(l(fo),k({"data-slot":"select-scroll-down-button"},l(n),{class:l(G)("flex cursor-default items-center justify-center py-1",t.class)}),{default:h(()=>[x(o.$slots,"default",{},()=>[A(l(He),{class:"size-4"})])]),_:3},16,["class"]))}}),Bo=C({__name:"SelectScrollUpButton",props:{asChild:{type:Boolean},as:{},class:{}},setup(a){const t=a,e=le(t,"class"),n=J(e);return(o,r)=>(b(),q(l(mo),k({"data-slot":"select-scroll-up-button"},l(n),{class:l(G)("flex cursor-default items-center justify-center py-1",t.class)}),{default:h(()=>[x(o.$slots,"default",{},()=>[A(l(Co),{class:"size-4"})])]),_:3},16,["class"]))}}),Ro=C({__name:"SelectTrigger",props:{disabled:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{},size:{default:"default"}},setup(a){const t=a,e=le(t,"class","size"),n=J(e);return(o,r)=>(b(),q(l(ho),k({"data-slot":"select-trigger","data-size":a.size},l(n),{class:l(G)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t.class)}),{default:h(()=>[x(o.$slots,"default"),A(l(eo),{"as-child":""},{default:h(()=>[A(l(He),{class:"size-4 opacity-50"})]),_:1})]),_:3},16,["data-size","class"]))}}),Do=C({__name:"SelectValue",props:{placeholder:{},asChild:{type:Boolean},as:{}},setup(a){const t=a;return(e,n)=>(b(),q(l(_o),k({"data-slot":"select-value"},t),{default:h(()=>[x(e.$slots,"default")]),_:3},16))}});export{He as C,$t as V,Oo as _,qt as a,Ro as b,Do as c,Mo as d,Vo as e,Bt as f,ke as u}; diff --git a/web/assets/Sonner.vue_vue_type_script_setup_true_lang-BwfWndxy.js b/web/assets/Sonner.vue_vue_type_script_setup_true_lang-BwfWndxy.js new file mode 100644 index 0000000..014fc51 --- /dev/null +++ b/web/assets/Sonner.vue_vue_type_script_setup_true_lang-BwfWndxy.js @@ -0,0 +1 @@ +import{d as le,ae as Bt,v as P,c as O,e as ie,f as I,i as me,j as ee,F as ae,J as Ge,u as T,af as Se,M as at,g as C,l as ye,h as ue,z as X,k as F,I as Z,p as Re,n as q,o as We,a1 as zt,w as At,K as Be,A as Xe,C as Ke,D as Ee,ag as Pt,ah as It,x as we,X as Ne,Z as Ye,U as qe,t as Et}from"./index-BhaIiTEj.js";let Fe=1;var Ot=class{subscribers;toasts;dismissedToasts;constructor(){this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}subscribe=e=>(this.subscribers.push(e),()=>{const o=this.subscribers.indexOf(e);this.subscribers.splice(o,1)});publish=e=>{this.subscribers.forEach(o=>o(e))};addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]};create=e=>{const{message:o,...t}=e,s=typeof e.id=="number"||e.id&&e.id?.length>0?e.id:Fe++,r=this.toasts.find(l=>l.id===s),c=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(s)&&this.dismissedToasts.delete(s),r?this.toasts=this.toasts.map(l=>l.id===s?(this.publish({...l,...e,id:s,title:o}),{...l,...e,id:s,dismissible:c,title:o}):l):this.addToast({title:o,...t,dismissible:c,id:s}),s};dismiss=e=>(e?(this.dismissedToasts.add(e),requestAnimationFrame(()=>this.subscribers.forEach(o=>o({id:e,dismiss:!0})))):this.toasts.forEach(o=>{this.subscribers.forEach(t=>t({id:o.id,dismiss:!0}))}),e);message=(e,o)=>this.create({...o,message:e,type:"default"});error=(e,o)=>this.create({...o,type:"error",message:e});success=(e,o)=>this.create({...o,type:"success",message:e});info=(e,o)=>this.create({...o,type:"info",message:e});warning=(e,o)=>this.create({...o,type:"warning",message:e});loading=(e,o)=>this.create({...o,type:"loading",message:e});promise=(e,o)=>{if(!o)return;let t;o.loading!==void 0&&(t=this.create({...o,promise:e,type:"loading",message:o.loading,description:typeof o.description!="function"?o.description:void 0}));const s=Promise.resolve(e instanceof Function?e():e);let r=t!==void 0,c;const l=s.then(async a=>{if(c=["resolve",a],Se(a))r=!1,this.create({id:t,type:"default",message:a});else if(Dt(a)&&!a.ok){r=!1;const f=typeof o.error=="function"?await o.error(`HTTP error! status: ${a.status}`):o.error,k=typeof o.description=="function"?await o.description(`HTTP error! status: ${a.status}`):o.description,S=typeof f=="object"&&!Se(f)?f:{message:f||"",id:t||""};this.create({id:t,type:"error",description:k,...S})}else if(a instanceof Error){r=!1;const f=typeof o.error=="function"?await o.error(a):o.error,k=typeof o.description=="function"?await o.description(a):o.description,S=typeof f=="object"&&!Se(f)?f:{message:f||"",id:t||""};this.create({id:t,type:"error",description:k,...S})}else if(o.success!==void 0){r=!1;const f=typeof o.success=="function"?await o.success(a):o.success,k=typeof o.description=="function"?await o.description(a):o.description,S=typeof f=="object"&&!Se(f)?f:{message:f||"",id:t||""};this.create({id:t,type:"success",description:k,...S})}}).catch(async a=>{if(c=["reject",a],o.error!==void 0){r=!1;const d=typeof o.error=="function"?await o.error(a):o.error,f=typeof o.description=="function"?await o.description(a):o.description,x=typeof d=="object"&&!Se(d)?d:{message:d||"",id:t||""};this.create({id:t,type:"error",description:f,...x})}}).finally(()=>{r&&(this.dismiss(t),t=void 0),o.finally?.()}),m=()=>new Promise((a,d)=>l.then(()=>c[0]==="reject"?d(c[1]):a(c[1])).catch(d));return typeof t!="string"&&typeof t!="number"?{unwrap:m}:Object.assign(t,{unwrap:m})};custom=(e,o)=>{const t=o?.id||Fe++,s=this.toasts.find(c=>c.id===t),r=o?.dismissible===void 0?!0:o.dismissible;return this.dismissedToasts.has(t)&&this.dismissedToasts.delete(t),s?this.toasts=this.toasts.map(c=>c.id===t?(this.publish({...c,component:e,dismissible:r,id:t,...o}),{...c,component:e,dismissible:r,id:t,...o}):c):this.addToast({component:e,dismissible:r,id:t,...o}),t};getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id))};const _=new Ot;function Mt(e,o){const t=o?.id||Fe++;return _.create({message:e,id:t,type:"default",...o}),t}const Dt=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",Rt=Mt,$t=()=>_.toasts,Lt=()=>_.getActiveToasts(),Rs=Object.assign(Rt,{success:_.success,info:_.info,warning:_.warning,error:_.error,custom:_.custom,message:_.message,promise:_.promise,dismiss:_.dismiss,loading:_.loading},{getHistory:$t,getToasts:Lt});function Oe(e){return e.label!==void 0}const Nt=3,lt="24px",ct="16px",Ze=4e3,Vt=356,jt=14,Gt=45,dt=200;function Ft(){const e=P(!1);return ie(()=>{const o=()=>{e.value=document.hidden};return document.addEventListener("visibilitychange",o),()=>window.removeEventListener("visibilitychange",o)}),{isDocumentHidden:e}}function ce(...e){return e.filter(Boolean).join(" ")}function Ht(e){const[o,t]=e.split("-"),s=[];return o&&s.push(o),t&&s.push(t),s}function _t(e,o){const t={};return[e,o].forEach((s,r)=>{const c=r===1,l=c?"--mobile-offset":"--offset",m=c?ct:lt;function a(d){["top","right","bottom","left"].forEach(f=>{t[`${l}-${f}`]=typeof d=="number"?`${d}px`:d})}typeof s=="number"||typeof s=="string"?a(s):typeof s=="object"?["top","right","bottom","left"].forEach(d=>{s[d]===void 0?t[`${l}-${d}`]=m:t[`${l}-${d}`]=typeof s[d]=="number"?`${s[d]}px`:s[d]}):a(m)}),t}const Ut=["data-rich-colors","data-styled","data-mounted","data-promise","data-swiped","data-removed","data-visible","data-y-position","data-x-position","data-index","data-front","data-swiping","data-dismissible","data-type","data-invert","data-swipe-out","data-swipe-direction","data-expanded","data-testid"],Wt=["aria-label","data-disabled","data-close-button-position"];var Xt=le({__name:"Toast",props:{toast:{},toasts:{},index:{},swipeDirections:{},expanded:{type:Boolean},invert:{type:Boolean},heights:{},gap:{},position:{},closeButtonPosition:{},visibleToasts:{},expandByDefault:{type:Boolean},closeButton:{type:Boolean},interacting:{type:Boolean},style:{},cancelButtonStyle:{},actionButtonStyle:{},duration:{},class:{},unstyled:{type:Boolean},descriptionClass:{},loadingIcon:{},classes:{},icons:{},closeButtonAriaLabel:{},defaultRichColors:{type:Boolean}},emits:["update:heights","update:height","removeToast"],setup(e,{emit:o}){const t=e,s=o,r=P(null),c=P(null),l=P(!1),m=P(!1),a=P(!1),d=P(!1),f=P(!1),k=P(0),x=P(0),S=P(t.toast.duration||t.duration||Ze),L=P(null),B=P(null),E=O(()=>t.index===0),J=O(()=>t.index+1<=t.visibleToasts),M=O(()=>t.toast.type),H=O(()=>t.toast.dismissible!==!1),Q=O(()=>t.toast.class||""),te=O(()=>t.descriptionClass||""),K=O(()=>{const n=t.toast.position||t.position,w=t.heights.filter(A=>A.position===n).findIndex(A=>A.toastId===t.toast.id);return w>=0?w:0}),oe=O(()=>{const n=t.toast.position||t.position;return t.heights.filter(w=>w.position===n).reduce((w,A,V)=>V>=K.value?w:w+A.height,0)}),g=O(()=>K.value*t.gap+oe.value||0),U=O(()=>t.toast.closeButton??t.closeButton),i=O(()=>t.toast.duration||t.duration||Ze),b=P(0),v=P(0),z=P(null),R=O(()=>t.position.split("-")),Y=O(()=>R.value[0]),N=O(()=>R.value[1]),se=O(()=>typeof t.toast.title!="string"),h=O(()=>typeof t.toast.description!="string"),{isDocumentHidden:Te}=Ft(),ge=O(()=>M.value&&M.value==="loading");We(()=>{l.value=!0,S.value=i.value}),ie(async()=>{if(!l.value||!B.value)return;await at();const n=B.value,D=n.style.height;n.style.height="auto";const w=n.getBoundingClientRect().height;n.style.height=D,x.value=w,s("update:height",{toastId:t.toast.id,height:w,position:t.toast.position||t.position})});function ne(){m.value=!0,k.value=g.value,setTimeout(()=>{s("removeToast",t.toast)},dt)}function he(){if(ge.value||!H.value)return{};ne(),t.toast.onDismiss?.(t.toast)}function j(n){n.button!==2&&(ge.value||!H.value||(L.value=new Date,k.value=g.value,n.target.setPointerCapture(n.pointerId),n.target.tagName!=="BUTTON"&&(a.value=!0,z.value={x:n.clientX,y:n.clientY})))}function G(){if(d.value||!H.value)return;z.value=null;const n=Number(B.value?.style.getPropertyValue("--swipe-amount-x").replace("px","")||0),D=Number(B.value?.style.getPropertyValue("--swipe-amount-y").replace("px","")||0),w=new Date().getTime()-(L.value?.getTime()||0),A=r.value==="x"?n:D,V=Math.abs(A)/w;if(Math.abs(A)>=Gt||V>.11){k.value=g.value,t.toast.onDismiss?.(t.toast),r.value==="x"?c.value=n>0?"right":"left":c.value=D>0?"down":"up",ne(),d.value=!0;return}else B.value?.style.setProperty("--swipe-amount-x","0px"),B.value?.style.setProperty("--swipe-amount-y","0px");f.value=!1,a.value=!1,r.value=null}function be(n){if(!z.value||!H.value||(window?.getSelection()?.toString()?.length??!1))return;const w=n.clientY-z.value.y,A=n.clientX-z.value.x,V=t.swipeDirections??Ht(t.position);!r.value&&(Math.abs(A)>1||Math.abs(w)>1)&&(r.value=Math.abs(A)>Math.abs(w)?"x":"y");let W={x:0,y:0};const Ue=pe=>1/(1.5+Math.abs(pe)/20);if(r.value==="y"){if(V.includes("top")||V.includes("bottom"))if(V.includes("top")&&w<0||V.includes("bottom")&&w>0)W.y=w;else{const pe=w*Ue(w);W.y=Math.abs(pe)0)W.x=A;else{const pe=A*Ue(A);W.x=Math.abs(pe)0||Math.abs(W.y)>0)&&(f.value=!0),B.value?.style.setProperty("--swipe-amount-x",`${W.x}px`),B.value?.style.setProperty("--swipe-amount-y",`${W.y}px`)}We(()=>{if(l.value=!0,!B.value)return;const n=B.value.getBoundingClientRect().height;x.value=n;const D=[{toastId:t.toast.id,height:n,position:t.toast.position},...t.heights];s("update:heights",D)}),zt(()=>{B.value&&s("removeToast",t.toast)}),ie(n=>{if(t.toast.promise&&M.value==="loading"||t.toast.duration===1/0||t.toast.type==="loading")return;let D;const w=()=>{if(v.value{S.value!==1/0&&(b.value=new Date().getTime(),D=setTimeout(()=>{t.toast.onAutoClose?.(t.toast),ne()},S.value))};t.expanded||t.interacting||Te.value?w():A(),n(()=>{clearTimeout(D)})}),At(()=>t.toast.delete,n=>{n!==void 0&&n&&(ne(),t.toast.onDismiss?.(t.toast))},{deep:!0});function Ie(){a.value=!1,r.value=null,z.value=null}return(n,D)=>(C(),I("li",{tabindex:"0",ref_key:"toastRef",ref:B,class:q(T(ce)(t.class,Q.value,n.classes?.toast,n.toast.classes?.toast,n.classes?.[M.value],n.toast?.classes?.[M.value])),"data-sonner-toast":"","data-rich-colors":n.toast.richColors??n.defaultRichColors,"data-styled":!(n.toast.component||n.toast?.unstyled||n.unstyled),"data-mounted":l.value,"data-promise":!!n.toast.promise,"data-swiped":f.value,"data-removed":m.value,"data-visible":J.value,"data-y-position":Y.value,"data-x-position":N.value,"data-index":n.index,"data-front":E.value,"data-swiping":a.value,"data-dismissible":H.value,"data-type":M.value,"data-invert":n.toast.invert||n.invert,"data-swipe-out":d.value,"data-swipe-direction":c.value,"data-expanded":!!(n.expanded||n.expandByDefault&&l.value),"data-testid":n.toast.testId,style:Re({"--index":n.index,"--toasts-before":n.index,"--z-index":n.toasts.length-n.index,"--offset":`${m.value?k.value:g.value}px`,"--initial-height":n.expandByDefault?"auto":`${x.value}px`,...n.style,...t.toast.style}),onDragend:Ie,onPointerdown:j,onPointerup:G,onPointermove:be},[U.value&&!n.toast.component&&M.value!=="loading"?(C(),I("button",{key:0,"aria-label":n.closeButtonAriaLabel||"Close toast","data-disabled":ge.value,"data-close-button":"true","data-close-button-position":n.closeButtonPosition,class:q(T(ce)(n.classes?.closeButton,n.toast?.classes?.closeButton)),onClick:he},[n.icons?.close?(C(),ue(Be(n.icons?.close),{key:0})):F(n.$slots,"close-icon",{key:1})],10,Wt)):me("v-if",!0),n.toast.component?(C(),ue(Be(n.toast.component),ye({key:1},n.toast.componentProps,{onCloseToast:he,isPaused:n.$props.expanded||n.$props.interacting||T(Te)}),null,16,["isPaused"])):(C(),I(ae,{key:2},[M.value!=="default"||n.toast.icon||n.toast.promise?(C(),I("div",{key:0,"data-icon":"",class:q(T(ce)(n.classes?.icon,n.toast?.classes?.icon))},[n.toast.icon?(C(),ue(Be(n.toast.icon),{key:0})):(C(),I(ae,{key:1},[M.value==="loading"?F(n.$slots,"loading-icon",{key:0}):M.value==="success"?F(n.$slots,"success-icon",{key:1}):M.value==="error"?F(n.$slots,"error-icon",{key:2}):M.value==="warning"?F(n.$slots,"warning-icon",{key:3}):M.value==="info"?F(n.$slots,"info-icon",{key:4}):me("v-if",!0)],64))],2)):me("v-if",!0),ee("div",{"data-content":"",class:q(T(ce)(n.classes?.content,n.toast?.classes?.content))},[ee("div",{"data-title":"",class:q(T(ce)(n.classes?.title,n.toast.classes?.title))},[se.value?(C(),ue(Be(n.toast.title),Xe(ye({key:0},n.toast.componentProps)),null,16)):(C(),I(ae,{key:1},[Ke(Ee(n.toast.title),1)],64))],2),n.toast.description?(C(),I("div",{key:0,"data-description":"",class:q(T(ce)(n.descriptionClass,te.value,n.classes?.description,n.toast.classes?.description))},[h.value?(C(),ue(Be(n.toast.description),Xe(ye({key:0},n.toast.componentProps)),null,16)):(C(),I(ae,{key:1},[Ke(Ee(n.toast.description),1)],64))],2)):me("v-if",!0)],2),n.toast.cancel?(C(),I("button",{key:1,style:Re(n.toast.cancelButtonStyle||n.cancelButtonStyle),class:q(T(ce)(n.classes?.cancelButton,n.toast.classes?.cancelButton)),"data-button":"","data-cancel":"",onClick:D[0]||(D[0]=w=>{T(Oe)(n.toast.cancel)&&H.value&&(n.toast.cancel.onClick?.(w),ne())})},Ee(T(Oe)(n.toast.cancel)?n.toast.cancel?.label:n.toast.cancel),7)):me("v-if",!0),n.toast.action?(C(),I("button",{key:2,style:Re(n.toast.actionButtonStyle||n.actionButtonStyle),class:q(T(ce)(n.classes?.actionButton,n.toast.classes?.actionButton)),"data-button":"","data-action":"",onClick:D[1]||(D[1]=w=>{T(Oe)(n.toast.action)&&(n.toast.action.onClick?.(w),!w.defaultPrevented&&ne())})},Ee(T(Oe)(n.toast.action)?n.toast.action?.label:n.toast.action),7)):me("v-if",!0)],64))],46,Ut))}}),Kt=Xt,Pe=(e,o)=>{const t=e.__vccOpts||e;for(const[s,r]of o)t[s]=r;return t};const Yt={},qt={xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stoke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"};function Zt(e,o){return C(),I("svg",qt,o[0]||(o[0]=[ee("line",{x1:"18",y1:"6",x2:"6",y2:"18"},null,-1),ee("line",{x1:"6",y1:"6",x2:"18",y2:"18"},null,-1)]))}var Jt=Pe(Yt,[["render",Zt]]);const Qt=["data-visible"],eo={class:"sonner-spinner"};var to=le({__name:"Loader",props:{visible:{type:Boolean}},setup(e){const o=Array(12).fill(0);return(t,s)=>(C(),I("div",{class:"sonner-loading-wrapper","data-visible":t.visible},[ee("div",eo,[(C(!0),I(ae,null,Ge(T(o),r=>(C(),I("div",{key:`spinner-bar-${r}`,class:"sonner-loading-bar"}))),128))])],8,Qt))}}),oo=to;const so={},no={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"};function ro(e,o){return C(),I("svg",no,o[0]||(o[0]=[ee("path",{"fill-rule":"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z","clip-rule":"evenodd"},null,-1)]))}var io=Pe(so,[["render",ro]]);const ao={},lo={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"};function co(e,o){return C(),I("svg",lo,o[0]||(o[0]=[ee("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z","clip-rule":"evenodd"},null,-1)]))}var uo=Pe(ao,[["render",co]]);const po={},fo={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"};function mo(e,o){return C(),I("svg",fo,o[0]||(o[0]=[ee("path",{"fill-rule":"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z","clip-rule":"evenodd"},null,-1)]))}var go=Pe(po,[["render",mo]]);const ho={},bo={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"};function vo(e,o){return C(),I("svg",bo,o[0]||(o[0]=[ee("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z","clip-rule":"evenodd"},null,-1)]))}var yo=Pe(ho,[["render",vo]]);const wo=["aria-label"],ko=["data-sonner-theme","dir","data-theme","data-rich-colors","data-y-position","data-x-position"],xo=typeof window<"u"&&typeof document<"u";function Co(){if(typeof window>"u"||typeof document>"u")return"ltr";const e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}var To=le({name:"Toaster",inheritAttrs:!1,__name:"Toaster",props:{id:{},invert:{type:Boolean,default:!1},theme:{default:"light"},position:{default:"bottom-right"},closeButtonPosition:{default:"top-left"},hotkey:{default:()=>["altKey","KeyT"]},richColors:{type:Boolean,default:!1},expand:{type:Boolean,default:!1},duration:{},gap:{default:jt},visibleToasts:{default:Nt},closeButton:{type:Boolean,default:!1},toastOptions:{default:()=>({})},class:{default:""},style:{},offset:{default:lt},mobileOffset:{default:ct},dir:{default:"auto"},swipeDirections:{},icons:{},containerAriaLabel:{default:"Notifications"}},setup(e){const o=e,t=Bt(),s=P([]),r=O(()=>o.id?s.value.filter(i=>i.toasterId===o.id):s.value.filter(i=>!i.toasterId));function c(i,b){return r.value.filter(v=>!v.position&&b===0||v.position===i)}const l=O(()=>{const i=r.value.filter(b=>b.position).map(b=>b.position);return i.length>0?Array.from(new Set([o.position].concat(i))):[o.position]}),m=O(()=>{const i={};return l.value.forEach(b=>{i[b]=s.value.filter(v=>v.position===b)}),i}),a=P([]),d=P({}),f=P(!1);ie(()=>{l.value.forEach(i=>{i in d.value||(d.value[i]=!1)})});const k=P(o.theme!=="system"?o.theme:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),x=P(null),S=P(null),L=P(!1),B=o.hotkey.join("+").replace(/Key/g,"").replace(/Digit/g,"");function E(i){s.value.find(b=>b.id===i.id)?.delete||_.dismiss(i.id),s.value=s.value.filter(({id:b})=>b!==i.id),setTimeout(()=>{s.value.find(b=>b.id===i.id)||(a.value=a.value.filter(b=>b.toastId!==i.id))},dt+50)}function J(i){L.value&&!i.currentTarget?.contains?.(i.relatedTarget)&&(L.value=!1,S.value&&(S.value.focus({preventScroll:!0}),S.value=null))}function M(i){i.target instanceof HTMLElement&&i.target.dataset.dismissible==="false"||L.value||(L.value=!0,S.value=i.relatedTarget)}function H(i){i.target&&i.target instanceof HTMLElement&&i.target.dataset.dismissible==="false"||(f.value=!0)}ie(i=>{const b=_.subscribe(v=>{if(v.dismiss){requestAnimationFrame(()=>{s.value=s.value.map(z=>z.id===v.id?{...z,delete:!0}:z)});return}at(()=>{const z=s.value.findIndex(R=>R.id===v.id);z!==-1?s.value=[...s.value.slice(0,z),{...s.value[z],...v},...s.value.slice(z+1)]:s.value=[v,...s.value]})});i(b)}),ie(i=>{if(typeof window>"u")return;if(o.theme!=="system"){k.value=o.theme;return}const b=window.matchMedia("(prefers-color-scheme: dark)"),v=R=>{k.value=R?"dark":"light"};v(b.matches);const z=R=>{v(R.matches)};try{b.addEventListener("change",z)}catch{b.addListener(z)}i(()=>{try{b.removeEventListener("change",z)}catch{b.removeListener(z)}})}),ie(()=>{x.value&&S.value&&(S.value.focus({preventScroll:!0}),S.value=null,L.value=!1)}),ie(()=>{s.value.length<=1&&Object.keys(d.value).forEach(i=>{d.value[i]=!1})}),ie(i=>{function b(v){const z=o.hotkey.every(N=>v[N]||v.code===N),R=Array.isArray(x.value)?x.value[0]:x.value;z&&(l.value.forEach(N=>{d.value[N]=!0}),R?.focus());const Y=document.activeElement===x.value||R?.contains(document.activeElement);v.code==="Escape"&&Y&&l.value.forEach(N=>{d.value[N]=!1})}xo&&(document.addEventListener("keydown",b),i(()=>{document.removeEventListener("keydown",b)}))});function Q(i){const b=i.currentTarget,v=b.getAttribute("data-y-position")+"-"+b.getAttribute("data-x-position");d.value[v]=!0}function te(i){if(!f.value){const b=i.currentTarget,v=b.getAttribute("data-y-position")+"-"+b.getAttribute("data-x-position");d.value[v]=!1}}function K(){Object.keys(d.value).forEach(i=>{d.value[i]=!1})}function oe(){f.value=!1}function g(i){a.value=i}function U(i){const b=a.value.findIndex(v=>v.toastId===i.toastId);if(b!==-1)a.value[b]=i;else{const v=a.value.findIndex(z=>z.position===i.position);v!==-1?a.value.splice(v,0,i):a.value.unshift(i)}}return(i,b)=>(C(),I(ae,null,[me(" Remove item from normal navigation flow, only available via hotkey "),ee("section",{"aria-label":`${i.containerAriaLabel} ${T(B)}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false"},[(C(!0),I(ae,null,Ge(l.value,(v,z)=>(C(),I("ol",ye({key:v,ref_for:!0,ref_key:"listRef",ref:x,"data-sonner-toaster":"","data-sonner-theme":k.value,class:o.class,dir:i.dir==="auto"?Co():i.dir,tabIndex:-1,"data-theme":i.theme,"data-rich-colors":i.richColors,"data-y-position":v.split("-")[0],"data-x-position":v.split("-")[1],style:{"--front-toast-height":`${a.value[0]?.height||0}px`,"--width":`${T(Vt)}px`,"--gap":`${i.gap}px`,...i.style,...T(t).style,...T(_t)(i.offset,i.mobileOffset)}},{ref_for:!0},i.$attrs,{onBlur:J,onFocus:M,onMouseenter:Q,onMousemove:Q,onMouseleave:te,onDragend:K,onPointerdown:H,onPointerup:oe}),[(C(!0),I(ae,null,Ge(c(v,z),(R,Y)=>(C(),ue(Kt,{key:R.id,heights:a.value,icons:i.icons,index:Y,toast:R,defaultRichColors:i.richColors,duration:i.toastOptions?.duration??i.duration,class:q(i.toastOptions?.class??""),descriptionClass:i.toastOptions?.descriptionClass,invert:i.invert,visibleToasts:i.visibleToasts,closeButton:i.toastOptions?.closeButton??i.closeButton,interacting:f.value,position:v,closeButtonPosition:i.toastOptions?.closeButtonPosition??i.closeButtonPosition,style:Re(i.toastOptions?.style),unstyled:i.toastOptions?.unstyled,classes:i.toastOptions?.classes,cancelButtonStyle:i.toastOptions?.cancelButtonStyle,actionButtonStyle:i.toastOptions?.actionButtonStyle,"close-button-aria-label":i.toastOptions?.closeButtonAriaLabel,toasts:m.value[v],expandByDefault:i.expand,gap:i.gap,expanded:d.value[v]||!1,swipeDirections:o.swipeDirections,"onUpdate:heights":g,"onUpdate:height":U,onRemoveToast:E},{"close-icon":X(()=>[F(i.$slots,"close-icon",{},()=>[Z(Jt)])]),"loading-icon":X(()=>[F(i.$slots,"loading-icon",{},()=>[Z(oo,{visible:R.type==="loading"},null,8,["visible"])])]),"success-icon":X(()=>[F(i.$slots,"success-icon",{},()=>[Z(io)])]),"error-icon":X(()=>[F(i.$slots,"error-icon",{},()=>[Z(yo)])]),"warning-icon":X(()=>[F(i.$slots,"warning-icon",{},()=>[Z(go)])]),"info-icon":X(()=>[F(i.$slots,"info-icon",{},()=>[Z(uo)])]),_:2},1032,["heights","icons","index","toast","defaultRichColors","duration","class","descriptionClass","invert","visibleToasts","closeButton","interacting","position","closeButtonPosition","style","unstyled","classes","cancelButtonStyle","actionButtonStyle","close-button-aria-label","toasts","expandByDefault","gap","expanded","swipeDirections"]))),128))],16,ko))),128))],8,wo)],2112))}}),So=To;function ut(e){var o,t,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e)){var r=e.length;for(o=0;otypeof e=="boolean"?`${e}`:e===0?"0":e,Qe=pt,Bo=(e,o)=>t=>{var s;if(o?.variants==null)return Qe(e,t?.class,t?.className);const{variants:r,defaultVariants:c}=o,l=Object.keys(r).map(d=>{const f=t?.[d],k=c?.[d];if(f===null)return null;const x=Je(f)||Je(k);return r[d][x]}),m=t&&Object.entries(t).reduce((d,f)=>{let[k,x]=f;return x===void 0||(d[k]=x),d},{}),a=o==null||(s=o.compoundVariants)===null||s===void 0?void 0:s.reduce((d,f)=>{let{class:k,className:x,...S}=f;return Object.entries(S).every(L=>{let[B,E]=L;return Array.isArray(E)?E.includes({...c,...m}[B]):{...c,...m}[B]===E})?[...d,k,x]:d},[]);return Qe(e,l,a,t?.class,t?.className)};function ft(e){return e?e.flatMap(o=>o.type===ae?ft(o.children):[o]):[]}const zo=le({name:"PrimitiveSlot",inheritAttrs:!1,setup(e,{attrs:o,slots:t}){return()=>{if(!t.default)return null;const s=ft(t.default()),r=s.findIndex(a=>a.type!==Pt);if(r===-1)return s;const c=s[r];delete c.props?.ref;const l=c.props?ye(o,c.props):o,m=It({...c,props:{}},l);return s.length===1?m:(s[r]=m,s)}}}),Ao=["area","img","input"],Po=le({name:"Primitive",inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:"div"}},setup(e,{attrs:o,slots:t}){const s=e.asChild?"template":e.as;return typeof s=="string"&&Ao.includes(s)?()=>we(s,o):s!=="template"?()=>we(e.as,o,{default:t.default}):()=>we(zo,o,{default:t.default})}}),Io=(e,o)=>{const t=new Array(e.length+o.length);for(let s=0;s({classGroupId:e,validator:o}),mt=(e=new Map,o=null,t)=>({nextPart:e,validators:o,classGroupId:t}),$e="-",et=[],Oo="arbitrary..",Mo=e=>{const o=Ro(e),{conflictingClassGroups:t,conflictingClassGroupModifiers:s}=e;return{getClassGroupId:l=>{if(l.startsWith("[")&&l.endsWith("]"))return Do(l);const m=l.split($e),a=m[0]===""&&m.length>1?1:0;return gt(m,a,o)},getConflictingClassGroupIds:(l,m)=>{if(m){const a=s[l],d=t[l];return a?d?Io(d,a):a:d||et}return t[l]||et}}},gt=(e,o,t)=>{if(e.length-o===0)return t.classGroupId;const r=e[o],c=t.nextPart.get(r);if(c){const d=gt(e,o+1,c);if(d)return d}const l=t.validators;if(l===null)return;const m=o===0?e.join($e):e.slice(o).join($e),a=l.length;for(let d=0;de.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const o=e.slice(1,-1),t=o.indexOf(":"),s=o.slice(0,t);return s?Oo+s:void 0})(),Ro=e=>{const{theme:o,classGroups:t}=e;return $o(t,o)},$o=(e,o)=>{const t=mt();for(const s in e){const r=e[s];_e(r,t,s,o)}return t},_e=(e,o,t,s)=>{const r=e.length;for(let c=0;c{if(typeof e=="string"){No(e,o,t);return}if(typeof e=="function"){Vo(e,o,t,s);return}jo(e,o,t,s)},No=(e,o,t)=>{const s=e===""?o:ht(o,e);s.classGroupId=t},Vo=(e,o,t,s)=>{if(Go(e)){_e(e(s),o,t,s);return}o.validators===null&&(o.validators=[]),o.validators.push(Eo(t,e))},jo=(e,o,t,s)=>{const r=Object.entries(e),c=r.length;for(let l=0;l{let t=e;const s=o.split($e),r=s.length;for(let c=0;c"isThemeGetter"in e&&e.isThemeGetter===!0,Fo=e=>{if(e<1)return{get:()=>{},set:()=>{}};let o=0,t=Object.create(null),s=Object.create(null);const r=(c,l)=>{t[c]=l,o++,o>e&&(o=0,s=t,t=Object.create(null))};return{get(c){let l=t[c];if(l!==void 0)return l;if((l=s[c])!==void 0)return r(c,l),l},set(c,l){c in t?t[c]=l:r(c,l)}}},He="!",tt=":",Ho=[],ot=(e,o,t,s,r)=>({modifiers:e,hasImportantModifier:o,baseClassName:t,maybePostfixModifierPosition:s,isExternal:r}),_o=e=>{const{prefix:o,experimentalParseClassName:t}=e;let s=r=>{const c=[];let l=0,m=0,a=0,d;const f=r.length;for(let B=0;Ba?d-a:void 0;return ot(c,S,x,L)};if(o){const r=o+tt,c=s;s=l=>l.startsWith(r)?c(l.slice(r.length)):ot(Ho,!1,l,void 0,!0)}if(t){const r=s;s=c=>t({className:c,parseClassName:r})}return s},Uo=e=>{const o=new Map;return e.orderSensitiveModifiers.forEach((t,s)=>{o.set(t,1e6+s)}),t=>{const s=[];let r=[];for(let c=0;c0&&(r.sort(),s.push(...r),r=[]),s.push(l)):r.push(l)}return r.length>0&&(r.sort(),s.push(...r)),s}},Wo=e=>({cache:Fo(e.cacheSize),parseClassName:_o(e),sortModifiers:Uo(e),...Mo(e)}),Xo=/\s+/,Ko=(e,o)=>{const{parseClassName:t,getClassGroupId:s,getConflictingClassGroupIds:r,sortModifiers:c}=o,l=[],m=e.trim().split(Xo);let a="";for(let d=m.length-1;d>=0;d-=1){const f=m[d],{isExternal:k,modifiers:x,hasImportantModifier:S,baseClassName:L,maybePostfixModifierPosition:B}=t(f);if(k){a=f+(a.length>0?" "+a:a);continue}let E=!!B,J=s(E?L.substring(0,B):L);if(!J){if(!E){a=f+(a.length>0?" "+a:a);continue}if(J=s(L),!J){a=f+(a.length>0?" "+a:a);continue}E=!1}const M=x.length===0?"":x.length===1?x[0]:c(x).join(":"),H=S?M+He:M,Q=H+J;if(l.indexOf(Q)>-1)continue;l.push(Q);const te=r(J,E);for(let K=0;K0?" "+a:a)}return a},Yo=(...e)=>{let o=0,t,s,r="";for(;o{if(typeof e=="string")return e;let o,t="";for(let s=0;s{let t,s,r,c;const l=a=>{const d=o.reduce((f,k)=>k(f),e());return t=Wo(d),s=t.cache.get,r=t.cache.set,c=m,m(a)},m=a=>{const d=s(a);if(d)return d;const f=Ko(a,t);return r(a,f),f};return c=l,(...a)=>c(Yo(...a))},Zo=[],$=e=>{const o=t=>t[e]||Zo;return o.isThemeGetter=!0,o},vt=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,yt=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Jo=/^\d+\/\d+$/,Qo=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,es=/\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$/,ts=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,os=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,ss=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ve=e=>Jo.test(e),y=e=>!!e&&!Number.isNaN(Number(e)),de=e=>!!e&&Number.isInteger(Number(e)),Ve=e=>e.endsWith("%")&&y(e.slice(0,-1)),re=e=>Qo.test(e),ns=()=>!0,rs=e=>es.test(e)&&!ts.test(e),wt=()=>!1,is=e=>os.test(e),as=e=>ss.test(e),ls=e=>!u(e)&&!p(e),cs=e=>ke(e,Ct,wt),u=e=>vt.test(e),fe=e=>ke(e,Tt,rs),je=e=>ke(e,ms,y),st=e=>ke(e,kt,wt),ds=e=>ke(e,xt,as),Me=e=>ke(e,St,is),p=e=>yt.test(e),ze=e=>xe(e,Tt),us=e=>xe(e,gs),nt=e=>xe(e,kt),ps=e=>xe(e,Ct),fs=e=>xe(e,xt),De=e=>xe(e,St,!0),ke=(e,o,t)=>{const s=vt.exec(e);return s?s[1]?o(s[1]):t(s[2]):!1},xe=(e,o,t=!1)=>{const s=yt.exec(e);return s?s[1]?o(s[1]):t:!1},kt=e=>e==="position"||e==="percentage",xt=e=>e==="image"||e==="url",Ct=e=>e==="length"||e==="size"||e==="bg-size",Tt=e=>e==="length",ms=e=>e==="number",gs=e=>e==="family-name",St=e=>e==="shadow",hs=()=>{const e=$("color"),o=$("font"),t=$("text"),s=$("font-weight"),r=$("tracking"),c=$("leading"),l=$("breakpoint"),m=$("container"),a=$("spacing"),d=$("radius"),f=$("shadow"),k=$("inset-shadow"),x=$("text-shadow"),S=$("drop-shadow"),L=$("blur"),B=$("perspective"),E=$("aspect"),J=$("ease"),M=$("animate"),H=()=>["auto","avoid","all","avoid-page","page","left","right","column"],Q=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],te=()=>[...Q(),p,u],K=()=>["auto","hidden","clip","visible","scroll"],oe=()=>["auto","contain","none"],g=()=>[p,u,a],U=()=>[ve,"full","auto",...g()],i=()=>[de,"none","subgrid",p,u],b=()=>["auto",{span:["full",de,p,u]},de,p,u],v=()=>[de,"auto",p,u],z=()=>["auto","min","max","fr",p,u],R=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],Y=()=>["start","end","center","stretch","center-safe","end-safe"],N=()=>["auto",...g()],se=()=>[ve,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...g()],h=()=>[e,p,u],Te=()=>[...Q(),nt,st,{position:[p,u]}],ge=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ne=()=>["auto","cover","contain",ps,cs,{size:[p,u]}],he=()=>[Ve,ze,fe],j=()=>["","none","full",d,p,u],G=()=>["",y,ze,fe],be=()=>["solid","dashed","dotted","double"],Ie=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],n=()=>[y,Ve,nt,st],D=()=>["","none",L,p,u],w=()=>["none",y,p,u],A=()=>["none",y,p,u],V=()=>[y,p,u],W=()=>[ve,"full",...g()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[re],breakpoint:[re],color:[ns],container:[re],"drop-shadow":[re],ease:["in","out","in-out"],font:[ls],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[re],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[re],shadow:[re],spacing:["px",y],text:[re],"text-shadow":[re],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",ve,u,p,E]}],container:["container"],columns:[{columns:[y,u,p,m]}],"break-after":[{"break-after":H()}],"break-before":[{"break-before":H()}],"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:te()}],overflow:[{overflow:K()}],"overflow-x":[{"overflow-x":K()}],"overflow-y":[{"overflow-y":K()}],overscroll:[{overscroll:oe()}],"overscroll-x":[{"overscroll-x":oe()}],"overscroll-y":[{"overscroll-y":oe()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:U()}],"inset-x":[{"inset-x":U()}],"inset-y":[{"inset-y":U()}],start:[{start:U()}],end:[{end:U()}],top:[{top:U()}],right:[{right:U()}],bottom:[{bottom:U()}],left:[{left:U()}],visibility:["visible","invisible","collapse"],z:[{z:[de,"auto",p,u]}],basis:[{basis:[ve,"full","auto",m,...g()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[y,ve,"auto","initial","none",u]}],grow:[{grow:["",y,p,u]}],shrink:[{shrink:["",y,p,u]}],order:[{order:[de,"first","last","none",p,u]}],"grid-cols":[{"grid-cols":i()}],"col-start-end":[{col:b()}],"col-start":[{"col-start":v()}],"col-end":[{"col-end":v()}],"grid-rows":[{"grid-rows":i()}],"row-start-end":[{row:b()}],"row-start":[{"row-start":v()}],"row-end":[{"row-end":v()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":z()}],"auto-rows":[{"auto-rows":z()}],gap:[{gap:g()}],"gap-x":[{"gap-x":g()}],"gap-y":[{"gap-y":g()}],"justify-content":[{justify:[...R(),"normal"]}],"justify-items":[{"justify-items":[...Y(),"normal"]}],"justify-self":[{"justify-self":["auto",...Y()]}],"align-content":[{content:["normal",...R()]}],"align-items":[{items:[...Y(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...Y(),{baseline:["","last"]}]}],"place-content":[{"place-content":R()}],"place-items":[{"place-items":[...Y(),"baseline"]}],"place-self":[{"place-self":["auto",...Y()]}],p:[{p:g()}],px:[{px:g()}],py:[{py:g()}],ps:[{ps:g()}],pe:[{pe:g()}],pt:[{pt:g()}],pr:[{pr:g()}],pb:[{pb:g()}],pl:[{pl:g()}],m:[{m:N()}],mx:[{mx:N()}],my:[{my:N()}],ms:[{ms:N()}],me:[{me:N()}],mt:[{mt:N()}],mr:[{mr:N()}],mb:[{mb:N()}],ml:[{ml:N()}],"space-x":[{"space-x":g()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":g()}],"space-y-reverse":["space-y-reverse"],size:[{size:se()}],w:[{w:[m,"screen",...se()]}],"min-w":[{"min-w":[m,"screen","none",...se()]}],"max-w":[{"max-w":[m,"screen","none","prose",{screen:[l]},...se()]}],h:[{h:["screen","lh",...se()]}],"min-h":[{"min-h":["screen","lh","none",...se()]}],"max-h":[{"max-h":["screen","lh",...se()]}],"font-size":[{text:["base",t,ze,fe]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[s,p,je]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Ve,u]}],"font-family":[{font:[us,u,o]}],"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:[r,p,u]}],"line-clamp":[{"line-clamp":[y,"none",p,je]}],leading:[{leading:[c,...g()]}],"list-image":[{"list-image":["none",p,u]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",p,u]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:h()}],"text-color":[{text:h()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...be(),"wavy"]}],"text-decoration-thickness":[{decoration:[y,"from-font","auto",p,fe]}],"text-decoration-color":[{decoration:h()}],"underline-offset":[{"underline-offset":[y,"auto",p,u]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:g()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",p,u]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",p,u]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Te()}],"bg-repeat":[{bg:ge()}],"bg-size":[{bg:ne()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},de,p,u],radial:["",p,u],conic:[de,p,u]},fs,ds]}],"bg-color":[{bg:h()}],"gradient-from-pos":[{from:he()}],"gradient-via-pos":[{via:he()}],"gradient-to-pos":[{to:he()}],"gradient-from":[{from:h()}],"gradient-via":[{via:h()}],"gradient-to":[{to:h()}],rounded:[{rounded:j()}],"rounded-s":[{"rounded-s":j()}],"rounded-e":[{"rounded-e":j()}],"rounded-t":[{"rounded-t":j()}],"rounded-r":[{"rounded-r":j()}],"rounded-b":[{"rounded-b":j()}],"rounded-l":[{"rounded-l":j()}],"rounded-ss":[{"rounded-ss":j()}],"rounded-se":[{"rounded-se":j()}],"rounded-ee":[{"rounded-ee":j()}],"rounded-es":[{"rounded-es":j()}],"rounded-tl":[{"rounded-tl":j()}],"rounded-tr":[{"rounded-tr":j()}],"rounded-br":[{"rounded-br":j()}],"rounded-bl":[{"rounded-bl":j()}],"border-w":[{border:G()}],"border-w-x":[{"border-x":G()}],"border-w-y":[{"border-y":G()}],"border-w-s":[{"border-s":G()}],"border-w-e":[{"border-e":G()}],"border-w-t":[{"border-t":G()}],"border-w-r":[{"border-r":G()}],"border-w-b":[{"border-b":G()}],"border-w-l":[{"border-l":G()}],"divide-x":[{"divide-x":G()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":G()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...be(),"hidden","none"]}],"divide-style":[{divide:[...be(),"hidden","none"]}],"border-color":[{border:h()}],"border-color-x":[{"border-x":h()}],"border-color-y":[{"border-y":h()}],"border-color-s":[{"border-s":h()}],"border-color-e":[{"border-e":h()}],"border-color-t":[{"border-t":h()}],"border-color-r":[{"border-r":h()}],"border-color-b":[{"border-b":h()}],"border-color-l":[{"border-l":h()}],"divide-color":[{divide:h()}],"outline-style":[{outline:[...be(),"none","hidden"]}],"outline-offset":[{"outline-offset":[y,p,u]}],"outline-w":[{outline:["",y,ze,fe]}],"outline-color":[{outline:h()}],shadow:[{shadow:["","none",f,De,Me]}],"shadow-color":[{shadow:h()}],"inset-shadow":[{"inset-shadow":["none",k,De,Me]}],"inset-shadow-color":[{"inset-shadow":h()}],"ring-w":[{ring:G()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:h()}],"ring-offset-w":[{"ring-offset":[y,fe]}],"ring-offset-color":[{"ring-offset":h()}],"inset-ring-w":[{"inset-ring":G()}],"inset-ring-color":[{"inset-ring":h()}],"text-shadow":[{"text-shadow":["none",x,De,Me]}],"text-shadow-color":[{"text-shadow":h()}],opacity:[{opacity:[y,p,u]}],"mix-blend":[{"mix-blend":[...Ie(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Ie()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[y]}],"mask-image-linear-from-pos":[{"mask-linear-from":n()}],"mask-image-linear-to-pos":[{"mask-linear-to":n()}],"mask-image-linear-from-color":[{"mask-linear-from":h()}],"mask-image-linear-to-color":[{"mask-linear-to":h()}],"mask-image-t-from-pos":[{"mask-t-from":n()}],"mask-image-t-to-pos":[{"mask-t-to":n()}],"mask-image-t-from-color":[{"mask-t-from":h()}],"mask-image-t-to-color":[{"mask-t-to":h()}],"mask-image-r-from-pos":[{"mask-r-from":n()}],"mask-image-r-to-pos":[{"mask-r-to":n()}],"mask-image-r-from-color":[{"mask-r-from":h()}],"mask-image-r-to-color":[{"mask-r-to":h()}],"mask-image-b-from-pos":[{"mask-b-from":n()}],"mask-image-b-to-pos":[{"mask-b-to":n()}],"mask-image-b-from-color":[{"mask-b-from":h()}],"mask-image-b-to-color":[{"mask-b-to":h()}],"mask-image-l-from-pos":[{"mask-l-from":n()}],"mask-image-l-to-pos":[{"mask-l-to":n()}],"mask-image-l-from-color":[{"mask-l-from":h()}],"mask-image-l-to-color":[{"mask-l-to":h()}],"mask-image-x-from-pos":[{"mask-x-from":n()}],"mask-image-x-to-pos":[{"mask-x-to":n()}],"mask-image-x-from-color":[{"mask-x-from":h()}],"mask-image-x-to-color":[{"mask-x-to":h()}],"mask-image-y-from-pos":[{"mask-y-from":n()}],"mask-image-y-to-pos":[{"mask-y-to":n()}],"mask-image-y-from-color":[{"mask-y-from":h()}],"mask-image-y-to-color":[{"mask-y-to":h()}],"mask-image-radial":[{"mask-radial":[p,u]}],"mask-image-radial-from-pos":[{"mask-radial-from":n()}],"mask-image-radial-to-pos":[{"mask-radial-to":n()}],"mask-image-radial-from-color":[{"mask-radial-from":h()}],"mask-image-radial-to-color":[{"mask-radial-to":h()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":Q()}],"mask-image-conic-pos":[{"mask-conic":[y]}],"mask-image-conic-from-pos":[{"mask-conic-from":n()}],"mask-image-conic-to-pos":[{"mask-conic-to":n()}],"mask-image-conic-from-color":[{"mask-conic-from":h()}],"mask-image-conic-to-color":[{"mask-conic-to":h()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Te()}],"mask-repeat":[{mask:ge()}],"mask-size":[{mask:ne()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",p,u]}],filter:[{filter:["","none",p,u]}],blur:[{blur:D()}],brightness:[{brightness:[y,p,u]}],contrast:[{contrast:[y,p,u]}],"drop-shadow":[{"drop-shadow":["","none",S,De,Me]}],"drop-shadow-color":[{"drop-shadow":h()}],grayscale:[{grayscale:["",y,p,u]}],"hue-rotate":[{"hue-rotate":[y,p,u]}],invert:[{invert:["",y,p,u]}],saturate:[{saturate:[y,p,u]}],sepia:[{sepia:["",y,p,u]}],"backdrop-filter":[{"backdrop-filter":["","none",p,u]}],"backdrop-blur":[{"backdrop-blur":D()}],"backdrop-brightness":[{"backdrop-brightness":[y,p,u]}],"backdrop-contrast":[{"backdrop-contrast":[y,p,u]}],"backdrop-grayscale":[{"backdrop-grayscale":["",y,p,u]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[y,p,u]}],"backdrop-invert":[{"backdrop-invert":["",y,p,u]}],"backdrop-opacity":[{"backdrop-opacity":[y,p,u]}],"backdrop-saturate":[{"backdrop-saturate":[y,p,u]}],"backdrop-sepia":[{"backdrop-sepia":["",y,p,u]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":g()}],"border-spacing-x":[{"border-spacing-x":g()}],"border-spacing-y":[{"border-spacing-y":g()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",p,u]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[y,"initial",p,u]}],ease:[{ease:["linear","initial",J,p,u]}],delay:[{delay:[y,p,u]}],animate:[{animate:["none",M,p,u]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[B,p,u]}],"perspective-origin":[{"perspective-origin":te()}],rotate:[{rotate:w()}],"rotate-x":[{"rotate-x":w()}],"rotate-y":[{"rotate-y":w()}],"rotate-z":[{"rotate-z":w()}],scale:[{scale:A()}],"scale-x":[{"scale-x":A()}],"scale-y":[{"scale-y":A()}],"scale-z":[{"scale-z":A()}],"scale-3d":["scale-3d"],skew:[{skew:V()}],"skew-x":[{"skew-x":V()}],"skew-y":[{"skew-y":V()}],transform:[{transform:[p,u,"","none","gpu","cpu"]}],"transform-origin":[{origin:te()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:W()}],"translate-x":[{"translate-x":W()}],"translate-y":[{"translate-y":W()}],"translate-z":[{"translate-z":W()}],"translate-none":["translate-none"],accent:[{accent:h()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:h()}],"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",p,u]}],"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":g()}],"scroll-mx":[{"scroll-mx":g()}],"scroll-my":[{"scroll-my":g()}],"scroll-ms":[{"scroll-ms":g()}],"scroll-me":[{"scroll-me":g()}],"scroll-mt":[{"scroll-mt":g()}],"scroll-mr":[{"scroll-mr":g()}],"scroll-mb":[{"scroll-mb":g()}],"scroll-ml":[{"scroll-ml":g()}],"scroll-p":[{"scroll-p":g()}],"scroll-px":[{"scroll-px":g()}],"scroll-py":[{"scroll-py":g()}],"scroll-ps":[{"scroll-ps":g()}],"scroll-pe":[{"scroll-pe":g()}],"scroll-pt":[{"scroll-pt":g()}],"scroll-pr":[{"scroll-pr":g()}],"scroll-pb":[{"scroll-pb":g()}],"scroll-pl":[{"scroll-pl":g()}],"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",p,u]}],fill:[{fill:["none",...h()]}],"stroke-w":[{stroke:[y,ze,fe,je]}],stroke:[{stroke:["none",...h()]}],"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-x","border-w-y","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-x","border-color-y","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:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},bs=qo(hs);function Le(...e){return bs(pt(e))}const $s=le({__name:"Button",props:{variant:{},size:{},class:{},asChild:{type:Boolean},as:{default:"button"}},setup(e){const o=e;return(t,s)=>(C(),ue(T(Po),{"data-slot":"button",as:e.as,"as-child":e.asChild,class:q(T(Le)(T(vs)({variant:e.variant,size:e.size}),o.class))},{default:X(()=>[F(t.$slots,"default")]),_:3},8,["as","as-child","class"]))}}),vs=Bo("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Ls=e=>typeof e<"u";function ys(e){const o=Object.create(null);return(t=>o[t]||(o[t]=e(t)))}const ws=/-(\w)/g,Ns=ys(e=>e.replace(ws,(o,t)=>t?t.toUpperCase():""));function Vs(e,o){if(typeof Symbol<"u"){const t={...e};return Object.defineProperty(t,Symbol.iterator,{enumerable:!1,value(){let s=0;return{next:()=>({value:o[s++],done:s>o.length})}}}),t}else return Object.assign([...o],e)}function ks(e){return Ne(e)?Ye(new Proxy({},{get(o,t,s){return T(Reflect.get(e.value,t,s))},set(o,t,s){return Ne(e.value[t])&&!Ne(s)?e.value[t].value=s:e.value[t]=s,!0},deleteProperty(o,t){return Reflect.deleteProperty(e.value,t)},has(o,t){return Reflect.has(e.value,t)},ownKeys(){return Object.keys(e.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}})):Ye(e)}function xs(e){return ks(O(e))}function js(e,...o){const t=o.flat(),s=t[0];return xs(()=>Object.fromEntries(typeof s=="function"?Object.entries(qe(e)).filter(([r,c])=>!s(Et(c),r)):Object.entries(qe(e)).filter(r=>!t.includes(r[0]))))}const Gs=le({__name:"Card",props:{class:{}},setup(e){const o=e;return(t,s)=>(C(),I("div",{"data-slot":"card",class:q(T(Le)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",o.class))},[F(t.$slots,"default")],2))}}),Fs=le({__name:"CardContent",props:{class:{}},setup(e){const o=e;return(t,s)=>(C(),I("div",{"data-slot":"card-content",class:q(T(Le)("px-6",o.class))},[F(t.$slots,"default")],2))}});const rt=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Cs=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(o,t,s)=>s?s.toUpperCase():t.toLowerCase()),Ts=e=>{const o=Cs(e);return o.charAt(0).toUpperCase()+o.slice(1)},Ss=(...e)=>e.filter((o,t,s)=>!!o&&o.trim()!==""&&s.indexOf(o)===t).join(" ").trim(),it=e=>e==="";var Ae={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};const Bs=({name:e,iconNode:o,absoluteStrokeWidth:t,"absolute-stroke-width":s,strokeWidth:r,"stroke-width":c,size:l=Ae.width,color:m=Ae.stroke,...a},{slots:d})=>we("svg",{...Ae,...a,width:l,height:l,stroke:m,"stroke-width":it(t)||it(s)||t===!0||s===!0?Number(r||c||Ae["stroke-width"])*24/Number(l):r||c||Ae["stroke-width"],class:Ss("lucide",a.class,...e?[`lucide-${rt(Ts(e))}-icon`,`lucide-${rt(e)}`]:["lucide-icon"])},[...o.map(f=>we(...f)),...d.default?[d.default()]:[]]);const Ce=(e,o)=>(t,{slots:s,attrs:r})=>we(Bs,{...r,...t,iconNode:o,name:e},s);const zs=Ce("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);const As=Ce("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);const Ps=Ce("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);const Is=Ce("octagon-x",[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);const Es=Ce("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);const Os=Ce("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),Hs=le({__name:"Sonner",props:{id:{},invert:{type:Boolean},theme:{},position:{},closeButtonPosition:{},hotkey:{},richColors:{type:Boolean},expand:{type:Boolean},duration:{},gap:{},visibleToasts:{},closeButton:{type:Boolean},toastOptions:{},class:{},style:{},offset:{},mobileOffset:{},dir:{},swipeDirections:{},icons:{},containerAriaLabel:{}},setup(e){const o=e;return(t,s)=>(C(),ue(T(So),ye({class:T(Le)("toaster group",o.class),style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)","--border-radius":"var(--radius)"}},o),{"success-icon":X(()=>[Z(T(zs),{class:"size-4"})]),"info-icon":X(()=>[Z(T(As),{class:"size-4"})]),"warning-icon":X(()=>[Z(T(Es),{class:"size-4"})]),"error-icon":X(()=>[Z(T(Is),{class:"size-4"})]),"loading-icon":X(()=>[ee("div",null,[Z(T(Ps),{class:"size-4 animate-spin"})])]),"close-icon":X(()=>[Z(T(Os),{class:"size-4"})]),_:1},16,["class"]))}});export{Po as P,zo as S,Os as X,Gs as _,Hs as a,Fs as b,Le as c,$s as d,Ce as e,vs as f,Bo as g,ft as h,Ls as i,Ns as j,Vs as m,js as r,Rs as t}; diff --git a/web/assets/TableHeader.vue_vue_type_script_setup_true_lang-NIN1xtGv.js b/web/assets/TableHeader.vue_vue_type_script_setup_true_lang-NIN1xtGv.js new file mode 100644 index 0000000..c2f459d --- /dev/null +++ b/web/assets/TableHeader.vue_vue_type_script_setup_true_lang-NIN1xtGv.js @@ -0,0 +1 @@ +import{c as t}from"./Sonner.vue_vue_type_script_setup_true_lang-BwfWndxy.js";import{d as l,f as o,n as r,u as c,g as n,j as _,k as d}from"./index-BhaIiTEj.js";const i=l({__name:"Skeleton",props:{class:{}},setup(s){const a=s;return(e,p)=>(n(),o("div",{"data-slot":"skeleton",class:r(c(t)("animate-pulse rounded-md bg-primary/10",a.class))},null,2))}}),u={"data-slot":"table-container",class:"relative w-full overflow-auto"},f=l({__name:"Table",props:{class:{}},setup(s){const a=s;return(e,p)=>(n(),o("div",u,[_("table",{"data-slot":"table",class:r(c(t)("w-full caption-bottom text-sm",a.class))},[d(e.$slots,"default")],2)]))}}),h=l({__name:"TableBody",props:{class:{}},setup(s){const a=s;return(e,p)=>(n(),o("tbody",{"data-slot":"table-body",class:r(c(t)("[&_tr:last-child]:border-0",a.class))},[d(e.$slots,"default")],2))}}),x=l({__name:"TableCell",props:{class:{}},setup(s){const a=s;return(e,p)=>(n(),o("td",{"data-slot":"table-cell",class:r(c(t)("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a.class))},[d(e.$slots,"default")],2))}}),$=l({__name:"TableRow",props:{class:{}},setup(s){const a=s;return(e,p)=>(n(),o("tr",{"data-slot":"table-row",class:r(c(t)("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",a.class))},[d(e.$slots,"default")],2))}}),k=l({__name:"TableHead",props:{class:{}},setup(s){const a=s;return(e,p)=>(n(),o("th",{"data-slot":"table-head",class:r(c(t)("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a.class))},[d(e.$slots,"default")],2))}}),w=l({__name:"TableHeader",props:{class:{}},setup(s){const a=s;return(e,p)=>(n(),o("thead",{"data-slot":"table-header",class:r(c(t)("[&_tr]:border-b",a.class))},[d(e.$slots,"default")],2))}});export{i as _,f as a,w as b,$ as c,k as d,h as e,x as f}; diff --git a/web/assets/Teleport-DV_BGdH0.js b/web/assets/Teleport-DV_BGdH0.js new file mode 100644 index 0000000..cccd4d1 --- /dev/null +++ b/web/assets/Teleport-DV_BGdH0.js @@ -0,0 +1,3 @@ +import{q as ue,y as le,c as g,v as E,w as T,M as D,a7 as $,a8 as ce,a9 as G,aa as de,b as Z,ab as fe,d as I,U as ve,x as pe,e as _,t as C,Z as J,h as q,g as K,z as Q,k as H,p as me,u as O,i as ye,a0 as he}from"./index-BhaIiTEj.js";import{j as Ee,k as be,i as F,l as z,m as ge,e as ee,n as we,u as te,o as Oe,p as Pe,q as Se}from"./useForwardExpose-CRFbVhil.js";import{h as Ae,P as ne}from"./Sonner.vue_vue_type_script_setup_true_lang-BwfWndxy.js";function De(e,t){const n=typeof e=="string"&&!t?`${e}Context`:t,o=Symbol(n);return[a=>{const l=ue(o,a);if(l||l===null)return l;throw new Error(`Injection \`${o.toString()}\` not found. Component must be used within ${Array.isArray(e)?`one of the following components: ${e.join(", ")}`:`\`${e}\``}`)},a=>(le(o,a),a)]}function A(){let e=document.activeElement;if(e==null)return null;for(;e!=null&&e.shadowRoot!=null&&e.shadowRoot.activeElement!=null;)e=e.shadowRoot.activeElement;return e}function oe(e,t,n){const o=n.originalEvent.target,r=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),o.dispatchEvent(r)}function _e(e){return e==null}const[Te]=De("ConfigProvider");function x(e){if(e===null||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)==="[object Module]":!0}function j(e,t,n=".",o){if(!x(t))return j(e,{},n,o);const r=Object.assign({},t);for(const s in e){if(s==="__proto__"||s==="constructor")continue;const a=e[s];a!=null&&(o&&o(r,s,a,n)||(Array.isArray(a)&&Array.isArray(r[s])?r[s]=[...a,...r[s]]:x(a)&&x(r[s])?r[s]=j(a,r[s],(n?`${n}.`:"")+s.toString(),o):r[s]=a))}return r}function Ce(e){return(...t)=>t.reduce((n,o)=>j(n,o,"",e),{})}const Fe=Ce(),Le=Ee(()=>{const e=E(new Map),t=E(),n=g(()=>{for(const a of e.value.values())if(a)return!0;return!1}),o=Te({scrollBody:E(!0)});let r=null;const s=()=>{document.body.style.paddingRight="",document.body.style.marginRight="",document.body.style.pointerEvents="",document.documentElement.style.removeProperty("--scrollbar-width"),document.body.style.overflow=t.value??"",z&&r?.(),t.value=void 0};return T(n,(a,l)=>{if(!F)return;if(!a){l&&s();return}t.value===void 0&&(t.value=document.body.style.overflow);const v=window.innerWidth-document.documentElement.clientWidth,p={padding:v,margin:0},i=o.scrollBody?.value?typeof o.scrollBody.value=="object"?Fe({padding:o.scrollBody.value.padding===!0?v:o.scrollBody.value.padding,margin:o.scrollBody.value.margin===!0?v:o.scrollBody.value.margin},p):p:{padding:0,margin:0};v>0&&(document.body.style.paddingRight=typeof i.padding=="number"?`${i.padding}px`:String(i.padding),document.body.style.marginRight=typeof i.margin=="number"?`${i.margin}px`:String(i.margin),document.documentElement.style.setProperty("--scrollbar-width",`${v}px`),document.body.style.overflow="hidden"),z&&(r=ge(document,"touchmove",u=>Ne(u),{passive:!1})),D(()=>{document.body.style.pointerEvents="none",document.body.style.overflow="hidden"})},{immediate:!0,flush:"sync"}),e});function rt(e){const t=Math.random().toString(36).substring(2,7),n=Le();n.value.set(t,e??!1);const o=g({get:()=>n.value.get(t)??!1,set:r=>n.value.set(t,r)});return be(()=>{n.value.delete(t)}),o}function se(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}function Me(e){const t=$(),n=t?.type.emits,o={};return n?.length||console.warn(`No emitted event found. Please check component: ${t?.type.__name}`),n?.forEach(r=>{o[ce(G(r))]=(...s)=>e(r,...s)}),o}function Ie(e){const t=$(),n=Object.keys(t?.type.props??{}).reduce((r,s)=>{const a=(t?.type.props[s]).default;return a!==void 0&&(r[s]=a),r},{}),o=de(e);return g(()=>{const r={},s=t?.vnode.props??{};return Object.keys(s).forEach(a=>{r[G(a)]=s[a]}),Object.keys({...n,...r}).reduce((a,l)=>(o.value[l]!==void 0&&(a[l]=o.value[l]),a),{})})}function at(e,t){const n=Ie(e),o=t?Me(t):{};return g(()=>({...n.value,...o}))}var ke=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},S=new WeakMap,L=new WeakMap,N={},U=0,re=function(e){return e&&(e.host||re(e.parentNode))},Be=function(e,t){return t.map(function(n){if(e.contains(n))return n;var o=re(n);return o&&e.contains(o)?o:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},xe=function(e,t,n,o){var r=Be(t,Array.isArray(e)?e:[e]);N[n]||(N[n]=new WeakMap);var s=N[n],a=[],l=new Set,v=new Set(r),p=function(u){!u||l.has(u)||(l.add(u),p(u.parentNode))};r.forEach(p);var i=function(u){!u||v.has(u)||Array.prototype.forEach.call(u.children,function(d){if(l.has(d))i(d);else try{var c=d.getAttribute(o),m=c!==null&&c!=="false",y=(S.get(d)||0)+1,f=(s.get(d)||0)+1;S.set(d,y),s.set(d,f),a.push(d),y===1&&m&&L.set(d,!0),f===1&&d.setAttribute(n,"true"),m||d.setAttribute(o,"true")}catch(h){console.error("aria-hidden: cannot operate on ",d,h)}})};return i(t),l.clear(),U++,function(){a.forEach(function(u){var d=S.get(u)-1,c=s.get(u)-1;S.set(u,d),s.set(u,c),d||(L.has(u)||u.removeAttribute(o),L.delete(u)),c||u.removeAttribute(n)}),U--,U||(S=new WeakMap,S=new WeakMap,L=new WeakMap,N={})}},Ue=function(e,t,n){n===void 0&&(n="data-aria-hidden");var o=Array.from(Array.isArray(e)?e:[e]),r=ke(e);return r?(o.push.apply(o,Array.from(r.querySelectorAll("[aria-live], script"))),xe(o,r,n,"aria-hidden")):function(){return null}};function it(e){let t;T(()=>ee(e),n=>{n?t=Ue(n):t&&t()}),Z(()=>{t&&t()})}function ut(e,t="reka"){return`${t}-${fe?.()}`}function We(e,t){const n=E(e);function o(s){return t[n.value][s]??n.value}return{state:n,dispatch:s=>{n.value=o(s)}}}function Re(e,t){const n=E({}),o=E("none"),r=E(e),s=e.value?"mounted":"unmounted";let a;const l=t.value?.ownerDocument.defaultView??we,{state:v,dispatch:p}=We(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}}),i=f=>{if(F){const h=new CustomEvent(f,{bubbles:!1,cancelable:!1});t.value?.dispatchEvent(h)}};T(e,async(f,h)=>{const k=h!==f;if(await D(),k){const B=o.value,P=M(t.value);f?(p("MOUNT"),i("enter"),P==="none"&&i("after-enter")):P==="none"||P==="undefined"||n.value?.display==="none"?(p("UNMOUNT"),i("leave"),i("after-leave")):h&&B!==P?(p("ANIMATION_OUT"),i("leave")):(p("UNMOUNT"),i("after-leave"))}},{immediate:!0});const u=f=>{const h=M(t.value),k=h.includes(CSS.escape(f.animationName)),B=v.value==="mounted"?"enter":"leave";if(f.target===t.value&&k&&(i(`after-${B}`),p("ANIMATION_END"),!r.value)){const P=t.value.style.animationFillMode;t.value.style.animationFillMode="forwards",a=l?.setTimeout(()=>{t.value?.style.animationFillMode==="forwards"&&(t.value.style.animationFillMode=P)})}f.target===t.value&&h==="none"&&p("ANIMATION_END")},d=f=>{f.target===t.value&&(o.value=M(t.value))},c=T(t,(f,h)=>{f?(n.value=getComputedStyle(f),f.addEventListener("animationstart",d),f.addEventListener("animationcancel",u),f.addEventListener("animationend",u)):(p("ANIMATION_END"),a!==void 0&&l?.clearTimeout(a),h?.removeEventListener("animationstart",d),h?.removeEventListener("animationcancel",u),h?.removeEventListener("animationend",u))},{immediate:!0}),m=T(v,()=>{const f=M(t.value);o.value=v.value==="mounted"?f:"none"});return Z(()=>{c(),m()}),{isPresent:g(()=>["mounted","unmountSuspended"].includes(v.value))}}function M(e){return e&&getComputedStyle(e).animationName||"none"}var lt=I({name:"Presence",props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(e,{slots:t,expose:n}){const{present:o,forceMount:r}=ve(e),s=E(),{isPresent:a}=Re(o,s);n({present:a});let l=t.default({present:a.value});l=Ae(l||[]);const v=$();if(l&&l?.length>1){const p=v?.parent?.type.name?`<${v.parent.type.name} />`:"component";throw new Error([`Detected an invalid children for \`${p}\` for \`Presence\` component.`,"","Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.","You can apply a few solutions:",["Provide a single child element so that `presence` directive attach correctly.","Ensure the first child is an actual element instead of a raw text node or comment node."].map(i=>` - ${i}`).join(` +`)].join(` +`))}return()=>r.value||o.value||a.value?pe(t.default({present:a.value})[0],{ref:p=>{const i=ee(p);return typeof i?.hasAttribute>"u"||(i?.hasAttribute("data-reka-popper-content-wrapper")?s.value=i.firstElementChild:s.value=i),i}}):null}});const je="dismissableLayer.pointerDownOutside",$e="dismissableLayer.focusOutside";function ae(e,t){const n=t.closest("[data-dismissable-layer]"),o=e.dataset.dismissableLayer===""?e:e.querySelector("[data-dismissable-layer]"),r=Array.from(e.ownerDocument.querySelectorAll("[data-dismissable-layer]"));return!!(n&&(o===n||r.indexOf(o){});return _(a=>{if(!F||!C(n))return;const l=async p=>{const i=p.target;if(!(!t?.value||!i)){if(ae(t.value,i)){r.value=!1;return}if(p.target&&!r.value){let d=function(){oe(je,e,u)};const u={originalEvent:p};p.pointerType==="touch"?(o.removeEventListener("click",s.value),s.value=d,o.addEventListener("click",s.value,{once:!0})):d()}else o.removeEventListener("click",s.value);r.value=!1}},v=window.setTimeout(()=>{o.addEventListener("pointerdown",l)},0);a(()=>{window.clearTimeout(v),o.removeEventListener("pointerdown",l),o.removeEventListener("click",s.value)})}),{onPointerDownCapture:()=>{C(n)&&(r.value=!0)}}}function Ke(e,t,n=!0){const o=t?.value?.ownerDocument??globalThis?.document,r=E(!1);return _(s=>{if(!F||!C(n))return;const a=async l=>{if(!t?.value)return;await D(),await D();const v=l.target;!t.value||!v||ae(t.value,v)||l.target&&!r.value&&oe($e,e,{originalEvent:l})};o.addEventListener("focusin",a),s(()=>o.removeEventListener("focusin",a))}),{onFocusCapture:()=>{C(n)&&(r.value=!0)},onBlurCapture:()=>{C(n)&&(r.value=!1)}}}const b=J({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,originalBodyPointerEvents:void 0,branches:new Set});var He=I({__name:"DismissableLayer",props:{disableOutsidePointerEvents:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","dismiss"],setup(e,{emit:t}){const n=e,o=t,{forwardRef:r,currentElement:s}=te(),a=g(()=>s.value?.ownerDocument??globalThis.document),l=g(()=>b.layersRoot),v=g(()=>s.value?Array.from(l.value).indexOf(s.value):-1),p=g(()=>b.layersWithOutsidePointerEventsDisabled.size>0),i=g(()=>{const c=Array.from(l.value),[m]=[...b.layersWithOutsidePointerEventsDisabled].slice(-1),y=c.indexOf(m);return v.value>=y}),u=qe(async c=>{const m=[...b.branches].some(y=>y?.contains(c.target));!i.value||m||(o("pointerDownOutside",c),o("interactOutside",c),await D(),c.defaultPrevented||o("dismiss"))},s),d=Ke(c=>{[...b.branches].some(y=>y?.contains(c.target))||(o("focusOutside",c),o("interactOutside",c),c.defaultPrevented||o("dismiss"))},s);return Oe("Escape",c=>{v.value===l.value.size-1&&(o("escapeKeyDown",c),c.defaultPrevented||o("dismiss"))}),_(c=>{s.value&&(n.disableOutsidePointerEvents&&(b.layersWithOutsidePointerEventsDisabled.size===0&&(b.originalBodyPointerEvents=a.value.body.style.pointerEvents,a.value.body.style.pointerEvents="none"),b.layersWithOutsidePointerEventsDisabled.add(s.value)),l.value.add(s.value),c(()=>{n.disableOutsidePointerEvents&&b.layersWithOutsidePointerEventsDisabled.size===1&&!_e(b.originalBodyPointerEvents)&&(a.value.body.style.pointerEvents=b.originalBodyPointerEvents)}))}),_(c=>{c(()=>{s.value&&(l.value.delete(s.value),b.layersWithOutsidePointerEventsDisabled.delete(s.value))})}),(c,m)=>(K(),q(O(ne),{ref:O(r),"as-child":c.asChild,as:c.as,"data-dismissable-layer":"",style:me({pointerEvents:p.value?i.value?"auto":"none":void 0}),onFocusCapture:O(d).onFocusCapture,onBlurCapture:O(d).onBlurCapture,onPointerdownCapture:O(u).onPointerDownCapture},{default:Q(()=>[H(c.$slots,"default")]),_:3},8,["as-child","as","style","onFocusCapture","onBlurCapture","onPointerdownCapture"]))}}),ct=He;const ze=Pe(()=>E([]));function Ve(){const e=ze();return{add(t){const n=e.value[0];t!==n&&n?.pause(),e.value=V(e.value,t),e.value.unshift(t)},remove(t){e.value=V(e.value,t),e.value[0]?.resume()}}}function V(e,t){const n=[...e],o=n.indexOf(t);return o!==-1&&n.splice(o,1),n}function Ye(e){return e.filter(t=>t.tagName!=="A")}const W="focusScope.autoFocusOnMount",R="focusScope.autoFocusOnUnmount",Y={bubbles:!1,cancelable:!0};function Xe(e,{select:t=!1}={}){const n=A();for(const o of e)if(w(o,{select:t}),A()!==n)return!0}function Ge(e){const t=ie(e),n=X(t,e),o=X(t.reverse(),e);return[n,o]}function ie(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const r=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||r?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function X(e,t){for(const n of e)if(!Ze(n,{upTo:t}))return n}function Ze(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function Je(e){return e instanceof HTMLInputElement&&"select"in e}function w(e,{select:t=!1}={}){if(e&&e.focus){const n=A();e.focus({preventScroll:!0}),e!==n&&Je(e)&&t&&e.select()}}var Qe=I({__name:"FocusScope",props:{loop:{type:Boolean,required:!1,default:!1},trapped:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["mountAutoFocus","unmountAutoFocus"],setup(e,{emit:t}){const n=e,o=t,{currentRef:r,currentElement:s}=te(),a=E(null),l=Ve(),v=J({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});_(i=>{if(!F)return;const u=s.value;if(!n.trapped)return;function d(f){if(v.paused||!u)return;const h=f.target;u.contains(h)?a.value=h:w(a.value,{select:!0})}function c(f){if(v.paused||!u)return;const h=f.relatedTarget;h!==null&&(u.contains(h)||w(a.value,{select:!0}))}function m(f){u.contains(a.value)||w(u)}document.addEventListener("focusin",d),document.addEventListener("focusout",c);const y=new MutationObserver(m);u&&y.observe(u,{childList:!0,subtree:!0}),i(()=>{document.removeEventListener("focusin",d),document.removeEventListener("focusout",c),y.disconnect()})}),_(async i=>{const u=s.value;if(await D(),!u)return;l.add(v);const d=A();if(!u.contains(d)){const m=new CustomEvent(W,Y);u.addEventListener(W,y=>o("mountAutoFocus",y)),u.dispatchEvent(m),m.defaultPrevented||(Xe(Ye(ie(u)),{select:!0}),A()===d&&w(u))}i(()=>{u.removeEventListener(W,f=>o("mountAutoFocus",f));const m=new CustomEvent(R,Y),y=f=>{o("unmountAutoFocus",f)};u.addEventListener(R,y),u.dispatchEvent(m),setTimeout(()=>{m.defaultPrevented||w(d??document.body,{select:!0}),u.removeEventListener(R,y),l.remove(v)},0)})});function p(i){if(!n.loop&&!n.trapped||v.paused)return;const u=i.key==="Tab"&&!i.altKey&&!i.ctrlKey&&!i.metaKey,d=A();if(u&&d){const c=i.currentTarget,[m,y]=Ge(c);m&&y?!i.shiftKey&&d===y?(i.preventDefault(),n.loop&&w(m,{select:!0})):i.shiftKey&&d===m&&(i.preventDefault(),n.loop&&w(y,{select:!0})):d===c&&i.preventDefault()}}return(i,u)=>(K(),q(O(ne),{ref_key:"currentRef",ref:r,tabindex:"-1","as-child":i.asChild,as:i.as,onKeydown:p},{default:Q(()=>[H(i.$slots,"default")]),_:3},8,["as-child","as"]))}}),dt=Qe,et=I({__name:"Teleport",props:{to:{type:null,required:!1,default:"body"},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=Se();return(n,o)=>O(t)||n.forceMount?(K(),q(he,{key:0,to:n.to,disabled:n.disabled,defer:n.defer},[H(n.$slots,"default")],8,["to","disabled","defer"])):ye("v-if",!0)}}),ft=et;export{ct as D,dt as F,lt as P,ft as T,at as a,Te as b,De as c,Me as d,rt as e,it as f,ut as g,A as h,_e as i,oe as j,Ie as u}; diff --git a/web/assets/Textarea.vue_vue_type_script_setup_true_lang-CwxB1PfH.js b/web/assets/Textarea.vue_vue_type_script_setup_true_lang-CwxB1PfH.js new file mode 100644 index 0000000..13185d4 --- /dev/null +++ b/web/assets/Textarea.vue_vue_type_script_setup_true_lang-CwxB1PfH.js @@ -0,0 +1 @@ +import{d as l,N as n,f as d,n as u,u as s,X as m,_ as c,g as p}from"./index-BhaIiTEj.js";import{u as f}from"./Label.vue_vue_type_script_setup_true_lang-D-_Evs0_.js";import{c as x}from"./Sonner.vue_vue_type_script_setup_true_lang-BwfWndxy.js";const w=l({__name:"Textarea",props:{class:{},defaultValue:{},modelValue:{}},emits:["update:modelValue"],setup(r,{emit:o}){const e=r,a=f(e,"modelValue",o,{passive:!0,defaultValue:e.defaultValue});return(v,t)=>n((p(),d("textarea",{"onUpdate:modelValue":t[0]||(t[0]=i=>m(a)?a.value=i:null),"data-slot":"textarea",class:u(s(x)("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e.class))},null,2)),[[c,s(a)]])}});export{w as _}; diff --git a/web/assets/TokenManagement-BhQjUgic.css b/web/assets/TokenManagement-BhQjUgic.css new file mode 100644 index 0000000..5dd7f67 --- /dev/null +++ b/web/assets/TokenManagement-BhQjUgic.css @@ -0,0 +1 @@ +.border-b-2[data-v-c7a1641d]{border-bottom-width:2px}.hover\:border-gray-300[data-v-c7a1641d]:hover{border-color:#d1d5db}.hover\:text-gray-700[data-v-c7a1641d]:hover{color:#374151}.hover\:bg-gray-50[data-v-c7a1641d]:hover{background-color:#f9fafb;transition:background-color .2s ease}code[data-v-c7a1641d]{word-break:break-all;white-space:pre-wrap}.overflow-x-auto[data-v-c7a1641d]{scrollbar-width:thin;scrollbar-color:rgba(156,163,175,.5) transparent}.overflow-x-auto[data-v-c7a1641d]::-webkit-scrollbar{width:6px;height:6px}.overflow-x-auto[data-v-c7a1641d]::-webkit-scrollbar-track{background:transparent}.overflow-x-auto[data-v-c7a1641d]::-webkit-scrollbar-thumb{background:#9ca3af80;border-radius:3px}.overflow-x-auto[data-v-c7a1641d]::-webkit-scrollbar-thumb:hover{background:#9ca3afb3}.animate-spin[data-v-c7a1641d]{animation:spin-c7a1641d 1s linear infinite}@keyframes spin-c7a1641d{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.space-y-4[data-v-c7a1641d]>*{animation:fadeInUp-c7a1641d .3s ease forwards}@keyframes fadeInUp-c7a1641d{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.bg-yellow-50[data-v-c7a1641d]{animation:slideInDown-c7a1641d .3s ease-out}@keyframes slideInDown-c7a1641d{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.bg-blue-50[data-v-c7a1641d]{animation:fadeIn-c7a1641d .3s ease-in-out}@keyframes fadeIn-c7a1641d{0%{opacity:0}to{opacity:1}} diff --git a/web/assets/TokenManagement-Cwst5YRl.js b/web/assets/TokenManagement-Cwst5YRl.js new file mode 100644 index 0000000..09910d0 --- /dev/null +++ b/web/assets/TokenManagement-Cwst5YRl.js @@ -0,0 +1 @@ +import{d as se,v as k,Z as le,o as te,h as I,z as t,T as M,j as a,I as l,C as o,u as s,f as u,F as ae,J as oe,P as ne,i as V,D as f,G as P,g as d}from"./index-BhaIiTEj.js";import{t as m,d as _,b as S,_ as h,a as re}from"./Sonner.vue_vue_type_script_setup_true_lang-BwfWndxy.js";import{_ as ie}from"./Input.vue_vue_type_script_setup_true_lang-CD5fb2oW.js";import{_ as j}from"./Label.vue_vue_type_script_setup_true_lang-D-_Evs0_.js";import{_ as D}from"./index-Catk2Spn.js";import{_ as de,a as ue,b as fe}from"./CardTitle.vue_vue_type_script_setup_true_lang-DBp3brf1.js";import{_ as E,b as U,c as N,d as F,e as v}from"./SelectValue.vue_vue_type_script_setup_true_lang-Dkj-rl5_.js";import{_ as H,a as me,b as pe,c as q,d as c,e as ve,f as x}from"./TableHeader.vue_vue_type_script_setup_true_lang-NIN1xtGv.js";import{a as G,b as J,c as O,d as Z,e as K,_ as Q}from"./DialogTitle.vue_vue_type_script_setup_true_lang-CF3XyDt2.js";import{_ as ke}from"./AdminLayout.vue_vue_type_script_setup_true_lang-B_6YVjYZ.js";import{_ as _e}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./useForwardExpose-CRFbVhil.js";import"./Teleport-DV_BGdH0.js";import"./PopperContent-MQwziWLW.js";import"./utils-BNRHOSl8.js";const ce={class:"mb-8"},xe={class:"md:flex md:items-center md:justify-between"},ye={class:"mt-4 flex md:mt-0 md:ml-4"},we={class:"flex items-center justify-between"},Te={key:0,class:"space-y-4"},ge={key:1,class:"text-center py-12"},be={key:2,class:"overflow-x-auto"},$e={key:0},Ce={key:1,class:"text-gray-500"},Ae={key:0},Me={key:1,class:"text-gray-500"},Ve={class:"flex items-center space-x-2"},ze={key:0,class:"w-4 h-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},Be={key:1,class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ie={key:0,class:"w-4 h-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},je={key:1,class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},De={key:0,class:"animate-spin -ml-1 mr-3 h-4 w-4",fill:"none",viewBox:"0 0 24 24"},He={key:0,class:"py-4"},Le={class:"bg-gray-50 p-4 rounded-lg border border-gray-200"},Pe={class:"flex items-center justify-between mb-3"},Se={class:"font-medium"},he={class:"space-y-2"},Ee={class:"flex items-center space-x-2"},Ue={class:"flex-1 p-2 bg-white border rounded text-sm font-mono break-all"},Ne={key:0,class:"mt-3 text-sm text-gray-600"},Fe=se({__name:"TokenManagement",setup(qe){const z=k(!0),B=k([]),y=k(!1),b=k(!1),w=k(!1),$=k(new Set),C=k(new Set),i=le({name:"",scope:"all",expireType:"never"}),p=k(null),T=async()=>{z.value=!0;try{const r=await M.getTokens();if(r.data.code===200)B.value=r.data.data;else throw new Error(r.data.msg||"获取 Token 列表失败")}catch(r){console.error("获取 Token 列表失败:",r),m.error(r.response?.data?.msg||"获取 Token 列表失败")}finally{z.value=!1}},L=async()=>{if(!i.name.trim()){m.warning("请输入 Token 名称");return}w.value=!0;try{const r={name:i.name.trim()};if(i.scope&&i.scope!=="all"&&(r.scope=i.scope),i.expireType&&i.expireType!=="never"){const n=parseInt(i.expireType),g=new Date;g.setDate(g.getDate()+n),r.expire_at=g.toISOString()}const e=await M.createToken(r);if(e.data.code===201)p.value=e.data.data,y.value=!1,b.value=!0,i.name="",i.scope="all",i.expireType="never",T(),m.success("Token 创建成功");else throw new Error(e.data.msg||"Token 创建失败")}catch(r){console.error("创建 Token 失败:",r),m.error(r.response?.data?.msg||"创建 Token 失败")}finally{w.value=!1}},R=async r=>{if(confirm(`确定要撤销 Token "${r.name}" 吗?撤销后将立即失效。`)){$.value.add(r.id);try{const e=await M.revokeToken(r.id);if(e.data.code===200)m.success("Token 已撤销"),T();else throw new Error(e.data.msg||"撤销失败")}catch(e){console.error("撤销 Token 失败:",e),m.error(e.response?.data?.msg||"撤销 Token 失败")}finally{$.value.delete(r.id)}}},W=async r=>{if(confirm(`确定要删除 Token "${r.name}" 吗?此操作不可撤销。`)){C.value.add(r.id);try{const e=await M.deleteToken(r.id);if(e.data.code===200)m.success("Token 删除成功"),T();else throw new Error(e.data.msg||"删除失败")}catch(e){console.error("删除 Token 失败:",e),m.error(e.response?.data?.msg||"删除 Token 失败")}finally{C.value.delete(r.id)}}},X=async()=>{p.value?.token&&(await P.copyToClipboard(p.value.token)?m.success("Token 已复制到剪贴板"):m.error("复制失败,请手动复制"))},Y=()=>{b.value=!1,p.value=null},ee=()=>{T(),m.success("数据已刷新")},A=r=>P.formatDate(r);return te(()=>{T()}),(r,e)=>(d(),I(ke,null,{default:t(()=>[a("div",ce,[a("div",xe,[e[9]||(e[9]=a("div",{class:"flex-1 min-w-0"},[a("h2",{class:"text-3xl font-bold text-gray-900"},"API Token 管理"),a("p",{class:"mt-2 text-gray-600"},"创建和管理 API 访问凭证")],-1)),a("div",ye,[l(s(_),{onClick:ee,variant:"outline",size:"sm",class:"mr-2"},{default:t(()=>[...e[7]||(e[7]=[a("svg",{class:"w-4 h-4 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[a("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})],-1),o(" 刷新 ",-1)])]),_:1}),l(s(_),{onClick:e[0]||(e[0]=n=>y.value=!0)},{default:t(()=>[...e[8]||(e[8]=[a("svg",{class:"w-4 h-4 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[a("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1),o(" 创建 Token ",-1)])]),_:1})])])]),l(s(h),{class:"mb-6 border-blue-200 bg-blue-50"},{default:t(()=>[l(s(S),{class:"pt-6"},{default:t(()=>[...e[10]||(e[10]=[a("div",{class:"flex"},[a("div",{class:"flex-shrink-0"},[a("svg",{class:"h-5 w-5 text-blue-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[a("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})])]),a("div",{class:"ml-3"},[a("h3",{class:"text-sm font-medium text-blue-800"},"API Token 使用说明"),a("div",{class:"mt-2 text-sm text-blue-700"},[a("ul",{class:"list-disc list-inside space-y-1"},[a("li",null,"API Token 用于程序化访问文件中转站的接口"),a("li",null,"Token 创建后只显示一次,请妥善保存"),a("li",null,"可以设置 Token 的权限范围和过期时间"),a("li",null,"被撤销的 Token 会立即失效,但记录会保留")])])])],-1)])]),_:1})]),_:1}),l(s(h),null,{default:t(()=>[l(s(de),null,{default:t(()=>[a("div",we,[a("div",null,[l(s(ue),null,{default:t(()=>[...e[11]||(e[11]=[o("API Token 列表",-1)])]),_:1}),l(s(fe),null,{default:t(()=>[...e[12]||(e[12]=[o(" 管理系统中的 API 访问凭证 ",-1)])]),_:1})])])]),_:1}),l(s(S),null,{default:t(()=>[z.value?(d(),u("div",Te,[l(s(H),{class:"h-4 w-full"}),l(s(H),{class:"h-4 w-3/4"}),l(s(H),{class:"h-4 w-1/2"})])):B.value.length===0?(d(),u("div",ge,[...e[13]||(e[13]=[a("svg",{class:"w-16 h-16 mx-auto text-gray-400 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[a("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 7a2 2 0 012 2m4 0a6 6 0 01-7.743 5.743L11 17H9v2H7v2H4a1 1 0 01-1-1v-2.586a1 1 0 01.293-.707l5.964-5.964A6 6 0 1121 9z"})],-1),a("p",{class:"text-gray-500 text-lg"},"暂无 API Token",-1),a("p",{class:"text-gray-400 text-sm"},"点击上方按钮创建第一个 Token",-1)])])):(d(),u("div",be,[l(s(me),null,{default:t(()=>[l(s(pe),null,{default:t(()=>[l(s(q),null,{default:t(()=>[l(s(c),null,{default:t(()=>[...e[14]||(e[14]=[o("名称",-1)])]),_:1}),l(s(c),null,{default:t(()=>[...e[15]||(e[15]=[o("权限范围",-1)])]),_:1}),l(s(c),null,{default:t(()=>[...e[16]||(e[16]=[o("状态",-1)])]),_:1}),l(s(c),null,{default:t(()=>[...e[17]||(e[17]=[o("创建时间",-1)])]),_:1}),l(s(c),null,{default:t(()=>[...e[18]||(e[18]=[o("最后使用",-1)])]),_:1}),l(s(c),null,{default:t(()=>[...e[19]||(e[19]=[o("过期时间",-1)])]),_:1}),l(s(c),{class:"text-center"},{default:t(()=>[...e[20]||(e[20]=[o("操作",-1)])]),_:1})]),_:1})]),_:1}),l(s(ve),null,{default:t(()=>[(d(!0),u(ae,null,oe(B.value,n=>(d(),I(s(q),{key:n.id,class:"hover:bg-gray-50"},{default:t(()=>[l(s(x),{class:"font-medium"},{default:t(()=>[o(f(n.name),1)]),_:2},1024),l(s(x),null,{default:t(()=>[l(s(D),{variant:"outline"},{default:t(()=>[o(f(n.scope||"ALL"),1)]),_:2},1024)]),_:2},1024),l(s(x),null,{default:t(()=>[l(s(D),{variant:n.revoked?"destructive":"default"},{default:t(()=>[o(f(n.revoked?"已撤销":"活跃"),1)]),_:2},1032,["variant"])]),_:2},1024),l(s(x),null,{default:t(()=>[o(f(A(n.created_at)),1)]),_:2},1024),l(s(x),null,{default:t(()=>[n.last_used_at?(d(),u("span",$e,f(A(n.last_used_at)),1)):(d(),u("span",Ce,"从未使用"))]),_:2},1024),l(s(x),null,{default:t(()=>[n.expire_at?(d(),u("span",Ae,f(A(n.expire_at)),1)):(d(),u("span",Me,"永不过期"))]),_:2},1024),l(s(x),null,{default:t(()=>[a("div",Ve,[n.revoked?V("",!0):(d(),I(s(_),{key:0,variant:"outline",size:"sm",onClick:g=>R(n),disabled:$.value.has(n.id)},{default:t(()=>[$.value.has(n.id)?(d(),u("svg",ze,[...e[21]||(e[21]=[a("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),a("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 0 1 8-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 0 1 4 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):(d(),u("svg",Be,[...e[22]||(e[22]=[a("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M18.364 18.364A9 9 0 005.636 5.636m12.728 12.728L5.636 5.636m12.728 12.728L18.364 5.636M5.636 18.364l12.728-12.728"},null,-1)])])),e[23]||(e[23]=o(" 撤销 ",-1))]),_:2},1032,["onClick","disabled"])),l(s(_),{variant:"destructive",size:"sm",onClick:g=>W(n),disabled:C.value.has(n.id)},{default:t(()=>[C.value.has(n.id)?(d(),u("svg",Ie,[...e[24]||(e[24]=[a("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),a("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 0 1 8-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 0 1 4 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):(d(),u("svg",je,[...e[25]||(e[25]=[a("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"},null,-1)])])),e[26]||(e[26]=o(" 删除 ",-1))]),_:2},1032,["onClick","disabled"])])]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]))]),_:1})]),_:1}),l(s(Q),{open:y.value,"onUpdate:open":e[5]||(e[5]=n=>y.value=n)},{default:t(()=>[l(s(G),{class:"sm:max-w-[500px]"},{default:t(()=>[l(s(J),null,{default:t(()=>[l(s(O),null,{default:t(()=>[...e[27]||(e[27]=[o("创建 API Token",-1)])]),_:1}),l(s(Z),null,{default:t(()=>[...e[28]||(e[28]=[o(" 创建新的 API 访问凭证 ",-1)])]),_:1})]),_:1}),a("form",{onSubmit:ne(L,["prevent"]),class:"py-4 space-y-4"},[a("div",null,[l(s(j),{for:"token-name"},{default:t(()=>[...e[29]||(e[29]=[o("Token 名称 *",-1)])]),_:1}),l(s(ie),{id:"token-name",modelValue:i.name,"onUpdate:modelValue":e[1]||(e[1]=n=>i.name=n),placeholder:"为这个 Token 起一个名字...",required:""},null,8,["modelValue"])]),a("div",null,[l(s(j),{for:"token-scope"},{default:t(()=>[...e[30]||(e[30]=[o("权限范围",-1)])]),_:1}),l(s(E),{modelValue:i.scope,"onUpdate:modelValue":e[2]||(e[2]=n=>i.scope=n)},{default:t(()=>[l(s(U),{class:"mt-1.5"},{default:t(()=>[l(s(N),{placeholder:"选择权限范围"})]),_:1}),l(s(F),null,{default:t(()=>[l(s(v),{value:"all"},{default:t(()=>[...e[31]||(e[31]=[o("全部权限",-1)])]),_:1}),l(s(v),{value:"upload"},{default:t(()=>[...e[32]||(e[32]=[o("仅上传",-1)])]),_:1}),l(s(v),{value:"pickup"},{default:t(()=>[...e[33]||(e[33]=[o("仅下载",-1)])]),_:1}),l(s(v),{value:"upload,pickup"},{default:t(()=>[...e[34]||(e[34]=[o("上传和下载",-1)])]),_:1})]),_:1})]),_:1},8,["modelValue"]),e[35]||(e[35]=a("p",{class:"text-xs text-gray-500 mt-1"}," 限制此 Token 可以访问的功能范围 ",-1))]),a("div",null,[l(s(j),{for:"token-expire"},{default:t(()=>[...e[36]||(e[36]=[o("过期时间",-1)])]),_:1}),l(s(E),{modelValue:i.expireType,"onUpdate:modelValue":e[3]||(e[3]=n=>i.expireType=n)},{default:t(()=>[l(s(U),{class:"mt-1.5"},{default:t(()=>[l(s(N),{placeholder:"选择过期策略"})]),_:1}),l(s(F),null,{default:t(()=>[l(s(v),{value:"never"},{default:t(()=>[...e[37]||(e[37]=[o("永不过期",-1)])]),_:1}),l(s(v),{value:"7"},{default:t(()=>[...e[38]||(e[38]=[o("7 天后过期",-1)])]),_:1}),l(s(v),{value:"30"},{default:t(()=>[...e[39]||(e[39]=[o("30 天后过期",-1)])]),_:1}),l(s(v),{value:"90"},{default:t(()=>[...e[40]||(e[40]=[o("90 天后过期",-1)])]),_:1}),l(s(v),{value:"365"},{default:t(()=>[...e[41]||(e[41]=[o("1 年后过期",-1)])]),_:1})]),_:1})]),_:1},8,["modelValue"])])],32),l(s(K),null,{default:t(()=>[l(s(_),{variant:"outline",onClick:e[4]||(e[4]=n=>y.value=!1)},{default:t(()=>[...e[42]||(e[42]=[o(" 取消 ",-1)])]),_:1}),l(s(_),{onClick:L,disabled:w.value||!i.name.trim()},{default:t(()=>[w.value?(d(),u("svg",De,[...e[43]||(e[43]=[a("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),a("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 0 1 8-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 0 1 4 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):V("",!0),o(" "+f(w.value?"创建中...":"创建 Token"),1)]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["open"]),l(s(Q),{open:b.value,"onUpdate:open":e[6]||(e[6]=n=>b.value=n)},{default:t(()=>[l(s(G),{class:"sm:max-w-[600px]"},{default:t(()=>[l(s(J),null,{default:t(()=>[l(s(O),{class:"text-green-600"},{default:t(()=>[...e[44]||(e[44]=[o("Token 创建成功",-1)])]),_:1}),l(s(Z),null,{default:t(()=>[...e[45]||(e[45]=[o(" 请妥善保存以下 Token,它只会显示一次 ",-1)])]),_:1})]),_:1}),p.value?(d(),u("div",He,[a("div",Le,[a("div",Pe,[a("div",null,[e[46]||(e[46]=a("p",{class:"text-sm text-gray-600"},"Token 名称",-1)),a("p",Se,f(p.value.data.name),1)]),l(s(D),{variant:"outline"},{default:t(()=>[o(f(p.value.data.scope||"ALL"),1)]),_:1})]),a("div",he,[e[48]||(e[48]=a("p",{class:"text-sm text-gray-600"},"API Token",-1)),a("div",Ee,[a("code",Ue,f(p.value.token),1),l(s(_),{onClick:X,variant:"outline",size:"sm"},{default:t(()=>[...e[47]||(e[47]=[a("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[a("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})],-1)])]),_:1})])]),p.value.data.expire_at?(d(),u("div",Ne," 过期时间: "+f(A(p.value.data.expire_at)),1)):V("",!0)]),e[49]||(e[49]=a("div",{class:"mt-4 p-4 bg-yellow-50 border border-yellow-200 rounded-lg"},[a("div",{class:"flex"},[a("div",{class:"flex-shrink-0"},[a("svg",{class:"h-5 w-5 text-yellow-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[a("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z"})])]),a("div",{class:"ml-3"},[a("p",{class:"text-sm font-medium text-yellow-800"},"重要提醒"),a("p",{class:"text-sm text-yellow-700 mt-1"}," 此 Token 只显示一次,关闭对话框后将无法再次查看。请确保已妥善保存。 ")])])],-1))])):V("",!0),l(s(K),null,{default:t(()=>[l(s(_),{onClick:Y},{default:t(()=>[...e[50]||(e[50]=[o(" 我已保存,关闭 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["open"]),l(s(re))]),_:1}))}}),os=_e(Fe,[["__scopeId","data-v-c7a1641d"]]);export{os as default}; diff --git a/web/assets/UploadPage-CvW4R7Fy.css b/web/assets/UploadPage-CvW4R7Fy.css new file mode 100644 index 0000000..ea2e9bc --- /dev/null +++ b/web/assets/UploadPage-CvW4R7Fy.css @@ -0,0 +1 @@ +.container[data-v-4101ad79]{max-width:1200px}.border-blue-400[data-v-4101ad79]{border-color:#60a5fa}.bg-blue-50[data-v-4101ad79]{background-color:#eff6ff}.animate-spin[data-v-4101ad79]{animation:spin-4101ad79 1s linear infinite}@keyframes spin-4101ad79{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.shadow-lg[data-v-4101ad79]{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.overflow-y-auto[data-v-4101ad79]{scrollbar-width:thin;scrollbar-color:rgba(156,163,175,.5) transparent}.overflow-y-auto[data-v-4101ad79]::-webkit-scrollbar{width:8px}.overflow-y-auto[data-v-4101ad79]::-webkit-scrollbar-track{background:transparent}.overflow-y-auto[data-v-4101ad79]::-webkit-scrollbar-thumb{background:#9ca3af80;border-radius:4px} diff --git a/web/assets/UploadPage-t63bWSjh.js b/web/assets/UploadPage-t63bWSjh.js new file mode 100644 index 0000000..61293f7 --- /dev/null +++ b/web/assets/UploadPage-t63bWSjh.js @@ -0,0 +1,6 @@ +import{d as H,w as Y,c as oe,h as S,g as p,z as r,k as re,u as a,M as Ve,l as ne,I as o,p as $e,v as h,G as I,f as w,j as t,n as M,C as d,N as Z,i as j,O as ee,P as R,D as c,E as Me,F as A,J as q,Q as ze,L as te,K as Fe,x as C}from"./index-BhaIiTEj.js";import{P as ie,r as je,c as De,_ as U,a as Be,b as O,d as z,t as b}from"./Sonner.vue_vue_type_script_setup_true_lang-BwfWndxy.js";import{_ as ae}from"./Label.vue_vue_type_script_setup_true_lang-D-_Evs0_.js";import{_ as se}from"./Textarea.vue_vue_type_script_setup_true_lang-CwxB1PfH.js";import{_ as K,a as X,b as G}from"./CardTitle.vue_vue_type_script_setup_true_lang-DBp3brf1.js";import{_ as Pe,a as Ie,b as Se,c as Te,d as Le,e as Ne}from"./DialogTitle.vue_vue_type_script_setup_true_lang-CF3XyDt2.js";import{i as ue,c as Ee}from"./Teleport-DV_BGdH0.js";import{u as de,d as le}from"./useForwardExpose-CRFbVhil.js";import{_ as He}from"./NavBar.vue_vue_type_script_setup_true_lang-B5iz8PFz.js";import{_ as Re}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./utils-BNRHOSl8.js";const T=100,[Ae,qe]=Ee("ProgressRoot"),E=i=>typeof i=="number";function Ue(i,_){return ue(i)||E(i)&&!Number.isNaN(i)&&i<=_&&i>=0?i:(console.error(`Invalid prop \`value\` of value \`${i}\` supplied to \`ProgressRoot\`. The \`value\` prop must be: + - a positive number + - less than the value passed to \`max\` (or ${T} if no \`max\` prop is set) + - \`null\` or \`undefined\` if the progress is indeterminate. + +Defaulting to \`null\`.`),null)}function Oe(i){return E(i)&&!Number.isNaN(i)&&i>0?i:(console.error(`Invalid prop \`max\` of value \`${i}\` supplied to \`ProgressRoot\`. Only numbers greater than 0 are valid max values. Defaulting to \`${T}\`.`),T)}var Ke=H({__name:"ProgressRoot",props:{modelValue:{type:[Number,null],required:!1},max:{type:Number,required:!1,default:T},getValueLabel:{type:Function,required:!1,default:(i,_)=>E(i)?`${Math.round(i/_*T)}%`:void 0},getValueText:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:modelValue","update:max"],setup(i,{emit:_}){const u=i,V=_;de();const n=le(u,"modelValue",V,{passive:u.modelValue===void 0}),g=le(u,"max",V,{passive:u.max===void 0});Y(()=>n.value,async v=>{const m=Ue(v,u.max);m!==v&&(await Ve(),n.value=m)},{immediate:!0}),Y(()=>u.max,v=>{const m=Oe(u.max);m!==v&&(g.value=m)},{immediate:!0});const f=oe(()=>ue(n.value)?"indeterminate":n.value===g.value?"complete":"loading");return qe({modelValue:n,max:g,progressState:f}),(v,m)=>(p(),S(a(ie),{"as-child":v.asChild,as:v.as,"aria-valuemax":a(g),"aria-valuemin":0,"aria-valuenow":E(a(n))?a(n):void 0,"aria-valuetext":v.getValueText?.(a(n),a(g)),"aria-label":v.getValueLabel(a(n),a(g)),role:"progressbar","data-state":f.value,"data-value":a(n)??void 0,"data-max":a(g)},{default:r(()=>[re(v.$slots,"default",{modelValue:a(n)})]),_:3},8,["as-child","as","aria-valuemax","aria-valuenow","aria-valuetext","aria-label","data-state","data-value","data-max"]))}}),Xe=Ke,Ge=H({__name:"ProgressIndicator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(i){const _=i,u=Ae();return de(),(V,n)=>(p(),S(a(ie),ne(_,{"data-state":a(u).progressState.value,"data-value":a(u).modelValue?.value??void 0,"data-max":a(u).max.value}),{default:r(()=>[re(V.$slots,"default")]),_:3},16,["data-state","data-value","data-max"]))}}),Je=Ge;const Qe=H({__name:"Progress",props:{modelValue:{default:0},max:{},getValueLabel:{},getValueText:{},asChild:{type:Boolean},as:{},class:{}},setup(i){const _=i,u=je(_,"class");return(V,n)=>(p(),S(a(Xe),ne({"data-slot":"progress"},a(u),{class:a(De)("bg-primary/20 relative h-2 w-full overflow-hidden rounded-full",_.class)}),{default:r(()=>[o(a(Je),{"data-slot":"progress-indicator",class:"bg-primary h-full w-full flex-1 transition-all",style:$e(`transform: translateX(-${100-(_.modelValue??0)}%);`)},null,8,["style"])]),_:1},16,["class"]))}}),We={class:"min-h-screen bg-gradient-to-br from-blue-50 via-white to-purple-50"},Ye={class:"container mx-auto px-4 py-6"},Ze={class:"max-w-4xl mx-auto"},et={class:"w-full"},tt={class:"flex gap-2 mb-6"},at={class:"space-y-4"},st={class:"space-y-3"},lt={class:"space-y-0.5"},ot={class:"text-xs text-gray-500"},rt={key:0,class:"mt-4"},nt={class:"flex items-center justify-between mb-2"},it={class:"text-xs font-medium text-gray-700"},ut={class:"space-y-1.5 max-h-40 overflow-y-auto"},dt={class:"flex items-center space-x-2 flex-1 min-w-0"},vt={class:"w-7 h-7 rounded bg-blue-100 flex items-center justify-center flex-shrink-0"},ct={class:"flex-1 min-w-0"},mt={class:"text-xs font-medium text-gray-900 truncate"},pt={class:"text-xs text-gray-500"},ft=["onClick"],xt={class:"space-y-3"},gt={class:"mt-2 flex justify-between text-sm text-gray-500"},_t={class:"grid grid-cols-1 sm:grid-cols-2 gap-4"},bt={class:"flex flex-wrap gap-1.5"},ht=["onClick"],wt={class:"flex flex-wrap gap-1.5"},yt=["onClick"],kt={class:"flex gap-2 pt-2"},Ct={key:0,class:"animate-spin -ml-1 mr-2 h-4 w-4",fill:"none",viewBox:"0 0 24 24"},Vt={key:0,class:"space-y-2 mt-3 p-3 bg-blue-50 rounded-lg"},$t={class:"flex justify-between text-xs font-medium"},Mt={class:"text-blue-600"},zt={class:"text-blue-700"},Ft={class:"flex flex-col items-center mb-4"},jt={class:"py-6"},Dt={class:"bg-gradient-to-br from-blue-50 to-purple-50 p-6 rounded-xl border-2 border-blue-200 shadow-inner"},Bt={class:"text-center"},Pt={class:"text-3xl font-mono font-bold text-transparent bg-clip-text bg-gradient-to-r from-blue-600 to-purple-600 tracking-[0.3em] mb-4"},It={class:"mt-6 space-y-2 bg-gray-50 p-4 rounded-lg"},St={key:0,class:"flex items-center text-sm text-gray-600"},Tt={key:1,class:"flex items-center text-sm text-gray-600"},Lt=H({__name:"UploadPage",setup(i){const _=ze(),u=Me(),{config:V}=u,n=h("file"),g=h(!1),f=h([]),v=h(""),m=h("time"),D=h("7"),B=h("3"),P=h(""),$=h(!1),y=h(0),L=h(!1),k=h(null),N=h(null),ve=oe(()=>{const l=f.value.reduce((e,s)=>e+s.size,0);return I.formatFileSize(l)}),ce=()=>{N.value?.click()},me=l=>{const s=l.target.files;s&&J(Array.from(s))},pe=l=>{g.value=!1;const e=l.dataTransfer?.files;e&&J(Array.from(e))},J=l=>{const e=l.filter(x=>!f.value.some(F=>F.name===x.name&&F.size===x.size));e.length>0&&(f.value.push(...e),b.success(`添加了 ${e.length} 个文件`));const s=e.filter(x=>!u.validateFileSize(x));s.length>0&&b.warning(`${s.length} 个文件超过 ${u.getFileSizeLimit()} 限制`),u.validateFileCount(f.value)||b.warning(`最多只能上传 ${V.value.upload?.max_batch_files||10} 个文件`)},fe=l=>{f.value.splice(l,1)},Q=()=>{f.value=[],N.value&&(N.value.value="")},xe=async()=>{if(f.value.length===0){b.warning("请先选择要上传的文件");return}$.value=!0,y.value=0;try{const l=new FormData;f.value.forEach(x=>{l.append("files",x)});const e={expire_type:m.value,[m.value==="time"?"expire_days":"max_downloads"]:m.value==="time"?parseInt(D.value):parseInt(B.value),remark:P.value.trim()||void 0};Object.entries(e).forEach(([x,F])=>{F!==void 0&&l.append(x,String(F))});const s=await te.uploadFiles(l,{onUploadProgress:x=>{x.total&&(y.value=Math.round(x.loaded/x.total*100))}});if(s.data.code===200)k.value=s.data.data,L.value=!0,b.success("文件上传成功!");else throw new Error(s.data.msg||"上传失败")}catch(l){W(l,"文件上传失败")}finally{$.value=!1,y.value=0}},ge=async()=>{try{const l=await navigator.clipboard.readText();l.trim()?(v.value=l,b.success("已粘贴文本内容")):b.warning("剪贴板中没有内容")}catch{b.error("读取剪贴板失败")}},_e=async()=>{if(!v.value.trim()){b.warning("请输入文本内容");return}$.value=!0,y.value=0;const l=setInterval(()=>{y.value<90&&(y.value+=10)},100);try{const e={content:v.value.trim(),expire_type:m.value,[m.value==="time"?"expire_days":"max_downloads"]:m.value==="time"?parseInt(D.value):parseInt(B.value),remark:P.value.trim()||void 0},s=await te.uploadText(e);if(s.data.code===200)y.value=100,k.value=s.data.data,L.value=!0,b.success("文本保存成功!");else throw new Error(s.data.msg||"保存失败")}catch(e){W(e,"文本保存失败")}finally{clearInterval(l),$.value=!1,y.value=0}},W=(l,e)=>{l.response?.status>=400&&l.response?.status<500?b.error(l.response?.data?.msg||e):(console.error(`${e}:`,l),b.error(l.response?.data?.msg||`${e},请重试`))},be=async()=>{k.value?.pickup_code&&(await I.copyToClipboard(k.value.pickup_code)?b.success("取件码已复制到剪贴板"):b.error("复制失败,请手动复制"))},he=()=>{L.value=!1,k.value=null,n.value==="file"?Q():v.value="",m.value="time",D.value="7",B.value="3",P.value=""},we=()=>$.value?n.value==="file"?`上传中... ${y.value}%`:`保存中... ${y.value}%`:n.value==="file"?`上传 ${f.value.length} 个文件`:"保存文本",ye=l=>I.formatFileSize(l),ke=l=>I.formatDate(l),Ce=l=>{const e=I.getFileTypeIcon(l),s={image:()=>C("svg",{fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[C("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"})]),video:()=>C("svg",{fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[C("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 10l4.553-2.276A1 1 0 0121 8.618v6.764a1 1 0 01-1.447.894L15 14M5 18h8a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z"})]),audio:()=>C("svg",{fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[C("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 19V6l12-3v13M9 19c0 1.105-1.343 2-3 2s-3-.895-3-2 1.343-2 3-2 3 .895 3 2zm12-3c0 1.105-1.343 2-3 2s-3-.895-3-2 1.343-2 3-2 3 .895 3 2zM9 10l12-3"})]),archive:()=>C("svg",{fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[C("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 8l4 4 4-4m6-4v12a2 2 0 01-2 2H7a2 2 0 01-2-2V4a2 2 0 012-2h10a2 2 0 012 2z"})]),file:()=>C("svg",{fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[C("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})])};return s[e]||s.file};return(l,e)=>(p(),w("div",We,[o(He,{showDescription:!0}),t("div",Ye,[t("div",Ze,[t("div",et,[t("div",tt,[t("button",{onClick:e[0]||(e[0]=s=>n.value="file"),class:M(["flex-1 flex items-center justify-center py-2.5 px-4 text-sm font-medium rounded-lg transition-colors",n.value==="file"?"bg-blue-600 text-white":"bg-white text-gray-700 border border-gray-300 hover:bg-gray-50"])},[...e[11]||(e[11]=[t("svg",{class:"w-4 h-4 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})],-1),d(" 文件上传 ",-1)])],2),t("button",{onClick:e[1]||(e[1]=s=>n.value="text"),class:M(["flex-1 flex items-center justify-center py-2.5 px-4 text-sm font-medium rounded-lg transition-colors",n.value==="text"?"bg-blue-600 text-white":"bg-white text-gray-700 border border-gray-300 hover:bg-gray-50"])},[...e[12]||(e[12]=[t("svg",{class:"w-4 h-4 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h8a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"})],-1),d(" 文本保存 ",-1)])],2)]),t("div",at,[Z(t("div",st,[o(a(U),{class:"shadow-sm"},{default:r(()=>[o(a(K),{class:"pb-2"},{default:r(()=>[o(a(X),{class:"text-base font-semibold"},{default:r(()=>[...e[13]||(e[13]=[d("选择文件",-1)])]),_:1}),o(a(G),{class:"text-xs"},{default:r(()=>[...e[14]||(e[14]=[d(" 支持拖拽或点击选择,可批量上传 ",-1)])]),_:1})]),_:1}),o(a(O),{class:"pt-2"},{default:r(()=>[t("div",{class:M(["border-2 border-dashed rounded-lg p-6 text-center transition-colors cursor-pointer",{"border-blue-500 bg-blue-50":g.value,"border-gray-300 hover:border-blue-400 hover:bg-gray-50":!g.value}]),onClick:ce,onDragover:e[2]||(e[2]=R(s=>g.value=!0,["prevent"])),onDragleave:e[3]||(e[3]=R(s=>g.value=!1,["prevent"])),onDrop:R(pe,["prevent"])},[t("input",{ref_key:"fileInput",ref:N,type:"file",multiple:"",class:"hidden",onChange:me},null,544),(p(),w("svg",{class:M(["mx-auto h-10 w-10 mb-2",g.value?"text-blue-600":"text-gray-400"]),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[...e[15]||(e[15]=[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12"},null,-1)])],2)),t("div",lt,[t("p",{class:M(["text-sm font-medium",g.value?"text-blue-600":"text-gray-700"])},c(g.value?"释放文件到此处":"点击或拖拽文件到此处"),3),t("p",ot," 支持任意格式文件,单文件最大 "+c(a(u).getFileSizeLimit())+",最多 "+c(a(V).upload?.max_batch_files||10)+" 个文件 ",1)])],34),f.value.length>0?(p(),w("div",rt,[t("div",nt,[t("h3",it," 已选择 "+c(f.value.length)+" 个文件 ("+c(ve.value)+") ",1),o(a(z),{onClick:Q,variant:"ghost",size:"sm",class:"h-7 text-xs"},{default:r(()=>[...e[16]||(e[16]=[d(" 清空 ",-1)])]),_:1})]),t("div",ut,[(p(!0),w(A,null,q(f.value,(s,x)=>(p(),w("div",{key:x,class:"flex items-center justify-between p-2 bg-gray-50 rounded hover:bg-gray-100"},[t("div",dt,[t("div",vt,[(p(),S(Fe(Ce(s.name)),{class:"w-3.5 h-3.5 text-blue-600"}))]),t("div",ct,[t("p",mt,c(s.name),1),t("p",pt,c(ye(s.size)),1)])]),t("button",{onClick:F=>fe(x),class:"p-1 text-gray-400 hover:text-red-600 transition-colors"},[...e[17]||(e[17]=[t("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])],8,ft)]))),128))])])):j("",!0)]),_:1})]),_:1})],512),[[ee,n.value==="file"]]),Z(t("div",xt,[o(a(U),{class:"shadow-sm"},{default:r(()=>[o(a(K),{class:"pb-2"},{default:r(()=>[o(a(X),{class:"text-base font-semibold"},{default:r(()=>[...e[18]||(e[18]=[d("输入文本内容",-1)])]),_:1}),o(a(G),{class:"text-xs"},{default:r(()=>[...e[19]||(e[19]=[d(" 输入要保存和分享的文本 ",-1)])]),_:1})]),_:1}),o(a(O),{class:"pt-2"},{default:r(()=>[t("div",null,[o(a(se),{modelValue:v.value,"onUpdate:modelValue":e[4]||(e[4]=s=>v.value=s),placeholder:"请输入要保存的文本内容...",class:"min-h-[180px] resize-none text-sm",rows:"8"},null,8,["modelValue"]),t("div",gt,[t("span",null,c(v.value.length)+" 个字符",1),o(a(z),{onClick:ge,variant:"ghost",size:"sm"},{default:r(()=>[...e[20]||(e[20]=[t("svg",{class:"w-4 h-4 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5H7a2 2 0 00-2 2v10a2 2 0 002 2h8a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"})],-1),d(" 粘贴 ",-1)])]),_:1})])])]),_:1})]),_:1})],512),[[ee,n.value==="text"]]),(n.value==="file"?f.value.length>0:v.value.trim())?(p(),S(a(U),{key:0,class:"shadow-sm border-t-2 border-t-blue-500"},{default:r(()=>[o(a(K),{class:"pb-3"},{default:r(()=>[o(a(X),{class:"text-base font-semibold"},{default:r(()=>[d(c(n.value==="file"?"上传":"保存")+"配置",1)]),_:1}),o(a(G),{class:"text-xs"},{default:r(()=>[...e[21]||(e[21]=[d("设置过期策略和备注信息",-1)])]),_:1})]),_:1}),o(a(O),{class:"space-y-4 pt-0"},{default:r(()=>[t("div",null,[o(a(ae),{class:"text-sm font-semibold text-gray-900 mb-3 block"},{default:r(()=>[...e[22]||(e[22]=[d("过期策略",-1)])]),_:1}),t("div",_t,[t("div",null,[e[23]||(e[23]=t("div",{class:"text-xs text-gray-600 mb-2 font-medium"},"按时间过期",-1)),t("div",bt,[(p(!0),w(A,null,q(a(u).getExpireOptions().filter(s=>s.value>0),s=>(p(),w("button",{key:"time-"+s.value,onClick:x=>{m.value="time",D.value=String(s.value)},class:M(["px-2.5 py-1 text-xs font-medium rounded-full transition-all",m.value==="time"&&D.value===String(s.value)?"bg-blue-600 text-white shadow-sm":"bg-gray-100 text-gray-700 hover:bg-gray-200"])},c(s.label)+"后 ",11,ht))),128))])]),t("div",null,[e[24]||(e[24]=t("div",{class:"text-xs text-gray-600 mb-2 font-medium"},"按次数删除",-1)),t("div",wt,[(p(!0),w(A,null,q(a(u).getDownloadOptions().filter(s=>s.value>0),s=>(p(),w("button",{key:"download-"+s.value,onClick:x=>{m.value="download",B.value=String(s.value)},class:M(["px-2.5 py-1 text-xs font-medium rounded-full transition-all",m.value==="download"&&B.value===String(s.value)?"bg-purple-600 text-white shadow-sm":"bg-gray-100 text-gray-700 hover:bg-gray-200"])},c(s.label)+"后删除 ",11,yt))),128))])])])]),t("div",null,[o(a(ae),{for:"remark",class:"text-sm font-semibold text-gray-900 mb-2 block"},{default:r(()=>[...e[25]||(e[25]=[d("备注(可选)",-1)])]),_:1}),o(a(se),{id:"remark",modelValue:P.value,"onUpdate:modelValue":e[5]||(e[5]=s=>P.value=s),placeholder:"添加备注说明...",class:"resize-none text-sm h-16",rows:"2"},null,8,["modelValue"])]),t("div",kt,[o(a(z),{onClick:e[6]||(e[6]=s=>n.value==="file"?xe():_e()),disabled:$.value||(n.value==="file"?f.value.length===0:!v.value.trim()),class:"flex-1 bg-blue-600 hover:bg-blue-700"},{default:r(()=>[$.value?(p(),w("svg",Ct,[...e[26]||(e[26]=[t("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),t("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 0 1 8-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 0 1 4 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):j("",!0),d(" "+c(we()),1)]),_:1},8,["disabled"]),o(a(z),{onClick:e[7]||(e[7]=s=>a(_).push("/")),variant:"outline"},{default:r(()=>[...e[27]||(e[27]=[d(" 返回 ",-1)])]),_:1})]),$.value?(p(),w("div",Vt,[t("div",$t,[t("span",Mt,c(n.value==="file"?"上传":"保存")+"进度",1),t("span",zt,c(y.value)+"%",1)]),o(a(Qe),{value:y.value,class:"h-2"},null,8,["value"]),e[28]||(e[28]=t("p",{class:"text-xs text-blue-600 text-center"},"请勿关闭页面",-1))])):j("",!0)]),_:1})]),_:1})):j("",!0)])]),o(a(Pe),{open:L.value},{default:r(()=>[o(a(Ie),{class:"sm:max-w-[500px]",onInteractOutside:e[9]||(e[9]=s=>s.preventDefault()),onEscapeKeyDown:e[10]||(e[10]=s=>s.preventDefault())},{default:r(()=>[o(a(Se),null,{default:r(()=>[t("div",Ft,[e[29]||(e[29]=t("div",{class:"w-16 h-16 rounded-full bg-green-100 flex items-center justify-center mb-4"},[t("svg",{class:"w-8 h-8 text-green-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"})])],-1)),o(a(Te),{class:"text-2xl text-gray-900 text-center"},{default:r(()=>[d(c(n.value==="file"?"文件上传成功":"文本保存成功"),1)]),_:1})]),o(a(Le),{class:"text-center"},{default:r(()=>[...e[30]||(e[30]=[d(" 您的内容已成功保存,请妥善保管取件码 ",-1)])]),_:1})]),_:1}),t("div",jt,[t("div",Dt,[t("div",Bt,[e[32]||(e[32]=t("p",{class:"text-sm text-gray-600 mb-3 font-medium"},"取件码",-1)),t("p",Pt,c(k.value?.pickup_code),1),o(a(z),{onClick:be,class:"w-full bg-gradient-to-r from-blue-500 to-purple-500 hover:from-blue-600 hover:to-purple-600 text-white shadow-lg"},{default:r(()=>[...e[31]||(e[31]=[t("svg",{class:"w-4 h-4 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})],-1),d(" 复制取件码 ",-1)])]),_:1})])]),t("div",It,[k.value?.expire_at?(p(),w("div",St,[e[33]||(e[33]=t("svg",{class:"w-4 h-4 mr-2 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),d(" 过期时间: "+c(ke(k.value.expire_at)),1)])):j("",!0),k.value?.max_downloads?(p(),w("div",Tt,[e[34]||(e[34]=t("svg",{class:"w-4 h-4 mr-2 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"})],-1)),d(" 最大访问次数: "+c(k.value.max_downloads),1)])):j("",!0)])]),o(a(Ne),{class:"sm:space-x-2 space-y-2 sm:space-y-0"},{default:r(()=>[o(a(z),{onClick:he,variant:"outline",class:"w-full sm:w-auto"},{default:r(()=>[d(" 继续"+c(n.value==="file"?"上传":"保存"),1)]),_:1}),o(a(z),{onClick:e[8]||(e[8]=s=>a(_).push("/")),class:"w-full sm:w-auto bg-gradient-to-r from-blue-500 to-purple-500 hover:from-blue-600 hover:to-purple-600 text-white"},{default:r(()=>[...e[35]||(e[35]=[d(" 返回首页 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["open"])])]),o(a(Be))]))}}),Jt=Re(Lt,[["__scopeId","data-v-4101ad79"]]);export{Jt as default}; diff --git a/web/assets/_plugin-vue_export-helper-DlAUqK2U.js b/web/assets/_plugin-vue_export-helper-DlAUqK2U.js new file mode 100644 index 0000000..718edd3 --- /dev/null +++ b/web/assets/_plugin-vue_export-helper-DlAUqK2U.js @@ -0,0 +1 @@ +const s=(t,r)=>{const o=t.__vccOpts||t;for(const[c,e]of r)o[c]=e;return o};export{s as _}; diff --git a/web/assets/index-BhaIiTEj.js b/web/assets/index-BhaIiTEj.js new file mode 100644 index 0000000..be278e0 --- /dev/null +++ b/web/assets/index-BhaIiTEj.js @@ -0,0 +1,7 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/HomePage-7MZxEK4U.js","assets/Sonner.vue_vue_type_script_setup_true_lang-BwfWndxy.js","assets/index-Catk2Spn.js","assets/CardTitle.vue_vue_type_script_setup_true_lang-DBp3brf1.js","assets/Teleport-DV_BGdH0.js","assets/useForwardExpose-CRFbVhil.js","assets/PopoverTrigger.vue_vue_type_script_setup_true_lang-Dc9Inee9.js","assets/PopperContent-MQwziWLW.js","assets/NavBar.vue_vue_type_script_setup_true_lang-B5iz8PFz.js","assets/_plugin-vue_export-helper-DlAUqK2U.js","assets/HomePage-CzsVSF8w.css","assets/UploadPage-t63bWSjh.js","assets/Label.vue_vue_type_script_setup_true_lang-D-_Evs0_.js","assets/Textarea.vue_vue_type_script_setup_true_lang-CwxB1PfH.js","assets/DialogTitle.vue_vue_type_script_setup_true_lang-CF3XyDt2.js","assets/utils-BNRHOSl8.js","assets/UploadPage-CvW4R7Fy.css","assets/AdminLogin-DALRrCFv.js","assets/Input.vue_vue_type_script_setup_true_lang-CD5fb2oW.js","assets/AdminLogin-BBr6yhKu.css","assets/AdminDashboard-B71bpyA0.js","assets/TableHeader.vue_vue_type_script_setup_true_lang-NIN1xtGv.js","assets/AdminLayout.vue_vue_type_script_setup_true_lang-B_6YVjYZ.js","assets/AdminDashboard-D-aUQJ-6.css","assets/BatchManagement-CeACwrQ7.js","assets/SelectValue.vue_vue_type_script_setup_true_lang-Dkj-rl5_.js","assets/BatchManagement-C0ramMV5.css","assets/TokenManagement-Cwst5YRl.js","assets/TokenManagement-BhQjUgic.css","assets/ConfigManagement-DKtU2SIn.js"])))=>i.map(i=>d[i]); +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();function ws(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Q={},Vt=[],lt=()=>{},ro=()=>!1,cr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Rs=e=>e.startsWith("onUpdate:"),ye=Object.assign,Ss=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},sc=Object.prototype.hasOwnProperty,Z=(e,t)=>sc.call(e,t),U=Array.isArray,$t=e=>An(e)==="[object Map]",ar=e=>An(e)==="[object Set]",qs=e=>An(e)==="[object Date]",k=e=>typeof e=="function",oe=e=>typeof e=="string",Ge=e=>typeof e=="symbol",ne=e=>e!==null&&typeof e=="object",so=e=>(ne(e)||k(e))&&k(e.then)&&k(e.catch),io=Object.prototype.toString,An=e=>io.call(e),ic=e=>An(e).slice(8,-1),oo=e=>An(e)==="[object Object]",ur=e=>oe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,an=ws(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),fr=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},oc=/-\w/g,je=fr(e=>e.replace(oc,t=>t.slice(1).toUpperCase())),lc=/\B([A-Z])/g,Et=fr(e=>e.replace(lc,"-$1").toLowerCase()),dr=fr(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ur=fr(e=>e?`on${dr(e)}`:""),Ne=(e,t)=>!Object.is(e,t),jn=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},hr=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Ks;const pr=()=>Ks||(Ks=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function mr(e){if(U(e)){const t={};for(let n=0;n{if(n){const r=n.split(ac);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function gr(e){let t="";if(oe(e))t=e;else if(U(e))for(let n=0;nyr(n,t))}const ao=e=>!!(e&&e.__v_isRef===!0),gc=e=>oe(e)?e:e==null?"":U(e)||ne(e)&&(e.toString===io||!k(e.toString))?ao(e)?gc(e.value):JSON.stringify(e,uo,2):String(e),uo=(e,t)=>ao(t)?uo(e,t.value):$t(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],i)=>(n[jr(r,i)+" =>"]=s,n),{})}:ar(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>jr(n))}:Ge(t)?jr(t):ne(t)&&!U(t)&&!oo(t)?String(t):t,jr=(e,t="")=>{var n;return Ge(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};let be;class fo{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=be,!t&&be&&(this.index=(be.scopes||(be.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0&&(be=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let n,r;for(n=0,r=this.effects.length;n0)return;if(fn){let t=fn;for(fn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;un;){let t=un;for(un=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function go(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function yo(e){let t,n=e.depsTail,r=n;for(;r;){const s=r.prevDep;r.version===-1?(r===n&&(n=s),xs(r),_c(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=s}e.deps=t,e.depsTail=n}function ts(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(_o(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function _o(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===yn)||(e.globalVersion=yn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ts(e))))return;e.flags|=2;const t=e.dep,n=se,r=Ke;se=e,Ke=!0;try{go(e);const s=e.fn(e._value);(t.version===0||Ne(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{se=n,Ke=r,yo(e),e.flags&=-3}}function xs(e,t=!1){const{dep:n,prevSub:r,nextSub:s}=e;if(r&&(r.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)xs(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function _c(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Ke=!0;const bo=[];function gt(){bo.push(Ke),Ke=!1}function yt(){const e=bo.pop();Ke=e===void 0?!0:e}function Ws(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=se;se=void 0;try{t()}finally{se=n}}}let yn=0;class bc{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class _r{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!se||!Ke||se===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==se)n=this.activeLink=new bc(se,this),se.deps?(n.prevDep=se.depsTail,se.depsTail.nextDep=n,se.depsTail=n):se.deps=se.depsTail=n,Eo(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=se.depsTail,n.nextDep=void 0,se.depsTail.nextDep=n,se.depsTail=n,se.deps===n&&(se.deps=r)}return n}trigger(t){this.version++,yn++,this.notify(t)}notify(t){vs();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{As()}}}function Eo(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)Eo(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Jn=new WeakMap,Ft=Symbol(""),ns=Symbol(""),_n=Symbol("");function Ee(e,t,n){if(Ke&&se){let r=Jn.get(e);r||Jn.set(e,r=new Map);let s=r.get(n);s||(r.set(n,s=new _r),s.map=r,s.key=n),s.track()}}function pt(e,t,n,r,s,i){const o=Jn.get(e);if(!o){yn++;return}const l=c=>{c&&c.trigger()};if(vs(),t==="clear")o.forEach(l);else{const c=U(e),u=c&&ur(n);if(c&&n==="length"){const a=Number(r);o.forEach((f,p)=>{(p==="length"||p===_n||!Ge(p)&&p>=a)&&l(f)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),u&&l(o.get(_n)),t){case"add":c?u&&l(o.get("length")):(l(o.get(Ft)),$t(e)&&l(o.get(ns)));break;case"delete":c||(l(o.get(Ft)),$t(e)&&l(o.get(ns)));break;case"set":$t(e)&&l(o.get(Ft));break}}As()}function Ec(e,t){const n=Jn.get(e);return n&&n.get(t)}function jt(e){const t=X(e);return t===e?t:(Ee(t,"iterate",_n),Ue(e)?t:t.map(ze))}function br(e){return Ee(e=X(e),"iterate",_n),e}function St(e,t){return _t(e)?Mt(e)?zt(ze(t)):zt(t):ze(t)}const wc={__proto__:null,[Symbol.iterator](){return Hr(this,Symbol.iterator,e=>St(this,e))},concat(...e){return jt(this).concat(...e.map(t=>U(t)?jt(t):t))},entries(){return Hr(this,"entries",e=>(e[1]=St(this,e[1]),e))},every(e,t){return ut(this,"every",e,t,void 0,arguments)},filter(e,t){return ut(this,"filter",e,t,n=>n.map(r=>St(this,r)),arguments)},find(e,t){return ut(this,"find",e,t,n=>St(this,n),arguments)},findIndex(e,t){return ut(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return ut(this,"findLast",e,t,n=>St(this,n),arguments)},findLastIndex(e,t){return ut(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return ut(this,"forEach",e,t,void 0,arguments)},includes(...e){return Vr(this,"includes",e)},indexOf(...e){return Vr(this,"indexOf",e)},join(e){return jt(this).join(e)},lastIndexOf(...e){return Vr(this,"lastIndexOf",e)},map(e,t){return ut(this,"map",e,t,void 0,arguments)},pop(){return nn(this,"pop")},push(...e){return nn(this,"push",e)},reduce(e,...t){return Gs(this,"reduce",e,t)},reduceRight(e,...t){return Gs(this,"reduceRight",e,t)},shift(){return nn(this,"shift")},some(e,t){return ut(this,"some",e,t,void 0,arguments)},splice(...e){return nn(this,"splice",e)},toReversed(){return jt(this).toReversed()},toSorted(e){return jt(this).toSorted(e)},toSpliced(...e){return jt(this).toSpliced(...e)},unshift(...e){return nn(this,"unshift",e)},values(){return Hr(this,"values",e=>St(this,e))}};function Hr(e,t,n){const r=br(e),s=r[t]();return r!==e&&!Ue(e)&&(s._next=s.next,s.next=()=>{const i=s._next();return i.done||(i.value=n(i.value)),i}),s}const Rc=Array.prototype;function ut(e,t,n,r,s,i){const o=br(e),l=o!==e&&!Ue(e),c=o[t];if(c!==Rc[t]){const f=c.apply(e,i);return l?ze(f):f}let u=n;o!==e&&(l?u=function(f,p){return n.call(this,St(e,f),p,e)}:n.length>2&&(u=function(f,p){return n.call(this,f,p,e)}));const a=c.call(o,u,r);return l&&s?s(a):a}function Gs(e,t,n,r){const s=br(e);let i=n;return s!==e&&(Ue(e)?n.length>3&&(i=function(o,l,c){return n.call(this,o,l,c,e)}):i=function(o,l,c){return n.call(this,o,St(e,l),c,e)}),s[t](i,...r)}function Vr(e,t,n){const r=X(e);Ee(r,"iterate",_n);const s=r[t](...n);return(s===-1||s===!1)&&Sr(n[0])?(n[0]=X(n[0]),r[t](...n)):s}function nn(e,t,n=[]){gt(),vs();const r=X(e)[t].apply(e,n);return As(),yt(),r}const Sc=ws("__proto__,__v_isRef,__isVue"),wo=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ge));function vc(e){Ge(e)||(e=String(e));const t=X(this);return Ee(t,"has",e),t.hasOwnProperty(e)}class Ro{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return i;if(n==="__v_raw")return r===(s?i?To:Oo:i?xo:Ao).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const o=U(t);if(!s){let c;if(o&&(c=wc[n]))return c;if(n==="hasOwnProperty")return vc}const l=Reflect.get(t,n,me(t)?t:r);if((Ge(n)?wo.has(n):Sc(n))||(s||Ee(t,"get",n),i))return l;if(me(l)){const c=o&&ur(n)?l:l.value;return s&&ne(c)?ss(c):c}return ne(l)?s?ss(l):wr(l):l}}class So extends Ro{constructor(t=!1){super(!1,t)}set(t,n,r,s){let i=t[n];const o=U(t)&&ur(n);if(!this._isShallow){const u=_t(i);if(!Ue(r)&&!_t(r)&&(i=X(i),r=X(r)),!o&&me(i)&&!me(r))return u||(i.value=r),!0}const l=o?Number(n)e,Dn=e=>Reflect.getPrototypeOf(e);function Cc(e,t,n){return function(...r){const s=this.__v_raw,i=X(s),o=$t(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,u=s[e](...r),a=n?rs:t?zt:ze;return!t&&Ee(i,"iterate",c?ns:Ft),{next(){const{value:f,done:p}=u.next();return p?{value:f,done:p}:{value:l?[a(f[0]),a(f[1])]:a(f),done:p}},[Symbol.iterator](){return this}}}}function Fn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Pc(e,t){const n={get(s){const i=this.__v_raw,o=X(i),l=X(s);e||(Ne(s,l)&&Ee(o,"get",s),Ee(o,"get",l));const{has:c}=Dn(o),u=t?rs:e?zt:ze;if(c.call(o,s))return u(i.get(s));if(c.call(o,l))return u(i.get(l));i!==o&&i.get(s)},get size(){const s=this.__v_raw;return!e&&Ee(X(s),"iterate",Ft),s.size},has(s){const i=this.__v_raw,o=X(i),l=X(s);return e||(Ne(s,l)&&Ee(o,"has",s),Ee(o,"has",l)),s===l?i.has(s):i.has(s)||i.has(l)},forEach(s,i){const o=this,l=o.__v_raw,c=X(l),u=t?rs:e?zt:ze;return!e&&Ee(c,"iterate",Ft),l.forEach((a,f)=>s.call(i,u(a),u(f),o))}};return ye(n,e?{add:Fn("add"),set:Fn("set"),delete:Fn("delete"),clear:Fn("clear")}:{add(s){!t&&!Ue(s)&&!_t(s)&&(s=X(s));const i=X(this);return Dn(i).has.call(i,s)||(i.add(s),pt(i,"add",s,s)),this},set(s,i){!t&&!Ue(i)&&!_t(i)&&(i=X(i));const o=X(this),{has:l,get:c}=Dn(o);let u=l.call(o,s);u||(s=X(s),u=l.call(o,s));const a=c.call(o,s);return o.set(s,i),u?Ne(i,a)&&pt(o,"set",s,i):pt(o,"add",s,i),this},delete(s){const i=X(this),{has:o,get:l}=Dn(i);let c=o.call(i,s);c||(s=X(s),c=o.call(i,s)),l&&l.call(i,s);const u=i.delete(s);return c&&pt(i,"delete",s,void 0),u},clear(){const s=X(this),i=s.size!==0,o=s.clear();return i&&pt(s,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=Cc(s,e,t)}),n}function Er(e,t){const n=Pc(e,t);return(r,s,i)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(Z(n,s)&&s in r?n:r,s,i)}const Nc={get:Er(!1,!1)},Ic={get:Er(!1,!0)},Dc={get:Er(!0,!1)},Fc={get:Er(!0,!0)},Ao=new WeakMap,xo=new WeakMap,Oo=new WeakMap,To=new WeakMap;function Mc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Lc(e){return e.__v_skip||!Object.isExtensible(e)?0:Mc(ic(e))}function wr(e){return _t(e)?e:Rr(e,!1,Ac,Nc,Ao)}function Co(e){return Rr(e,!1,Oc,Ic,xo)}function ss(e){return Rr(e,!0,xc,Dc,Oo)}function Mh(e){return Rr(e,!0,Tc,Fc,To)}function Rr(e,t,n,r,s){if(!ne(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=Lc(e);if(i===0)return e;const o=s.get(e);if(o)return o;const l=new Proxy(e,i===2?r:n);return s.set(e,l),l}function Mt(e){return _t(e)?Mt(e.__v_raw):!!(e&&e.__v_isReactive)}function _t(e){return!!(e&&e.__v_isReadonly)}function Ue(e){return!!(e&&e.__v_isShallow)}function Sr(e){return e?!!e.__v_raw:!1}function X(e){const t=e&&e.__v_raw;return t?X(t):e}function Bc(e){return!Z(e,"__v_skip")&&Object.isExtensible(e)&&lo(e,"__v_skip",!0),e}const ze=e=>ne(e)?wr(e):e,zt=e=>ne(e)?ss(e):e;function me(e){return e?e.__v_isRef===!0:!1}function vr(e){return Po(e,!1)}function Uc(e){return Po(e,!0)}function Po(e,t){return me(e)?e:new jc(e,t)}class jc{constructor(t,n){this.dep=new _r,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:X(t),this._value=n?t:ze(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||Ue(t)||_t(t);t=r?t:X(t),Ne(t,n)&&(this._rawValue=t,this._value=r?t:ze(t),this.dep.trigger())}}function Ot(e){return me(e)?e.value:e}function Lh(e){return k(e)?e():Ot(e)}const kc={get:(e,t,n)=>t==="__v_raw"?e:Ot(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return me(s)&&!me(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function No(e){return Mt(e)?e:new Proxy(e,kc)}class Hc{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new _r,{get:r,set:s}=t(n.track.bind(n),n.trigger.bind(n));this._get=r,this._set=s}get value(){return this._value=this._get()}set value(t){this._set(t)}}function Vc(e){return new Hc(e)}function Bh(e){const t=U(e)?new Array(e.length):{};for(const n in e)t[n]=Io(e,n);return t}class $c{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0,this._raw=X(t);let s=!0,i=t;if(!U(t)||!ur(String(n)))do s=!Sr(i)||Ue(i);while(s&&(i=i.__v_raw));this._shallow=s}get value(){let t=this._object[this._key];return this._shallow&&(t=Ot(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&me(this._raw[this._key])){const n=this._object[this._key];if(me(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Ec(this._raw,this._key)}}class qc{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function Uh(e,t,n){return me(e)?e:k(e)?new qc(e):ne(e)&&arguments.length>1?Io(e,t,n):vr(e)}function Io(e,t,n){return new $c(e,t,n)}class Kc{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new _r(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=yn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&se!==this)return mo(this,!0),!0}get value(){const t=this.dep.track();return _o(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Wc(e,t,n=!1){let r,s;return k(e)?r=e:(r=e.get,s=e.set),new Kc(r,s,n)}const Mn={},Xn=new WeakMap;let Pt;function Gc(e,t=!1,n=Pt){if(n){let r=Xn.get(n);r||Xn.set(n,r=[]),r.push(e)}}function zc(e,t,n=Q){const{immediate:r,deep:s,once:i,scheduler:o,augmentJob:l,call:c}=n,u=P=>s?P:Ue(P)||s===!1||s===0?mt(P,1):mt(P);let a,f,p,m,g=!1,b=!1;if(me(e)?(f=()=>e.value,g=Ue(e)):Mt(e)?(f=()=>u(e),g=!0):U(e)?(b=!0,g=e.some(P=>Mt(P)||Ue(P)),f=()=>e.map(P=>{if(me(P))return P.value;if(Mt(P))return u(P);if(k(P))return c?c(P,2):P()})):k(e)?t?f=c?()=>c(e,2):e:f=()=>{if(p){gt();try{p()}finally{yt()}}const P=Pt;Pt=a;try{return c?c(e,3,[m]):e(m)}finally{Pt=P}}:f=lt,t&&s){const P=f,V=s===!0?1/0:s;f=()=>mt(P(),V)}const E=yc(),x=()=>{a.stop(),E&&E.active&&Ss(E.effects,a)};if(i&&t){const P=t;t=(...V)=>{P(...V),x()}}let C=b?new Array(e.length).fill(Mn):Mn;const I=P=>{if(!(!(a.flags&1)||!a.dirty&&!P))if(t){const V=a.run();if(s||g||(b?V.some((z,$)=>Ne(z,C[$])):Ne(V,C))){p&&p();const z=Pt;Pt=a;try{const $=[V,C===Mn?void 0:b&&C[0]===Mn?[]:C,m];C=V,c?c(t,3,$):t(...$)}finally{Pt=z}}}else a.run()};return l&&l(I),a=new ho(f),a.scheduler=o?()=>o(I,!1):I,m=P=>Gc(P,!1,a),p=a.onStop=()=>{const P=Xn.get(a);if(P){if(c)c(P,4);else for(const V of P)V();Xn.delete(a)}},t?r?I(!0):C=a.run():o?o(I.bind(null,!0),!0):a.run(),x.pause=a.pause.bind(a),x.resume=a.resume.bind(a),x.stop=x,x}function mt(e,t=1/0,n){if(t<=0||!ne(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,me(e))mt(e.value,t,n);else if(U(e))for(let r=0;r{mt(r,t,n)});else if(oo(e)){for(const r in e)mt(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&mt(e[r],t,n)}return e}function xn(e,t,n,r){try{return r?e(...r):e()}catch(s){Ar(s,t,n)}}function ct(e,t,n,r){if(k(e)){const s=xn(e,t,n,r);return s&&so(s)&&s.catch(i=>{Ar(i,t,n)}),s}if(U(e)){const s=[];for(let i=0;i>>1,s=Oe[r],i=bn(s);i=bn(n)?Oe.push(e):Oe.splice(Xc(t),0,e),e.flags|=1,Fo()}}function Fo(){Qn||(Qn=Do.then(Lo))}function Qc(e){U(e)?qt.push(...e):vt&&e.id===-1?vt.splice(kt+1,0,e):e.flags&1||(qt.push(e),e.flags|=1),Fo()}function zs(e,t,n=it+1){for(;nbn(n)-bn(r));if(qt.length=0,vt){vt.push(...t);return}for(vt=t,kt=0;kte.id==null?e.flags&2?-1:1/0:e.id;function Lo(e){try{for(it=0;it{r._d&&nr(-1);const i=Yn(t);let o;try{o=e(...s)}finally{Yn(i),r._d&&nr(1)}return o};return r._n=!0,r._c=!0,r._d=!0,r}function jh(e,t){if(ge===null)return e;const n=Pr(ge),r=e.dirs||(e.dirs=[]);for(let s=0;s1)return n&&k(t)?t.call(r&&r.proxy):t}}const Zc=Symbol.for("v-scx"),ea=()=>We(Zc);function kh(e,t){return On(e,null,t)}function Hh(e,t){return On(e,null,{flush:"post"})}function ta(e,t){return On(e,null,{flush:"sync"})}function Hn(e,t,n){return On(e,t,n)}function On(e,t,n=Q){const{immediate:r,deep:s,flush:i,once:o}=n,l=ye({},n),c=t&&r||!t&&i!=="post";let u;if(Sn){if(i==="sync"){const m=ea();u=m.__watcherHandles||(m.__watcherHandles=[])}else if(!c){const m=()=>{};return m.stop=lt,m.resume=lt,m.pause=lt,m}}const a=we;l.call=(m,g,b)=>ct(m,a,g,b);let f=!1;i==="post"?l.scheduler=m=>{Ae(m,a&&a.suspense)}:i!=="sync"&&(f=!0,l.scheduler=(m,g)=>{g?m():Ts(m)}),l.augmentJob=m=>{t&&(m.flags|=4),f&&(m.flags|=2,a&&(m.id=a.uid,m.i=a))};const p=zc(e,t,l);return Sn&&(u?u.push(p):c&&p()),p}function na(e,t,n){const r=this.proxy,s=oe(e)?e.includes(".")?Uo(r,e):()=>r[e]:e.bind(r,r);let i;k(t)?i=t:(i=t.handler,n=t);const o=Tn(this),l=On(s,i.bind(r),n);return o(),l}function Uo(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;se.__isTeleport,dn=e=>e&&(e.disabled||e.disabled===""),Js=e=>e&&(e.defer||e.defer===""),Xs=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Qs=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,is=(e,t)=>{const n=e&&e.to;return oe(n)?t?t(n):null:n},ko={name:"Teleport",__isTeleport:!0,process(e,t,n,r,s,i,o,l,c,u){const{mc:a,pc:f,pbc:p,o:{insert:m,querySelector:g,createText:b,createComment:E}}=u,x=dn(t.props);let{shapeFlag:C,children:I,dynamicChildren:P}=t;if(e==null){const V=t.el=b(""),z=t.anchor=b("");m(V,n,r),m(z,n,r);const $=(ie,fe)=>{C&16&&a(I,ie,fe,s,i,o,l,c)},le=()=>{const ie=t.target=is(t.props,g),fe=Ho(ie,t,b,m);ie&&(o!=="svg"&&Xs(ie)?o="svg":o!=="mathml"&&Qs(ie)&&(o="mathml"),s&&s.isCE&&(s.ce._teleportTargets||(s.ce._teleportTargets=new Set)).add(ie),x||($(ie,fe),Vn(t,!1)))};x&&($(n,z),Vn(t,!0)),Js(t.props)?(t.el.__isMounted=!1,Ae(()=>{le(),delete t.el.__isMounted},i)):le()}else{if(Js(t.props)&&e.el.__isMounted===!1){Ae(()=>{ko.process(e,t,n,r,s,i,o,l,c,u)},i);return}t.el=e.el,t.targetStart=e.targetStart;const V=t.anchor=e.anchor,z=t.target=e.target,$=t.targetAnchor=e.targetAnchor,le=dn(e.props),ie=le?n:z,fe=le?V:$;if(o==="svg"||Xs(z)?o="svg":(o==="mathml"||Qs(z))&&(o="mathml"),P?(p(e.dynamicChildren,P,ie,s,i,o,l),Ds(e,t,!0)):c||f(e,t,ie,fe,s,i,o,l,!1),x)le?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Ln(t,n,V,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const Te=t.target=is(t.props,g);Te&&Ln(t,Te,null,u,0)}else le&&Ln(t,z,$,u,1);Vn(t,x)}},remove(e,t,n,{um:r,o:{remove:s}},i){const{shapeFlag:o,children:l,anchor:c,targetStart:u,targetAnchor:a,target:f,props:p}=e;if(f&&(s(u),s(a)),i&&s(c),o&16){const m=i||!dn(p);for(let g=0;ghn(g,t&&(U(t)?t[b]:t),n,r,s));return}if(Kt(r)&&!s){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&hn(e,t,n,r.component.subTree);return}const i=r.shapeFlag&4?Pr(r.component):r.el,o=s?null:i,{i:l,r:c}=e,u=t&&t.r,a=l.refs===Q?l.refs={}:l.refs,f=l.setupState,p=X(f),m=f===Q?ro:g=>Z(p,g);if(u!=null&&u!==c){if(Ys(t),oe(u))a[u]=null,m(u)&&(f[u]=null);else if(me(u)){u.value=null;const g=t;g.k&&(a[g.k]=null)}}if(k(c))xn(c,l,12,[o,a]);else{const g=oe(c),b=me(c);if(g||b){const E=()=>{if(e.f){const x=g?m(c)?f[c]:a[c]:c.value;if(s)U(x)&&Ss(x,i);else if(U(x))x.includes(i)||x.push(i);else if(g)a[c]=[i],m(c)&&(f[c]=a[c]);else{const C=[i];c.value=C,e.k&&(a[e.k]=C)}}else g?(a[c]=o,m(c)&&(f[c]=o)):b&&(c.value=o,e.k&&(a[e.k]=o))};if(o){const x=()=>{E(),Zn.delete(e)};x.id=-1,Zn.set(e,x),Ae(x,n)}else Ys(e),E()}}}function Ys(e){const t=Zn.get(e);t&&(t.flags|=8,Zn.delete(e))}pr().requestIdleCallback;pr().cancelIdleCallback;const Kt=e=>!!e.type.__asyncLoader,$o=e=>e.type.__isKeepAlive;function oa(e,t){qo(e,"a",t)}function la(e,t){qo(e,"da",t)}function qo(e,t,n=we){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(xr(t,r,n),n){let s=n.parent;for(;s&&s.parent;)$o(s.parent.vnode)&&ca(r,t,n,s),s=s.parent}}function ca(e,t,n,r){const s=xr(t,e,r,!0);Ko(()=>{Ss(r[t],s)},n)}function xr(e,t,n=we,r=!1){if(n){const s=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{gt();const l=Tn(n),c=ct(t,n,e,o);return l(),yt(),c});return r?s.unshift(i):s.push(i),i}}const wt=e=>(t,n=we)=>{(!Sn||e==="sp")&&xr(e,(...r)=>t(...r),n)},aa=wt("bm"),ua=wt("m"),fa=wt("bu"),da=wt("u"),ha=wt("bum"),Ko=wt("um"),pa=wt("sp"),ma=wt("rtg"),ga=wt("rtc");function ya(e,t=we){xr("ec",e,t)}const Wo="components";function _a(e,t){return zo(Wo,e,!0,t)||e}const Go=Symbol.for("v-ndc");function qh(e){return oe(e)?zo(Wo,e,!1)||e:e||Go}function zo(e,t,n=!0,r=!1){const s=ge||we;if(s){const i=s.type;{const l=ru(i,!1);if(l&&(l===t||l===je(t)||l===dr(je(t))))return i}const o=Zs(s[e]||i[e],t)||Zs(s.appContext[e],t);return!o&&r?i:o}}function Zs(e,t){return e&&(e[t]||e[je(t)]||e[dr(je(t))])}function Kh(e,t,n,r){let s;const i=n,o=U(e);if(o||oe(e)){const l=o&&Mt(e);let c=!1,u=!1;l&&(c=!Ue(e),u=_t(e),e=br(e)),s=new Array(e.length);for(let a=0,f=e.length;at(l,c,void 0,i));else{const l=Object.keys(e);s=new Array(l.length);for(let c=0,u=l.length;c0;return t!=="default"&&(n.name=t),tr(),us(Le,null,[Se("slot",n,r&&r())],u?-2:64)}let i=e[t];i&&i._c&&(i._d=!1),tr();const o=i&&Jo(i(n)),l=n.key||o&&o.key,c=us(Le,{key:(l&&!Ge(l)?l:`_${t}`)+(!o&&r?"_fb":"")},o||(r?r():[]),o&&e._===1?64:-2);return c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),i&&i._c&&(i._d=!0),c}function Jo(e){return e.some(t=>Rn(t)?!(t.type===bt||t.type===Le&&!Jo(t.children)):!0)?e:null}const os=e=>e?ml(e)?Pr(e):os(e.parent):null,pn=ye(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>os(e.parent),$root:e=>os(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Qo(e),$forceUpdate:e=>e.f||(e.f=()=>{Ts(e.update)}),$nextTick:e=>e.n||(e.n=Os.bind(e.proxy)),$watch:e=>na.bind(e)}),$r=(e,t)=>e!==Q&&!e.__isScriptSetup&&Z(e,t),ba={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,props:i,accessCache:o,type:l,appContext:c}=e;if(t[0]!=="$"){const p=o[t];if(p!==void 0)switch(p){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return i[t]}else{if($r(r,t))return o[t]=1,r[t];if(s!==Q&&Z(s,t))return o[t]=2,s[t];if(Z(i,t))return o[t]=3,i[t];if(n!==Q&&Z(n,t))return o[t]=4,n[t];ls&&(o[t]=0)}}const u=pn[t];let a,f;if(u)return t==="$attrs"&&Ee(e.attrs,"get",""),u(e);if((a=l.__cssModules)&&(a=a[t]))return a;if(n!==Q&&Z(n,t))return o[t]=4,n[t];if(f=c.config.globalProperties,Z(f,t))return f[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:i}=e;return $r(s,t)?(s[t]=n,!0):r!==Q&&Z(r,t)?(r[t]=n,!0):Z(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,props:i,type:o}},l){let c;return!!(n[l]||e!==Q&&l[0]!=="$"&&Z(e,l)||$r(t,l)||Z(i,l)||Z(r,l)||Z(pn,l)||Z(s.config.globalProperties,l)||(c=o.__cssModules)&&c[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Z(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Gh(){return Ea().attrs}function Ea(e){const t=Cr();return t.setupContext||(t.setupContext=yl(t))}function En(e){return U(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function zh(e,t){const n=En(e);for(const r in t){if(r.startsWith("__skip"))continue;let s=n[r];s?U(s)||k(s)?s=n[r]={type:s,default:t[r]}:s.default=t[r]:s===null&&(s=n[r]={default:t[r]}),s&&t[`__skip_${r}`]&&(s.skipFactory=!0)}return n}function Jh(e,t){return!e||!t?e||t:U(e)&&U(t)?e.concat(t):ye({},En(e),En(t))}let ls=!0;function wa(e){const t=Qo(e),n=e.proxy,r=e.ctx;ls=!1,t.beforeCreate&&ei(t.beforeCreate,e,"bc");const{data:s,computed:i,methods:o,watch:l,provide:c,inject:u,created:a,beforeMount:f,mounted:p,beforeUpdate:m,updated:g,activated:b,deactivated:E,beforeDestroy:x,beforeUnmount:C,destroyed:I,unmounted:P,render:V,renderTracked:z,renderTriggered:$,errorCaptured:le,serverPrefetch:ie,expose:fe,inheritAttrs:Te,components:ke,directives:_e,filters:Fe}=t;if(u&&Ra(u,r,null),o)for(const J in o){const K=o[J];k(K)&&(r[J]=K.bind(n))}if(s){const J=s.call(n,n);ne(J)&&(e.data=wr(J))}if(ls=!0,i)for(const J in i){const K=i[J],He=k(K)?K.bind(n,n):k(K.get)?K.get.bind(n,n):lt,Qe=!k(K)&&k(K.set)?K.set.bind(n):lt,de=qe({get:He,set:Qe});Object.defineProperty(r,J,{enumerable:!0,configurable:!0,get:()=>de.value,set:ae=>de.value=ae})}if(l)for(const J in l)Xo(l[J],r,n,J);if(c){const J=k(c)?c.call(n):c;Reflect.ownKeys(J).forEach(K=>{kn(K,J[K])})}a&&ei(a,e,"c");function ee(J,K){U(K)?K.forEach(He=>J(He.bind(n))):K&&J(K.bind(n))}if(ee(aa,f),ee(ua,p),ee(fa,m),ee(da,g),ee(oa,b),ee(la,E),ee(ya,le),ee(ga,z),ee(ma,$),ee(ha,C),ee(Ko,P),ee(pa,ie),U(fe))if(fe.length){const J=e.exposed||(e.exposed={});fe.forEach(K=>{Object.defineProperty(J,K,{get:()=>n[K],set:He=>n[K]=He,enumerable:!0})})}else e.exposed||(e.exposed={});V&&e.render===lt&&(e.render=V),Te!=null&&(e.inheritAttrs=Te),ke&&(e.components=ke),_e&&(e.directives=_e),ie&&Vo(e)}function Ra(e,t,n=lt){U(e)&&(e=cs(e));for(const r in e){const s=e[r];let i;ne(s)?"default"in s?i=We(s.from||r,s.default,!0):i=We(s.from||r):i=We(s),me(i)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[r]=i}}function ei(e,t,n){ct(U(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Xo(e,t,n,r){let s=r.includes(".")?Uo(n,r):()=>n[r];if(oe(e)){const i=t[e];k(i)&&Hn(s,i)}else if(k(e))Hn(s,e.bind(n));else if(ne(e))if(U(e))e.forEach(i=>Xo(i,t,n,r));else{const i=k(e.handler)?e.handler.bind(n):t[e.handler];k(i)&&Hn(s,i,e)}}function Qo(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!s.length&&!n&&!r?c=t:(c={},s.length&&s.forEach(u=>er(c,u,o,!0)),er(c,t,o)),ne(t)&&i.set(t,c),c}function er(e,t,n,r=!1){const{mixins:s,extends:i}=t;i&&er(e,i,n,!0),s&&s.forEach(o=>er(e,o,n,!0));for(const o in t)if(!(r&&o==="expose")){const l=Sa[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Sa={data:ti,props:ni,emits:ni,methods:cn,computed:cn,beforeCreate:ve,created:ve,beforeMount:ve,mounted:ve,beforeUpdate:ve,updated:ve,beforeDestroy:ve,beforeUnmount:ve,destroyed:ve,unmounted:ve,activated:ve,deactivated:ve,errorCaptured:ve,serverPrefetch:ve,components:cn,directives:cn,watch:Aa,provide:ti,inject:va};function ti(e,t){return t?e?function(){return ye(k(e)?e.call(this,this):e,k(t)?t.call(this,this):t)}:t:e}function va(e,t){return cn(cs(e),cs(t))}function cs(e){if(U(e)){const t={};for(let n=0;n{let a,f=Q,p;return ta(()=>{const m=e[s];Ne(a,m)&&(a=m,u())}),{get(){return c(),n.get?n.get(a):a},set(m){const g=n.set?n.set(m):m;if(!Ne(g,a)&&!(f!==Q&&Ne(m,f)))return;const b=r.vnode.props;b&&(t in b||s in b||i in b)&&(`onUpdate:${t}`in b||`onUpdate:${s}`in b||`onUpdate:${i}`in b)||(a=m,u()),r.emit(`update:${t}`,g),Ne(m,g)&&Ne(m,f)&&!Ne(g,p)&&u(),f=m,p=g}}});return l[Symbol.iterator]=()=>{let c=0;return{next(){return c<2?{value:c++?o||Q:l,done:!1}:{done:!0}}}},l}const Zo=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${je(t)}Modifiers`]||e[`${Et(t)}Modifiers`];function Ta(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||Q;let s=n;const i=t.startsWith("update:"),o=i&&Zo(r,t.slice(7));o&&(o.trim&&(s=n.map(a=>oe(a)?a.trim():a)),o.number&&(s=n.map(hr)));let l,c=r[l=Ur(t)]||r[l=Ur(je(t))];!c&&i&&(c=r[l=Ur(Et(t))]),c&&ct(c,e,6,s);const u=r[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,ct(u,e,6,s)}}const Ca=new WeakMap;function el(e,t,n=!1){const r=n?Ca:t.emitsCache,s=r.get(e);if(s!==void 0)return s;const i=e.emits;let o={},l=!1;if(!k(e)){const c=u=>{const a=el(u,t,!0);a&&(l=!0,ye(o,a))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(ne(e)&&r.set(e,null),null):(U(i)?i.forEach(c=>o[c]=null):ye(o,i),ne(e)&&r.set(e,o),o)}function Or(e,t){return!e||!cr(t)?!1:(t=t.slice(2).replace(/Once$/,""),Z(e,t[0].toLowerCase()+t.slice(1))||Z(e,Et(t))||Z(e,t))}function ri(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[i],slots:o,attrs:l,emit:c,render:u,renderCache:a,props:f,data:p,setupState:m,ctx:g,inheritAttrs:b}=e,E=Yn(e);let x,C;try{if(n.shapeFlag&4){const P=s||r,V=P;x=ot(u.call(V,P,a,f,m,p,g)),C=l}else{const P=t;x=ot(P.length>1?P(f,{attrs:l,slots:o,emit:c}):P(f,null)),C=t.props?l:Pa(l)}}catch(P){mn.length=0,Ar(P,e,1),x=Se(bt)}let I=x;if(C&&b!==!1){const P=Object.keys(C),{shapeFlag:V}=I;P.length&&V&7&&(i&&P.some(Rs)&&(C=Na(C,i)),I=Jt(I,C,!1,!0))}return n.dirs&&(I=Jt(I,null,!1,!0),I.dirs=I.dirs?I.dirs.concat(n.dirs):n.dirs),n.transition&&Cs(I,n.transition),x=I,Yn(E),x}const Pa=e=>{let t;for(const n in e)(n==="class"||n==="style"||cr(n))&&((t||(t={}))[n]=e[n]);return t},Na=(e,t)=>{const n={};for(const r in e)(!Rs(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Ia(e,t,n){const{props:r,children:s,component:i}=e,{props:o,children:l,patchFlag:c}=t,u=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?si(r,o,u):!!o;if(c&8){const a=t.dynamicProps;for(let f=0;fObject.create(tl),rl=e=>Object.getPrototypeOf(e)===tl;function Fa(e,t,n,r=!1){const s={},i=nl();e.propsDefaults=Object.create(null),sl(e,t,s,i);for(const o in e.propsOptions[0])o in s||(s[o]=void 0);n?e.props=r?s:Co(s):e.type.props?e.props=s:e.props=i,e.attrs=i}function Ma(e,t,n,r){const{props:s,attrs:i,vnode:{patchFlag:o}}=e,l=X(s),[c]=e.propsOptions;let u=!1;if((r||o>0)&&!(o&16)){if(o&8){const a=e.vnode.dynamicProps;for(let f=0;f{c=!0;const[p,m]=il(f,t,!0);ye(o,p),m&&l.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!i&&!c)return ne(e)&&r.set(e,Vt),Vt;if(U(i))for(let a=0;ae==="_"||e==="_ctx"||e==="$stable",Is=e=>U(e)?e.map(ot):[ot(e)],Ba=(e,t,n)=>{if(t._n)return t;const r=Yc((...s)=>Is(t(...s)),n);return r._c=!1,r},ol=(e,t,n)=>{const r=e._ctx;for(const s in e){if(Ns(s))continue;const i=e[s];if(k(i))t[s]=Ba(s,i,r);else if(i!=null){const o=Is(i);t[s]=()=>o}}},ll=(e,t)=>{const n=Is(t);e.slots.default=()=>n},cl=(e,t,n)=>{for(const r in t)(n||!Ns(r))&&(e[r]=t[r])},Ua=(e,t,n)=>{const r=e.slots=nl();if(e.vnode.shapeFlag&32){const s=t._;s?(cl(r,t,n),n&&lo(r,"_",s,!0)):ol(t,r)}else t&&ll(e,t)},ja=(e,t,n)=>{const{vnode:r,slots:s}=e;let i=!0,o=Q;if(r.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:cl(s,t,n):(i=!t.$stable,ol(t,s)),o=t}else t&&(ll(e,t),o={default:1});if(i)for(const l in s)!Ns(l)&&o[l]==null&&delete s[l]},Ae=qa;function ka(e){return Ha(e)}function Ha(e,t){const n=pr();n.__VUE__=!0;const{insert:r,remove:s,patchProp:i,createElement:o,createText:l,createComment:c,setText:u,setElementText:a,parentNode:f,nextSibling:p,setScopeId:m=lt,insertStaticContent:g}=e,b=(d,h,y,w=null,v=null,R=null,N=void 0,T=null,O=!!h.dynamicChildren)=>{if(d===h)return;d&&!rn(d,h)&&(w=S(d),ae(d,v,R,!0),d=null),h.patchFlag===-2&&(O=!1,h.dynamicChildren=null);const{type:A,ref:j,shapeFlag:F}=h;switch(A){case Tr:E(d,h,y,w);break;case bt:x(d,h,y,w);break;case $n:d==null&&C(h,y,w,N);break;case Le:ke(d,h,y,w,v,R,N,T,O);break;default:F&1?V(d,h,y,w,v,R,N,T,O):F&6?_e(d,h,y,w,v,R,N,T,O):(F&64||F&128)&&A.process(d,h,y,w,v,R,N,T,O,L)}j!=null&&v?hn(j,d&&d.ref,R,h||d,!h):j==null&&d&&d.ref!=null&&hn(d.ref,null,R,d,!0)},E=(d,h,y,w)=>{if(d==null)r(h.el=l(h.children),y,w);else{const v=h.el=d.el;h.children!==d.children&&u(v,h.children)}},x=(d,h,y,w)=>{d==null?r(h.el=c(h.children||""),y,w):h.el=d.el},C=(d,h,y,w)=>{[d.el,d.anchor]=g(d.children,h,y,w,d.el,d.anchor)},I=({el:d,anchor:h},y,w)=>{let v;for(;d&&d!==h;)v=p(d),r(d,y,w),d=v;r(h,y,w)},P=({el:d,anchor:h})=>{let y;for(;d&&d!==h;)y=p(d),s(d),d=y;s(h)},V=(d,h,y,w,v,R,N,T,O)=>{if(h.type==="svg"?N="svg":h.type==="math"&&(N="mathml"),d==null)z(h,y,w,v,R,N,T,O);else{const A=d.el&&d.el._isVueCE?d.el:null;try{A&&A._beginPatch(),ie(d,h,v,R,N,T,O)}finally{A&&A._endPatch()}}},z=(d,h,y,w,v,R,N,T)=>{let O,A;const{props:j,shapeFlag:F,transition:B,dirs:H}=d;if(O=d.el=o(d.type,R,j&&j.is,j),F&8?a(O,d.children):F&16&&le(d.children,O,null,w,v,qr(d,R),N,T),H&&Tt(d,null,w,"created"),$(O,d,d.scopeId,N,w),j){for(const re in j)re!=="value"&&!an(re)&&i(O,re,null,j[re],R,w);"value"in j&&i(O,"value",null,j.value,R),(A=j.onVnodeBeforeMount)&&rt(A,w,d)}H&&Tt(d,null,w,"beforeMount");const G=Va(v,B);G&&B.beforeEnter(O),r(O,h,y),((A=j&&j.onVnodeMounted)||G||H)&&Ae(()=>{A&&rt(A,w,d),G&&B.enter(O),H&&Tt(d,null,w,"mounted")},v)},$=(d,h,y,w,v)=>{if(y&&m(d,y),w)for(let R=0;R{for(let A=O;A{const T=h.el=d.el;let{patchFlag:O,dynamicChildren:A,dirs:j}=h;O|=d.patchFlag&16;const F=d.props||Q,B=h.props||Q;let H;if(y&&Ct(y,!1),(H=B.onVnodeBeforeUpdate)&&rt(H,y,h,d),j&&Tt(h,d,y,"beforeUpdate"),y&&Ct(y,!0),(F.innerHTML&&B.innerHTML==null||F.textContent&&B.textContent==null)&&a(T,""),A?fe(d.dynamicChildren,A,T,y,w,qr(h,v),R):N||K(d,h,T,null,y,w,qr(h,v),R,!1),O>0){if(O&16)Te(T,F,B,y,v);else if(O&2&&F.class!==B.class&&i(T,"class",null,B.class,v),O&4&&i(T,"style",F.style,B.style,v),O&8){const G=h.dynamicProps;for(let re=0;re{H&&rt(H,y,h,d),j&&Tt(h,d,y,"updated")},w)},fe=(d,h,y,w,v,R,N)=>{for(let T=0;T{if(h!==y){if(h!==Q)for(const R in h)!an(R)&&!(R in y)&&i(d,R,h[R],null,v,w);for(const R in y){if(an(R))continue;const N=y[R],T=h[R];N!==T&&R!=="value"&&i(d,R,T,N,v,w)}"value"in y&&i(d,"value",h.value,y.value,v)}},ke=(d,h,y,w,v,R,N,T,O)=>{const A=h.el=d?d.el:l(""),j=h.anchor=d?d.anchor:l("");let{patchFlag:F,dynamicChildren:B,slotScopeIds:H}=h;H&&(T=T?T.concat(H):H),d==null?(r(A,y,w),r(j,y,w),le(h.children||[],y,j,v,R,N,T,O)):F>0&&F&64&&B&&d.dynamicChildren&&d.dynamicChildren.length===B.length?(fe(d.dynamicChildren,B,y,v,R,N,T),(h.key!=null||v&&h===v.subTree)&&Ds(d,h,!0)):K(d,h,y,j,v,R,N,T,O)},_e=(d,h,y,w,v,R,N,T,O)=>{h.slotScopeIds=T,d==null?h.shapeFlag&512?v.ctx.activate(h,y,w,N,O):Fe(h,y,w,v,R,N,O):at(d,h,O)},Fe=(d,h,y,w,v,R,N)=>{const T=d.component=Za(d,w,v);if($o(d)&&(T.ctx.renderer=L),eu(T,!1,N),T.asyncDep){if(v&&v.registerDep(T,ee,N),!d.el){const O=T.subTree=Se(bt);x(null,O,h,y),d.placeholder=O.el}}else ee(T,d,h,y,v,R,N)},at=(d,h,y)=>{const w=h.component=d.component;if(Ia(d,h,y))if(w.asyncDep&&!w.asyncResolved){J(w,h,y);return}else w.next=h,w.update();else h.el=d.el,w.vnode=h},ee=(d,h,y,w,v,R,N)=>{const T=()=>{if(d.isMounted){let{next:F,bu:B,u:H,parent:G,vnode:re}=d;{const tt=al(d);if(tt){F&&(F.el=re.el,J(d,F,N)),tt.asyncDep.then(()=>{d.isUnmounted||T()});return}}let te=F,Ce;Ct(d,!1),F?(F.el=re.el,J(d,F,N)):F=re,B&&jn(B),(Ce=F.props&&F.props.onVnodeBeforeUpdate)&&rt(Ce,G,F,re),Ct(d,!0);const Pe=ri(d),et=d.subTree;d.subTree=Pe,b(et,Pe,f(et.el),S(et),d,v,R),F.el=Pe.el,te===null&&Da(d,Pe.el),H&&Ae(H,v),(Ce=F.props&&F.props.onVnodeUpdated)&&Ae(()=>rt(Ce,G,F,re),v)}else{let F;const{el:B,props:H}=h,{bm:G,m:re,parent:te,root:Ce,type:Pe}=d,et=Kt(h);Ct(d,!1),G&&jn(G),!et&&(F=H&&H.onVnodeBeforeMount)&&rt(F,te,h),Ct(d,!0);{Ce.ce&&Ce.ce._def.shadowRoot!==!1&&Ce.ce._injectChildStyle(Pe);const tt=d.subTree=ri(d);b(null,tt,y,w,d,v,R),h.el=tt.el}if(re&&Ae(re,v),!et&&(F=H&&H.onVnodeMounted)){const tt=h;Ae(()=>rt(F,te,tt),v)}(h.shapeFlag&256||te&&Kt(te.vnode)&&te.vnode.shapeFlag&256)&&d.a&&Ae(d.a,v),d.isMounted=!0,h=y=w=null}};d.scope.on();const O=d.effect=new ho(T);d.scope.off();const A=d.update=O.run.bind(O),j=d.job=O.runIfDirty.bind(O);j.i=d,j.id=d.uid,O.scheduler=()=>Ts(j),Ct(d,!0),A()},J=(d,h,y)=>{h.component=d;const w=d.vnode.props;d.vnode=h,d.next=null,Ma(d,h.props,w,y),ja(d,h.children,y),gt(),zs(d),yt()},K=(d,h,y,w,v,R,N,T,O=!1)=>{const A=d&&d.children,j=d?d.shapeFlag:0,F=h.children,{patchFlag:B,shapeFlag:H}=h;if(B>0){if(B&128){Qe(A,F,y,w,v,R,N,T,O);return}else if(B&256){He(A,F,y,w,v,R,N,T,O);return}}H&8?(j&16&&Ve(A,v,R),F!==A&&a(y,F)):j&16?H&16?Qe(A,F,y,w,v,R,N,T,O):Ve(A,v,R,!0):(j&8&&a(y,""),H&16&&le(F,y,w,v,R,N,T,O))},He=(d,h,y,w,v,R,N,T,O)=>{d=d||Vt,h=h||Vt;const A=d.length,j=h.length,F=Math.min(A,j);let B;for(B=0;Bj?Ve(d,v,R,!0,!1,F):le(h,y,w,v,R,N,T,O,F)},Qe=(d,h,y,w,v,R,N,T,O)=>{let A=0;const j=h.length;let F=d.length-1,B=j-1;for(;A<=F&&A<=B;){const H=d[A],G=h[A]=O?At(h[A]):ot(h[A]);if(rn(H,G))b(H,G,y,null,v,R,N,T,O);else break;A++}for(;A<=F&&A<=B;){const H=d[F],G=h[B]=O?At(h[B]):ot(h[B]);if(rn(H,G))b(H,G,y,null,v,R,N,T,O);else break;F--,B--}if(A>F){if(A<=B){const H=B+1,G=HB)for(;A<=F;)ae(d[A],v,R,!0),A++;else{const H=A,G=A,re=new Map;for(A=G;A<=B;A++){const Me=h[A]=O?At(h[A]):ot(h[A]);Me.key!=null&&re.set(Me.key,A)}let te,Ce=0;const Pe=B-G+1;let et=!1,tt=0;const tn=new Array(Pe);for(A=0;A=Pe){ae(Me,v,R,!0);continue}let nt;if(Me.key!=null)nt=re.get(Me.key);else for(te=G;te<=B;te++)if(tn[te-G]===0&&rn(Me,h[te])){nt=te;break}nt===void 0?ae(Me,v,R,!0):(tn[nt-G]=A+1,nt>=tt?tt=nt:et=!0,b(Me,h[nt],y,null,v,R,N,T,O),Ce++)}const Hs=et?$a(tn):Vt;for(te=Hs.length-1,A=Pe-1;A>=0;A--){const Me=G+A,nt=h[Me],Vs=h[Me+1],$s=Me+1{const{el:R,type:N,transition:T,children:O,shapeFlag:A}=d;if(A&6){de(d.component.subTree,h,y,w);return}if(A&128){d.suspense.move(h,y,w);return}if(A&64){N.move(d,h,y,L);return}if(N===Le){r(R,h,y);for(let F=0;FT.enter(R),v);else{const{leave:F,delayLeave:B,afterLeave:H}=T,G=()=>{d.ctx.isUnmounted?s(R):r(R,h,y)},re=()=>{R._isLeaving&&R[ia](!0),F(R,()=>{G(),H&&H()})};B?B(R,G,re):re()}else r(R,h,y)},ae=(d,h,y,w=!1,v=!1)=>{const{type:R,props:N,ref:T,children:O,dynamicChildren:A,shapeFlag:j,patchFlag:F,dirs:B,cacheIndex:H}=d;if(F===-2&&(v=!1),T!=null&&(gt(),hn(T,null,y,d,!0),yt()),H!=null&&(h.renderCache[H]=void 0),j&256){h.ctx.deactivate(d);return}const G=j&1&&B,re=!Kt(d);let te;if(re&&(te=N&&N.onVnodeBeforeUnmount)&&rt(te,h,d),j&6)Ze(d.component,y,w);else{if(j&128){d.suspense.unmount(y,w);return}G&&Tt(d,null,h,"beforeUnmount"),j&64?d.type.remove(d,h,y,L,w):A&&!A.hasOnce&&(R!==Le||F>0&&F&64)?Ve(A,h,y,!1,!0):(R===Le&&F&384||!v&&j&16)&&Ve(O,h,y),w&&Ye(d)}(re&&(te=N&&N.onVnodeUnmounted)||G)&&Ae(()=>{te&&rt(te,h,d),G&&Tt(d,null,h,"unmounted")},y)},Ye=d=>{const{type:h,el:y,anchor:w,transition:v}=d;if(h===Le){$e(y,w);return}if(h===$n){P(d);return}const R=()=>{s(y),v&&!v.persisted&&v.afterLeave&&v.afterLeave()};if(d.shapeFlag&1&&v&&!v.persisted){const{leave:N,delayLeave:T}=v,O=()=>N(y,R);T?T(d.el,R,O):O()}else R()},$e=(d,h)=>{let y;for(;d!==h;)y=p(d),s(d),d=y;s(h)},Ze=(d,h,y)=>{const{bum:w,scope:v,job:R,subTree:N,um:T,m:O,a:A}=d;oi(O),oi(A),w&&jn(w),v.stop(),R&&(R.flags|=8,ae(N,d,h,y)),T&&Ae(T,h),Ae(()=>{d.isUnmounted=!0},h)},Ve=(d,h,y,w=!1,v=!1,R=0)=>{for(let N=R;N{if(d.shapeFlag&6)return S(d.component.subTree);if(d.shapeFlag&128)return d.suspense.next();const h=p(d.anchor||d.el),y=h&&h[jo];return y?p(y):h};let M=!1;const D=(d,h,y)=>{let w;d==null?h._vnode&&(ae(h._vnode,null,null,!0),w=h._vnode.component):b(h._vnode||null,d,h,null,null,null,y),h._vnode=d,M||(M=!0,zs(w),Mo(),M=!1)},L={p:b,um:ae,m:de,r:Ye,mt:Fe,mc:le,pc:K,pbc:fe,n:S,o:e};return{render:D,hydrate:void 0,createApp:Oa(D)}}function qr({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Ct({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Va(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ds(e,t,n=!1){const r=e.children,s=t.children;if(U(r)&&U(s))for(let i=0;i>1,e[n[l]]0&&(t[r]=n[i-1]),n[i]=r)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function al(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:al(t)}function oi(e){if(e)for(let t=0;te.__isSuspense;function qa(e,t){t&&t.pendingBranch?U(e)?t.effects.push(...e):t.effects.push(e):Qc(e)}const Le=Symbol.for("v-fgt"),Tr=Symbol.for("v-txt"),bt=Symbol.for("v-cmt"),$n=Symbol.for("v-stc"),mn=[];let Be=null;function tr(e=!1){mn.push(Be=e?null:[])}function Ka(){mn.pop(),Be=mn[mn.length-1]||null}let wn=1;function nr(e,t=!1){wn+=e,e<0&&Be&&t&&(Be.hasOnce=!0)}function dl(e){return e.dynamicChildren=wn>0?Be||Vt:null,Ka(),wn>0&&Be&&Be.push(e),e}function Wa(e,t,n,r,s,i){return dl(pl(e,t,n,r,s,i,!0))}function us(e,t,n,r,s){return dl(Se(e,t,n,r,s,!0))}function Rn(e){return e?e.__v_isVNode===!0:!1}function rn(e,t){return e.type===t.type&&e.key===t.key}const hl=({key:e})=>e??null,qn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?oe(e)||me(e)||k(e)?{i:ge,r:e,k:t,f:!!n}:e:null);function pl(e,t=null,n=null,r=0,s=null,i=e===Le?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&hl(t),ref:t&&qn(t),scopeId:Bo,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:ge};return l?(Fs(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=oe(n)?8:16),wn>0&&!o&&Be&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Be.push(c),c}const Se=Ga;function Ga(e,t=null,n=null,r=0,s=null,i=!1){if((!e||e===Go)&&(e=bt),Rn(e)){const l=Jt(e,t,!0);return n&&Fs(l,n),wn>0&&!i&&Be&&(l.shapeFlag&6?Be[Be.indexOf(e)]=l:Be.push(l)),l.patchFlag=-2,l}if(su(e)&&(e=e.__vccOpts),t){t=za(t);let{class:l,style:c}=t;l&&!oe(l)&&(t.class=gr(l)),ne(c)&&(Sr(c)&&!U(c)&&(c=ye({},c)),t.style=mr(c))}const o=oe(e)?1:fl(e)?128:ra(e)?64:ne(e)?4:k(e)?2:0;return pl(e,t,n,r,s,o,i,!0)}function za(e){return e?Sr(e)||rl(e)?ye({},e):e:null}function Jt(e,t,n=!1,r=!1){const{props:s,ref:i,patchFlag:o,children:l,transition:c}=e,u=t?Xa(s||{},t):s,a={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&hl(u),ref:t&&t.ref?n&&i?U(i)?i.concat(qn(t)):[i,qn(t)]:qn(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Le?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Jt(e.ssContent),ssFallback:e.ssFallback&&Jt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&Cs(a,c.clone(a)),a}function Ja(e=" ",t=0){return Se(Tr,null,e,t)}function Qh(e,t){const n=Se($n,null,e);return n.staticCount=t,n}function Yh(e="",t=!1){return t?(tr(),us(bt,null,e)):Se(bt,null,e)}function ot(e){return e==null||typeof e=="boolean"?Se(bt):U(e)?Se(Le,null,e.slice()):Rn(e)?At(e):Se(Tr,null,String(e))}function At(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Jt(e)}function Fs(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(U(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),Fs(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!rl(t)?t._ctx=ge:s===3&&ge&&(ge.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else k(t)?(t={default:t,_ctx:ge},n=32):(t=String(t),r&64?(n=16,t=[Ja(t)]):n=8);e.children=t,e.shapeFlag|=n}function Xa(...e){const t={};for(let n=0;nwe||ge;let rr,fs;{const e=pr(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),i=>{s.length>1?s.forEach(o=>o(i)):s[0](i)}};rr=t("__VUE_INSTANCE_SETTERS__",n=>we=n),fs=t("__VUE_SSR_SETTERS__",n=>Sn=n)}const Tn=e=>{const t=we;return rr(e),e.scope.on(),()=>{e.scope.off(),rr(t)}},li=()=>{we&&we.scope.off(),rr(null)};function ml(e){return e.vnode.shapeFlag&4}let Sn=!1;function eu(e,t=!1,n=!1){t&&fs(t);const{props:r,children:s}=e.vnode,i=ml(e);Fa(e,r,i,t),Ua(e,s,n||t);const o=i?tu(e,t):void 0;return t&&fs(!1),o}function tu(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,ba);const{setup:r}=n;if(r){gt();const s=e.setupContext=r.length>1?yl(e):null,i=Tn(e),o=xn(r,e,0,[e.props,s]),l=so(o);if(yt(),i(),(l||e.sp)&&!Kt(e)&&Vo(e),l){if(o.then(li,li),t)return o.then(c=>{ci(e,c)}).catch(c=>{Ar(c,e,0)});e.asyncDep=o}else ci(e,o)}else gl(e)}function ci(e,t,n){k(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ne(t)&&(e.setupState=No(t)),gl(e)}function gl(e,t,n){const r=e.type;e.render||(e.render=r.render||lt);{const s=Tn(e);gt();try{wa(e)}finally{yt(),s()}}}const nu={get(e,t){return Ee(e,"get",""),e[t]}};function yl(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,nu),slots:e.slots,emit:e.emit,expose:t}}function Pr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(No(Bc(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in pn)return pn[n](e)},has(t,n){return n in t||n in pn}})):e.proxy}function ru(e,t=!0){return k(e)?e.displayName||e.name:e.name||t&&e.__name}function su(e){return k(e)&&"__vccOpts"in e}const qe=(e,t)=>Wc(e,t,Sn);function _l(e,t,n){try{nr(-1);const r=arguments.length;return r===2?ne(t)&&!U(t)?Rn(t)?Se(e,null,[t]):Se(e,t):Se(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Rn(n)&&(n=[n]),Se(e,t,n))}finally{nr(1)}}const iu="3.5.26";let ds;const ai=typeof window<"u"&&window.trustedTypes;if(ai)try{ds=ai.createPolicy("vue",{createHTML:e=>e})}catch{}const bl=ds?e=>ds.createHTML(e):e=>e,ou="http://www.w3.org/2000/svg",lu="http://www.w3.org/1998/Math/MathML",ht=typeof document<"u"?document:null,ui=ht&&ht.createElement("template"),cu={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?ht.createElementNS(ou,e):t==="mathml"?ht.createElementNS(lu,e):n?ht.createElement(e,{is:n}):ht.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>ht.createTextNode(e),createComment:e=>ht.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ht.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,i){const o=n?n.previousSibling:t.lastChild;if(s&&(s===i||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===i||!(s=s.nextSibling)););else{ui.innerHTML=bl(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const l=ui.content;if(r==="svg"||r==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},au=Symbol("_vtc");function uu(e,t,n){const r=e[au];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const sr=Symbol("_vod"),El=Symbol("_vsh"),Zh={name:"show",beforeMount(e,{value:t},{transition:n}){e[sr]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):sn(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),sn(e,!0),r.enter(e)):r.leave(e,()=>{sn(e,!1)}):sn(e,t))},beforeUnmount(e,{value:t}){sn(e,t)}};function sn(e,t){e.style.display=t?e[sr]:"none",e[El]=!t}const fu=Symbol(""),du=/(?:^|;)\s*display\s*:/;function hu(e,t,n){const r=e.style,s=oe(n);let i=!1;if(n&&!s){if(t)if(oe(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&Kn(r,l,"")}else for(const o in t)n[o]==null&&Kn(r,o,"");for(const o in n)o==="display"&&(i=!0),Kn(r,o,n[o])}else if(s){if(t!==n){const o=r[fu];o&&(n+=";"+o),r.cssText=n,i=du.test(n)}}else t&&e.removeAttribute("style");sr in e&&(e[sr]=i?r.display:"",e[El]&&(r.display="none"))}const fi=/\s*!important$/;function Kn(e,t,n){if(U(n))n.forEach(r=>Kn(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=pu(e,t);fi.test(n)?e.setProperty(Et(r),n.replace(fi,""),"important"):e[r]=n}}const di=["Webkit","Moz","ms"],Kr={};function pu(e,t){const n=Kr[t];if(n)return n;let r=je(t);if(r!=="filter"&&r in e)return Kr[t]=r;r=dr(r);for(let s=0;sWr||(_u.then(()=>Wr=0),Wr=Date.now());function Eu(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;ct(wu(r,n.value),t,5,[r])};return n.value=e,n.attached=bu(),n}function wu(e,t){if(U(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const _i=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Ru=(e,t,n,r,s,i)=>{const o=s==="svg";t==="class"?uu(e,r,o):t==="style"?hu(e,n,r):cr(t)?Rs(t)||gu(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Su(e,t,r,o))?(mi(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&pi(e,t,r,o,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!oe(r))?mi(e,je(t),r,i,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),pi(e,t,r,o))};function Su(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&_i(t)&&k(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return _i(t)&&oe(n)?!1:t in e}const ir=e=>{const t=e.props["onUpdate:modelValue"]||!1;return U(t)?n=>jn(t,n):t};function vu(e){e.target.composing=!0}function bi(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Gt=Symbol("_assign");function Ei(e,t,n){return t&&(e=e.trim()),n&&(e=hr(e)),e}const ep={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[Gt]=ir(s);const i=r||s.props&&s.props.type==="number";Nt(e,t?"change":"input",o=>{o.target.composing||e[Gt](Ei(e.value,n,i))}),(n||i)&&Nt(e,"change",()=>{e.value=Ei(e.value,n,i)}),t||(Nt(e,"compositionstart",vu),Nt(e,"compositionend",bi),Nt(e,"change",bi))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:s,number:i}},o){if(e[Gt]=ir(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?hr(e.value):e.value,c=t??"";l!==c&&(document.activeElement===e&&e.type!=="range"&&(r&&t===n||s&&e.value.trim()===c)||(e.value=c))}},tp={deep:!0,created(e,{value:t,modifiers:{number:n}},r){const s=ar(t);Nt(e,"change",()=>{const i=Array.prototype.filter.call(e.options,o=>o.selected).map(o=>n?hr(or(o)):or(o));e[Gt](e.multiple?s?new Set(i):i:i[0]),e._assigning=!0,Os(()=>{e._assigning=!1})}),e[Gt]=ir(r)},mounted(e,{value:t}){wi(e,t)},beforeUpdate(e,t,n){e[Gt]=ir(n)},updated(e,{value:t}){e._assigning||wi(e,t)}};function wi(e,t){const n=e.multiple,r=U(t);if(!(n&&!r&&!ar(t))){for(let s=0,i=e.options.length;sString(u)===String(l)):o.selected=mc(t,l)>-1}else o.selected=t.has(l);else if(yr(or(o),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function or(e){return"_value"in e?e._value:e.value}const Au=["ctrl","shift","alt","meta"],xu={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Au.some(n=>e[`${n}Key`]&&!t.includes(n))},np=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=((s,...i)=>{for(let o=0;o{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=(s=>{if(!("key"in s))return;const i=Et(s.key);if(t.some(o=>o===i||Ou[o]===i))return e(s)}))},Tu=ye({patchProp:Ru},cu);let Ri;function Cu(){return Ri||(Ri=ka(Tu))}const Pu=((...e)=>{const t=Cu().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=Iu(r);if(!s)return;const i=t._component;!k(i)&&!i.render&&!i.template&&(i.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const o=n(s,!1,Nu(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),o},t});function Nu(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Iu(e){return oe(e)?document.querySelector(e):e}const Du={id:"app"},Fu=Ps({__name:"App",setup(e){return(t,n)=>{const r=_a("router-view");return tr(),Wa("div",Du,[Se(r)])}}}),Mu="modulepreload",Lu=function(e){return"/"+e},Si={},Ut=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){let c=function(u){return Promise.all(u.map(a=>Promise.resolve(a).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=o?.nonce||o?.getAttribute("nonce");s=c(n.map(u=>{if(u=Lu(u),u in Si)return;Si[u]=!0;const a=u.endsWith(".css"),f=a?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${u}"]${f}`))return;const p=document.createElement("link");if(p.rel=a?"stylesheet":Mu,a||(p.as="script"),p.crossOrigin="",p.href=u,l&&p.setAttribute("nonce",l),document.head.appendChild(p),a)return new Promise((m,g)=>{p.addEventListener("load",m),p.addEventListener("error",()=>g(new Error(`Unable to preload CSS for ${u}`)))})}))}function i(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return s.then(o=>{for(const l of o||[])l.status==="rejected"&&i(l.reason);return t().catch(i)})};const Ht=typeof document<"u";function wl(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Bu(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&wl(e.default)}const Y=Object.assign;function Gr(e,t){const n={};for(const r in t){const s=t[r];n[r]=Je(s)?s.map(e):e(s)}return n}const gn=()=>{},Je=Array.isArray;function vi(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}const Rl=/#/g,Uu=/&/g,ju=/\//g,ku=/=/g,Hu=/\?/g,Sl=/\+/g,Vu=/%5B/g,$u=/%5D/g,vl=/%5E/g,qu=/%60/g,Al=/%7B/g,Ku=/%7C/g,xl=/%7D/g,Wu=/%20/g;function Ms(e){return e==null?"":encodeURI(""+e).replace(Ku,"|").replace(Vu,"[").replace($u,"]")}function Gu(e){return Ms(e).replace(Al,"{").replace(xl,"}").replace(vl,"^")}function hs(e){return Ms(e).replace(Sl,"%2B").replace(Wu,"+").replace(Rl,"%23").replace(Uu,"%26").replace(qu,"`").replace(Al,"{").replace(xl,"}").replace(vl,"^")}function zu(e){return hs(e).replace(ku,"%3D")}function Ju(e){return Ms(e).replace(Rl,"%23").replace(Hu,"%3F")}function Xu(e){return Ju(e).replace(ju,"%2F")}function vn(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const Qu=/\/$/,Yu=e=>e.replace(Qu,"");function zr(e,t,n="/"){let r,s={},i="",o="";const l=t.indexOf("#");let c=t.indexOf("?");return c=l>=0&&c>l?-1:c,c>=0&&(r=t.slice(0,c),i=t.slice(c,l>0?l:t.length),s=e(i.slice(1))),l>=0&&(r=r||t.slice(0,l),o=t.slice(l,t.length)),r=nf(r??t,n),{fullPath:r+i+o,path:r,query:s,hash:vn(o)}}function Zu(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Ai(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function ef(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&Xt(t.matched[r],n.matched[s])&&Ol(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Xt(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Ol(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!tf(e[n],t[n]))return!1;return!0}function tf(e,t){return Je(e)?xi(e,t):Je(t)?xi(t,e):e?.valueOf()===t?.valueOf()}function xi(e,t){return Je(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function nf(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let i=n.length-1,o,l;for(o=0;o1&&i--;else break;return n.slice(0,i).join("/")+"/"+r.slice(o).join("/")}const Rt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let ps=(function(e){return e.pop="pop",e.push="push",e})({}),Jr=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function rf(e){if(!e)if(Ht){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Yu(e)}const sf=/^[^#]+#/;function of(e,t){return e.replace(sf,"#")+t}function lf(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const Nr=()=>({left:window.scrollX,top:window.scrollY});function cf(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=lf(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Oi(e,t){return(history.state?history.state.position-t:-1)+e}const ms=new Map;function af(e,t){ms.set(e,t)}function uf(e){const t=ms.get(e);return ms.delete(e),t}function ff(e){return typeof e=="string"||e&&typeof e=="object"}function Tl(e){return typeof e=="string"||typeof e=="symbol"}let ce=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const Cl=Symbol("");ce.MATCHER_NOT_FOUND+"",ce.NAVIGATION_GUARD_REDIRECT+"",ce.NAVIGATION_ABORTED+"",ce.NAVIGATION_CANCELLED+"",ce.NAVIGATION_DUPLICATED+"";function Qt(e,t){return Y(new Error,{type:e,[Cl]:!0},t)}function ft(e,t){return e instanceof Error&&Cl in e&&(t==null||!!(e.type&t))}const df=["params","query","hash"];function hf(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of df)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function pf(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;rs&&hs(s)):[r&&hs(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function mf(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=Je(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const gf=Symbol(""),Ci=Symbol(""),Ir=Symbol(""),Ls=Symbol(""),gs=Symbol("");function on(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function xt(e,t,n,r,s,i=o=>o()){const o=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((l,c)=>{const u=p=>{p===!1?c(Qt(ce.NAVIGATION_ABORTED,{from:n,to:t})):p instanceof Error?c(p):ff(p)?c(Qt(ce.NAVIGATION_GUARD_REDIRECT,{from:t,to:p})):(o&&r.enterCallbacks[s]===o&&typeof p=="function"&&o.push(p),l())},a=i(()=>e.call(r&&r.instances[s],t,n,u));let f=Promise.resolve(a);e.length<3&&(f=f.then(u)),f.catch(p=>c(p))})}function Xr(e,t,n,r,s=i=>i()){const i=[];for(const o of e)for(const l in o.components){let c=o.components[l];if(!(t!=="beforeRouteEnter"&&!o.instances[l]))if(wl(c)){const u=(c.__vccOpts||c)[t];u&&i.push(xt(u,n,r,o,l,s))}else{let u=c();i.push(()=>u.then(a=>{if(!a)throw new Error(`Couldn't resolve component "${l}" at "${o.path}"`);const f=Bu(a)?a.default:a;o.mods[l]=a,o.components[l]=f;const p=(f.__vccOpts||f)[t];return p&&xt(p,n,r,o,l,s)()}))}}return i}function yf(e,t){const n=[],r=[],s=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;oXt(u,l))?r.push(l):n.push(l));const c=e.matched[o];c&&(t.matched.find(u=>Xt(u,c))||s.push(c))}return[n,r,s]}let _f=()=>location.protocol+"//"+location.host;function Pl(e,t){const{pathname:n,search:r,hash:s}=t,i=e.indexOf("#");if(i>-1){let o=s.includes(e.slice(i))?e.slice(i).length:1,l=s.slice(o);return l[0]!=="/"&&(l="/"+l),Ai(l,"")}return Ai(n,e)+r+s}function bf(e,t,n,r){let s=[],i=[],o=null;const l=({state:p})=>{const m=Pl(e,location),g=n.value,b=t.value;let E=0;if(p){if(n.value=m,t.value=p,o&&o===g){o=null;return}E=b?p.position-b.position:0}else r(m);s.forEach(x=>{x(n.value,g,{delta:E,type:ps.pop,direction:E?E>0?Jr.forward:Jr.back:Jr.unknown})})};function c(){o=n.value}function u(p){s.push(p);const m=()=>{const g=s.indexOf(p);g>-1&&s.splice(g,1)};return i.push(m),m}function a(){if(document.visibilityState==="hidden"){const{history:p}=window;if(!p.state)return;p.replaceState(Y({},p.state,{scroll:Nr()}),"")}}function f(){for(const p of i)p();i=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",a),document.removeEventListener("visibilitychange",a)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",a),document.addEventListener("visibilitychange",a),{pauseListeners:c,listen:u,destroy:f}}function Pi(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?Nr():null}}function Ef(e){const{history:t,location:n}=window,r={value:Pl(e,n)},s={value:t.state};s.value||i(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(c,u,a){const f=e.indexOf("#"),p=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+c:_f()+e+c;try{t[a?"replaceState":"pushState"](u,"",p),s.value=u}catch(m){console.error(m),n[a?"replace":"assign"](p)}}function o(c,u){i(c,Y({},t.state,Pi(s.value.back,c,s.value.forward,!0),u,{position:s.value.position}),!0),r.value=c}function l(c,u){const a=Y({},s.value,t.state,{forward:c,scroll:Nr()});i(a.current,a,!0),i(c,Y({},Pi(r.value,c,null),{position:a.position+1},u),!1),r.value=c}return{location:r,state:s,push:l,replace:o}}function wf(e){e=rf(e);const t=Ef(e),n=bf(e,t.state,t.location,t.replace);function r(i,o=!0){o||n.pauseListeners(),history.go(i)}const s=Y({location:"",base:e,go:r,createHref:of.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}let It=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var he=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(he||{});const Rf={type:It.Static,value:""},Sf=/[a-zA-Z0-9_]/;function vf(e){if(!e)return[[]];if(e==="/")return[[Rf]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${u}": ${m}`)}let n=he.Static,r=n;const s=[];let i;function o(){i&&s.push(i),i=[]}let l=0,c,u="",a="";function f(){u&&(n===he.Static?i.push({type:It.Static,value:u}):n===he.Param||n===he.ParamRegExp||n===he.ParamRegExpEnd?(i.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),i.push({type:It.Param,value:u,regexp:a,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),u="")}function p(){u+=c}for(;lt.length?t.length===1&&t[0]===xe.Static+xe.Segment?1:-1:0}function Nl(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const Cf={strict:!1,end:!0,sensitive:!1};function Pf(e,t,n){const r=Of(vf(e.path),n),s=Y(r,{record:e,parent:t,children:[],alias:[]});return t&&!s.record.aliasOf==!t.record.aliasOf&&t.children.push(s),s}function Nf(e,t){const n=[],r=new Map;t=vi(Cf,t);function s(f){return r.get(f)}function i(f,p,m){const g=!m,b=Fi(f);b.aliasOf=m&&m.record;const E=vi(t,f),x=[b];if("alias"in f){const P=typeof f.alias=="string"?[f.alias]:f.alias;for(const V of P)x.push(Fi(Y({},b,{components:m?m.record.components:b.components,path:V,aliasOf:m?m.record:b})))}let C,I;for(const P of x){const{path:V}=P;if(p&&V[0]!=="/"){const z=p.record.path,$=z[z.length-1]==="/"?"":"/";P.path=p.record.path+(V&&$+V)}if(C=Pf(P,p,E),m?m.alias.push(C):(I=I||C,I!==C&&I.alias.push(C),g&&f.name&&!Mi(C)&&o(f.name)),Il(C)&&c(C),b.children){const z=b.children;for(let $=0;${o(I)}:gn}function o(f){if(Tl(f)){const p=r.get(f);p&&(r.delete(f),n.splice(n.indexOf(p),1),p.children.forEach(o),p.alias.forEach(o))}else{const p=n.indexOf(f);p>-1&&(n.splice(p,1),f.record.name&&r.delete(f.record.name),f.children.forEach(o),f.alias.forEach(o))}}function l(){return n}function c(f){const p=Ff(f,n);n.splice(p,0,f),f.record.name&&!Mi(f)&&r.set(f.record.name,f)}function u(f,p){let m,g={},b,E;if("name"in f&&f.name){if(m=r.get(f.name),!m)throw Qt(ce.MATCHER_NOT_FOUND,{location:f});E=m.record.name,g=Y(Di(p.params,m.keys.filter(I=>!I.optional).concat(m.parent?m.parent.keys.filter(I=>I.optional):[]).map(I=>I.name)),f.params&&Di(f.params,m.keys.map(I=>I.name))),b=m.stringify(g)}else if(f.path!=null)b=f.path,m=n.find(I=>I.re.test(b)),m&&(g=m.parse(b),E=m.record.name);else{if(m=p.name?r.get(p.name):n.find(I=>I.re.test(p.path)),!m)throw Qt(ce.MATCHER_NOT_FOUND,{location:f,currentLocation:p});E=m.record.name,g=Y({},p.params,f.params),b=m.stringify(g)}const x=[];let C=m;for(;C;)x.unshift(C.record),C=C.parent;return{name:E,path:b,params:g,matched:x,meta:Df(x)}}e.forEach(f=>i(f));function a(){n.length=0,r.clear()}return{addRoute:i,resolve:u,removeRoute:o,clearRoutes:a,getRoutes:l,getRecordMatcher:s}}function Di(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Fi(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:If(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function If(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Mi(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Df(e){return e.reduce((t,n)=>Y(t,n.meta),{})}function Ff(e,t){let n=0,r=t.length;for(;n!==r;){const i=n+r>>1;Nl(e,t[i])<0?r=i:n=i+1}const s=Mf(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function Mf(e){let t=e;for(;t=t.parent;)if(Il(t)&&Nl(e,t)===0)return t}function Il({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Li(e){const t=We(Ir),n=We(Ls),r=qe(()=>{const c=Ot(e.to);return t.resolve(c)}),s=qe(()=>{const{matched:c}=r.value,{length:u}=c,a=c[u-1],f=n.matched;if(!a||!f.length)return-1;const p=f.findIndex(Xt.bind(null,a));if(p>-1)return p;const m=Bi(c[u-2]);return u>1&&Bi(a)===m&&f[f.length-1].path!==m?f.findIndex(Xt.bind(null,c[u-2])):p}),i=qe(()=>s.value>-1&&kf(n.params,r.value.params)),o=qe(()=>s.value>-1&&s.value===n.matched.length-1&&Ol(n.params,r.value.params));function l(c={}){if(jf(c)){const u=t[Ot(e.replace)?"replace":"push"](Ot(e.to)).catch(gn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:r,href:qe(()=>r.value.href),isActive:i,isExactActive:o,navigate:l}}function Lf(e){return e.length===1?e[0]:e}const Bf=Ps({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:Li,setup(e,{slots:t}){const n=wr(Li(e)),{options:r}=We(Ir),s=qe(()=>({[Ui(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Ui(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&Lf(t.default(n));return e.custom?i:_l("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},i)}}}),Uf=Bf;function jf(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function kf(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!Je(s)||s.length!==r.length||r.some((i,o)=>i.valueOf()!==s[o].valueOf()))return!1}return!0}function Bi(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Ui=(e,t,n)=>e??t??n,Hf=Ps({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=We(gs),s=qe(()=>e.route||r.value),i=We(Ci,0),o=qe(()=>{let u=Ot(i);const{matched:a}=s.value;let f;for(;(f=a[u])&&!f.components;)u++;return u}),l=qe(()=>s.value.matched[o.value]);kn(Ci,qe(()=>o.value+1)),kn(gf,l),kn(gs,s);const c=vr();return Hn(()=>[c.value,l.value,e.name],([u,a,f],[p,m,g])=>{a&&(a.instances[f]=u,m&&m!==a&&u&&u===p&&(a.leaveGuards.size||(a.leaveGuards=m.leaveGuards),a.updateGuards.size||(a.updateGuards=m.updateGuards))),u&&a&&(!m||!Xt(a,m)||!p)&&(a.enterCallbacks[f]||[]).forEach(b=>b(u))},{flush:"post"}),()=>{const u=s.value,a=e.name,f=l.value,p=f&&f.components[a];if(!p)return ji(n.default,{Component:p,route:u});const m=f.props[a],g=m?m===!0?u.params:typeof m=="function"?m(u):m:null,E=_l(p,Y({},g,t,{onVnodeUnmounted:x=>{x.component.isUnmounted&&(f.instances[a]=null)},ref:c}));return ji(n.default,{Component:E,route:u})||E}}});function ji(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Vf=Hf;function $f(e){const t=Nf(e.routes,e),n=e.parseQuery||pf,r=e.stringifyQuery||Ti,s=e.history,i=on(),o=on(),l=on(),c=Uc(Rt);let u=Rt;Ht&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const a=Gr.bind(null,S=>""+S),f=Gr.bind(null,Xu),p=Gr.bind(null,vn);function m(S,M){let D,L;return Tl(S)?(D=t.getRecordMatcher(S),L=M):L=S,t.addRoute(L,D)}function g(S){const M=t.getRecordMatcher(S);M&&t.removeRoute(M)}function b(){return t.getRoutes().map(S=>S.record)}function E(S){return!!t.getRecordMatcher(S)}function x(S,M){if(M=Y({},M||c.value),typeof S=="string"){const y=zr(n,S,M.path),w=t.resolve({path:y.path},M),v=s.createHref(y.fullPath);return Y(y,w,{params:p(w.params),hash:vn(y.hash),redirectedFrom:void 0,href:v})}let D;if(S.path!=null)D=Y({},S,{path:zr(n,S.path,M.path).path});else{const y=Y({},S.params);for(const w in y)y[w]==null&&delete y[w];D=Y({},S,{params:f(y)}),M.params=f(M.params)}const L=t.resolve(D,M),W=S.hash||"";L.params=a(p(L.params));const d=Zu(r,Y({},S,{hash:Gu(W),path:L.path})),h=s.createHref(d);return Y({fullPath:d,hash:W,query:r===Ti?mf(S.query):S.query||{}},L,{redirectedFrom:void 0,href:h})}function C(S){return typeof S=="string"?zr(n,S,c.value.path):Y({},S)}function I(S,M){if(u!==S)return Qt(ce.NAVIGATION_CANCELLED,{from:M,to:S})}function P(S){return $(S)}function V(S){return P(Y(C(S),{replace:!0}))}function z(S,M){const D=S.matched[S.matched.length-1];if(D&&D.redirect){const{redirect:L}=D;let W=typeof L=="function"?L(S,M):L;return typeof W=="string"&&(W=W.includes("?")||W.includes("#")?W=C(W):{path:W},W.params={}),Y({query:S.query,hash:S.hash,params:W.path!=null?{}:S.params},W)}}function $(S,M){const D=u=x(S),L=c.value,W=S.state,d=S.force,h=S.replace===!0,y=z(D,L);if(y)return $(Y(C(y),{state:typeof y=="object"?Y({},W,y.state):W,force:d,replace:h}),M||D);const w=D;w.redirectedFrom=M;let v;return!d&&ef(r,L,D)&&(v=Qt(ce.NAVIGATION_DUPLICATED,{to:w,from:L}),de(L,L,!0,!1)),(v?Promise.resolve(v):fe(w,L)).catch(R=>ft(R)?ft(R,ce.NAVIGATION_GUARD_REDIRECT)?R:Qe(R):K(R,w,L)).then(R=>{if(R){if(ft(R,ce.NAVIGATION_GUARD_REDIRECT))return $(Y({replace:h},C(R.to),{state:typeof R.to=="object"?Y({},W,R.to.state):W,force:d}),M||w)}else R=ke(w,L,!0,h,W);return Te(w,L,R),R})}function le(S,M){const D=I(S,M);return D?Promise.reject(D):Promise.resolve()}function ie(S){const M=$e.values().next().value;return M&&typeof M.runWithContext=="function"?M.runWithContext(S):S()}function fe(S,M){let D;const[L,W,d]=yf(S,M);D=Xr(L.reverse(),"beforeRouteLeave",S,M);for(const y of L)y.leaveGuards.forEach(w=>{D.push(xt(w,S,M))});const h=le.bind(null,S,M);return D.push(h),Ve(D).then(()=>{D=[];for(const y of i.list())D.push(xt(y,S,M));return D.push(h),Ve(D)}).then(()=>{D=Xr(W,"beforeRouteUpdate",S,M);for(const y of W)y.updateGuards.forEach(w=>{D.push(xt(w,S,M))});return D.push(h),Ve(D)}).then(()=>{D=[];for(const y of d)if(y.beforeEnter)if(Je(y.beforeEnter))for(const w of y.beforeEnter)D.push(xt(w,S,M));else D.push(xt(y.beforeEnter,S,M));return D.push(h),Ve(D)}).then(()=>(S.matched.forEach(y=>y.enterCallbacks={}),D=Xr(d,"beforeRouteEnter",S,M,ie),D.push(h),Ve(D))).then(()=>{D=[];for(const y of o.list())D.push(xt(y,S,M));return D.push(h),Ve(D)}).catch(y=>ft(y,ce.NAVIGATION_CANCELLED)?y:Promise.reject(y))}function Te(S,M,D){l.list().forEach(L=>ie(()=>L(S,M,D)))}function ke(S,M,D,L,W){const d=I(S,M);if(d)return d;const h=M===Rt,y=Ht?history.state:{};D&&(L||h?s.replace(S.fullPath,Y({scroll:h&&y&&y.scroll},W)):s.push(S.fullPath,W)),c.value=S,de(S,M,D,h),Qe()}let _e;function Fe(){_e||(_e=s.listen((S,M,D)=>{if(!Ze.listening)return;const L=x(S),W=z(L,Ze.currentRoute.value);if(W){$(Y(W,{replace:!0,force:!0}),L).catch(gn);return}u=L;const d=c.value;Ht&&af(Oi(d.fullPath,D.delta),Nr()),fe(L,d).catch(h=>ft(h,ce.NAVIGATION_ABORTED|ce.NAVIGATION_CANCELLED)?h:ft(h,ce.NAVIGATION_GUARD_REDIRECT)?($(Y(C(h.to),{force:!0}),L).then(y=>{ft(y,ce.NAVIGATION_ABORTED|ce.NAVIGATION_DUPLICATED)&&!D.delta&&D.type===ps.pop&&s.go(-1,!1)}).catch(gn),Promise.reject()):(D.delta&&s.go(-D.delta,!1),K(h,L,d))).then(h=>{h=h||ke(L,d,!1),h&&(D.delta&&!ft(h,ce.NAVIGATION_CANCELLED)?s.go(-D.delta,!1):D.type===ps.pop&&ft(h,ce.NAVIGATION_ABORTED|ce.NAVIGATION_DUPLICATED)&&s.go(-1,!1)),Te(L,d,h)}).catch(gn)}))}let at=on(),ee=on(),J;function K(S,M,D){Qe(S);const L=ee.list();return L.length?L.forEach(W=>W(S,M,D)):console.error(S),Promise.reject(S)}function He(){return J&&c.value!==Rt?Promise.resolve():new Promise((S,M)=>{at.add([S,M])})}function Qe(S){return J||(J=!S,Fe(),at.list().forEach(([M,D])=>S?D(S):M()),at.reset()),S}function de(S,M,D,L){const{scrollBehavior:W}=e;if(!Ht||!W)return Promise.resolve();const d=!D&&uf(Oi(S.fullPath,0))||(L||!D)&&history.state&&history.state.scroll||null;return Os().then(()=>W(S,M,d)).then(h=>h&&cf(h)).catch(h=>K(h,S,M))}const ae=S=>s.go(S);let Ye;const $e=new Set,Ze={currentRoute:c,listening:!0,addRoute:m,removeRoute:g,clearRoutes:t.clearRoutes,hasRoute:E,getRoutes:b,resolve:x,options:e,push:P,replace:V,go:ae,back:()=>ae(-1),forward:()=>ae(1),beforeEach:i.add,beforeResolve:o.add,afterEach:l.add,onError:ee.add,isReady:He,install(S){S.component("RouterLink",Uf),S.component("RouterView",Vf),S.config.globalProperties.$router=Ze,Object.defineProperty(S.config.globalProperties,"$route",{enumerable:!0,get:()=>Ot(c)}),Ht&&!Ye&&c.value===Rt&&(Ye=!0,P(s.location).catch(L=>{}));const M={};for(const L in Rt)Object.defineProperty(M,L,{get:()=>c.value[L],enumerable:!0});S.provide(Ir,Ze),S.provide(Ls,Co(M)),S.provide(gs,c);const D=S.unmount;$e.add(S),S.unmount=function(){$e.delete(S),$e.size<1&&(u=Rt,_e&&_e(),_e=null,c.value=Rt,Ye=!1,J=!1),D()}}};function Ve(S){return S.reduce((M,D)=>M.then(()=>ie(D)),Promise.resolve())}return Ze}function sp(){return We(Ir)}function ip(e){return We(Ls)}const ki=()=>Ut(()=>import("./HomePage-7MZxEK4U.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10])),qf=()=>Ut(()=>import("./UploadPage-t63bWSjh.js"),__vite__mapDeps([11,1,12,5,13,3,14,4,15,8,9,16])),Kf=()=>Ut(()=>import("./AdminLogin-DALRrCFv.js"),__vite__mapDeps([17,1,18,12,5,9,19])),Wf=()=>Ut(()=>import("./AdminDashboard-B71bpyA0.js"),__vite__mapDeps([20,1,2,3,21,22,9,23])),Gf=()=>Ut(()=>import("./BatchManagement-CeACwrQ7.js"),__vite__mapDeps([24,1,18,12,5,2,13,3,25,4,7,15,21,6,14,22,9,26])),zf=()=>Ut(()=>import("./TokenManagement-Cwst5YRl.js"),__vite__mapDeps([27,1,18,12,5,2,3,25,4,7,15,21,14,22,9,28])),Jf=()=>Ut(()=>import("./ConfigManagement-DKtU2SIn.js"),__vite__mapDeps([29,1,3,18,12,5,13,4,25,7,15,22]));function Bn(e,t,n){localStorage.getItem("admin_token")?n():n("/admin/login")}const Xf=[{path:"/",name:"HomePage",component:ki},{path:"/upload",name:"UploadPage",component:qf},{path:"/:code",name:"HomePageWithCode",component:ki,props:!0},{path:"/admin/login",name:"AdminLogin",component:Kf},{path:"/admin",name:"AdminDashboard",component:Wf,beforeEnter:Bn},{path:"/admin/batches",name:"BatchManagement",component:Gf,beforeEnter:Bn},{path:"/admin/tokens",name:"TokenManagement",component:zf,beforeEnter:Bn},{path:"/admin/config",name:"ConfigManagement",component:Jf,beforeEnter:Bn}],Qf=$f({history:wf(),routes:Xf});function Dl(e,t){return function(){return e.apply(t,arguments)}}const{toString:Yf}=Object.prototype,{getPrototypeOf:Bs}=Object,{iterator:Dr,toStringTag:Fl}=Symbol,Fr=(e=>t=>{const n=Yf.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Xe=e=>(e=e.toLowerCase(),t=>Fr(t)===e),Mr=e=>t=>typeof t===e,{isArray:Zt}=Array,Yt=Mr("undefined");function Cn(e){return e!==null&&!Yt(e)&&e.constructor!==null&&!Yt(e.constructor)&&Ie(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Ml=Xe("ArrayBuffer");function Zf(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Ml(e.buffer),t}const ed=Mr("string"),Ie=Mr("function"),Ll=Mr("number"),Pn=e=>e!==null&&typeof e=="object",td=e=>e===!0||e===!1,Wn=e=>{if(Fr(e)!=="object")return!1;const t=Bs(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Fl in e)&&!(Dr in e)},nd=e=>{if(!Pn(e)||Cn(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},rd=Xe("Date"),sd=Xe("File"),id=Xe("Blob"),od=Xe("FileList"),ld=e=>Pn(e)&&Ie(e.pipe),cd=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||Ie(e.append)&&((t=Fr(e))==="formdata"||t==="object"&&Ie(e.toString)&&e.toString()==="[object FormData]"))},ad=Xe("URLSearchParams"),[ud,fd,dd,hd]=["ReadableStream","Request","Response","Headers"].map(Xe),pd=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Nn(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,s;if(typeof e!="object"&&(e=[e]),Zt(e))for(r=0,s=e.length;r0;)if(s=n[r],t===s.toLowerCase())return s;return null}const Dt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Ul=e=>!Yt(e)&&e!==Dt;function ys(){const{caseless:e,skipUndefined:t}=Ul(this)&&this||{},n={},r=(s,i)=>{const o=e&&Bl(n,i)||i;Wn(n[o])&&Wn(s)?n[o]=ys(n[o],s):Wn(s)?n[o]=ys({},s):Zt(s)?n[o]=s.slice():(!t||!Yt(s))&&(n[o]=s)};for(let s=0,i=arguments.length;s(Nn(t,(s,i)=>{n&&Ie(s)?e[i]=Dl(s,n):e[i]=s},{allOwnKeys:r}),e),gd=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),yd=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},_d=(e,t,n,r)=>{let s,i,o;const l={};if(t=t||{},e==null)return t;do{for(s=Object.getOwnPropertyNames(e),i=s.length;i-- >0;)o=s[i],(!r||r(o,e,t))&&!l[o]&&(t[o]=e[o],l[o]=!0);e=n!==!1&&Bs(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},bd=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},Ed=e=>{if(!e)return null;if(Zt(e))return e;let t=e.length;if(!Ll(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},wd=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Bs(Uint8Array)),Rd=(e,t)=>{const r=(e&&e[Dr]).call(e);let s;for(;(s=r.next())&&!s.done;){const i=s.value;t.call(e,i[0],i[1])}},Sd=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},vd=Xe("HTMLFormElement"),Ad=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,s){return r.toUpperCase()+s}),Hi=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),xd=Xe("RegExp"),jl=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};Nn(n,(s,i)=>{let o;(o=t(s,i,e))!==!1&&(r[i]=o||s)}),Object.defineProperties(e,r)},Od=e=>{jl(e,(t,n)=>{if(Ie(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(Ie(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},Td=(e,t)=>{const n={},r=s=>{s.forEach(i=>{n[i]=!0})};return Zt(e)?r(e):r(String(e).split(t)),n},Cd=()=>{},Pd=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Nd(e){return!!(e&&Ie(e.append)&&e[Fl]==="FormData"&&e[Dr])}const Id=e=>{const t=new Array(10),n=(r,s)=>{if(Pn(r)){if(t.indexOf(r)>=0)return;if(Cn(r))return r;if(!("toJSON"in r)){t[s]=r;const i=Zt(r)?[]:{};return Nn(r,(o,l)=>{const c=n(o,s+1);!Yt(c)&&(i[l]=c)}),t[s]=void 0,i}}return r};return n(e,0)},Dd=Xe("AsyncFunction"),Fd=e=>e&&(Pn(e)||Ie(e))&&Ie(e.then)&&Ie(e.catch),kl=((e,t)=>e?setImmediate:t?((n,r)=>(Dt.addEventListener("message",({source:s,data:i})=>{s===Dt&&i===n&&r.length&&r.shift()()},!1),s=>{r.push(s),Dt.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",Ie(Dt.postMessage)),Md=typeof queueMicrotask<"u"?queueMicrotask.bind(Dt):typeof process<"u"&&process.nextTick||kl,Ld=e=>e!=null&&Ie(e[Dr]),_={isArray:Zt,isArrayBuffer:Ml,isBuffer:Cn,isFormData:cd,isArrayBufferView:Zf,isString:ed,isNumber:Ll,isBoolean:td,isObject:Pn,isPlainObject:Wn,isEmptyObject:nd,isReadableStream:ud,isRequest:fd,isResponse:dd,isHeaders:hd,isUndefined:Yt,isDate:rd,isFile:sd,isBlob:id,isRegExp:xd,isFunction:Ie,isStream:ld,isURLSearchParams:ad,isTypedArray:wd,isFileList:od,forEach:Nn,merge:ys,extend:md,trim:pd,stripBOM:gd,inherits:yd,toFlatObject:_d,kindOf:Fr,kindOfTest:Xe,endsWith:bd,toArray:Ed,forEachEntry:Rd,matchAll:Sd,isHTMLForm:vd,hasOwnProperty:Hi,hasOwnProp:Hi,reduceDescriptors:jl,freezeMethods:Od,toObjectSet:Td,toCamelCase:Ad,noop:Cd,toFiniteNumber:Pd,findKey:Bl,global:Dt,isContextDefined:Ul,isSpecCompliantForm:Nd,toJSONObject:Id,isAsyncFn:Dd,isThenable:Fd,setImmediate:kl,asap:Md,isIterable:Ld};function q(e,t,n,r,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),s&&(this.response=s,this.status=s.status?s.status:null)}_.inherits(q,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:_.toJSONObject(this.config),code:this.code,status:this.status}}});const Hl=q.prototype,Vl={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{Vl[e]={value:e}});Object.defineProperties(q,Vl);Object.defineProperty(Hl,"isAxiosError",{value:!0});q.from=(e,t,n,r,s,i)=>{const o=Object.create(Hl);_.toFlatObject(e,o,function(a){return a!==Error.prototype},u=>u!=="isAxiosError");const l=e&&e.message?e.message:"Error",c=t==null&&e?e.code:t;return q.call(o,l,c,n,r,s),e&&o.cause==null&&Object.defineProperty(o,"cause",{value:e,configurable:!0}),o.name=e&&e.name||"Error",i&&Object.assign(o,i),o};const Bd=null;function _s(e){return _.isPlainObject(e)||_.isArray(e)}function $l(e){return _.endsWith(e,"[]")?e.slice(0,-2):e}function Vi(e,t,n){return e?e.concat(t).map(function(s,i){return s=$l(s),!n&&i?"["+s+"]":s}).join(n?".":""):t}function Ud(e){return _.isArray(e)&&!e.some(_s)}const jd=_.toFlatObject(_,{},null,function(t){return/^is[A-Z]/.test(t)});function Lr(e,t,n){if(!_.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=_.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(b,E){return!_.isUndefined(E[b])});const r=n.metaTokens,s=n.visitor||a,i=n.dots,o=n.indexes,c=(n.Blob||typeof Blob<"u"&&Blob)&&_.isSpecCompliantForm(t);if(!_.isFunction(s))throw new TypeError("visitor must be a function");function u(g){if(g===null)return"";if(_.isDate(g))return g.toISOString();if(_.isBoolean(g))return g.toString();if(!c&&_.isBlob(g))throw new q("Blob is not supported. Use a Buffer instead.");return _.isArrayBuffer(g)||_.isTypedArray(g)?c&&typeof Blob=="function"?new Blob([g]):Buffer.from(g):g}function a(g,b,E){let x=g;if(g&&!E&&typeof g=="object"){if(_.endsWith(b,"{}"))b=r?b:b.slice(0,-2),g=JSON.stringify(g);else if(_.isArray(g)&&Ud(g)||(_.isFileList(g)||_.endsWith(b,"[]"))&&(x=_.toArray(g)))return b=$l(b),x.forEach(function(I,P){!(_.isUndefined(I)||I===null)&&t.append(o===!0?Vi([b],P,i):o===null?b:b+"[]",u(I))}),!1}return _s(g)?!0:(t.append(Vi(E,b,i),u(g)),!1)}const f=[],p=Object.assign(jd,{defaultVisitor:a,convertValue:u,isVisitable:_s});function m(g,b){if(!_.isUndefined(g)){if(f.indexOf(g)!==-1)throw Error("Circular reference detected in "+b.join("."));f.push(g),_.forEach(g,function(x,C){(!(_.isUndefined(x)||x===null)&&s.call(t,x,_.isString(C)?C.trim():C,b,p))===!0&&m(x,b?b.concat(C):[C])}),f.pop()}}if(!_.isObject(e))throw new TypeError("data must be an object");return m(e),t}function $i(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function Us(e,t){this._pairs=[],e&&Lr(e,this,t)}const ql=Us.prototype;ql.append=function(t,n){this._pairs.push([t,n])};ql.toString=function(t){const n=t?function(r){return t.call(this,r,$i)}:$i;return this._pairs.map(function(s){return n(s[0])+"="+n(s[1])},"").join("&")};function kd(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Kl(e,t,n){if(!t)return e;const r=n&&n.encode||kd;_.isFunction(n)&&(n={serialize:n});const s=n&&n.serialize;let i;if(s?i=s(t,n):i=_.isURLSearchParams(t)?t.toString():new Us(t,n).toString(r),i){const o=e.indexOf("#");o!==-1&&(e=e.slice(0,o)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class qi{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){_.forEach(this.handlers,function(r){r!==null&&t(r)})}}const Wl={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Hd=typeof URLSearchParams<"u"?URLSearchParams:Us,Vd=typeof FormData<"u"?FormData:null,$d=typeof Blob<"u"?Blob:null,qd={isBrowser:!0,classes:{URLSearchParams:Hd,FormData:Vd,Blob:$d},protocols:["http","https","file","blob","url","data"]},js=typeof window<"u"&&typeof document<"u",bs=typeof navigator=="object"&&navigator||void 0,Kd=js&&(!bs||["ReactNative","NativeScript","NS"].indexOf(bs.product)<0),Wd=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Gd=js&&window.location.href||"http://localhost",zd=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:js,hasStandardBrowserEnv:Kd,hasStandardBrowserWebWorkerEnv:Wd,navigator:bs,origin:Gd},Symbol.toStringTag,{value:"Module"})),Re={...zd,...qd};function Jd(e,t){return Lr(e,new Re.classes.URLSearchParams,{visitor:function(n,r,s,i){return Re.isNode&&_.isBuffer(n)?(this.append(r,n.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)},...t})}function Xd(e){return _.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function Qd(e){const t={},n=Object.keys(e);let r;const s=n.length;let i;for(r=0;r=n.length;return o=!o&&_.isArray(s)?s.length:o,c?(_.hasOwnProp(s,o)?s[o]=[s[o],r]:s[o]=r,!l):((!s[o]||!_.isObject(s[o]))&&(s[o]=[]),t(n,r,s[o],i)&&_.isArray(s[o])&&(s[o]=Qd(s[o])),!l)}if(_.isFormData(e)&&_.isFunction(e.entries)){const n={};return _.forEachEntry(e,(r,s)=>{t(Xd(r),s,n,0)}),n}return null}function Yd(e,t,n){if(_.isString(e))try{return(t||JSON.parse)(e),_.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const In={transitional:Wl,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",s=r.indexOf("application/json")>-1,i=_.isObject(t);if(i&&_.isHTMLForm(t)&&(t=new FormData(t)),_.isFormData(t))return s?JSON.stringify(Gl(t)):t;if(_.isArrayBuffer(t)||_.isBuffer(t)||_.isStream(t)||_.isFile(t)||_.isBlob(t)||_.isReadableStream(t))return t;if(_.isArrayBufferView(t))return t.buffer;if(_.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let l;if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return Jd(t,this.formSerializer).toString();if((l=_.isFileList(t))||r.indexOf("multipart/form-data")>-1){const c=this.env&&this.env.FormData;return Lr(l?{"files[]":t}:t,c&&new c,this.formSerializer)}}return i||s?(n.setContentType("application/json",!1),Yd(t)):t}],transformResponse:[function(t){const n=this.transitional||In.transitional,r=n&&n.forcedJSONParsing,s=this.responseType==="json";if(_.isResponse(t)||_.isReadableStream(t))return t;if(t&&_.isString(t)&&(r&&!this.responseType||s)){const o=!(n&&n.silentJSONParsing)&&s;try{return JSON.parse(t,this.parseReviver)}catch(l){if(o)throw l.name==="SyntaxError"?q.from(l,q.ERR_BAD_RESPONSE,this,null,this.response):l}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Re.classes.FormData,Blob:Re.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};_.forEach(["delete","get","head","post","put","patch"],e=>{In.headers[e]={}});const Zd=_.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),eh=e=>{const t={};let n,r,s;return e&&e.split(` +`).forEach(function(o){s=o.indexOf(":"),n=o.substring(0,s).trim().toLowerCase(),r=o.substring(s+1).trim(),!(!n||t[n]&&Zd[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t},Ki=Symbol("internals");function ln(e){return e&&String(e).trim().toLowerCase()}function Gn(e){return e===!1||e==null?e:_.isArray(e)?e.map(Gn):String(e)}function th(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const nh=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Qr(e,t,n,r,s){if(_.isFunction(r))return r.call(this,t,n);if(s&&(t=n),!!_.isString(t)){if(_.isString(r))return t.indexOf(r)!==-1;if(_.isRegExp(r))return r.test(t)}}function rh(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function sh(e,t){const n=_.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(s,i,o){return this[r].call(this,t,s,i,o)},configurable:!0})})}let De=class{constructor(t){t&&this.set(t)}set(t,n,r){const s=this;function i(l,c,u){const a=ln(c);if(!a)throw new Error("header name must be a non-empty string");const f=_.findKey(s,a);(!f||s[f]===void 0||u===!0||u===void 0&&s[f]!==!1)&&(s[f||c]=Gn(l))}const o=(l,c)=>_.forEach(l,(u,a)=>i(u,a,c));if(_.isPlainObject(t)||t instanceof this.constructor)o(t,n);else if(_.isString(t)&&(t=t.trim())&&!nh(t))o(eh(t),n);else if(_.isObject(t)&&_.isIterable(t)){let l={},c,u;for(const a of t){if(!_.isArray(a))throw TypeError("Object iterator must return a key-value pair");l[u=a[0]]=(c=l[u])?_.isArray(c)?[...c,a[1]]:[c,a[1]]:a[1]}o(l,n)}else t!=null&&i(n,t,r);return this}get(t,n){if(t=ln(t),t){const r=_.findKey(this,t);if(r){const s=this[r];if(!n)return s;if(n===!0)return th(s);if(_.isFunction(n))return n.call(this,s,r);if(_.isRegExp(n))return n.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=ln(t),t){const r=_.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||Qr(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let s=!1;function i(o){if(o=ln(o),o){const l=_.findKey(r,o);l&&(!n||Qr(r,r[l],l,n))&&(delete r[l],s=!0)}}return _.isArray(t)?t.forEach(i):i(t),s}clear(t){const n=Object.keys(this);let r=n.length,s=!1;for(;r--;){const i=n[r];(!t||Qr(this,this[i],i,t,!0))&&(delete this[i],s=!0)}return s}normalize(t){const n=this,r={};return _.forEach(this,(s,i)=>{const o=_.findKey(r,i);if(o){n[o]=Gn(s),delete n[i];return}const l=t?rh(i):String(i).trim();l!==i&&delete n[i],n[l]=Gn(s),r[l]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return _.forEach(this,(r,s)=>{r!=null&&r!==!1&&(n[s]=t&&_.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` +`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(s=>r.set(s)),r}static accessor(t){const r=(this[Ki]=this[Ki]={accessors:{}}).accessors,s=this.prototype;function i(o){const l=ln(o);r[l]||(sh(s,o),r[l]=!0)}return _.isArray(t)?t.forEach(i):i(t),this}};De.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);_.reduceDescriptors(De.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});_.freezeMethods(De);function Yr(e,t){const n=this||In,r=t||n,s=De.from(r.headers);let i=r.data;return _.forEach(e,function(l){i=l.call(n,i,s.normalize(),t?t.status:void 0)}),s.normalize(),i}function zl(e){return!!(e&&e.__CANCEL__)}function en(e,t,n){q.call(this,e??"canceled",q.ERR_CANCELED,t,n),this.name="CanceledError"}_.inherits(en,q,{__CANCEL__:!0});function Jl(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new q("Request failed with status code "+n.status,[q.ERR_BAD_REQUEST,q.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function ih(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function oh(e,t){e=e||10;const n=new Array(e),r=new Array(e);let s=0,i=0,o;return t=t!==void 0?t:1e3,function(c){const u=Date.now(),a=r[i];o||(o=u),n[s]=c,r[s]=u;let f=i,p=0;for(;f!==s;)p+=n[f++],f=f%e;if(s=(s+1)%e,s===i&&(i=(i+1)%e),u-o{n=a,s=null,i&&(clearTimeout(i),i=null),e(...u)};return[(...u)=>{const a=Date.now(),f=a-n;f>=r?o(u,a):(s=u,i||(i=setTimeout(()=>{i=null,o(s)},r-f)))},()=>s&&o(s)]}const lr=(e,t,n=3)=>{let r=0;const s=oh(50,250);return lh(i=>{const o=i.loaded,l=i.lengthComputable?i.total:void 0,c=o-r,u=s(c),a=o<=l;r=o;const f={loaded:o,total:l,progress:l?o/l:void 0,bytes:c,rate:u||void 0,estimated:u&&l&&a?(l-o)/u:void 0,event:i,lengthComputable:l!=null,[t?"download":"upload"]:!0};e(f)},n)},Wi=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},Gi=e=>(...t)=>_.asap(()=>e(...t)),ch=Re.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,Re.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(Re.origin),Re.navigator&&/(msie|trident)/i.test(Re.navigator.userAgent)):()=>!0,ah=Re.hasStandardBrowserEnv?{write(e,t,n,r,s,i,o){if(typeof document>"u")return;const l=[`${e}=${encodeURIComponent(t)}`];_.isNumber(n)&&l.push(`expires=${new Date(n).toUTCString()}`),_.isString(r)&&l.push(`path=${r}`),_.isString(s)&&l.push(`domain=${s}`),i===!0&&l.push("secure"),_.isString(o)&&l.push(`SameSite=${o}`),document.cookie=l.join("; ")},read(e){if(typeof document>"u")return null;const t=document.cookie.match(new RegExp("(?:^|; )"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function uh(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function fh(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Xl(e,t,n){let r=!uh(t);return e&&(r||n==!1)?fh(e,t):t}const zi=e=>e instanceof De?{...e}:e;function Bt(e,t){t=t||{};const n={};function r(u,a,f,p){return _.isPlainObject(u)&&_.isPlainObject(a)?_.merge.call({caseless:p},u,a):_.isPlainObject(a)?_.merge({},a):_.isArray(a)?a.slice():a}function s(u,a,f,p){if(_.isUndefined(a)){if(!_.isUndefined(u))return r(void 0,u,f,p)}else return r(u,a,f,p)}function i(u,a){if(!_.isUndefined(a))return r(void 0,a)}function o(u,a){if(_.isUndefined(a)){if(!_.isUndefined(u))return r(void 0,u)}else return r(void 0,a)}function l(u,a,f){if(f in t)return r(u,a);if(f in e)return r(void 0,u)}const c={url:i,method:i,data:i,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:l,headers:(u,a,f)=>s(zi(u),zi(a),f,!0)};return _.forEach(Object.keys({...e,...t}),function(a){const f=c[a]||s,p=f(e[a],t[a],a);_.isUndefined(p)&&f!==l||(n[a]=p)}),n}const Ql=e=>{const t=Bt({},e);let{data:n,withXSRFToken:r,xsrfHeaderName:s,xsrfCookieName:i,headers:o,auth:l}=t;if(t.headers=o=De.from(o),t.url=Kl(Xl(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),l&&o.set("Authorization","Basic "+btoa((l.username||"")+":"+(l.password?unescape(encodeURIComponent(l.password)):""))),_.isFormData(n)){if(Re.hasStandardBrowserEnv||Re.hasStandardBrowserWebWorkerEnv)o.setContentType(void 0);else if(_.isFunction(n.getHeaders)){const c=n.getHeaders(),u=["content-type","content-length"];Object.entries(c).forEach(([a,f])=>{u.includes(a.toLowerCase())&&o.set(a,f)})}}if(Re.hasStandardBrowserEnv&&(r&&_.isFunction(r)&&(r=r(t)),r||r!==!1&&ch(t.url))){const c=s&&i&&ah.read(i);c&&o.set(s,c)}return t},dh=typeof XMLHttpRequest<"u",hh=dh&&function(e){return new Promise(function(n,r){const s=Ql(e);let i=s.data;const o=De.from(s.headers).normalize();let{responseType:l,onUploadProgress:c,onDownloadProgress:u}=s,a,f,p,m,g;function b(){m&&m(),g&&g(),s.cancelToken&&s.cancelToken.unsubscribe(a),s.signal&&s.signal.removeEventListener("abort",a)}let E=new XMLHttpRequest;E.open(s.method.toUpperCase(),s.url,!0),E.timeout=s.timeout;function x(){if(!E)return;const I=De.from("getAllResponseHeaders"in E&&E.getAllResponseHeaders()),V={data:!l||l==="text"||l==="json"?E.responseText:E.response,status:E.status,statusText:E.statusText,headers:I,config:e,request:E};Jl(function($){n($),b()},function($){r($),b()},V),E=null}"onloadend"in E?E.onloadend=x:E.onreadystatechange=function(){!E||E.readyState!==4||E.status===0&&!(E.responseURL&&E.responseURL.indexOf("file:")===0)||setTimeout(x)},E.onabort=function(){E&&(r(new q("Request aborted",q.ECONNABORTED,e,E)),E=null)},E.onerror=function(P){const V=P&&P.message?P.message:"Network Error",z=new q(V,q.ERR_NETWORK,e,E);z.event=P||null,r(z),E=null},E.ontimeout=function(){let P=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const V=s.transitional||Wl;s.timeoutErrorMessage&&(P=s.timeoutErrorMessage),r(new q(P,V.clarifyTimeoutError?q.ETIMEDOUT:q.ECONNABORTED,e,E)),E=null},i===void 0&&o.setContentType(null),"setRequestHeader"in E&&_.forEach(o.toJSON(),function(P,V){E.setRequestHeader(V,P)}),_.isUndefined(s.withCredentials)||(E.withCredentials=!!s.withCredentials),l&&l!=="json"&&(E.responseType=s.responseType),u&&([p,g]=lr(u,!0),E.addEventListener("progress",p)),c&&E.upload&&([f,m]=lr(c),E.upload.addEventListener("progress",f),E.upload.addEventListener("loadend",m)),(s.cancelToken||s.signal)&&(a=I=>{E&&(r(!I||I.type?new en(null,e,E):I),E.abort(),E=null)},s.cancelToken&&s.cancelToken.subscribe(a),s.signal&&(s.signal.aborted?a():s.signal.addEventListener("abort",a)));const C=ih(s.url);if(C&&Re.protocols.indexOf(C)===-1){r(new q("Unsupported protocol "+C+":",q.ERR_BAD_REQUEST,e));return}E.send(i||null)})},ph=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let r=new AbortController,s;const i=function(u){if(!s){s=!0,l();const a=u instanceof Error?u:this.reason;r.abort(a instanceof q?a:new en(a instanceof Error?a.message:a))}};let o=t&&setTimeout(()=>{o=null,i(new q(`timeout ${t} of ms exceeded`,q.ETIMEDOUT))},t);const l=()=>{e&&(o&&clearTimeout(o),o=null,e.forEach(u=>{u.unsubscribe?u.unsubscribe(i):u.removeEventListener("abort",i)}),e=null)};e.forEach(u=>u.addEventListener("abort",i));const{signal:c}=r;return c.unsubscribe=()=>_.asap(l),c}},mh=function*(e,t){let n=e.byteLength;if(n{const s=gh(e,t);let i=0,o,l=c=>{o||(o=!0,r&&r(c))};return new ReadableStream({async pull(c){try{const{done:u,value:a}=await s.next();if(u){l(),c.close();return}let f=a.byteLength;if(n){let p=i+=f;n(p)}c.enqueue(new Uint8Array(a))}catch(u){throw l(u),u}},cancel(c){return l(c),s.return()}},{highWaterMark:2})},Xi=64*1024,{isFunction:Un}=_,_h=(({Request:e,Response:t})=>({Request:e,Response:t}))(_.global),{ReadableStream:Qi,TextEncoder:Yi}=_.global,Zi=(e,...t)=>{try{return!!e(...t)}catch{return!1}},bh=e=>{e=_.merge.call({skipUndefined:!0},_h,e);const{fetch:t,Request:n,Response:r}=e,s=t?Un(t):typeof fetch=="function",i=Un(n),o=Un(r);if(!s)return!1;const l=s&&Un(Qi),c=s&&(typeof Yi=="function"?(g=>b=>g.encode(b))(new Yi):async g=>new Uint8Array(await new n(g).arrayBuffer())),u=i&&l&&Zi(()=>{let g=!1;const b=new n(Re.origin,{body:new Qi,method:"POST",get duplex(){return g=!0,"half"}}).headers.has("Content-Type");return g&&!b}),a=o&&l&&Zi(()=>_.isReadableStream(new r("").body)),f={stream:a&&(g=>g.body)};s&&["text","arrayBuffer","blob","formData","stream"].forEach(g=>{!f[g]&&(f[g]=(b,E)=>{let x=b&&b[g];if(x)return x.call(b);throw new q(`Response type '${g}' is not supported`,q.ERR_NOT_SUPPORT,E)})});const p=async g=>{if(g==null)return 0;if(_.isBlob(g))return g.size;if(_.isSpecCompliantForm(g))return(await new n(Re.origin,{method:"POST",body:g}).arrayBuffer()).byteLength;if(_.isArrayBufferView(g)||_.isArrayBuffer(g))return g.byteLength;if(_.isURLSearchParams(g)&&(g=g+""),_.isString(g))return(await c(g)).byteLength},m=async(g,b)=>{const E=_.toFiniteNumber(g.getContentLength());return E??p(b)};return async g=>{let{url:b,method:E,data:x,signal:C,cancelToken:I,timeout:P,onDownloadProgress:V,onUploadProgress:z,responseType:$,headers:le,withCredentials:ie="same-origin",fetchOptions:fe}=Ql(g),Te=t||fetch;$=$?($+"").toLowerCase():"text";let ke=ph([C,I&&I.toAbortSignal()],P),_e=null;const Fe=ke&&ke.unsubscribe&&(()=>{ke.unsubscribe()});let at;try{if(z&&u&&E!=="get"&&E!=="head"&&(at=await m(le,x))!==0){let de=new n(b,{method:"POST",body:x,duplex:"half"}),ae;if(_.isFormData(x)&&(ae=de.headers.get("content-type"))&&le.setContentType(ae),de.body){const[Ye,$e]=Wi(at,lr(Gi(z)));x=Ji(de.body,Xi,Ye,$e)}}_.isString(ie)||(ie=ie?"include":"omit");const ee=i&&"credentials"in n.prototype,J={...fe,signal:ke,method:E.toUpperCase(),headers:le.normalize().toJSON(),body:x,duplex:"half",credentials:ee?ie:void 0};_e=i&&new n(b,J);let K=await(i?Te(_e,fe):Te(b,J));const He=a&&($==="stream"||$==="response");if(a&&(V||He&&Fe)){const de={};["status","statusText","headers"].forEach(Ze=>{de[Ze]=K[Ze]});const ae=_.toFiniteNumber(K.headers.get("content-length")),[Ye,$e]=V&&Wi(ae,lr(Gi(V),!0))||[];K=new r(Ji(K.body,Xi,Ye,()=>{$e&&$e(),Fe&&Fe()}),de)}$=$||"text";let Qe=await f[_.findKey(f,$)||"text"](K,g);return!He&&Fe&&Fe(),await new Promise((de,ae)=>{Jl(de,ae,{data:Qe,headers:De.from(K.headers),status:K.status,statusText:K.statusText,config:g,request:_e})})}catch(ee){throw Fe&&Fe(),ee&&ee.name==="TypeError"&&/Load failed|fetch/i.test(ee.message)?Object.assign(new q("Network Error",q.ERR_NETWORK,g,_e),{cause:ee.cause||ee}):q.from(ee,ee&&ee.code,g,_e)}}},Eh=new Map,Yl=e=>{let t=e&&e.env||{};const{fetch:n,Request:r,Response:s}=t,i=[r,s,n];let o=i.length,l=o,c,u,a=Eh;for(;l--;)c=i[l],u=a.get(c),u===void 0&&a.set(c,u=l?new Map:bh(t)),a=u;return u};Yl();const ks={http:Bd,xhr:hh,fetch:{get:Yl}};_.forEach(ks,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const eo=e=>`- ${e}`,wh=e=>_.isFunction(e)||e===null||e===!1;function Rh(e,t){e=_.isArray(e)?e:[e];const{length:n}=e;let r,s;const i={};for(let o=0;o`adapter ${c} `+(u===!1?"is not supported by the environment":"is not available in the build"));let l=n?o.length>1?`since : +`+o.map(eo).join(` +`):" "+eo(o[0]):"as no adapter specified";throw new q("There is no suitable adapter to dispatch the request "+l,"ERR_NOT_SUPPORT")}return s}const Zl={getAdapter:Rh,adapters:ks};function Zr(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new en(null,e)}function to(e){return Zr(e),e.headers=De.from(e.headers),e.data=Yr.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Zl.getAdapter(e.adapter||In.adapter,e)(e).then(function(r){return Zr(e),r.data=Yr.call(e,e.transformResponse,r),r.headers=De.from(r.headers),r},function(r){return zl(r)||(Zr(e),r&&r.response&&(r.response.data=Yr.call(e,e.transformResponse,r.response),r.response.headers=De.from(r.response.headers))),Promise.reject(r)})}const ec="1.13.2",Br={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Br[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const no={};Br.transitional=function(t,n,r){function s(i,o){return"[Axios v"+ec+"] Transitional option '"+i+"'"+o+(r?". "+r:"")}return(i,o,l)=>{if(t===!1)throw new q(s(o," has been removed"+(n?" in "+n:"")),q.ERR_DEPRECATED);return n&&!no[o]&&(no[o]=!0,console.warn(s(o," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(i,o,l):!0}};Br.spelling=function(t){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function Sh(e,t,n){if(typeof e!="object")throw new q("options must be an object",q.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let s=r.length;for(;s-- >0;){const i=r[s],o=t[i];if(o){const l=e[i],c=l===void 0||o(l,i,e);if(c!==!0)throw new q("option "+i+" must be "+c,q.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new q("Unknown option "+i,q.ERR_BAD_OPTION)}}const zn={assertOptions:Sh,validators:Br},st=zn.validators;let Lt=class{constructor(t){this.defaults=t||{},this.interceptors={request:new qi,response:new qi}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let s={};Error.captureStackTrace?Error.captureStackTrace(s):s=new Error;const i=s.stack?s.stack.replace(/^.+\n/,""):"";try{r.stack?i&&!String(r.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(r.stack+=` +`+i):r.stack=i}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Bt(this.defaults,n);const{transitional:r,paramsSerializer:s,headers:i}=n;r!==void 0&&zn.assertOptions(r,{silentJSONParsing:st.transitional(st.boolean),forcedJSONParsing:st.transitional(st.boolean),clarifyTimeoutError:st.transitional(st.boolean)},!1),s!=null&&(_.isFunction(s)?n.paramsSerializer={serialize:s}:zn.assertOptions(s,{encode:st.function,serialize:st.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),zn.assertOptions(n,{baseUrl:st.spelling("baseURL"),withXsrfToken:st.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let o=i&&_.merge(i.common,i[n.method]);i&&_.forEach(["delete","get","head","post","put","patch","common"],g=>{delete i[g]}),n.headers=De.concat(o,i);const l=[];let c=!0;this.interceptors.request.forEach(function(b){typeof b.runWhen=="function"&&b.runWhen(n)===!1||(c=c&&b.synchronous,l.unshift(b.fulfilled,b.rejected))});const u=[];this.interceptors.response.forEach(function(b){u.push(b.fulfilled,b.rejected)});let a,f=0,p;if(!c){const g=[to.bind(this),void 0];for(g.unshift(...l),g.push(...u),p=g.length,a=Promise.resolve(n);f{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](s);r._listeners=null}),this.promise.then=s=>{let i;const o=new Promise(l=>{r.subscribe(l),i=l}).then(s);return o.cancel=function(){r.unsubscribe(i)},o},t(function(i,o,l){r.reason||(r.reason=new en(i,o,l),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new tc(function(s){t=s}),cancel:t}}};function Ah(e){return function(n){return e.apply(null,n)}}function xh(e){return _.isObject(e)&&e.isAxiosError===!0}const Es={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Es).forEach(([e,t])=>{Es[t]=e});function nc(e){const t=new Lt(e),n=Dl(Lt.prototype.request,t);return _.extend(n,Lt.prototype,t,{allOwnKeys:!0}),_.extend(n,t,null,{allOwnKeys:!0}),n.create=function(s){return nc(Bt(e,s))},n}const ue=nc(In);ue.Axios=Lt;ue.CanceledError=en;ue.CancelToken=vh;ue.isCancel=zl;ue.VERSION=ec;ue.toFormData=Lr;ue.AxiosError=q;ue.Cancel=ue.CanceledError;ue.all=function(t){return Promise.all(t)};ue.spread=Ah;ue.isAxiosError=xh;ue.mergeConfig=Bt;ue.AxiosHeaders=De;ue.formToJSON=e=>Gl(_.isHTMLForm(e)?new FormData(e):e);ue.getAdapter=Zl.getAdapter;ue.HttpStatusCode=Es;ue.default=ue;const{Axios:cp,AxiosError:ap,CanceledError:up,isCancel:fp,CancelToken:dp,VERSION:hp,all:pp,Cancel:mp,isAxiosError:gp,spread:yp,toFormData:_p,AxiosHeaders:bp,HttpStatusCode:Ep,formToJSON:wp,getAdapter:Rp,mergeConfig:Sp}=ue,Oh="/",pe=ue.create({baseURL:Oh,timeout:3e4});pe.interceptors.request.use(e=>{const t=localStorage.getItem("admin_token");return t&&e.url?.includes("/admin/")&&(e.headers.Authorization=`Bearer ${t}`),e});pe.interceptors.response.use(e=>e,e=>(e.response?.status===401&&window.location.pathname.includes("/admin")&&(localStorage.removeItem("admin_token"),window.location.href="/admin/login"),Promise.reject(e)));const Th={getPublicConfig:()=>pe.get("/api/config"),uploadFiles:(e,t)=>pe.post("/api/batches",e,{headers:{"Content-Type":"multipart/form-data"},...t}),uploadText:e=>pe.post("/api/batches/text",e),getBatch:e=>pe.get(`/api/batches/${e}`),downloadFile:e=>pe.get(`/api/files/${e}/download`,{responseType:"blob"}),downloadBatch:e=>pe.get(`/api/batches/${e}/download`,{responseType:"blob"})},vp={login:e=>pe.post("/admin/login",{password:e}),getBatches:e=>pe.get("/admin/batches",{params:e}),getBatchDetail:e=>pe.get(`/admin/batches/${e}`),updateBatch:(e,t)=>pe.put(`/admin/batches/${e}`,t),deleteBatch:e=>pe.delete(`/admin/batches/${e}`),getTokens:()=>pe.get("/admin/api-tokens"),createToken:e=>pe.post("/admin/api-tokens",e),revokeToken:e=>pe.post(`/admin/api-tokens/${e}/revoke`),deleteToken:e=>pe.delete(`/admin/api-tokens/${e}`),getConfig:()=>pe.get("/admin/config"),updateConfig:e=>pe.put("/admin/config",e)},Ap={formatFileSize:e=>{if(e===0)return"0 B";const t=1024,n=["B","KB","MB","GB","TB"],r=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/Math.pow(t,r)).toFixed(2))+" "+n[r]},formatDate:e=>new Date(e).toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}),copyToClipboard:async e=>{try{return await navigator.clipboard.writeText(e),!0}catch{try{const n=document.createElement("textarea");return n.value=e,document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n),!0}catch(n){return console.error("复制失败:",n),!1}}},downloadBlob:(e,t)=>{const n=window.URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=t,document.body.appendChild(r),r.click(),window.URL.revokeObjectURL(n),document.body.removeChild(r)},getFileTypeIcon:e=>{const t=e.split(".").pop()?.toLowerCase();return["jpg","jpeg","png","gif","bmp","webp"].includes(t||"")?"image":["mp4","avi","mkv","mov","wmv","flv"].includes(t||"")?"video":["mp3","wav","flac","aac","ogg"].includes(t||"")?"audio":["pdf"].includes(t||"")?"pdf":["doc","docx"].includes(t||"")?"word":["xls","xlsx"].includes(t||"")?"excel":["ppt","pptx"].includes(t||"")?"powerpoint":["zip","rar","7z","tar","gz"].includes(t||"")?"archive":["txt","md","json","xml","csv"].includes(t||"")?"text":["js","ts","html","css","php","py","java","cpp","c"].includes(t||"")?"code":"file"}},rc={site:{name:"文件中转站",description:"安全、便捷的文件暂存服务"},upload:{max_file_size_mb:100,max_batch_files:10,max_retention_days:30,require_token:!1},security:{pickup_code_length:6},storage:{type:"local"},api_token:{enabled:!1}},dt=vr(rc),es=vr(!1);function Ch(){const e=async()=>{try{es.value=!0;const l=await Th.getPublicConfig();dt.value=l.data.data}catch(l){console.error("加载公共配置失败:",l),dt.value=rc}finally{es.value=!1}},t=()=>({maxFileSizeMB:dt.value.upload.max_file_size_mb,maxFileSize:dt.value.upload.max_file_size_mb*1024*1024,maxBatchFiles:dt.value.upload.max_batch_files,maxRetentionDays:dt.value.upload.max_retention_days});return{config:dt,loading:es,loadConfig:e,getUploadLimits:t,getExpireOptions:()=>{const l=dt.value.upload.max_retention_days,u=[{label:"1小时",value:1/24},{label:"6小时",value:6/24},{label:"1天",value:1},{label:"3天",value:3},{label:"7天",value:7}].filter(a=>a.value<=l);return l>=14&&u.push({label:"14天",value:14}),l>=30&&u.push({label:"30天",value:30}),l>=60&&u.push({label:"60天",value:60}),l>=90&&u.push({label:"90天",value:90}),u.push({label:"永久",value:0}),u},getDownloadOptions:()=>[{label:"1次",value:1},{label:"3次",value:3},{label:"5次",value:5},{label:"10次",value:10},{label:"20次",value:20},{label:"50次",value:50},{label:"不限制",value:0}],validateFileSize:l=>{const c=t();return l.size<=c.maxFileSize},validateFileCount:l=>{const c=t();return l.length<=c.maxBatchFiles},getFileSizeLimit:()=>{const l=dt.value.upload.max_file_size_mb;return l>=1024?`${(l/1024).toFixed(1)}GB`:`${l}MB`}}}async function Ph(){const{loadConfig:e}=Ch();await e()}async function Nh(){await Ph(),Pu(Fu).use(Qf).mount("#app")}Nh();export{Bc as $,Ih as A,za as B,Ja as C,gc as D,Ch as E,Le as F,Ap as G,ip as H,Se as I,Kh as J,qh as K,Th as L,Os as M,jh as N,Zh as O,np as P,sp as Q,_a as R,Qh as S,vp as T,Bh as U,rp as V,tp as W,me as X,X as Y,wr as Z,ep as _,Xh as a,Vh as a0,ha as a1,Hh as a2,Mh as a3,yc as a4,Fh as a5,zh as a6,Cr as a7,Ur as a8,je as a9,Uh as aa,$h as ab,Vc as ac,Dh as ad,Gh as ae,Rn as af,bt as ag,Jt as ah,Ko as b,qe as c,Ps as d,kh as e,Wa as f,tr as g,us as h,Yh as i,pl as j,Wh as k,Xa as l,Jh as m,gr as n,ua as o,mr as p,We as q,ss as r,Uc as s,Lh as t,Ot as u,vr as v,Hn as w,_l as x,kn as y,Yc as z}; diff --git a/web/assets/index-Catk2Spn.js b/web/assets/index-Catk2Spn.js new file mode 100644 index 0000000..8dd74ea --- /dev/null +++ b/web/assets/index-Catk2Spn.js @@ -0,0 +1 @@ +import{r as i,P as n,c as o,g as d}from"./Sonner.vue_vue_type_script_setup_true_lang-BwfWndxy.js";import{d as c,h as v,u as e,l,z as u,k as g,g as f}from"./index-BhaIiTEj.js";const x=c({__name:"Badge",props:{asChild:{type:Boolean},as:{},variant:{},class:{}},setup(r){const a=r,t=i(a,"class");return(s,b)=>(f(),v(e(n),l({"data-slot":"badge",class:e(o)(e(p)({variant:r.variant}),a.class)},e(t)),{default:u(()=>[g(s.$slots,"default")]),_:3},16,["class"]))}}),p=d("inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});export{x as _}; diff --git a/web/assets/index-o9d4BZZI.css b/web/assets/index-o9d4BZZI.css new file mode 100644 index 0000000..8ada5fd --- /dev/null +++ b/web/assets/index-o9d4BZZI.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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--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-tracking: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-outline-style:solid;--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-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@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-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-950:oklch(26.6% .065 152.934);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-950:oklch(26.2% .051 172.552);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-950:oklch(28.2% .091 267.935);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-indigo-950:oklch(25.7% .09 281.288);--color-violet-50:oklch(96.9% .016 293.756);--color-violet-950:oklch(28.3% .141 291.089);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-950:oklch(29.1% .149 302.717);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-4xl:56rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--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);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-widest:.1em;--radius-xs:.125rem;--radius-2xl:1rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--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)}}@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}::-webkit-calendar-picker-indicator{line-height:1}:-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}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}}@layer components{label+input,label+textarea,label+select,label+.mt-2,label+[data-slot=select],[data-slot=label]+[data-slot=select],[data-slot=card-content] .space-y-5>div>label+*,[data-slot=card-content] .space-y-4>div>label+*,[data-slot=card-content] .space-y-3>div>label+*,[data-slot=card-content] [data-slot=label]+[data-slot=select],[data-slot=card-content] label+[data-slot=select]{margin-top:.375rem!important}}@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);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}.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)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing)*4)}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-3\.5{right:calc(var(--spacing)*3.5)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2,.left-\[50\%\]{left:50%}.z-10{z-index:10}.z-50{z-index:50}.col-span-3{grid-column:span 3/span 3}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@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}}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.-mx-1\.5{margin-inline:calc(var(--spacing)*-1.5)}.mx-auto{margin-inline:auto}.-my-1\.5{margin-block:calc(var(--spacing)*-1.5)}.my-1{margin-block:calc(var(--spacing)*1)}.my-8{margin-block:calc(var(--spacing)*8)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-auto{margin-top:auto}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-1\.5{margin-right:calc(var(--spacing)*1.5)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-3{margin-right:calc(var(--spacing)*3)}.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-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.-ml-1{margin-left:calc(var(--spacing)*-1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-full{width:100%;height:100%}.h-2{height:calc(var(--spacing)*2)}.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-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-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-\[1\.15rem\]{height:1.15rem}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[var\(--reka-select-trigger-height\)\]{height:var(--reka-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\(--reka-select-content-available-height\){max-height:var(--reka-select-content-available-height)}.max-h-40{max-height:calc(var(--spacing)*40)}.max-h-80{max-height:calc(var(--spacing)*80)}.max-h-\[300px\]{max-height:300px}.min-h-16{min-height:calc(var(--spacing)*16)}.min-h-\[180px\]{min-height:180px}.min-h-\[calc\(100vh-4rem\)\]{min-height:calc(100vh - 4rem)}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.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-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-32{width:calc(var(--spacing)*32)}.w-72{width:calc(var(--spacing)*72)}.w-80{width:calc(var(--spacing)*80)}.w-\[100px\]{width:100px}.w-\[200px\]{width:200px}.w-\[250px\]{width:250px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-20{min-width:calc(var(--spacing)*20)}.min-w-24{min-width:calc(var(--spacing)*24)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[60px\]{min-width:60px}.min-w-\[var\(--reka-select-trigger-width\)\]{min-width:var(--reka-select-trigger-width)}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-\(--reka-popover-content-transform-origin\){transform-origin:var(--reka-popover-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;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-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-caret-blink{animation:1.25s ease-out infinite caret-blink}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.scroll-my-1{scroll-margin-block:calc(var(--spacing)*1)}.scroll-py-1{scroll-padding-block:calc(var(--spacing)*1)}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.appearance-none{appearance:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.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-start{justify-content:flex-start}.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-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}: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)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*3)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))}.gap-y-4{row-gap:calc(var(--spacing)*4)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[4px\]{border-radius:4px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-400{border-color:var(--color-blue-400)}.border-blue-500{border-color:var(--color-blue-500)}.border-border{border-color:var(--border)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-indigo-500{border-color:var(--color-indigo-500)}.border-input{border-color:var(--input)}.border-transparent{border-color:#0000}.border-yellow-200{border-color:var(--color-yellow-200)}.border-t-blue-500{border-top-color:var(--color-blue-500)}.border-l-blue-500{border-left-color:var(--color-blue-500)}.border-l-green-500{border-left-color:var(--color-green-500)}.border-l-indigo-500{border-left-color:var(--color-indigo-500)}.border-l-orange-500{border-left-color:var(--color-orange-500)}.border-l-purple-500{border-left-color:var(--color-purple-500)}.border-l-red-500{border-left-color:var(--color-red-500)}.bg-background{background-color:var(--background)}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-foreground{background-color:var(--foreground)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-green-100{background-color:var(--color-green-100)}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-muted,.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.bg-primary\/20{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/20{background-color:color-mix(in oklab,var(--primary)20%,transparent)}}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-600{background-color:var(--color-purple-600)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-600{background-color:var(--color-red-600)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.bg-white\/95{background-color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.bg-white\/95{background-color:color-mix(in oklab,var(--color-white)95%,transparent)}}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-gradient-to-br{--tw-gradient-position:to bottom right 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))}.from-blue-50{--tw-gradient-from:var(--color-blue-50);--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-blue-100{--tw-gradient-from:var(--color-blue-100);--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-blue-500{--tw-gradient-from:var(--color-blue-500);--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-blue-600{--tw-gradient-from:var(--color-blue-600);--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-green-50{--tw-gradient-from:var(--color-green-50);--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-purple-50{--tw-gradient-from:var(--color-purple-50);--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-white{--tw-gradient-via:var(--color-white);--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-emerald-50{--tw-gradient-to:var(--color-emerald-50);--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-indigo-50{--tw-gradient-to:var(--color-indigo-50);--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-purple-50{--tw-gradient-to:var(--color-purple-50);--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-purple-100{--tw-gradient-to:var(--color-purple-100);--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-purple-500{--tw-gradient-to:var(--color-purple-500);--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-purple-600{--tw-gradient-to:var(--color-purple-600);--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-violet-50{--tw-gradient-to:var(--color-violet-50);--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))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-primary{fill:var(--primary)}.object-contain{object-fit:contain}.p-0{padding:calc(var(--spacing)*0)}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-\[3px\]{padding:3px}.px-1{padding-inline:calc(var(--spacing)*1)}.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)}.px-8{padding-inline:calc(var(--spacing)*8)}.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)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-12{padding-top:calc(var(--spacing)*12)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-6{padding-right:calc(var(--spacing)*6)}.pr-8{padding-right:calc(var(--spacing)*8)}.pr-9{padding-right:calc(var(--spacing)*9)}.pr-10{padding-right:calc(var(--spacing)*10)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-10{padding-bottom:calc(var(--spacing)*10)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.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\.8rem\]{font-size:.8rem}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.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)}.tracking-\[0\.3em\]{--tw-tracking:.3em;letter-spacing:.3em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-foreground{color:var(--foreground)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-indigo-300{color:var(--color-indigo-300)}.text-indigo-500{color:var(--color-indigo-500)}.text-indigo-600{color:var(--color-indigo-600)}.text-indigo-700{color:var(--color-indigo-700)}.text-input{color:var(--input)}.text-muted-foreground{color:var(--muted-foreground)}.text-orange-500{color:var(--color-orange-500)}.text-orange-600{color:var(--color-orange-600)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-purple-500{color:var(--color-purple-500)}.text-purple-600{color:var(--color-purple-600)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-800{color:var(--color-red-800)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-800{color:var(--color-yellow-800)}.underline-offset-4{text-underline-offset:4px}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 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-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-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-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-0{--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)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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-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,)}.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,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\,box-shadow\]{transition-property:color,box-shadow;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-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-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-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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-none{transition-property:none}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-1000{--tw-duration:1s;transition-duration:1s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.first\:border-l:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.last\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}@media(hover:hover){.hover\:border-blue-400:hover{border-color:var(--color-blue-400)}.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-blue-50:hover{background-color:var(--color-blue-50)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-indigo-700:hover{background-color:var(--color-indigo-700)}.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-red-100:hover{background-color:var(--color-red-100)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-secondary:hover,.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:from-blue-600:hover{--tw-gradient-from:var(--color-blue-600);--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))}.hover\:to-purple-600:hover{--tw-gradient-to:var(--color-purple-600);--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))}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-blue-600:hover{color:var(--color-blue-600)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-gray-800:hover{color:var(--color-gray-800)}.hover\:text-gray-900:hover{color:var(--color-gray-900)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-2:focus{--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)}.focus\:ring-indigo-500:focus{--tw-ring-color:var(--color-indigo-500)}.focus\:ring-red-600:focus{--tw-ring-color:var(--color-red-600)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--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)}.focus\:ring-offset-red-50:focus{--tw-ring-offset-color:var(--color-red-50)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + 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)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled,.has-disabled\:opacity-50:has(:disabled){opacity:.5}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[select\:disabled\]\:opacity-50:has(:is(select:disabled)){opacity:.5}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.data-\[active\=true\]\:z-10[data-active=true]{z-index:10}.data-\[active\=true\]\:border-ring[data-active=true]{border-color:var(--ring)}.data-\[active\=true\]\:ring-\[3px\][data-active=true]{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + 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)}.data-\[active\=true\]\:ring-ring\/50[data-active=true]{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.data-\[active\=true\]\:ring-ring\/50[data-active=true]{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.data-\[active\=true\]\:aria-invalid\:border-destructive[data-active=true][aria-invalid=true]{border-color:var(--destructive)}.data-\[active\=true\]\:aria-invalid\:ring-destructive\/20[data-active=true][aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.data-\[active\=true\]\:aria-invalid\:ring-destructive\/20[data-active=true][aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:text-muted-foreground[data-disabled]{color:var(--muted-foreground)}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[highlighted\]\:bg-accent[data-highlighted]{background-color:var(--accent)}.data-\[highlighted\]\:text-accent-foreground[data-highlighted]{color:var(--accent-foreground)}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[outside-view\]\:text-muted-foreground[data-outside-view],.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[selected\]\:bg-primary[data-selected]{background-color:var(--primary)}.data-\[selected\]\:text-primary-foreground[data-selected]{color:var(--primary-foreground)}.data-\[selected\]\:opacity-100[data-selected]{opacity:1}@media(hover:hover){.data-\[selected\]\:hover\:bg-primary[data-selected]:hover{background-color:var(--primary)}.data-\[selected\]\:hover\:text-primary-foreground[data-selected]:hover{color:var(--primary-foreground)}}.data-\[selected\]\:focus\:bg-primary[data-selected]:focus{background-color:var(--primary)}.data-\[selected\]\:focus\:text-primary-foreground[data-selected]:focus{color:var(--primary-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing)*9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing)*8)}:is(.\*\*\:data-\[slot\=native-select-icon\]\:right-1 *)[data-slot=native-select-icon]{right:calc(var(--spacing)*1)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing)*2)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:shadow-sm[data-state=active]{--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)}.data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked]{--tw-translate-x: calc(100% - 2px) ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--primary)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--secondary)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}.data-\[unavailable\]\:line-through[data-unavailable]{text-decoration-line:line-through}@media(min-width:40rem){.sm\:mt-0{margin-top:calc(var(--spacing)*0)}.sm\:w-auto{width:auto}.sm\:max-w-\[425px\]{max-width:425px}.sm\:max-w-\[500px\]{max-width:500px}.sm\:max-w-\[600px\]{max-width:600px}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}:where(.sm\:space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*0)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*0)*calc(1 - var(--tw-space-y-reverse)))}.sm\:gap-x-4{column-gap:calc(var(--spacing)*4)}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.sm\:gap-y-0{row-gap:calc(var(--spacing)*0)}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:px-0{padding-inline:calc(var(--spacing)*0)}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:text-left{text-align:left}}@media(min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:mt-0{margin-top:calc(var(--spacing)*0)}.md\:ml-4{margin-left:calc(var(--spacing)*4)}.md\:ml-6{margin-left:calc(var(--spacing)*6)}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-full{width:100%}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}:where(.md\:space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*8)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-x-reverse)))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(min-width:64rem){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:px-8{padding-inline:calc(var(--spacing)*8)}}@media(min-width:80rem){.xl\:col-span-2{grid-column:span 2/span 2}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-gray-900\/50:is(.dark *){background-color:#10182880}@supports (color:color-mix(in lab,red,red)){.dark\:bg-gray-900\/50:is(.dark *){background-color:color-mix(in oklab,var(--color-gray-900)50%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:from-blue-950\/20:is(.dark *){--tw-gradient-from:#16245633}@supports (color:color-mix(in lab,red,red)){.dark\:from-blue-950\/20:is(.dark *){--tw-gradient-from:color-mix(in oklab,var(--color-blue-950)20%,transparent)}}.dark\:from-blue-950\/20:is(.dark *){--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))}.dark\:from-green-950\/20:is(.dark *){--tw-gradient-from:#032e1533}@supports (color:color-mix(in lab,red,red)){.dark\:from-green-950\/20:is(.dark *){--tw-gradient-from:color-mix(in oklab,var(--color-green-950)20%,transparent)}}.dark\:from-green-950\/20:is(.dark *){--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))}.dark\:from-purple-950\/20:is(.dark *){--tw-gradient-from:#3c036633}@supports (color:color-mix(in lab,red,red)){.dark\:from-purple-950\/20:is(.dark *){--tw-gradient-from:color-mix(in oklab,var(--color-purple-950)20%,transparent)}}.dark\:from-purple-950\/20:is(.dark *){--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))}.dark\:to-emerald-950\/20:is(.dark *){--tw-gradient-to:#002c2233}@supports (color:color-mix(in lab,red,red)){.dark\:to-emerald-950\/20:is(.dark *){--tw-gradient-to:color-mix(in oklab,var(--color-emerald-950)20%,transparent)}}.dark\:to-emerald-950\/20:is(.dark *){--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))}.dark\:to-indigo-950\/20:is(.dark *){--tw-gradient-to:#1e1a4d33}@supports (color:color-mix(in lab,red,red)){.dark\:to-indigo-950\/20:is(.dark *){--tw-gradient-to:color-mix(in oklab,var(--color-indigo-950)20%,transparent)}}.dark\:to-indigo-950\/20:is(.dark *){--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))}.dark\:to-violet-950\/20:is(.dark *){--tw-gradient-to:#2f0d6833}@supports (color:color-mix(in lab,red,red)){.dark\:to-violet-950\/20:is(.dark *){--tw-gradient-to:color-mix(in oklab,var(--color-violet-950)20%,transparent)}}.dark\:to-violet-950\/20:is(.dark *){--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))}.dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}@media(hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:data-\[active\=true\]\:aria-invalid\:ring-destructive\/40:is(.dark *)[data-active=true][aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[active\=true\]\:aria-invalid\:ring-destructive\/40:is(.dark *)[data-active=true][aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:data-\[state\=active\]\:border-input:is(.dark *)[data-state=active]{border-color:var(--input)}.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:data-\[state\=active\]\:text-foreground:is(.dark *)[data-state=active]{color:var(--foreground)}.dark\:data-\[state\=checked\]\:bg-primary-foreground:is(.dark *)[data-state=checked]{background-color:var(--primary-foreground)}.dark\:data-\[state\=unchecked\]\:bg-foreground:is(.dark *)[data-state=unchecked]{background-color:var(--foreground)}.dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked]{background-color:color-mix(in oklab,var(--input)80%,transparent)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]),.\[\&_svg\:not\(\[class\*\=\\\'size-\\\'\]\)\]\:size-4 svg:not([class*="'size-'"]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\:not\(\[class\*\=\\\'text-\\\'\]\)\]\:text-muted-foreground svg:not([class*="'text-'"]){color:var(--muted-foreground)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[data-selected\]\)\]\:rounded-md:has([data-selected]){border-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[data-selected\]\)\]\:bg-accent:has([data-selected]){background-color:var(--accent)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing)*0)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing)*2)}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.\[\&\[data-today\]\:not\(\[data-selected\]\)\]\:bg-accent[data-today]:not([data-selected]){background-color:var(--accent)}.\[\&\[data-today\]\:not\(\[data-selected\]\)\]\:text-accent-foreground[data-today]:not([data-selected]){color:var(--accent-foreground)}@media(hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--secondary)90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}@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-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-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-tracking{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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}@keyframes caret-blink{0%,70%,to{opacity:1}20%,50%{opacity:0}}html[dir=ltr],[data-sonner-toaster][dir=ltr]{--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0}html[dir=rtl],[data-sonner-toaster][dir=rtl]{--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}@media(hover:none)and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translate(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast][data-y-position=top]{top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px #0006}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:#00000014}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:#ffffff4d}[data-sonner-toaster] [data-close-button-position=top-left]{--toast-close-button-left: 0;--toast-close-button-right: unset;--toast-close-button-top: 0;--toast-close-button-bottom: unset;--toast-close-button-transform: translate(-35%, -35%)}[data-sonner-toaster] [data-close-button-position=top-right]{--toast-close-button-left: unset;--toast-close-button-right: 0;--toast-close-button-top: 0;--toast-close-button-bottom: unset;--toast-close-button-transform: translate(35%, -35%)}[data-sonner-toaster] [data-close-button-position=bottom-left]{--toast-close-button-left: 0;--toast-close-button-right: unset;--toast-close-button-top: unset;--toast-close-button-bottom: 0;--toast-close-button-transform: translate(-35%, 35%)}[data-sonner-toaster] [data-close-button-position=bottom-right]{--toast-close-button-left: unset;--toast-close-button-right: 0;--toast-close-button-top: unset;--toast-close-button-bottom: 0;--toast-close-button-transform: translate(35%, 35%)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-left);right:var(--toast-close-button-right);top:var(--toast-close-button-top);bottom:var(--toast-close-button-bottom);height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]:before{content:"";position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]:before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]:before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]:before{content:"";position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]:after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y: translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--toasts-before) * .05 + 1));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y: translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]:before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{-webkit-user-select:none;user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media(max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:calc(var(--mobile-offset-bottom) + max(env(safe-area-inset-bottom),0px))}[data-sonner-toaster][data-y-position=top]{top:calc(var(--mobile-offset-top) + max(env(safe-area-inset-top),0px))}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 87%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 93%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 84%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 43%, 17%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 9%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media(prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}#app{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{margin:0;padding:0} diff --git a/web/assets/useForwardExpose-CRFbVhil.js b/web/assets/useForwardExpose-CRFbVhil.js new file mode 100644 index 0000000..719a84e --- /dev/null +++ b/web/assets/useForwardExpose-CRFbVhil.js @@ -0,0 +1 @@ +import{ac as V,ad as W,a1 as L,s as $,e as U,r as z,c as b,a7 as E,w,X as A,Z as N,u as D,U as I,t as p,a4 as k,a5 as B,aa as G,v as M,o as J,M as q}from"./index-BhaIiTEj.js";function ae(e,t){var o;const n=$();return U(()=>{n.value=e()},{...t,flush:(o=void 0)!=null?o:"sync"}),z(n)}function x(e){return k()?(B(e),!0):!1}function ce(e){let t=!1,o;const n=W(!0);return(...r)=>(t||(o=n.run(()=>e(...r)),t=!0),o)}function fe(e){let t=0,o,n;const r=()=>{t-=1,n&&t<=0&&(n.stop(),o=void 0,n=void 0)};return(...u)=>(t+=1,n||(n=W(!0),o=n.run(()=>e(...u))),x(r),o)}function X(e){if(!A(e))return N(e);const t=new Proxy({},{get(o,n,r){return D(Reflect.get(e.value,n,r))},set(o,n,r){return A(e.value[n])&&!A(r)?e.value[n].value=r:e.value[n]=r,!0},deleteProperty(o,n){return Reflect.deleteProperty(e.value,n)},has(o,n){return Reflect.has(e.value,n)},ownKeys(){return Object.keys(e.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}});return N(t)}function Z(e){return X(b(e))}function de(e,...t){const o=t.flat(),n=o[0];return Z(()=>Object.fromEntries(typeof n=="function"?Object.entries(I(e)).filter(([r,u])=>!n(p(u),r)):Object.entries(I(e)).filter(r=>!o.includes(r[0]))))}const K=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const H=e=>typeof e<"u",Q=Object.prototype.toString,Y=e=>Q.call(e)==="[object Object]",F=()=>{},pe=ee();function ee(){var e,t;return K&&((e=window?.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window?.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function te(e){return E()}function j(e){return Array.isArray(e)?e:[e]}function ve(...e){if(e.length!==1)return G(...e);const t=e[0];return typeof t=="function"?z(V(()=>({get:t,set:F}))):M(t)}function me(e,t=1e4){return V((o,n)=>{let r=p(e),u;const i=()=>setTimeout(()=>{r=p(e),n()},p(t));return x(()=>{clearTimeout(u)}),{get(){return o(),r},set(s){r=s,n(),clearTimeout(u),u=i()}}})}function be(e,t){te()&&L(e,t)}function ne(e,t,o){return w(e,t,{...o,immediate:!0})}const R=K?window:void 0;function S(e){var t;const o=p(e);return(t=o?.$el)!=null?t:o}function oe(...e){const t=[],o=()=>{t.forEach(s=>s()),t.length=0},n=(s,l,a,c)=>(s.addEventListener(l,a,c),()=>s.removeEventListener(l,a,c)),r=b(()=>{const s=j(p(e[0])).filter(l=>l!=null);return s.every(l=>typeof l!="string")?s:void 0}),u=ne(()=>{var s,l;return[(l=(s=r.value)==null?void 0:s.map(a=>S(a)))!=null?l:[R].filter(a=>a!=null),j(p(r.value?e[1]:e[0])),j(D(r.value?e[2]:e[1])),p(r.value?e[3]:e[2])]},([s,l,a,c])=>{if(o(),!s?.length||!l?.length||!a?.length)return;const v=Y(c)?{...c}:c;t.push(...s.flatMap(m=>l.flatMap(f=>a.map(y=>n(m,f,y,v)))))},{flush:"post"}),i=()=>{u(),o()};return x(o),i}function re(){const e=$(!1),t=E();return t&&J(()=>{e.value=!0},t),e}function se(e){const t=re();return b(()=>(t.value,!!e()))}function ie(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function ye(...e){let t,o,n={};e.length===3?(t=e[0],o=e[1],n=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,o=e[0],n=e[1]):(t=e[0],o=e[1]):(t=!0,o=e[0]);const{target:r=R,eventName:u="keydown",passive:i=!1,dedupe:s=!1}=n,l=ie(t);return oe(r,u,c=>{c.repeat&&p(s)||l(c)&&o(c)},i)}function ue(e){return JSON.parse(JSON.stringify(e))}function ge(e,t,o={}){const{window:n=R,...r}=o;let u;const i=se(()=>n&&"ResizeObserver"in n),s=()=>{u&&(u.disconnect(),u=void 0)},l=b(()=>{const v=p(e);return Array.isArray(v)?v.map(m=>S(m)):[S(v)]}),a=w(l,v=>{if(s(),i.value&&n){u=new ResizeObserver(t);for(const m of v)m&&u.observe(m,r)}},{immediate:!0,flush:"post"}),c=()=>{s(),a()};return x(c),{isSupported:i,stop:c}}function he(e,t,o,n={}){var r,u,i;const{clone:s=!1,passive:l=!1,eventName:a,deep:c=!1,defaultValue:v,shouldEmit:m}=n,f=E(),y=o||f?.emit||((r=f?.$emit)==null?void 0:r.bind(f))||((i=(u=f?.proxy)==null?void 0:u.$emit)==null?void 0:i.bind(f?.proxy));let g=a;t||(t="modelValue"),g=g||`update:${t.toString()}`;const T=d=>s?typeof s=="function"?s(d):ue(d):d,_=()=>H(e[t])?T(e[t]):v,C=d=>{m?m(d)&&y(g,d):y(g,d)};if(l){const d=_(),P=M(d);let h=!1;return w(()=>e[t],O=>{h||(h=!0,P.value=T(O),q(()=>h=!1))}),w(P,O=>{!h&&(O!==e[t]||c)&&C(O)},{deep:c}),P}else return b({get(){return _()},set(d){C(d)}})}function Oe(){const e=E(),t=M(),o=b(()=>["#text","#comment"].includes(t.value?.$el.nodeName)?t.value?.$el.nextElementSibling:S(t)),n=Object.assign({},e.exposed),r={};for(const i in e.props)Object.defineProperty(r,i,{enumerable:!0,configurable:!0,get:()=>e.props[i]});if(Object.keys(n).length>0)for(const i in n)Object.defineProperty(r,i,{enumerable:!0,configurable:!0,get:()=>n[i]});Object.defineProperty(r,"$el",{enumerable:!0,configurable:!0,get:()=>e.vnode.el}),e.exposed=r;function u(i){if(t.value=i,!!i&&(Object.defineProperty(r,"$el",{enumerable:!0,configurable:!0,get:()=>i instanceof Element?i:i.$el}),!(i instanceof Element)&&!Object.hasOwn(i,"$el"))){const s=i.$.exposed,l=Object.assign({},r);for(const a in s)Object.defineProperty(l,a,{enumerable:!0,configurable:!0,get:()=>s[a]});e.exposed=l}}return{forwardRef:u,currentRef:t,currentElement:o}}export{j as a,Y as b,x as c,he as d,S as e,me as f,ge as g,ae as h,K as i,fe as j,be as k,pe as l,oe as m,R as n,ye as o,ce as p,re as q,de as r,ve as t,Oe as u,ne as w}; diff --git a/web/assets/utils-BNRHOSl8.js b/web/assets/utils-BNRHOSl8.js new file mode 100644 index 0000000..fec642c --- /dev/null +++ b/web/assets/utils-BNRHOSl8.js @@ -0,0 +1 @@ +import{h as o}from"./Teleport-DV_BGdH0.js";function f(t){return t?"open":"closed"}function c(t){const e=o();for(const n of t)if(n===e||(n.focus(),o()!==e))return}export{c as f,f as g}; diff --git a/web/index.html b/web/index.html new file mode 100644 index 0000000..470cd46 --- /dev/null +++ b/web/index.html @@ -0,0 +1,14 @@ + + + + + + + vue-vite-shadcn-template + + + + +
+ + diff --git a/web/vite.svg b/web/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/web/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file